Category: tech

  • Adding an activity grid

    I have finally gotten around to adding an activity grid to this website. It shows the days of a year and a color for the amount of posts for that day.

    Just like this:

  • Incredible insecure Wi-Fi repeater

    Fascinating to watch Low Level “hack” into this Wi-Fi repeater from Temu. It looks like they removed it, but it’s still available from bol.com, amazon, ali express, etc

    It’s so easy to put an insecure product on the market these days, but here even the basic precautions were not taken. Crazy.

  • macOS Tahoe astigmatism

    screenshot of macOS Tahoe icons with double, fuzzy borders, like what people with astigmatism see without correction

    These macOS Tahoe icons instantly give me astigmatism haedache

  • First 3D print: success

    After a few failures, I’m very happy with this final result:

    I was surprised to learn that you need 12 hours of printing for this size!

    I had to experiment with the adhesion and ended up with a pretty big raft around the print.

  • First 3D print

    I’m incredible late to the game, but this is the first time I’m printing something myself. I did order at print shops before with disappointing results. Fingers crossed for this print!

  • Nuxt 3 public files

    Remember, if you have set a srcDir, your public directory needs to be within that srcDir.

    That’s all.

  • Should I move to a Hetzner VPS to improve WordPress speed?

    Interesting thread on Reddit: What makes WordPress websites super-fast nowadays?

    I plan to test drive Hetzner and move away from DigitalOcean (moving to a European service seems like a good idea in these times) so maybe a good time to try to move some WordPress instances from shared hosting to a VPS.

  • New WordPress Plugin: Photoblog

    I started a new Git Repository for a WordPress plugin I’m creating to contain the features that I want on this website related to Photoblogging.

    • I want to display a grid view of photos, in columns of 3, as I do on my photos page
    • I want to be able to add landscape and portrait photos, without breaking the grid view
    • I want to be able to navigate the photo’s with the arrow keys on the keyboard
    • I want to be able to add Galleries and make these appear as. a single image set in the grid
    • I want to enable zooming on all images by default
    • I want to display a short paragraph below the photo
    • I want to support video’s as well

    Currently only the first two bullets have been implemented. I’ve created a custom renderer for the Post Content that extracts the first image block (in the future I’ll add gallery and video blocks).

    Then I added some styling to make the images always fit within the designated grid square, without stretching it to the image’s original size.

  • Using ddev for local PHP development

    For me, one of the discoveries of 2024, has been ddev, a tool to manage PHP (and other) environments, based on Docker images.

    ddev logo
    Docker-based PHP development environments.

    In the last months I have been very happy using this project. It allows me to work locally on my source files and assets while at the same time have a specific environment with the exact server configuration that I need.

    Let me sum up some cases where it really came in a handy:

    • I ran into ddev for the first time when trying out a sample project for craft cms. The instructions to get the project up and running were surprisingly concise:
    git clone https://github.com/craftcms/europa-museum.git
    cd europa-museum
    ddev start
    ddev craft db/restore seed.sql
    • Converting an existing WordPress setup? Just run ddev config and ddev start.
    • Pull in a database dump from production? Configure a provider (ok that’s a little bit more work if you’re not on one of the predefined hosting providers)
    • want to add an extra container, say ElasticSearch? no problem.
    • Want to inspect the database? I run ddev sequelace and I’m in the database, editing the data.
    • run ddev mailpit and see the mails that have been sent out, in a Gmail like UI, or download them as a PNG screenshot
    • Boot that old Magento shop? Set the right PHP version, composer version, mysql version, run some terminal commands with ddev ssh and we’re up and running.
    • importing a database throws an error Unknown collation utf8mb4_0900_ai_ci? just switch from mariadb to mysql, run ddev restart and import again.
    • Want to run PHP with Xdebug? just drop an xdebug.ini in the correct config directory
    • I’m working on a Django setup, with extra startup scripts, an MQTT client and a Nuxt/Vue frontend and I hope to find the time to configure that for ddev as well. That would mean that starting ddev starts the full stack, all on the right ports and the paths mapped correctly

    I guess it’s clear that I’m excited about this addition to my toolchain.

    I’ve always been running Apache, MySQL, mkcert, MailHog through homebrew. And while that served my needs, I had to reconfigure quite a lot every time I ran brew upgrade.


    PS: last week I sent a toot at @atpfm suggesting ddev as a solution for Marco’s work on Overcast. I was happy to hear Casey read/butcher my name on the podcast 😄.

  • Tailscale killed my DNS

    I am working on a remote location today, on a shared venue network.

    After rebooting my Mac I could no longer connect to any website domain, which led me to believe that DNs was not resolving. And indeed, pinging www.google.com gave no results. Even when tethered to my iPhone, I could not connect to any website. Connecting to VPN by IP did work though, and pinging 8.8.8.8 worked fine as well.

    Luckily, I could search for clues on my phone, and ran into this command that I have not used before:

    scutil --dns which gives you a nice list of DNS resolvers as they are used by the system, and, on top of that list this entry:

    resolver #1
      search domain[0] : tailf67a92.ts.net
      nameserver[0] : 100.100.100.100
      if_index : 24 (utun4)
      flags    : Supplemental, Request A records, Request AAAA records
      reach    : 0x00000003 (Reachable,Transient Connection)
      order    : 102000

    I restarted Tailscale, and we are online again 🎉.