Feeds:
Posts
Comments

One of my best friends who work for IBM Rational wanted to ‘try’ a start-up. After months of study and seeking different opinions he had his ideas which he shared with me. I realized that despite all the time and effort he spent, he had no clue about how it is to work for a startup. I gave him some honest suggestions and I thought I ll share it here so that many others like him will also benefit from it.

First and foremost, this post is NOT about starting a startup. You can read about starting a startup here, here and here.

This is about working in a startup or planning to work for one.

Before I get into the reasons why you should work for a startup, let me distinguish certain pitfalls about working in a startup.

Pitfall 1: I want to have some startup experience

Not a good enough reason to join one. There is no one thing called a ‘start-up’. When I think of working for a big organization, what comes to my mind are the common practices that everybody need to follow, weekly status meetings with management, yearly review for promotion and bonus, crafting personal strategies for growth in the company, internal politics and etcetera. While big organizations may be very different from one another in many ways, the manner in which you work in these may generally be the same. This is the reason why many times, a successful manager at HP when he moves to IBM hits the ground running and continues to produce similar results.

Welcome to the startup. People who have not worked in a startup or have worked in only ONE startup will not grasp this. From my experience of working in 2 startups and being associated closely with another 3 of them, I can’t think of any major similarity between any of them. I experienced the work culture in my current startup is radically different and diametrically opposite to my previous startup even though both of them are in the same industry (virtualization), similar team sizes (about 20 people) and the similar type of customers (enterprise software consumers).

So if you catch yourself generalizing on why you should work for ‘a startup’, please don’t do that. Every startup is different. Totally different. Please take your time and attention to understand the culture from outside by speaking to the employees (not the founders or some pundits). What you hear will be different from what you perceived.

Pitfall 2: I ve been advised to try a startup

These days, one of the most popular career advices that I come across (atleast in India where I live) is ‘Try a startup’. Even though there is nothing wrong with that and it may actually be right thing to do, the very person who had advised may not be eligible to do it at all.

Let me create a short list of people who are not the right people to advice about ‘working for a startup’.

  • Start-up founders – Disqualified. Starting a startup is like giving birth to a child. After bearing a child for 9 months and going through all the labor pain, no startup founder is ever going to remember what it is like to work for a startup. Because working for a startup and founding a startup are two different things. Eventhough a startup founder may have worked for several startups before, the moment he starts a company, his relationship to a startup will alter forever.

I ve always known what founders bring to the table to be much more and very different from what the employees bring forth. So looking through their lenses, you will never get the correct picture about working for a startup.

  • People who have worked for just ONE startup – I was one and when I was in my first startup, I had encouraged a lot of my friends to join startups. I found the hard way that their experiences were totally different from my mine. When you have just associated with one startup, you tend to generalize what a startup is and every other startup looks in many ways like yours. Always talk to people who have worked in multiple startups.
  • Big company boss – When I was working for Accenture, one of my bosses and some of my teammates who never worked for startups used to have an illusion that you get to learn much more in a startup and they highly recommend ‘young’ people to join a startup if they were tech savvy. Maybe there is some truth to it but that fact is that their advice is just from a reflection of the inadequacies of working for a big company. More like ‘The grass looks greener on the other side’.

So the real people who you should seek advice are employees (not founders) of startups who has worked in more than one startup.

Pitfall 3: Interesting people.

Valid reason. But this is not going to carry the day. When I joined my first startup, I was so impressed by the team and want to be the part of a team, who used only Gentoo Linux, ride only Royal Enfield, was part of real rock band, masters of interactive Ruby and were graduates of Landmark Education. I couldn’t possibly think of another group of more interesting people. I enjoyed and cherished every single second I worked there and learned so many things (outside work also) and made many friends for a lifetime. However, I just couldn’t adapt to the work culture at that point in time. Nightouts and coffee were great for the first 6 months but I just couldn’t cope up with the intensity and work patterns of the team because of which my work, family, health and the company suffered. So I had to quit.

Also, please be aware that it is highly likely that some of the key people (those same interesting people) may leave in the middle of the journey. It may be that key developer, that Board member, the only investor or may even be the co-founder. So if you get attached to people, be prepared for a heart break.

So if you want to meet interesting people, I suggest you do that outside work. Look for interesting place to work than interesting people to work with. Working in a startup may sometimes turn out be like getting married. It may be really interesting to have a Hollywood wife but will that really forward your wedding?

Pitfall 4: Startups are about new ideas.

This is a mere myth. 99% startups work on solving problems (with existing solutions) in a new way and there is very little novelty around it. Those1% of startups that may bank on entirely new idea may end up in a niche that can hardly be monetized or may fail to convince customers, investors or users about their solution.

Also, startups change directions very often. You may start with an entirely new interesting idea but it is likely that you may change course and do something which may not be entirely new.

Bottom line, don’t get attached to ideas.

Pitfall 5: Freedom to work on MY ideas.

Startups are not the place for ideas leave alone ‘your’ idea. Startups are about executing ONE idea very well and it may not be yours. Most likely your great feature suggestions and company strategies will not be worked on. This is the very nature of startups. The resources are scarce and focus is everything. So at any given time the entire company will be only committed to execute ONE thing and it may not be your thing.

If you want to work on your idea, I suggest Google, Adobe or Sun Microsystems which encourage employee projects and the company is willing to fund your project if you establish the feasibility of your idea. Don’t go to a startup to do that. If you are so passionate, I suggest you start on your own but not work in one and expect your idea to be worked on.

Pitfall 6: Lot of fun

Sure, startups are lot of fun but not just fun. It can graphically represented by spikes of nirvana and extreme stress and frustration. When one of my friends came to see me at my startup 3 yrs ago, he was pleasantly surprised to see me working sipping my Gatorade with Mayank’s St.Bernard besides me. He thought it was such a cool thing. What he overlooked was why the dog was there in the office in the first place(it was much better for the entire team to have Mayank focus on shipping the product than worrying about how his dog is doing at home, so it absolutely made sense for the team to have the dog in the office). When my Mom used to ring me on my cell phone, very often she could see hear sounds of loud laughter and she was glad I was having fun. But what she overlooked was the fact that it was 11 PM at night and we were still at work.

Startups can be a mix of extreme fun and extreme pain. This is because in a startup you are always dealing with ‘uncertainty’. Uncertainity about the market, your investor, customer acquisition, your next month’s salary etc… Sometimes you don’t see any light at the end of the tunnel and you begin to question why you made that choice and endured so much. Sometimes, you pride to have the 6th sense to identify this opportunity and convinced that have the magic touch. I am addicted to emotional roller coaster. Please prepare for this before you join a startup.

The above are some of the common pitfalls around working for a startup. In my opinion there are just two reasons that you should ever work for a startup.

Reason 1 – I want to start a start-up in the future; hence this will be a great training ground.

This is my favorite reason. If you are person who is aspiring to startup some day, this is the next best thing to actually bootstrapping. No amount of work experience in a big company or a Ivy league MBA or book knowledge will be anywhere close to actually going through the ups and down of a real startup. This is no brainer advice to a person who is serious about starting up.

Reason 2 –Have a specific reason to work for a specific company.

My ideal start-up friends when asked what keeps them going say things in the following lines.

“Out of college the only thing I wanted was to write lots of code. I didn’t quite care about anything else and that is when I heard about ABC startup and I ve been here for the last 3 yrs”.

“I want to be system administrator and I figured about that virtualization and cloud computing is the next big. So I better be with XYZ startup because they are building a product which is in the cutting edge and I get so much exposure”.

“I wanted to be a marketer and found this startup which gave the responsibility to market the product online and allow me to understand all the nuances of web marketing using free tools like WordPress, Facebook, Twitter”.

If notice all the above statements, you can find two common things:

1-    Each person is very clear on what they wanted to do.

2-    Once they knew what they wanted to do, they saw a startup as a pathway to fulfill on what they truly wanted and cared for.

I believe the above are the only two real reasons why a person should work for a startup. All the other reasons are great to have and certainly tempting but they are NOT going to carry the day.

Needless to say all the above are my opinions and my views. Feel free to let me know what you think.

Thanks/Arun.

I wasted about half an hour trying to figure out an annoying feature of Outlook 2007 which prevents emails getting cleared from Inbox. So, when I delete emails from Inbox, it gets striked off(marked for deletion) but just sits there. 

But If you think that you don’t need to delete the emails from the Exchange Server or IMAP but doesn’t want these emails to be visible in your Inbox, you might just need to change the View of the mailbox to hide all the ‘marked for delete’ emails.

In the Outlook UI, go to View-> Toolbars->Advanced.

Just change the view settings and select the option shown in the screenshot below -

 

Reason

Outlook has something called ‘Purge’ settings which will determine when the actual email gets deleted from your Inbox. In case you are deperate to clean your Inbox, this is what you have to do.

 Step-1 

In the Outlook menu, go to Edit->Purge-> Purge Marked items in “Inbox”.

 

Step-2

Once all the emails are deleted from your Inbox, configure Purge settings.

Thanks,

Arun.P.C

This could happen when you use VMware Server with SMB storage or otherwise. The error message is pretty self explanatory but here is how it can happen with VMware Server. 

Consider that VMware Server is installed on a machine which mounts SMB storage location with an administrator account.  Windows doesnt allow two sessions access the shared storage from the same machine. So if you are logged in VMware Server machine and is viewing the files of the shared folder(which is mounted on it), it means that you are causing issues for the other connection(maybe a program that uses it). So as indicated by the message, you need to kill all the sessions and allow restart the program.

1) Look at the sessions that are simultaneously running. On a Windows machine, Run -> ‘net use’. This will list all the connections.

2) Delete all the connections to the storage. Better still, do a ‘net use * /delete’

3) Ensure that you dont access the shared drive when the program is running.(to avoid starting a new connection)

It should work now.

Thanks,

Arun.PC

This applies to Citrix XenServer 4.1, 4.01 and other Xen variants. Consider we have 3 images in the storage namely Redhat, Win2k3 and Win2k and you want to know the name of the VHD files in the storage.

Xen has a convoluted way of relating to operating system files. This is how the naming goes – Every VM has name and unique VM-UUID. Then there is another data structure called VBD (virtual block device). VBD links the VM-UUID and VDI (virtual disk image). VDI is another data structure which contains all the physical characteristics. VDI is linked to VHD files which reside in the respective storage repository. So the way to get to the individual VHD file from an OS image name can be to link VM-UUID with the corresponding VDI-UUID and then to the VHD.

VM-name -> VM-UUID-> VBD -> VDI-UUID-> VHD

Procedure

  1. Note the name of the operating system image.
  2. on the Xen console, type xe vm-list.
  3. Note the VM-UUID of the machine template.
  4. on the Xen console, type xe vbd-list.
  5. Note the VDI-UUID of the machine template.
  6. on the Xen console, type xe sr-list.
  7. Note the name of the storage and SR-UUID
  8. move /var/run/sr-mount/ on the Xen console.
  9. You will find all the mounted drives. Change the directory to the required storage by referring to the SR-UUID.
  10. you will find all the VHD files.
  11. Match the VDI-UUID got from step-5 to the VHD file names there.

You may now, identify the VHD image.

Surely, there should be some other way to do this(maybe through the XenCenter UI?). If so, let me know about it.

Thanks,

Arun.P.C

Problem
————
You have VMware Server intalled on Linux and you are not able to view console of the VM. You know that your VM is running as you can ping it, ssh it and you know that your resources are consumed. Sometimes, it could be that you can view the console with your account but when accessed remotely or via an application which uses VMware Server, you are not able to view the console.

This is typically a permission issue. Most likely, you would have installed VMware Server as root and the other application might be accessing with another account which doesnt have enough permissions to view the console.

Fix
—-
Try doing a chmod -r 777 on all the virtual machine folders having this problem before launching it. You can give the appropriate permissions afterwards.

Thanks,
Arun.PC

Consider this.

You want to integrate Salesforce into your Outlook 2007. You went to salesforce.com and downloaded ‘Connect for Outlook’. Installed it and restarted Outlook several times but still not able to see the Salesforce Outlook buttons.

Outlook 2007 has a strange way to put the Salesforce plugin in the ‘Disabled items’ list. What you need to do is then, enable it from the menu. On the Outlook 2007 console, Go to Help-> Disabled Items -> Salesforce. Refer to the screenshot below.

Disabled items

Disabled items

Thanks,

Arun.PC

Problem

After installing VMware Tools, you are still having a bad experience interacting with your Win2k8 or Vista VM.

Firstly, it could be because you have not enabled full hardware accelaration. Please check you hardware acceleration settings to confirm that you have set it to the fullest.

To check for hardware acceleration, Right click on your desktop, Goto Settings-> Display Properties-> Troubleshoot-> Hardware Acceleration.

Make sure that you set this to the fullest.

Secondly, it could be because VMware Tools is incorrectly configured. To check this out, go to the event viewer and look out for error messages.

To get to the event viewer, type in the command ‘eventvwr’ at the ‘Run’. You might see error messages on the service called ‘InteractiveService Detection’.

Now you need to set this service to startup automatically. For that, Go to Windows ‘Run’ prompt, type in ‘services.msc’.Look out for the service called ‘InteractiveService Detection’. Select ‘Properties’, and set it to start ‘Automatically’.

Restart the VM to experience better performance.

Thanks,

Arun.P.C

“Some things, such as themes, sounds, or background settings may not work
correctly.” blah blah blah

There were several posts on the web but none of it could get me my Ubuntu working. What i suspect is that this is a very generic error message and this could come so many ways.

My scenario
—————-

Worked seemlessly till i configured wireless for my boreadband internet. What followed is a long delay in starting GNOME and it would eventually start after 10 minutes displaying the above message in a message box.

Problem/ Diagnosis
————————-
I suspect two problems,

1) Since i configured for Wirelss through the GUI tool that come with Ubuntu Hardy as default, the entry for my lo/loopback in my /etc/network/interfaces file got displaced.

Many client server processes which run on the same machine, like some of them which GDM makes use of, needs a loopback reply from the same machine to proceed. Since the entries in the /etc/network/interfaces got screwed up, they wait infinitely to startup and result in long delays for timeout.

2)The other problem i discovered is that i cant ping
- pluto(which is my hostname)
- localhost
- 127.0.0.1

This is because of the fact that interfaces ‘lo’ or ‘localhost’ was not configured in /etc/network/intefaces.

Please check the command
#ifup lo

When i did it i got the error message,
Ignoring unknown interface lo=lo
If you get this error make sure that you make sure that you configure your interface settings in your /etc/network/interfces file correctly before proceeding any further.

This clearly shows that the interface for lo is not configured.

Solution
————

1) The solution is to feed in entries in /etc/network/interfaces for localhost and loopback.
So there would be two configuration in your /etc/network/interfaces.
One is the configuration for localhost/loopback interface and other is your wireless broadband.

It should look like this.

#vi /etc/network/interfaces

# The primary network interface
auto lo
iface lo inet loopback

# Wireless interface
auto wlan0
iface wlan0 inet dhcp
wireless-key 123456789
wireless-essid Arun


2) The next step is to provide values in the hosts configuration file.
arun@pluto:~$ cat /etc/hosts
127.0.0.1 localhost lo pluto

3)Check whether lo is pingable.
arun@pluto:~$ ping lo
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.039 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.040 ms

4) If the ping does not work,bringup the lo interface manually
#ifup lo

5) Restart the networking settings
arun@pluto:~$ sudo /etc/init.d/networking restart

Make sure that you run the networking services cron during the startup to get your wireless broadband connect.

Thanks,

Arun.PC

Do you expereince slow data trasfers between your guest operating systems? Is data transfer between the host and guest also very slow? Are you getting megabyte trasefer rates even though your network adpaters are of gigabit speeds? Here is the solution.

The slow trasfer rates between VMware guest operating systems could be due to VMware tools not being correctly installed. Please check whether VMware tools service is running correctly in your Guest OS. Other than mouse and SVGA features, this is what VMware tools does to your Guest OS.

It will install the virtual network driver vmxnet instead of the default vlance. Network devices of the host machine communicates to the vlance driver just like the way it does to real hardware hence a lot of hardware overhead comes with this driver(it constantly checks whether the network is plugged etc..). But vmxnet is treated differently and differentiates itself as a virtual driver and hence a lot of unnecessary hardware checks are avoided.

This improves the network performance and gives you gigabit speeds.The following diagram tell you whether it is properly installed.

vmxnet Windows driver

But the more serious problem that most people face is the slow data trasfer between the host and the guest OS. Their complain always goes like this “I have gigabit network adapters for both my host and my guest OS. But why is that I still have only megabyte trasfer rates between host and guest?”.

After a lot of googling and consulting within the community, i am assuming that Vmware server is designed that way so that gigabit data trasfers are not possible(remember there is no thing as free lunch). In Vmware ESX, there is a straighforward option to configure the speed of the network adapter. Even if you set it as ‘automatic’, it would directly allot the speed of the pipe as gigabit if both your host and guest has that capacity.

However, you can always speed the transefer between your host and guest. One way is to turn off the unwanted checks done by your network adapter. If your host is Linux, you may use ethtool and for Windows, you can directly go to the advanced settings of the network adapter and turn OFF settings for TSO(TCP segmentation offload).Look below for the screenshot. What this setting does is to quicken the file transfer between the host and the guest.

 

Windows network adapter configuration

 

With so much Ga Ga over VMware and Xen, the industry overlooks the importance of dozen other players who play key roles in maintaining a thriving virtualization ecosystem.

Let me call the whole ecosystem a “jungle”. Like a jungle which contains all kinds of animals and each one playing a unique distinct role, virtualization ecosystem also has lots of players from thin-client companies to hypervisor companies to connection-brokers. Each of these roles is very critical for the sustenance of the ecosystem.The lion of this jungle is clearly VMware as it has the early mover advantage and also has a large chunk of the hypervisor market. Citrix is yet another lion from a different jungle who is trying to adjust to climatic change(from Server based computing to VDI) and is working desperately hard to establish himself under the new circumstances.

I have represented different components of a VDI solution as layers.The order of arrangement of layers needn’t be the same for all solutions that are deployed across the globe. Different solutions exist for different cases and this is a general approach to VDI. Please make a comment if there is anything that needs to added or modified.

Layers of VDI

As of today, there is NO SINGLE vendor is known to have a product which by itself is self sufficient to provide the entire VDI solution. There are many players like VMware, Provision, Microsoft and Citrix who have products in many layers of the solution but doesn’t yet cover the entire spectrum. Citrix, Microsoft and VMware have been on a buying spree acquiring startups for the getting more control over the VDI stack. This explains why recently Citrix bought Xen (Hypervisor Company) and VMware acquired Propero, a connection broker company.

Let me describe some of those components.

Thin clients or the End user machines :-P lenty of VDI solutions do not need any end point infrastructure except for broadband internet access.However,many vendors require a thin client infrastructure simply for generating a rich end user experience. This is the component which makes VDI experience a lot better than the existing Citrix or the terminal service experience. Thin clients do not have local storage or DLLs. They are just tools to find the remote virtual desktop hosted at the datacenter or the server farm. Most of them have inbuild extensions of connection brokers of Leostream, Provision or Vmware. Some of them even have IP phone capabilities and video accelerators to make use of the local graphic cards.Some of the popular thin clients are Wyse,Neostream, NEC etc..

Access and authentication layer is contacted immediately after a user provides his username and password. He is authenticated and permissions are granted using good old Kerberos, LDAP or Active Directory. This is the same for any client server application and VDI is no different here.

Display protocol is used to export the display from the server to the client.Mostly it is RDP,VNC or Citrix ICA. While the processing happens at the server the display is exported to the thin client.

Connection Brokering is the industry’s most competed layer. There are a dozen of vendors fighting all out to conquer this layer.This component connects the end client to the corresponding VM running on the remote server.It needs to consider things like 1) server load 2) traffic 3) latency 4) bandwidth 5) permissions etc..VMware recently acquired Propero and Citrix already has a brokering application.Some of the other players are Provision,Chip PC, Leostream,Sun etc..

Application Virtualization solutions from Microsoft SoftGrid,Symantec SVS and thinstall are the most popular ones. These virtualize registry, filesystem and everything thats needs for an application to run. The application is streamed to the client from the server and they execute it from the client sandbox present at the end point. The calls to the OS are smartly redirected through the sandbox.This way the client is completely unware of the application running on it.

Virtualization infrastructure is the layer which manages the health of the virtual machines, their redundancy,load, maturity etc..VMware and Provision networks have tools in this layer.The tools act as a “mother” to the virtual machines monitoring them closely for their well being.The VMware product is called Virtual Center and there are also vendors like Veeam and Virtugo who offer similar solutions.

Virtualizd Guest OS remains our good old Windows XP/Vista which are hosted at the datacenter instead of local machines.

Virtualization Host:- This is the heart of the VDI solution. This is where the guest operating systems are hosted over bare metal boxes and managed like individual programs.This layer is dominated by Vmware with its flagship product ESX. But with the Citrix acquisition of Xen and Virtual Iron also doing very well, the status quo of Vmware may not be remain the same forever. But as of now, it looks like a smooth sail for some time to come for VMware.There are also other players like Parellels for Apple Mac users and KVM/Qemu for Open source enthusiasts. Of late a company called Qumranet has also developed a KVM based desktop virtualization solution.

Backup and Storage technology:- Companies like Veeam and Vizioncore sensed the opportunity for vm backup/storage operations and they have solutions in the areas for BC/DR and maintenance of Vms.

Storage:- IBM, Sun, Hitachi,EMC have been virtualizing SAN/NAS. To end users, storage appears as locally mounted disks while the storage is virtualised in the datacenter and managed through a storage management interface to the system administrator.

Thats all folks!. I ll keep you updated.

Your comments always rock!

Older Posts »