An alternative interface for filtering on the iPhone

I’m developing a new iPhone application. Part of the application needs a “filter a list of things” view. I’ve been looking at Apple’s approach for inspiration, most notably the Contacts application. I’ve come to the conclusion that the Contacts approach absolutely sucks, and so I’ve developed my own custom interface instead. This article describes the […]

Read More
Stripping out a set of characters from an...

Cocoa’s NSString doesn’t have great support for search and replace at the best of times. But the absence of the NSPredicate class from the iPhone SDK means that there is no quick way to strip a whole range of characters out of an NSString in one go on the iPhone. This article shows one way to do so. Control […]

Read More
Distance function for sqlite

As part of an iPhone SDK project, I have an sqlite database with a table full of geographic locations, each stored as a latitude and longitude value in degrees. I wanted to be able to perform an SQL SELECT on this table and ORDER BY each row’s distance from an arbitrary point. I’ve achieved this […]

Read More
Range.intersectsNode, Mozilla and WebKit

Today I needed to know whether a Range object (obtained from a selection) intersected with a particular node within an HTML document, which is a relatively common scenario when developing WYSWIYG editors. Mozilla’s implementation of Range used to have a proprietary intersectsNode method, which was ideal. However, they’ve removed this in Gecko 1.9 (and therefore Firefox 3) and provided an […]

Read More
Creating Core Audio aggregate devices programmatically

Core Audio has a very neat feature, enabling you to create virtual audio input and output devices called aggregate devices, which join together and synchronise the clocks of multiple real devices. You can then use these aggregate devices for audio input and output in the same way as real devices.

Read More
WordPress plugin to remove the Browse Happy link...

Unfortunately, WordPress 2.5.1 displays a link to browsehappy.com in the footer of the WordPress admin when you use Microsoft Internet Explorer to manage your WordPress-powered site. If you follow the link to visit Browse Happy (which is run by the people behind WordPress), it tells you that “Internet Explorer can make your computer unsafe”, and tries to persuade you […]

Read More
WordPress plugin to clean up pasted Word content

The basic installation of WordPress 2.5.1 doesn’t enable the “clean up Word content” options of its WYSIWYG editor, TinyMCE, by default. This means that if you copy some content from Microsoft Word, it is not cleaned up when it is pasted into WordPress.

Read More
Audio crackles and dropouts caused by Airport Extreme...

I’ve been experiencing an annoying problem recently on my MacBook Pro running Mac OS 10.4.11. Any audio played in my DJ application, DJ-1800 v3.0.2, with Pitch Lock turned on, had constant crackles and pops, and was pretty much unusable. Even with Pitch Lock turned off, the crackles were still there if several tracks were played at […]

Read More
Mortgage Overpayment Calculator

Ever wondered how your flexible mortgage might look if you made a regular overpayment, or if you paid off a lump sum or two at some point during the mortgage term? This calculator will help you work out exactly what it would mean for your mortgage term.

Read More
Microsoft Office “Document Properties” in SharePoint 2007 search...

I’ve run some extensive tests this morning on a test install of SharePoint 2007, to find out how the default Document Properties in Office documents are used in the default SharePoint 2007 SearchCenter search results. I had been unable to find useful documentation about what is and isn’t indexed and reported, so these are my […]

Read More