What is up with Mail.app and Exchange?

Fired up Mail.app on my work laptop today for the first time in a while.

Outlook 2011, OWA (the Outlook Web interface) and my iPhone all show the same state of my inbox, with a single message in it.

Mail.app shows two messages – the one that the other guys show and one that I filed many hours ago.

Things I tried (all of which failed):

  1. Telling Mail.app to resynchronize
  2. Telling Mail.app to rebuild the mailbox
  3. Restarting Mail.app
  4. Deleting my Exchange account and adding it back (and the rebuilding the mailbox for good measure)
  5. Quitting Mail.app, moving my ~/Library/Mail folder to somewhere else, Start Mail.app, go through the wizard to see up my Exchange account all over again.

Nope. Still shows those blasted two messages. The last one is rather amazing to me. If I moved the folder out of the way, that seems to me like it would be pretty much starting from scratch. If that didn’t work, I can only guess that either the OS is doing some caching that I don’t know about or the message is still on the server and Mail.app is just interpreting the server state didn’t from all the others. Strange.

It still amazes me how much trouble we all have with computers with pretty basic stuff like email, calendars, and addressbooks, and getting it all to sync. I hate crap like this, because it breaks the trust that I have in computers to do the simple stuff for me. But then if I can’t trust it, I don’t know, I might as well go back to pen and paper. Imagine how much time we could free up as a culture if we didn’t have to deal with Exchange, IMAP, ActiveSync, SyncServices, and all of that other crap that sounds nice but then fails in strange ways.

Using TextExpander to expand a sequence of OmniFocus tasks: A failed experiment

I recently got turned on to TextExpander by the Mac Power Users podcast.

One of my ideas was to use snippets in OmniFocus to create certain repetitive multi-action sequences. For example, when a project involves emailing someone and then waiting for a reply, it would be nice to type a short abbreviation and then enter a fill-in for the name of the person and then have TextExpander create two actions in OmniFocus; one called “Email ” with a context of “Online” followed by another called “Waiting for reply from ” with a context of “Waiting”. I theorized this should be doable because TextExpander lets you insert key presses like Tab and Enter into snippets.

Well, it didn’t work for me as expected. Strangely, it works with the first action; I get the title and context that I want. For the second action, however, I cannot get it to set the context. No matter how many tabs I insert into my snippet expansion, any text that I try to make it put in the context field of the second task seems to go in the title instead. Strange.

Here is the snippet:

If you get it to work or have any insights, please let me know…

My custom Alfred.app searches

I thought others might find a couple of my custom searches and fallback searches for Alfred.app interesting. When I type some text that doesn’t match anything, here’s what I get:

Marc's Alfred.app custom and fallback searches

Marc’s Alfred.app custom and fallback searches

The “Jira search” entry searches my company’s local Jira server. You can add one for yourself by clicking this link and editing the URL in Alfred Preferences | Features | Web & URL | Custom Searches (this is in Alfred.app version 1.3.1).

The “OF Inbox” entry uses an omnifocus:// URL to send the text to your OmniFocus Inbox. Here’s a link to add this to your Alfred config.

OS X Lion: Restore windows when quitting and re-opening apps

I just upgraded my work laptop to Lion recently.

After the reversed scrolling behavior, the next big annoyance was that when I launch apps they open with all of the documents that were open when I quit them. This was particularly noticeable and annoying with Preview.app and Microsoft Word, because I typically open these to quickly look at something and then I quit them.

If you’re wondering how to turn this behavior off, uncheck the box shown below in System Preferences | General | Restore windows when quitting and re-opening apps:

New Homebrew formula for justniffer

Justniffer (http://justniffer.sourceforge.net/) – A very cool little TCP sniffer specialized for capturing HTTP traffic.

Example invocations:

$ justniffer -i en1 -p "port 80" - - [22/Dec/2011:11:45:03 -0800] "GET /wiki/Brew HTTP/1.1" 200 23163 "" "curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8r zlib/1.2.3"

$ justniffer-grab-http-traffic -d . -i en1
$ tree
├── bits.wikimedia.org/
│   ├── _w_extensions_1_18_OggHandler_OggPlayer_js_12index.js
│   └── _w_extensions_1_18_OggHandler_play_pngindex.png
├── en.wikipedia.org/
│   ├── _w_index_php_title_Special_3ABannerListLoader_cache__cn_js_language_en_project_wikipedia_country_USindex.js
│   ├── _wiki_Agile_software_developmentindex.html
│   ├── _wiki_Kent_Beckindex.html
│   └── _wiki_Martin_Fowlerindex.html