Short version: I built a simple and small Android app for storing barcodes and QR codes on my phone. Google Playstore Long version In January this year I started using a "dumber" Android phone as my main phone. A Duoqin F21 Pro, running DumberOS (A lineage fork based on Android 14). I still intend to write a blog post about it and my experiences, but I have procrastinated that for more than six…
I recently jailbroke my 7th generation Kindle Paperwhite. While my motivation probably should have been "breaking free from Amazon's clammy and tightening grip", the truth is I wanted a way to use it as a clock on my nightstand. I found this project and figured I could just make some adjustments to the code. And that worked fine . But as I now had opened the door, I started thinking about if I…
Short version: I built a Rust proc-macro library that generates type-safe structs from Word .docx templates, turning placeholders into compile-time checked fields. Github Crates.io Long version My previous job was as a software consultant, and at one of the places I was deployed they handled lots of legal documents. These documents would be generated by an in-house case management software written…
I made a Firefox extension to make my life a tiny bit easier. I have dabbled in this before, but I have never published one. I have a problem with tabs. I often end up with too many open, and often several from the same site. So when I switch to a different tab to check something, and I want to go back, I am stuck scanning through a sea of tiny favicons trying to remember which one I just left, as…
Short version: I made a terminal banking client for my personal banking needs with Rust, Ratatui and the open and customer facing APIs of my bank. I call it Auox, short for Aurum Oxidatum, a pseudo-latin name for gold oxide , or "gold rust". The code is on GitHub if you want to take a look. The application looks like this: This terminal recording requires JavaScript to function properly.…
I am still trying out Helix as my primary editor on a daily basis. I have also started to try out Claude Code's CLI. I wanted a quick way to use Claude from within Helix, and to be able to point it to the currently open file or selected code. So I made a small script leveraging tmux that lets me do exactly that with Space + i . The setup A bash script at ~/.local/bin/helix-claude-tmux.sh :…
So I have recently started to try out Helix . I have a used Vim (and Neovim) a little bit, but never actually tried to use it in any meaningful capacity. Helix is a modern alternative that has more sane defaults and should pretty much work out of the box, not requiring a bunch of config and plugins. So far I have been happy with what it offers, but there was one thing I missed from VSCode.…
This is the website of Trondheim Bike Kitchen. It is built with Sveltekit, hosted on Netlify and has a few features: An admin-interface with editable pages and settings - using Decap CMS, a git-based CMS that keeps all the content in the repo. Event page that also syncs to Facebook - Using Eventbrite as the backend for events saves us from creating events twice, as their API can be used to list…
Here's another addition to my ever-growing collection of "things that should be simple but require scripting because Apple knows better than you." Bluetooth staying on when my Mac goes to sleep. The Problem Often I use my wireless headphones around the house while doing chores, and when walking the dog around the block. And it is super annoying when I go in and out of the bluetooth range of my…
× Building up my e-bike lit a bit of a fire in me, and I wanted another project to work on as well. I decided to try to make it somewhat of a budget build, as the e-bike became more and more expensive as time went on. I found a listing for a derelict DBS Winner, an entry-level racing bike from the 70's, where basically only the frame and drive train were in a somewhat OK condition. The handlebars…
While writing up the e-bike project page, I realized I wanted a way to pop out images in cases where the reader might want to take a closer look at things. I take some pride in having websites I make work as well as possible without using JavaScript. I also like the challenge of it; sometimes it feels like a puzzle. Modern CSS makes a lot of things possible! So I thought maybe I could try to make…
I use my DIY e-bike for getting around. The current iteration looks like this: × I call this my "Dumb" e-bike because it is both a result of a lot of dumb decisions and mistakes (and lessons learned!), but also because it is the opposite of smart. There is no cloud service, required app or vendor lock-in. A lot of modern e-bikes become e-waste the second the manufacturer goes bankrupt. Others…
I have been around and used 3D printers since they became more or less mainstream — first in university, then in hackerspaces, and now at work. While I have printed a few doodads, I haven't really modeled a lot myself. Recently, a colleague held a 3D modeling course/workshop, and I was able to make something useful — a litter bin for dryer lint. I embossed "lo" (lint) on it to indicate what it is…
I recently purchased a mini PC to use as a media center and home server. One of the things I wanted to explore was streaming games from my desktop PC to the TV. This works well enough, but it is kind of a hassle to get to the gaming: If off, turn on the TV Select correct HDMI-input (no CEC on the mini PC) Launch SteamLink, which means I have to fish out the keyboard/trackpad-combo from under the…
Short version: A friend and I made a simple tool for figuring out how much water of given temperatures to mix in order to reach a desired temperature: × It can be visited here: https://water-mix-temp.fly.dev Technologies used: Python Uv HTMX Fly.io Long version: I recently became a dad for the second time, and we are relying on baby formula to feed the baby. When mixing formula with water, you…
HTMX is pretty neat and has quickly become one of my top contenders for frontend technologies for future projects. While it primarily is meant for more complex and dynamic sites and apps than this blog, even a website built with a static site generator like Zola can benefit. While Static site generators are great, and offer several upsides , a downside is the user experience compared to more…
Short version: I made an info screen for the office. It currently looks like this: The code can be found here . I used: Rust, with: Slint Serde Reqwest Tokio Tide Cargo-zigbuild ... and more Github Actions Raspberry Pi Python and bash for some scripting Long version: When I was a student, we had an info screen showing bus times, the lunch menu, upcoming events, meeting room bookings and so on.…
This is my little corner of the web. This site is built with Zola, a static site generator written in Rust. It is deployed to Netlify, which is by far the most user-friendly platform I have used. I have been a fan of static site generators and the first wave of "JAM-stack" architecture for a long time. Serving only static files makes sense in many cases, and much more often than it is done, I…
(This is an old post originally posted on our company Medium blog, which is now gone. I transplanted it here for posterity.) For a presentation, I needed to show the audience what was going on on my Android phone. I expected this to be easy, but I ended up spending more than enough time figuring it out. My first idea was to connect my phone to the projector using a USB-C to HDMI adapter. After…