Tuesday, October 30, 2007

First California earthquake experience

I just experienced (Tuesday October 30th) my first real earthquake since I have been living in California. I was seating at Starbucks in Sunnyvale and getting ready to head to the gym after a long day working remotely, the whole place starting moving back at forth at around 8:05PM PDT.

It appears that the quake's epicenter was in Alum Rock, CA (about 15 miles from San Jose) and the official time was 8:04PM PDT and the magnitude was 5.6.

The first tremor lasted about 4 to 6 seconds. Enough to get everyone out of their seats and realizing we were in the middle of a quake... Most people starting moving to the exit door. I stayed at my seat since I was not about to let go of my Mac :-)

Then it happened again and then again. Though the subsequent ones were shorter and shorter.

Not sure what damages, if any, this little one caused---cannot see anything from here, all seems well. Regardless, one things for sure, you come out of this feeling like you are floating and living in a surreal state (still feel it more than 5 minutes since). Not sure if this is scary or cool...

Why I love Ruby?

Since I am a vocal advocate of the Ruby programming language and the various tools, frameworks, libraries, and domain-specific languages (or DSLs) that are mushrooming around it, I often am asked to explain the difference or similarities between Ruby and other languages, e.g., Java, Python, PHP, and so on; or simply people often asked me simply why I so vocally advocate Ruby?

To make it easy to answer such questions and shed some lights on the matter, I decided to aggregate my answers and refine my thoughts into a series of blog entries that attempt to shed light summarize the technical reasons and give you my personal views as to why I am such a fanboy of the Ruby programming language and of the grassroots movement that accompanies it.

(photo credit: http://flickr.com/photos/19414947@N00/818191499/)

I hope this will be a conversation over the next months or so, and while I have at least 10 prepared reasons (posts) to answer this question, I plan to unveil them every other day week (or so) and refine them with real code examples or pointers.

I would love to hear your thoughts on the subject, so please feel free to add comments --- views in agreement or violent descents are welcome equally.

So without more introduction, here is why I love Ruby and why I think it is a programmer's and software researcher's best friend.

Minor updates on 11/18/2007

A mean and cool cat...

Initial thoughts and review of Apple's latest OS X update: Leopard

I have been using Leopard for three days now and I must admit that it was worth the upgrade and I would easily recommend it to anyone that uses a Mac or Windows for that matter.

The first thing that impressed me with Leopard is that my transition from Tiger was virtually seamless. I installed it on my MacBook Pro 17" and my Mac mini. The installation is straight forward but took about one hour to two hours for the Mac Book Pro.

Everything works!
(well almost everything)

That's huge. My experience with major upgrades of Windows and even Linux have always caused major headaches. Something always seems to cause issues or needs reinstall or get new drivers and so on.

For my case, I use my Mac for all software development (mainly Ruby/Rails and some Python and Java) and so far all of my Rails code works as if nothing had happened. Safari is even nicer than I recall and seems faster. Not sure if this has to do with underlying speedup, somewhat noticeable as well... All of my corporate applications also worked! that was my biggest fear --- loosing VPN connectivity. Sure enough all seems well.

I had two printers connected to my Mac Book and one of them needed to be setup anew, other than that, the only minor glitch was from an application called Aurora (an alarm application) which would crash on startup. The Aurora publishers promptly pushed an update on Monday that seems to have fixed everything.

Besides this nice surprise of having all network connectivities, development applications, and corporate software working fine, the best things about Leopard are easily: 1) the new Mail.app, 2) quick view and cover flow in finder, 3) Time Machine, and 4) a slew of small but nice touches

Really really nice. My favorite features are: 1) additions of RSS/Atom feeds into your mailboxes and items and entries are presented like mail items, 2) TODOs and Notes, 3) Quick and easy creation of TODOs from mail, feed, and other content, 4) mail templates to make it easy to create some mails, e.g., email with photos attached.

Quick View and New Finder
Most files now come with a thumb print preview and can be fully previewed by clicking the space bar. This feature is also directly incorporated into the new Finder. However, perhaps the best new feature of the Finder is that (like Mail) you can have virtual folders (or smart) folders that allow you to see items based on some set of rules. For instance, all files created today, yesterday, this week, and so on. This is not only convenient but it's fast and with the quick preview feature, this makes finding files you worked on a breeze... (I think Vista had something like this as well)

Time Machine
Minimalist but powerful backup solution. As simple as specifying a backup volume and clicking On. Everything happens on the background and when you need to recover a file, just go to where you may be missing file or data and click the Time Machine icon.

There is a nice metadata touch on Mail where if you put your mouse near the text Today, Leopard will recognize that this is a date and allow you to create a meeting or TODO.

There is a nice help menu search feature incorporated in all applications. You can now search in the Help menu of all applications and Leopard indexes all menu items and will point you to the right menu (cascading and opening any super and submenu to make the one you searched for visible).

Built in VNC (virtual network computers) to all Leopard fitted Macs. This allows you to remotely access and use your Mac. Apple advertises that this can work over the internet using .Mac. I have not been able to try that with my Mac mini. Maybe it won't wake up the system if sleeping... At home it worked fine and was easy, but this is nothing really new.

The built in pager (Spaces) is nice in that it allows you to quickly move applications from one space to another. Other than that, everything I had with Desktop Manager remains active.


All in all Leopard is a cool update for anyone. It provides compelling reasons for Windows users to switch. For developers (especially Web developers) and researchers, this is a Web friendly update. Ruby and Rails come built in, as are Java and Python, and all of the Apple development tools. Since the Web design and media tools are legendary on the Mac, this is more reasons to move to that platform if you do Web development. Especially since Safari and Firefox work perfectly on the Mac.

The only annoyance that I have found so far is that iTunes seems to skip a bit when I am using it while doing my day to day activities... this was always something that I loved about my Mac and that Windows never got well. No matter what I was doing with Tiger, iTunes never seemed to skip... However, this cat seems to be hesitant a bit. Hopefully, Apple releases an update to iTunes soon enough to fix this annoyance and add another black spot to this cool cat :-)