This post about hiring in tech lined up with Brotopia’s discussion of hiring practices. It’s all bad, I think: historical hiring in tech as comically bad, relying on antisocial personality types. Then there was the bad riddle-centric Google hiring. Whiteboarding. Culture fit. Hiring is such a broken piece of tech that’s responsible for a lot of downstream failures, and there aren’t enough clear examples to follow. Take-home assignments, debugging exercises, on-site interviews – seem better to me? But still far from a solution. Unlike other industries, universities aren’t a great way to do barely-meritocratic culling, with the exception of Stanford/Waterloo/KIT, I guess.
I’ve been reading Capital, as I’ve probably informed too many of my friends: there is not much other news being generated here alone in my apartment. It’s great, though I’m in the middle part where the thesis has been stated and he takes us step-by-step with the data. It’ll probably get five stars because it’s good.
I posted a hard problem on Twitter and folks had fun solving it. I wasn’t sure how hard it was, and it turns out that it was pretty hard! But folks are smart: here’s the branch & bound solution and the logic programming solution.
Some other things.
This cover of Dig a Pony by St Vincent is still one of my favorite things. She’s one of my favorite guitarists – stuff like the ripping solo on the live version of Just the Same But Brand New is the peak, for me.
Despite having toured with her for almost a year I don’t think I know her much better, at least not on a personal level - David Byrne, on St Vincent
I’ve been using some of my time in this era to finally really learn Spanish. And using Glossika for that purpose, which has been working pretty well, I think - it was recommended by John McWhorter on Tyler Cowen’s podcast, and it seems to fit my learning process better, by pushing sentences instead of words and by emphasizing listening and speaking. It’s an opportune time, I guess, because nobody can judge me for saying “where is the post office” here in my apartment.
The (visual?) future of programming
I really enjoyed this summary of Taxonomies of Visual Programming. Like many programmers, I had my Bret Victor phase, when I was convinced that traditional programming was overcomplicated and intentionally exclusive. Though I still think programming could be improved, I think that many of the slickest proposed solutions don’t really pan out, principal of them being visual programming.
The reasons are pretty well-covered in Myers’s paper, but there’s also the question of the problem statement. If visual programming is the solution, what is the problem?
Syntax is the most convincing answer, that traditional programming relies on the ability to count
' characters in order to properly close them (though, English has the same principle (though you could argue that folks aren’t comfortable with English either)).
The whole argument that it’s just text, a dead medium, not using spatial reasoning or color, is intriguing but again is more of a possibility statement than a problem statement, and most of the explorations of those possibilities don’t show that much to be gained: the result isn’t more compact, succinct, or understandable.
An uncharitable, mostly-joke expansion of the “beyond text” idea is that instruments like the guitar only use the hands, and it makes no sense that we haven’t evolved to one-man band setups or all become organists.
And again, I do think that there are ways to improve programming – simpler and friendlier languages, really helpful coding environments, a working education system – but I’m not sure whether there’s much progress being made on those. Observable implemented the mildest version of structured editing possible - introducing the idea of cells that contain functions or values, mostly as a means to make partial updates to the reactive graph possible and reduce the blast radius of syntax errors. But even then, that small change had pretty high costs in terms of new editing paradigms, now that you couldn’t select multiple blocks of code at once and copy & paste. Copy & paste is really important.
Maybe a very large investment in structural editing or visual programming would be able to get through the desert and into the promised land. I’m not sure.
macwright.org is now macwright.com. Well, right now both exist and I’m not redirecting yet, just to make sure everything’s working and also because I’m not sure how to. For folks outside of the US, a configuration change I made along with this transition should make a pretty big difference in performance: the site is now using Netlify’s global CDN instead of routing everyone to America. According to ping this yields an improvement of about 300ms, which is a 54% speed improvement for folks outside of the states.