Welcome to Eric Cheng's online journal! You are not logged in. [ Log in ]

ZEVO ZFS over Thunderbolt on a Mac

:: Tags: , ,

After years of threatening, I finally set up a ZFS pool in a Mac OS X (10.8.5) environment. Today, I downloaded ZEVO Community Edition, which is (self)-described as “a momentous, much needed and long-overdue improvement over Apple’s status quo file system (HFS+) that was designed in the mid 1980s — before the Internet existed!” I totally agree. HFS+ is a turd, allowing “bit-rot” to silently corrupt your data over time. I am a working photographer with many terabytes of data that I need to store securely. Although I keep many copies of the data (and versioned copies of important stuff), I have, on occasion, gone back to old pictures only to find them to be corrupted. This scares me. Luckily, ZFS is a file system that has been designed not to allow silent corruption. If you want to know more about ZFS, read its Wikipedia entry. (read more »)

Los Altos, CA | link | trackb | 17 comments » | Oct 12, 2013 01:39:46

Setting your PATH in Mac OS X 10.8 Mountain Lion

:: Tags: ,

In older versions of Mac OS X, you could set your PATH variable in terminal by adding to your .profile in your home directory. Recently, a bunch of my scripts started to fail because I use a lot of tools that are located in /opt/local/bin and /opt/local/sbin, and those paths were no longer in my PATH environment variable.

As of the latest updates to OS X 10.8.3 (Build 12D78), Terminal.app no longer seems to parse .profile when it starts up. What works, now, is to edit “/etc/paths”.


I just tested it, and it works.

San Francisco, CA | link | trackb | 6 comments » | Apr 9, 2013 19:25:29

The right way to share a file or bunch of files using Dropbox

:: Tags:

Let’s say you want to share some assets you have on Dropbox with a friend. Easy, right? You just “Share This Folder” to your friend’s email address.

"Share Link" and "Share This Folder" are very different
“Share Link” and “Share This Folder” are very different

If your goal is to get the file(s) to your friend—and not collaborate on a project together—”Share This Folder” is probably not be the best way to do it. (read more »)

San Francisco | link | trackb | 18 comments » | Feb 2, 2013 19:41:11

Safari won’t save or print PDFs: how to fix

:: Tags:

If Safari won’t save or print PDFs (but views them without any problems), you probably have an Adobe PDF plug-in installed. In Safari, go to Help->Installed Plug-ins and do a search for “PDF.” If you have anything with “PDF” in it other than “WebKit built-in PDF,” that is probably the culprit.

On my computer, the problem was “AdobePDFViewerNPAPI.plugin”. To remove it, I quit Safari, did a Spotlight search (Command-Option space) for that file name, and then dragged it to the trash. When I restarted Safari, I could print and save PDFs again. You can also manually find the plugins by going to the system “Library” folder (the one at the root of your hard disk, not in your user folder) and looking in the “Internet Plug-Ins” folder.

I’m on OS X 10.8.2, running Safari 6.0.2 (8536.26.17).

San Francisco | link | trackb | 12 comments » | Jan 29, 2013 05:29:46

Time Machine vs Crashplan and other thoughts on backup

:: Tags: , ,

Those of you who follow me on social media know that I complain often about the work required to keep my data securely and reliably backed up. Since 1997, I’ve been a hardcore Crashplan user. I love that it features continuous, versioned backups to multiple destinations, and that it supports multiple platforms. You can backup any Mac, Windows or Linux machine to virtually any destination (folder, second computer, or cloud).

I continue to recommend Crashplan over Time Machine for normal users; for a very-small monthy subscription fee, you can back up every machine in your family to an external drive, and to the cloud—a fast, local backup plus a secure offsite backup, all in one solution.

Unfortunately, I am not a typical user. I have about 10 terabytes of data that I need to keep easily accessible and securely backed up. About half of that are static image files, which are stored on a redundant NAS volume and backed up offsite, which leaves the other half—about 5 TB—needing to be actively backed up. (read more »)

San Francisco, CA | link | trackb | 5 comments » | Aug 13, 2012 08:55:12

Why did I upgrade to Mac OS X 10.8 Mountain Lion? I don’t know.

:: Tags: ,

I’m not sure why I upgraded today to Mac OS X 10.8 Mountain Lion. I have the most complicated Mac Pro setup around, and every time I upgrade to a new OS version when it comes out, I suffer. But I am an early adopter, so it’s in my nature to do these sorts of things. It’s how I learn, I suppose.

So far, I haven’t noticed any striking new features in the new OS. I know there are many new features, but none of them have been really obvious, yet—at least, when using my computer in the normal way I use my computer. I am really looking forward to being able to share my screen via AirPlay, but I don’t think my Mac Pro is supported, so I will likely continue using AirParrot to do the same thing. I’m not sure what else will be interesting. I’m not a Safari user, so all web-reading improvements are sort of lost of me. I signed in to Twitter, Vimeo and Flickr, but haven’t seen any signs of integration, yet.

The Mail, Contacts & Calendars preference pane is a disaster. I opened it up and it doesn’t match any of my Mail account settings—it pulls email addresses instead of actual usernames from mail accounts, and then complains that the passwords are wrong. It isn’t obvious what it’s doing.

Mail.app is now super slow. It is laggy—I have to wait seconds to do things—and I can’t bring it to the foreground with a single click unless I click in the header area when it’s in the background. I do have a 28GB mail archive, but Mail.app under Lion was fast, so the new one is definitely worse.

Most apps I’ve tried continue to work. I’ve had (only) the following problems, so far:

  • Mail.app (performance)
  • YouSendIt Express (doesn’t work)
  • Sonnet Presto Gigabit Server PCIe (doesn’t work—apparently, I have the “old” version, which is 15 months old)
  • Calendar sync with Google (lots of conflicts, repeatedly)
  • Notification center (gave me the same notification every few minutes—I disabled it altogether)

The Sonnet Presto Gigabit Server PCIe card not working was a pain, especially because Sonnet tech support told me directly that it would work. This card is my direct iSCSI conduit to my ReadyNAS image archive (via LACP), and it took me awhile to figure out how to re-establish contact with the iSCSI target (which is configured for LACP, as well). I tried link bonding the Mac Pro’s 2 ethernet ports, but it wouldn’t connect to the ReadyNAS. I eventually solved this (temporarily) by configuring a bond in my switch and connecting the ReadyNAS directly to it (instead of directly to the Mac Pro). This worked, luckily, but going through the switch is definitely slower.

Again, I am not a normal computer user, so I don’t know why I still try to do early upgrades. It never just works.

One last note: iCloud document integration will probably be great for folks who exclusively use 1 application to work with 1 document type (e.g., Pages for all word processing), but it will break down very quickly when used with file formats that are commonly used by multiple applications (e.g., save a picture with Photoshop, and then try to view it in Preview). It doesn’t seem well thought out, but will probably be fine for the people out there who have no idea where they are saving their files…

If you want a great overview / review of 10.8, I highly recommend reading the ArsTechnica review, which is excellent.

San Francisco, CA | link | trackb | no comments » | Jul 27, 2012 06:45:05

Automatically syncing Instagram and iPhone photos to your Mac

:: Tags: , , , ,

The recent Dropbox update on iOS (version 1.5.1) includes a new feature that automatically uploads all photos and videos taken with your iPhone or iPad to Dropbox. Various camera apps and social network apps like Facebook’s Camera app and Google+ have started offering automatic sync to their respective photo albums, but I want my pictures to sync to my computer, not to an online service. Apple’s iCloud service also offers Photo Stream sync of your last 1,000 pictures, but this works best if you’re an iPhoto or Aperture user.

Dropbox Photos and Video Sync

When I upgraded to Dropbox 1.5.1, the app stopped responding altogether, so I had to remove it from my iPhone and re-download it. Once I did that, the first-use wizard connected my account and asked me whether I wanted to automatically sync photos and video to Dropbox. If you have gigabytes of media on your iPhone, be sure to tell the app to only sync new media; otherwise, you may find yourself trying to upload a lot of data over Wi-Fi—or worse, over your mobile carrier’s data plan.

Once you’re set up, you’ll find a new folder called “Camera Uploads” in your Dropbox folder. Initial tests worked very well. Bringing the Dropbox app to the foreground will start the sync process, and when I launched the app and left it running in the background, it continued to upload (once I had kicked it off by launching it); to avoid uploading huge amounts of data over your mobile data plan (if you’re not on an unlimited data plan), you may want to keep Dropbox closed.

Syncing Instagram to DropBox

I also like to sync my Instagram feed to a folder on my computer. To do this, I use a free web service called Instadrop.

Instadrop connects with your Instagram account and automatically pushes new pictures to a Dropbox folder. It works very well—so well, in fact, that it continued to work even after I forgot how I had set it up originally. If you want to stop syncing, you can revoke access to Instadrop by going to Dropbox->Your Account->Manage Applications.

Once you revoke access to Instadrop, the Dropbox sync will stop.

Dropbox security

Remember that any app you authorize to talk to Dropbox will have access to every file you have hosted on the service. I don’t like this, so I use a second Dropbox account for my mobile apps and share folders to my main Dropbox account. I also use an encrypted sparse bundle within Dropbox to store all of my sensitive information. Since Dropbox and most other cloud-based file storage services are insecure by design, you need to protect your sensitive data yourself.

San Francisco, CA | link | trackb | no comments » | Jun 16, 2012 21:33:30

Adobe Lightroom 4 DNG performance increase test

:: Tags: , , ,

Earlier this month, Adobe announced that there would be three upcoming improvements to the DNG camera raw “standard” that would improve performance. I’ve not historically converted my RAW files to DNG, but performance improvements would certainly be a big factor in a decision to move to that workflow.

I don’t know whether any of the announced improvements have actually made it into Adobe Lightroom 4, but I the upgrade from version 3 to 4 last night ($79), converted some files to DNG, and ran tests. Navigation and editing was as sluggish as ever on my 12-core Mac Pro (with plenty of RAM)—I couldn’t tell if there were improvements when working with DNGs. Then, I did some exports to 1920-pixel JPG files:

Test 1: 28 ARW raw files from Sony NEX-5N
ARW->JPG, 2010 Process: 52 seconds
[ARW/DNG]->JPG, 2010 Process: 40 seconds
DNG export 23% faster

Test 2: 28 CR2 raw files from Canon 7D
CR2->JPG, 2012 Process: 62 seconds
[CR2/DNG]->JPG, 2012 Process: 43 seconds
DNG export 30.6% faster

Here’s the CPU graph for the export process. You can see the clear improvement in CPU utilization in the DNG export.

CR2->JPG export (green), DNG->JPG export (orange)
24 virtual cores in 12-core Mac Pro

It does seem that there are real reasons to convert raw files to Adobe’s DNG raw format. If Adobe continues to improve DNG performance, I’ll likely move my workflow over to DNG conversion upon import.

I love Lightroom—it is my photo organization and processing app of choice—but in general, Adobe Lightroom 4 feels sluggish, and it took as many as 6 seconds to move between Library and Develop modes (inconsistent, presumably due to caching). No interface move should take 6 seconds on this computer. I hope there is a performance update in the near future that deals with the poor performance.1

  1. To be clear, Adobe Lightroom 3 also feels sluggish. 

San Francisco, CA | link | trackb | 5 comments » | Mar 6, 2012 19:14:23

Final Cut Pro X missing media problem

:: Tags: , ,

I used Final Cut Pro X, Apple’s controversial new “professional” video editing program to cut the trip video during my latest Wetpixel expedition to Indonesia. These slideshows have become a tradition for guests and combine video, stills, and music into something people can take home to show their friends and family.

Using Final Cut Pro X was, for the most part, fantastic. It is really more like an “iMovie Pro” and includes one-click video stabilization, color balancing, and look filters, which were all features I used extensively. Aside from dealing with small bugs, I was able to produce a 30-minute video fairly easily, without being impeded by any critical issues. However, I am back home, and am now in the process of trying to migrate my slideshow project and event files to my main Mac Pro from my MacBook Pro. This is proving to be impossible. Two excellent threads provide work-arounds for reconnecting missing media, but upon following the instructions outlined within those threads, this is what happened:

  1. After copying events and projects to the Mac Pro, they showed up and opened in FCPx, but all of the media showed up as missing (red thumbnails).
  2. Per suggestions, I re-imported all of the media (annoying, since the files are spread out over many folders). The red missing media icons for videos and audio were all restored to color (no longer missing). This seemed like a good sign.
  3. Many JPGs in the media list were not successfully re-connected; instead, they were duplicated. I have hundreds of JPGs in the slideshow, which are now all “missing” and therefore, would need to be re-cut into the timeline.
  4. Soon after re-import, I noticed an import background task running. Upon closer inspection, I realized that FCPx was in the process of copying over all the newly imported media instead of honoring my request to leave the files in their original location (by leaving “Copy files to Final Cut Events folder” unchecked). The source media is hundreds of gigabytes. Duplicating them is not an option.
  5. Closing FCPx and re-opening it immediately causes the import process to re-spawn. If I cancel the process, the media simply does not show up in my events.

Put quite simply, there is no way to move a complicated project and its associated event media from one machine to another. The fragility of the media storage system in FCPx is shameful—it’s like the product was never tested in the real world.

I will, in this case, essentially lose this project and never be able to edit it again. I suppose I’ll archive the events and projects in case FCPx improves its media handling capabilities. One significant side effect: if I upgrade my machine or need to reinstall, I’ll effectively lose all of my FCPx projects. Until there is serious improvement in media management, I can’t see myself using Final Cut Pro X again.

San Francisco | link | trackb | 13 comments » | Nov 23, 2011 01:43:41

Use Dropbox in an encrypted sparse bundle (and delayed app load on login)

:: Tags:

I’ve recently moved my local Dropbox folder to a folder that lives in an encrypted sparse bundle. I have nearly 50GB of data in Dropbox, and it was starting to take a toll on my startup volume, which is small—a 250GB SSD. I changed the folder from within the Dropbox preferences area, and it moved my files over successfully.

This setup only works if the encrypted volume is mounted before Dropbox loads (Dropbox complains, otherwise). In particular, this is an issue if Dropbox loads on startup (and the encrypted volume has not yet mounted). I solved the problem by using an AppleScript that mounts the sparse bundle, waits a few seconds, and launches Dropbox. I added the AppleScript to my Login Items, and it is all working perfectly. You must save the sparse bundle password to your keychain for this to work.

do shell script ("hdiutil mount \"/Location/of/sparse/bundle/volumename.sparsebundle\"")

set theAppList to {{name:"Dropbox", vis:false}}
set theDelay to 5

repeat with currentApp in theAppList
    tell application (name of currentApp) to launch
    delay theDelay
    tell application "System Events"
            if background only of process (name of currentApp) is false then
                set visible of process (name of currentApp) to (vis of currentApp)
            end if
        end try
    end tell
end repeat

Note that one can use the same script (without the “hdiutil mount” part) to launch an arbitrary number of applications after a delay. Delayed launch script source: MacWorld Hints

WARNING: This setup can really screw up applications that sync using Dropbox. Your Dropbox will no longer always be available because it can be unmounted. Do this at your own risk.

San Francisco, CA | link | trackb | 1 comment » | Oct 4, 2011 08:51:22

Installing a SSD in a MacBook Pro running Mac OS X Lion

:: Tags:

I recently added a solid-state drive (SSD) to a 2011 MacBook Pro 15″ to use as a new boot / applications drive.1 The MacBook Pro came with Mac OS X 10.7 Lion installed, and I installed the new SSD using the same method I’ve used with every other machine I’ve owned in the pas:t

  1. I partitioned the SSD into a single volume with a GIUD partition table, choosing Mac OS X Extended (Journaled) as the file system.
  2. I used SuperDuper! to clone my old drive to the SSD
  3. I used Disk Utility.app and ran Repair Disk on the SSD (In the past, I have had problems booting from newly-cloned SSDs in the past without first repairing).

I rebooted the MacBook Pro, and everything seemed to work perfectly—the Mac booted quickly and was immediately an order of magnitude more responsive (as is normal when using a machine with SSD storage). However, when I went into the Security & Privacy preference pane to enable FileVault (FileVault 2), it gave me an error message:

FileVault can’t be turned on for the disk XXX. Some disk formats don’t support the recovery partition required for encryption.

It turns out that FileVault cannot be enabled on drives that do not have the Recovery HD partition that is created when Mac OS X Lion is installed. Because I had cloned the bootable volume to the new hard disk without actually installing Lion first, no Recovery HD partition was every created. To solve this problem, I had to first install Lion onto the destination hard disk (the SSD). The installation process creates the necessary Recovery HD partition. After installing Lion, I again cloned my old volume onto the new volume (on the SSD) using SuperDuper!.2

I have just completed this process, and FileVault is now encrypting my SSD.

Useful links/information:

  • To download the Mac OS X Lion installer without installing it, run App Store and hold the Option key down while you click on the Purchases tab, and when you click on “Install Mac OS X Lion”. The Install Mac OS X Lion app will be downloaded into your Applications folder. When you run the installer, it will self-destruct, so be sure to back it up somewhere. [more info]
  • To burn your own Mac OS X Lion install DVD or USB drive, follow the instructions here.

  1. I used a OWU Data Doubler to replace the optical drive. 

  2. Alternatively, you can install Lion and then restore a Time Machine backup, which also works. 

San Francisco, CA | link | trackb | 4 comments » | Oct 1, 2011 21:31:39

Google+’s photography engagement levels are incredible

:: Tags: ,

On Monday afternoon, I decided to use Google+ to post the slides of a talk I had just given at the Monterey Shootout 2011. I really like how pictures and videos are handled by Google+, and using it to present one of my talks (which are typically picture-heavy) seemed to be perfect.

On Tuesday, at 3:38PM, an underwater photographer named Elena Kalis shared my talk with her circles on Google+. At around 7pm, I uploaded 33 underwater pictures to my Scrapbook. At 9:47pm, Vic Gundotra shared a link to the album. At 10:04pm, Brian Rose did, as well. Sergey Brin left a few comments shortly after 11pm (Mr. Brin dabbles in underwater photography, himself). Robert Scoble picked up and shared the album at 12:32am.

At 12:56am, just 6 hours after I updated my scrapbook and 9 hours after Elena shared out the link to my talk, 1,430 people have me in their circles. 1,430 happens to be the exact number of Twitter followers I have. That’s right: it took me 2 days on Google+ to arrive at the same number of followers I attracted on Twitter in 1644 days.1 Granted, I use Twitter as a broadcast service and tweet about all sorts of random things, but the reception to my photography over on Google+ has been nothing short of incredible. After spending a couple hours on the site tonight, it is obvious that the reception to ALL FORMS of photography at Google+ is fantastic, and that engagement levels are extremely high.

Methinks I will be spending some time over there. Want an invite? +Eric Cheng

Side note: What’s amusing is that this post will get picked up automatically by Facebook and Twitter, but not by Google+. I’m really looking forward to a time when Google+ gets integration with HootSuite and other social media aggregators.

  1. 41 more people added me in the time it took to write this post. 

San Francisco, CA | link | trackb | 4 comments » | Sep 14, 2011 01:09:08

Validation for posting random stuff

:: Tags:

Two years ago, I wrote a post in which I quoted some Craigslist / Paypal phishing scam emails. Since then, it has received over 42,000 page views and 35 related comments. I am compelled to post about things that I think will help people (and, frankly, about things that annoy me); I rely on web search for much of my online research, and it feels good participate in the community.

San Francisco, CA | link | trackb | no comments » | Sep 12, 2011 19:22:32

Cache_manager BSODs in Mac OS X Lion Boot Camp / Windows 7

:: Tags:

After upgrading to Mac OS X Lion, I booted into Windows 7 / Boot Camp and experienced constant Blue Screens of Death (BSODs). Windows would boot, but I’d only have a minute or two before getting a BSOD citing “cache_manager” as the culprit.

The fix was to rename the Apple HFS driver, which can be found at:


After renaming that file and restarting (BSOD helped me to restart quickly!), Windows 7 became usable again. Note that this will prevent Windows from being able to see your Mac OS X file system (not a big deal, for me).

Source of fix: Apple Support Communities

Mountain View, CA | link | trackb | 2 comments » | Aug 31, 2011 10:54:30

Modifier key settings in Mac OS X keyboard preferences don’t work if you use a Logitech mouse

:: Tags: ,

I had a kernel panic today (quad-core iMac running Mac OS X 10.6.8), and when my Mac started up again, the Command and Option keys on my keyboard (a Microsoft Ergonomic Keyboard 4000) were reversed. Normally, this wouldn’t be a big deal—one just goes to the Keyboard Preference Pane and changes the modifier key settings to swap the two keys. But in this case, no amount of changing the modifier key settings had any effect. This is incredibly frustrating for someone who is nearly 100% keyboard shortcut dependent.

Apple Keyboard Modifier Hell

After over half an hour of trying various things like rebooting, resetting PRAM, trashing assorted .plist and preference files, I finally unplugged the Logitech wireless transmitter that talks to my Logitech Performance MX mouse and set modifier key behavior using an Apple Magic Mouse. It worked, and the settings stuck even after I plugged in the Logitech Unifying Device (the USB transceiver). Strangely, if I go to the modifiers preference now, it shows that it has reverted to default, even though my keyboard suggests otherwise.

If you’ve discovered this site because you have same problem, unplug your Logitech mouse and make the changes again using an Apple mouse. I hope it works for you!

Mountain View, CA | link | trackb | 4 comments » | Aug 12, 2011 17:50:12

Epic iPad 2 review at Noodletron

:: Tags: , ,

Sterling Zumbrunn and I are excited to launch Noodletron, a new technology website dedicated to discussions about technology, digital workflow, social media, and photography.

Our first big article is a review of Apple’s iPad 2, a device that still has people lining up at Apple stores nearly three weeks after its release date. Sterling has tried more iOS apps than anyone else I know, and his thoughts about iPad and iOS are always worth reading.

We could use some help spreading the word about Noodletron and the iPad 2 review! If you like the review, please share it with your friends. :)

San Francisco, CA | link | trackb | 2 comments » | Mar 30, 2011 09:12:20

Sonic.net says no bandwidth caps

:: Tags:

I was happy to receive this email today from Sonic.net (my ADSL provider). I love their service: I’m getting 30Mbps down and 2Mbps up, and their current plan (which I’m going to switch to) offers 40Mbps down for less than $70/month. I don’t abuse my bandwidth, but it’s good to know that I have no caps.

With news about AT&T’s announcement last week that they will be imposing usage caps on their ADSL and U-Verse VDSL customers, we have received a lot of inquiries about whether or not this will affect Sonic.net customers, and whether we plan to follow the lead of Comcast and AT&T. We are also being asked why AT&T is imposing caps, and about their $10 per 50GB overage charges.

Here’s the bottom line: Sonic.net has no plans to impose usage caps on our customers. For more details and discussion of this topic, please click to read the article on our site, Drilling Through the Caps.

Thank you for very much your ongoing patronage, and for spreading the word about Sonic.net — uncapped, unlimited, and the best customer service around!

Dane Jasper
CEO & Co-Founder
[full story]

| link | trackb | no comments » | Mar 28, 2011 18:14:41

Using Eye-Fi to automatically transfer images to DropBox

:: Tags: , , ,

I have become dependent on DropBox as my cloud solution for working files (with versioned backups!), and for cloud syncing support in many of the apps I use. I’m also an Eye-Fi user, and really like the idea of having a camera that automatically dumps images into a folder in DropBox. I asked Eye-Fi for this feature, but they told me that it’s up to DropBox to integrate with Eye-Fi—not the other way around.

Eye-Fi did, however, recommend that I give Pixelpipe a try. I successfully configured Pixelpipe so that I could automatically transfer all JPG images on my Eye-Fi card to a folder in DropBox, but I want everything to be transfered, including RAW files and videos.

My current solution is to use Eye-Fi Center on a Mac Mini that is (already) running all the time in a closet at home. That Mac Mini has a temporary DropBox account running on it, and Eye-Fi dumps images into a shared DropBox folder there. Once it arrives on my Mac Mini, DropBox pushes it into the cloud, and images and videos are then accessible on all of my machines and mobile devices.

This method is totally wasteful, but it works! I hope someone comes up with a better solution in the long run.

I’m also looking for an iOS camera replacement that shoots directly to DropBox. At the moment, I use the DropBox app to push individual images, which is inconvenient.

Mountain View, CA | link | trackb | 2 comments » | Mar 23, 2011 19:06:25

Dear Apple, please retire Numbers

:: Tags:

I don’t know why Apple doesn’t just retire Numbers. It is so clunky!

Mountain View, CA | link | trackb | 12 comments » | Feb 24, 2011 12:28:59

TextExpander is 49% off for 22 more hours

:: Tags:

There is a 24-hour sale right now on TextExpander, which is one of the Mac OS X utilities that I rely on and use on a daily basis. TextExpander lives in the background and listens for abbreviations, which can be expanded out into frequently-used strings and images. For example, if I type “addresssf”, it auto-expands into my mailing address.

TextExpander works in most Mac OS applications.

The sale is via MacUpdate Promo, and expires in 22 hours (which would be 9PM PST, Feb 23, 2011).

If you take advantage of the discount, please check to make sure that the app you are buying is TextExpander. One of my friends bought the wrong app last time because he forgot to check to see what he was actually buying!

San Francisco, CA | link | trackb | no comments » | Feb 22, 2011 23:59:30
Journal Home
Where is Eric? (password)
Stuff for Sale
February 2014 (2)
December 2013 (1)
October 2013 (1)
June 2013 (3)
May 2013 (2)
April 2013 (3)
March 2013 (1)
February 2013 (2)
January 2013 (3)
November 2012 (2)
October 2012 (3)
September 2012 (8)
August 2012 (8)
July 2012 (8)
June 2012 (8)
May 2012 (5)
April 2012 (8)
March 2012 (15)
February 2012 (7)
January 2012 (6)
December 2011 (8)
November 2011 (10)
October 2011 (12)
September 2011 (8)
August 2011 (14)
July 2011 (9)
June 2011 (9)
May 2011 (11)
April 2011 (11)
March 2011 (12)
February 2011 (23)
January 2011 (22)
December 2010 (16)
November 2010 (17)
October 2010 (26)
September 2010 (24)
August 2010 (24)
July 2010 (30)
June 2010 (26)
May 2010 (21)
April 2010 (26)
March 2010 (19)
February 2010 (17)
January 2010 (29)
December 2009 (21)
November 2009 (23)
October 2009 (32)
September 2009 (19)
August 2009 (34)
July 2009 (21)
June 2009 (30)
May 2009 (23)
April 2009 (18)
March 2009 (6)
February 2009 (25)
January 2009 (5)
December 2008 (6)
November 2008 (22)
October 2008 (27)
September 2008 (25)
August 2008 (34)
July 2008 (34)
June 2008 (32)
May 2008 (26)
April 2008 (15)
March 2008 (19)
February 2008 (31)
January 2008 (43)
December 2007 (33)
November 2007 (29)
October 2007 (29)
September 2007 (9)
August 2007 (19)
July 2007 (10)
June 2007 (17)
May 2007 (26)
April 2007 (38)
March 2007 (39)
February 2007 (13)
January 2007 (35)
December 2006 (35)
November 2006 (14)
October 2006 (6)
September 2006 (20)
August 2006 (24)
July 2006 (32)
June 2006 (17)
May 2006 (22)
April 2006 (16)
March 2006 (16)
February 2006 (26)
January 2006 (33)
December 2005 (17)
November 2005 (21)
October 2005 (17)
September 2005 (17)
August 2005 (5)
July 2005 (15)
June 2005 (20)
May 2005 (25)
April 2005 (7)
March 2005 (22)
February 2005 (20)
January 2005 (38)
December 2004 (6)
November 2004 (24)
October 2004 (16)
September 2004 (22)
August 2004 (12)
July 2004 (17)
June 2004 (15)
May 2004 (11)
April 2004 (35)
March 2004 (40)
February 2004 (29)
January 2004 (36)
December 2003 (20)
November 2003 (18)
October 2003 (10)
September 2003 (18)
August 2003 (10)
July 2003 (34)
June 2003 (12)
May 2003 (49)
April 2003 (42)
March 2003 (42)
February 2003 (15)
January 2003 (7)
December 2002 (17)
November 2002 (19)
October 2002 (24)
September 2002 (22)
August 2002 (20)
July 2002 (21)
June 2002 (14)
May 2002 (15)
April 2002 (11)
March 2002 (13)
February 2002 (20)
January 2002 (17)
December 2001 (16)
Even Older Journal
Travel Journals

(25) (2) (1) (3) (1) (1) (1) (6) (2) (3) (11) (8) (3) (1) (1) (4) (2) (4) (2) (1) (6) (1) (1) (1) (6) (2) (1) (1) (1) (3) (1) (5) (1) (1) (23) (1) (1) (1) (1) (1) (14) (1) (10) (1) (1) (2) (1) (1) (1) (27) (6) (3) (2) (4) (4) (1) (1) (41) (11) (12) (4) (38) (1) (3) (2) (4) (1) (1) (1) (1) (2) (1) (1) (1) (1) (1) (10) (25) (8) (3) (2) (3) (2) (1) (5) (1) (1) (2) (1) (1) (14) (1) (5) (1) (1) (5) (43) (1) (1) (1) (3) (24) (1) (1) (1) (1) (5) (1) (4) (1) (1) (10) (1) (3) (1) (1) (1) (1) (6) (5) (1) (1) (1) (3) (1) (3) (1) (1) (1) (69) (4) (3) (7) (3) (1) (16) (6) (1) (29) (1) (7) (1) (4) (4) (4) (1) (1) (1) (1) (1) (1) (1) (10) (4) (4) (2) (1) (89) (14) (1) (2) (79) (2) (2) (1) (1) (1) (1) (1) (1) (3) (2) (3) (1) (1) (24) (3) (5) (4) (1) (2) (1)

Eric Cheng's RSS Journal Journal RSS
Eric Cheng's RSS Journal Comments RSS

proudly powered by wordpress
script exec time: 0.79s
i hate computers.