
Rust ANSI Art
I wrote a dumb utility to print a image to the console using Rust: https://github.com/paulmcgovern/ansi_image Rust is great, but I speak it with an accent. I’ve been working mostly with Python and JS for the last few years so returning…

PowerShell ANSI Art
Recent versions of the Windows console support RGB ANSI colors. Here’s a script that outputs an image to the console, useful for when you feel the need to beautify the user experience of some backup script. It repeatedly samples parts…

Fun With Common Table Expressions
I came across some interesting ways to use common table expressions (CTE) in SQL Server and pass them on in the hope someone may find them useful. The first example shows how to use a CTE to update a table,…

Downloading Files With Selenium
Selenium in an indispensable tool but it cannot download files. It gives you control of the DOM but cannot interact with the native dialogs the browser coughs up when prompting for a file download. The work-around is to use Apache…

Compile Groovy to Executable JAR
I’ve been working on automating some deployment tasks using Jenkins and Groovy. Fun stuff, but dealing with dependencies at runtime is a hassle. Yes, Maven will fetch everything you need, but sometimes you don’t have line-of-sight to Maven Central from…

Automated Testing of Lucene-Backed Search
The Problem Suppose you build a website about the history of fasteners. It will be full of solid information about bolts, nails, nuts, pins, clips, rivets, rods, screws, and washers. It will have all the bells and whistles, and all…

Jira for All
A bug tracker is an indispensable for grown-ups who write software for a living, and Jira is one of the best ones available. Over the last year my workplace has expanded its use if Jira from within the development team…

Git, GIT_SSH, and SSH
As part of a project at work, a web application running in Tomcat must periodically pull files form Git. No, it’s not Jenkins. Usually it work a treat but getting it all working on Windows proved to be tricky, and…

Replace XML Entities with Elements
Stuffing XML into someone else’s system is always a treat when there is no schema or DTD. It’s even more fun when the original dev teams on both sides have moved on, leaving no documentation whatever. The particular system I’m…

Generated Fonts in LibGDX Skins
Font scaling in a messy business and LibGDX is no exception. It can take a lot of effort to get a crisp rendering. There are a number of strategies for getting the result you want, and utilities like Hiero are…