Apache: Rewriting URLs

This site runs on an open source content management system called Drupal. While I have done some development for Drupal, most of what you see working here was done by someone else. In fact, there's a lot going on here that I've never figured out. Recently, I started building another site from scratch to amend that, and I started with the perplexing question of "How did they manage to make that rather succinct URL tell them everything they needed to know?"


PHP: Recursing Relationships

In a well designed database, everything is related to everything else. Departments roll up to Companies. Work Stations spawn Service Requests. It's all relative. One of the major tasks in traversing any such a database is finding out exactly what those relationships are. Who entered that ticket? How many parts does the widget have? I've written a few simple functions to help work out the genealogy of it all, for a LAMP (PHP) environment.


PHP: SQL Encapsulation

I love LAMP. For the uninitiated, that's an acronym for a technology platform consisting of “Linux” for the OS, “Apache” for the web server, “mySQL” for the database, and “PHP” for development language. “PERL” and “Python” can be substituted for PHP, although I wouldn't. “mSQL” and, in an alphabetic stretch, Postgre SQL can be inserted in the “M” slot. Overall, it's a well integrated suite of technologies and there is a lot of information, code, and software out there catering to it.

If you're going to write for LAMP, the first thing you're going to have to do is figure out how you're going to get to the database. As one of my buddies is fond of noting, development is nothing more than taking data from one place and putting it somewhere else. Database connectivity methods are like opinions, and everyone has one. I do, too, and I like to think it doesn't stink much.


Windows: Symbolic Links and Virtual Drives

A few years back, I was working in a development shop using a source control package that insisted that all of the developers using it have their code in the same logical location. We settled on "D:\Code" for our standard and made sure everyone stuck too it, as changing the setting to anything else screwed up the rest of the team. This worked fine for the first 5 or so developers, but when the new PCs came it, they had large "C" drives, and no "D" drives.

DHTML: Simple Menu

I needed a DHTML menu for a project I was working on, and was able to find about a jillion of them on the web. Unfortunately, they were all a bit more than I wanted to bother with. I didn't need it to jump off the page, I didn't need it to emulate a windows tool-bar, and I didn't need it to load a 200k library of support functions. I just wanted it to expand and close to display a large set of menu options in a non-cluttered manner.

I was forced to write it myself.


Subscribe to ExcellentCruft RSS