Archive for March, 2007

Wicket it is

For my open source Java app, I have decided to go with “Wicket.”:http://wicket.sourceforge.net/ My decision really comes down to two things; 1) I like the idea behind Wicket, I like the website, and I like that it is suppose to be fun to program with and 2) I have to learn something so why shouldn’t it be Wicket. And getting a comment from one of the developer’s didn’t hurt either.

Plus, with working at ThoughtWorks, I figure I will have plenty of time to learn other frameworks, so why not learn one of the up and coming ones. At least this way, if I am ever put on a project at the beginning, I can argue for or against its use intelligently.

Thanks to all the people who offered their suggestions. So now I just have to get my butt in gear and start coding.

What Java web framework to use?

I have a very “neglected open source project”:http://code.google.com/p/teamdocs/ that I am going to start working on again. I am going to rewrite it from the ground up using Hibernate and JPA or Hibernate Annotations (I am not quite sure yet), probably Spring, and some web framework. The problem is that I can’t pick a framework.

I was going to go with “Wicket”:http://wicket.sourceforge.net/, but I am not sure I want to go with something that is component based and I can’t really find any good tutorials. There is suppose to be a book coming out, but I don’t really want to wait. On the other hand, it is supposed to be fairly easy to learn and fun to work with.

I have also been thinking of using “Struts 2″:http://struts.apache.org/2.x/. Yesterday, I found a nice “120 page tutorial on getting started”:http://code.google.com/p/sq1-struts2/ with it that would be a huge help. Struts is the 800 pound gorilla when it comes to web frameworks and Struts 2 is suppose to be easier to learn and work with.

Then there is Spring MVC, Tapestry, Echo2, Trails, Stripes, JSF, etc, etc, etc.

Anyone have any suggestions on which one to learn and use? My only requirements are that it be fairly easy to learn, has very good tutorial and documentation support, being actively developed, and is not Struts 1.x, and has some IDE/tool support.

Importance of parallel test environments

My job for my current project is to do performance testing on the application my team has developed. The problem is that the client only has a single test environment; and it is being used for client QA testing. This means that we have to be careful with how we use it. We can’t simply launch a full stress test that may crash the server.

One thing this has taught me is the importance of having several, fully integrated test environments. One environment for the client to use for testing and one for the developers. What has made this project so difficult is that the app relies on a lot of web services and XML calls that are all part of the testing and need to be duplicated in the two test environments.

The other thing this project is quickly showing me is that web services and XML is slow, really slow.

Why self driving cars will never work

While standing in line at Canada Customs this evening I realized something; self driving cars will never work. People present this utopia where cars drive themselves from point A to point B in nice little lines, merging in and out of traffic seamlessly, with no more accidents.

It will never work.

Why? People don’t like lines. In every line, there is always someone who thinks they are “special” and tries to get ahead. Tonight, due to March break (someone really needs to cancel March break permanently), customs was completely backed up. In other words, there was a really long line. Mixed in with all the crumbling about tax dollars (not) at work and why various people should never have to wait in lines, there were those people trying to do whatever they could to get through the line as fast as they could.

And scientists and futurists think that we as people are going to sit idol and let our cars drive in nice long lines? Self driving cars will never work.

Learning to travel

I think the hardest part of joining ThoughtWorks has been getting used to all the traveling. I am currently working in Madison, WI, which means that I fly here every Sunday and fly back to Toronto every Thursday evening. Here are some of my observations so far:

* I don’t fit on all planes. Last week, I tried flying out of Madison to Toronto via Chicago. The plane from to Chicago was this small little puddle jumper with only 3 seats per row. Not only could I not stand up straight in the plane, my knees were bunched up against the seat in front of me.
* Air Canada seems to have more leg room then United.
* Large carry on bags do not fit on small planes. I bought myself a new rolling notebook bag yesterday to save my shoulder and lower back. It didn’t fit in the overhead luggage compartment so I had to store it under the seat in front of me. Thankfully the flight was only an hour.
* Madison has a very nice waiting area with leather couches and cumfy seats and wide screen T.V.s to watch
* Maneuvering two pieces of wheelie luggage through an airport takes practice and skill. Maneuvering luggage well is an art form.

Think before naming your company

I finally made it to the Toronto ThoughtWorks office this past week. The office moved several months ago and the name of the company that used to have the office space was still on the directory. Mediacore Publishing. On the surface is sounds like a good name. Uh uh. About the third time I read, I didn’t pay quite enough attention to the letters and read… Mediocre Publishing. Oops.