March 25, 2004
mysql_auth readme

This is an authentication module for the Squid proxy server to authenticate users on an mysql database. The database is a single table, and the table is a very simple user-password pair, with plain or encrypted passwords.

March 24, 2004
An Unseen Peril of Outsourcing

What upset the potential backer? In large part, it was the sense that not only were the manufacturing and development services based in India, but that the company's most important knowledge -- software and engineering savvy, not to mention its development expertise -- also had departed the U.S. Says Rocci: "All the knowledge about how to do things had moved over to India." The investor's withdrawal scuttled the former employees' proposed deal to acquire AM's products business did so because he saw that outsourcing had essentially stripped the concern of perhaps the most important asset of them all -- its knowledge.

The lesson of this story: We need to understand that, as we send jobs to foreign businesses, we also send critical knowledge about processes, procedures, and development. When business conditions change, a company can't just go to the other side of the world and reclaim those things. The new owners aren't likely to give them up.


A free, GPL, non-interactive software package for producing plots, charts, and graphics from data. It was developed in a Unix/C environment and runs on various Unix, Linux, and win32 systems. ploticus is good for automated or just-in-time graph generation, handles date and time data nicely, and has basic statistical capabilities. It allows significant user control over colors, styles, options and details.

March 22, 2004
css crib sheet

You will no doubt come across many quirky layout issues when building a site with CSS. You'll end up banging your head against a wall time and again. This is an attempt to make the design process easier, and provide a quick reference to check when you run into trouble.

Teach Yourself Programming in Ten Years

The conclusion is that either people are in a big rush to learn about computers, or that computers are somehow fabulously easier to learn than anything else. There are no books on how to learn Beethoven, or Quantum Physics, or even Dog Grooming in a few days.

March 19, 2004
Frameworks, Good Code and the Opposite of YAGNI

The thing about writing good code is that while you might still fail with it, at least if you fail you’ll know it wasn’t the fault of the code1. As a programmer, you can’t take responsibility for the relationship with- or demands of the customer, you can’t take responsibility for changes in the economy or budget cut-backs, you can’t take responsibility for the market-research that drives the project or the marketing that must sell it when you’re done.

As a programmer, you’re responsible for the code. If any of these other things get screwed up, your project may well be doomed. If any of these other things are done well, your project may succeed despite bad code. But at the end of the day, your job is to make the best of what you’re being paid to do.

I've been in a "code slump" for the last two weeks. Basically because of all these external factors mentioned...

What I need to remember is to do my part the best that I can.

Using key-based authentication over SSH

SSH, or secure shell, is a protocol by which users can remotely log in, administer, or transfer files between computers using an encrypted transport mechanism. Running over every major operating system, SSH provides a more secure connection method than traditional telnet or the much-maligned "r commands" (rlogin, rcp, rsh). SSH includes provisions for key-based authentication that doesn't require a password, which opens the door for some innovative remote access applications.

Perl <==> PHP Translations

Quick bookmark to a nice "tranlation" page for the few times I find myself actually willing to work with PHP.

Movable Style: Style Switcher Implementation

There seems to be a few requests regarding to how the style switcher is implemented, so this entry will serve this purpose - detailing how I implemented the style switcher on the Movable Style site, including samples of source code that you can use for your own site.

March 17, 2004 - Manually crash Windows-XP

Windows-XP has a "feature" (???) with which it is possible to manually crash a system by simply holding the right CTRL key and pressing the "Scroll Lock" key twice. This feature can be turned on by the following steps.

I'm sure this "feature" is only for testing.

As in, testing when a competitor's product is running.

Evolutionary Database Design

Over the last few years we've developed a number of techniques that allow a database design to evolve as an application develops. This is a very important capability for agile methodologies. The techniques rely on applying continuous integration and automated refactoring to database development, together with a close collaboration between DBAs and application developers. The techniques work in both pre-production and released systems.

March 15, 2004
An Interesting Day: President Bush's Movements and Actions on 9/11

The many accounts of what happened to Bush on 9/11 are riddled with disinformation of false threats, omitted details, fudged timing, and more. But around September 11, 2002, the heavily publicized first anniversary of the attacks, there was an obvious attempt to further rewrite the story.

Chief of Staff Andrew Card claimed that after he told Bush about the second World Trade Center crash, "it was only a matter of seconds" before Bush "excused himself very politely to the teacher and to the students, and he left" the classroom. Card also stated that Bush "quickly excused himself to a holding room." [San Francisco Chronicle, 9/11/02] In a different account, Card said, "Not that many seconds later the president excused himself from the classroom." [MSNBC, 9/9/02] The Booker school video shows these statements are lies - unless "a matter of seconds" means over 700 seconds!

March 11, 2004
VLANs on Linux

An introduction to VLANs and VLAN trunking, how Linux interacts with VLANs and how you might use them in networks.

March 02, 2004
THE GNU MAC OS X Public Archive

Most Mac OS X users prefer to use GUI tools to make Installations of software. By providing GNU software ported or built for the Apple Installer we are providing a needed service for the OS X community. Our Goal is to produce Tools for the OS X Package Installer/Maker and to port all Free/Open source software to the OS X Installer system as is possible.

Ted's Homemade Web Tools

Here's my webtools page. Too many tools that I love on my UNIX system(s) are inaccessable to the average friend/co-worker of mine. Yet everyone has access to webpages. So my choices to help people out involve either giving shell accounts out and teaching people how to run specific UNIX comands or I could just write these tools on the web. So here they are (in order of writing)