Your leaking thatched hut during the restoration of a pre-Enlightenment state.


Hello, my name is Judas Gutenberg and this is my blaag (pronounced as you would the vomit noise "hyroop-bleuach").


decay & ruin
Biosphere II
dead malls
Irving housing

got that wrong

appropriate tech
Arduino μcontrollers
Backwoods Home
Fractal antenna

fun social media stuff

(nobody does!)

Like my brownhouse:
   I can tweak these tools
Thursday, July 19 2007
I spent the entire day in front of my computer working out the bugs in two different PHP-based applications. I find it difficult (or at least unpleasant) to multitask, and so I have done my best to keep the differences between projects to a minimum. In my ideal world, those differences amount to dozens of lines of code spread across several pages, each line orchestrating the complexity of thousands of lines of my core library, which contains the essence of my programming talent. At a certain point in my career, this ideal might be reachable, but in the meantime every new project results in changes to my core library. But I've been careful to keep this library compatible with my old projects such that I can overwrite their old versions of the core library with the latest version and they will still function reliably. PHP as a language makes this relatively easy, since I can keep adding parameters to the end of a function's parameter list, and as long as my core library provides these extra parameters with defaults, the code that calls them do not need to pass those parameters.
I've also been steadily expanding the size of my core library, adding functions for the vexing little (and big) web development issues that keep cropping up. For example, the content management system I've been working on (and more or less completed tonight) uses a suite of new functions based on my "Tableform" library. These allow for the data from a SQL query to be displayed on any page in various end-user-friendly ways. They also permit tool-specific administration authentication to happen in reference to a different user table from the one I use to authenticate general database administration. The result of all this is that I can easily build a set of flexible user-friendly administrative tools for a database-driven website that is entirely separate from the tools I use to directly administer the website, and I can tweak these tools precisely in response to the needs of whoever will be administering the site.

For linking purposes this article's URL is:

previous | next