Dreaming In Code

Dreaming In Code

Dreaming In Code – Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software written by Scott Rosenberg is my latest read.

Considering that I finished this book almost 10 days ago this review is a bit late. After I read the last page and closed the book, I had mixed feeling about the it. Scott’s writing is very engaging and obviously he did a lot of research for writing this book. Most of the readers of this book would be IT workers, but I guess Scott wanted non-programmers to understand the concepts he was talking about as well. This resulted in some parts of the books being a bit boring for me. Although I would give credit to the author for the most lucid explanation of technical terms, I would have liked the book more if it was more streamlined. I think books of this type should be less than 300 pages, ideally around 250 – concise and to the point. Ironically, I think, cutting out the fluff would have made this book in that range. Sometimes Scott moves between topics almost randomly to the casual reader. In spite of the minor shortcomings, the book provides some valuable insights into the current state of software development.

The book mainly revolves around the development of an open source PIM (Personal Information Manager) application, conceived and funded by Mitchell Kapor, the chairman of the Open Source Application Foundation (OSAF), the founder of Lotus Development Corp and the designer of Lotus-1-2-3 spreadsheet application. Mitch is a well respected person in the open source community for his vision and philanthropic initiatives. He is the board chair of the Mozilla Foundation which makes Firefox. He is an investor and board chair in Linden Lab which created SecondLife. He is also a board member in the Level Playing Field Institute (LPFI). In short, he has made his fortune and name in the software industry. Mitch was born in 1950 in Newyork and he came to Silicon Valley to work as a software consultant in 1978 roughly 7 years after taking in BA from Yale. In 1982 he co-founded the Lotus Development Corp. Here he created the Lotus-1-2-3 spreadsheet application which became a success. Later on he worked on the creation of a PIM application called Lotus Agenda. This application ignited a spark in Kapor’s mind which would later burn as a fire – the Chandler project. Chandler had ambitious targets. Kapor wanted it to be much more usable than an PIM applications available today. and he wanted it to run on Windows, Linux and Mac. It would have the spirit of Lotus Agenda in terms of flexibility and usability. It would be an open source initiative and he would invest $5 million in initial funding.

Scott Rosenberg, a writer, editor and co-founder of Salon, decided that he would be an embedded journalist for the Chandler project. Scott probably thought that it would take about an year for the 1.0 of Chandler to be released. He would write about how an ambitious Open Source exponent becomes the driving force in the creation of an application, opening new horizons in usability and flexibility while embracing the ideals of Free Software. Scott got much more than what he bargained for. He does a brilliant job of putting that down in Dreaming In Code.

To tell a long story short, Dreaming In Code started as Scott Rosenberg’s attempt to sketch a story of how to build a successful open source application but it evolved into a narrative of why and how things go wrong in a software development project. Scott followed the project for 3 years but in that period Chandler didn’t even reach the 1.0 milestone. Dreaming in Code is all about the hardships that Kapor and his developers faced during these 3 years designing and developing Chandler. Although Scott probably went out to write an Open Source success saga, the unexpected turn of events made the book far more valuable. It contains the true story of how an enthusiastic team, with few time and money constraints, faces and overcomes unforeseen issues – just like every other project that you and me has worked on. While reading the book, an empathetic reader would be able to identify the plight of the Chandler project. The disheartening lagging of release dates and inability to decide on one option among many haunted the project right from the early days. It is interesting and humbling to watch software gurus get tossed in the waters of an ambitious project. Sometimes things are far different from what we think they are. There is only one lesson that this book teaches you – developing software is hard.

I would rate it 4 stars.

P.S.

To follow the development of Chandler you can read the OSAF blog.

Bill To Increase H-1B Visa Makes A Comeback In Congress

The Securing Knowledge Innovation and Leadership (SKIL) bill has been re-introduced in the Senate and House of Representatives on Wednesday. This bill was introduced in the Senate last year and aims at increasing both H1-B and Green card caps.

From InformationWeek:

Among the SKIL bill’s proposals are raising the annual H-1B cap from 65,000 today to 115,000, with the ability to automatically increase the cap in subsequent years by 20%, or up to 180,000. The bill also proposes to apply the current 20,000 cap exemption to those with a master’s degree or higher from an institution of higher education in a foreign country, not just for those foreigners who have advanced degrees from U.S. schools.

The bill also looks to create a new visa category — the F-1 — for foreign students looking to pursue a bachelor’s or advanced degree in science, technology, engineering or mathematics from a U.S. school.

As for changes to “employment-based visas,” or green cards, the bill proposes to raise the limit from 140,000 to 290,000 per year.

Read more here.

One year in USA

Last week I completed my first year of stay in US. This has been the longest period I stayed away from home. Before this, the longest period I stayed away from home was the 9 months when I went to Odessa to study medicine. Although both these periods have been emotionally taxing for me, I am doing much better here than my stay in Odessa.

I have become much more independent than I was before. I have learned to do things on my own but it was mainly because there weren’t anybody to do them for me. It was a tough experience but it makes you stronger mentally and emotionally. I am not claiming that I can survive anything now, but I think I can do much better than I did any time before. I am doing a bit of exercise to keep my health from deteriorating the way it was. Sometimes I get to play badminton and tennis. I am finding some time to see some movies which were in the waiting list for many years. I am reading more books. I have learned to cook a few dishes. I have learned to negotiate without being cheap. I have learned to be stern without being rude. I also learned to brag about myself in my blog.

It was a tough year, but I am glad for the lessons learned (and the money earned ;-)).

The Best Software Writings I

As you can see from here, I am reading quite a few books lately. I am not a speed reader and so I dont get to read all the books that I want to. The reading list has changed after I wrote this page – i finished a couple, moved some to future reading list, stopped some in the middle and added quite a few to the list. I hope to update the list to reflect the changes soon.

I just completed reading a book called “The Best Software Writings I – Selected and Introduced by Joel Spolsky”. As the name implies, it is a collection of articles relating to software selected by celebrity blogger Joel Spolsky from submissions by his blog readers. He gives a brief introduction to the author and the topic of the article at the beginning of each chapter. Sometimes the introduction is better than the actual essay. A few of the articles are excellent, some are good and a few are mediocre. The quality forms the Bell curve of standard normal distribution. Nobody can get it all right. Not even Joel. All except one of the articles in the book are available online. So I intend to post the links here so that you can read them for free (sorry Joel).

  1. Style Is Substance by Ken Arnold
  2. Award For The Silliest User Interface: Windows Search by Leon Bambrick
  3. The Pitfalls Of Outsourcing Programmers – Why Some Software Companies Confuse The Box With The Chocolates by Michael Bean
  4. Excel As A Database by Rory Blyth
  5. ICSOC04 Talk by Adam Bosworth
  6. Autistic Social Software by danah boyd
  7. Why Not Just Block the Apps That Rely on Undocumented Behaviour ? by Raymond Chen
  8. Kicking the Llama by Kevin Cheng and Tom Chi
  9. Save Canada’s Internet from WIPO by Cory Doctorow
  10. EA: The Human Story by ea_spouse
  11. Strong Typing vs. Strong Testing by Bruce Eckel
  12. Processing Processing by Paul Ford
  13. Great Hackers by Paul Graham
  14. The Location Field is the New Command Line by John Gruber
  15. Starbucks Does Not Use Two-Phase Commit by Gregor Hohpe
  16. Passion by Ron Jeffries
  17. C++ – The Forgotten Trojan Horse by Eric Johnson
  18. How Many Microsoft Employees Does It Take to Change a Lightbulb? by Eric Lippert
  19. What to Do When You’re Screwed by Michael “Rands” Lopp
  20. Larry’s Rules of Software Engineering #2 by Larry Osterman
  21. Team Compensation by Mary Poppendieck [Not Available Online]
  22. Mac Word 6.0 by Rick Schaut
  23. A Group Is Its Own Worst Enemy by Clay Shirky
  24. Group as User: Flaming and the Design of Social Software by Clay Shirky
  25. Closing the Gap, Part 1 by Eric Sink
  26. Closing the Gap, Part 2 by Eric Sink
  27. Hazards of Hiring by Eric Sink
  28. PowerPoint Remix by Aaron Swartz
  29. A Quick (and hopefully Painless) Ride Through Ruby (with Cartoon Foxes) by why the lucky stiff

I should say Joel saved the best for the last. All in all, this was an interesting read. I would surely buy Part 2 if and when it comes out.

Currently I am reading Dreaming in Code by Scott Rosenberg which is about the development of Chandler.