Release Early, Release Often. Not quite

Quite often I have come across the mantra of “Release Early, Release Often” , a philosophy that says developers should release their products early and gauge user response to the app and make frequent changes based on user feedback. The benefits of such an approach are obvious, you get early feedback from users telling you what they like and what they don’t and what features they would like to see in the product. It ensures your development is headed in the right direction and doesn’t oscillate out our control. It helps you focus and get to the right features faster instead of releasing something into the market and realizing you have gone all wrong. For many developers this had yielded good dividends. It does work. Continue reading

PICK UP.DROP.ESCAPE

This article was written by A.S Krishnan almost a year back for NIT Surat’s monthly magazine, Renesa . I contributed by adding the last two scenarios viz, “The NJ” and “The Geeky Guy”. It was finally published in this month’s issue. You can read the original at fcostheta.blogspot.com .

DISCLAIMER:

All people mentioned in the following paper are neither fictional in nature nor is it for the feminist. Any attempt to reproduce (the events mentioned) might lead to either and only awesome or disastrous circumstances. It is totally left to user discretion whether or not to try it. Parental guidance or help from a friend is not advised. User foolishness is deeply regretted. This is not meant to be read by good looking girls or guys.

ABSTRACT:

The following is the case study done in SVNIT Surat during a period of 2 and half years on how to pick up girls in this college. It is observed that there is a common trend among batch mates to get girls whom they think are lesser in intellectual capacity though it might not be true in reality. It has been observed that intellectual capacity decreases drastically with juniority among girls. The paper offers tips and tricks to pick up chicks ranging from simple to complicated methods.

THE BUMP

For performing this task you need to have a party. Go talk to the authorities and organise a DJ night and be the organiser. Then make sure no barricades exist. After that what you have to do is blend in the crowd and dance. Now, find your target. Good. Then keep dancing and make sure that you bump into her without knowing it was on purpose. Then the girl who already would have a good impression of you because you organised the event will then think you are the cool organiser who loves to party and then will start a conversation with you. So then get her phone number and then……

THE SELF DESTRUCT

To perform this task you must have two guys who are bound to make some senseless and boring statements with ease. The must preferably be a bit unknown to you. Then make them start a topic when the girl is around. Then the guys seeing the attractiveness of the girls will start talking about topics like Sidney Sheldon and Mario Puzo. The girl then will look confounded. Now what you have to do is isolate the two guys, play the sane-level-headed-moderating-dude and tell that I did not even understand a word of this crap. The girl will then like you thinking you have so much in common and give you her phone number and then……….

THE INTELLECT

To perform this task, you need to possess a good brain and must be very intelligent. This starts off just like the above mentioned task, but the girl mentioned should be quite brainy in nature. Hence preferably the target is a final year. Now start off a topic in front of her which she can relate to and you can start throwing in fundoo jargons and weird etymological terms from a random Greek source. Then when she feels impressed end the topic in favour of you and talk to her as to why she did not participate in the topic she liked a lot and start giving her advice as to go get a life and stuff like that. The girl then thinking you are a mature guy will give you her phone number and then………

THE FEST

For this task, you need to be in the core or executive committee of any fest of the college. Now befriend your senior in the team, well, it is probable that you were there because of him, so ask him to put the girl you like in that particular committee. Once he does that now you will have to get her to do work along with you. This is the tough part. Now, there are two routes. You can either ask her to do your work saying the convenor asked you to do it and then after the fest is over; you treat her for her awesome work done whether or not the fest was a success. Then you proceed to comfort her and then get her number. The second method is that in which you can be a true gentleman and pretend to do her work just so as to be gentlemanly and then the girl, feeling all sad and guilty will call you for a treat and then…………….

THE IYER / THE WOMANISER

To be the performer of this, you need to behave like Iyer. If you don’t know who he is, DROP DEAD. This strategy involves multi-fold operations which are complexly interwound with each other. To do this, you need to have a baby face. Then you need to make sure you get set up with some random girl/girls in your batch. Then you have to convince your senior to make you the convenor of a fest. Now during the second year team selection make sure you select the best looking second yearites and get them into the team, hence naturally the guys will want to work. Hence with such a dedicated team, your fest will be a success, obmax. So because of its success, now you will be asked by these girls for a treat in groups. Offer each of them a treat separately and treat all those who see you giving a treat, well, you will get a discount anyway because you will make your target junior run around for sponsorship and in return make him the convenor for next year and take most of his coupons, well he has hidden them anyway. So you have so many girls’ contacts and it is now unto you to take your pick or you can decide to be the convenor of Mindbend or Sparsh [:P] and look for more girls!!!

THE MACAULAY

Once in the British parliament, Lord Macaulay told the parliament that the best way to separate India is to reduce its self-esteem. So find a girl who has just done something stupid like fall from bed while asleep or something which does not make sense. Now take a group of loser friends and people who have no society image and tell them to make fun of her because she made fun of them earlier. But you should remain quiet and act like you are ashamed to be a part of it which you obviously are. Then when she starts crying, behave like the very sympathetic and empathetic guy and be the shoulder for her to cry on. Then she will start liking you and then……

THE ACHIEVER

For this you need to have achieved so much stuff in your life and in college. For this, you have to keep winning all the events in college. There is always a probability that one among the targets you are looking for will be present in the event or will be in the committee organising it. So if you talk like you are the owner of the event or if you can talk like the funniest then you would have caught her attention. After your turn, go stand or sit next to the girl who you have eyed. She will then tell a congrats and offer a handshake, then start talking like you have been winning this since school days and offer her some tips and tricks to win the event the next time it happens, and then make some more talk and then……..

THE JUDGE

Ask your best friend in a committee to organise the event and tell him to make you the judge. Then make sure that your junior calls your target to the event. When it is the girl’s turn to get on stage then let us assume the event is JAM, put her up with dumb and loser partners and make sure whatever defects she tells is upheld and everything that goes against her is denied or only occasionally withheld (for more details, contact Renesa Chief Editor), now you know that she has only a Fermi of a chance of winning, so tell the organiser to have a prize for the best girl and make sure she wins a prize. Then go on stage and talk some jargons and mention how she valiantly played the last round and get to talk to her after the event is over and then………

THE NJ
Now, this takes a bit of intellect, a lot of sweet talk and most importantly, the art of making your presence felt. To perform the NJ, you will need to dress up in rumpled clothing, have undone hair, in all dress like a near hippie (The I-don’t-give-a-damn-I’m-different look).Next you need to be a part of quite a few clubs/societies in the institute and make your presence felt in all of these (needless to say you need be a decent speaker for this). In choosing the clubs you want to be a part of, keep a mixed bag, join a club that caters to humanities, another that deals with robotics and another on technology and engineering and most important of all, one that does social service, nothing impresses a girl more than a guy who loves to give back to the society. Remember, you don’t just need to be a part of these; you need to actively be involved. Sooner or later, drop the hint that you are a workaholic who balances myriad responsibilities along with academics thereby augmenting your reputation. Next is easy, since you are an integral part of so many clubs you will get to meet chicks of varied tastes (an looks). Choose the one(s) you like as ask them to meet you up or call you up personally to solve their doubts or discuss various issues. See the beauty of this, the chick herself meets you and calls you. Yes, Jackpot. Read up a few books by authors like Sidney Sheldon etc or learn a few relevant tech stuff and you are done.

Just in case, you just want to add more juice to it, you may also try doing (not necessarily very) well at a skill that is much in demand in this college, say for example designing. Guess, what chicks think designers are hot coz they like god create something out of nothing. And no one’s hotter than god. Firstly, your designing skills will ensure that you find a place in every event, magazine, club of the college that needs a poster. Secondly, well read the previous paragraph.

THE GEEKY GUY
While Pyaar Impossible may say that 1 Geek+1 Beauty=Pyaar Impossible, even in the movie Priyanka will certainly fall for the geek in the end. And this is an engineering college and therefore, there are many beauties-wanna-geeks here. And guess what, such beauties want to remain near geeks. To perform to act you need to be a geek or act like one. Learn a bit of circuits or coding, throw in a few jargons like multivibrator (yes thats related to electronics and not anything else, yet), oscillator, FPGA, MOSFET, C Sharp, Python, Linux, Hacking etc.. Obviously the choice of jargon will depend on what your potential target likes. Obviously, if she is in first year, almost anything would do; first year like all and any tech. Soon she will participate in some event or the other and want your help and there’s your chance. And if she is afraid of participating, form your own team and ask her to join because you find her dedicated, smart and intelligent (and not to mention incredibly hot). Ask her out for coffee or movies and just be friends and she will be in.
“The Geeky Guy” con is awaiting a patent. Troubles have arisen because both ACM and Drishti have argued that they were the originators of this idea and the credit goes to them. As we write this article, both groups are lobbying heavily and there is no resolution in sight.

Will this give me a JOB?

Before getting any further, let me clarify that I am not really an expert at getting jobs. With my 6.14 CGPA, I haven’t been eligible for the campus placement process at any of the companies I fancied and I wasn’t interested in any of the companies where I was eligible. So basically, my experience of the whole interview and selection process is zilch. And I very much hate wearing formals to an interview, I mean I will code just as awesomely whether I wear jeans, formals or bermudas. Nevertheless, I have solved the technical questions in the mock test papers for many of my friends who were eligible and I also answered last minute phone queries on various technical stuff (oye difference between C++ and Java? Polymorphism ka definition bata? etc) right before my friends were about to face the interviewing panel (And I can proudly say that most of them are now happily placed).

Now lets back to the topic. As you are aware, Sun Tech Days 2010- Hyderabad is on March 24th and 25h. I had a blast last year at Tech Days and will go again. So I sent text messages, tweets and status updates to see if anyone is interested in going with me. And yes, a few people were interested in coming along. But almost everyone has the same query, “How is it useful? Will Sun give me a job if I go there? Will it look good on my CV?”. I then politely inform them that TechDays (or any developer conference for that matter) is about learning new technologies, meeting up the developers of that technology first hand, expanding your horizon and yes, networking with other developers. But none of these can directly lead to a JOB. Any company, be it Sun, Microsoft, Google or Oracle or any other, does not do these event to recruit, they do these to popularize their products, get developers excited about them so that these developers would go back and use some of these products in their own projects, but never to find potential employees. Yes you could, potentially, meet up the company people, and really impress them with some cool idea and they might refer you; but that’s just as unlikely as me beginning my preparations for any exam more than 14 hours in advance. Very very rare.

And when I say this, it dampens their spirits to no end. The response is somewhat like, “Ummm..Well…Its 1000 bucks plus travel and stay…good event..but I don’t know any of those stuff….I will be lost..still I will think…”

Well I am sorry but I hate this attitude. First realize that no company will ever recruit people from a developer event. If say Sun were to recruit everyone who came to Tech Days Hyderabad, it would directly double their present employee count. So that ain’t happening. Secondly, why is that you expect that almost everything that you do has to directly enable you to get a JOB? If you are good at what you do, you will get a job (provided you haven’t messed up your academics like me and your university has got a competent Placement Division). The goal of your engineering studies should not be to get a job, it should be to learn how to develop software (or electronic circuits,buildings, bridges, cars, chemicals etc but I will stick to my field here) that are awesome and flawless, near perfect. It should be to develop a deep, almost fanatic, interest in your field (or a sub field or sub sub field). It should be about experimenting, making mistakes and screwing up, and yet gearing up for the next adventure.

As Rancho puts it in 3 Idiots, “Chase excellence, success will follow”.

Last year when I attended Tech Days 2009, I had just become a Campus Ambassador for Sun. I was still not much into CA activities and my only contact was my co-ordinator Ajay Kumar. I had heard about Ganesh Hiregoudar, the APAC Manager of the CA program and my boss, but I had never met him. His name drew up visions of some burly, short haired, short tempered, pointed haired boss images in my mind. No one other than Ajay knew I would be at Tech Days and I too had no idea that anything special regarding CA activities would happen at Tech Days. My first day went well and I met one CA, I was wondering if anyone else had arrived. The next day, in the morning, I ventured to the OpenSolaris installation area tucked at a corner of the HICC. Actually I did not go there for OpenSolaris but rather for the Sun SPOT demo by Jay Mahadeokar and Vasusen Patil, I was very excited about it and hadn’t received my kit yet, in fact I did not know that I was supposed to get a kit. Unknown to me, a lot of CAs, Ganesh Hiregoudar and other people associated with the CA program were all there near the OpenSolaris corner. They identified me because of my orange Sun bag. A few confusing moments followed by introductions with a lot of awesome people and I was put to help out people install OpenSolaris and also register for OSUM . And yeah I got to finally meet Ganesh Hiregoudar and all my fears turned out completely false. He was anything but burly, didn’t have short hair and was did not frighten you at all. He was the most polite boss one can ever have, the most awesomest boss. I also met Rajesh Umashankar and Kumar Abhishek. The whole CA gang went out for dinner in the evening, sponsored by Sun.

Before I had gone to Tech Days, I was an unknown CA, just an employee ID, an email address. Once their, I met these people, was able to impress them (though I have to admit it wasn’t intentional). Now they knew me and liked me. After a few weeks, I was offered internship at Sun,I applied and was selected. Not every CA gets to do an internship at IEC but I made it. And it was due to that internship that I was able to work with the Sun HPC Team at Singapore. And now I am doing another project with them. And all of this happened because I went to Tech Days. I did not go to announce my presence to my bosses there, I went there to learn about Sun technologies. I hadn’t even hoped to meet any of my bosses, Ajay too was not coming. But that visit really worked wonders.

So the lesson is, don’t just do things because you are absolutely sure it will give you a JOB, do things because you like to do those. Learn and explore. Opportunities will surely come and you will be at the right place at the right time. Don’t do everything for a “certi”. Most of the certis that you get after working in fests in our college are useless. No employer is really bothered about those. But you might actually end up learning something in the process. There will be no dearth of jobs if you have a passion for your work.

Well, enough free advice for now. Have fun. Hope to see you at Sun Tech Days 2010 at Hyderabad.

You are a great friend, BUT ….. :-(

ow this is quite common. A guy and girl are good friends and then the guy pops the question and the girl says ” You are a good friend but I never thought of you like that” or some annoying variation of it.
This is roughly the equivalent for the guy of going to a job interview and the company saying, “You have a great resume, you have all the qualifications we are looking for, but we’re not going to hire you. We will, however, use your resume as the basis for comparison for all other applicants. But, we’re going to hire somebody who is far less qualified and is probably an alcoholic. And if he doesn’t work out, we’ll hire somebody else, but still not you. In fact, we will never hire you. But we will call you from time to time to complain about the person that we hired.”

Now this is quite common. A guy and girl are good friends and then the guy pops the question and the girl says ” You are a good friend but I never thought of you like that” or some annoying variation of it.

This is roughly the equivalent for the guy of going to a job interview and the company saying, “You have a great resume, you have all the qualifications we are looking for, but we’re not going to hire you. We will, however, use your resume as the basis for comparison for all other applicants. We may even hire somebody who is far less qualified and is probably an alcoholic. And if he doesn’t work out, we’ll hire somebody else, but still not you. In fact, we will never hire you. But we will call you from time to time to complain about the person that we hired.” 😉

Does it not sound so stupid. I mean you are good friends so whats the problem?

Okay  I was kidding. Proabably I was being a bit sarcastic. Yes you can be great friends with a girl and yet she may never have any feelings for you. And you will have to live with that mate. Love is not a mathematical formula, where you can say:

You look good+You are smart+You are intelligent+Funny+Caring+Great Friend= I am in love with you.

It just does not work that way. You have to have a mysterious compound Z in the above equation to make love happen. And that Z my friend is an unknown compound and varies from person to person. And that is exactly why you may be very good friends with someone and yet he/she may not have any feelings for you.

But yes, I think its very important that you be good friends first and then fall in love. I dont believe in love at first sight. Love happens over time, gradually. You don’t just wake up one fine day and decide that you love that great friend of yours. In fact, you dont decide anything at all. It just happens. We can choose who our friends are but with the people we love, we have absolutely no say in the matter. You can neither start nor stop loving a person.

In such a situation, my advice to you would be to continue to be friends and spend time with her whenever you have the opportunity hoping against hope that one that she will change her mind. And if that day never comes, please do not come and complain here. You chose this in the first place. You could have walked away and you did not. So face the consequences.

How to be a good programmer? My tips

Update: A way better and more comprehensive article on similar lines can be found here http://matt.might.net/articles/what-cs-majors-should-know/ I strongly recommend that anyone serious about programming should read it

At the very onset, let me make it clear that I DO NOT consider myself a good programmer. I rate my coding skills as average and I am still learning and have a long way to go before I am even slightly pleased with my programming skills. Yes I am better than quite a few people when it comes to programming, but thats merely because they are lazy and like to sit on their asses whole day and never bother about programming. Their horrible skills make my less horrible skills look marvellous. I have performed abysmally in ICPC and have never done well in any coding contest worth mentioning (I DO NOT consider college level contests worth mentioning). I havent succeeded yet in Google Summer of Code and my Imagine Cup moderate success (and glorious failure) isn’t much to write home about.

So most of the tips I will mention below are lessons learnt from failed endeavours, they are what I have wanted to be and I am not. So lets dive in.

1.Decide why you want to become a good programmer: Is it because you want a job, preferably in Google, Microsoft, Sun or IBM? Great. Then you will reach nowhere. All good programmers I know are good because they loved what they did. Develop interest in programming. See, programming is the only branch in engineering where you can straightway apply what you learn. Your dad may have a car but he certainly wont allow you to tweak the V2 or swap it for a v6 just to see what happens. But with computers you can do whatever you want. You want to simulate a virus? Cool. Install a virtual OS and run it. Then, when you are done, remove the virtual hard disk. If you are good at what you do, you will get paid and surely get that dream job. Yes, even I want to work in any of the above mentioned companies. But thats not because of the fat paycheck. Its because of the work they do. Because of the exposure I will have. Have you ever bothered to find out what all these companies do and the enabling technologies behind their products or the kind of R&D they do? Jobs will come. Dont make yourself a sucker for one. Sachin is not a great cricketer today because he decided to play cricket to earn money and get dozens of endoresements.

2. Programming languages: Very often people equate good coding skills with number of programming langauges known. Thats just damn untrue. While knowing a lot of programming language is good and sometimes, even, essential; it is more important that you know one or two lanugages very well. I ‘know’ and have used more than a dozen programming languages and yet C and Java are the ones I am truly comfortable at. Thats sad of course. I really wanted to be good at Assembly and Lisp as well. Never got the time or chance to develop those skills. To be good at a language takes years (at least 2 years). Being good at a language means, you understand where it is best used and where using that language makes no damn sense. On the other hand, knowing a language takes anywhere from 3 days to a week. If you are a beginner, learn C first. Don’t buy Yashawant Kanetkar. Buy the book “The C Programming Language” by Brian W Kernighan and Dennis M Ritchie (If you don’t know who they are, do this 1. Slap yourself 2. Google their names). This book is not the easiest but is the best. Its a small book but it is the most powerful. Generations of programmers have been brought up on it. And if you think this book is tough for you, please do not harbour any misplaced desires of being a good programmer and do not waste your time by reading this post further. Programming is an art (not a science. Yes you read it correctly), and like any art it requires painstaking effort.

Some people suggest Python as the first language to be learnt. Python is certainly a good language and is easy too. But you will have to rely mostly on the internet for help as not many around you would know Python. Also C has the broadest usage among all programming languages. Also please DO NOT use Turbo C. Its so fucking outdated. Use GCC. If you are in Windows download Dev C++. It has GCC

Read this (small) essay by Peter Norvig Teach yourself programming in 10 years . Again, do a Google [ 😉 ]search and find out who Peter Norvig is.

3. Algorithms: Any good programmer has a good understanding of algorithms. Its not necessary that you know each algo by heart (in fact good programmers never learn things by rote) but you must understand when to use what. Algos will broaden your understanding and give you new ways to tackle problems. Another important thing is Data Structures. Its more important than algo. Once you have chosen (or developed) the correct data structure, the algorithm becomes self evident. For algo, read the book “Introduction to Algorithm” by Thomas H Cormen et al. You may also refer Andy Tanenbaum’s “Data Structures in C and C++”. Also if you have desires to participate in coding contests (the respectable ones), “The Art of Programming Vol I to V” by Donald E Knuth are mandatory. Also may be “Concrete Mathematics” by Donald Knuth. Again reading does not mean remembering everything. Just try and understand whats written.

4. Coding contests: Coding contests are good for developing your algorithmic skills and they make you think fast. Its a good idea to participate in ACM ICPC or Topcoder.com. Then there are coding contests (like Sun’s Code for Freedom, Google’s Summer of Code, Microsoft’s Imagine Cup) where you develop a complete software. Such contests are spread over many months. Both require different sort of skills. You may be good in one and bad in another and yet you could be a good programmer. Contests like ICPC require lot of practice, fast thinking and you are expected to keep algos at the back of your mind. CFF, GSoC, on the other hand, requires creativity and focus spread over a long period of time. You dont have to come up with solutions too fast and you dont have to mug up algos. ICPC is like T10 while CFF,GSoc and Imagine Cup are like Test Matches. I would suggest you to participate in both types and then decide if you want to focus on either or both.

5. Participating in FOSS projects: You MUST participate in some free software projects. There are just too many. I am working on SCALASCA right now and then I will move on to Sun Grid Engine and Sun xVM Hypervisor and contribute code there. You learn a lot from these. You get to see a lot of code and learn the best practices. And did I mention, it looks good on your CV too. Most people catch cold feet when they go through some of the prerequities of such projects. Take Thunderbird for example. You would need to know a lot of C/C++ and Javascript (for developing modules). Now don’t wait till the day you are an expert in these languages before contributing. Programming is an art, don’t waste time sharpening your pencil when you should be drawing. You can ask me for directions.

6. Design Patterns: Any art is learnt by emulating. And therefore, you must emulate the best. Design Patterns are tried and tested architectural (of the software kind) solutions to some commonly encountered software design issues. And therefore, a basic knowledge of some common design patters in needed if you are planning to develop something that is even moderately complex. I suggest “Head First Design Patterns” from Oreilly as the first step.

7. Learning by emulation: Emulate the best. And this is possible by reading books written by the best and/or going through code from some of the best free software projects. I would urge anyone serious about programming to read the book “The Art of Unix Programming” by Eric S Raymond (dont forget to first slap yourself for not knowing who Eric Raymond is and then googling his name). You are not a programmer if you have not read that book. Period.

Now let me address a few common grouses

a. I dont find any interest in computers and want to do an MBA:Mainly a statement often repeated by Second Year(sophomore) students. Thats really your problem. I did not ask you to take Computers or even to join Engineering. You did not know, or bothered to find out, what you were getting into when you took up this branch of engineering and I am pretty sure you have NOT bothered to find out what awaits you in a MBA course either. I am also quite sure that 2 years after an MBA (if not earlier) you will also say pretty much the same thing about your job. Well what can I say. All the best 🙂

b. I dont like reading the books (or any books for that matter) that you mentioned above: Well this is not yet the world of Matrix where I can just feed in programming skills to your brain. Dont force yourself to read them. You can’t . Do it only if you want to. And if you don’t, please forget about being a good programmer. May be its time for you to use the excuse mentioned above (point a).

c. Give me one programming language that does all: There is none. Each has a different purpose. And thats how things are gonna remain buddy.

d. I want to a ‘real’ project: Thats great. You can do two things:1. Start one of your own 2. Join a FOSS project. But most people are not happy with this. They expect me to ‘give’ them a project, one thats easy (read, should not involve anything other than C and the only files you need to include should be stdio.h, conio.h (yes people here still use Turbo C) and may be string.h and math.h) and I should tell them what to learn. When people say this,they expect to go on a Autopilot ride.

e. I will learn X programming language by this sem/year/decade :There is no way you can sit with a book and learn a language. You need to do some real work with it, develop some real software and not just do those exercises in the book (that is necessary of course but not sufficient). Most of the languages I have learnt are because I was forced to do so as part of some project. Just pick up the basics in a day or two and then apply it to a real life project. Need ideas? Come to me.

Finally as Larry Wall says in Programming Perl : “We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.

Laziness:So that you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer

Impatience: The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer

Hubris: Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer.

So get set on your way to become a great programmer, the likes of Richard Stallman, Rithcie, Brian, Raymond, Torvalds. All the best.

Time for some predictions

A lot has been written and talked about the Oracle-Sun deal. Lots of experts have given their predictions as to where this could lead the IT industry in general and the two companies concerned in particular. So now, here’s my 2 cents worth on the Oracle Sun deal. Please bear in mind that these are entirely my own views and hence may be entirely wrong. However, this is my blog and I can express my view. So here are my predictions

1. Oracle most certainly wont kill Solaris. Yes, many experts have predicted that Solaris would be forshaken for the cause of Unbreakable Linux. What these people dont know is the popularity of Oracle running on Solaris. Dude there are scores of customers wanting that. I don’t know if these guys have ever looked at Solaris, may be 10 years back but not now. Solaris is a very advanced OS but is not as popular as GNU/Linux just because it wasn’t free until now. Yes its still way behind Linux in popularity(in desktops).But dude we are not talking about desktops here. We are talking servers, enterprise servers and there Solaris is pretty popular. Also GNU/Linux is supported across a wider range of hardware and architecture. But then again, server hardware is pretty much standardized and Solaris makes fantastic use of multi core server segment CPUs from both AMD and Intel. Solaris runs on the hardware that it needs to run on and does that pretty damn well. Solaris was never really meant to run on desktops and embedded devices. Only servers.

2. Oracle would not sell off Sun’s hardware division. In fact I think one of the reasons Oracle bought Sun was its hardware. They ain’t gonna sell it to someone like HP, Dell etc. $ 7.4 Billion just for Java, nopes, I dont think so. These experts got to understand that Sun’s workstation are among the best in the market. The reason they are not getting sold is because no one right now is buying servers, not of Sun or IBM or HP or anybody. Its recession time dude.

3. Oracle is not gonna make Java proprietary. While Oracle hasn’t really got any record of delving into FOSS, Oracle isn’t stupid. When you try to make a FOSS project proprietary, the only thing that happens is that, it forks. And making it proprietary will only antagonize developers. Frankly, I dont see what Oracle will gain by making Java proprietary. The way I see it, Java will remain with the Java Community Process. Oracle will benefit by the growth of Java and related technologies. And people who think Oracle never did any FOSS work should, for one, check this btrfs.wiki.kernel.org/

4. Oracle won’t entirely shut down Sun’s R&D division. A lot of fantastic software and hardware has come out of there. Please understand that poor financial situation does not really mean bad products. There are different reasons and products surely isn’t one of them, in case of Sun. Sun’s products rock.

And a few hopes:

1. Oracle wont shut down Sun Campus Ambassador Program. Why? Coz I am a campus ambassador. 

2. Sun SPOTs would continue. Why? Its one cool piece of tech.

Why I don’t want to pursue MS/PhD?

Its the time of the year when the final year students are about to leave. Just a few days more and I will never again meet some really impressive seniors, people who have left a definite impact on my life. Sad, while I am to see them go, I am also envious of them.Many of them have got admissions into some of the finest Universities abroad and will be pursuing research in various fields of computing, like AI, Natural Language Processing, Information Security, Parallel Systems, Distributed Systems to name a few. These are things I am crazy about. There is just so much to learn and explore in computing. I have just touched only a tip of the ice-berg in my three years of undergraduate studies. 

 

Lets say Linux. I really don’t much about Linux internals, kernel hacking.But  its my dream to contribute some kernel patch some day. Also Parallel Computing and distributed computing are such exciting topics. So it seems natural that I should pursue a career in research like my seniors. But alas, I dont wanna do that. I am preparing for an MBA and wanna go to a B-school. Given below are some of the reasons why I wanna do that

 

1. I am worried that I will never be able to complete a decent PhD thesis. I mean I don’t know what new I am gonna write about. I really never have some huge revolutionary idea that I can convert into a thesis. Its not that I don’t have ideas.Most of the time I am able to think out of the box on certain things(related to computing) but a research idea is not one of them. I can’t think like…say Sunayana. Sometimes, it appears that everything that had to be discovered and invented has already been invented. In fact I had this worry since childhood (I wanted to be scientist since I was a kid). I used to grumble about the same with my parents. 🙂

2. Somehow it appears that the life of a researcher is slow and laid back. Yes they do cool stuff but its not all that fast paced. But I like to live at breakneck speed and live a risky life which border around a mental breakdown . That way MBA is better. You get to have a 16 -18 hour work day and are responsible for billions of dollars and your decision have profound effect. There is risk and fast pace (with no time to rest) in such a career. So I am worried that I may get bored of the life of a researcher.

3. I probably dont have that kind of patience to work on something for years. However, this is disputable as I have shown evidence to the contrary.

4. My research will be at the mercy of some Management guy(bean counter) who does not have a clue about research. That I dont like.

5. Which decent University admission panel in its right mind would allow someone with my CPGA into a MS/PhD program? Compared to that, in CAT they mainly look at your CAT score.

So I sum up my reasons. I may be wrong in the above assumptions. But then this is MY opinion.