Author Archive

Yoshimoto Cube

Wednesday, December 31st, 2008

At first I thought this video was just going to be about a flexicube, and I almost quit watching before it got good.

ExpanDrive v1.3.3!

Tuesday, December 30th, 2008

I’m happy to announce that we’ve just gone live with ExpanDrive 1.3.3, and it’s got some awesome new stuff. Get it downloading now, so you can play with it by the time you’re done reading this post.

MacFUSE 2.0

A few weeks ago the crew at Google release MacFUSE 2.0. ExpanDrive is built on top of MacFUSE, and the new version brings a lot of exciting improvements. Most importantly, once you upgrade to MacFUSE 2.0, ExpanDrive will notice much more quickly when files change on the remote server.

When you run ExpanDrive 1.3.3 it should offer to upgrade your copy of MacFUSE for you. In rare circumstances, our MacFUSE installer hasn’t worked correctly for people. If it gives you any trouble, you can download a copy of MacFUSE directly from the Google Code site and try their installer, which has worked for almost everyone so far. (It’s the exact same thing we distribute with ExpanDrive.) If you do run into MacFUSE installation issues, and you’d like to help me fix them, then send me (jonshea@) or support@ an email.

Amit, Ted, and the rest of the MacFUSE team have done some crazy impressive things with MacFUSE. If you’re at all interested in filesystems, then you should definitely check it out. We owe them many thanks for all their hard work on the project.

Improved FTP Support

ExpanDrive 1.3.3 brings even better and more widespread FTP support. Occasionally, ExpanDrive might not connect properly to a particular FTP server. If this happens to you, then send us an email (with a temporary login to the server, if you can.) We’ve been able to fix nearly every FTP server that’s been sent to us within a few days. The reason some FTP servers don’t work is that the FTP protocol isn’t well standardized. Sometimes a server gives out output in a format we don’t expect because we’ve never seen that server before. Once we see their output format it’s usually pretty straight forward for us to fix.

Further information can be found in our release notes.

Why Do You Always Have to Reboot Wireless Routers?

Tuesday, December 30th, 2008

You know how some consumer routers and switches need to be rebooted reularly? Every week or so they crash, and all you’ve got to do is reboot them to bring them back. If you’re like me, then your parents have one of these routers.

Anyway, Jeff and I have spent a few evenings at the office hypothesizing about why these crashes happen. I figured it was just bad code, stack overflows or the like. Jeff thought it was probably an electronics issue. With cheap or poorly planned electronics it’s entirely possible that line noise could corrupt the system state.

Well, give Jeff a point. Michael Rothwell (author of my favorite Mail.app 2.0 plugin) reports:

If you intermittently lose your wireless connection, and you have a netgear rangemax access point, try swapping out the power supply. Apparently the one that comes with it is bad and causes the access point to reboot spontaneously. Since swapping power supplies, I’ve not had any problems with mine.

Ponzi Crawl

Thursday, December 18th, 2008

From Urban Dictionary:

A pub crawl that adds a new person to buy a round at each location. Each new person is promised that they will get free drinks at all the future bars if they buy this round. Obviously, whoever joins the ponzi crawl last gets screwed!

Let’s get some suckers to buy us beer on a ponzi crawl this weekend.

Apropos: Bernard Madoff

iPhone: Double Tap for iPod Controls

Wednesday, December 17th, 2008

img_0003

I haven’t seen anyone mention this yet: in Settings -> General -> Home Button there’s a choice labeled “iPod Controls”. If you turn this on then you’ll get a little iPod pop up if you double click the home button while a song is playing. It shows rewind, play/pause, fast forward, and the volume slider, and it leaves the underlying program completely intact. So, if you’re using Google Maps you can bring up the iTunes menu, and Google Maps stays right there waiting in the background. As soon as you click something, the iPod menu disappears and Google Maps is good to go.

The best part is, you can get this menu even when the iPhone is locked. So when you’re listening to a podcast, and you want to stop it for a second to buy some coffee, you can just double-click home and pause.

If you don’t have “iPod Controls” enabled then you have to click home, slide, click home, tap iTunes, tap Now Playing, and then tap pause. “iPod Controls” is a big win in my book.

JetBlue

Wednesday, December 3rd, 2008

I just tried to sign up for a JetBlue online account, and I accidently fat-fingered the return key after entering only my first name. Bizarrely, JetBlue accepted the nearly blank form, and created an account using my previously entered username and password. If I try to make a new account it tells me that my email address is already in use. But if I try to log in, I get this: “Data is Null.”

I love it when I get to see big, expensive, important web sites throw up a little. It’s probably worth the hassle of calling to get the account fixed.

“The Pogey”

Wednesday, December 3rd, 2008

A friend of mine writes about unemployment insurance (which Canadians call “Employment Insurance”, or “the pogey”) in Newfoundland:

Out of curiosity, I wandered into an employment assistance office one day, and began asking a friendly lady who worked there about the specifics of their EI [Employment Insurance] program. She told me unabashedly, but in a quiet voice, “Everybody around here collects in the winter, and then goes and works on top of it. I mean everybody. I even used to collect and then work part-time here in the office. It’s just part of life, how we get by. But don’t tell my boss, I’m not sure if she does that.” In Newfoundland, it seems that pogey is in bed with fishing, and that seems to be fine.

Photo: Awesome Kitchen UI

Monday, November 24th, 2008

A picture of my favorite user interface in my kitchen. I’m never going to give up this microwave.

Microwave

“Inside a frozen pizza factory”

Thursday, November 20th, 2008

I’m obsessed with factories. As a kid I’d suffer through whole episodes of Mr. Rogers just in case it had a factory tour (even though the tour was almost always the crayon plant). For a long time my dream job was to design and improve the automation in factories.

Check out this video on the BBC website which tours a frozen pizza factory.

Pizza sauce is blasted at the crust At one point the tour guide pulls a shaped ball of dough off the conveyer belt, and I momentarily freaked out “Oh my god, they’re going to make one less pizza today because she did that! If there’s not a pizza buffer, then they’ll never fill in that pizza hole in the assembly line.”

They don’t show it, but there must be some kind of buffer, because a quality control human pulls a bunch off shaped dough off the line. I’d guess the buffer is somewhere after the crust gets baked, but before the spectacularly efficient sauce and pepperoni machines. I wish they had shown it.

Setup Gmail IMAP, Mail.app, and the iPhone with Archive

Monday, November 17th, 2008

If you’re happy using gmail.com as your user interface, then there’s no need to read further into this blog post. The Gmail web interface is the best I’ve ever used, but it’s not as good as a native, desktop app. If you wail on your applications like I do, then you need fast and local. Apple’s Mail.app isn’t prefect (no email client is), but it’s good enough. The interface is snappy, the search is fast and reliable, and I can drag and drop attachment files onto it.

I’m going to explain how to setup Gmail to work the right way with Mail.app and the iPhone. “Right”, of course, means “the way I want it to work.” In particular, this means that I want “deleting” something in my client to make it “archived” in Gmail for eternity. I almost never want an email to be deleted forever. I also want Sent Messages and Drafts to work in a reasonable way, but delete -> archive is the big one for me.

NB: This guide is a work in progress, a living document. Check back for updates. Feedback is actively solicited.

Setting up Mail.app

  1. Follow the directions at the Gmail Help Center. Make sure you enable IMAP in the Gmail web interface before you play with Mail.app. Also, when Mail.app notices you’re setting up a Gmail account and offers to do it for you automatically, don’t fall for it. It will setup and POP3 account, which is worthless, and you’ll have to start over. Finally, note that every time you’re ever asked for a “User Name:” you’re going to have to enter your whole Gmail address username@gmail.com.

  2. As always, the devil is in the details. In this case, the details are the “Mailbox Behaviors” panel for the account in Mail.app preferences. Google has Recommended IMAP client settings, an obscure Gmail Help Center page, and the Mail.app settings are unlinkably hidden by Javascript. I believe Google’s recommended settings are wrong. Well, I think their “Sent” recommendation is wrong, I agree with the other ones. Here is my recommendation.

mailapp_settings.png

If you match these settings then your Drafts, Sent, and Junk folders will automatically sync with the corresponding Gmail folders. Your local Trash folder will remain empty, and your deleted messages will get archived in Gmail’s “All Mail” folder.

If “Sent” is not checked, then Gmail stores a copy in its Sent Mail folder, and Mail.app will store a copy in its Sent folder. These two copies will be different, and deleting one will not delete the other. The ”Delete sent messages when:” setting will only apply to the Mail.app copy. If that’s what you’re into, then go for it.

A few caveats

Gmail Folders in Mail.app

Gmail Folders in Mail.app

After following the above directions, Mail.app may or may not have figured out how to merge the the Gmail tags with the corresponding Mail.app folder. For example, the Gmail “Spam” tag and the Mail.app “Trash” folder. In the worst case, if Mail.app figures out nothing, then your Gmail setup in Mail.app’s main window will look like the image to the left. If this is the case, then click on a folder that Mail.app did not figure out for you. Let’s start with “Drafts”. Click on the “Mailbox” menu, pull down to “Use This Mailbox For”, and select “Drafts”. Repeat as necessary for “Sent Mail”, and “Spam”. Do not do this for “Trash”. If you do, then Mail.app will silently turn on “Move deleted messages to the Trash mailbox”__ and your archived mail will start getting silently deleted. Oofta. Also, for some reason my copy of Mail usually won’t merge “Spam” with it’s “Junk” folder. I’ve given up on trying to make it work, because it doesn’t really matter anyway.

You may have noticed that with the above settings you lose the Trash folder in Mail.app. That is, you will have no record of your recently deleted messages except for Gmail’s “All Mail” folder (Mail.app’s Trash will be forever empty). I’m fine with that, since deleted messages are the overwhelming majority of my “All Mail” folder. Another option is to make a costume tag in Gmail like “[Deleted Messages]”, and then set this to be the Trash folder in Mail.app. Then, when you delete the message Mail.app will remove all existing tags, and add a [Deleted Messages] tag. If you delete it againOther option. Make a [Deleted Messages] folder yourself.

Setting the “IMAP Prefix”

In the Mail.app sidebar your Gmail tags will appear as folders. The built in Gmail tags (All Mail, Spam, Starred, Trash) appear nested in a folder named [Gmail]. The rest of your tags appear as folders at the same level as the [Gmail] folder. Some people recommend that you set your IMAP path prefix (in Preferences -> Accounts -> Advanced -> IMAP path prefix:) to Gmail. I don not recommend this. It will make your built in Gmail tags appear at the top level, but it will make your personal tags disappear entirely. Also, if you fiddle with it Mail.app will re-download your entire mailbox. Fair warning.

Setting up iPhone Mail

First, and important FYI: there are two different and barely distinguishable types of Gmail accounts on the iPhone. If you go to “Mail, Contacts, Calendar” settings, then “Add account…”, and select “Gmail” then you will get an account type that I will call “POP3”, even though I’n not certain it is POP3. This potentially out of date video calls it POP3, though the obscure page calls it IMAP. Regardless of what it is, you can’t make it work the way we want.

Amazingly, if you let iTunes sync your Mail.app Gmail IMAP account to the iPhone, the iPhone will turn it into a maybe-POP3 account. Furthermore, if you have a mail account on the iPhone that looks like an account in Mail.app, but isn’t quite the same, then iTunes will be unhappy about syncing. So the first order of business is to stop iTunes from trying to sync your Mail.app Gmail account to your iPhone. Plug in your iPhone, find it in iTunes, click on the Info tab, scroll down to Mail Accounts, and uncheck your gmail account. Then, since you can’t plug in an iPod without it syncing, go delete the account from your iPhone.

Bad Gmail probably-POP3 Account

Gmail non-IMAP “Auto-G” Type Account

The only way to get a Gmail IMAP account on the iPhone is to instead select “Other” at the account creation screen, and fill out the settings by hand. Instructions are on this page, or you can follow the above previously linked video. Note once again that you need to type out the full username@gmail.com each time.

After you’ve added your account information, quit the Settings app, then fire up Mail and let it download at least your folder structure. If you don’t do this, then the iPhone will let you fiddle with settings using only a fake INBOX folder that it assumes your account will have. Then, after it downloads your real folders, it will silently throw out the settings you put on the fake INBOX folder and replace them with its own defaults. I kid you not.

iPhone Gmail “IMAP” account

iPhone Gmail “IMAP” account

Once again, Google recommends that you keep a separate copy your sent messages on the iPhone on its Recommended IMAP client settings page, and I disagree. My settings are in the image below.

My recommended Gmail settings

My recommended Gmail settings

Also, while Mail.app will let you live your life without any Trash folder at all, the iPhone isn’t so understanding. It demands somewhere that it can put a Deleted Mailbox. Put it “On My iPhone” and it will make a separate Trash completely independent from Gmail. You can delete these message on your iPhone whenever you want, and it will not effect Gmail at all.


Other notes

This is a lightly tested theory: if you enter username instead of username@gmail.com then you will download new messages ok, but your deletes and folder moves will not propagate to the server correctly. Oofta.

Heinous iPhone Bug: If you make a new account with the same settings as an existing account, then the client will merge the two accounts with the new one’s blank settings, and erase the data in the old one. If you delete one, then it will delete both.

Advanced IMAP Settings

Google Labs recently released Advanced IMAP Controls for Gmail. If you activate advanced IMAP controls then you can choose to make some folders “invisible” to the IMAP interface. Some people are really excited about this, because they don’t want to download their huge “All Mail” folder. Mail.app will only download it once anyway (and then you have an offline copy), and the iPhone only downloadss 50 at a time, so I don’t see what the big deal is.

The advanced controls also expose a completely incomprehensible feature to let you “turn off auto-expunge”. When this came out about 100 people reblogged it, and it’s pretty clear that no one knows what it does or how it’s supposed to work. According to the official Google post:

The IMAP protocol allows messages to be marked for deletion, a sort of limbo state where a message is still present in the folder but slated to be deleted the next time the folder is expunged. In our standard IMAP implementation, when you mark a message as deleted, Gmail doesn’t let it linger in that state — it deletes (or auto-expunges) it from the folder right away. If you want the two-stage delete process, after you’ve enabled this Lab, just select ‘Do not automatically expunge messages’ under the ‘Forwarding and POP/IMAP’ tab in Settings.

Um, ok. First off, what is “expunge” supposed to mean, and what does it mean to Google? Second, if deleted messages aren’t immediately expunged, then when are they expunged? Once a month? When you click the “expunge” button? (There is no expunge button). Third, that option to “Do not automatically expunge messages” followed by “When a message is expunged from the last visible IMAP folder: Archive the message” is pretty tempting. It’s a trap! As far as I can tell, with every other permutation of settings this will make deleted messages go to the Trash and then disappear forever.

I held out a long time before making the move to Gmail. I got an invite soon enough to get my second favorite username, but then I sat on it for years without using it. At first it was because I was too hardcore to let the gRobot read my email. Later, when I’d become less of an idealist and more of a pragmatist, it was because Gmail didn’t support IMAP. When IMAP support was added last year, I didn’t move because I was to lazy to migrate. Eventually my other mail server went down at an inopportune time, and I decided to make the leap.

Pages with potentially useful information

Deleting IMAP Messages

Apple iPhone and Gmail deleted messages

IMAP Actions

Gmail Archiving and deleting on iPhones

Advanced IMAP Controls

Advice that doesn’t quite work

Other iPhone tips we’ve written about

Double tap for iPod Controls

Mac Retrogaming on your iPhone with minivMac.app

Turn Your iPhone 3g into a Wireless Hard Drive

iPhone: Charge while your Mac sleeps

Grab the RSS feed
Follow ExpanDrive on Twitter Follow us on Twitter


Try ExpanDrive

If you’ve heard of SSH then you need ExpanDrive.



Try Strongspace

Awesome SFTP/rsync online storage by ExpanDrive.