Java: Understanding Generics, Type Erasure, and Bridge Methods

June 24, 2011

Generics is one of the more prominent features from JDK 5 that allows you to basically specify the type as a parameter. For example, in JDK 1.4, a List was always a List of Objects. If you wanted to get something out of the list, you had to cast it. JDK 5 helped to resolve […]


RFC: User Agent Headers for Browser Capabilities

June 23, 2011

One of the features of HTTP that is widely used, yet strangely a hack, is the User-Agent header. Several sites and servers use the agent to detect a browser’s capabilities. For example, a site may attempt to detect IE browsers to handle custom stylesheets or javascript. A more traditional approach as of late is detecting […]


Code Generation Synopsis

June 21, 2011

One of the areas I have dug into lately is around code generation and class file manipulation. It’s actually quite amazing how much you learn and understand when you begin to understand what the JVM is doing and how class files are constructed. Even though on a day-by-day basis, class generation is rarely used, it […]


jQuery Mobile, Grails, GAE, Oh My!

June 19, 2011

I recently decided to sit down and play with jQuery Mobile and absolutely fell in love with it. I’ve been designing web applications for years, but the pure simplicity in jQuery Mobile is absolutely amazing. The one part I’ve never been good at is graphics with respect to web design. jQuery Mobile removes that requirement […]