Fun With Generics

I was trying to declare a array variable this morning: Map<String, String>[] mapArray = new Map<String, String>[2]; However, the compiler reports an error with the above statement: “Cannot create a generic array of Map”. I had to replace the statement with: @SuppressWarnings("unchecked") ... Map<String, String>[] mapArray = (Map<String, String>[]) new Map[2]; !?! If one of the goals of generics was to eliminate casts, it certainly failed here. [Read More]

Bad Smells

We were working on some refactored code today that wasn’t refactored properly. The tests had been changed to make the refactored code pass. My colleague said that I should write-up my “profound” comment on the situation:

If you’re performing a refactoring and you find yourself changing asserts in existing unit tests, something should smell bad. You’ve probably done something more than refactor the code.

T-Mobile G1/Google Android

I got a G1 on Wednesday and I’m liking it. I’ve had an iPod Touch for over a year now and I’ve liked that, except for the keyboard. The introduction of Apple’s App Store and the revocation of apps from it concerns me. On the G1, I definitely like the keyboard and its ability to switch seamlessly between Wi-Fi, T-Mobile Hotspots (included with the data plan), 3G, and Edge. It’s also a 4-mode phone which means you can take it pretty much anywhere in the world. [Read More]

Ubiquitous Ubiquity

If you haven’t got it yet, go get the Ubiquity plugin for Firefox. This is one of the coolest things I’ve seen in a long time. I think applications should have this kind of feature. Instead of navigating menus, etc. have a shortcut that takes you where you want to go or helps you do a task.

Wicket Web Beans 2.0 Features

One of the ideas I have for WWB 2.0 is to allow Apache JXPath expressions for instead of straight bean properties. Also, you’ll be able to specify the same kind of expressions for parameter values. This makes all parameter values dynamic - unlike most of the parameters in WWB 1.x. JXPath functions can be implemented in Java. This would allow for a great deal of flexibility. For example, this would let you call a function for a parameter’s value and have some complex logic behind it. [Read More]

I Will Make You Rich, Allow You to Travel the World, and You Don't Have to Do Anything!

A colleague recommended The 4 Hour Work Week by Timothy Ferriss the other day. I bit and bought the book to read on vacation. I got a little more than half way through the book when I had to take Tim’s advice and stop wasting time reading it. I’ll start by being objective. Tim makes a bunch of claims that cannot be backed up. How do we know he makes $40K-$80K a month with BrainQuicken? [Read More]

Starting Work on WWB 2.0

I’ve got some new ideas and directions for Wicket Web Beans, so I’m starting work on 2.0. I hope to incorporate some of the previous requests and comments in an elegant and cohesive manner. WWB 2.0 work will proceed under branch wwb-2.0. I made a snapshot of the unreleased WWB 1.1 work in SVN under branches/wwb-1.1 prior to the 2.0 branch. WWB 1.1 work will continue on the trunk. Databinder has been updated to 1. [Read More]

Wicket Web Beans 1.0 (final) Released

Wicket Web Beans 1.0 (final) has been released. Major inclusions in this release are the finalization of the Databinder integration and Wicket 1.3.0 (final) support. Archived Comments Petr Sakar - Jan 1, 2008 Hi Dan, nice work. Can you please look at - I think it would make it easier to create new components for WWB. What do you think ? Petr Sakar Dan Syrstad - Jan 1, 2008 Hi Petr: Actually, creating a new field component does not require the creation of an html file, although most of the time you need to create one. [Read More]

WicketWebBeans 1.0-rc2 Released

Wicket Web Beans 1.0-rc2 has been released. Major inclusions in this release are a Java metadata API, annotations, and 18+ new features. 1.0 Final is planned to be released in 10 days if no major issues are found. UPDATE: GitHub: Archived Comments Jonathan Locke - Dec 2, 2007 One suggestion: simplify or refactor BeanMetaData constructions somehow. Why not use factory methods to create BeanMetaData? I think it might be a bit more self-documenting. [Read More]

SVN Reorganized

The WWB subversion tree has been reorganized in preparation for the 1.0-rc2 release. The trunk now contains the Wicket 1.3.0-rc1 support and the wicket-1.3 branch is gone. The Wicket 1.2.6 support is now in the wicket-1.2.6 branch. In addition, the Java packages have been renamed from wicket.contrib.webbeans to net.sourceforge.wicketwebbeans to be more consistent with Sourceforge projects.