Erica Sadun

Erica Sadun

Erica Sadun holds a PhD in Computer Science from the Georgia Institute of Technology. She has written, co-written, and contributed to almost two dozen books about technology, particularly in the areas of programming, digital video, and digital photography. An unrepentant geek, Sadun has never met a gadget she didn't need. Her checkered past includes run-ins with NeXT, Newton, and a vast myriad of both successful and unsuccessful technologies. When not writing, she and her geek husband parent three adorable geeks-in-training, who regard their parents with restrained bemusement.

Eight Great Ways to Get the Most from Your Zune Eight Great Ways to Get the Most from Your Zune
by Erica Sadun
December 2006
Ebook: $7.99

Modding Mac OS X Modding Mac OS X
by Erica Sadun
September 2004
Print: $24.95

Recent Posts | All O'Reilly Posts

Erica blogs at:

OS X Install FAIL

April 13 2009

Eric Mock provides today's "Chuckle of the Day". How long does it take to install iDVD? Maybe you should go get a few thousand cups of coffee. read more

OS X Tip: Opening header files from the command line

April 13 2009

Want a quick tip about searching for header files from the command line? Here's a how-to you can use. read more

iPhone Dev: IOKit - The Missing Public Framework

April 13 2009

A lot of fuss has been made about Apple's public and private frameworks. Did you know that there's actually a public framework that you're not allowed to use? Here are the facts. read more

Disabling the Digg Bar

April 13 2009

If you've been caught up with the controversy about the new DiggBar and its attempt to subvert traffic, here's a quick and simple way to disable it for your Digg account. read more

Self check-out fu

March 13 2009

Do you find yourself using those self check-out machines more these days? Do you find yourself struggling with already filled bags and no place to put more purchases? Here's a quick secret to better check-out. read more

Pad your Apple Store order to over $50

February 27 2009

Want to pad your Apple Store purchase to get over that magic $50 free shipping threshold? Here's how. read more

iPhone Backups: Part 4

May 30 2008

Embedding data, particularly text-based data back into an mdbackup file isn't just a matter of setting the value in the dictionary for the @"Data" key. Instead, you need to serialize your output. The code that follows demonstrates a simple way to serialize property lists into an mdbackup-compatible format read more

iPhone Backups: Part 3

May 22 2008

Parts 1 and 2 of this mini-series introduced you to mdbackup files. When backing up your iPhone or iPod touch, iTunes stores files in mdbackup property lists. The name mdbackup comes from mobile device, the name of the private framework that's responsible for handling the iPhone backups. Today, you'll discover… read more

iPhone Backups Part 2

May 19 2008

To back up an attached device, you must specify its target ID. This is the name used for the folder in the MobileSync/Backup directory. The target ID also appears in the Info.plist file. Issue the following command using the target ID for your device. read more

iPhone Backups: Part 1

May 19 2008

Whenever the iPhone backs up to your Mac, iTunes copies certain files to your computer. These include your settings files, from the preferences library, and databases, such as your calls, notes, bookmarks and so forth. read more

Using the Open SDK with 2.0 Firmware

May 19 2008

A lot of people have been asking about using the existing open SDK for 2.0 application development. A few betas back, my answer was "Hey, no problem". But with the last two betas, I'm not quite so sure. We haven't seen pwnage compatibility since the third beta and there hasn't… read more

Thoughts on 1.1.4 programming

May 02 2008

Quite a few readers have asked me whether I intend to continue programming for 1.1.4 firmware. In a nutshell, the answer is "no". And here are my reasons why. read more

iPhone SDK4 debuts, Panda/P2 protocol goes MIA

April 24 2008

As the new iPhone SDK hit the streets, I decided to take another look at those iPhone Panda protocols I wrote about just a month ago. To my slight surprise, the protocols disappeared from Apple's public iTunes listings. read more

Seven hours

April 24 2008

Seven hours. Go on and ask. I know you're dying to. What could possibly waste seven hours of time in a developer's life? Why downloading an SDK and installing new firmware! Needless to say, I'm in a particularly grumpy mood this morning. read more

Open iPhone: unsandboxing apps on pwned development iPhones

April 18 2008

So you pwned your 2.0 dev phone. Now what? You can use the open source toolchain to build a limited set of tools, primarily command-line ones or you can use your SDK to build real apps that you can run outside the sandbox. Here's how. read more

Just Enough Computing: Part 1

April 07 2008

When it comes to portable computing, the iPhone works in that it gets the job done. Its screen is barely big enough to read comfortably. Its onscreen keyboard will never match up fully to the needs of a trained typist accustomed to physical data entry. It's a gadget made from… read more

Open iPhone SDK: Adding Application Badges

March 24 2008

If you’ve used the iPhone or iPod touch for any time, you’ve likely seen the small red badges that appear over applications on the home screen. These might indicate the number of missed phone calls or unread emails that accumulated since the user last opened Phone or Mail. read more

TMI: Apple's AppStore Protocol Goes Live

March 24 2008

At this time, Apple provides 5 AppStore calls to its new p2-panda service plus a call to legal terms and conditions. I'm swayed by Ryan Block's excellent insight that p2 probably stands for Purple 2, the iPhone's code name read more

Open iPhone SDK: Building a UIProgressBar

March 20 2008

Progress bars allow end-users to anticipate wait times. They present bars that fill from left to right. These bars indicate the degree to which a task has finished. Progress bars work best for long waits where providing state feedback allows your users to retain the feel of control. read more

iPhone: Open SDK vs Closed SDK

March 20 2008

Hackers have been hard at work updating the open source iPhone SDK to work with Apple's newest unreleased firmware and here is what they have found: nearly everything that worked with earlier firmware continues to compile and work with the newer firmware. read more

iPhone developer program rejection notes

March 14 2008

What happens when you offer free technical support and application distribution for only $99? An oversupply of iPhone developer wannabees and an undersupply of Apple developer support resources. read more

Fixing Terminal TTY errors

March 10 2008

Say you were working in an unspecified but extremely buggy beta SDK. Say you suddenly started encountering "could not open a new pseudo tty" errors whenever you tried opening a new terminal windows. There's not much help out there on the net for this extremely hypothetical situation. read more

Things you *really* need to know about the SDK

March 07 2008

I was up way way late and woke up way way early. I didn't sleep so you could--here are important things you need to know about the SDK. read more

Downloading the SDK

March 07 2008

If you have even the slightest interest in the iPhone SDK be aware that Apple's servers are getting slammed from every direction. read more

Accessing all your onboard photos from your iPhone database

March 03 2008

Last weekend, I decided to expand Coverflow to work with my entire photo album. This involved exploring the MusicLibrary and PhotoLibrary frameworks to find out how I could extract a complete set of albums and their pictures. The PLPhotoLibrary class proved to hold the key. With it, I could request… read more

Two New LayerKit Animations

March 02 2008

After dumping strings from LayerKit, I'm pleased to have found two new previously unknown animations: mapCurl and mapUnCurl. These are the animations used in Google Maps to reveal the settings pane. read more

Loading Applications To And Removing Them From Springboard

February 27 2008

iPhones and iPod touches running 1.1.3 and later allow you to add applications to your Springboard home screen without restarting the entire Springboard process. A simple loader called "nikita" (who will play a big role in the upcoming SDK) allows you to notify when new apps should appear. read more

CoverFlow: Even easier

February 25 2008

Oh man. What was I thinking. You do not need to use a core surface. The layer from a UIImageView works perfectly well read more

CoverFlow: The Easy Way

February 21 2008

After chatting with iPhone developer Cobra about his most recent UICoverFlowLayer example, I decided to simplify UICoverFlowLayer creation. What I found was this: programming cover flow is eerily reminiscent of programming tables. Like tables, you create a data source method in your main application. This data source supplies your coverflow… read more

GSLog: Another way to log

February 11 2008

This past weekend, I made a startling discovery. Apple included another log function, hidden in its GraphicsServices framework. It's called GSLog and as far as I can tell, acts almost exactly like NSLog except it works correctly and will redirect its output read more

Non-interrupting audio alerts

February 11 2008

As anyone who has worked on the iPhone knows, issuing a sound alert comes with a price. If you use the standard QuickTime-esque Celestial audio controller to play your sounds, you'll stop any ongoing iPod or Video playback at once. read more

Using a Progress Heads Up Display in your iPhone Program

February 05 2008

Apple provides a simple and beautiful way to handle operations that may take a bit of time. Use the UIKit class UIProgressHUD to create a simple window with a rotating progress indicator and a short message. Programatically, all you have to do is allocate an object, initialize it with your… read more

Creating an UIImage from a URL

February 04 2008

A question came up over the weekend as to download an image off the internet and add it to a UIImage object on the iPhone. The answer is to create an NSData object that grabs the contents of the URL and then initialize the image with that data, as such read more

Programmatically Handling iPhone interruptions

January 31 2008

When it comes to the iPhone, phone function comes first. Incoming calls, SMS, and USSD (unstructured supplementary service data, including account balance notifications for prepaid plans) messages will supersede your application. You can program around this by watching for core telephony events and shutting down key processes as needed. The… read more

Announcing iPhone Developers Email List

January 25 2008

In anticipation of the upcoming SDK, I've set up a iPhone SDK mailing list. read more

Prepare your iPhone Software for 1.1.3: running as "mobile"

January 24 2008

If you want to find out how your software will run under 1.1.3 and the SDK, I recommend you test it out under 1.1.2 or 1.1.1 as user "mobile". First, consider where all your resources will be located (in /var/mobile rather than /var/root). Next, start thinking from a ~mobile perspective.… read more

Signed iPhone Applications

January 22 2008

So now that we know. Apple will be using signing for iPhone Applications. Readers what to know how developers will be able to sign their programs to authenticate them for the iPhone. Short answer, I don't know. Apple hasn't shared this information yet. read more

Inside iPhone Application Bundles

January 17 2008

With iTunes now shipping the first ever iPod touch application (the property list that unlocks the built-in applications and 1.1.3 firmware features), I thought I might take the opportunity to describe the way an iPhone application works. If you're familiar with Macintosh application bundles, you'll find that the iPhone application… read more

iPhone: Uncovering unimplemented selectors at runtime

January 16 2008

Given that the iPhone is all but undocumented at the moment with the SDK not promised until February, I find that it often helps to add the following code to my classes. It allows me to see what methods are being invoked and create those as needed. read more

iPhone: Running concurrent Purple Apps

January 14 2008

If you've done iPhone command-line programming, you've probably run into the dreaded Purple app errors. The iPhone complains that it couldn't register with the bootstrap server. This happens when the iPhone attempts to run more than one Purple application from the command line. read more

Disc is Dead

January 14 2008

No, not Disco, Disc. Disc is dead. The existing iTunes movies and video model may be flawed but digital distribution is the way of the future. If the rumor mill is right, tomorrow Apple will reinvent this space read more

iPhone: What do I expect in the SDK

January 13 2008

I'm frequently asked these days about what I expect the upcoming Software Development Kit to look like. The answer is, of course, that I haven't a clue--I have no insider information beyond whatever we'll find out on Tuesday. So here are a few of my guesses, pulled directly from nowhere… read more

iPhone: Purple Apps

January 13 2008

Although you do not need to create an application package for purple applications, they work best when added into a properly formatted .app bundle and placed into an iPhone or iPod touch's /Applications folder read more

Redirecting log data on the iPhone

December 21 2007

You'd think that NSLog would write to stderr, right? Right? Um, no. At least not on the iPhone. This morning I spent way too much time trying to figure out why my freopen([logPath fileSystemRepresentation], "a", stderr); line wasn't working and redirecting NSLog output to my log file. read more

Freaking multitudes of .htaccess great balls of fire

December 20 2007

If you suddenly find that your ftp listings no longer work right, and the BLasted-UnnamEd-HOSTing service won't take responsibility for fixing httpd.conf, you can fix things by adding the variable definitions to .htaccess files yourself. read more

Giiviing iin

December 17 2007

I'm not saying that I'm an elitist Applecentric snob, no wait, yes, i am. And a lot of the UI decisions made me roll my eyes. The five screens before you can play any game, the mismatched dialog boxes without consistent font usage, the fact that you must pay 5… read more

My High Def Life: My New HDTV TiVo

November 06 2007

After 8 years, several hard drive upgrades, and a great lifetime of service, my daughter made our Series 1 TiVo go boom the other day. She knocked over the TV, the TiVo, and our DVD player/recorder. In the end, daughter... read more

YouTube TestTube: Replace Your Audio with Licensed Content

March 30 2007

YouTube has just launched its new TestTube site, which allows you to test out beta features that haven't been fully deployed. One of these new features is "Replace Audio", allowing you to sub out the audio track of your YouTube... read more

My Digital Life: On Keeping Stuff

March 21 2007

One of the brilliant things about a TiVo is that it watches all that TV for me that I intended to watch but never got around to sitting down to view. (Some people call this the "TiNo" phenomenon.) It's very... read more

Friday Napster Freebies

March 16 2007

Welcome to this week's edition of Friday Napster Freebies. These un-DRMed MP3 files are free for a limited time and can be downloaded from just about any country. Enjoy! "Time2hitdaclub (Explicit)" by 8BallRepresenting half of legendary Memphis rap duo 8Ball... read more

Recent Posts | All O'Reilly Posts