21 Jul 2021

Organising My Photo Backups

For the last few years, I have been taking regular backups of the various iOS devices around the house. As well as using iTunes, I have taken backups of the photos stored on the device directly. Over time, these photos backups have built up, until I took some time last week to finally organise them.

I wrote the PowerShell script below to process the backup photos by:

  • Checking if a photo with the same file hash exists; if it does, I ignore the duplicate file
  • I rename the photo to the date and time it was taken, along with the photo resolution, and then move it to the target directory

There are numerous examples of similar scripts out there, so this si nothing special. It could probably do with ebing optimised further, and I need to look into assigning a frame resolution for videos. But it took just two hours to put together, and ended up saving me 60 GB of disk space, so it was well worth while.

15 May 2021

What I'm Reading #5

The latest in an irregular series of posts on what I've been reading.


Bad Blood

by John Carreyrou

Despite knowing the Theranos story, and having read John Carreyrou's reporting on the story at the time, at the end of this book, I had to stop and ask myself "WTF did I just read?". The answer was a thrilling book detailing what must be the wildest startup scandal in Silicon Valley.


by Joanna Kavenna

I found this novel to be so disappointing. It had an interesting premise for a novel, basically updating 1984 to have Big Brother make use of Artificial Intelliegnce and other technology, and adding an element of Kafka. Unfortunately, the author has tried to be clever, and the result was more irritating than illuminating.

The Institute

by Stephen King

An excellent novel. Stephen King has been back on form for a while (check out Sleeping Beauties if you haven't already read it), and this book is proof his current run of form is continuing.


Humans Will Never Colonize Mars

by George Dvorsky

For the attention of Elon Musk and Jeff Bezos. In space, no one can hear your workers scream...

A deep dive into Saint Bot, a new downloader

After being on the wrong end of a cyber attack recently, I am fascinated by these detailed descriptions of how malware works. In particular, I love reading about how cyber criminals take the everyday tools I use in my work (.NET and PowerShell) and use them (poorly in most cases) to create new malware vectors.

Bloody Sunday and how the British empire came home

by Adam Ramsay

After the recent verdict into the Ballymurphy shootings, I re-read this article on how Bloody Sunday and Ballymurphy weren't abberations, but part of a long history of illegal killings by the British Army.

Counter-Forensics. Protecting your smartphone against the Five Eyes

The first tutorial I've came across on protecting your smart phone that goes beyond the naive 'enable the screen lock' advice. Worth a read to learn of the real threats to your smart phone's data.

No one will read your book (and other truths about publishing)

by Elle Griffin

This long read details exactly why most authors fail to make a living, despite more people reading than ever over lockdown.

The Incredible Rise of North Korea’s Hacking Army

by Ed Caesar

A long article that details the development of North Korean state sanctioned hackers.

17 Mar 2021

What I'm Reading #4

The latest in an approximately monthly series of posts on what I've been reading.



This is the first book I've read by Claire North, and I found it astonishingly good. It is a tale of a dystopian United Kingdom where a price is literally put on people's lives. I'm eagerly looking forward to reading more books by the author.

The Abstainer

This was a highly rated book from Ian McGuire, with rave reviews ('The Wire by gaslight'). The first 2 thirds of the book were enjoyable, but the ending was very anti-climatic. As a result, I found it only a so-so read - not so much watching 'The Wire' but more like suffering a rather humdrum episode of NCIS.


Exiting the Vampire Castle

Mark Fisher's classic take on the infighting and policing that takes place in left-wing social media.

Unionist Identity in Ireland

An in-depth analysis of unionist identity from Choyaa.

Demystifying SEO with experiments

An interesting article from the Pinterest Engineering team on how to experiment with search engine optimisation (SEO) at scale.

What’s the point of a lecturer?

A provoking article on the future of Higher Education and lecturing in universities from Terence Eden. I'm not personally entirely convinced that online learning is the paancea that he thinks it is - the research so far suggests that online learning results in poorer engagement with students, and worse outcomes for disadvantaged students. Blended learning, as proposed by Terence, seems to have similar outcomes to traditional lecturing, but most EdTech seems focussed on online learning only, as this appears to offer the greatest cost savings for institutions (though the evidence for this seems sketchy at best). In the aftermath of the Covid-19 lockdowns, and a year of enforced online learning, it will be interesting to see what effect it has on current students, and what their opinion of it is. I susoect it will be like my opinion of working from home - that it is highly overrated.

Electronics and the Dim Future of the University

Courtesy of John Naughton's recent column on Universities and the upheavals in Higher Education due to the pandemic, I read this prescient article (from 1995!) on the future of the University in an online world. We are certainly seeing universities being forced to consider what exactly they are for at the moment.

17 Feb 2021

Migrating from OneNote to Markdown

Over the past few weeks, I've been working on migrating my extensive collection of notes from OneNote into Markdown files. I am writing my migration process up for anyone else considering moving from OneNote to Markdown.

Why Migrate?

I recently found that I wasn't making use of my OneNote notes as much as I had previously. I realised that I hated using the OneNote client on my iPhone (5s, so a small screen), and also that my notes had grown so large (after 8 years of use) that they really needed pruning. Additionally, I didn't really like having my notes in a proprietary format that I was unable to backup and version. So I looked at the usual alternatives (Notion, SimpleNote) and also at open source alternatives (Joplin, and Laverna), but ultimately, I decided to use Markdown files in a VSCode workspace, synchronized using Dropbox.


I used this PowerShell script to export my OneNote notes into a basic Markdown file from the OneNote desktop client on Windows 10. It took approximately 4 hours to export all my notes (some 2640 files), across vraious OneNote notebooks.

I then wrote a second PowerShell script to format the exported Markdown files. This second script:

  • Removed any non-ASCII characters from the exported files
  • Set the page title as a level 1 header
  • Remove any empty comments from the exported files
  • Correct the list indentation for the rules used by the MarkdownLint extension in VSCode
  • Remove blank lines
  • Update source path for images (also exported out by the initial script)


As noted already, I'm using VSCode to edit my new Markdown files on my desktop. I created a new workspace for my notes that I have colour coded using the Peacock extension for VSCode. I have my notes organised in a Dropbox directory, and this is automatically backed up daily to a Git repository.

I can then access my notes on my mobile via the Dropbox app. I tried initially to use the built-in Dropbox text editor, but found this a bit limited. I eventually settled on using the 1Writer app to create and edit notes on my mobile, and I've been impressed by how intuitive it is to use.

I have been using my current setup for a few weeks now. The main pain has actually been curating the exported notes, and archiving those no longer required. I have came across a few more structured ways of using Markdown files (Foam, Obsidian), and may end up using one in the future, but for now I'm happy with my current setup.

3 Feb 2021

What I'm Reading #3


Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing

I'm only halfway through this book, which gives a detailed history of the development of the UK computing industry since the first computer, Colossus. (To any American readers, let me save you some time: ENIAC was NOT the first programmable electronic computer. Get over it.)

In particular, it focuses on the social history of the computer, and how the first computer operators were all female, and how the gender of the workforce changed as computers became more important in business and government. An in-depth and fascinating read.

Star Wars: From a Certain Point of View

I'm not a huge Star Wars fan, but my son is currently obessed by the Lego Star Wars cartoons, so I picked up this anthology of short stories based on the initial film over Christmas. It was very a different read to what I had enviaged. It consists of 40 short stories (one for each year since the release of Star Wars in 1977), each story giving the viewpoint of a minor character in the original film: one of the scrap droids in the Jawa transporter, Wuher (the barkeep in the Mos Eisley catina), the Dianiga in the Death Star's trash compactor, one of the rebel X-wing mechanics. In each story, you get to see how they become, in some small way, part of the larger saga. Some were strangely moving, like the one discussing Obi-Wan Kenobi's desert vigil - I had never thought of it as a test of his religious faith before. Recommended, even (or perhaps especially) for those who didn't enjoy the film.


Have we reached ‘peak international students’ in the UK?

This article asks a question that I had also recently started asking myself - have we reached peak international student numbers? Given the recent shameful reporting that some international students have been forced to use food banks, I suspect that we have.

How Cyberpunk 2077 Sold a Promise—and Rigged the System

I'm not a gamer, but one of my brothers is. He gave me the heads up about this story, which shows how the company behind Cyberpunk, CD Projekt Red, managed to manipulate the reviews of the game and led to the choru sof disapproval from gamers on actually playing the title.

David Squires on ... Marcus Rashford v the Tory government

A classic...

Built To Last

An interesting read on the attempts of some US states to blame the COBOL programming language (and the lack of COBOL programmers) for unemployment systems not being able to cope with the increase of unemployment claims due to the pandemic. And how it relates to the wider issue of a lack of investment in critical infrastructure.

3 Jan 2021

Thank Christ That Is Over... But Is It?

I think we can safely say that 2020 has been a tough year for nearly everyone. But it is important to pause and take stock of what happened over the year, and consider both the good and the bad:

No, 2020 really was crap. But our family did have some good news. We were able to improve our financial situation a lot, and that has really helped our mood in the current circumstances. Our son, Matthew, started nursery and really loves it. And after 5 years working at Queen's University, I was able to start working from home, which meant I got to spend a lot more time with my family.

In terms of bad news, we had a few Covid scares. Our son, Matthew, has had to be tested for Covid twice (simple colds needed to be tested before he could go back to nursery), and just before Christmas, his nursery had a confirmed case. With the current large number of cases in Belfast, we won't be sending him back on Monday, and it appears most other parents will also be keeping their children home. We have been bored stupid under lockdown, like everyone else.

Back in January, my wife, Mei, and Matthew, travelled to China to spend time with my wife's family for the Chinese New Year. China locked down on 24th January to combat the Covid-10 pandemic, and my family were unable to travel back until mid-Febrary. I was very stressed about this, and immensely relieved that they were able to get back to Northern Ireland. They then had to self-isolate for 2 weeks. At the end of March, I started working from home, and I have continued to do so ever since.

In May, I started a new job in a different department in QUB. It was advertised as a DevOps role, but in reality, it is an infrastructure/operations role, with little development work. Whilst I have learnt a lot over the past 6 months, especially about Linux and Docker solutions, this isn't where I want to be, and I'll hopefully make a move back into software development soon.

Some of the highlights of the part year have simply been able to meet up and spend time with friends and family whenever the various lockdowns have eased. I have also come to appreciate the benefits of working in an office, and being able to step away from work - something I struggled with when my work was always waiting for me in the bedroom. I also really missed the social interactions with colleagues, which Zoom or Teams just can't replicate. A lot of people have been talking about the office being eliminated following Covid; I think they are over-estimating the benefits of working from home.

In terms of personal projects, I've spent a lot of time on DIY around the home. I cut down on my coding outside of work - one of the side effects of working from home was that I didn't want to code on personal projects in the same environment that I work in.

Anyway, while 2020 has been a tough year for everyone, I suspect that this year, 2021, will be even tougher. Most of us won't be vaccinated against Covid-19 until the end of the year, and I suspect we'll see the economic impact from April onwards, when the furlough scheme ends. Keep yourself and your families safe.

19 Jun 2020

What I'm Reading #2


Wolf Hall

Still re-reading...


The mental health crisis looming in ICU

As the UK and Ireland move to relaxing the Coronavirus lockdown (if it can still be said to exist - it certainly doesn't seem to apply anymore in Belfast), Fergus Walsh points out the cost to NHS ICU staff in terms of ther mental health.

As one of Oxford's few black professors, let me tell you why I care about Rhodes

Given the news that the Cecil Rhodes statue may be removed from Oriel College, Simukai Chigudu details why the status is seen as offensive.

The RuboCop Name Drama Redux

The renewed focus on the Rhodes and other statues came about in the aftermath of the George Floyd protests. Similarly, there has been a look at the use of possibly offensive terminology in open source projects. This post details one attempt to rename the RuboCop project that went badly wrong. See also Tim Riley's write-up of this incident.

How I Became a Better Programmer

James Long details how he become a better programmer. His key points are to experiment with different languages, and to learn from others.

Robot Pedantry, Human Empathy

Mike McQuaid, who leads the Homebrew open source project, details how they automated as much of the contribution pipeline as possible, to allow team members to focus on interacting with humans rather than code.