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 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 →
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 →
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 →
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 →
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 →
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 →
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 →
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 →
One of the things I loved about Facebook was its "On This Day" feature. There's something delightful about seeing what nonsense you were talking about on this day a decade ago. Twitter doesn't have anything like that. So I built it. Introducing - Twistory.ml Note: Twitter's recent changes means this no longer works. Stick your @ name in, hit the big button, and you'll get a list of everything you said on this day in previous years. The code is open on GitLab. It's not the prettiest site, …
Continue reading →
A few weeks ago, I received an unsolicited email inviting me to try out an exciting new "quantum resistant" cryptography app called Cyph. Because I hate myself, I signed up. Of particular interest to me was the fact that the homepage loudly proclaimed that it was "Open Source" - and had a public GitHub repo. That was handy, because there were some glaring usability flaws on the sign-up screen. So, being a responsible nerd, I decided to send a pull request to fix them. Aren't I nice?! The…
Continue reading →
A question to the void. Are you entitled to get the source history of open source projects? Lots of Open Source licences give the consumer of software the right to a copy of the source code. For example, GPLv3 says that distributors of software have to: give anyone who possesses the object code ... a copy of the Corresponding Source What is "Corresponding Source"? The "Corresponding Source" means all the source code needed to generate, install, and run the object code That, to me,…
Continue reading →