Category Archives: Engineering

squirrel sql client and jdbc drivers

I started by downloading the squirrel sql client installer as a jar file from the project homepage. (

I already had java installed on my ubuntu system, so I was able to run the installer jar with:

java -jar installer.jar

So at this point, we have the Squirrel SQL client installed, and we can launch it. I ran into a problem though, in that I wasn’t able to connect to my database.

I didn’t have any Java Database Connectivity (JDBC) drivers available for my newly installed database client to connect to my database.

I set out to find find my missing SQLLite JDBC driver. It looks like squirrel was configured to pull the missing JDBC driver from a public bitbucket project, but that url was no longer working. I instead found the project had a fork on github (Or maybe the project was relocated to github?) I was able to find the current release of the JDBC driver as a jar file here: So I downloaded this file and then copied it into my squirrel sql client’s `lib` directory.

With the JDBC driver in place, I was able to connect to my sqllite db!

postmortem template

I recently worked an outage for a client and needed a quick template to write up my findings.  It might be a little TMI, but Atlassian’s template covered a broad range of use cases and I found everything mostly relevant for the “lighter” issue I was reviewing:

I created a quick google doc template of this here:

I especially liked the refresher on “root cause identification” via the 5 whys.  Tracing the exposed problem back to a root cause is something I feel too many teams miss out on.  The general idea is to start with the problem and loop to asking why that happened until you get to the root of the issue.  (sidenote: It’s incredibly important to separate the issue from the people associated with the issue to maintain a blameless and productive environment.)  More background on the 5 whys on wikipedia.