Sunday, September 30, 2007

AT&T Sillyness


Its 10am on Sunday and I'm trying to move away from paper bills. I also want to combine both my home phone number (used only for my DSL line) and my cell phone bill into one bill that gets charged to my credit card (so that I can get credit towards my REI dividend).

How is it that a web service is not available during certain hours? As a software engineer, I can't imagine the meeting that went on to describe the need for that 'feature'. "Please make it so that this feature is disabled during certain hours because we are only able to employ the trained monkeys for 8 hours a day."

Saturday, September 29, 2007

Staggering Numbers

From this weeks Time magazine:

$500,000 Amount the Iraq war costs per minute, according to a joint analysis by a Nobel-prizewinning economist and a Harvard scholar, who noted that the amount spent on the war each day could pay for health care for 423,529 children.

$50 billion Amount the Bush Administration plans to increase its 2008 budget for military operations abroad.

Are you fucking kidding me? This war is so insanely absurd! I'd rather live with the fear of being attacked by terrorists than continue to see this much money being wasted on killing people and displacing them from their homes. Does it really help us to ruin an entire country, piss off all of our allies and make the people who hate us even more determined?

Come on. Give it up. Let us move on to more important problems!

Thursday, September 27, 2007

Sunday, September 23, 2007

Apache Software Foundation 1998-Current

I originally started work on the Java Apache JServ servlet engine back in 1998 because I was doing work for a Clear Ink client that wanted to use Java for their website backend. It was the first Open Source Java servlet engine available and it was a poorly written piece of software that needed a lot of help.

Eventually, I was joined by Pier and Stefano. The three of us really put a lot of effort into the code, packaging and distribution of JServ. It became a useful piece of software and the ASF gained recognition from Sun for its Java development efforts. For our contributions, we were given some of the first non-httpd memberships to the ASF.

These efforts were rewarded by Sun deciding to Open Source two pieces of code: Tomcat and Ant. Both of which are now some of the most widely distributed applications on the planet. Java Apache was renamed to the Jakarta Project and we continued to grow and expand over many more years into one of the largest open source repositories of Java code.

I am responsible for founding, co-founding (and contributing to) quite a number of Jakarta projects including Tomcat, Ant (I was the first person outside of Sun to use the original code and some of the first patches came from me), ECS, Turbine, Torque, Commons-Email, Velocity, Anakia and Regexp.

Today, I'm still an active Apache member but I do not spend as much time contributing to the ASF as I did in the past.

Clear Ink 1995-2000

I co-founded a small web development company called Clear Ink in 1995 with David Burk and Steve Nelson. I was in charge of system administration, networking and being webmaster/developer for our clients. I worked many hours for a dirt cheap salary and I learned a lot in exchange. Eventually, we merged with another company and at the end of the merge, I decided it was time to move on.

Ruby Rails advocate switches back to PHP after two years

I'm referencing this article on the O'ReillyNet website.

I've been watching the Ruby/Rails phenomenon for several years now. It has always reminded me of what Java Servlets were like about 8 years ago when I first started working with them. The only difference is that there is a nice framework to create CRUD applications. If I had no idea of how far the Java world had come in the last several years, I would still be using PHP as well. The reality is that Ruby isn't even a consideration for me. Its a no brainer because Java kicks both PHP and Ruby's ass.

With Java, I couldn't imagine living without features like method level security, annotations, generics, Hibernate and its second level distributed cache, proper 3-tier MVC object models, fully transactional EJB3 entities, EJB3 services and most importantly, the ability to re-factor code at will with Eclipse. I even question unit testing. How do you ever develop proper unit tests for PHP? What if you re-refactor some code by moving a method around? The only tools available to properly do that are grep and sed. With Eclipse its two keystrokes and you know it worked or not because you actually compile your codebase. I see this problem all the time with PHP.

At work, we have this 7+ year old legacy PHP codebase that is complete utter dog crap. While it has enabled the creation of a successful company, it has really come in the way of growing the company exponentially. The codebase has been worked on by several people over the years, has no standards and does crazy things like PHP generating PHP code which then generates HTML.

Thankfully, my job has been to replace the crap entirely with Java and things are progressing nicely. We have a great framework that is similar to what we did with the SubEtha Mail project. The code is well documented, each subversion commit is reviewed, built and unit tested with cruisecontrol. Javadoc is rebuilt nightly. We use Trac to provide ticketing and websvn. If we introduce a bug in the business logic, we know about it almost instantly. We even have unit tests for the more complex portions of the HTTP layer (Single Sign On, Login, Logout).

I guess the point of this posting is that I can't see how anyone thinks that they can develop a 'robust', 'scalable', 'enterprise' PHP/Ruby application without the tools that are available in the Java domain. Sure, it can be more complex and 'wordy' to develop in Java than PHP, but the features and end result (highly maintainable code that scales to virtually any size application with great reliability) far outweigh the additional learning or cost/time to develop.

TrailRunner

TrailRunnerI just ran across this very cool app called TrailRunner. It lets you plan routes for any sort of outdoor activity. TrailRunner can even export directions onto your iPod. This is yet another reason why I love OS X.