Website update

Created: 2015/08/02 22:00:40+0000 Revised: 2015/08/04 18:58:15+0000 Revisions:  2 1

I've recently substantially updated this website. It now makes use of HTML5 (it took a long time for me to get round to it I know), the client side has been rewritten in ClojureScript (much nicer than JavaScript) and the server side has been simplified (boring). It has taken longer than intended to finish but it is now in great shape. Let me tell you about why.

The client side scripting is not very extensive on my site but going forward I decided I'd rather work in ClojureScript than JavaScript. It has its drawbacks, there is a substantial runtime that goes along with even small scripts. My site takes a few KiBs of ClojureScript and turns it into over a MiB of JavaScript. But that's what caches were invented for.

The server side changes have been focused on simplifing what I already had. Previously I was using Struts 2, I have replaced it with Java EE filters and servlets. This made things simpler instead of more complex. My original decision to use Struts was based on my failure to understand how to use Java EE. Struts has some much better documentation and tutorials. Struts tags make it more terse to access values set up in Java but there's not much difference.

The underlyig DB model is unchanged but I have simplified access. Instead of using AuDAO to access it I use JDBC to run my own statements against the database and populate simple objects partially generated by Project Lombok. A real improvement that lets me write SQL statments with joins, aggregation and subsets of columns. Lombok gets rid of a huge amount of boilerplate code, always a good thing (happyface).