Six months in Mac

Desktop October 4th, 2011

This is my response to Seven Minutes in Ubuntu.

I started using Linux as my alternative desktop in 2003. I finally ditched the pre-loaded Windows XP with Gentoo Linux in a new Dell 700M around 2005. I preferred KDE3 over GNOME for its integrated user experience, and the killer application KDEPIM. However, the performance of i855GM kept degrading with the kernel rolling upgrade, and the migration to KDE4 is so painful that I began to explore the lightweight desktop environment, such as Xfce, E17, various boxes. And eventually settled in FVWM with OSX_Milky theme. It is really fun, and time-consuming to fine-tune the script/configuration for personal preferences.

In Microsoft, I had one dedicated Windows 7 machine for Outlook, two Windows 2008 R2 development boxes, and several Hyper-V VMs running Windows 2003, Vista, Windows 2000 and NT4 for regression testing.

In Skytap, I am using a brand new MacBook Pro, Snow Leopard as other developers. Thanks to the apple’s flatland aesthetic, the transition for a new user is pretty smooth with only few bumps:

  • The fish-eye dock is no stranger.
  • So it is with Exposé
  • The traffic lights in the top-left corner is less informational, but looks pretty.
  • It is hard to reach the top menu bar, especially when I tried to use the 30′ HP ZR30w as my main monitor.

The Good

Everything just works.

The desktop environment is well polished, sleek and aesthetic.

Lots of handy tools, like bash, openssh, grep, find are pre-loaded.

The Bad

I am really frustrated by the window management in Mac: when you click the docked icon or use the application switcher(which appears when you hit Command-Tab), the whole group of applications are brought into the the front while I just want to switch back to the last window I am working on. You have to either right click or click-n-hold the docked icon to select the specific window which incurs too many clicks. How about a fan of snapshots when mouse hovers just like Windows 7 does?

I also dislikes the space. I have been using the similar feature called virtual desktop comprehensively to declutter my workspace, but I failed to get the space working as expected. The space is supposed to be an isolated desktop, if the application instance is not launched in this space, it should not show in the dock or the application switcher, period. The notification from other space may use bouncing dock icon effect or growl to attract your attention.

I can live with the odd behavior of maximize button, but why the window has to be resized from the down right corner? This is particularly tedious if you try to tile and adjust several windows horizontally/vertically.

The default Terminal.app is half-baked. What a shame that it does not support 256 colors capability!

I also miss the Cut/Paste feature in explorer.exe. I have to open multiple Finder windows if I want to move files to various destinations. Using bash seems easier.

The built-in Chinese IME is very primitive, the Microsoft Pinyin IME bundle with Windows 7 is much more useful.

.Trashes is very annoying, especially for a USB drive. I once tried to delete some documents to make more rooms in my Kindle, and surprisingly found the free space does not change at all. As I telneted to the Kindle via USBNetwork, I found the hidden .Trashes folder which held every bits I tried to erase. Finder should allow .Trashes to be opt-out.

Bonus

Here is the list of most frequent used applications:

No single Mac-exclusive application in the above list.

Conclusion

The power of Mac is the synergy of beautifully-crafted hardware and intuitive software. No other PC manufacturers has such fine-grained control on user experience. Linux desktop has a edge on customization, but stumbled upon the lack of hardware support, ramification of user experience(GNOME3 vs KDE4 vs Unity) and unpolished design.

Update

Thanks to masklinn’s comment, window resizing, native 256 colors terminal, cut/paste in Finder have been fixed in Lion.

Rants on Windows 8 build

Desktop September 27th, 2011

I was quite impressed by the mockup of Windows 8 in an internal Microsoft presentation around eight months ago. Thanks to Windows team’s hard work to make the preview version public available, I can rant my thoughts without violating the NDA.

Windows 8 is Microsoft’s answer to the post-pc era: touch takes the central stage; the traditional desktop has to wait to be summoned in the backstage. It is a disrupted transition for desktop users to focus more on content consumption than content production. For old school user, Metro is even less useful than screen.

Though Metro has achieved global recognition in the design industry, it has not won the hearts of customers. It is really adventurous if not reckless to bet the fate of the corporate major cash cow with such uncertainty.

The Drag-n-Pin in the Metro allow user to optimize screen real estate in finer-granularity than the notification model. This is cool, but not new. According to my bumpy experience with awesome in Arch, It is hard to make tiling windows manager works as expected and it is annoying when it just not works. I look forward to Windows team’s solution.

Two plugins in one browser just makes trouble

Desktop July 27th, 2008

Today one website I usually visit requires me to upgrade the Adobe Flash player, and in fact, I just did recently n the emerge world. From the output of the Firefox about:plugins output, I seems to have more than one Flash player installed:
Two Flash plugins installed in Firefox

It is a little bit overkill to launch strace as Firefox considerately leaves the option to expose the full path by enabling plugin.expose_full_path in about:config, this is the screenshot after netscape-flash-9.0.124.0 is un-emerged:
One Flash plugin installed in Firefox with full path exposed

Seems I did manually install the flash-7.0r63 in the home directory that overrides the system-wide Flash plugin. Once it is removed, and 9.0.124.0 is re-emerged, everything works.

BTW, if you happen to be a Flash developer, and would need to install multiple versions of Flash player, it is may be worthy taking a look at Flash Switcher as well.

Is MobileMe the ONE?

Desktop June 12th, 2008

The 3G iPhone and the accompanied MobileMe service introduced in WWDC 2008 stirred the buzz in the blogosphere as ever. MobileMe logo The MobileMe tries to solve the long-lasting synchronization problem, which Microsoft have not figured out a panacea for both enterprise market and mass customers. Apple’s answer seems like an intuitive and elegant solution in the first impression, and we may wonder, is MobileMe the ONE?

I really doubt it, based on some common sense and reasonable guess as the service is not available so far, please correct me in your comment if I am wrong.

Push model may not cross the enterprise boundary
Push mail has been very successful in the enterprise world, but why there are no such things like push document, push worksheet? The instantaneous synchronization is just purely wasted in most cases, even not that inviting in the Corp net which is powered by Gigabit ethernet, let alone the consumers are using much slower high speed internet or 3G wireless connection.

There is no silver bullet to resolve conflicts
MobileMe supports family pack, so it is possible that one file is edited in different computers. The conflict has to be resolved however fast the synchronization is. We also need to track the version number because it is hard to tell which copy is the latest without network time synchronization, so ultimately MobileMe would be a version control system. But according to my personal experience, there is no more intuitive way to resolve the conflict than three-way diff. But this is less user-friendly and not an available option if you are working with images or videos.

Accessibility and Interoperability
These are not big issues for die hard Apple fans. I believe Bonjour would automatically configure the firewall and all made-by-Apple applications would talk to MobileMe without any problem. No idea whether Apple would release the protocol document, like Microsoft did recently, to encourage 3rd party interoperability.

I personally prefer SSH, RSync and SVN( maybe Mercury later), periodically back up to my friends in a different zip code for extra safety.

ID3 tag for programmers

Desktop February 7th, 2008

If you feel unease to do anything in a command line, or you have no idea about what regular expression is, please stop; I am quite sure this recipe is just not your cup of tea.

eyeD3util is a small, yet powerful IMHO, package that handles nasty ID3 tags that GUI may not offer. As the name suggests, it is based upon eyeD3, thanks to Travis’ great work. There are three apps targeting different etches:

eyeD3conv.py
eyeD3conv.py convert the ill-encoded tag, and convert them to Unicode. Check this for a full story. Though never tested other than Chinese GB2312, theoretically, it can handle the tag encoded in non-latin1 locale. Please leave a comment if you have a success story.

eyeD3ffn.py
What if no tag attached like Hanes? Well, if we could get the essential information, the track number and name, we may add other meta data using eyeD3. This script parses the filename via the regular expression to get all available meta data you need, for example:

eyeD3ffn.py "(?P<n>.*) – (?P<t>.*)\.mp3" "02 – 祝我幸福.mp3"
Apply ID3 v2.3 tag to 02 – 祝我幸福.mp3
setTrackNum:  [’02′, None]
setTitle:  祝我幸福

eyeD3validate.py
To be a perfectionist, I would rather check whether the MP3 file includes all essential information required: title, artist, album, track number, year of publish and genre. This script just did the minimum, nothing less, nothing more.

Comments? Feedbacks?