Stupid SwiftUI Tricks: Single-Axis Geometry Reader

Stupid SwiftUI Tricks: Emulating Equal-Size Constraints

Stupid Swift Tricks #7½: Writing a User Guide In It

Stupid Swift Tricks #7: Writing a User Guide In It

Audio Clipping (And Normalisation And More)

Zero Crossings And You


Stupid Swift Tricks #6: To Animate or Not to Animate

Hexterity: Welcome Back!

Hokusai 2.2


Dragging and Dropping Links on iPad

Level Up! Ferrite v1.5


The Case of the Headphone Hijack

Hokusai 2.0

The Difference: Between Hokusai Audio Editor and Ferrite Recording Studio

Ferrite Design Evolution: Part 1

Stupid Swift Tricks #5: Pickable Enums

Ferrite's App Architecture

Stupid Swift Tricks #4: Writing A Big App In It


Ferrite Recording Studio: Out Now

Swift: The Genius of Protocols

Mitosynth: Vectors, Grids, and Prefilter, Oh My

On Apple Watch

Stupid Swift Tricks #3: Observations on Value Types

Stupid Swift Tricks #2: Coalescing Updates

Stupid Swift Tricks #1


Mitosynth 1.2: Out Now

Audio Plugins for iOS 8

Mitosynth Design Evolution

Mitosynth 1.1: Out Now

The Min and the Max of Mitosynth

Mitosynth Beta: Progress Update

Mitosynth: Almost Ready for Beta

Announcing Mitosynth

A Fresh Coat of Paint


Grain Science 1.4

Whimsical In The Grain Pan

Grain Science 1.3.2

Messing Around With A Mic

Grain Science 1.3

Grain Science 1.2

Segmented Control Accessibility

Grain Science 1.1


Introducing: Grain Science

A Bunch Of Releases

Hokusai updated: v1.0.4

Hokusai updated: v1.0.3

Hokusai's Time Bar

Hokusai updated: v1.0.2

Hokusai updated: v1.0.1

Hokusai: Out now!

Announcing Get The Flock Out

Monday News: Sylo Synth & Hokusai Video

Announcing Hokusai

Website Refresh, and More...


Alert! Safety Boom! Out now!

Alert! Safety Boom! Everyone's Getting In On The Act

Alert! Safety Boom! Trailer

Alert! Safety Boom! In Beta

Making Lemonade, Part 1

And Now A Quick Word From Patrick

About Keynote and iPad

JavaScript for C & Python programmers


Presentation Remote, Apple Events, and Snow Leopard

Of Soundroids And Candy

Meet The Team: Pasha & Ozymandius

Alert! Safety Boom! Cutscene Technology

Alert! Safety Boom! Mission Editing

PyObjC in Snow Leopard

Meet The Team: Patrick

Meet The Team: John

Meet The Team: Canis

(Pre-)Announcing Alert! Safety Boom!

Announcing Soundroid Rampage

About OS 3.0 Compatibility

Please Do Not Be Alarmed

Presentation Remote 1.5.9

Presentation Remote 1.5.4

Presentation Manager 1.5.0

Presentation Remote Update: 1.5.0

Presentation Remote 1.4.3

Presentation Remote: A Tip and an Update

Presentation Remote: Slide View

Announcing Wooji Presentation Remote

Updates, Presentation Remote 1.4.1

Things To Do

Superstition, Rumour and iPhone Development Agreements

Presentation Remote Updates

Presentation Remote: Updates & Expectations

Presentation Remote 1.3, and Progress

New Project and Presenter View

Keynote '09 Compatibility

June Already?

Hexterity 1.0.1

Happy New Year '09

Creating Airport Networks

Look What The Postman Brought

My OpenOffice User Experience

Kindle for iPhone


Parameter Order: A Friendly Warning

iPhone Graphics Programming Blog

Remote Admin Incantations

iPhone, OpenAL, and IMA4/ADPCM

What Is Hexterity?

New Project: Icon

The AppEngine Bulk Loader

Warren Ellis, Reddit And Digg Will Destroy The Internet

New Look Wooji Juice

Secrets of Twitter

Tips for AppEngine

Cocoa Bindings

Bonjour in Python: A Tip

Cocoa: Key-Value Observing

Hello The Speed Bump


Introducing Voluminous

Cocoa: Key-Value Coding

NSTokenField Tip

Sorry: Hosting Hiccup

High Leverage? Why Yes, It Is

Cocoa: Glue

Cocoa Memory Management

Cocoa: Where to start?

Cocoa: Custom Classes in Nibs

Cocoa Nibs

Cocoa Actions

Cocoa & Selectors


Omelette Design Notes (Part 2)

Omelette Design Notes

Breaking Eggs


TextMate Macro: Converting Objective-C Function Prototypes

Introducing PyHID

On The Boil

Oddity in Python's New-Style Classes

Python Globals and Bytecode

We Apologise For The Inconvenience

TraceKnack 0.54

TraceKnack 0.53

Patently Wrong

Feedback abuse

Experimental Gameplay & Style

Base-Jumping into the Uncanny Valley

TraceKnack 0.52

Introducing TraceKnack

Of Discussions

TTG And Sketching


First Post