Blog

How I Organize my Photos

I have a large collection of digital photos dating back over 15 years. An impressively small fraction of them are actually any good, but that's a different conversation, probably revolving around my digital hoarding habits.

Such a large collection deserves a particular method of organization. Or maybe it doesn't. Did I mention they're mostly mediocre? Anyway, I have one! I thought I'd share in case anyone finds it useful (including a future version of myself, my mind being a sieve and all).

The procedure I came up with is strongly influenced by several personal idiosyncrasies. Obviously, not everyone shares these …

Read more

Fedoras and Infinite Streets

As you walk down a typical street in Manhattan the first thing you notice is just how straight it is. Roads in Manhattan have actual vanishing points, like railroad tracks. You walk slowly towards this point that you will never reach, and the cross streets come up one at a time, at perfectly spaced intervals and at perfectly right angles. First you look left, and then you look right, and you're taken aback at how perfectly straight those roads are as well, and how they also seem to go on forever in the distance.

It feels like Manhattan is made …

Read more

Angst and the Angular Module System

Google's AngularJS is one of the most popular web frameworks out there, but it comes with its share of criticism (performance around two way binding being one of the more prominent complaints). Google responded by releasing Angular 2 (and, as of now, 4, 5 and 6), which addressed some of the issues but at the cost of being drastically incompatible with its predecessor, with no realistic way to upgrade except through pure elbow grease. Angular 2+ might as well be a completely different framework.

I never got the chance to become familiar with AngularJS, but my employer did decide to …

Read more

Why Is There No E Sharp?

In an attempt to at least try and get to know my theremin a bit better, I caved and bought Carolina Eyck's The Art of Playing the Theremin. I mean, her instructional videos on YouTube are great, but they don't really give you a proper sense of how to move your fingers when playing a tune. Her book, on the other hand, does.

It's probably obvious to everyone else in the world, and I'm not sure what exactly I was expecting, but it turns out that you have to know how to read sheet music in order to fully benefit …

Read more

On Finding an Excuse to Buy an Arduino or: How I Finally Got Myself a Theremin

In my last blog entry, I talked about theremins. I've known about them for a while, and I've always found them fascinating, but I've never actually taken the plunge and bought one, despite being being tempted on many occasions (they're not that expensive).

At the same time, I've known about Arduinos for a long time, and I've always wanted an excuse to buy one, but I've never actually taken the plunge and bought one. As I'm fond of saying, an Arduino is a solution in search of a problem, and I just never found the right problem for one.

That …

Read more

On Pulling Musical Notes Out of Thin Air

I am an unapologetic Downton Abbey fan. The series is full of memorable scenes, but one in particular has stuck with me. Daisy, one of the scullery maids, is asked if she turned on the electric lights in one of the rooms and she replies "No. I daren't".

It seems like such a minor, throwaway line, but I feel like it succinctly captures how the uninitiated must have felt about electricity back then. Daisy is downright afraid of it. Steam and fire are very direct and literal sources of energy, but electricity is much more abstract. You never see the …

Read more

Blogging with Emacs and Pelican

Pelican is my blogging engine of choice these days. Given that Emacs is usually (though not always) my text editor of choice, it made sense to try and streamline the process of writing blog entries for Pelican with Emacs. What follows is my attempt to document such an endeavour, partly because I think it might be useful to the (undoubtedly tiny) cross section of people who use both Emacs and Pelican, but mostly so that I have something to refer back to when the need arises.

Note that this blog entry does not cover things like actually setting up your …

Read more

Static Typing, IDEs, Automated Testing: An Eternal Golden Braid

I've been a programmer by trade ever since I graduated from University. This is a fairly long time, as these things are measured. I still consider myself on a learning curve, but that's a separate conversation.

My career, such as it is, mostly sidestepped the whole static versus dynamic typing debate that roiled in the early 2000's. School, when it veered into software territory, mostly consisted of C and Java, two statically typed languages. My professional life, until fairly recently, has been mostly in Java (with a bit of C++ thrown in for good measure) and hence has almost exclusively …

Read more

Thoughts on Blade Runner 2049

I saw Blade Runner 2049 recently. I have some (not very original) thoughts to share. Spoilers ahead.

The original Blade Runner only really caught my attention in my adult years. Unlike, say, Back to the Future, Ferris Bueller's Day Off and Superman, it was not one of my "childhood movies". I saw it once when I was very young, found it boring and weird, and then promptly forgot about it until I was made to watch it sometime in my 20's or 30's with my eyes fully open.

Once I did, though...wow. That movie drips atmosphere. I'd be lying …

Read more

On the Irony of Using Static Site Generators

As I've mentioned before, I've recently switched to pelican as my blogging engine.

Pelican is a static site generator. This means that it generates static HTML files using templates and content as input, which can be then uploaded (via rsync, for example) to a plain vanilla web server (I use nginx).

So far the experience has been fairly smooth. The web server setup is much simpler, since there's no application to run. And it's forced me to re-think what kinds of information I want on my pages. For example, in an effort to avoid regenerating the entire site every time …

Read more