Category Archives: General

Permanence

I enjoy reading XKCD. One of the recent comic that I enjoyed the most was published last week, titled “Permanence“, that was about naming servers.

One of the reasons that I enjoyed this the most was due to the fact that I can totally correlate this comic to my behavior in naming things. I have an obsession of naming my laptops, servers, PCs, gadgets and more based on Greek mythological names. I am not sure how I developed this obsession. I think that it was mainly influenced by the games Zeus: Master of Olympus and Age of Mythology, the two games that I played a lot almost 8 years ago.

Here are some of the names of my stuff and the reason why I picked that name.

Item: Macbook Pro (Mac OS X)
Name: aphrodite – Aphrodite (Ἀφροδίτη (Áphroditē)) is the goddess of love and beauty.
Reason: This is my most favorite name. I use it for the personal machine that I spend time on.

Item: Primary development machine (Solaris 11)
Name: athena – Athena or Athene (Ἀθηνᾶ (Athēnâ)) is the goddess of wisdom, warfare, battle strategy, heroic endeavour, handicrafts and reason.
Reason: I use this name for my primary development machine at work and the primary trait that I care is wisdom.

Item: Messaging Server development server (Solaris 10)
Name: angelia – Angelia (Αγγελία) is the spirit of messages, tidings and proclamations.
Reason: It mainly deals with messages.

Item: Microsoft Windows VM
Name: erebos – Erebos (Ἔρεβος (Érebos)) is the god of darkness and shadow.
Reason: No comments.

Item: Apple iPhone
Name: Dionysus – Dionysus (Διόνυσος) is the god of wine, drunken orgies and wild vegetation.
Reason: It mainly represents the idea of socializing and parties.

Item: Apple iPad
Name: Ananke – Ananke (Ἀνάγκη (Anánkē)) is the goddess of inevitability, compulsion and necessity.
Reason: Well, iPad is a compulsion and necessity of the current generation, especially of magnified amplitude for people in the Valley.

Item: Buffalo wireless router
Name: aether – Aether (Αιθήρ) is the primeval god of the upper air.
Reason: For the power of sending/receiving tons of data over the air.

Item: Apple iPod Nano
Name: Terpsichore – Terpsichore (Τερψιχόρη) “delight of dancing” was one of the nine Muses, ruling over dance and the dramatic chorus.
Reason: Associated with fitness.

Item: Apple TV
Name: Hedone – Hedone (Ἡδονή), is the spirit of pleasure, enjoyment and delight.
Reason: Associated with entertainment/enjoyment.

Item: Canon EOS 50D camera
Name: Hyperion – Hyperion (Ὑπερίων (Hyperíōn)) is the titan of light. With Theia, he is the father of Helios (the sun), Selene (the moon) and Eos (the dawn).
Reason: What suits a camera better than the name of the titan of light!

Item: Honda Civic car
Name: Hermes – Hermes (Ἡρμῆς (Hērmē̂s)) is the god of travel, messengers, trade, thievery, cunning wiles, language, writing, diplomacy, athletics, and animal husbandry.
Reason: If the god of travel is with you, you are the master of roads.

Item: Citizen Skyhawk AT watch
Name: Chronos – Chronos (Χρόνος (Chrónos)) is the Keeper of Time. Not to be confused with the Titan Cronus, the father of Zeus.
Reason: What suits a clock that is so meticulous in keeping the accurate time using atomic time better than this name?

Item: Fuji CCR3 road bike
Name: Aura – Aura (Αὔρα (Aúra)) is the titan of the breeze and the fresh, cool air of early morning.
Reason: Mainly reflects the feeling that I get when I ride.

Item: Predator Sneaky Pete cue
Name: Oupis – Oupis (Ουπις), aiming aspect of archery.
Reason: That was the closest Greek mythological name that I was able to find related to pool.

Item: Atomic Smoke skis
Name: Chione – Chione (Χιόνη) is the goddess of snow and daughter of Boreas.
Reason: Isn’t that obvious?

You decide if I am crazy or not.

Mozilla Thunderbird 3 and Google Contacts addon issue

Yesterday, I upgraded my Ubuntu 9.10 to Ubuntu 10.04 beta 1 (Lucid Lynx). Lucid comes with Thunderbird 3. After upgrading, using Thunderbird 3 once and rebooting, Thunderbird started up with empty profile and showed the account creation window. When I looked into the home directory, I noticed that my .thunderbird is moved to .thunderbird.upstream and the new .thunderbird is created with an empty profile. Moving the .thunderbird.upstream back to .thunderbird will work fine the first time and on the next startup, Thunderbird will repeat the same and start with an empty profile.

After banging my head against this issue for a while and some help from #ubuntu-mozillateam, I figured out that Google Contacts addon is causing this problem. When Thunderbird starts up, Google Contacts addon creates a .mozilla-thunderbird directory which is the directory for Thunderbird 2. Thunderbird 3 doesn’t like this directory and it does all this renaming stuff. Uninstalling the Google Contacts addon fixed this issue for me.

The lesson that I learned from this experience is to start Thunderbird in safe mode, thunderbird --safe-mode that will help you to isolate issues that are caused by faulty extensions.

Chainloading OpenSolaris from GRUB 2

I have a triple boot system with OpenSolaris, Ubuntu 9.10 and Microsoft Windows XP. I upgraded my Ubuntu 9.10 GRUB to GRUB 2 today. GRUB2 automatically added an entry for Microsoft Windows XP. However, it didn’t detect the OpenSolaris that was installed. I had to manually configure OpenSolaris chainloading in GRUB 2. If you are in a similar situation, this will be helpful for you to configure your GRUB 2.

Find your OpenSolaris partition.

$ sudo fdisk -l
 
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00099420
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       12158    97659103+   7  HPFS/NTFS
/dev/sda2   *       12159       24314    97643070   bf  Solaris
/dev/sda3           24317       38913   117250402+   f  W95 Ext'd (LBA)
/dev/sda5           24317       38297   112302351   83  Linux
/dev/sda6           38298       38913     4947988+  82  Linux swap / Solaris

In my case, it is /dev/sda2. Once you have found it, edit /etc/grub.d/40_custom and add the following entry for OpenSolaris. A key difference between GRUB and GRUB 2 is the device numbering. In GRUB, sda2 is (hd0,1). However, in GRUB 2, sda2 is (hd0,2). Keep this in mind when you are configuring your GRUB 2.

# Chainload OpenSolaris GRUB.
menuentry "Chainload OpenSolaris GRUB" {
    set root=(hd0,2)
    chainloader +1
}

Now your /etc/grub.d/40_custom should look like the following.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 
# Chainload OpenSolaris GRUB.
menuentry "Chainload OpenSolaris GRUB" {
    set root=(hd0,2)
    chainloader +1
}

Then run update-grub to regenerate /boot/grub/grub.cfg.

$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-19-generic
Found initrd image: /boot/initrd.img-2.6.31-19-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sda1
done

You will not find anything about OpenSolaris in the output message. However, you can examine /boot/grub/grub.cfg to find if an entry is added for OpenSolaris.

$ tail -10 /boot/grub/grub.cfg 
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
 
# Chainload OpenSolaris GRUB.
menuentry "Chainload OpenSolaris GRUB" {
    set root=(hd0,2)
    chainloader +1
}
### END /etc/grub.d/40_custom ###

Random links for week 45

  • I have an Apple TV and I run XBMC and Boxee on my Apple TV using Patchstick. Apple introduced Apple TV 3.0 Software last week. Somehow, the software just got upgraded automatically causing me to lose XBMC and Boxee. Patchstick isn’t available for Apple TV 3.0 yet. So, I had to downgrade it using another Patchstick product (Canadian based).
  • I am using Whey protein supplement as my post workout drink for a while now. Recently, I came across Casein protein supplements and started using it too. I take Whey after workout and take Casein before going to bed (only on workout days). Here is an article that compares Whey and Casein.
  • I am using magit mode in Emacs with my git repositories. It is quite helpful most of the times.
  • DTrace is a powerful tool for tracing a process. Recently, we have started working on defining Statically Defined Tracing for our system. I feel that it is a quite powerful way to approach system tracing.

Random links for week 44

  • Since I updated to OpenSolaris update snv_124, I am facing issues with Indic fonts rendering. I have created a bug describing the problem. The root cause of the problem isn’t diagonized yet. If someone knows what could be wrong, please let me know.
  • I keep hearing a lot about Haskell lately and wanted to get introduced to functional programming through Haskell. David Carlton and friends recently started a Haskell study group. It was a great opportunity and wonderful setting for learning Haskell! I just joined the group. We are studying Real World Haskell. The book is available online. I am currently on chapter 3 and it is engaging. Please feel free to join the mailing list, if interested.
  • My latest Emacs addiction is Org-Mode. I started using Org-Mode to maintain my GTD workflow. I am also using it as my note taking tool and daily/weekly status reporting tool at work. Org-Mode is very powerful! Give it a try and you will find out.
  • I just got back into the habit of going to gym regularly after a couple of busy months at work. This time, one of my primary goal is to able to do unassisted chin-ups. Here is an article on how to increase one’s chin-ups. Currently, I am focusing on negatives.
  • I am a big fan of Hyderabadi Chicken Biryani. I came across this great recipe on YouTube and tried it out a couple of times. The one I prepared yesterday turned out really great! If you are a Biryani fan, I would strongly recommend this recipe.

Random links for week 36

  • My (ex-)manager David Carlton has decided to leave us to join Playdom. I learned a lot in the past two years working with him. We are going to miss him a lot! Playdom is fortunate to have such a talented individual on board. I am sure he will be bringing a multitude of perspectives into the game development at Playdom. I wish him all the very best in his new exciting game development career.
  • I am using git as my primary version control system at work. Lately, more of my friends have shown interest towards using git. For them, I would recommend knowing why git is better than other version control systems.
  • Recently, I have started editing multiple files with the same name (under different directories) simultaneously on my GNU Emacs more often. This got me confused easily and made me prone to making mistakes by editing wrong files. Here is a cool way to make buffer names unique in GNU Emacs.
  • Due to certain changes that are happening recently in our team, being agile is more of a necessity that ever before. I am seriously thinking of attending Agile Open California. Agile Open California is a coalition of agile practitioners and advocates with an intention to provide an opportunity for learning, networking and growth to the Agile community in California and others who are interested.
  • We are currently working on transitioning our software to 64-bit on Solaris. We run into interesting problems each day. Solaris 64-bit developer’s guide is a source of must know information for anyone who is working on developing 64-bit applications on Unix like platforms, especially Solaris.
  • Since I returned from India after my recent vacation, I haven’t got much chance to workout in the gym. I would like to use this opportunity for refreshing my appreciation of the basics of weight training and get a fresh start as early as next week.

Creating OpenSolaris live USB sticks

OpenSolaris 2009.06 was announced yesterday. You can download the live CD image (ISO) from here. Here is the set of instructions to create a live USB stick from the live CD that you have downloaded.

Step 1. Install distro-construct.

$ pfexec pkg install SUNWdistro-const

Step 2. Generate the USB image from CD image.

$ pfexec usbgen osol-0906-x86.iso osol-0906-x86-usb.img /tmp/osol

Step 3. Copy the generated USB image on to the USB stick.

$ pfexec usbcopy osol-0906-x86-usb.img

On executing the above command, you will be shown the list of removable media and asked to select the one to use with usbcopy. If you have inserted only one USB media, you will see only one entry to choose from. Please note that you may have to unmount the USB media from your GNOME file manager or command line, before usbcopy starts.

Once usbcopy completes, your OpenSolaris live USB sticks are ready to boot a live environment and perform installation. I will be in Community One West, Deep Dive sessions today (Jun 2, 2009) at Intercontinental Hotel, San Francisco. If anyone needs to make their USB media an OpenSolaris live media, please contact me.

Oracle to buy Sun Microsystems

This morning there was an official announcement that Oracle has offered to buy Sun Microsystems for $9.50 per stock, and Sun’s board agreed. The market rumors surrounding Sun for the last few weeks suggested that something was looming. But, Oracle was a surprise to me. It looks like closing the deal typically takes from 3 to 9 months. It would be interesting to see how Sun would be integrated into Oracle.

Also, Oracle’s attitude towards Open Source remains largely unknown at this point. Sun did some extensive Open Sourcing in the past few years. It would be interesting to see how this deal would affect the direction of those products.

To know more information about the deal, read the Sun’s press release or Oracle’s press release. Oracle has put up an information page and answered some of the frequently asked questions in there.

Getting (some) Things Done

Recently I found myself in a situation where I felt that I have more things to do than the time available in hand. The number of unread e-mails and pending tasks were growing in a faster rate day by day. I missed to act upon a few important e-mails. This new situation had increased my stress and caused a sense of unaccomplishment in spite of being reasonably productive. My positive sense of being in control was going down day by day. That is when I started to realize that there is something basically wrong in the way I handled things.

On the other hand, I see some of my manager‘s activities through his Twitter updates and blog posts. The wide range of stuff he does is mind-boggling. He might have ten-folds of things to do than I have. However I saw a sense of completion in most of the things he did. I discussed with him about this in one of the 1-1 meetings we had. From his answers, I realized that instead of trying to manage my time, I should try to manage the things that I do. He recommended to read “Getting Things Done” by David Allen. I promptly bought the book. However due to bad management of things I do, I was not able to start on the book until a couple of months later.

Read more »

Oh No, Not Again

My employer (Sun Microsystems, Inc.) has announced another round of layoffs, which will eliminate as much as 18% of Sun’s workforce (around 6000 jobs), will save the company $700 million to $800 million. We have also announced the departure of the head of Software Group, Rich Green. With this we are restructuring the Software Group into Application Platform Software, Systems Platforms and Cloud Computing & Developer Platforms. The recession of world wide economy is putting enormous pressure on technology companies like us. We would hope that this downturn would end soon before causing irreversible damage to many companies. However I feel that we have just entered into the difficult stage of the slowdown and we will be seeing more challenges awaiting us.

Disclaimer: All the views expressed herein are mine. I am not talking for my employer, Sun Microsystems, Inc.