Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

Applications and Spelling of Boole

While Alan Turing is regarded by many as the grandfather of Artificial Intelligence, George Boole should be entitled to some claim to that epithet too. His Investigation of the Laws of Thought is nothing other than a systematisation of “those … Continue reading

Posted in whatevs | Tagged | Leave a comment

Digital Declutter

I’ve been reading and listening to various books about the attention/surveillance economy, the rise of fascism in the Anglosphere and beyond, and have decided to disconnect from the daily outrage and the impotent swiping of “social” “content”. The most immediately … Continue reading

Posted in advancement of the self, meta-waffle | Leave a comment

What’s on the other channel?

I run a company, a mission-driven software consultancy that aims to make it easier and faster to make high-quality software that preserves privacy and freedom. On the homepage you’ll find Research Watch, where I talk about research papers I read. … Continue reading

Posted in books, meta-waffle | Leave a comment

Half a bee

When you’re writing Python tutorials, you have to use Monty Python references. It’s the law. On the 40th anniversary of the release of Monty Python’s Life of Brian, I wanted to share this example that I made for collections.defaultdict that … Continue reading

Posted in Python | Leave a comment

New Swift hardware

The Swift Tower is an artificial nesting structure, installed in Oxford University parks. That or a very blatant sponsorship deal.

Posted in Swift | Leave a comment

King Arthur: By what name are you known?

Why is it we’re not allowed to call the Apple guy “Tim Apple” when everybody calls the O’Reilly guy “Tim O’Reilly”?

Posted in whatevs | Leave a comment

Pythonicity

The same community that says: There should be one– and preferably only one –obvious way to do it. Also says: So essentially when someone says something is unpythonic, they are saying that the code could be re-written in a way … Continue reading

Posted in Python | Leave a comment

Runtime verification in Erlang by using contracts

About this paper Runtime verification in Erlang by using contracts, L.-A. Fredlund et al, presented at WFLP 2018. Notes Spoiler alert, but the conclusion to my book OOP the Easy Way is that we should have independently-running objects, like we … Continue reading

Posted in academia, OOP | Tagged | Leave a comment

There’s more to it

We saw in Apple’s latest media event a lot of focus on privacy. They run machine learning inferences locally so they can avoid uploading photos to the cloud (though Photo Stream means they’ll get there sooner or later anyway). My … Continue reading

Posted in AAPL, Privacy | Leave a comment

Hyperloops for our minds

We were promised a bicycle for our minds. What we got was more like a highly-efficient, privately run mass transit tunnel. It takes us where it’s going, assuming we pay the owner. Want to go somewhere else? Tough. Can’t afford … Continue reading

Posted in whatevs | Tagged | Leave a comment