Orienteering Compass iPhone App

Orienteering Compass is the only iPhone compass designed specifically with the sport of orienteering in mind. Practical and energy efficient(*), it is well suited to backpacking, hiking and mountaineering.
Visit Orienteering Compass on the App Store
Featuring multiple realistic views, this elegant tool behaves just like an oil-bath mechanical compass equipped with a locking outer-ring…

Continue Reading

Old Compass iPhone App

Old Compass is a collection of skillfully crafted antique magnetic compasses for the iPhone. All four compasses are fully functional, and will orient themselves according to the magnetometer present in the iPhone 4 or iPhone 3Gs, or iPad.
Visit Old Compass on the App Store
With these compasses, the rotating dial and the background are independent and spin freely. Some parts of the devices can be operated by a swipe gesture. The designs are faithful renditions of genuine drawings. They are either inspired by actual inventions, or by old maps’ compass roses.

Continue Reading

WWW (Wilson WordPress Website)

Bernadette WilsonNew to the www, a website built using WordPress, custom CSS, audio, video.
Located at bernadettewilson.com.

Continue Reading

Software crash on LandingGear->Deploy()

Referencing and de-referencing objects in an Object Oriented Environment can be a challenge.These are real life examples; the names of the objects have been changed to preserve the identity of the victims. Please fasten your seat belt.

When I take an airplane, I cannot help but think of all the poor programming practices I have witnessed -some committed by myself- over the years. I often wonder if the on-board computers have been programmed by my earlier engineering peers.
Continue Reading

Finding hidden memory leak with Instruments

Using the 1 Mb NSDateFormatter memory leak as a case-study, this tutorial shows how to locate and isolate unexpected memory allocation using Instruments. Technically, this 1 Mb loss is arguably not a leak, since the data is cached, and is still actively referenced by the system. Yet…

Instruments has built-in tools to isolate true leaks (lost blocks) but can also be used to locate memory loss. While this session references iPhone OS 3.1.3, it can be generalized: only the example is specific, not the concept.

Continue Reading

NSDateFormatter memory leak

This is a follow-up to a post on stackoverflow.com, where it appears that 1 MB is lost after invoking NSFormatter -dateFromString.

I ran into the same situation, with very similar leak sizes to the ones reported on that article. Instruments shows that 868 Kb (889520 bytes to be exact) are allocated by Cocoa on iPhone OS (verified from 2.x to 3.x up to 3.1.3).
Continue Reading

Drowning in NSAutoreleasePool

When developing in Cocoa for Mac OS X or for iPhone, it is easy to overlook objects that are dropped in the current NSAutoreleasePool, ultimately leading to a crash. The following article applies to the use of NSAutoreleasePool when garbage collection is not enabled.

Continue Reading

AndroidTether

AndroidTether is a software that brings the Internet connection of an Android device to a Mac OS X computer.

at_icon128An Android (such as the Google G1 phone) can be tethered to a computer running Mac OS X, allowing the computer to browse the web. The device is connected to the computer using a USB cable. The web is browsed with Firefox. The detailed communication procedure is documented here.

This article is only intended to give a brief overview of AndroidTether and provide a link to the download … Continue Reading

Android Proxy (Tethering Android on Mac OS X)

Notes on connecting an Android (such as Google G1 phone) via a USB cable to a computer running Mac OS X, in order to browse the web.

This mechanism requires two independent pieces of software, namely Tetherbot on the Android device, and AndroidTether (or alternatively Terminal and the Android SDK) on the Macintosh.

tetherbot_icon1The objective of this article is to clarify the installation and setup process for Mac OS X. It does not apply to other operating systems.
A general understanding the Tetherbot … Continue Reading

NSLog(@”Hello world!”);

Welcome to TheGothicParty.com/dev.

Mission Statement:
Post software development insights as I come across them.
Paperblog