Software Engineering Proverbs

Came across Software Engineering Proverbs. A wonderful collection of proverbs. Here are some of my favorites:

A clever person solves a problem.
A wise person avoids it.
– Einstein

We reject kings, presidents, and voting.
We believe in rough consensus and running code.
Dave Clark (1992)

“If you think good architecture is expensive, try bad architecture.”
– Brian Foote and Joseph Yoder

Happy Holidays everyone!

I have been under the radar lately, and wanted to get out of my hole and just say “Happy Holidays!”

Be happy or get out!

A study from the University of Toronto says that creativity is improved when people are in a good mood.

This was something that was obvious to me. I have found that I get into the “zone” only when I am really in a good mood. In any work environment, positive karma is a must! If you are ever in an environment that has bad karma, either change it or find a way to get out. Life it too short!

Amazing Advertising

Found this link that shows some creative advertising campaigns.. My favorite is the lady swimming with sharks..

Been really busy!

I have been really busy with life, work, and family. All is well!

The Economics of Open Source Education

Came across the essay The Economics of Open Source Education. It does a good job analyzing the effects of open source on education.

It is only in the past couple of years that we started to see the effects of open source in the software industry. It has created new business models for building and selling software. Now that the world is more connected, I believe its effects will appear in new domains beyond software.

Open source is one of the great innovations that will impact the 21st Century. Enjoy the article!

Ajax Hangs in Safari

At my recent gig, Zingku, I have been doing some heavy duty AJAX. There was one particular bug in Safari that I wanted to share with folks that took a while to figure out.

Our environment uses Tomcat as its servlet engine and only on Safari we would experience these random hangs in some AJAX based requests. These AJAX requests would never leave the browser and were difficult to reproduce. However, they happened often enough to frustrate us. The lack of debugging tools in Safari made things very difficult.

Well, after a weekend of digging into the problem I figured out the magic URL that caused the hangs to occur. Safari would just hang on AJAX URLs that contained the character “;”. The reason it was hard to find was that we do not explicitly generate URLs that contain the “;” character. Tomcat does in the form of a “;JSESSIONID=magic_number” token when it thinks the browser does not have the right session cookie. This is what made it feel random.

The solution was to encode the “;” prior to feeding the URL into the XMLHttpRequest.. Here is how you can do it using a quick localized hack:

url = url.replace( ‘;’, ‘%3B’);

I hope Apple will introduce some better debugging tools for Safari in the future.

Run away from EJBs

I came across this article (Java EE Fallacies: EJBs are too complex, POJOs are easier.).

EJB, at least EJB 2.0, was one of the most over engineered and painful frameworks I have ever used. Given how bad the taste EJBs left with me, there is nothing any updates will do to get me to ever use or consider them for anything.

The author talks about non-functionals such as “real time monitoring (JSR-77), threading, proper load balancing etc” are just plain over engineering again. These requirements should not be solved by the mother of all frameworks. My experience suggests that these requirements need to be hand tuned for the app and by the app, not some advanced solves world peace framework.

Given the EJB experience what I suggest to any developer is to evolve from SIMPLE working systems as opposed to starting a project with the goal to solve everything. Grow into your requirements and iterate furiously.

PS. I can see some previous colleagues telling me, “I told you so” when we first starting using EJBs. Right Bob and Brian :)

Volunteer work for an eight-billion-dollar corporation

This is an amazing story of the ultimate skunk works project..


We’re hiring

We are a small funded company that is building an exciting consumer site that brings together web, mobile, and IM. We are looking for a junior engineer to join our small growing team.

  • Do you love to code? Does the line between hobby and work feel blurry?
  • Have you been inspired by your own ideas and then get them done?
  • Do you like working in small teams?
  • Do you love working on every layer of the software stack?
  • Are you excited by stuff you can do with mobile phones and IM?
  • Do you like to invent and learn new technologies?
  • Do you like to work with little supervision?
  • Do you love your Unix and Java?
  • Do you debate about programming?
  • Do you obsess over creating beautifully simple code?
  • Do you love to get things done?
  • Do you want to work on a cool consumer Web 2.0 product that will change the world?
  • Do you want to work in the Boston area?

If the answers to these questions is yes then drop us a line (jobs at zingku.com)!

Switch to our mobile site