Nothing Doesn't Go In Here

On Episode 247 of Back To Work, Merlin Mann and Dan Benjamin discussed how to take control of your paper journals and notebooks. Free yourself from the tyranny of the clean, empty notebook! Merlin makes specific reference to the philosophy behind Wreck This Journal by Keri Smith. What an absolutely brilliant idea!

»
Author's profile picture Will Dampney on productivity and podcasts

Making taglibs more testable in Groovy & Grails - a better way to construct using Groovy Builders

Writing custom taglibs can easily become messy - explicit HTML, appending ad-hoc strings to a StringBuilder, adding attributes based on tag arguments can easily turn relatively simple code into an unmaintainable mess. Not to mention trying to trace logic paths to track down bugs..

»
Author's profile picture Will Dampney on software-development, code-quality, and grails

Grails 2.5.0 - Disabling autoTimestamp during Integration Tests

At some point between Grails 2.2 and 2.5, the functionality around the autoTimestamp flag has changed in a way that has caused it to not function during integration tests. What this means is that if you are testing integrations that involve the creation of a domain that has the autoTimestamp flag, you may be hit with not-nullable errors:

»
Author's profile picture Will Dampney on software-development and grails

How to use Tomcat 7 Host Manager

Tomcat Host Manager is a web application inside of Tomcat that manages Virtual Hosts within the Tomcat application server.

»
Author's profile picture Will Dampney on software-development, web-applications, and tomcat

jQuery plugin for collapsing content - readmore.js

If you're looking for a simple method to collapse and expand blocks of HTML content, I highly recommend the jQuery plugin readmore.js by Jed Foster.

»
Author's profile picture Will Dampney on web-development and jquery

Audio synthesis with Web Audio intro - Stylophone

Stuart Memo has recreated the short-lived, stylus-operated Stylophone in HTML5, using Web Audio and his own vector-drawn keyboard library qwerty-hancock to demonstrate the basics of audio synthesis with the Web Audio API:

»
Author's profile picture Will Dampney on web-development and html5-audio

Converting an existing javascript file to a require.js AMD module

Require.js is a Javascript module loader, helping to reduce complexity of applications by managing dependencies and allowing easier separation and organisation of code into modules.

»
Author's profile picture Will Dampney on web-development and javascript

Using Regular Expressions in Objective C

As of iOS 4.0 and OSX 10.7, Apple provides a class NSRegularExpression which implements the use of regular expressions in Objective C.

»
Author's profile picture Will Dampney on software-development and iphone-development

Loading external javascript into Blogger

Unfortunately, Blogger doesn't make it particularly straight-forward to include 3rd-party scripts in my blog. Things like Alex Gorbatchev's syntax highlighter or other externally-hosted scripts (e.g. Google code, github etc.) I may want to be available in all my posts. There are a few options to get javascript into a post:

»
Author's profile picture Will Dampney on web-development and javascript

Add some color to your Jira logs!

Tired of the old black and white run-of-the-mill log files? Well have I got the solution for you!

»
Author's profile picture Will Dampney on software-development and system-administration

Using an email server in your unit testing

How to interact with Apache James in integration tests

At times, I have the need for my development testing to interact with an email server (e.g. testing cgi-bin scripts, JIRA mail plug-ins), to verify that emails are sent and received by either my components or external systems. I found that Apache James was quick to get up and running, with very little configuration.

»
Author's profile picture Will Dampney on software-development and code-quality

Integration testing of a custom JIRA CreateOrCommentHandler email processor

I'm working on a customised email handler (based on Atlassian's original CreateOrCommentHandler class), that extends some of the available parameters to enable our team to better handle their Jira loads.

»
Author's profile picture Will Dampney on software-development, atlassian-jira, and code-quality

Using WebDriver, jBehave to test dynamic web forms

I've been updating an ancient yet integral Perl form handler script (based on bnbform), and I will be introducing some fairly significant changes. Thus I'd like to make sure I don't introduce any errors, or changes that would affect existing forms on our site.

»
Author's profile picture Will Dampney on software-development, web-development, and code-quality

OpenOffice 3.3 with HSQLDB via JDBC

I had developed an application that stored some metrics in a HyperSQL database for offline processing and reporting with OpenOffice. It seemed simple enough - OpenOffice would connect to the database via JDBC, with the JDBC URL and driver class..trouble was, no matter what I did, the driver class would not be recognised! After endlessly searching on the web for a solution, I realised the piece of the puzzle I was missing - the version of the hsqldb jar file. The version 2.0.0 jar appears to be incompatible with OpenOffice 3.3 - Reverting back to 1.8.0.10 solves the problem, and the JDBC driver class is recognised. So I'll publish the process in full here, just in case anyone else runs into the same problem!

»
Author's profile picture Will Dampney on applications

A Quick Spring Security Lock-Down

My new shiny web application is fantastically useful, but only to a certain group of people (i.e. my team), and should only be accessible by them.

»
Author's profile picture Will Dampney on software-development and web-development