Over the last couple of months I've been working on a new version of PageTurn . It adds a tonne of features: eBook and webpage support, allowing you to scroll those hands-free, just like PDFs set lists and bookmarks, which means you can create collections of PDFs that will automatically transition between one another just as if they were single documents a completely rewritten annotations system…
This year especially, I’ve found myself committing a sin I so often warn against. Namely, using social media as a repository for one’s work, instead of a place you own. In an effort to undo that a little, here’s are some of the things I made and did in 2025. Some already have articles on this site, but many were only mentioned in places like Mastodon (and, shudder, Instagram). In no particular…
Turn pages, a bit at a time. It's alive! I've finally found some time to release a small update to PageTurn. Version 2.2 adds a feature that's been requested lots: you can now scroll documents a little at a time, rather than strictly one page at a time. It's really useful for smaller screens, or if you want your documents to appear bigger by filling the entire width of the screen. This release…
Exactly one year ago, I got solar panels installed on my house. I live at a fairly high latitude (55ºN), in a place that isn’t exactly famous for its sunny weather, so naturally I was pretty curious to see if they’d generate enough to be worthwhile. This seems like a good point to check in on that. The short answer is: yes, they do! The long answer is yes, but with more numbers. Some stats: I have…
A couple of years ago I wrote this post, wherein I detail how I built a working version of the tape dispenser from Father Ted ( the one that says you have used two inches of sticky tape, god bless you ). While it worked surprisingly well, that version had a number of flaws. It used unnecessarily overpowered hardware, was fragile, and didn’t sound very good. Since making that one, I’d toyed with…
PageTurn 2.0 was released a few weeks ago, but of course by the time I got around to writing about it I've actually released version 2.1. So, I'll talk about both here. As you can probably tell from the above screenshots, the banner feature of 2.0 is annotations. You can now add notes to your PDFs using an Apple Pencil, and the same suite of tools available in Apple Notes. It's something I've…
BuildWatcher is a very simple, scriptable, status-monitoring tool. Its window shows its current status, and the time it was set. It floats on top of all other windows, and persists across all desktop Spaces. It was borne of my tendency to get distracted while waiting for long Xcode builds to finish. Sounds effects and notifications just aren't intrusive enough, so this is kind of a deliberately…
I've added some long-needed features to PageTurn in this update. Some are things that I wanted myself, and others have been requested by users. New stuff includes: Two-up mode, where you can view two pages side-by-side. This works great on the 12.9-inch iPad. A much-improved menu, and the ability to access all menu options in full-screen mode. Localization; the app now has full Spanish and German…
It’s that time again; there are new AirPods and I’ve been measuring their latency. If you’ve read my previous articles on the topic , you’ll know the gist. I’ve kept mostly the same testing methodology as before; I connect AirPods to an iPad Pro, and tap the screen with an Apple Pencil. I use an audio recorder to capture the sound of the physical taps, and the resulting audio, then measure the…
About eight years ago I had a notion that I wanted to build a real, working version of the sellotape dispenser from Father Ted. You know, the one that Dougal buys in Flight Into Terror that goes "You have used one inch of sticky tape. God bless you." I bought a sellotape dispenser for the project, and quickly ground to a halt because: I didn't know anything about programming, and; I didn't know…
I've just released a new version of my app PageTurn. It's been rewritten from the ground up to be faster, easier to use, and most significantly to work on devices without Face ID - meaning it'll finally work on non-Pro iPads, and M1 Macs. It also has a simpler, better layout, as well as much-improved onboarding and help. It's now free to download, with an in-app purchase to unlock all the…
My new SwiftUI app, Acacia Some context I’ve just released Acacia , my first SwiftUI app. It’s a practice tracker aimed at musicians, for iOS, iPadOS and macOS. More info on it here and you can grab it on the App Store now. This post covers some of my ups and downs while learning SwiftUI. TL;DR : SwiftUI is an intoxicatingly-pleasing and fast way to create apps. Polishing these apps is hard, and…
I've been building an app using both SwiftUI and Core Data for the first time. It's been a journey. Among a lot of weird gotchas, bugs, and new paradigms, I've just pinned down a bug that's been causing me a tonne of grief. I'll try and explain the setup as concisely as possible: A sheet is presented which takes some user input, and which has a Core Data object (let's call it ParentObject) passed…
When starting out with a new hobby, I like coming to milestones and looking back on my progress. Often these are just arbitrary dates, like one year in , but in this case a worn-out pair of runners seems like as good a time as any. I went for my first run on 27 April 2020. It was near the start (or as I had thought at the time, the end) of Lockdown, and came at a point where I was probably the…
As per its introductory paragraph , I often find myself wondering when watching movies, particularly old ones, how many of these people are still alive? So of course, a bit of code and some profuse use of The Movie Database 's API later, DMDB was born. It pretty much does what it says on the tin: you can search for movies and it'll tell you what percentage of their cast is alive or dead. I've also…
Update 3: More tweaks Since the age ranges for which vaccinations are approved in Ireland continues to drop, I've decided to switch the bot to use the whole population again (4,977,400 according to the CSO ). Additionally, with the more infectious Delta variant, it seems like people aged under 16 are probably more of a factor in spread now, so it seems wise to move towards considering the full…
I don't tweet often (I think about 5,000 times in the past 12 years), but I was very much a Twitter completionist. I curate the list of people I follow fairly tightly, and barring a few muted people, read every single tweet. Tweetbot was really handy for this, for keeping my position in the timeline and syncing it across my devices. After about a decade of this, I found myself checking Twitter…
I started running in April, during ( the first ) lockdown. I used to love going for long walks, but wanted to up my fitness and running seemed like a good option. One thing that bothered me about walking is that I'd often end up checking my phone, replying to messages, or even idly checking Twitter while I walked; walking in itself didn't necessarily require all of my attention. After a few months…
The fifth service of the Divine Office, usually performed at noon. The service consists of several responsories and psalms which are sung. According to OnMusic Dictionary . Why, what did you think it meant?
I've gotten hooked on a fantastic YouTube channel and podcast recently, called Fall of Civilizations . It produces multi-hour-long documentaries about great ancient cities and cultures, and their decline. The one on The Sumerians is a great starting point. The rise and fall of civilizations is such a fascinating topic, and taps into what feels like such a root theme for humanity. Everything we…
Taylor Swift's new album is excellent. I've listened through quite a few times at this point, and it's good from front to back. The last track, Hoax, is my favourite I think.
There's a complete fiasco currently underway regarding A-level results in the UK . In short, given the inability to run conventional exams, teachers were charged with predicting students' grades based on their academic performance to date, and subsequently an algorithm was applied to massage these predictions into some semblance of a normal statistical distribution. There's an endless rabbit hole…
A dedicated camera button on, say, the next iPhone, would be amazing. Not just one to that opens the camera app or works as the shutter when it's open, I'm thinking one where you could single press to take a photo , and hold to start taking a video , whatever state the phone is in. The ubiquity of camera phones has been a revolution in recent times for covering police brutality, civil rights…
Since my early teens I've had a pretty thought-out idea of what deserves a spot in my pockets each day. The earliest distinct set of contents I remember, coinciding with my beginning secondary school and generally needing to have money on me, was simple: Right pocket : phone. Left pocket : keys and wallet. The first major disruptor of this was the iPod. It was a must-carry device and, if you can…
Tonight I saw Star Wars: Episode V – The Empire Strikes Back in a cinema for the first time. There's a rash of older films being shown at the moment, presumably due to the lack of new releases during the pandemic. When booking the tickets, I thought about what version of the film would be shown; more specifically, I wondered just how specialised it was going to be. It's been a long while since I…
I'd on occasion wondered why the German plan to invade Russia during the Second World War was codenamed Operation Barbarossa . It doesn't feel like a very Germanic name, and my basic knowledge of Romance languages had me thinking it must mean something along the lines of Operation Redbeard . As such I'd thought it might be some kind of reference to the Red Army, but the actual answer is more…
A couple of lines from Pink Floyd's Shine On You Crazy Diamond have been in my head for the past few days, due in equal parts to their subject matter and their harmonic content. Remember when you were young, you shone like the sun ... Now there's a look in your eyes, like black holes in the sky The chord sequence here is deceptively simple: G minor – G-flat minor – B-flat major It's a reasonably…
These are a few piano improvisations I did earlier today. They have a kind-of impressionistic feeling, if I had to put an adjective on them. My main focus was on their harmonic content. I wasn't conscious of a particular tonal centre while playing, but their endings make it clear (to me at least) that there was indeed an established tonal centre. Improvisation 1 direct link Improvisation 2 direct…
I recently saw this picture of the cast of Cheers from 1982, and was shocked at the age of some of the cast. John Ratzenberger, who plays Cliff, is only thirty-five ; I would have easily put him at fifty, and even that guess is capped by my knowing he isn't currently in his nineties. And while the other young members of the cast aren't quite as far out of whack from my guesses, they still look…
Denial: if I don't answer their email for a while that'll give me more time. Anger: how could I have done so fucking little since the last meeting? Bargaining: if I pull a few late nights I might get something passable done. Depression: I'm fucked. Acceptance: ugh, I'll just be honest and work harder for next time. Written, of course, when I should have been preparing for a meeting with my PhD…
This composition has come to mind a lot during the past few months. It's among the most perfectly stunning pieces, both for its musical content and for the context in which it came to exist. Meaning Quartet for the end of time , it was composed by Messiaen during his time as a prisoner-of-war in Stalag VIII-A. Premiered in the camp in 1941, and owing its then-unusual instrumentation to the…
A few years ago I wrote an article discussing the issues surrounding Bluetooth audio latency, and I feel like now is a good time to re-evaluate things, after a couple of generations of AirPods, and the new AirPods Pro. You can read the original article for more context, but the gist is that for a whole host of use cases, the delay between when a sound is triggered and when you hear it over a…
Just a quick update - a couple of weeks ago I passed my PhD viva, with minor corrections. I was absolutely delighted with how it went, and really enjoyed getting to discuss my work with two extremely insightful examiners. It's a nice conclusion to a jam-packed few years, where I've learned an enormous amount both about music and about many other subjects.
Why When playing the piano, very often it would be handy (pun most definitely intended) not to have to reach away from the keyboard when getting to the end of a page of music. Hence, the existence of that most highly-sought job in the classical music world, the page turner... PageTurn lets you keep your hands where they need to be. It takes a little getting used to, but no more so than adjusting…
I've been programming now for about three years. For the entirety of that time, I was also doing a PhD in music composition. That changed yesterday when I submitted it. 1 I'm a fairly adept procrastinator, and can manage a tremendous amount of pseudo-productivity when there is other work I'm supposed to be doing (see the projects section of this blog for a fairly long list of evidence). But, what…
Having written a few fairly complex web projects in the last year, I've been learning a tonne of new stuff. Through personal projects like PodStand and Aleastory , and writing CMSs and server components to support my new company's products, I've gone from knowing virtually nothing about web and server programming, to being comfortable with a lot of new things. One of the feelings I enjoy most, in…
I've added a much-requested (and much-needed) feature to PodStand - you can now have it email out your profile details. Previously it relied on cookies, and users bookmarking the signup page. Probably unsurprisingly, this often led to confusion and people losing access to their profiles. The new system also allows existing users to send out their details (assuming they still have their…
About a year ago, I made my trusty electric piano wireless using a Raspberry Pi Zero and some nifty software. It worked pretty well, but wasn't quite perfect. I initially assumed input lag (something I'm pretty unforgiving about ) would be the biggest issue, but for the most part this wasn't a problem. There were some annoying quirks, though: - occasional missed notes, or stuck notes - random…
I use my keyboard (the piano kind) with my computer just as much as my other keyboard (the qwerty kind). Aside from the obvious use for performance/recording, I find it invaluable when composing, creating levels for Tapt , or pretty much any task that requires inputting musical notes. When using notation software, the alternatives are generally some combination of arcane keyboard shortcuts and…
The referendum to repeal the 8th amendment to the Irish constitution is happening in a couple of days, and you should vote yes. It's vital that women in Ireland have freedom over their own bodies, and frankly I don't think that there needs to be any further justification than that. If you feel some kind of religious or moral obligation to vote no, I urge you to do some balanced research, and at…
A new rumour regarding Apple and VR broke in the last day or two. In short, Apple is supposedly working on a combined AR/VR headset which will have ‘8K’ resolution per eye, be wireless, and be released in 2020. As a HTC Vive owner, the massive leap in resolution sounds great. I love the Vive, and recommend it to early adopters (believe me, its overall user experience is still thoroughly in early…
A recording of my piece which made the final of the 2018 Peter Rosser Composition Competition, performed by the Hard Rain SoloistEnsemble at the award final, in Belfast. direct link
I had the pleasure of being asked to be a guest on one of my absolute favourite podcasts recently, Worst Case Scenario . Thanks to the guys for having me, it was lots of fun. I've linked to the episode that I'm on, but I highly recommend subscribing to the show! 051 – All Our Indie Dreams Have Been Crushed – with Stephen Coyle , Worst Case Scenario