All of the things labelled as Posts, so that crawlers have a place to find them.

Rendering an SVG elliptical arc as bezier curves
I needed to draw ellipses and arcs. A vector API just wouldn’t be complete without them. Though opinions seem to differ as Apple’s Core Graphics

Porting Leaf from Linux to OSX
I recently ported Leaf from Linux to OSX. I figured it was about time to start making it cross-platform. The goal is to get it

The smooth sexy curves of a bezier spline
I’ve been dreaming and coding curves lately. They play an integral role in a vector drawing API, which I’m writing for Fuse now. “Bezier curves”

Ride the carousel of folly with a Python migration
I wanted to migrate my shelljob module from Python 2 to 3. I use this as part of the Leaf unit test setup. What I

Optional Types and Leaf: Removing automatic dereference
Optional values are one of the fundamental extrinsic types in Leaf, as are shared values. Originally optional values were used just like regular values, dereferenced

Smoothing 3d geometry, like a tunnel, with Catmull-Rom splines
An endless tunnel is the centerpiece of my game Radial Blitz. Flying smoothly through this tunnel was important to me. That required both a smooth

What is a normal map? An object normal map?
Normal maps preserve the lighting fidelity of a high polygon count model when it is reduced to a lower polygon count. Model designers tend to

Glowing graphics for that futuristic sci-fi feeling
Glow is a relatively simple effect that gives life to the graphics in Radial Blitz. It blends well into the sci-fi theme. Creating the glow

Radial Blitz – A rough journey from new technology to app store release
Finally, I managed to release my 3d action game “Radial Blitz” on iTunes yesterday. I encountered many obstacles along the way, but am quite happy

Are we forever cursed with buggy software?
Business priorities force us down a path of inferior software instead of ever increasing quality.

The unfortunate world of boilerplate code
Redundancy is one of the biggest sources of defects in programming. Boilerplate is highly redundant. While it may be easy to implement, and often necessary,

A pattern bandage for messy virtual functions
In my previous article the mess of virtual functions, I show how easily they introduce bugs and propose language extensions to fix it. Several comments

The very real mess of virtual functions
Virtual functions, though generally a blessing, have a defect-prone dark side. No language, that I know of, provides a way to encode when the base

The simple things I want in a text editor
It’s hard to find an editor with a rather simple set of requirements. I’ve been looking a long time, and still don’t have one.

Is reference counting slower than GC?
“Reference counting is slower than garbage collection”, a claim often made in the discussion of memory management. I heard it again recently when discussing Leaf;

What is the cost of reference counting?
Reference counting is a common form of memory management. In some languages, like Python, it’s the natural way objects are tracked, and in others it’s

What is the length of a string? A tricky question
Every day millions of programmers require the length of a string. Despite this there is no universal definition of what string.length actually represents. It changes

A pan, zoom, and rotate gesture model for touch devices
No mobile app would be complete without a few gestures. I already had swiping in place, so now I turned my attention to panning, zooming,

Efficient open ended queues with deferred deletion
Queues are a common part of modern software. Scheduling jobs and actions isn’t just for distributed systems, but for any system dealing with external events

The simple things matter – examples of UX failure from Amazon Video
Good products can be hampered by relatively minor design issues. After a long period of development it’s often tempting to push something through the door

How blaming the user leads to tragedy
On 9 February human error resulted in 11 deaths and 80 further casualties in tragic wreck near Bad Aibling, Germany. Despite a supposedly robust safety

API forensics for iOS system time: missing documentation
I started using the mach_absolute_time function on iOS to get proper event timing information. It works well, I think; the problem is that I actually





