, , ,

Comparing two SQL Server databases with Liquibase

Liquibase is a tool for managing database schemas (e.g. diffing schemas and writing migration scripts), and supports most major commercial and open-source relational databases. I’ll show how to use it to compare a migrated database to the original database, to find and fix discrepancies. To use it with SQL Server, you’ll first need to download […]

Using Hubot for Home Server Monitoring

I set up Hubot to do some simple server administration – this allows me to do a few common operations tasks while I’m travelling. I’ve previously tried SSH on my phone, but that seems unsafe in general, and it’s hard to use – this fixes a big frustration for me, if this site goes down and […]


Using ORM layers to ease Support

One of the challenges in supporting complex applications is to answer questions like “Why doesn’t my document show up in search results,” or “why isn’t this event in my report?” Even though database operations are often modeled with set theory, returning the inverse of a query is not sufficient. Consider, however, a hypothetical ORM layer, […]


Fixing issues where ExtJS charts don’t render in IE

I’ve encountered several instances where ExtJS charts fail to render in non-obvious ways in IE- these are all with the 3.x branch, but may apply elsewhere. The charts are rendered using a Flash SWF file repurposed from YUI libraries. By default, ExtJS pulls the SWF from a Yahoo! CDN, unless configured otherwise. Recently YUI upgraded […]

Architexa Review

Architexa is an Eclipse plugin for code analysis. I tested it on a fairly large application. My expecation going in was that it would only be useful to get up to speed- in fact, the diagramming functionality would help me answer common questions. E.g. Which screens use external services, how much of the project is […]


Using Prolog to Generate Test Data

I’ve built several reporting systems where work was divided evenly between a charting UI and database scripts – an ETL job, report sql, and database schema. It’s nice to divide work between UI and database developers to take advantage of specialization, but not having data is always an issue for the first week or two […]