Category Archives: Instructional Materials

Tutorials, how-tos, or otherwise helpful.

NYC 10: A Guide To Taxis

This month marks 10 years since we moved to New York City. I’m writing on a variety of topics to reflect on a decade in one of the best cities in the world. Read all the posts.

First. Find a corner where no one else is looking for a taxi. You don’t want to be that asshole that stands in front of someone who’s been trying desperately to hail a cab for ages, as they will complain about you for hours. Hours. If you’re feeling charitable, walk with traffic for a block before attempting to hail.

Second. Look for an available cab. Stare at the medallion number on top of the cab. If it is lit up, it is available; if it is not lit up, it is not available. Use this information to guide you in the next section.

Third. As an available cab becomes visible, or if a large swarm of traffic comes your way, put your arm that is closest to the street up at a 45-degree angle. (There is no specific thing you need to do with your hand, but I like a two-finger point, myself.) If no cab stops and no other cabs are visible, you may drop your hand until the next wave of traffic comes – although if you see someone else lurking for a cab, you may wish to continue the Hailing Gesture to indicate that this territory is yours and they need to go elsewhere, lest you complain about them for hours.

Fourth. When a cab does stop, quickly enter it. Do not ask the cabbie through the window if he will take you somewhere, because if you have to ask, he will immediately say no and drive off, which is legal because you didn’t get in the cab before telling him you wanted to go to Queens. If you have a suitcase or luggage, the driver may pop the trunk for you. (Note that if you have luggage and you aren’t going to the airport, they will grumble.) Do not get in a black towncar or a gypsy cab if they attempt to pick you up, as that’s illegal. If a pedi-cab (those guys on bicycles) try to pick you up, scoff loud enough for them to hear you.

Fifth. Now inside the taxi, indicate clearly to your driver where you wish to go. Unless you are going to a major landmark, give a cross-street. Do not give building numbers as it doesn’t help. Enunciate clearly all numbers, indicate what type of street it is, and repeat any multi-digit street numbers using just digits, so as to avoid confusion between similar sounding numbers. And be polite.

BAD INSTRUCTIONS: “51st and Lex.”
GOOD INSTRUCTIONS: “Fifty first Street and Lexington Avenue, please. Five one.”

Sixth. Tap the Taxi TV screen in the lower right corner to turn it off. Do not sit and watch Sandy Kenyon’s terrible movie reviews. Don’t worry, the screen will turn back on at the end if you’re paying credit.

Seventh. Relax, but retain a general sense of where you’re supposed to be going and where you are actually going. Traffic, street fairs, accidents, and that weird things where all the cops park on the same street at once (seriously, what is up with that?) may cause your cabbie to redirect. This is natural; going twenty blocks the wrong direction is not. If you detect the driver is going too far the wrong way, provide helpful feedback, such as: “Hey, buddy, are we going the right way? I said (repeat destination clearly).” If you are not familiar with the city geographic, you can turn the Taxi TV back on and put it on GPS mode.

Eighth. You have arrived! Pay the driver. Cash is king, but credit cards are accepted in all cabs. Tip nicely (at least 20%) because driving a taxi is not the easiest way to make a living. Get out on the side closest to the curb. If someone nearby was waiting for a cab, hold the door for them as they get in and close it behind them for an extra touch of class.

And that is how you take a taxi.

Enabling Data Protection in iOS 4

For all of my friends and readers with existing iPhone/iPod Touch hardware, today is an exciting day: iOS 4 is now available via iTunes. But before you go rushing to update your phone, let me give you one small piece of advice:
Apple has done a great job bringing some of the enterprise security features (complex passcodes, wipe on 10 failures, etc) to regular users as part of the upgrade. One of the new features in iOS 4 that has been underreported on is called “Data Protection“. From my understanding, Data Protection is meant to correct some of the issues with the original hardware encryption method introduced last year on the 3GS and 3rd Gen iPod Touch. It also provides developers with better APIs for encrypting your data, so that if you’re carrying around your financial data or health information, you can get an additional level of security. Additionally, there’s no discernible performance hit.
Sounds great, right? There’s a tiny catch: if you’re upgrading from iOS 3, the filesystem needs to be rebuilt from scratch to enable this feature. So if you have an iPhone 3GS or iPod Touch 3rd Gen, you need to do a backup-factory restore-data restore installation of iOS 4. To break this into discrete steps:

  1. Plug in your iPhone.
  2. Let it backup through iTunes.
  3. Rather than clicking “Upgrade”, click “Restore”.
  4. Let iTunes download the installer and do a complete restore.
  5. When the installation is done, iTunes will prompt you about restoring from the backup you just took. Do so.
  6. Wait the somewhat lengthy amount of time as all your data is put back onto your phone.

You can confirm this has been done by going to Preferences -> General -> Passcode Lock and scrolling to the very bottom, where you should see “Data Protection is enabled.”
That’s it. You will need to set a passcode to get the benefit of this (but you should have that anyhow); iPhone 4 users will automatically have this out of the box. You are certainly allowed to just do a regular upgrade, but you won’t get data protection (and if you’re in an enterprise, know that configuration profiles can check against this as a pre-requisite.) And for those on earlier hardware – sorry, you lack the hardware chip to do the encryption.
Developers who are interested in the technical details or in leveraging Data Protection should check out Session 209, “Securing Application Data”, in the WWDC 10 videos.
Enjoy the upgrade.

You Made Me Realize: APW 2009

This is mud. Three hours of heavy rain shortly after the start of the festival combined with a not insignificant number of feet walking across the grounds combined with the frequent animal visitors to the park (geese / dogs / feral cats / et cetera) yield a unique mud blend that is extremely slick yet sticky and also heavily smells of shit. While the texture will threaten to cause you both to slip and to be stuck, this is temporary and location based. The smell will burn your nostrils for the duration of the festival no matter where you are positioned.

This is how you discover your new favorite band, later.

Continue reading You Made Me Realize: APW 2009

Changing the Google Notifier Refresh Rate

I find the Google Notifier to be invaluable, since I don’t get a large enough volume of mail to run a native client while at home. A number of months ago, the rate at which it checked for mail decreased significantly.

Luckily, there is a simple fix: defaults write AutocheckInterval # (where # is the number of minutes between checks)

Just jotting this down so I don’t lose this. Adapted from the original instructions on MacOS X Hints.

Thanksgiving 2008 Postmort

The leftovers are gone. The fullness has subsided. It’s time to document.

Thanksgiving 2008

For much of the last six years, cooking had become more an act of desperation than a usual course of action. A year of frequent but uncreative cooking in Ithaca gave way to five years of constant dining out while in Astoria. Our pots and pans sat lonely in our oven, doing very little.

But the situation has turned around once more, and I am cooking regularly. So much so that we’ve successfully appealed to both sets of parents that we wanted to spend holidays here, rather than making the standard trips to upstate NY and Maryland to split the holidays. (For reference: our previous two Thanksgivings spent in the city were 2003 – invited to two friends’ dinners – and 2007, which we ate at Eleven Madison Park.)

Katie and I spent much of the last week scrambling. After scouring our cookbooks and favorite websites, we had settled on preparing six dishes and three sauces. It is the largest meal we’ve ever cooked to date – and will probably only be topped by Thanksgiving next year. And, just to be clear: we’ve only been cooking in earnest for three months.

Continue reading Thanksgiving 2008 Postmort

Leveling The New Apple Portables

I had three subsequent requests from friends to weigh in on the best value for Apple’s newly released laptops. Twitter ate my short thoughts, so I might as well lengthen it a bit.

Before I continue, I should note that a great place to always go is the Compare Models page on the Apple Store. It’s the best way to get a side by side comparison.

# Generally Speaking

Ever since the iBook and Powerbook were retired in favor of the MacBook and the MacBookPro, I’ve held the belief that unless you’re in the specialty niches that require a specific feature on the MBP (the ExpressCard/34 slot for mobile broadband, for instance), 90% of consumers will be fine with the MacBook.

Nothing released today has changed that base level assertion. Not even the multi-touch track pads on the MBPs.

# MacBook

First things first: the BlackBook remains a $200 uptick for a different colored case and a 90GB increase on the hard drive. (You can get the hard drive upgrade separately on a white MB for $100.) The BlackBook’s market remains people who explicitly *want* a black notebook. If you’re looking to extend your dollars, there’s no reason to buy it.

Thus, we’re left looking at the other two models. I will call these “Low-End White” and “High-End White”.

If you take Low-End White and add the hard drive bump and the RAM bump found in High-End White, you come in $50 less than the list for the High-End White. So in that $50 you’re getting a decent clock bump (300 MHz) and a Superdrive – which makes High-End White the smarter choice here.

# MacBook Pro

I am frequently baffled by Apple’s pricing, and here’s one of those instances.

Like the BlackBook, the 17″ MBP is for a certain breed of people who just *have* to have a 17″ display. People who merely want *a laptop* and not a *17″ bohemoth* – there’s no need. And frankly, I question their commitment to Sparklemotion.

So again, we’re looking at the two options, thus dubbed “2K” and “2.5K” solely based on price.

What does the $500 jump get you in this case? Er, well…

* A rather meager 100MHz bump on the CPU
* 3MB more of L3 cache
* 50GB more disk space
* Double the VRAM in the video card

The hard drive bump can be duplicated for $50, so you’re looking at $450 for a tenth of a GHz, a bit of cache, and a significant bump on the VRAM. But keep in mind that the VRAM bump doesn’t provide higher resolutions on the display – it will likely only be useful if you’re playing Crysis under Boot Camp or doing some high end media work.

Thus, I must strongly recommend that if you need a MBP, the 2K model is more than good enough.

HOWTO: iPhone Webclip Icons

I remember, years ago, I was baffled by the little 16×16 icons that were showing up in my URL toolbar, and it took a surprising amount of searching to find out how to create one. I refuse to let this happen again.

So: if you want to make a custom icon for your website that will show up in the Springboard when a user makes a “webclip”, using their iPhone or iPod Touch, the dirt simple way is:

* Create a 57×57 PNG.
* Name it “apple-touch-icon.png”
* Throw it in the root folder of your website. (Not the root of your server, the root of your web documents.)

Boom. If you add a webclip for, you’ll see my smiling mug.
If you want more flexibility – perhaps you don’t have access to the site root, perhaps you want to use a different file name or format – you can use a link tag in the head of the document, such as:

<link rel="apple-touch-icon" href="/whatever.jpg"/>

I’ve tested this with a slightly larger (75×75) JPEG, and it works without trouble – it just scales things down.

If you’re testing this on your iPhone, you may notice a pause of a few seconds before the icon appears when you press “Add To Home Menu”. I’d imagine the icon only downloads when you request to make a webclip, instead of the “request it every time” method used for fetching favicon.ico. (As for why it’s a few seconds – well, that’s EDGE for you. The lag goes away when you use WiFi.)

Apple has more info on their iPhone Dev Center; look at “Create a WebClip Bookmark Icon”.

And don’t worry if your icon design skills aren’t up to snuff, but do worry if you care about the sanctity of your image:

>Safari will automatically composite the icon with the standard “glassy” overlay so it looks like a built-in iPhone or iPod application.

Addendum @ 9PM: I should note another oddity: there’s some degree of clipping off the sides of the icon that can’t really be controlled. I found this by scaling down a circular logo (in EPS format) to 57×57, and there was a noticeable clip on the sides. With that in mind, I recommend adding a pixel or two on the sides if you’re using a circular design. Note that scaling the icon down under 57×57 does not solve this, it merely scales it up to fit the 57×57.

Addendum @ 10PM: Neil Epstein, Technology Director for Gothamist LLC, says 47×47 seems to be the usable area, and that he had best luck with 45×45.

Addendum @ 1/16 7AM: Playground Blues notes that because of the resolution of the iPhone screen, using an oversized image (such as his 158×158 image) may result in a crisper icon. [via HicksDesign]

Tutorial: Easy Archiving for Gmail IMAP

Long overdue update: There was a post here explaining how to mess with your iOS settings to get the Mail application to “archive” instead of “delete”, as some people prefer one behavior over the other.

As of iOS 4.2, this tutorial is completely unnecessary, as there’s a setting to choose whether you want the now-default Archive method, or a regular old delete. You can find it in the main account settings for your Gmail account:

I have nuked the previous tutorial, as it was confusing and useless in light of Apple engineering out a better option.