RSSAmplifier

Blog

Linus’s Blog

funloop.orgRSS feed ↗10 posts

Latest posts

Status Update

2025-09-29 update It’s been a long time. The most important thing you should know is that I’ve been working on a new version of Lilac ; as such I’ve renamed the existing version as lilac-legacy . I’ve learned over the past year or so that I prefer literate programming over any other programming paradigm. Sadly the tooling is just not that great ( lilac-legacy included) if you want to work with…

Using Git the Right Way

2024-10-11 git , programming I’ll first describe 3 different levels of Git proficiency. Then I’ll discuss ways to actually use Git “The Right Way” to get the most value out of it, and end with some tips. Hopefully by the end of this post you’ll want to become an advanced Git user if you’re not one already. Beginner You use Git as a necessary evil, because it’s mandated by your company to use it.…

A New Chapter Begins

2024-06-29 life Jobs I recently started work at Qantas, focusing on backend systems written in Clojure! It’s an interesting change from the Golang work I did at Google for the Kubernetes community (primarily on Prow , the Kubernetes-native CI system). I expect to learn lots of new things and continue to grow as an engineer. The opportunity at Qantas presents a unique proposition to me because I’ve…

Lilac and Codex

2023-11-21 programming TL;DR: Check out my new open source projects, Lilac ( GitHub ) and Codex ( GitHub )! Lilac Lilac builds on top of Emacs Orgmode to make Literate Programming (LP) targeting HTML much more pleasant than the default experience. It’s unapologetically opinionated. It encourages heavy use of Noweb-style references. Most people don’t believe in LP, which means it’ll get little use.…

Git Archaeology

2023-03-21 programming , git TL;DR: Check out my STUDY_NOTES.md on Git if you want a quick understanding of (ancient) Git internals! I’ve been using Git since 2009. In all that time I never really bothered with understanding Git internals, because frankly after learning what a directed acyclic graph (DAG) was, everything just fell into place. That’s going to change, because in the coming weeks, I…

Bresenham's Circle Drawing Algorithm

2021-03-15 programming , math Once upon a time I was given the following problem for a technical programming interview: Write a function draw_circle(r) that draws a circle with radius r . Use the given method draw_pixel(x, y) which takes a 2-dimensional point (x, y) and colors it in on the computer screen. For the solution, you can either collect all pixels (tuples) of \(x\) and \(y\) coordinate…

Using MPD for ReplayGain

2021-01-05 linux , audio Something like ~10 years ago, there was no easy way to apply ReplayGain to various audio files with different formats (e.g., flac vs mp3). Over the holiday break I discovered r128gain which is exactly the tool I wanted for many years. You just run r128gain -r <folder> and it will recursively tag all music files with ReplayGain information — in parallel, no less! The only…

Thoughts on Baduk

2021-01-04 baduk My history with Baduk I’ve started playing Baduk more during the pandemic, and I thought I should write about this fascinating game. 1 When I was a child growing up in Korea, I remember seeing newspapers with pictures of Baduk positions with professional commentary. Unfortunately, no one in my immediate family had any interest in the game, so my initial curiosity of the game came…

The Two Sum Problem Explained

2020-12-05 algorithms , math Just over three years ago, I watched this video that goes over the so-called “Two Sum” problem for the first time. The problem statement is as follows: Given a sorted list of integers (unimaginitively called numbers ), determine if any 2 integers in the list sum up to a number N . To be honest I did not understand why the proposed optimal solution that uses 2 pointers…

The Esrille Nisse: Three Years Later

2019-11-13 hardware , esrille , cherry mx Over three years ago, I wrote a post describing the Esrille Nisse keyboard. This post is a reflection on the keyboard, more than 3 years later. Layout Ultimately I settled on a different layout than the one described in the old blog post. This was a result of many hands-on trial-and-error sessions over a period of weeks which turned into many months. In my…