Adam Gravitis

Engineer, entrepreneur, economist

Read this first

Programming without Text

I am disappointed with the current state of programming today, largely because it used to be one of my favourite pasttimes. It’s not the logic, or the projects, or the prevailing attitudes, or even the languages employed, per se, which are the source of my disappointment.

Rather, it is the actual experience of programming which I feel falls short: so very short of what I feel it really could and ought to be in this day and age.

Essentially, we have artificially restricted ourselves to expressing program structure in the form of text documents. This is the key problem.

Using text as an expression mechanism is holding us back more than most engineers realize. Certainly, there are a host of benefits: it’s extraordinarily basic to deal with, highly interoperable, cut-paste works without a hitch, and every single programming language is designed to be edited in text.

But we all realize

Continue reading →


One of the truths I’ve constantly re-arrived at over the past several years is that optimization is boring. It’s a bit of a shame, since I tailored most of my senior engineering courses toward optimization. But although I understand many of the numerical techniques and general engineering principles, optimization itself remains super boring.


Mostly because it’s the part of engineering you can commoditize. When a problem fits neatly into the category of optimization, you can confidently declare: “No problem, throw two smart guys at it for a week.” Or worse, “we’ll just lock a bunch of machine learning kids in the basement until they make it better.”

It’s a bit harsh for me to claim that doing optimization is a commodity. Of course, engineers familiar with the space will be able to do a much more accurate and faster job of it. But at the end of the day, chances are you can

Continue reading →