Skip to content

The Year of Small


I've become accustomed to using yearly themes – rather than New Years resolution – thanks to CGP Grey, who has a very good summary of yearly themes.

It took me a while to home in on it but this year the title of my theme will be "Year of Small."

I'll be focusing on all things small:

  • Small people: spending time with and giving the best life to my now 9-month-old son.
  • Small home improvements: finally doing those small tasks and improvements, such as buying a bedside table and getting rid of things I no longer use.
  • Small work: I want to focus on releasing smaller updates for existing project, alongside a higher quantity of smaller projects that serve as proof of concepts and methods of learning new technology.
  • Small activities: small hobbies I can with my wife, such as new board games and outside activities.

At the end of the year I'll post a "year in review," although I hope to revisit this every 3 months to make sure I'm still focusing on the right things.

Anything related to this theme will be posted under the year-of-small tag.

Swift Package Collection Signing Using the Terminal


Swift Packages are JSON files that describe a collection of packages. This post will explain how to sign these packages with a trusted certificate entirely from the terminal. These methods should work on Linux and macOS alike. At the end I describe how to have Swift on Linux implicitly trust these packages.

Using this technique I have published my own package collection.

If you're targeting macOS only and find GUIs more intuitive I recommend following the “Swift Package Collection” blog post from Shaps, which is the post that finally made this “click” for me.

Keep Reading →

Overamped version 1.0.3


Release Notes

This update includes a change that will hopefully prevent all recursive redirects, e.g. when a website automatically redirects to the AMP version. Unfortunately it's not possible to prevent the redirection to the AMP version but this fix should prevent the page repeatedly reloading.

A bug has also been fixed that would cause AMP Google News articles loaded after scrolling to the bottom to not be redirected.

Overamped version 1.0.2


Release Notes

Thank you to everyone that has downloaded Overamped!

The release is a hotfix for changes to Google image searches. Clicking links will no longer open the AMP popover and the AMP popover should be removed from the bottom of the screen

More features are being worked on.

Overamped version 1.0.1


Release Notes

Thank you to everyone that has downloaded Overamped! More features are planned for the future.

The source code of Overamped is now available on GitHub! You can find the link in the About tab.

This build also fixes some bugs:

  • Fix showing “Overamped” in place of “Safari” in installation instructions
  • Prevent infinite redirections to student.si and thehustle.co

Hosting DocC Archives


At WWDC21 Apple introduced DocC, a tool for creating archives of Swift documentation that includes the static files required to host a version of the documentation on a website.

In this post I will summarise various methods of serving a DocC archive:

  • Netlify
  • Vapor middleware
  • nginx
  • Apache

All the examples provided here are hosting the DocC archive for VaporDocC, the Vapor middleware I wrote for hosting DocC archives.

Keep Reading →

Handling iCal Files in iOS


The iCal format, first defined as a standard as RFC 2445 in 1998, is the universally accepted format for distributing calendar files, mainly used for distributing events.

As part of my QR code scanning app Scanula I added support for detecting events in scanned objects. Thanks to the fantastic libical and the Swift wrapper swift-ical it's fairly easy to parse an iCal feed, but adding it to iOS is a bit trickier.

Keep Reading →

Scanula version 1.2.0


Release Notes

Version 1.2 of Scanula provides better integration with system features, improvements to existing feature, and a few bug fixes.

  • Support for system dark mode
  • Support long press to preview scans
  • Improved UI on iPads
  • Use system icons
  • Adding a scanned calendar to the system calendar will now add all fields from the iCal object
  • Improved handling of sms: URLs
  • Fix changing brightness when viewing a generated barcode
  • Fix action extensions sometimes not showing results
  • Various small bug fixes and UI improvements