Ramblings to do with software and computer/gadget related things.
I have a Blackbird TKL Keyboard, I use it for maybe 12 hours a day on weekdays. It's great. There are a few niggles with it, but on the whole it's a decent keyboard and people should use decent keyboards whenever they can.
One of the ways to make Java apps easier to manage and monitor is via JMX. As a first step I set up a simple MBean with a single runtime updateable attribute, to control whether or not my app should do a resource intensive scheduled task.
This gives us a "kill switch" for the scheduled job, to stop any hard work happening without needing to edit a properties file and bounce the app.
I had a need to process a bunch of PDFs containing some sensitive info, before they could be forwarded to an external team. This is how I did that data obfuscation from a Unix command line.
A while ago I started using HEAD requests via Ajax in some apps and thought I'd write a few notes about why. Basically it's to improve user interfaces/experience when things start getting complicated.
This is likely old news for many people, but I hadn't come across the HTTP Content-Disposition
response header until recently, so here's my notes about it. The idea is to get the browser to ask the user to save a dynamically generated document they've downloaded, with a useful default filename for the downloaded file.