Brian Willis


When Soylent shakes were first announced I thought they were a really neat idea. Shopping for groceries and doing a bunch of meal prep once a week was becoming a bit of a chore, and eating out regularly gets absurdly expensive in my part of the world. Drinking your meals seemed like a way to save time and money.

International shipping being what it is, I never got to try Soylent. Shipping the powder halfway around the world nearly doubled the price, and I wasn’t prepared to wear that cost for meals that could very well end up tasting like wallpaper paste.

Aussielent packaging.

Last year I learnt about Aussielent—a company based in Australia trying to make a similar product. So I purchased a week’s worth and resolved to give it a try.

Each bag contains a day’s worth of food in powdered form. The instructions encourage you to break each bag into four servings, spacing them evenly throughout the day. You mix each serving with water in a shaker bottle, but otherwise don’t need to add anything.

My first impression was surprisingly good. The flavour was neutral and inoffensive. Imagine the taste of leftover milk at the bottom of a bowl of cereal. A mild oaty flavour that’s slightly sweet. I remember thinking while rinsing out the shaker bottle that I could eat this way all the time.

Then, while walking to work, it hit me. I was wide awake. Staggeringly awake. I hadn’t had any coffee yet, but the sun was shining, the birds were singing, and I was hyper-aware of all of it. Turns out liquids digest very easily, and this thing hit my bloodstream all at once. Of course, it all wore off very quickly, and I was hungry again by mid-morning.

The next few days continued like this. Without spending time to break down food in my stomach, the nutritional value of each meal hit me all at once and then disappeared just as quickly. I went through peaks and troughs of energy all day.

Eating four times a day is an inconvenience too. While your coworkers are taking lunch, you’re at your desk. When you’re hungry and need to mix up a meal, you’ll find yourself stuck in an 11 a.m. meeting. The rest of the world doesn’t operate on this schedule, and I struggled to as well.

On the third day, I was starting to get light-headed and dizzy before meals, which is never a good sign. So on day four I gave up and went back to regular food.

For a month, the remaining packets sat in their box on the kitchen counter, mocking me for my hubris.

I wasn’t willing to throw the remainder away, so I started having a shake each morning for breakfast instead, and I have to say this is where the product shines. If you treat these shakes as a once-in-a-while replacement for the occasional meal when you’re too busy to eat properly, they’re a lifesaver. I spent the next couple of week’s showing up to work full of energy, bright-eyed and bushy-tailed, with no time wasted in the mornings.

Be warned that the mix can clump together if you don’t shake it aggressively enough. Through some experimentation, I figured out that you can produce a more even consistency if you make each shake the night before and leave it in the refrigerator overnight to incorporate.

What surprised me most about this experiment was that unlike many supplement companies, Aussielent doesn’t hedge their bets by calling their product “part of a balanced diet” or “nutritional insurance“. They really do double-down on calling Aussielent a complete replacement for every meal. Given the complexities of nutrition, this probably isn’t true. In saying that, you could do worse. If you’re short on time and eating a lot of fast food I’d speculate that these meal replacement products are better for you, if only because their nutritional value receives so much thought from their creators and so much scrutiny from their critics.

The First Reckoning of Computer Science

Selected pieces of a twitter thread by Yonatan Zunger, posted verbatim here because Twitter is awful for long-form text:

I didn’t come up in computer science; I used to be a physicist. That transition gives me a rather specific perspective on this situation: that computer science is a field which hasn’t yet encountered consequences.

Chemistry had two reckonings, in the late 19th and early 20th centuries: first with dynamite, and then with chemical weapons. Physics had its reckoning with the Bomb. These events completely changed the fields, and the way people come up in them.

Before then, both fields were dominated by hope: the ways that science could be used to make the world a fundamentally better place. New dyes, new materials, new sources of energy, new modes of transport; everyone could see the beauty.

Afterwards, everyone became painfully, continuously aware of how things could be turned against everything they ever dreamed of.

I don’t know the stories from chemistry as well. In physics, I can tell you that everyone, from their first days as an undergrad (or often before), encounters this and wrestles with it. They talk about it in the halls or late at night, they worry about it.

For a long time, it frightened me that biology hadn’t yet had this moment of reckoning — that there hadn’t yet been an incident which seared the importance of ethics and consequences into the hearts of every young scientist. Today, it frightens me more about computer scientists.

Young engineers treat ethics as a speciality, something you don’t really need to worry about; you just need to learn to code, change the world, disrupt something. They’re like kids in a toy shop full of loaded AK-47’s.

The hard lesson which other fields had to learn was this: you can never ignore that for a minute. You can never stop thinking about the uses your work might be put to, the consequences which might follow, because the worst case is so much worse than you can imagine.

Short postscript: As several people have pointed out, many fields of biology have had these reckonings (thanks to eugenics and the like), and civil engineering did as well, with things like bridge collapses in the late 19th century.

Civil engineering responded to this by developing codes of ethics and systems of professional licensure which shape it to this day. I’ve been wondering about this a lot, recently: whether we should be doing the same in CS.

That is, ethical codes with teeth, and licensing boards with the real ability to throw someone out of the profession, the way boards can in engineering, medicine, or law.

The university I attended didn’t teach an ethics course as a part of the Computer Science program. I’ve heard others describe such classes as an easy way for people to bump up their GPAs while they should be off learning how to build compilers, or network infrastructure, or some other Hard Thing. I don’t know why we programmers are such suckers for technical self-flagellation, especially when there’s so much moral self-flagellation to be had.

Zunger is right—software developers are writing the script that the future will run on, and we’re doing so while asleep at the wheel. Between Equifax, Cambridge Analytica, and whatever major breach happens next1, we’ve set the world up to be taken advantage of by whichever player is willing to be the most malicious.

We can’t expect legislators to fix this, because they’ve shown that they don’t understand the technical side. We can’t rely on the market to fix this, because we’ve taught the world that software should be free, and so we desperately need advertising dollars (and all the associated tracking that comes along with that) to keep the industry afloat. We can’t rely on a professional standards body to fix this, because there’s no way to keep a motivated kid from learning to code—and let’s be honest here, most of us were that kid at some point.

So that leaves us. We’re going to have to fix this mess on our own.

  1. Notice that it isn’t controversial when someone suggests there are more serious breaches coming? 

CSS Grid Changes Everything

Here’s a great talk by Morten Rand-Hendriksen from this year’s WordCamp in Paris, entitled CSS Grid Changes Everything. The jokes are bit much, but stick with it because what he has to say is worth listening to.

I’ve lived through a few “generations” of CSS tech, from gif-spacers to tables to divs to flexbox. Every time we make one of these leaps forward, I feel like we’re rearranging our prejudices, enforcing new tradeoffs in an attempt to reinvent the wheel. I’ve been concerned about this lately, especially since last week’s announcement by Adobe that Flash will be end-of-lifed. I know Flash is a dumpster fire, but it enabled so much creativity back in the early days of the web, and a small part of me is sorry to see it go. More so than any other tool, Flash made me feel like I could turn my ideas into pixels. CSS has never felt like that, especially during the days of divs and floats. Instead CSS feels like one part rigid authoritarian and one part abusive spouse. I’m always one misstep away from having my defenceless HTML get scrambled for reasons that seem downright arbitrary.

My first impression of CSS grid is that it makes layout approximately as intuitive as flexbox, but in a more elegant way. There’s nothing inherently wrong with that, but I can tell you without even using it that there are some things it does badly. Want to stack one div atop another on the z-axis, creating a three dimensional effect with a sense of depth? Not going to happen. Want to have divs that change dimensions in response to mouse over events? Not without breaking your layout.

There’s definitely a particular set of use cases being optimised for here. Namely, static pages with little interactivity, little depth, and a rigid structure1. This, more than anything, is what makes CSS grid feel like the anti-Flash.

It might just be time to concede that there’s no way to create a general purpose layout model that covers the whole scope of what we do on the web. I’m disappointed that’s where we’ve ended up, but I guess it’s better than gif-spacers.

  1. You know, like this one. 

The AP Begins Allowing “They” as a Singular Pronoun

Lauren Easton, Director of Media Relations for the Associated Press, quoting the next edition of the AP Stylebook on their blog:

They, them, their — In most cases, a plural pronoun should agree in number with the antecedent: The children love the books their uncle gave them. They/them/their is acceptable in limited cases as a singular and-or gender-neutral pronoun, when alternative wording is overly awkward or clumsy.

Well it’s about time. English desperately needs a singular gender-neutral pronoun to fill the biggest functional gap in our language. Calling people “it” is offensive and crude; while “he or she” is unwieldy, and disregards the existence of people who don’t identify as either.

Predictions for 2017

A short one this year, as we live in uncertain times.

Once again, despite my repeated insistence, one of you went and launched another social service. I warned you all not to do this, but I suppose it was inevitable that eventually someone would try and open source Twitter. We’ve had paid twitter, charity twitter, and gnu twitter, so this really is the next logical step. This one is doomed to failure for the same reason as all the others—social services aren’t about features, they’re about people, and the people are all using Twitter.

I’m calling it now: the digital crown is coming to the iPhone. It’s such a natural interaction on the Apple Watch, would fit perfectly with where you already place your fingers, and could replace the volume up/down buttons in an obvious way.

In other news: Yahoo goes out of business; Google’s next Pixel phone becomes a meaningful threat to the iPhone; Apple demonstrates that they still care about the Mac by releasing exemplary Kaby Lake desktops; Microsoft flails in all directions, doing a better job of pleasing developers than paying customers; and you still won’t be able to edit a Tweet.

It’s traditional for me to wrap this up by predicting that Half Life 3 will come out this year. While I may have started this post calling these “uncertain times”, now that we’re ten years following the previous chapter’s release I think we can say with certainty that the Half Life franchise is well and truly dead.