Internet Software Development: Choosing the Right Tool for the Job
Be the 1st to comment!

Rarely does a day go by, that I do not receive an article in my email or among the many RSS feeds I monitor, that compares various Internet software development tools and frameworks. Inevitability, the comments following the comparison turn into a war of words between the two camps compared. Each believes its framework or tool is the best. What strikes me is that rarely are the project requirements included in the discussion. It always seems to be based on the concept that there is one right framework for everything, and I cannot disagree with that more. Over my thirteen years of developing Internet applications I’ve used Perl, PHP, ASP, Javascript, XML, XSL, and Java (using JSPs, Servlets, Struts, WebWork). Now I’m learning and writing a applications with Ruby on Rails. Though Java has been my focus for the last nine years, I recently changed the title I prefer to use. No longer do I refer to myself as a Java Developer/Architect. Instead, I identify myself as being in the industry of Internet Software Development and Design. While the difference in the terms may seem insignificant, it is actually quite substantial.

There was a time when I believed Java was the only language anyone should use to write Internet software, but eventually I realized you can’t make that claim for any development framework. They all have their pros and they all have their cons. I don’t pick what is latest and greatest, because the latest is never guaranteed to be the greatest. Neither do I ignore the latest in defense of what I currently feel comfortable with. I do choose what fits my personality, what I enjoy working with, and what is best for the project at hand, including the ability to meet very tight deadlines. The key is: matching the language and the framework to the project. Many factors contribute to this selection. Here are some situations and the frameworks I generally use for each.

Read More »

JVM Garbage Collection presentation from IBM
Be the 1st to comment!

The ServerSide has posted an interview with Dr. Holly Cummins from IBM who recently gave a presentation on Garbage Collection. She expresses her disagreement with some common beliefs about GC, and gives some recommendations for understanding your verbose GC and using it to tune the GC.

Some quotes from her presentation are highlighted below.

In response to the claim:

Garbage collection does work and causes pauses and the pauses prevent my application from doing work so the shorter the pause the better.

Dr. Cummins answers:

Not true! Even when a garbage collector spends a lot of time paused, application performance may be better.

Dr. Cummins also disagrees with the claim:

OK, I get that the application would go faster if I could tolerate long pauses, but response times are critical for my application so the shorter the pause times, the better off I will be”

She goes on to give some recommendations on adjusting heap size, choosing the right GC policy, and using a toolkit from IBM.

The slides are provided online in a PDF.

The video can be seen, along with accompanying discussion on the Server Side (once everyone gets over her appearance).

Welcome to Ruby on Rails
Be the 1st to comment!

For the past six months I’ve had the pleasure of working with Rails in my spare time. I’ve read several books, and written several applications for personal use. Soon, I will begin to put most of my spare time toward a Rails application I hope to release to the general public. As well, I will begin to share more of my Rails experiences on my blog. (Watch for new posts on getting started with Rails, like Ruby on Rails – Terms and Concepts).
I remember well the early days of cgi programming when I wrote my first Perl web applications. Then I transitioned to some kind of Oracle web procedures (I forget the real name) for some larger applications for Fortune 500 companies first getting onto the web (ex. Lucent Technologies). Eventually I did Flash and Java applets as they first came out. I made the move to Java (beyond the little applets I’d done) when Sun released the first beta specs of JavaServer Pages, in late 1998. In fact, thanks to the beauty of Internet archives I found this post written by none other than myself while working at Cox Target Media in 1999. (Guess I don’t have to worry about proving I’ve been doing JSP since it first came out). I have been involved in Java web application development ever since. I didn’t take an interest in .NET, and didn’t pay much attention to ColdFusion. I’ve done some PHP, mostly for small solutions and to customize my WordPress blogs. But, for 99% of my web software development in the last 8 years, I have stayed committed to Java.

When I took my second look at Rails about six months ago, and this time, really tried to discover what it was all about, I was really hooked. It made simple so many of the common every day tasks I’ve been doing for years. Ruby really made sense as a language and Rails as a framework. I have a lot to compare to it, and so far I’ve been very impressed with how well thought out it is.

In this series of Rails posts, I’m not going to take time to bash Java or any other languages and frameworks. I still believe Java is a great development platform that fulfills real software development requirements. However, I don’t feel like Java is the solution in every case. I count myself as an Internet Software Developer, not as a Java Developer. I have experience with many tools, and I prefer to choose the right tool for the job at hand. I’ll leave when I would use Java vs Rails to another discussion, as the focus of these posts will be on sharing my Rails experiences, and hopefully helping some other interested Internet Software Developers get their first taste of Rails development. This will not be a discussion of which is the best development platform, but instead will simply be me sharing with you, this new exciting and beautiful web application framework. I truly haven’t had this much fun developing web applications in a long, long time.

See your Java Classes in 3D
Be the 1st to comment!

We are all used to seeing the traditional UML class diagram, and while quite boring aesthetically, it still serves its purpose (if you can keep it updated). But, for some fun and an interestingly new visual perspective, try the Relief 3d model view of your application. It only takes a few minutes to setup.

All you need is a JRE version 1.5 and up, the Java3d library, the Relief jar, and the project description.

The project description takes the most amount of time because you must list all dependencies of your project. You also have to properly set the jrePath and the basedir path. Once you’ve done this, and saved the project.xml into the Relief directory where you unzipped it, you can start the 3d model viewer with this command:

java -jar relief.jar projects.xml

When the view comes up there are different options. You can zoom in and out, rotate in 3d, double click on a class opening a new window to isolate it.

Rails vs Java Video
Be the 1st to comment!

Here is the first of four videos produced by Jason Hawkins, using the style of the famous Mac vs PC ads to humorously, and dare I say, oh so accurately, compare Rails to Java.

Note: Ok, its not completely accurate. If it were, there would be another tray full of jars stacked on top of the existing one, supported by the first layers of jars, such that if one were removed the entire stack would collapse.

Page 1 of 41234