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 […]

Continue reading →

You can't screenshot or right click this image

A badly drawn cartoon of a monkey in a t-shirt.

People contact me with all sorts of weird opportunities. Some are fun. Some are not. I've lost count of the number of NFT grifters who've asked me to "revolutionise" the art space. I'm generally not a fan. But I had one chat with someone who wanted to do something intriguing. They were worried about people […]

Continue reading →

Book Review: The Programmer's Brain - What every programmer needs to know about cognition by Felienne Hermans

Book cover for the Programmer's Brain.

There are some books which make you feel smarter just by having them on your shelf. This is one of them! I would consider it essential for anyone working with code - whether a wide-eyed newbie or grizzled veteran. How do human brains understand code? What neurological quirks do we all have? Which common mistakes […]

Continue reading →

Smart Quotes and Coding Examples

Screenshot of a command line which has curly quotes.

Every so often, I copy and paste some code from a website and it utterly fails. This is probably a good reminder not to practise ✂️ & 📋 development, but it is also a reminder that "smart" formatting often trips up new students. Here are a few examples I've seen recently - produced as a […]

Continue reading →

How not to do coding examples

A pet cat typing on a computer keyboard.

As part of my MSc, I'm getting a few lessons in technologies I'm not familiar with. I've found some of these lessons extremely confusing - even when I'm proficient in the language. Here's an example of a coding fragment from one of the tutorials in the R language. Let me explain everything that I think […]

Continue reading →

Please Stop Inventing New Software Licences

Binary code displayed on a screen.

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. […]

Continue reading →

Do any Open Source Licences require source history?

Binary code displayed on a screen.

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 […]

Continue reading →

Relaunching @edent_solar. Part 3 - API & Code

Solar Graph.

I'm hooking my solar panels up to Twitter! Installation Inverter Fronius provide a comprehensive API guide - I wish more companies did this. There are lots of unofficial libraries in a variety of different languages. I've written this code in Python3. This is a general tidy-up of the code I wrote several years ago. Here's […]

Continue reading →

Add review to Goodreads from Schema markup

The Goodreads Logo.

I write book reviews on my blog. I also want to syndicate them to Goodreads. Sadly, Goodreads doesn't natively read the markup I so carefully craft. So here's the scrap of code I use to syndicate my reviews. Goodreads API Keys Get your Keys from You will also need to get OAuth tokens […]

Continue reading →

Redirect GitHub ID to Username

A screen of JSON code showing my details.

Scratching my own itch here... GitHub users have a username (mine is @edent) and have a user ID number (mine is #837136). If you want to redirect a user ID to a username, you can use the little service I've cobbled together: That will take your browser to my GitHub page, using nothing but […]

Continue reading →