Left Barined vs. Right Brained – Examples from Computing Industry

I had a very interesting discussion with a friend about left-brained and right-brained people. She cited an article, that says left-brained people are logical, concrete, analytical and very definite. Right-brained people, on the other hand, are creative, artistic, open-ended, indefinite, creative, visual, holistic. Based on this criteria, I am definitely left-minded.

This discussion got me thinking about the role that left-brained and right-brained folks play in this world. It is said that the majority of the people are left-brained. That makes sense because lot of people like to have order and logic in their life. But, is order and logic all there is that matters? Without creative right-brained people, where would this world be?

If we look around, example of Steve Jobs comes to mind as a right-brained individual. One sign of right-brained folks is that they arrive at conclusions without a reason. Steve Jobs has clearly showed signs of this property over time. For example, over the years business people have tried to convince him that Apple must not bundle software and hardware together. In-fact Apple should not be in the business of selling hardware at all. But, that does not matter to Steve. It just MAKES SENSE to him that hardware and software should come from the same vendor. That insistence has led to recent flawless experience for Apple customers. Moreover, his love for art and design has given us beautiful Apple computers and the amazing iPhone.

Steve’s madness, insistence and obsessiveness is not without chaos, which is yet another property of right-brained people. Apple’s Newton, Cube, Lisa and Apple III were all huge commercial disasters. Even Jobs himself was fired from the very company he co-founded.

Now, if we look for a prominent and comparable example of a left-brained person, we find Bill Gates. Jobs has famously claimed that Microsoft has contributed enormously to the computing industry. But, they do not have a taste. That is exactly right. Bill has always followed a logical and analytical process. When Microsoft was starting out, Bill realized early on that IBM was in the business of making hardware and that it will be very hard to compete against IBM. So he collaborated with them and provided software. He never thought along the lines of Jobs’ thinking that homogeneity in software and hardware was important. His goal was to become big businessman in the computing industry and he had a process in place for that. He never went with his gut instincts or did anything that MADE SENSE.

If we compare Gates’ and Jobs’ impact on the computing industry, then, for better or for worse, Gates comes out on top. Gates has shaped the computing industry, positively as well as negatively, for nearly 2 decades. But if we dig a little deeper we find that Gates & co. seldom did it themselves. First Windows version was almost an exact copy of still-in-progress Macintosh. Microsoft had no idea about an Internet browser until Netscape Navigator came along. Then, Microsoft pushed Netscape out of business by bundling Internet Explorer with its then popular Windows. On countless occasions, Microsoft has bought or bullied innovative and creative organizations. In other words, willingly or unwillingly, the left-brained, logical and analytical Gates has always collaborated (a sugar-coated term) with right-brained, innovative and creative folks. Thus, the bottom line is, right-brained and left-brained people complement each other. The weaknesses of one are overcome by the strengths of other. Thus, these two groups should collaborate in real-life to achieve greater good.

Finding a new research project

For the past few days I have been trying to find a new and cool research project to work on. Research ideas come from one’s interest or from current hot topics in a particular area.

I tend to keep my interests relatively broad. That mentality probably comes from my fear of voluntary commitment. As a result, I like anything that is related to networks (except theory – I hate theory).

I am rather inclined to choose hot topics in networks. This is primarily because I love the recognition. This approach has the added advantage of finding the research problems easily.

I have following areas in mind so far:

  1. Botnet defense
  2. Scalability and Security in Online Social Networks (Facebook, Twitter e.t.c.)
  3. Efficient algorithms for decentralized tracker based CDNs
  4. Data Center Network design.
  5. Cloud Computing.

I am most interested in botnet defense at the command and control (C&C) level. The related work in this area seems to be focused at defending probable victims (e.g. Google, Amazon e.t.c), using network shields. I believe the assumption is that so far C&C mechanisms has been pretty straightforward. Thus, as soon as a botnet is found to be lethal and attacking network shields, it can be disrupted by finding central points of failure. Failure poins exist in current botnets because botmasters assume that in one way or another bots and botmaster must know each other. However, recently, I have conceived a generic a botnet in which bots and botmaster do not need to know each other. I believe, defense mechanisms against my proposal are important. However, I am struggling with this question: Is it worth pursuing defenses against an attack that has not been employed yet. However, I do believe it is important to conceive new attacks and stay one step ahead of attackers.

Social networks are really beautiful applications. However, I believe that the design of these networks is bound to fail. The volume of interactions seen by these networks must be creeping towards becoming unsustainable.  In addition, the security and privacy mechanisms employed by these applications are at really primitive levels. These are important and interesting challenges that must be dealt with. However, I do not have any concrete ideas yet.

I have recently monitored the Azureus DHT using my work on Montra. Monitoring Azureus DHT essentially gives us access to millions of tracker logs (32 million total). This gives us the opportunity to experiment with different tracker algorithms. However, I havent been able to find a compelling research problem as to why one would want to invent new tracker algorithms.

Finally, I am broadly interested in data center networks and cloud computing. However, I haven’t played with these areas that much. I have read a few papers and attended a few presentations.

A new Internet?

This is really cool: http://www.nytimes.com/2009/02/15/weekinreview/15markoff.html.

I would also encourage people to look at Accountable Internet Protocol (AIP)

I think its about time we give network security the importance it deserves. Deploying a new architecture at a global scale, however, is going to be a challenge.

Synergy Rules .. Big Time

Synergy is an open source tool, which helps keyboard and mouse from one computer to be used on another computer. Both the computers must be accessible via Internet

Give Synergy a try. Its lot of fun. Instructions to setup a synergy server on Ubuntu can be found here

Do we still need disks?

This is just my opinion and I am wondering if we still need disks? My recent desktop purchase included a 320 GB hard drive. I have hardly used 10% of the disk space, which includes the space taken by OS and other necessary software. My data (photos, songs e.t.c) stays online as do my emails. So why do we still need disks?

Use of Java as first programming language

I want to share this link with the readers:

http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

This is an excellent article about how damaging it is to use Java as a first programming language for CS students. I wish this article was around when I was in college because Java was my first programming language.

Linksys WRT54GS vs. WRT54GL

If you are like me, who like to try different free open source projects, then while shopping for your next wireless router, buy Linksys WRT54GL. I recently bought WRT54GS without knowing that it is not based on Linux and thus cannot be modified. WRT54GL, on the other hand, is Linux based and can be easily modified with a plethora of firmwares such as Tomato, DD-WRT, OpenWRT e.t.c. These firmwares have a lot more features than the stock firmware which is shipped with the router. For example, you can easily boost your wireless signals, set Quality of Service rules e.t.c.

Recommendation: Buy Linksys WRT54GL and upgrade it with Tomato

Compiz Fusion Rules …. big time

Details coming soon … but i had no idea that desktop effects can be soo much fun :)

Ph.D – A lonely road ahead

The goal of a Ph.D. program is to teach a student how to do genuine and original research. After completing a Ph.D., the newly minted DOCTORS acquire research positions in corporate world or academia. Such positions give a proper candidate the freedom of working on anything he/she likes. Being a Ph.D. student myself, that is the goal which keeps me motivated. I craved that freedom during my previous job experience and I hope I can find that once I am through with my degree program.

However, I recently learnt from a very good friend that Ph.D. is a lonely road. It is lonely because one has to do it for him/herself. Advisors and other students can provide guidance but at the end of the day, you have to pull yourself ahead. There will be times when no one pays attention to your work and you absolutely hate your own work. But you have to keep yourself motivated that there will be better days ahead. I think that if someone had given me this advise a year ago then it would have been really helpful. I hope incoming Ph.D. students read this and learn from it.

VirtualBox Rules … Big Time

Virtualization is a technique, which allows one operating system to run on top of another. For example, one can run Windows on top of Linux and vice versa. There can be many reasons to go for such a technique. Someone may be using Linux as his/her base operating system but may want to play a Windows based game or may need to open a PowerPoint presentation. There are numerous solutions around this but nothing works better than native OS level support for such software.

There are quite a few software available to help users run multiple operating systems. VMware, Xen and VirtualBox are some of the names. In the past I have used VMware quite frequently and it has lived upto my expectations. I was able to run Windows XP on top of Fedora. However, VMware is not open source and after the trial period one must buy the software. Because of this I always stopped using VMware after 1 month.

Recently, I came across VirtualBox through this blog and it has worked like a charm. VirtualBox is free and is open source. It was really easy to setup Windows XP and Windows Vista on top of Ubuntu Gutsy. There was no problem with any drivers (including video card drivers), excpet for network driver on Windows Vista. The solution for that problem can be found here. Since I have a dual head desktop, I like their full screen mode. They also have a seamless mode with which 2 operating systems can run seamlessly.

All in all, full marks to VirtualBox. Please keep up the good work :)