Small PRs
Why it’s important to keep PRs as small as you can, and some tips on making PRs easier to review.
I'm Neil, and I’m a software developer in the UK. I mostly work with iOS, and occasionally write about it too, along with various other things.
Check out my blog posts here, or read more about my current projects.
You can find me around the web on my links page.
And here’s my now page, with everything I’m up to these days.
Why it’s important to keep PRs as small as you can, and some tips on making PRs easier to review.
Big industry software compared to indie apps. Linking out to a great article by Steph Ango.
What apps do I use?
Getting rid of old Simulators after updating Xcode.
The Rise by Ian Rankin
Kerplunk by Green Day
A great new feature from WWDC 2023.
Taking the pressure off and having fun again.
A really nice improvement to Previews, with a macro cleaning up the boilerplate, and parity between SwiftUI and UIKit.
Save yourself time in the long run by spending a bit more time documenting things up front.
A handy little debugging tool for Combine.
Bleed American by Jimmy Eat World
How my iPhone and Apple Watch look today.
The Two Towers by JRR Tolkien
Why ratings are dumb, and why The Phantom Menace is the best Star Wars prequel.
How projects can evolve over time, especially if you give them the space to do it.
Enema of the State by Blink-182
Meteora by Linkin Park
Casino Royale by Ian Fleming
Moving more and more towards this site becoming some sort of pseudo MySpace.
Take Off Your Pants and Jacket by Blink-182
Some notes on what I’ve been working on to get Running Track ready to release.
Lots of apps and websites perform really poorly under slow network conditions, and it’s not okay.
How I use challenges to motivate myself to build habits, and the apps I use to help me along the way.
Coming Home by New Found Glory
The Fellowship of the Ring by JRR Tolkien.
Using Nitter to indirectly access Twitter.
I’m falling back in love with reading and writing blogs. Twitter’s downfall isn’t all bad.
Blackened Sky by Biffy Clyro
Infinity On High by Fall Out Boy
Handwritten by The Gaslight Anthem
Some quick keyboard shortcuts for jumping around files.
Accessibility isn’t a “nice to have”. It’s incredibly important. For everyone.
Old Souls by Deaf Havana
Why I’m reading more blogs and books, and spending less time on social media.
Screen Violence by Chvrches
Moving between editors with a handy keyboard shortcut.
In With The Out Crowd by Less Than Jake
Rise And Fall, Rage And Grace by The Offspring
Balancing multiple projects, and why I work on such varied things.
Warning by Green Day
Archived: reflections on political events in 2016.
How I overcomplicated things when I thought things were already too complicated.
I’ve published a beta version of my marketing site for Running Track.
Approved for beta testing!
How do I know I’m ready to release?
I’m not hanging around with a playground bully.
What goes behind a paywall in a freemium app?
A link to a great guide to the various powerful things you can do with the Simulator, especially with the CLI.
How important is scientific accuracy in a story that isn’t pure fantasy?
I set up a static marketing page really easily.
An overview of my current projects.
Laying out SwiftUI buttons with equal widths is harder than you'd think!
Using GitHub Actions and labels to protect your main branch.
How to write a simple Swift property wrapper, with example code.
SwiftUI has awesome support for sections in lists. What would be multiple delegate methods in UIKit is only a couple of lines in SwiftUI.
Avoid cloning your entire git history in large projects.
How to use new APIs in apps that support old versions of iOS, plus how to remind yourself to update things later.
A repo and script to help me set up a new Mac with minimal effort.
Installing custom Xcode themes with a handy git repo.
Managing state in SwiftUI.
Simplify adding multiple subviews at once with these extensions.
How to find previous commands that you can’t quite remember.
Why tags don’t work for me and why I use them anyway.
How to do different things in your app if it’s running in a UI test.
Avoiding problems that come from bad dummy data.
How to use a built-in property of `UIView` to find views when running UI tests.
Posting new articles using just my iPhone and some automation services.
How to create an empty state for a UITableViewController.
The new Mac mini with M1 chip is great.
Take advantage of localisation tools in iOS.
Taking a break from trying to solve a problem can make it easier to find the answer.
A better way to deal with UITableViewCells.
How to use child UIVControllers.