Skip to content

{ Category Archives } General development

In defense of elite, irrelevant curricula

I’m a big fan of Joel Spolsky’s writing, but I take issue with his latest posting. Universities shouldn’t be focused on teaching students the technologies and practices of the day. Anything you can learn by leafing through Getting Things Done, Agile Software Development with Scrum, and Expert One-on-One J2EE Development without EJB does not belong […]

Tagged , , ,

Best practice for branching and merging? Depends on your SCM.

I ran across a nice blog entry discussing the different use case assumptions made by Perforce vs ClearCase regarding when developers will branch and merge. After using Perforce for the last two years and reading Laura Wingerd’s excellent book Practical Perforce, I’m heavily biased to the point of view that routine development should happen on […]

Tagged , , , ,

Serializable != Synchronized, especially not with Oracle

Recently I wrote some database code and tried to convince myself that it was threadsafe. I realized I’d made a basic mistake about the serializable isolation level, and thought it was worth a quick blog entry to post the explanation, in case anyone else runs into this situation. The problem can be represented by this […]

Tagged , , ,

Is reflection unhealthy?

Am I the only one who feels a bit dirty after writing code that uses reflection? Most programmers agree that strong typing is a good feature in programming languages, because it allows compilers to catch many kinds of programming errors before you run your program the first time.  But using reflection completely bypasses that security.

Tagged , ,

Developing Web applications with Maven and Eclipse: You *can* have it all

When developing applications using Eclipse or a similar IDE, you quickly get used to being able to test your software immediately after making a change. Plugins like MyEclipseIDE enable that kind of instant edit/compile/test cycle for web applications as well. But if you’re building web applications with Maven, it’s not so easy. Maven is a […]

Tagged , ,

My new favorite ISP

My new favorite web hosting provider is A Small Orange. Their pricing is competitive, and their tech support is unbelievably quick and clueful.

Understanding Java5 Generics

Good article on Java5 Generics by Martin Wolf: It seems many programmers are confused about generics, in particular the use of the ? extends … notation. The question mark is called a type wildcard, and is typically used as the value of a type parameter in a generic method. It means that wherever the […]

The network is the network, the computer is the computer – sorry about the confusion

This post continues my ongoing theme: That networks are great as long as software doesn’t pretend they are perfect. (I can’t take credit for the title – it’s been floating around for a long time.) Increasingly, software is being designed based on the idea of treating network resources as local. The practice of generating proxy […]

Ten meta-requirements for enterprise software development

When you start a project to build a custom application for an enterprise customer, there are always universal requirements the customer doesn’t tell you about. These are things you have to do in order to implement the stated requirements, so I call them meta-requirements. It’s helpful to keep a checklist of these and review them […]

Welcome to Joe on Computing

Welcome to Joe on Computing, the new home for my blog. Although it will have many omissions and contain much that is apocryphal, or at least wildly inaccurate – it has the advantage of matching the garish color scheme on my home page that I have come to love, which I call “retro Frogger”. Enjoy. […]