Tuners Use zsh & iTerm

One of the tools that I haven’t had much success really tuning before, which I’m looking to try again is Apple Terminal.

Mac OS X has been with us since 2001. There is now a lot of stale information out there for tuning the command line experience. For example, there are still a lot of articles about tsch in search results. The earlier versions of Mac OS X default shell was tsch, but since 2003 the shell has been bash.

One thing I’ve noticed in the screenshots of tuned Terminal is “zsh” in the window’s title bar. I’m not willing to tackle figuring out the zsh shell, but I find it interesting that it’s a favorite of the tuners.

Another favorite seems to be using iTerm. I noticed my co-worker Demitrious Kelly sporting iTerm in his WATCHME for wpshell. And today, reading my co-worker Andy Skelton’s “My SSH config setup” fellow WordPress contributor Dougal Campbell and my co-worker Donncha O Caoimh both gave iTerm shout outs.

I wonder if Apple Terminal has mostly caught up to iTerm. It seems iTerm might still have some tab advantages.

5% of Nothing

More than 5% of Nothing

"Sync Alert" Adding 1 Contact with iPhone OS 3.0 with Mac iTunes 8.2.1 (6)

Makes me laugh and cry a little.

This alert is likely meant to warn that a whole lot of data is being added, modified or deleted as part of a sync. It’s an “oh crap, likely either you are doing some wrong or the software is”.

I’m intrigued that UI Expert Aza Raskin (Humanized & Mozilla Lab) finds this alert the “The first good use of a warning I’ve seen!”

I’m not confident that it is generally helpful. Reading online, it does seem that Mac Sync has been quite buggy historically, so this would likely have been very helpful, but does make me nervous that this alert is a bandaid instead of the needed medicine. I would be interested to find out the use cases, and the scenarios where this has been needed.

Synchronization of data between two (or more) sources is a really hard problem. Well the hard problem is mostly related to conflicts when something is changed in two or more places. Daniel Jalkut once wrote, ‘Every developer faces the decision: “Do I want to be known as the jerk who won’t implement sync, or the jerk who can’t.”‘

I’m not actually syncing, because I don’t use Notes on the Mac (does it exist?). It’s really just doing a backup.

In this case, that is the “Sync Alert” of syncing an iPhone running iPhone OS 3.0 with my Mac over ethernet to iTunes 8.2.1 (6). I’m syncing 1 note.

Assuming that this behavior is generally useful, that I’m receiving a warning when 1 note is being added brings up the most obvious issue. There should be a minimum threshold before this exception behavior is triggered. It shouldn’t be 5% of nothing.

When you’re just starting to sync with your Mac, this could be a fairly high frequency alert. It depends on how quickly you add items; how quickly you get to more than 20 items in a category. You’ll also see this alert again when you start using a new feature (new type of item). This leads to the 2nd issue, the alert and warning language — I’m not seeing any yellow, but I’m sure feeling it. Because it is potentially high frequency, it should be presented and worded as a friendly confirmation.

The 3rd issue isn’t obvious from this screen shot. Another clue that it should be a confirmation is that sync does not continue until you have cleared this alert. This is actually problematic, because the alert is non-modal, meaning you can hide it or bury it under other windows. The worst part is iTunes with it’s animated progress bar makes it look like the sync is still progressing. This alert should at least stay on top of iTunes.

The 4th is I don’t think add, modify, and delete are equal. Adding an item is an easier event to undo then a modify or delete. I can just delete it. If something is modified or deleted, it may be hard to recover the lost information. The different events should have different weights. Adding an item should only trigger an alert if a lot are added.

How many is a lot? That brings me to the 5th and final issue that readily comes to mind. It likely shouldn’t be a percentage at all. How long would it take before 5% is a really big number? Probably not long at all. If I have 1000 business contacts, a sync would have to delete 50 of them for me to be notified. Again assuming this alert offers some protection, by using a percentage, even as low as 5% percentage you are penalizing your most passionate customers. Possibly, it could be a percentage that also factors in things like amount of time since last sync or what operations resulted in the changes, but that would likely get complex quick and I suspect the developers would more quickly find the sweet spot by using a constant number (possibly variable on a curve. I hesitate to recommend user defined variable).

Later in that discussion by Aza linked above, he does add “It could be laid out better, but I like the idea of “uhhhhh, that’s dangerous”. Of course, undo is always better :) ”. I don’t think undo would be the silver bullet. I definitely think there is value in confirming changing a large amount of data particularly when the change is destructive, and the need to undo might be overlooked. I just don’t think Apple has polished this implementation.

I feel a bit like I’m playing dirty writing this article now when the next version of Mac OS X, Snow Leopard is only a couple of months away. Still, I was hoping this would be resolved with the new iTunes for iPhone OS 3.0. I’m still hopeful that Snow Leopard with it’s attention to polish might surprise me here.

Daniel Jalkut, WordPress Hero!

Daniel Jalkut, the proprietor of Red Sweater Software, is the developer of the excellent Mac desktop blog editor MarsEdit. He is also a code contributor to WordPress.

I became acquainted with him about two years ago when he started submitting detailed bug tickets (often with patches!) to WordPress.

I’m the developer of MarsEdit, a Mac desktop blogging application that works with WordPress. When my customers have trouble with the “upload image” functionality, the error responses from WordPress are lackluster. I tracked this down to a simple failure case in xmlrpc.php where the verbose error returned by wp_upload_bits is not being propagated out to the response text.

I’m attaching a proposed diff which addresses this. The diff is against /trunk/ as of today, but I would really love to see this integrated into the 2.1.x branch, because it will have a major impact on my customers’ ability to debug MarsEdit interoperability with their WordPress blog.

Daniel Jalkut
Red Sweater Software

That’s the description of ticket #3981: “Patch: Improve error propagation from newMediaObject failure in xmlrpc.php”.

Starting with #3981 he has participated in 50+ bug reports and fixes in the XML-RPC and ATOMPub areas. He has literally participating every month for the last two year! He collaborates regularly with Joseph Scott and the other members of the WordPress XML-RPC and AtomPub community.

As I have been navigating around the edges of the Mac development communities lately, I’ve learned what a well regarded, active participant Daniel is the indie Mac developer community. I highly recommend his and Manton Reece‘s podcast Core Intuition if you are interested in Mac development.

Daniel comes across as a pragmatic, thoughtful, eloquent person. As the bug above suggests, it’s in the interest of giving his customers fantastic service that he participates in WordPress development. And WordPress is much better software thanks to his participation!

He also regularly recommends the WordPress.com service or the WordPress.org software depending in his customers’s needs and tech savviness.

Daniel Jalkut is a WordPress developer and advocate. He is a WordPress Hero!