Implementing a Slow Life

(Day 7 of 30 Days of Blogging) There’s a famous experiment where subjects (typically poor university students) are left alone in a small, empty room with blank walls and no windows. They are asked to sit at a table and “entertain themselves with their own thoughts” for 15 minutes. No music, no phone, no TV. On the table is a button that applies a mild electric shock. It turns out, many of us will press that button, often multiple times.
Read more

Generating Strong Passwords

(Day 6 of 30 Days of Blogging) APG is a command line program for generating random passwords. On Ubuntu/Debian it can be installed with sudo apt install apg. Here are the flags I use with it: apg -a 1 -n 1 -m 25 -x 30 -M SNCL -d -E "'\"\`\\" -a 1: Specifies to use true random instead of the default mode of pronounceable passwords. The assumption is that these passwords are going to be remembered by a password manager and not a brain.
Read more

Hacking i3: Window Swallowing

(Day 5 of 30 Days of Blogging) Tiling window managers are a big reason why I use Linux. Not having to manually drag windows around is absolutely game changing, especially on a laptop with a small screen. Tiling WMs work by resizing other windows when a new window is opened, so that no windows ever overlap. Most of the time this is perfect, but there’s a certain case where it’s not so great, which is when opening a GUI application from a terminal to quickly view a file:
Read more

TODO-based Development

(Day 4 of 30 Days of Blogging) I use TODO comments a lot when working on small projects. Projects where the “issue tracker” is just a text file in my editor, and mainly to stub out empty methods that I’ll implement later. TODOs are easy to insert, and they move with the source code. The main drawback is that they usually get lost and end up as bitrot. Keeping track of TODOs by searching the codebase is pretty straightforward.
Read more

Experiments With Rockstar

(Day 3 of 30 Days of Blogging) I recently stumbled across a toy programming language called Rockstar, in which programs are also heavy metal lyrics. Basically COBOL for metalheads. The syntax can be almost completely poetic, even with programming features with numeric literals, functions, arrays, and arithmetic hidden in its text. The grand-daddy of esoteric programming languages is Brainfuck, in which programs have only 8 commands and are almost completely unreadable.
Read more

Final Thoughts on Flash

(Day 2 of 30 Days of Blogging) On December 31 2020, Flash was finally, officially, 100% for real this time, discontinued. It’s already been dead for ages of course, but damned if that won’t stop me from adding my own hot take about Flash. I was involved with Flash game development from around 2008-2014 or so. I’d like to note a few things I think the platform did well, and not so well.
Read more

30 Days of Blogging

Happy new year! I’ve had this domain kicking around for ages and have always wanted to do something more with it. So, I’m making a commitment to write a blog post every single day for this month. This won’t be easy for me. I do not write. Hell, most days I can barely even read. I worry about writing about the wrong thing, or too little, or too much. But I’m also stubborn, so for the next 30 days we’re just going to dive in.
Read more