Quick Update

(Day 24 of 30 Days of Blogging) I think this is going to be my last post for a little while. Updating this blog every single day has gotten to be a bit of a slog, and I don’t want to just start spamming junk posts. I also don’t want to completely burn myself out of the whole thing. I’m still very happy with how everything with the blog experiment turned out!
Read more

Managing Ctags for Vim

(Day 23 of 30 Days of Blogging) Ctags is the plugin-free way to do code navigation in vim. For single projects it works great out of the box. Just build your ctags file and point vim at it. But what about when you have multiple distinct project directories but still need to frequently jump around between them? That calls for multiple ctags index files, and managing that can be a bit of a hassle.
Read more

In Defense of the Twitter Bot

(Day 22 of 30 Days of Blogging) Remember before the time of the “Russian troll”, when Twitter bots carried a different connotation? They were fun little ideas like @PepitoTheCat and @big_ben_clock, never actually useful but just a bit of fun. An aside, a few years back there were some who thought useful versions of chat bots would take off and become the next big Internet platform. That sure didn’t pan out the way we all expected… But I digress.
Read more

Slow News Day

(Day 21 of 30 Days of Blogging) I don’t have anything meaningful to write about today. Come back later. In about a week I’m going to be moving out of the city to an Airbnb on the beach. It’s going to be a nice change of pace. I have some projects that I’m going to start while I’m there, but none of them are tech-blog material. There might be a slight shift in the content of this blog, if I still continue to update it after this month.
Read more

Hacking i3: Automatic Layout

(Day 20 of 30 Days of Blogging) Another post about making a good window manager even better! Window layouts in i3 basically come in two types: horizontally or vertically stacked. By combining those two you can arrange windows however you want. The default layout in i3 is horizontal, which means when you open up too many windows it ends up looking like this: (The video could not be played) Of course what you’re supposed to prevent everything getting squished like that is to split windows to the opposite layout so they grow in the other direction.
Read more

Introducing pjs

(Day 19 of 30 Days of Blogging) I’ve been working on a small project that can basically be summed up as awk for JS developers. pjs is a command-line tool for processing text-based files by writing snippets of JavaScript. For example, converting each line to upper-case: cat document.txt | pjs '_.toUpperCase()' Or filtering lines: seq 10 | pjs '_ % 2 == 0' And a whole bunch of other stuff, including support for streaming CSV and JSON.
Read more

Ramblings From a Dirty Apartment

(Day 18 of 30 Days of Blogging) I started reading some philosophy disguised as a housekeeping manual called Home Comforts and it’s been pretty illuminating. I’ve always loathed housework. I’m not exactly sure why. It could be the feeling of futility from the cycle of cleaning something that will soon become dirty again. Or maybe my pseudo-nomadism/quasi-Buddhism prevents me from attaching much importance to objects and spaces. Or maybe like many I internalize that housework is women’s work, or that valued work is paid work.
Read more

Returning to Text

(Day 17 of 30 Days of Blogging) I’ve been replacing the way I store personal todo lists and notes. Previously I was using Trello. Before that I used Tiddlywiki for a couple years. I used to work with a guy that swore by simply using a text file, so I started giving that a shot. In theory this approach has some major perks: It’s easy to add stuff: Just start typing.
Read more

Hacking i3: Window Promoting

(Day 16 of 30 Days of Blogging) One of the only things I miss from when I used xmonad many years ago was being able to hit a keybind to swap the currently focused window with the “master” window. I think the default keybind for that in xmonad is alt-Enter. i3 doesn’t have the concept of a master window, but if we consider the master window to just be the largest window, the same effect can be achieved:
Read more

A Blog Half Full

I’m halfway through 30 Days of Blogging. When I was a kid I really wanted to be a cartoonist. I wanted it so much that my first “job” was doing a daily comic strip for the local newspaper. I did that for 10 months straight, 6 days a week. At the end I was so sick of it I never wanted to pick up a pencil ever again. Hopefully blogging doesn’t end up the same way!
Read more