Quick Update and more changes soon

Quick site update tonight:

  • moved to WordPress 3.0.1
  • removed unused plugins
  • removed unused themes
  • updated remaining plugins to recent version
  • removed old pictures page
  • updated about page

And after over a year, synced up the developer version of rajatarya.com with the production version.  Much more painful than I expected and definitely a good reminder to follow the ‘right’ process – work on the developer site and then publish to the production site.

Please let me know if you see anything that doesn’t appear to work (rajat).

I am planning a site overhaul and some new blog posts, so more to come in the next few weeks!

Enhanced by Zemanta
Posted in technical, website, website | Tagged , | Leave a comment

“Open” by Andre Agassi

Read from December 2009 till February 2010.

Open is Andre Agassi‘s autobiography.  The book was ghost-written by J.R. Moehringer but the material was provided through a series of recorded interviews with Andre.  I cannot talk about this book without explaining how it relates to me.

I have followed Andre Agassi since I was seven years old and first learned to play tennis.  Andre was a childhood idol of mine.  Him, and David Duchovny (yes I was a huge X-Files fan) were my childhood idols.  Both for different reasons.  Andre for his baseline game that rebelled from traditional tennis.  David for being a Princeton alumni (basketball “scholarship”) and Yale doctoral candidate prior to joining Hollywood – essentially being a highly educated actor.  And yet, as an adult, only Andre Agassi remains as an idol.  And for a very different reason: his commitment to philanthropy and dedication to the “process vs the outcome” philosophy in tennis and in life.

I was familiar with much of Andre’s childhood and his upbringing.  I was also familiar with his career since turning professional through his retirement.  But reading these same events told through his eyes provided a dimension to my understanding of him that did not exist before.

Just as publicly we all watched Andre’s tennis mature, Open sheds light on how Andre himself matured through his career.  I will never forget some of his classic matches, but this book recounts them from his perspective, which just cannot be beaten.  Hopefully I will be able to buy a collector’s edition to the matches described in Open simply because they are so well detailed in the book that I want to see those matches again.

Many other book reviews exist for this story so I don’t need to try to repeat them.  I simply want to remember how much this story meant to me.  It is so rare that a childhood idol can remain one in adulthood. Watching today’s tennis stars and seeing how they have all been influenced by Andre makes his legacy even longer.  He truly straddled three generations of tennis players and with his return of serve and ground-stroke precision changed how the game is played.

Quite simply, Open is more than an autobiography.  It doubles as a self-help book through the eyes of one of America’s most public athletes – to help identify what is important in life and how to choose what you want out of it.

I also recommend watching his final goodbye to tennis and his introduction to his wife to the Tennis Hall of Fame.  Both are embedded below:

Related articles by Zemanta

Reblog this post [with Zemanta]

Posted in reading | Tagged , , | Leave a comment

“My Revolutions” by Hari Kunzru

Cover of "My Revolutions"
Cover of My Revolutions

Read from September 2009 to November 2009

My Revolutions by Hari Kunzru is a fictional story of one man coming to terms with his rebellious coming-of-age in London in the 1960s. The book is truly historical fiction, with historical accuracy for the events described. However, since I have not studied that part of European history I wasn’t familiar with it.

Overall the writing is easy to follow and the story unfolds reasonably quickly. The narrative is told through a series of flashbacks which work reasonably well. I found the story enjoyable and learned a bit about the undercurrents of revolution in the 1960s in London. A valuable read for Kunzru fans.

Read more about it here.

Reblog this post [with Zemanta]
Posted in reading | Tagged , | Leave a comment

Taming Windows 7 in a VirtualBox VM Using Raw Disk Access

VirtualBox
Image via Wikipedia

(This is even more technical than my other technical posts. Consider yourself warned.)

I wanted a dual-boot system between Windows 7 and Ubuntu 9.10 64-bit.  I wanted both systems to be fully functional as 64-bit operating systems and have full access to the computer’s hardware.  Accomplishing this has been well documented and I won’t bother discussing it.  I simply repartitioned the hard drive into two partitions, and then let Windows 7 install on one of them and then installed Ubuntu 9.10 on the other.  Grub gives me a choice when the machine boots and defaults to Linux, which is what I wanted.  Then I decided I want to run Windows 7 in a VM on the Linux machine, and that I really wanted the VM to run from the Windows 7 partition already created.  I had heard this was possible with earlier versions of Windows, so I figured Windows 7 should be no exception (at least if Vista can support such a scenario then Windows 7 should be the same).

I started by reading this, which gave me good guidance, but was the other configuration – Windows as the host and Ubuntu as the guest – I wanted the opposite – Ubuntu as the host and Windows as the guest.  That led me to the VirtualBox User’s Guide, which does a great job of describing the process of using Raw Disk access.  And finally, I did some perusing of the VirtualBox forums to find a couple specific answers to getting the setup working.

In an effort to help document this scenario, here are the things I did to get it working:

  1. Read the VirtualBox User’s Guide on Raw Disk Access (here)
  2. user@computer:$ VBoxManage internalcommands listpartitions -rawdisk /dev/sda
    VirtualBox Command Line Management Interface Version 3.0.8
    (C) 2005-2009 Sun Microsystems, Inc.
    All rights reserved.

    Number Type StartCHS EndCHS Size (MiB) Start (Sect)
    1 0x07 0 /32 /33 12 /223/19 100 2048
    2 0x07 12 /223/20 1023/254/63 99900 206848
    3 0x07 1023/254/63 1023/254/63 70000 204802048
    5 0x83 1023/254/63 1023/254/63 65624 348176808
    6 0x82 1023/254/63 1023/254/63 2839 482576598
  3. Notice how there is a 100MB partition (partition 1) – that is the boot partition for Windows 7. This, along with partition 2 are the Windows 7 partitions. Partition 3 is my ‘data’ partition, which is shared between both OSes. All of these partitions need to be enabled for read/write access by me in order for VirtualBox to load them up. I did this by:
    user@computer:$ chmod 666 /dev/sda1
    user@computer:$ chmod 666 /dev/sda2
    user@computer:$ chmod 666 /dev/sda3

    I know this is not the most secure way of doing things, but it works for me.

  4. Now it is also important that there is a place for Master-Boot Record (MBR) to get loaded from VirtualBox. This is necessary so that when the VM starts up it has an MBR to use – otherwise it will try to use Grub and will fail miserably. To get a ‘dummy’ MBR created I read a couple forum posts (here), and then did the following:
    user@computer:$ sudo apt-get install mbr
    user@computer:$ install-mbr -e12 --force ~/vm.mbr

    The -e12 argument means I want the first and second partition enabled in the MBR. This is critical to getting it all to work – otherwise the VM won’t know which partition to enable.

  5. Now we are ready to actually create the raw disk for VirtualBox to handle, I typed in the following:
    user@computer:$ VBoxManage internalcommands createrawvmdk -filename /home/rajat/win7.vmdk -rawdisk /dev/sda -partitions 1,2 -mbr /home/rajat/vm.mbr -relative -register
  6. Go through VirtualBox, create a new VM, mark it Windows 7 (in my case 64-bit) and save. The VM is ready to be started, but it won’t work entirely yet.
  7. Set the VM to mount the DVD drive and put in your Vista DVD. Start the VM. Press F12 and select the DVD drive to start (c). Let Win7 setup start, pick a language, and then click the ‘Repair installation’ option. Go through automatic repair, and then let the VM restart. This time it should go into Win7 running off the raw disk.

Let me know if you have any trouble with these instructions, or would like to add to them. Drop me a line to know if these worked for you as well. I can’t wait to use these steps on my other boxes and put Windows in a box while I’m using it.

Update: There is a regression in VirtualBox 3.10 regarding raw disk access. Any machine that boots with raw disk access stops booting using VirtualBox 3.10. Read more about it in the documented bug report. As a workaround simply downgrade to VirtuablBox 3.08 or install the OSE edition. I got hit with this the day after this post went live, downgrading solved the problem for me.

Reblog this post [with Zemanta]
Posted in technical, website | Tagged , , , | 50 Comments

Engineering Team Communication: Using Mailing Lists Effectively

SAN FRANCISCO - JANUARY 24:  A stack of vote-b...
Image by Getty Images via Daylife

Most teams in business today rely on email.  Though imperfect it is ubiquitous for electronic communication.  It has proven the lowest-common denominator for communication between team members.

The question of how to organize email is often left to each team member.  I think this approach is lacking – it leaves folks with good organization skills at an advantage to keeping up with information.  As a team we should all be committed to keeping everyone in the loop.  A little effort up front can pay big dividends in team productivity.

Mailing lists allow team members to easily filter email and keep track of emails as appropriate to their role on the team.  In larger teams they also allow for managers in the team to manage the email lists appropriate for their team members.

From my experience (which is assisted by my last team at Microsoft – the former Max team) the following list of mailing lists should be created for a product team.  Assume each one is started with a short description of the product/team (for example: gizmo-dev is the developer mailing list).

-dev: developer mailing list.  Only developers on this list.
-test: test mailing list.  Only testers on this list.
-bus: business analyst, program manager mailing list.
-team (aggregate of -dev, -test, -bus): entire team, sometimes includes upper management
-commit (aggregates team): all checkin emails related to software development
-deploy (aggregate of team): deployment announcements for software deployments
-chat (aggregate of team): non-work related chatter – like new joke site, xkcd comic, etc
-oof (aggregate of team): out of facility announcements – like at the dentist for the next two hours, out for a week next week etc

Continue reading

Posted in technical | Tagged , , , | Leave a comment

Successful Teams have High Bandwidth Communication

Synergy

Image via Wikipedia

Going to college during the dot-com boom meant that we had lots of opportunities to play buzzword bingo.  This post talks about one of the buzzwords I remember hearing repeatedly from that time – synergy.  This word was used to talk about business models (B2B to provide synergy between companies) and organization culture (we look for synergies between team members when hiring).  As far as I remember, most of the presentations were full of rhetoric and little substance.  Much like the word’s connotation in its time. To truly create synergy between team members, meaning, to get the team to produce more than they could individually, the team must have high-bandwidth communication.

You already know this type of communication, just maybe without a name before.  It’s the type of communication you have with your best friend, your oldest friend, or your closest confidant.  It doesn’t matter how much time has elapsed since you both last spoke, within minutes of talking you are fully engaged in conversation. Simply put, high- bandwidth communication is when both parties are fully engaged in the discussion, adding valuable contributions, while not struggling to keep up.  It is relatively common in personal lives – I would argue that it is probably how you have chosen your closest friends.  They are the people you can trust that understand you implicitly.  Now transfer this to a work environment or a team project.

First, you don’t need to be best friends with your team members.  But you do need a way to collaborate efficiently.  High bandwidth communication means you are sharing ideas and collaborating without expending extraneous energy.  It means you say it once and everyone gets it.  It means you draw it once on the white board and nobody needs to pick up a pen and elaborate/extend your ideas. It means you are finishing each other’s thoughts and ideas together.  How often does that happen for you at work?

I have seen many teams try to “process” their way into high-bandwidth communication.  These are in the form of additional status emails, meetings, TPS reports and the like (we should all agree on a template for sending our status emails to keep them consistent and easy to read).  As much as I have seen this tried, it never gets close to high-bandwidth communication.  This just frustrates some folks on the team and burdens those that aren’t frustrated with additional minutia to manage throughout their day.  What my team recently did which resulted in much higher bandwidth communication is far simpler – we got to know each of our working styles.

A ‘work style’ is simply a way to talk about the personality you have at work.  Not that you aren’t yourself at work, but you aren’t.  Nobody is.  And if you are, then I probably wouldn’t want to work with you.  At work the decorum of professionalism should be adhered to.  This is for everyone’s comfort and to keep people from feeling uncomfortable.  My work style is devoid of the vulgarity that is a big part of my personality.  My work style also limits profanity, which unfortunately, is a pretty big part of how I speak outside of work.

fancy logo/writing for use in MBTI articles

Image via Wikipedia

How did we get to know each other’s working styles? We took personality tests.  The Myer’s Briggs Part II to be exact – with answers geared to how we behave at work.  And then we had a facilitator help visualize and present our results.  We did a great exercise to demonstrate how much time we would each spend based on our personalities in the four stages of approaching a new problem.  Team building exercises have never made much sense to me, until this one.  By getting to know each of our work styles we learned how to communicate more effectively with everyone.  Extroverted people dominate meetings and spoken communication – and by realizing that more than half the team is introverted by nature – we realized we needed to create a meeting atmosphere more conducive to introverts (we do this better now by doing lots of sticky note exercises when getting team feedback).

Does this mean my team has really high-bandwidth communication overnight?  No.  But we are much better off than we were before the exercise.  We keep a printout of our results in a common place for the entire team to see on a daily basis – a little reminder of how hard it is on some folks to talk in groups and to others to quiet down to let others in.  We aren’t the greatest team yet, but we are committed to improving as a group and are actively working towards it.  Moving towards high-bandwidth communication at work will improve your team’s ability to deliver on its goals in a more timely manner with less overhead – sounds like synergy to me.

Do you have high-bandwidth communication at work?  What techniques has your team used to bring about better communication?  Leave a comment or shoot me an email to let me know.

Enhanced by Zemanta
Posted in technical, writing | Leave a comment