Posts

Classic software engineering mistakes: To Greenfield or Refactor Legacy code?

Oh, the humanity! If we were not in the software engineering game but, rather, in the civil engineering game then the equivalent of this article would be called 'Classic Civil Engineering Mistakes' and contain graphic videos of buildings and bridges collapsing and thousands of people running for their lives. It's hard to get emotional about something you can't see Unfortunately software is a rather intangible asset that doesn't lend itself to dramatic and emotional visualizations. When it comes down to it the life work of a software engineer, when reduced to it's lowest conceptual level, is the specific arrangement of sequences of 1's and 0's on one or more hard disks (or some form of solid state storage) residing on a server or desktop computer. How those 1's and 0's get there and 'which' sequences work and which don't is not really a black art but it definitely requires some intelligence but surprisingly a lot more common sens

As a Java UI Framework let me say Wicket Rocks!

Everybody knows that Wicket rocks as the best Java UI framework available. Sure there's people out there still using JSP (with/without struts), Spring MVC (Huh?), JSF, even raw servlets and a host of many other Java frameworks but let me repeat; "Everybody knows that Wicket rocks as the best Java UI framework available". I suppose I should clarify that a bit.... everyone who has ever used Wicket knows that it rocks.... You see, if you're a Java programmer who "gets" the whole Object Oriented paradigm and loves the reusability that comes from plug and play component architectures and from clever use of inheritance then you simply won't find ANY other framework that satisfies your need for such architectural candy at the UI level but that still allows the visual candy that expert web designers can create when they have full control over HTML and CSS. All I can say is "Get into it already". Get started. Read up on it. We've been using W

Java package name structure and organization - best practice and conventions

When it comes to conventions regarding how to structure your packages in Java (or any other language in fact) there is a wide variety of opinion. Making the right decision can promote productivity, understandability, quality, flexibility and the construction of reusable frameworks. I've seen some people promote 'package by feature' over 'package by layer' but I've used quite a few approaches and found 'package by layer' much better than 'package by feature' but further from that I have found that a hybrid: 'package by layer then feature' strategy works extremely well in practice and here's why I think that's so. Package by layer then feature The 'package by feature' people tend to want to put all user interface, model classes, persistence classes (eg., DAO - if you're into self torture ;]) for a particular feature into the same package and according to many examples, the same directory. i.e. they don't us

Modal X 1.3 for Wicket released

We have recently released a new version of the open source Modal window extension framework for Wicket called ModalX. We have also added an getting started guide, a live demo and an example application that demonstrates its main features. Feel free to leave any comments about the library here. Take a look at the ModalX home page here: ModalX Home Page See the live demo here: ModalX Live Demo

Wicket DateTimeField - trick for young players

If, like me, you tried to use the DateTimeField component in the Wicket extensions library and saw an extra spurious TextField appear in your form and you didn't know why... then read on: It turns out that the DateTimeField is actually rendered as a Panel by Wicket. Being a field in a Form I naturally (according to what I saw in some online example code) just entered markup within my form like this: <input type="text" id="startDate"> but of course that can't work. Wicket can't render a panel into an input element (well not with any success at least!). It turns out that as a Panel the DateTimeField is best entered as a <div> in your markup: <div id="startDate" /> That allows the DateTimeField to be rendered correctly. Yeehah! Once again I want to congratulate the Wicket team on the world's best object oriented, component based, Java User Interface framework.... a big claim I know, but try it and I think you'll a

Feel like a Pizza?

Try Gabriel's Pizza and Ribs, using the munchopia online ordering service: Click here to: Take a look
Want to save the planet by saving on your power consumption? Then you need to install LED lighting in your home or business: EO LED