Blog

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 up entirely of infinite streets. It's so big that you feel like you're missing out on most of it, like each road you pass on your way to your destination is a lost opportunity, a story you'll never get to hear. You feel like there are countless Woody Allen movies and Seinfeld episodes going on at the same time but you'll never know anything about them because you didn't choose to walk down those roads. The sense of loss can be very powerful.

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 take the plunge with Angular 2 on one of their newer projects and so, for better or for worse, I am somewhat familiar how an Angular 2+ project works.

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 from the book. Crazy, right?

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 is, until I found this website: http://www.gaudi.ch/OpenTheremin/

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 electricity moving or burning, even as the motor spins or the lamp shines.

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 Pelican blog. It also doesn't cover my reasons for using Pelican in the first place; for that, feel free to peruse my other blog entry on the subject.

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 revolved around statically typed languages.

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 if I said it's one of my favourite movies of all time - I feel like that kind of designation is less about the movie itself and more about my frame of mind at the time I see it - but it's definitely up there as one of the movies I admire most from a visual standpoint. It's still beautiful 35 years later.

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 I publish an article, I created standalone index pages for tags, categories and archives rather than display the counts on every page.

Read more

Not Invented by Monks

Continuing in my attempt to document the mixers and liqueurs I've been sampling recently, I will now focus on Benedictine, a French, brandy-based, herbal liqueur.

The name conjures up images of secluded monks guarding secret recipes handed down for generations (see my article about Chartreuse, another monastically themed libation, for a similar background) but according to Wikipedia the real story is a bit more prosaic: it was apparently invented by wine merchant and industrialist Alexandre Le Grand who later tried to link his concoction with the Benedictine Abbey of Fécamp in Normandy to boost sales.

So...not invented by monks, then. Oh well. I still think it's pretty good, even without the cute backstory. Like most liqueurs, it's extremely sweet, and it has a fairly subdued, herbal flavour that is not, for once, dominated by anise. In this way it contrasts sharply with Chartreuse, which is assertive and very dominated by anise.

Read more