… you end up with this:

My flow is so intense that I will overflow your buffer,
Corrupt your stack pointer makin’ all your data suffer.
I’ve got saturated edges but your flow is sparser,
Real gangstas sip on Yacc; instead you generate a parser.
While you’re busy poppin’ stacks I’ll pop a cap in your skull,
While you smoke your crack pipe I’m gonna pipe you to /dev/null.
I may not have a label but I rap like a star;
I’m an unsigned long int and you’re an 8-bit char.

(Full lyrics and song by Monzy ; warning: explicit lyrics)

(via Upster)

For the uninitiated, podcasting is like a radio show that you regularly subscribe to, the podcasting software that you use downloads the mp3s of the show for you so that you can listen to it whenever/wherever you like. The difference is that anybody can start a radio show and anybody can subscribe. That’s right, just like blogs.

I updated iTunes to 4.9 to get the latest podcast subscriptions feature. There was also a software update for the iPod player for podcasting as well.

The first thing I did was click on this tab called ‘Podcasting’ and in the ‘Podcast directory’, it shows a iTunes Store-like interface for podcasts. I subscribed to Adam Curry’s Daily Source Code with a single click and it was downloaded and ready for listening in iTunes. To have even more fun, I connected my iPod and it was updated to have a Podcasts menu.

On the way to work today, I was listening to the 200th episode of the Daily Source Code, recorded live at Gnomedex(1). It was fun… no wonder podcasting has become such a rage. And yes, I did pay attention to traffic.

I wish NDTV or Tehelka had a regular podcast that I could listen to on a daily basis. Now, that would be cutting-edge…

P.S. iPodder is another great podcast receiver software. It works on Linux, Windows and Mac OS X.

(1) still have to find out what that conference was all about…

Introduction

I’ve been using Apple’s Mac OS X 10.4 Tiger on my Apple PowerBook since nearly a month now….. I can’t help but think “this is how computers should be”.

I’m trying to understand and jot down my thoughts on why it has made me more productive and why it is such a pleasure to use.

Disclaimer

Note that whatever I am writing here is from the point of view of a Linux user and a non-geeky one at that too. I like using Linux because it gives me many advantages and features that are suited to me but I don’t compile kernels or ./configure every application that I want to install. I’m not an advanced user by any means (see my blog’s tag line for more information).

What is Mac OS X ?

For the uninitiated, what is Mac OS X? Well, Mac OS X is the operating system (similar to Windows) that runs (only) on Apple Macintosh computers.

Mac OS X 10.4 Tiger is claimed to be the “most advanced operating system in the world”. Hmm, not quite. Why? Because it is more like a Linux distribution rather than a core operating system like Windows. Distributions contain lots of applications bundled so that you have almost everything you need when installing a distribution. On the other hand, when you install an operating system (in the true definition of the term), you need to install all your required applications separately such as photo software, bluetooth software, calendar, addressbook and email applications, office suites, DVD player software and so on. Tiger has most of this stuff as part of the system, these applications are not core of the operating system but are certainly central to getting your work done.

The lines are certainly blurring about where an operating system starts and the applications begin. For example, Microsoft Longhorn (the next generation of Microsoft Windows) is adding RSS capabilities to the core system which also means Internet Explorer (following the example set by Firefox and Safari browsers).

User Experience

First and foremost, every user expects the computer to be simple and usable. Needless to say, Mac OS X is miles ahead of the competition here. Simplicity just oozes out of the system. I find that aspect more appealing than any other “feature”.

For example, there is no Start menu and there is no taskbar. To run applications, open the Finder application (which is sort of like Windows Explorer), click on Applications folder and then double-click the application you want to run. Browsing your hard disk follows the exact same paradigm. Notice, that applications are treated just like files and are no different.

Under the hood, applications are just folders with .app extension – they show up as “applications” in the GUI. It can’t get more simpler than that and retains the Unix tradition of ‘treat everything like a file’.

Without a taskbar, how do you see what all you’re running? Press F9 and it shows you all the windows that you are running, and you can select the one you want to look at. There are keyboard shortcuts to cycle through applications as well as cycle through windows of the current application.

That reminds me that Mac OS X makes a distinction between application and windows of the application. For example, if I can start the Safari browser and close the window that opens up, the Safari application is still running. I can press Command-N to open a new window and continue. To completely quit Safari, you have to press Command-Q. This paradigm is consistently followed by all software. One of the advantages of this approach is that opening new windows are a snap compared to opening the full application every time. Also, you can have applications running even without a window open, such as the iTunes music player.

The Help functionality has radically improved over the previous Mac OS X 10.3 “Panther” where it used to take 6-7 minutes to just open! In Tiger, it opens instantly and the find functionality makes it really usable. I know that most developers sneer on the mention of documentation, but I feel a good to-the-point documentation is very important and has certainly solved many issues for me as a user.

The Devil is in the details

There are many applications that come with the Mac OS X such as the iCal calendar application (which I particularly like), QuickTime audio/video software, iTunes music player, Mail application, iPhoto photo software, Garage Band professional music-making software, iMovie HD for making home movies, etc.

What I like in most of them is the level of attention to detail. Mail.app is a good example. Mail has threads like every other modern email client, but what made it useful for me is the ability to move threads (which I was never able to do in Thunderbird). Similarly, the preferences section is to-the-point and makes it very easy to add new accounts, etc. without confusing the user.

Another thing I really really liked was the Activity Viewer. Press Command-0 (command-zero), and it pops up a window which shows you exactly what Mail is doing. You can even cancel operations in this Activity Viewer.

Keyboard shortcuts are a different story, though – Command-Shift-D for sending email is not very convenient.

Built on Open Source – great for developers

Remember that I mentioned that Mac OS X retains Unix traditions? That’s because it is based on BSD Unix. The core of Mac OS X is open source and is called Darwin. Mac OS X builds on top of Darwin and adds many features like the GUI and many other technologies.

This is undoubtedly appealing to many people like me, and is certainly one of the reasons that lot of researchers and students are switching to Mac OS X. As Paul Graham says:

If you want to know what ordinary people will be doing with computers in ten years, just walk around the CS department at a good university. Whatever they’re doing, you’ll be doing.

Mac OS X has many open source software that comes as part of the system including programming languages such as Perl, Python and Ruby. In fact, Mac OS X makes a big list of open source software part of the system including SQLite and wxWidgets and even Apache!

If you think Apple only takes from open source and does not give, you are mistaken. For example, Apple has something called kdrive that makes rendering of the screen very fast (which is why it is called an accelerator). This has been provided as open source and now Trolltech is porting kdrive to X.org to replace the existing outdated accelerator architecture which will make composition managers like xcompmgr really fast and able to do some of the ‘display tricks’ Mac OS X has been doing for awhile.

Apple has also recently made WebKit a fully open source community-involved project. WebKit is based on the open source KHTML and other KDE-based technologies. WebKit is the core of the Safari browser and other technologies that are part of Mac OS X. What’s remarkable is that Apple has managed to make it platform-independent and enabling Nokia to port it to their Series 60 mobile phones!

MS-land is nearby

If you really need MS-office, there’s the official Microsoft Office on Mac.

I have Windows Media Player 9 for Mac installed so that I can see all those great Channel 9 videos.

Integration – great for everyone

Spotlight

What makes Mac OS X wonderful is the integration of all the parts. The best example is Spotlight – the search engine for your desktop. Spotlight, by itself, was not impressive for me (you already have Google’s and Yahoo!’s version of it for Windows, and you have Beagle for Linux). What did impress me was the integration into the system. For example, I was browsing my Music directory in Finder and I wanted to look for that old song that I had made a few years ago. I just searched for my name in the search tab and voila, Finder/Spotlight fetched it for me in a couple of seconds!

Screenshot of Spotlight integration into Finder

The next thing I discovered about Spotlight was that there are hooks built in to Mac OS X such that every time you close a file after editing it, Spotlight comes into action instantly and indexes it. As a result, I was able to search in Spotlight for the email that dropped in my inbox a mere second ago.

Spotlight also provides a command line client called mdfind which you can use to search for files in shell scripts.

iPhoto and Mail

Another good example is iPhoto and Mail. In iPhoto, I can select a few photos, and click on Share -> Email, it automatically creates a new mail with the resized photos (to save bandwidth; and it is configurable) and all I have to do is enter the email address and click on Send. I haven’t found a similarly easy tool on Linux or Windows.

Not impressive? Well, Share -> Burn Disc writes to a CD in a couple of clicks.

The “Just Works” factor

  • Bluetooth is built-in to the system. Just click on the icon in the top bar and and click on ‘Set up Bluetooth device’ and voila! You can start transferring files from/to your bluetooth-enabled mobile phone. It works with printers, mice, etc. in the same manner.

  • Plug in your digital camera into the USB port – iPhoto starts up, click on ‘Import’ and you have the photos on your computer.

  • Plug in your iPod and iTunes opens up the same way. This one works seamlessly because Mac OS X, iPod and iTunes are all from Apple.

  • Software management is easy as well. The Windows-style installers are used, otherwise it is a simple unzip, double-click and run style of working. For OSS lovers, Fink allows you to apt-get install anything for Mac OS X. If you ever want to get rid of Fink, just do rm -rf /sw and you have a clean system again. Now, that is really cool. (Note that you have to install Fink separately)

  • If you download a zip file using Safari, it automatically unzips the archive for you and puts it in a folder.

  • PDFs are part of the system just like text files. The Preview software makes it a joy to read PDFs. Also, the Quartz rendering engine is based on PDF technology, so the rendering is lightning fast. In the print dialog of any application, you can choose to create a PDF.

Dashboard and the Dictionary

The dictionary feature is usually ignored by most people when they talk about Tiger, but it is one of those small but incredibly useful things for me, especially when combined with Dashboard. Dashboard is like a separate desktop that runs whenever you open it. You have “widgets” running in Dashboard that are like mini-applications. If I just move the mouse to the lower right corner (as per my settings), Dashboard opens up and I click on the dictionary widget and start reading meanings of some words I came across while reading. Similarly, I use the calculator and the Wikipedia widget in the Dashboard.

The flip side

Not everything is hunky-dory though. For example, in the print menu, if I click on Mail PDF, it used to give me an ‘unknown error’. It was fixed when I upgraded to Mac OS X 10.4.1, though. There are a few glitches here and there but I haven’t hit a roadblock yet.

Help

The Apple user forums have been very helpful to me. There are tons of sites out there with useful info including MacZealots and MacDevCenter.

Concluding remarks

There is a much more to explore but I’ll stop here for now. The combination of Mac OS X 10.4 Tiger and PowerBook has been an incredible experience for me, I have truly begun to appreciate the value of good design and attention to detail.

It also has made me believe that computers can work as you would expect them to, and it doesn’t have to be hard to get your work done.

Relatedly, I’m looking forward to a Leopard vs Longhorn vs Linux comparison next year.

Further reading material

Update : Added MS-land section

TWiki must be one of the most underestimated tools out there. We use it quite extensively at Yahoo!.

What is TWiki? Officially, it is a “Enterprise Collaboration Platform” (yawn). What that means is that it is a wiki software that is meant to be used for intranet information.

I’ve used it minimally so far mainly because it looks ugly, but I see that the official latest version has improved by leaps and bounds. I have started to use it quite extensively.

Some of the things I like:

There’s a presentation that gives a good introduction to TWiki.

Aside: I wonder what tools other companies/organizations use.

So, Jacko might leave America… he is no longer popular or admired but he’s still the King of Pop music.

So, I wrote this following so-called ode on a whim. It’s up to you to decide what to make of it…..

MJ has become a ghost of himself but now he can scream that he is not guilty. Is it scary? Bad? Maybe he’s history. Might as well be a stranger in moscow on morphine. Might be a smooth criminal singing PYT and thinking Another part of me. And he says to the tabloid junkie_s, leave me alone. There may be no blood on the dance floor, he may not be dangerous, but he is gone too soon in the closet. Jacko, just remember the time and this time around, come together and beat it to say it doesn’t matter whether you’re black or white, it is just human nature and what people want is a thriller. Just look at the man in the mirror and ask about the way he makes you feel and tell him give in to me. In the end, just keep the faith, keep jam_ming, and smile :)

Both Vignesh and JD have book-tagged me, so I am obliged to present to the world my choice of books… hmm… so here goes…

Total number of books I own : Around 30 techie books and 10 general books. Most of the time, I borrow books from the Eloor Library, so I don’t own as many books as I would’ve liked.

The last book bought? : India 2020 by Dr A P J Abdul Kalam. I haven’t gotten down to reading it fully yet, though.

The last book you read? : The Second Coming of Steve Jobs

Books I am currently reading : Armies of Hanuman by Ashok Banker, and Flying Start by Jo Gardiner.

Books that mean a lot to me :

  • Ignited Minds by Dr A P J Abdul Kalam — This is one of the most inspiring books I’ve ever read. I can never forget the words

Dream, dream, dream….
Dreams provide thoughts…
and thoughts result in action.

and also what it means to be in “mission mode”.

  • Secrets of Mind Power — Although it has such a drab title, it is one of the most insightful books I’ve read.. insightful about how we think, that is.

  • Ramayana series of books by Ashok Banker — Reading the Ramayana come alive in its full glory is an ecstasy in itself.

  • Beginning Perl by Simon Cozens — As far as I’m concerned, this book is the benchmark on how technical books should be written.

  • The Fountainhead — Enough said.

  • The Sigma Protocol by Robert Ludlum — This novel has got it all. Guaranteed sleepless nights until you finish reading it.

Well, that surely doesn’t look like a typical list that you would have expected…

I’m passing on the book tag to Pradeep, Avinash, Premshree, Ashok Banker, Angel and Viju. Looking forward to seeing their lists :)

Update: Book-tagging Niara as well.