James Ramsay

15 October 2017

Week 41, 2017

The Coming Software Apocalypse in The Atlantic calls attention to a serious problem in the software industry: software has become too complex for total individual comprehension and we have failed to adapt the engineering process accordingly.

This flexibility is software's miracle, and its curse. Because it can be changed cheaply, software is constantly changed; and because it's unmoored from anything physical—a program that is a thousand times more complex than another takes up the same actual space—it tends to grow without bound. "The problem," Leveson wrote in a book, "is that we are attempting to build systems that are beyond our ability to intellectually manage."

An outage of Instagram, Snapchat or some other social networking service caused by engineering failures will hurt little more than reputation and ego, but software systems that control aircraft, finance or utilities are less fault tolerant—the cost of failure could be death. Brett Victor observes languages and approaches have evolved little in the last half century.

Our current conception of what a computer program is, is derived straight from Fortran and ALGOL in the late '50s. Those languages were designed for punch cards.

To illustrate, I learnt from The C Programming Language second edition (published 1988) at university, my father learnt from the first edition (published 1978). Paradigms and techniques need not to be rejected simply for their age, yet limitations have become apparent in their application to complex critical systems. In fact these limitations have been visible for a number of decades and new approaches are gaining popularity like TLA. Less esoteric approaches are already very popular like stateless programming.

I think the most important observation in The Atlantic's article is that software systems must be plannedi—planned when first built and planned when extended. Leslie Lamport writes:

Architects draw detailed plans before a brick is laid or a nail is hammered nut few programmers write even a rough sketch of what their programs will do before they start coding.

8 October 2017

Week 40, 2017

Increasingly over the last year I have worked to unplug from services that steal my time and attention, particularly Twitter and Instagram. I've barely used Facebook in recent years but I am hesitant to deactivate my account since it would remove thousands of photos I took as college photographer. Without deactivating my account it is impossible to prevent people from sending messages or event invites I'll never see. Unfortunately I haven't yet found a way around this.

'Our minds can be hijacked': the tech insiders who fear a smartphone dystopia on The Guardian observes:

It is revealing that many of these younger technologists are weaning themselves off their own products, sending their children to elite Silicon Valley schools where iPhones, iPads and even laptops are banned. They appear to be abiding by a Biggie Smalls lyric from their own youth about the perils of dealing crack cocaine: never get high on your own supply.

I am glad to be able to work on a product—GitLab—that isn't competing for our users attention, but simply help them get their job done.


On a related note, GitLab has exciting new to share. Join us at 9am Pacific at gitlab.platzi.com.

24 September 2017

Week 38, 2017

It was a warm week, my second week at GitLab and I am beginning to find a rhythm to working from home. I've been reading fewer books than prior to our trip home and need to rebuild my momentum. I am currently working my way through Capital, Life and Fate, and Issue 17 of Offscreen.

Today I got distracted tweaking styling and deployment for this blog - I'll be publishing a post soon. Earlier in the week I got distracted rotating my PGP keys. I am also hoping to share more links during during the week rather than dumping it all in a single weekly post. Time will tell.


Alan Kay isn't happy. The Father of Mobile Computing is Not Impressed was more interesting that the click bait title suggested. Ironic given the article's content.

The big slogan at Apple, when I went there, I think it was "Wheels for the Mind." [...]

First thing I did [with the iPad] was to test how good the actual touch sensor was. I had to go out and get a capacitive pen, because one didn't come with the iPad. You’re supposed to use your finger on it. There were five things that you could draw with on it and only one of them was good. And with that [Autodesk] pen, I was able to draw, take a ruler and draw lines with this thing, and see how linear it came out on the display, and the thing was a lot better than it needed to be. You’re kind of drawing with a crayon, but they actually did a hell of a good job on it.

I haven't owned an iPad since the original because as a tool it isn't purposefully solving any problem I have. Rather than a criticism of the iPad, I would criticize myself for too often failing to be critical of my iPhone. It is all too easy to accept new technology, software or hardware, into our homes without understanding it's cost or value.

James Williams, ex-Google, speaking to Nautilus:

That kind of rhetoric implicitly grants the idea that it's okay for technology to be adversarial against us. The whole point of technology is to help us do what we want to do better. Why else would we have it? I think part of the open door that these industries have walked through is the fact that, when we adopt a new technology, we don't typically ask "What is it for?" If we were to ask what a smartphone is for, it would almost be a ridiculous question. It's for whatever it can do now!

If we reconceive of technology as tools that should serve us, we might begin to be able to make better decisions about the technology that we permit into our lives. If I decide my phone and computer should serve me for X and Y, perhaps I can more easily disable what I do not need.


David Foster Wallace on worship:

Here's something else that's weird but true: in the day-to-day trenches of adult life, there is actually no such thing as atheism. There is no such thing as not worshipping. Everybody worships. The only choice we get is what to worship.

17 September 2017

Week 37, 2017

We've been back in New York City for a week and are enjoying the warm breath of the end of summer. We visited Red Rooster in Harlem for a lovely dose of soul food and jazz. The live jazz has really become one of my favourite parts of living in the city. It is likely that I previously failed to capitalize on the jazz scene in Melbourne, but I don't on my return that I will reoffend.

Excitingly I've now started my new job Product Manager at GitLab! It was an interesting experience to begin by simply opening my laptop at the dining room table. Regardless it has been a great experience—GitLab have had a few years to work out how to make remote work well including the on-boarding process. On the home front, it's been fun reconfiguring the living room to create a work space that doesn't intrude on the rest of our daily lives. I am hoping to collect more of my thoughts on transitioning to a remote team as I adjust to it.


New job, new laptop. I am thankful for my new computer but accommodating the Touch Bar has been more frustrating than expected. I should have expected it would be difficult. I find I unexpectedly adjust the volume or screen brightness at times when I reach for the top row of physical keys. Most frustrating has been the escape key. Using Karabiner Elements I have now disabled the virtual escape key in favor of caps lock. I've also taken the opportunity to also relocate the ctrl key to the caps lock key for chorded shortcuts in vim and tmux. Besides the Touch Bar however, the MacBook Pro is a very impressive computer with an excellent keyboard.


New job, new projects. GitLab uses ruby and I've setup using chruby to seamlessly switch between versions. The challenge has been one of my vim plugins, Command-T, relies on the version of Ruby it was compiled against. I am hoping to find a way to always use the correct version of ruby with vim regardless of the working directory. Any suggestions would be welcome!


I am excited about the introduction of Intelligent Tracking Prevention in Safari 11 for macOS and iOs 11. The advertising technology industry is generally not. This is because the ad tech tax is primarily extracted through tracking users and selling information about their behaviour to advertisers. True to form, the CEO of the IAB, will make any argument in favour of the least regulation or consumer control of how consumer data is collected and used.

Writing of Apple's changes to Safari, Rothenberg is concerned consumers won't be able to exercise proper control:

We are deeply concerned about the Safari 11 browser update that Apple plans to release, as it overrides and replaces existing user-controlled cookie preferences with Apple’s own set of opaque and arbitrary standards for cookie handling.

Yet, Rothenberg writes regarding protections for consumers who block tracking in the upcoming ePrivacy regulations in the EU:

Buried in pages of amendments to the European Union’s latest privacy proposal, the ePrivacy Regulation, members of the European Parliament recently recommended language that would strip European publishers of the right to monetize their content through advertising, eviscerating the basic business model that has supported journalism for more than 200 years. The new directive would require publishers to grant everyone access to their digital sites, even to users who block their ads, effectively creating a shoplifting entitlement for consumers of news, social media, email services, or entertainment.

Rothenberg is an apt representative of a self interested and entitled industry. Thanks to Ad Tech Weekly for curating these prime quotes.


Rocky Mountain Institute (PDF) offers some positive projections that staying below the 2ºC limit may be more achievable than typically suggested. The report is quite interesting and includes many interesting data points regarding the adoption and cost effectiveness of PE.


Another article adding to the growing number questioning th net benefit of social media, Umair Haque asks Is social media a failure?. With every passing week I am using social media less and am feeling no less in touch with my friends or the world. It'll be interesting to see where Facebook is ten years from now.

27 August 2017

Week 34, 2017

After many wet and windy Saturdays in Melbourne yesterday was good cycling weather, and I was able to enjoy cycling with friends. I've also been trying out Zwift, a virtual cycling application that connects to smart trainers. I have found the structured training surprisingly fun and a good supplement to otherwise weekly social rides.


This weeks pseudo-science diet is 'lectin free.' The Atlantic investigates and debunks the claims made and exposes the conflicts of interest that exist when authors sell their readers their own products. Most importantly James Hamblin does this without being dismissive and argues in The Next Gluten that there is damage caused by health authors that seek to 'totally upend [our] understanding of nutrition' with 'truth that no one else in the world has.'

Book publishers are rarely held accountable for publishing invalid health information. Rather, there seems to be an incentive to publish the most outlandish claims that purport to upend everything the reader has ever heard. This is a problem much bigger than any plant protein. Cycles of fad dieting and insidious misinformation undermine both public health and understanding of how science works, giving way to a sense of chaos. It seems that every doctor has their own opinion about how to protect your body from calamity, and all are equally valid, because nothing is ever truly known.

Yet another sad example of truth and reason being undermined for individual gain.


Last week I began investigating moving my blog away from Jekyll to a more flexible framework. I have been experimenting locally with Metalsmith, 'an extremely simple, pluggable static site generator.' I've mostly replicated everything except deployment. I'll write a more thorough post when I've completed the transition.

20 August 2017

Week 33, 2017

The violent white supremacist march in Charlottesville, Virginia last weekend set the tone for an awful week in American politics.

Vice News Tonight went behind the scenes in Elle Reeve's piece Charlottesville: Race and Terror. It shows how tense and scary it was and makes it abundantly clear the violent rally was merely using the Confederate statue as an excuse to push their racist agenda.

Trump's response was awful, and ultimately got even worse on Tuesday. It was best summarized by The New York Times:

President Trump buoyed the white nationalist movement on Tuesday as no president has done in generations — equating activists protesting racism with the neo-Nazis and white supremacists who rampaged in Charlottesville, Va., over the weekend.

Never has he gone as far in defending their actions as he did during a wild, street-corner shouting match of a news conference in the gilded lobby of Trump Tower, angrily asserting that so-called alt-left activists were just as responsible for the bloody confrontation as marchers brandishing swastikas, Confederate battle flags, anti-Semitic banners and “Trump/Pence” signs.

Unfortunately and unsurprisingly few Republican's have condemned Trump's response. Democratic Reps. According to Think Progress only 28 of 292 congressional republicans have criticized Trump by name.

Jerry Nadler of New York, Bonnie Watson Coleman of New Jersey and Pramila Jayapal of Washington have introduced a censure resolution. All members of congress who abhor racism, white supremacy and neo-nazi's should put themselves on record by signing on.

Daniel Pfeiffer sums up on this week's Pod Save America:

If you are so morally outraged by the President's support of Nazis [...] do something about it. Put yourself on record that you disapprove of what Donald Trump said–not the general concept of racism, but of the racist in chief.


Meanwhile in Silicon Valley, Cloudflare terminated the account of the Daily Stormer. This continues the discussion if tech companies can truly be neutral and the role they play in protecting free speech and protecting the vulnerable from violence and hate speech. Further reading at The Atlantic (ht Azeem Azhar


I hope to spend more time relaxing, reading and cycling this week, rather than anxiously keeping up with the news cycle.