Friday, August 14, 2009

The Software Mind


This is not a new stuff. But every time I read this I feel it so new and so much mine. Even after four years neither my world changed nor my mind and I believe all software engineers have the same story. This is one creature on the surface of earth that never changes. You can hardly find a ever happy, satisfied software engineer. This story is one which reflects the mind and nature of any software engineer in one-way or other. I may not have penned it, but whoever has, has actually penned the mind of any such creature. That’s the reason I thought to share with you all....


This story reflects the mind and life the special creature call software engineer

It was raining heavily outside. Dark clouds gathered in the sky and nature was in its ominous best. I took a break from my work and went to the pantry to grab a cup of coffee. I had a sip and went near the window to see the rain pouring down heavily outside the glass structure. I was inside our huge office building, unruffled by even the fierceness of the nature.

Through the heavy transparent glass, I could see a small girl trying to hold on to her umbrella which the wind was snatching away from her. I felt sorry for the girl, and was happy that I was not in a similar pathetic situation. Yes. I take pride for the fact that I am a software engineer.

I have everything which a common man would envy; money, status, respect, you name it I have it. I always wanted to be software professional and here I am, working for one of the best firms in the world. But then, am I really happy? Now, I could see an imprint of my palm on the other glass window, through which I reminisced my past, basked in the warmth of the sun shine.

My childhood was so much of fun. I vividly remember those rainy days, when I hugged my mother tightly during sleeping listening to all the stories told by her. Now, I have a big house here, but then it is just a house, not a home. My parents are pretty far away from me now. I have a cell phone to talk to them every day, but then I really miss those dinners which I had with my family every day. I could easily afford to taste all the different cuisines these days, but the best of food there, lack the love and affection which is present in the food prepared by my mother.

I threw a lavish party for my colleagues for my birthday, but then they would never replace the birthdays when my friends secretly brought a cake and at the end, half of the cake would have ended up on my face. The couple of hundred bucks that u save for a long period just to give a treat to your friends in the road side chat shop can never give the pleasure even after spending a few thousand bucks these days.
The scene of me crying and refusing to have dinner on the day when I fought with my best friend came to my mind. Today, she has gone far away from me, taking away my love and with it my life, but I am sitting and coding here with a false smile on my face. Every day I meet new people, but then I long ceased to make a new friend.

It's true that I have a lot of things now. I have a nice bed, but no time to sleep. Lots of money, but no friends to spend it with. The latest designer clothes, but a worn out body . Awards for technical excellence, but no reward for the crave for peaceful ambience. A confident demeanor, but a reluctant and apathetic mind. Full of rain, but no sunshine even in the farthest distance.
Now, I could see the small girl on the road enjoying in the rain with her umbrella firmly in her grip. She might not have all the comforts which I have, but then she has the innocence and fun which I lost a long time back.

I have decided to come out of this false fantasy, even if it is at the expense of losing the tap of the software engineer. I am going to again enjoy my life. I am going to go out in the rain and play with the small kid now. I removed my tie, and went near my computer to shut it down. Just then, I saw a new mail alert in my mail box. I slowly opened outlook and I found a message from my manager with an attachment saying that there was a critical defect in the code and I have to fix it soon. I convinced myself that I am not going to get bogged down again by these pressures and stick to my decision. I ignored the mail and went to the rest room. After a couple of minutes, the software engineer in me came out, his shirt tucked in with the perfect tie knot, sat before the computer, and started typing,
-------------------------------------------------------------------
Hi XYZ,

I am looking into the defect and will send the patch files before EOD.
Regards,
Software Engineer.
-------------------------------------------------------------------
YEH HAI HAMARE LIFE

Monday, July 6, 2009

The Rectangular Display Area

On November 10, 1983, at the Plaza Hotel in New York City, Microsoft Corporation formally announced Microsoft Windows, a next-generation operating system that would provide a graphical user interface (GUI) and a multitasking environment for IBM computers.

How did Windows get its name? Why did Bill Gates settele to name its first GUI operating system as windows, in english which means "an opening that admits light and air". The operating system doesnot carry light nor air to a PC!

Digging the history, 'windows', in computer science, was first used by the inventor of GUI, Douglas Engelbart in his prototype GUI in 1964. Incidently Engelbart is the man who invented the Computer Mouse, hypertext, networked computers, Groupware, Interactive Computing to name a few. Though Engelbart got patent for his Mouse (wooden shell with two metal wheels) in 1970 describing it in the patent application as an X-Y position indicator for a display system. , his version of 'windows' was not considered patentable as no software patents were issued at that time. Engelbart's GUI was consists of "enclosed, rectangular areas on the display screen" which he called "window".

The 'windows' were used in many GUI that follow, like Xerox Star of Xerox PARC (1970s), Lisa(1983) and MacOS of Apple, and VisiOn (1983) of VisiCorp, GEM (Graphics Environment Manager) 1985 to name a few.

"At the Fall 1982 Comdex convention in Las Vegas, Bill Gates saw a demo of a new integrated software system called VisiOn, from VisiCorp of VisiCalc fame, which featured a primitive graphical user interface, displayed applications in windows, used a mouse for navigation, and it was running on an IBM PC. Fearing that VisiOn might easily supersede DOS and VisiCorp could potentially replace Microsoft as IBM's partner, Gates learned as much about VisiOn as he could and proceeded to oversee the development of a competing operating system product he dubbed Interface Manager." [Quotes :TechRepublic].

Microsoft promised that the new product would be on the shelf by April 1984. Microsoft finally shipped Windows 1.0 on November 20, 1985, almost two years after the promised release date.

Windows might have been released under the original name of Interface Manager if marketing whiz, Rowland Hanson had not convinced Bill Gates that Windows was the far better name. When Hanson saw Interface Manager and was tasked with developing a marketing campaign, he immediately recognized that the main feature of the product were the windows, the rectangular display area on the screen that is used, as the tool to perform the tasks, by the user. As such, to Hanson the logical name for the product was "Windows" and the rest is history.

  • Windows is a registered trademark of Microsoft Corporation in the United States and other countries.

Wednesday, July 1, 2009

The Software Identity

There are many different factors normally taken into account when naming a software or a software project: trademark conflicts, meaning in multiple languages, memorability, thought association, similarity to existing names and many more. While many a times software name reflects it nature and purpose but there are instances where name seems to have come from the sky or the mantle.

The most popular programming language used in today’s web development is, undoubtedly, Java. But why Sun's lingua franca for next-generation application developers, decided upon a coffee metaphor for their trademark? Why Sun named it Java?

Java was initially called Oak after an oak tree that stood outside James Gosling's office, who initiated the Java language project in 1991. but Sun couldn't use the name 'OAK' because it was already trademarked by Oak Technologies.

Kim Polese, then the Oak product manager in Sun, said he name Java. "I spent a lot of time and energy on naming Java because I wanted to get precisely the right name. I wanted something that reflected the essence of the technology: dynamic, revolutionary, lively, fun. Because this programming language was so unique, I was determined to avoid nerdy names. I wanted something that was cool, unique, and easy to spell and fun to say." [Quote: JavaWorld]

"The name 'Java' originated in a meeting where about a dozen people got together to brainstorm," said James Gosling. "The meeting, arranged by Kim Polese, was fundamentally continuous wild craziness. Lots of people just yelled out words. Who yelled out what first is unknowable and unimportant." [Quote: JavaWorld]


It is believed that the name was first suggested by Chris Warth, a senior engineer on the project, in this meeting. While he was drinking a cup of Peet's Java, he picked 'Java' as an example of yet another name. Finally, it ended up being the name of choice.

So in a way Java got its name and logo (fame), cup of coffee, from the famous Java Coffee, a variety of coffee grown on the Indonesian island of Java.

Many of the open source tools and APIs that most of the Java programmers use are from Jakarta Project, an umbrella project under the auspices of the Apache Software Foundation. Many people think that Jakarta got its name from the Indonesian capital, which is also the largest city in Java island. But Jakarta is not directly named after the capital city of Indonesia, nor after the Jakarta blue butterfly species. Instead, it is named after the conference room at Sun Microsystems where the majority of discussions leading to the project's creation took place. This was in turn almost certainly named after the city.

The Apache Software Foundation, however, got its name not from a city or island but from Apachean speaking Native Americans tribes.

One of the popular projects of Apache is Tomcat. Tomcat started off as a servlet reference implementation by James Duncan Davidson. Davidson had initially hoped that the project would become open sourced and, since many open source projects had O'Reilly books associated with them featuring an animal on the cover, he wanted to name the project after an animal. He came up with Tomcat since he reasoned the animal represented something that could fend for itself. O'Reilly published their Tomcat book with a snow leopard on the cover.

Ant, a software build automation tool, was developed as a side-effect of the creation of Tomcat as an open source project. According to Ant's original author, James Duncan Davidson, the name is an acronym for "Another Neat Tool". However, later explanations go along the lines of "ants do an extremely good job at building things", or "ants are very small and can carry a weight dozens of times their own" - describing what Ant is intended to be.

Animal has been a favorite for the software name or logos. Many believe the animal name or an animal as logo provides better brand value. The open source community is ahead of others in this case. Be it PostgreSQL "Blue Elephant Head" or MySQL's "Sakila" dolphin.
The origins of choice of these animals are mysteries. "MySQL logo - a jumping dolphin - symbolizes the speed, power, precision and good nature of the MySQL database and community", according to MySQL website. The PostgreSQL elephant might have come from the "Slony", Jan Wieck's replication system for PostgreSQL, which literally means "Elephant".

Even mythical characters and animals also found a major place in software names. The "Phoenix" (also called Firebird) is a legendary Arabian bird in the ancient mythologies said to periodically burn itself to death and emerge from the ashes as a new phoenix. "Phoenix FirstWare Connect" is the BIOS-based browser of Phoenix Technologies. The open source RDBMS Firebird, also gets its name from Phoenix and has a Phoenix as its logo. The latest to join in this club is Mozilla's popular browser FireFox, which was earlier known as "Phoenix" and then changed to FireBird, then to FireFox, all to avoid trademark conflicts.

Another mythical spirit "Thunderbird" is the cross-platform e-mail and news client developed by the Mozilla Foundation. Mozilla's complete Internet suite SeaMonkey, however, got its name from tiny brine shrimp.

In today's Java world, Eclipse has become the most popular IDE. The name "Eclipse" was perceived as encouraging the demise of Sun. But it turned out Sun wasn't the target of the Eclipse moniker. According to then IBM CTO, Lee Nackman, the name "Eclipse" was chosen to target Microsoft's Visual Studio product. "Eclipse had a good ring to it and we liked the idea of eclipsing Visual Studio," Nackman said. Ironically, the Eclipse has gone on to eclipse Sun's NetBeans in terms of community support and overall ecosystem.

References: