Skip to content

Don't Use Scope Modifiers with Extensions


Extending types in Swift support setting the scope for the extension, i.e. public, internal, or private, with internal being implicit if nothing is specified.

This may seem useful, but given the following snippet it's impossible to know what the scope of a function is:

func doSomething() {
    // Do the thing
}
Keep Reading

Overamped version 1.1.0


Release Notes

A new option in the Settings allows for a notification to be posted whenever Overamped redirects an AMP or Yandex Turbo page in Safari.

A new screen has been added under Advanced Statistics that displays each event that has occurred and allows for the deletion of individual events.

The permissions model has been simplified. The "Other Websites" will now be the only option shown when first installing the extension.

Overamped 1.1.0 and the Year of Small


So far my Year of Small is going really well; as I write this I'm making some final changes and preparing to push out v1.1.0-RC.1, which I hope to submit the App Store in the next couple of days.

Overamped 1.1.0 is an update I first started working on almost 3 months ago, and it should've been released earlier.

My initial plan for 1.1.0 was to:

  • Add a screen showing recently logged events
  • Add an option to send a notification when the Web Extension redirects a link
  • Simplify the permissions model
  • Add widgets

Easy, right? Well, adding widgets is why this update has been so delayed.

Keep Reading

pastelghouls Available Again


pastelghouls is once again available for download on the App Store. It's a free sticker pack containing 6 ghoulish sticker. Originally released 19th October 2016, just in time for halloween, it was removed from the App Store December 7th 2019 due to not having an update for a substantial period of time.

As part of my year of small I wanted to make this available again, and at the same time setup fastlane to automate the screenshots and store the app metadata to make future updates easier.

pastelghouls was created by my friend Joshua Robins and published by my company Yetii Ltd.

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