GitHub's Copilot lies about its own documentation. So why would I trust it with my code?


Me asking Copilot how I switch it off. Copilot responds with a link.

In the early part of the 20th Century, there was a fad for "Radium". The magical, radioactive substance that glowed in the dark. The market had decided that Radium was The Next Big Thing and tried to shove it into every product. There were radioactive toys, radioactive medicines, radioactive chocolate bars, and a hundred other products. The results weren't pretty. In the early part of the 21st Century, there was a fad for "AI". The magical, Artificial Intelligence which provided all the…

Continue reading →

Corporate Blogging is Hard; Open a GitHub Issue Instead


The Prisoner from the 1960s TV show giving the "be seeing you" sign.

(Inspired by this conversation between Jukesie and Himal) Lots of companies encourage their staff to blog. It's free PR! It makes them look like they're on the cutting edge of technology! It helps with recruitment! It can also be a corporate nightmare. What if the developer says something stupid? What if it accidentally reveals something top secret? What if the CEO doesn't like it? And so, gradually, any free-wheelin' developer blog gradually succumbs to the tender mercies of the comms team. …

Continue reading →

The Pull Request Hack is Fucking Magic


Rows of icons - each one has the size printed next to it.

I don't have time to keep up with all the daft Open Source projects I release. I wish my skill and my energy was as wide as my ambition. Several years ago, I came across Felix Geisendörfer's Pull Request Hack. The premise is simple - if people are making decent Pull Requests to your project then you should give them commit access. It sounds mad, I know. But it has worked really well in my case. I launched Super Tiny Icons six years ago. It was surprisingly popular and lots of people seemed …

Continue reading →

Check if your code is cited in academic works


List of citations, including one of mine.

I am a vain man. For a few years, I've been tracking academic papers which cite my blog posts. Recently, someone let me know that they'd found one of GitHub repos in a paper they'd read. It hadn't even occurred to me to search for those! So, shove your GitHub URl into Google Scholar - https://scholar.google.com/scholar?q=github.com/edent - and you'll see if any repos have made it into academia. Have you spotted any of your code in interesting places? Let me know in the comments ☺ Leigh D…

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 →

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 →

There's nothing I hate more than text config files


A GUI for creating webhooks.

I'm going to revisit an argument I had in… Ooooh… 2001ish? I wanted to make some edits to my university's fledging student union website. In order to do this, I needed to learn the arcane art of SSH. This was one of my first introductions to text based config files. I was horrified! A single typo, or a stray comma could break everything. The instructions our WebMaster provided were laughably unclear. Manually creating a config file - and getting it right - was a chore. So I downloaded PuTTY and…

Continue reading →

Feature Request for GitHub - commit *as* an organisation


Binary code displayed on a screen.

There was a "situation" at work. We were publishing a high-profile project (take a wild guess) on GitHub. We had received abuse and were worried that someone might target the programmers who worked on the project. Obviously, we take cyber-security seriously, but how do we deal with personal-security? Here are the options we considered: Get everyone to sign up for a secondary GitHub account to use for this project. Redact the history so no-one could see personal information. Use the same…

Continue reading →

OpenBenches is a recipient of a Microgrant!


The Open Benches logo.

We're delighted to announce that our OpenBenches.org project has been awarded a $250 microgrant from Icculus! Ryan C. Gordon@icculusGoogle gave me an award for my contributions to Linux gaming and open source, and while I’m honored to be acknowledged, I can’t accept money from a company that is actively engaging in union busting.❤️ 3,186💬 0♻️ 54202:20 - Wed 25 December 2019Ryan C. Gordon@icculusReplying to @icculusWhen I agreed to the award, I hadn’t heard about @eiais’s firing, or any of the o…

Continue reading →

HOWTO: Add sponsorship to a GitHub project


Sponsorship options for OpenBenches.

I've just seen that I can now add sponsorship to my GitHub projects. Here's a quick guide to how it works: Repo settings There's now a new option in your repository settings. Tick the box and click the button. Easy! WTF is YAML? This is a bit of a weird one. To set up sponsorship, you have to hand-edit a YAML text file. I would have expected this to be a easy to use GUI. Or something to OAuth with payment providers. Oh well, it does the job. You can add up to four GitHub contributors. …

Continue reading →

Harvesting phone numbers and email addresses from GitHub


A user's email signature - the phone number has been blurred out.

Code-sharing site GitHub automatically sends email notifications to users. If you've commented on an issue, you'll get an email each time there's an update. That's pretty handy. It also allows users to reply by email. The reply is then automatically posted in the issue thread. Also handy. But a little dangerous. Lots of people have email signatures which contain personal details. When these people reply to a GitHub notification they may unwillingly share their contact details in public. …

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: https://edent.github.io/github_id/#837136 That will take your browser to my GitHub page, using nothing but my ID. Why? Some login services only give you the GitHub user's ID. GitHub users can change their username - but their ID stays the same. How? Inspired by…

Continue reading →