Author: jonas.hjalmarsson
-
Turas: a shared calendar for the things a family shares
One calendar for the thing your family shares — a cottage, a boat, a car. No double-bookings, no group-chat chaos. How and why I built Turas.
-
Playing the Second World War as a timeline
A deep dive into andravarldskriget.se — an interactive WW2 map with 327 sourced events you can play like a timeline, built as a self-contained static site with MapLibre.
-
Self-hosting video calls with Jitsi Meet
After self-hosting a file-share, the next obvious thing to run yourself is video calls. A high-level look at standing up your own Jitsi Meet instead of renting a…
-
cc: a tiny shell function for jumping between Claude Code sessions
I run Claude Code across a lot of projects — plugins, little web apps, infra scripts. Two things kept tripping me up. claude -r resumes a session, but…
-
Protokollapp: meeting minutes for Swedish associations, without the Word fight
A small Swedish tool for writing, storing and sharing meeting minutes (protokoll) for boards and committees — without the Word fight.
-
Turas: booking the things a family shares, without the group chat
Every family that shares something — a summer cabin, a trailer, a boat — eventually drowns in the same group chat. Is the cabin free week 28? Did…
-
Self-hosting a private file-share with PicoShare
I wanted a private file-share without uploading every client deliverable to someone else’s server. The WeTransfer-clone landscape thinned out faster than I expected — Firefox Send is dead,…
-
A countdown timer with no chrome
A countdown timer with no chrome at pausetimer.app: pick a length, hit Start, the tab title shows the remaining time, a sound plays when it’s over.
-
Vad ska vi äta idag?
veckansmat.se svarar på dagens vanligaste fråga i svenska kök. En rätt om dagen, samma för alla, ingen inloggning.
-
Two clocks, side by side
whatzone.me: two analog clocks side by side. Yours on the left, anywhere on the right. Skip the wall-of-text time-zone tools.
-
Lightweight JS Snippet 1.4: pick the post, skip the post ID
Version 1.4 replaces the comma-separated post-ID textbox with a search-as-you-type chip picker. Start typing a post or page title, click the one you want.
-
Same rules, different triggers
Per-category routing for order events — new, processing, completed, cancelled, failed. Same rules engine as the free plugin, just a different trigger.
-
Really Simple Under Construction PRO is here
The free plugin hides your site. PRO is what you put in front of visitors while it’s hidden — a real launch page, a real countdown, and an…
-
Really Simple Under Construction: a maintenance-mode plugin that does one thing
A free plugin for the times when you need your site offline for an hour without hauling in a page builder, a form library, and three tracking scripts.
-
Set home and siteurl in DB
Here is in really short terms, how you update the siteurl and home in the options table in WordPress. Make sure to update your_db and https://your_domain. And check…
-
apple.quarantine shown in web page
I recently downloaded a WordPress site, just to move to a new server and got a lot of crap on every page that looks like this on the…
-
Blocks ArtNET Fixture
You can create your own ArtNET driver/fixture in Pixilab Blocks. There are a bounch of them available on Github. I created own fixtures for 2 devices recenty, and…
-
wp-cli online installer
Do you want a one liner to install, chmod and move the wp-cli when you install a new site? Here it is! Just to avoid to copy and…
-
Reset WordPress user password
WordPress has a very good guide for doing this here. But in short it really is this mysql command that does the magic, just replace the prefix wp_…
-
Outline decoration of active button in Blocks
I wanted an outline look of the selected button in the interface in Pixilab Blocks. The outline css property doesn’t work with border-radius in Safari, so I made…
-
Simple Expand for WordPress
This plugin makes it easy to get an expandable text, or a read more functionality inside a post or page. Install the plugin, search for Simple Expand or…
-
WP-rocket aggressive purge
In some cases WP-rocket cache plugin empties all cached files although all you do is update a post or product. Or for me when a customer does a…
-
Cleanup session in WooCommerce
There are some pretty simple ways to clear a session with WooCommerce that can be used with code when you need a user to get a brand new…
-
Check if one variation is enabled or disabled in WooCommerce
One of my clients had the need to sometime disable one variation of many, but to avoid deleting and adding again they use en little checkbox Enable in…
-
Use of attachment_url_to_postid in WordPress
I did some image lookup via ajax from the Elementor Image Gallery, a place where I only had the image-url to get a meta data field attached to…
-
WooCommerce – really slow wc_get_product_class
In my investigation and work to make WooCommerce perform a little bit better i found this little surprise! The little helper wc_get_product_class to print correct class names in…
-
WooCommerce – find default variation performance
My shop page was very slow when I had over 100 products, REALLY slow. So I had to investigate what happened. So here are some points. Find default…
-
WooCommerce zero trimming decimal
I found this little neat thing when messing around with decimals in WooCommerce. Nice of them to provide this little filter! But even better if it was a…
-
CSV and HTML search filter for WordPress
This is one of my WordPress plugins (HTML filter and csv-file search) made to add a simple ajax-search in html or in uploaded CSV-file. The plugin has two…
-
Select2 on existing select-dropdown
I had some issues with using Selct2 on an already existing select where the select attribute was already set. The problem was Select2 didn’t unselect the previously set…