How intelligent is artificial intelligence?

Ayoub Bessasso wrote “Perhaps we should start with asking ourselves, has AI lived up to our expectations? From the general public’s point of view, the answer would be a resounding ‘no’. This is not new; frustrations with AI, and its apparent lack of ability to ‘just do what it’s supposed to do’, go as far back as its inception. The general perception of AI, and it what regard it is held by the general public, and researchers and developers alike, has always fluctuated. The answer to the question posed earlier would probably be quite different if we had a better understanding of what artificial intelligence is, and subsequently more realistic expectations of its capabilities.”

Tailgate: calendar data for books

Tom Parker-Shemilt wrote “I’ve had an idea for a while, but like many good ideas it has the problem “but where do we get the data from?”. The idea in a nutshell: Songkick, but for authors. Songkick, for those who don’t use it, is a service that lets you track bands and get told when they announce new…”

By Ron Armstrong from Helena, MT, USA (HMKC Spring 2007 Agility Trial) [CC BY 2.0 (], via Wikimedia Commons

Adding flexibility to build processes

Ceri Storey wrote “Or “Knowing where to break the (build) chains” One of the ways we can im­prove a build, re­lease and de­ploy pro­cess is chan­ging where in the chain we make use of de­pend­en­cies.”

By Vinnie kaz (Own work) [CC BY-SA 3.0 (], via Wikimedia Commons

Die-hard Statefully

Ceri Storey wrote “After reading Solving the Water Jug Problem from Die Hard 3 with TLA+ and Hy­po­thesis, I figured it’d be amusing to re­pro­duce it in Rust as diehard-rs, along with its quickcheck lib­rary.”

By Nati cz (Own work) [Public domain], via Wikimedia Commons

How to actually secure IoT devices

Tom Parker-Shemilt wrote “Every day it feels like there’s some new Internet of Things (IoT) story, telling us how these new devices in our homes and offices are causing more and more havoc. On the other hand, we really like the new and shiny things doing funky things for us, and that doesn’t look like it’s slowing down…”

Extending Splitwise’s currency conversion

Tom Parker-Shemilt wrote “I’m rather fond of Splitwise, which is an app/website for recording money owed between multiple people. Myself and my partner use it a lot for various expenses, and it’s really useful when you’ve got many different payments, and you need to keep track over time. We’ve got one repeated payment however that’s been in US…”

Argot: a lightweight composable test framework for Go

Matthew Sackman wrote “In a current project we’re writing a number of fairly small REST HTTP servers. There are probably going to be around 10 of these in total so I guess that makes these ‘deci-services’. As part of the testing approach, we wanted to be able to write some end-to-end tests and soak tests, and so went…”

Carpe Diem Word Scrabble

Programming a word at a time

Irene Papakonstantinou wrote “There is an improv game called one-word-at-a-time. It goes like this: two (or more) people collaboratively compose a story, each adding just one word at a time. It sounds easy, but actually humans can be pretty bad at this game! Some of the rules of improv are “be obvious” and “accept offers”. In the context…”


Photo library wrangling

James Uther wrote “Imagine if you will that I take quite a few photos, but don’t manage them well. Mistakes may have been made. Like, I’ve discovered that when you ask apple photos “don’t import duplicates” it’s not completely foolproof. And if, in a fit of stupidity, you tried to recombine a google photos’ (re-compressed) library with your…”


Generating Beatnik code

Tom Parker-Shemilt wrote “Beatnik is an esoteric programming language that’s been recently amusing me (as they occasionally do). The core idea is that words in the source code are interpreted as their Scrabble scores, and those scores then do things (mostly involving messing with a stack). This leads then to the possibility of an alternate form of the language,…”

By Mikell Johnson (Own work) [CC BY-SA 3.0 (], via Wikimedia Commons

A taste of CloudFormation

Ceri Storey wrote “So, we’ve recently had cause to move one of our internal applications to the cloud; which has largely been an excuse for me to get some experience in some relatively modern operations technologies. Amazon’s CloudFormation is designed so that you can declaratively specify the infrastructure resources (eg: virtual machines, load balancers, container configuration, &c) that…”

Theatrum Orbis Terrarum, from Wikipedia

Given When Then

Ian Rogers wrote “There are, of course, a large number of techniques described as being The Way To Do Software Engineering. I’m sure I’ve not come across them all but the ones I know about and use currently include at least: Impact mapping, Pert charts, Gantt charts, Personas, Wardley mapping, Agile, DSDM, MoSCoW, SMART, INVEST and BDD (I’ve…”

Companionate: sharing logins with QR codes

Tom Parker-Shemilt wrote “I’ve run into a problem a few times recently, which is that having done all the right things with passwords i.e. using a password manager and having them be unique strings of basically random garbage, I now need to enter them in somewhere I haven’t got my password manager running on. I’m typically sitting in…”

Sturmfront auf Doppler-Radar-Schirm, public domain, von

Adventures in TCP latency measurement

Ceri Storey wrote “Re­cently, Google have pub­lished an art­icle on BRR, an al­gorithm that ex­pli­citly meas­ures the round-trip latency and band­width ca­pa­city of the link between two ma­chines (be it in a data­center, or a mo­bile phone) to avoid sending more traffic than is use­ful, causing queues to build up in the net­work that need­lessly in­crease latency. So…”

Cross-grading for fun and profit

Tom Parker-Shemilt wrote “First thing you’re probably wondering: What’s cross-grading? Well, it’s a bit like upgrading, except more sidewise than definitely upwards. It involves the changing of the architecture of a system, most typically from 32-bit to 64-bit, and most typically from x86 to x86-64 (although similar options are apparently doable for other architecture families, including ARM, MIPS and…”

Electric railway journal (1914) By Internet Archive Book Images [No restrictions], via Wikimedia Commons

Testing with Traces?

Matthew Sackman wrote “Most APIs and type signatures are hopelessly inadequate for capturing and describing a model. For example, consider a map and the signatures for put and get. Even if you have pure functional type signatures, the signatures on their own convey no information about what they do with a key and value during put. For this…”