Latest Articles
Permission to ports 80 & 443 with authbind
» Coding

I prefer to not run web applications as root. authbind allows you to run the application as a user other than root, but bind to ports 80 and 443.

Read More »
Daemonize a Java service on Linux the simple way
» Coding

Creating a Java-based service on Linux that will start when the operating system boots and run continuously doesn’t require any extra libraries, despite many internet posts to the contrary.

Read More »
Caution: Loops in automated tests
» Coding

Be wary of loops in automated (JUnit) tests. I have written automated tests that didn’t actually verify anything because the body of the loop was never executed.

Read More »
FreeMarker put commas in my integer
» Coding

FreeMarker formatted an integer with a comma when I didn’t expect it. This caused my form post to fail.

Read More »
How do I convert a Java 8 instant to UTC?
» Coding

Question I was asked today, which I thought was simple: “How do I convert a java.time.Instant to UTC?”

Read More »
Coding in denial
» Coding

To write an application that works, you must handle unexpected conditions.

Read More »
Configure MySQL to use UTC
» Coding

A Java server I wrote was storing date/time values in MySQL incorrectly during the transition from Daylight Saving Time to Standard Time. The solution was to force MySQL to store everything in Coordinated Universal Time (UTC).

Read More »
Store timestamps in UTC
» Coding

If you persistently store an instant in time (aka a timestamp), then that instant must be stored in Coordinated Universal Time (UTC)*.

Read More »
Tensioning the Knew Concepts Fret Saw
» Woodworking Hand Tools
Knew Concepts Fret Saw

The tension on my Knew Concepts Fret Saw was low. This is how I fixed it.

Read More »
I'm getting better with hand tools
» Woodworking Hand Tools
hand cut boards

My skills are improving. These saw cuts were made by hand.

Read More »