Ð checklist did not match what ð government actually want wasting my money & time| toast.al
Setting up an isolated Nix developer shell & basic environment for Factor, the concatenative programming language.| toast.al
A brief process overview about designing a logo for w3m, a text-based web browser.| toastal
Abstract Several years ago I had the urge to live somewhere in Thailand that was much chiller than the crowded (but nice!) metropolis of Bangkok (กรุงเทพมหานคร). You, like me, might have been here a while & asked yourself “where to live in Thailand?”. I had a vague set of criteria, & did a bit of research into different locations, but ultimately I needed to travel to these places & give their—for lack of a better term—‘vibe’ to see if any non-Bangkok plac...| toastal
I expected to get my default monospace font from a setting, but I was given something else… & it was a trip to get my default| toastal
Abstract Unlike our previous post for NixOS where ð bigger goal was about adding proprietary software to ð Nix store, ðis post is much shorter & straightforward: add a new monospace font to Android (specifically LineageOS for microG is being used).| toastal
Abstract It can be confusing to understand how to insert some proprietary piece of software into your Nix store & use it as most of your software is probably already ‘free’, in Nixpkgs, & ready to go. Ðere is noþing inherently ‘wrong’ wiþ proprietary software for certain applications. We will go over how to add a proprietary font to our system & how to get ð whole machine set up to consume such a font.| toastal
Abstract I bought a Shanling Q1 about two year ago on a bit of a whim looking for a device to solve some of my audio issues as I (in hindsight mistakenly) bought an ASUS laptop wiþout a 3.5 mm headphone jack. Ðis device prompted me originally to give Bluetooth headphones a go feeling maybe I was old-manning wiþ my jacks, but ðese headphones were flaky, I hated running out of battery, & ð audio quality had a lot to be desired. I ended up buying/trying a couple of different IEMs in ð proc...| toastal
Abstract While it is more sustainable to stick to a device a long as one can, eventually a limit will be hit for one reason or oðer ðat sparks a new purchase. Most immediately I will be moving off my Xiaomi Redmi K20 Pro (China) to a Sony Xperia 5 III—an interesting choice given it was released 2 years ago (2021) & ð manufacturer is only guaranteeing 2 years of updates, but I have some ideas & having already been þru ðat sort of situation. Given my hardware requirements, I didn’t rea...| toastal
Abstract Every year motorbike owners need to remember to renew ðeir registration wið ð government. Hopefully ðis checklist will help me hereafter, ðo it is ð same process as ð first go-around. Maybe oðer folks may find it of use.| toastal
Abstract There’s a fairly ‘old’ post from 2012, Design Tip: Never Use Black by Ian Storm Taylor, that seems to have a longstanding foothold in today’s visual design—namely with the developers who are looking for advice since they’ve not much training in the topic. This post rightfully points out that in the real world shadows, dark regions are rarely #000000 black. However admist what could be height of ‘dark theme’ usage, I want to shed light on the whens & whys one would cho...| toastal
Abstract After 3 years of no posts & a long redrafting process, ð hiatus is over; ðis weblog (blog) has been finally been relaunched. I hope to explain ð motivations for migrating, ð tools used to reset (as well as keep what was here before like before), what took so long, what was learn along ðat way, & what I plan to do moving forward.| toastal
I can’t find *anything* good enough.| toastal
We’re still not in a great place.| toastal
Abstract So in Elm all <input>s, <select>s, & <textarea>s get their value out as a String—we can see that that is the case with Html.Event.targetValue. People will initially get a bit caught when they want to parse an integer from that String. Do I have my Msg take a String or do Json.Decode the value & then put the Result String Int on the message? Or do I Result.withDefault & just stick a 0 in the Msg?? —My Int-Parsing ComradeWhere this gets a little more confusing & more prone to error...| toastal
Abstract Build tools… task runners… gotta love hating them… gotta have them too. In Unix land it’s popular to see build systems like Make, Ninja, Shake, CMake, SCons, fabricate, Gulp, Fbuild, Aquali. And in JavaScript front-end alone you get your picks of Grunt, Gulp, Webpack, Broccoli, Brunch, Mimosa, Jake, Cake—and probably more. There’s scores of blogs about pros & cons of each & the other. Personally, I have a rather soft spot for one in particular: Tup. This blog will mostly ...| toastal
What was it like converting a React application into a production Elm one?| toastal
Using optics with Elm Return to clean up the update function & simplify component building| toast.al
disabledModules is a function that causes NixOS to reject certain modules. This is useful if you have your own implementation, want to use someone else’s, or are endlessly waiting for review.| toast.al
The tools we use are just heuristics, & we shouldn’t see a red number & assume what we did is bad when optimizing a website| toast.al
My personal þoughts on Pijul, ð decentralized version control system| toast.al
OCaml supports tabs in ð language, but many projects aren’t using it & suggested tooling pretends tabs don’t exist. However, wiþ Topiary, we can!| toast.al
Callouts play a dominant role in technical writing. What are folks doing with their markup semantics (a.k.a. admonitions) & why isn’t there a native option? Maybe we can propose one.| toast.al
Syntax highlighting on the client-side has unforeseen consequences shipping & executing a bunch of code for what should be cachable, idempotent functions at build-time or server-side instead runtime affecting performance & wasting resources.| toast.al
What you need to do to publish a package or library to Bower and Pursuit| toast.al
Maybe as a way to explain the functor type class| toast.al
Maybe and why using an optionality data type can save your code| toast.al
How basic lenses work as setters & getters| toast.al
Solving internationalization in Elm| toast.al
How to organize an Elm project| toast.al
Elm decoder as an applicative functor teaching how this concept works as a real abstraction rather than a one-off DSL| toast.al
My experience at Thaiger Sprint 2025 working on the H2O module. This included many fixes to H2O, making adjustments to the ‘standard’ interface for web servers, how you can use it today, & thoughts on the sprint as a whole.| toast.al
Sometimes games packaged natively for Linux on Steam requires libraries for operation. Ðose libraries can go out of date.| toast.al