Archive for the ‘Uncategorized’ Category

Regenerate parser tables in PLY

Parsers are difficult in general to develop using TDD, because there is too much of a tendency to specify a complete grammar. Worse, the tests you want to write early – did my tokenizer successfully recognize those numbers? – tend to become invalid as you extend the grammar, adding more requirements about the structure of [...]

Add VC “branch” to your prompt

Inspired by a recent discussion on IRC, here’s another little piece of bash script goodness. This one goes in your startup files, and it integrates with your $PS1 prompt variable. The script adds your VC branch to the prompt. I’ve included SVN and GIT, and I’m sure you could trivially add CVS if need be. [...]

[wiki | database_cm:three_ways]

Table of Contents

Manual list of changes
Computed list of changes
Longacre Deployment Management

There are three ways to do change or configuration management of a database. Two of them are “traditional,” and the third is LDM. Let's look at them all.

Manual list of changes

SQL is by its nature a change language. The individual statements in SQL are mostly [...]

[wiki | database_cm]

Database Change Management

Database CM, like software CM, means different things to different people. From our perspective, though, it is about providing the same benefits to a development shop that SCM does, even when some or all of the development involves a database. Database CM is just SCM on a database, if you will. [...]

Design Pattern: Table Data Gateway

A table data gateway is a gateway?an interface to a separate component or subsystem?that provides access to its data by abstracting an entire database table (or entire file, or entire tree, or entire other data structure) behind a single interface object. All of the standard CRUD operations are performed by accessing methods of the table [...]