A word used to describe something

To content | To menu | To search

Wednesday, January 23 2013

Java 8 - Converting method and constructor references

I've done some more work on the Java 8->7 conversion tool (see previous post).

It can now convert method references and constructor references into Java 7.

Thursday, January 17 2013

Converting Java 8 syntax to Java 7

A project I was working on finished up abruptly, and I found myself with some spare time over the last few weeks, so I decided to test out a new idea - a utility to convert Java 8 syntax into Java 7

For the most part, this is simply an experiment - to see how difficult it would be to write such a utility (and the short answer is that it's difficult to do well, but certainly not impossible), but it has the potential to be useful for supporting lambda-based code in environments that do not (yet) have support for Java 8.

I have a working prototype, that supports conversion of a subset of Java 8 features. And by a subset, I mean essentially 1...

It can convert a variable declaration for a functional interface with a lambda initializer into a anonymous inner class. e.g.

Callable<String> callable = () -> "abc" ;

is converted to

Callable<String> callable = new Callable<String>() {
    public String call() throws java.lang.Exception { 
        return "abc"; 

It's a long way from being feature complete, but it's usable (within the scope of what has been implemented). It looks like I'll be starting a new role next week, so that may reduce my time to work on this project for a little while - I wanted to get it published before that happened.

Documentation is available here.

Feedback (and/or patches) highly desired.

Wednesday, September 19 2012

GWT AttachDetachException

This is one of those "document it so that no one else has to go through the same pain as you did"

I spent all afternoon trying to diagnose this GWT exception

... Caused by: com.google.gwt.user.client.ui.AttachDetachException: One or more exceptions caught, see full set in UmbrellaException#getCauses
... Caused by: IllegalStateException: Should only call onDetach when the widget is attached to the browser's document

It was occurring when a PopupPanel was hidden, and involved a particularly complex widget that used JSNI to integrate with a 3rd party JavaScript library.

Debugging it was a pain, but the solution was simple: My onAttach method wasn't calling super.onAttach.

Sometimes the most confusing errors have the most simple solutions.

Thursday, June 14 2012

Ecwid - Shopping Cart

I recently spent some time building a website for my wife's new business, and needed a shopping cart solution.

Continue reading...

Saturday, February 4 2012

Vim syntax highlighting for LESS

There's a pretty good vim syntax file for the LESS dynamic stylesheet language but it has a minor issue with font properties.

Continue reading...

- page 1 of 5