I love creating scalable web applications, created pragmatically, with both "boring" and new technologies, whatever is best suited for the job. I made the first commit to AppSignal, where I'm still happily employed. In my free time I like to travel, mainly to Asia and when I'm not abroad I regularly take my longboard out for a spin.

Recent content

  1. Integrating MCP into the Zed editor

    Some notes from my experiment on integrating an MCP with the Zed editor.

    MCP stands for Model Context Protocol, and it allows you to extend the functionality of AI clients to resources it can't normally reach.

    In my case, I wanted to expose an AppSignal incident to the Zed editor so I could debug the issue right from the place where I write my code.

    First, there needs to be a context servers section in the Zed config (preferences > settings).

    "context_servers": {
      "your-mcp": {
        "settings": {},
        "command": {
          "path": "node",
          "args": ["/path/to/mcp/index.js"],
          "env": {
            "API_KEY": "if-needed"
          }
        }
      }
    }

    Zed will happily report it has detected tools in the logs (cmd-shift-p > "zed: open logs"), but it doesn't actually expose them in the assistant panel. Only prompts are supported for now, and those show up under the slash (`/`) command.

    Only one prompt argument is supported. If you define more than one argument, it'll ignore the prompt definition without notice (that was a fun one to figure out).

    https://github.com/zed-industries/zed/issues/21944

    Enable the enable_experimental_live_diffs setting in the assistant section to allow the AI to create a diff with the suggested code in your editor.

    "assistant": {
      "default_model": {
        "provider": "zed.dev",
        "model": "claude-3-5-sonnet-latest"
      },
      "enable_experimental_live_diffs": true,   
      "version": "2" 
    }

  2. Gridfinity and beyond

    I bought a Bambu Lab A1 printer for a side project recently, and without the endless bed-levelling and print issues of my old Ender 3, I’m finally able to make some progress with printing gridfinity blocks for my cameras.

    I’ve been able to find pre-made blocks for most of my cameras, lenses and batteries, but not for my trusty, old A6000.

    So I downloaded FreeCad (which hit version 1.0 recently) and tried to make something mysellf by watching a ton of Youtube videos. It’s been a while since my Autocad and 3D Studio Max days from university, but I’m slowly getting the hang of this parametric modeling.

  3. Trip: Japan & China 2024

    Hiking in fall

    1. Day one - two

      From Amsterdam to Osaka

    2. Day three

      Mt. Rokko

    3. Day four

      Himeji

    4. Day five

      Kurashiki

    5. Day six

      Bitchu Matsuyama Castle

    6. Day seven

      Fukuoka

    7. Day eight

      Dazaifu Hike

    8. Day nine

      Rainy Fukuoka

    9. Day ten - eleven

      Fukuoka to Shanghai

    10. Day twelve

      Xianhua

    11. Day thirteen

      Wuyishan

    12. Day fourteen

      Wuyi to Xiamen

    13. Day fifteen

      Botanic Gardens

    14. Day sixteen

      Gulangyu

    15. Day seventeen

      Xiamen to Wenzhou

    16. Day eighteen

      Wenzhou

    17. Day nineteen

      Walled City of Taizhou Fu

    18. Day twenty

      Shenxianju

    19. Day twenty one

      Shaoxing

    20. Day twenty two

      Hangzhou

  4. Site updates September/October

    A lot has happened, but most is invisible back-end related code:

    • Added the fediverse:creator tag in the header

    • Added a Markdown parser that emits TipTap-compatible JSON, which gives me an alternative input from my Svelte-based “Visual editor”.

    • Added POSSE to Bluesky; Posts, Notes and Trips are now also posted to Bluesky.

  5. Thunderbirds are go

    Did I just watch a 13-minute documentary on the Thunderbird 1 launch sequence? Yes, yes, I did.

  6. Cabel Sasser, Panix XOXO Talk

    If you have half an hour, go watch this talk by Cabel Sasser, one of the founders of Panic software. I won’t spoil anything, but it’s a great talk by a great person.

  7. Mastodon Author Tags

    Robb Knight posted about a neat new feature where you can set a specific metadata header that allows Mastodon to add a “More from this author” to any link to your site.

    The tag is:

    <meta name="fediverse:creator" content=“@matsimitsu@ruby.social" />

    You need to verify your site through Mastodon, you can read more about the entire setup here: https://rknight.me/blog/setting-up-mastodon-author-tags/

  8. Trip: Toronto 2024

    Railsworld conference

    1. Day one

      To Toronto

    2. Day two - four

      Railsworld 2024

    3. Day five - six

      Winding down

  9. Kai W is back in Hong Kong

    A long time ago, when I was just starting with photography, I was hooked on the “DigitalRev” Youtube channel where Kai W would review camera’s and have silly competitions such as "Pro lens/cheap camera VS cheap camera/pro lens” or saddle professional photographers with a cheap toy camera.

    This latest video brings back lots of memories from those times. His video’s were the inspiration to travel to Hong Kong and after watching this, I want to go back.

  10. Journey To The West (2021)

    Journey to the West is a movie from 2021 about a scientist looking for alien life in China. He used to work for a popular magazine that he has since taken over, but its popularity has faded, and they are struggling to make ends meet.

    One day, he gets a report of a mass sighting of alien life, and together with colleagues, he makes the journey from Beijing to Chengdu (west) to investigate.

    It's a slow (but not too slow) movie about a group of eccentric people that takes place in rural southwestern China with plenty of humor. The landscape and cinematography are the main stars of the film, and it was fun seeing places I’ve visited before. Now I want to go back.

  11. Site updates July/August

    • Add ability to POSSE notes to Mastodon

    • Add first_image() to Document to get the first image on a page (used for the og:image header)

    • Added first Maud component (Dialog), the plan is to create more components and use less plain HTML to get better consistency across pages.

    • Finally fixed a missing hardBreak entity in my content type, this prevented shift-enter from being used in the content editor, randomly crashing it half-way during me writing a post.

  12. Sunset Bike Ride

    Nice weather and not too windy, a rare occurrence this summer in The Netherlands

  13. NuPhy Air 60

    Got myself a new keyboard (and desk mat) from NuPhy, the Air 60 V2, with custom "Carmine Cloud” Keycaps and Cowberry switches. They “thock” deliciously!

    Turns out replacing keycaps is super easy, just yank them out with the tool and push the new ones in.

  14. Blocking AI crawlers with Bunny.net edge rules

    I noticed a larger CDN bill than normal, and the cause was AI Crawlers, so I blocked them with Bunny.net Edge Rules.

  15. Experimenting with Darktable

    I’ve been leeching an Adobe subscription from someone I know for a couple of years now, and it’s getting more and more awkward to press the “Sign out xxx” button whenever I want to edit some of my photos.

    I’ve been experimenting with Lightroom alternatives for a while now, but most of them I just don’t get. They either go full AI, which I don’t want, or try and make things too easy, meaning I could just as easily use an Instagram filter instead. 

    For all its faults, billing-wise, Lightroom does manage to hit the mark between automated (selections, fill, etc.) and a manual workflow. It’s hard to part with my matsimitsu01- matsimitsu09 presets that make my photos look “mine”.

    I’ve installed, removed, and re-installed Darktable a couple of times now, but this time, I’m making an effort and have been watching a bunch of YouTube videos to try and get the hang of it. 

    Basically, you get a bunch of super-specialistic tools that assume you understand the underlying logic/algorithms, and it’s up to you to combine them into a photo workflow. 

    You’ll have to understand what terms such as “Local contrast”, and “Sigmoid” mean in order to make the best of Darktable. Speaking of order, the order in which you apply each specialized tool also has an effect on the outcome, making things even more difficult. 

    It must be said, though, that the automatically applied defaults already take care of a lot of things for you. I’m planning to edit a couple of photos every week to build up my pre-sets and get the hang of every option I'm interested in.

    (The original photo both tools had to work with)

  16. The only bike messengers in Seoul

    I love these kinds of short documentaries about a super specific subject. It’s really well made and now I kind-of want to be a bike messenger in Seoul too!

    From Scratch: The only bike messengers in Seoul // Eui Ho Kim at Gig Courier 무(無)에서와 다른 이야기들

    (Also the bag he has is amazing, but it’s a custom-made one for Tserv, a Japanese Bike Messenger Company and you can’t buy them, unfortunately.)

  17. Cross section of Kowloon Walled City

    I could stare at this for ages, so many little details to spot.

    https://cohost.org/belarius/post/6677850-architectural-cross

  18. Trip: UAE 2024

    Themeparks in Abu Dhabi and Dubai

    1. Day One

      Abu Dhabi

    2. Day Two

      Ferrari World and Yas Water park

    3. Day Three

      Motiongate

    4. Day Four

      Aquaventure Waterpark & Burj Khalifa

    5. Day Five

      IMG Worlds of Adventure

  19. Site updates May/June 2024

    • Update homepage to show content of notes, instead of just links

    • Update all crates to the latest version

    • Ran clippy and fixed all issues

    • Fix canonical URL issue, I’ve added a meta tag to designate the canonical url (The Axum router accepts an optional trailing slash, confusing Google)

    • Add h-entry and h-card elements to all content pages for better content discovery

    • Add web mentions for blog posts, trips, notes and photos.

    • Add task system, so I can run things post-publish (even with scheduled posts), such as sending webmentions and future POSSE tasks.

    • Add sync to Mastodon for Trip posts and blog posts

    • Add Like button

    • Add click/linkable subheadings

  20. Blog Microfeatures

    This post by Danila is about nice microfeatures for personal websites and while I don’t like every feature described, it does contain a few things I’d like to implement

    • Linkable headers

    • ToC for long articles

    • Blogs I read to spread some link love

    You can read it here: https://danilafe.com/blog/blog_microfeatures/