So, farewell then COVID-19 App


Pop up notification saying the NHS covid app is shutting down.

Today is a day of mixed emotions for me. The UK's COVID tracing app is finally closing. The app was, by any reasonable measure, a success. A team of experts at the Pandemic Sciences Institute at the University of Oxford and Department of Statistics at the University of Warwick estimate the NHS COVID-19 app prevented around 1 million cases, 44,000 hospitalisations and 9,600 deaths during its first year. Source Earlier this year, I recorded a short video about what it was like working…

Continue reading →

Are there any modern closed-source programming languages?


Four generated images of William Shakespeare programming a computer.

At a recent OpenUK meetup, one of the participants declared that Open Source had comprehensively won. While businesses might not always release their proprietary source code, 100% of everything they wrote used an open source programming language. I wondered how true that was. You can, perhaps, moan about the shenanigans around Java's licencing and you mutter about whether it is easy to get involved with C++'s JTC1/SC22/WG21 - but the core tech behind the two is open. Anyone can read the…

Continue reading →

Interview: Open source is good for AI but, is AI good for open source?


A confused little cardboard robot is lost amongst the daisies

I was recently interviewed in the BCS Magazine discussing the intersection of AI and Open Source. We're at a weird time with AI and Intellectual Property. Well, IP has been in a weird place since Napster launched at the turn of the century! None of the issues around sharing, remixing, and controlling have been properly resolved. Copyleft is a noble goal - but seems more honour'd in the breach than the observance. So we now have shady AI companies copying our code, our art, and our words -…

Continue reading →

Happy 2nd Birthday to this Bitwarden bug!


Screenshot of the Bitwarden Android interface. Emoji are showing as question marks.

Exactly two years ago to the day, I reported a weird little emoji bug with Bitwarden. Let's say you want a password of: ✅🐎🔋📎 (As close as possible to Correct Horse Battery Staple) That works. Emoji are stored and retrieved correctly. You can use them with any system which supports them. But you can't view them. Here's what it looks like if you try to see your password using the Bitwarden Android app: Yup - a bunch of emoji are replaced with ����. Ew. Now, in fairness, this bug was quick…

Continue reading →

I'm the new Chair of the BCS Open Source Specialist Group


A t-shirt with the slogan "Make things open it makes things better."

I'm chuffed to bits to announce that I was recently elected to chair the BCS's Open Source community group! The British Computer Society is an august body, and the OSSG have put on some brilliant talks in the last few years. But I'd like to shake things up a little. I want us to move away from doing talks to a small group of London-centric folk. I want us to spread the message of open source out beyond people who are already interested. I also want us to put our money where our mouth is…

Continue reading →

How to search Mastodon by date & time


The Mastodon logo. It sort of looks like a smiling elephant.

Two years ago to the day, I built Twistory - a service for seeing what you posted on Twitter on this day in previous years. If you've ever used Facebook, you'll know how it is supposed to work. You see posts which show that exactly 5 years ago you were starting a new job, 6 years ago you were at a wedding, etc. The Twitter version never really worked properly because the Twitter API doesn't support searching for historic Tweets. What I had to do was manually build search queries like:…

Continue reading →

An update to the Atkinson Hyperlegible font


The font is displayed with a high level of blur to simulate low vision. The letters and numbers are still recognisable.

I'm a huge fan of the US Braille Institute's Atkinson Hyperlegible font. This blog is typeset in it, and I think it looks gorgeous. It's also specifically designed to be readable to people with visual impairments: Atkinson Hyperlegible differentiates common misinterpreted letters and numbers using various design techniques: There's only one problem, the font was released a few years ago and hasn't been updated since. It covers most of the basic European letters, numbers, accents, and…

Continue reading →

Book Review - Working in Public: The Making and Maintenance of Open Source Software by Nadia Eghbal


Book cover.

Over the last 20 years, open source software has undergone a significant shift—from providing an optimistic model for public collaboration to undergoing constant maintenance by the often unseen solo operators who write and publish the code that millions of users rely on every day. In Working in Public, Nadia Eghbal takes an inside look at modern open source software development, its evolution over the last two decades, and its ramifications for an internet reorienting itself around i…

Continue reading →

Free Software as in Free House


Binary code displayed on a screen.

Much like a Tesla, all analogies break down eventually. As many many many people have said - free software is free, in much the same way as a free puppy is free. I prefer to think of it as being free just like being given a free house is free. Imagine that! Being given a free house would solve so many immediate problems. You'd have shelter, warmth, an administrative address, and a stake in the local community. All for free! Brilliant! Of course, your furniture isn't going to quite fit. So…

Continue reading →

What do you call open source software that just works?


Binary code displayed on a screen.

The fashion industry has the concept of "prêt-à-porter" - ready to wear. You pick a thing off the rack and off you go. No tailoring needed. Similarly, the food industry has "prêt-à-manger" - ready to eat. No telling l'artiste du pain how much mayo you want, just grab a boxed sandwich and start munching. What's the equivalent for Open Source Software? (I know it is facile to say "There are two types of X in the world..." but I'm going to do so anyway.) There are two types of Open Source Sof…

Continue reading →

Creating a public, read-only calendar


A bright and easy to use weekly view of my diary.

Last year, I blogged about why I make my work calendar public. It is useful to have a public website where people can see if I'm free or busy. But the version I created relied on Google Calendar which, sadly, isn't that great. It doesn't look wonderful, especially on small screens, and is limited to only one calendar feed. So I used the mighty power of Open Source to build my own! https://edent.tel/calendar It uses two cool components. First, the DHTMLX Scheduler tool - a GPL-licensed…

Continue reading →

Sometimes a bad patch is better than no patch


A screenshot showing the difference between two text files.

Cunningham's Law states "the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer." Edent's 7th Law (My blog; my rules!) states "the best way to get an open source project to fix an issue is to send a slightly wrong Pull Request." Let me explain... Two years ago, I noticed an annoying bug in the markdown parser of WordPress's JetPack plugin. I did what every good open sorcerer is supposed to do - I wrote out a comprehensive bug report,…

Continue reading →