table of contents

Welcome to my foray into vanity publishing.

Who

My name is Keith Gregory. I am a professional software developer, currently living in Philadelphia with my wife and cockatiel. I've been programming since 1977, making a living from it since 1984. It's been a long and varied journey: from real-time data acquisition systems written in assembly language, to SQL on a massively parallel database, to web-facing development … with a few odds and ends such as networked applications and GUI clients. The last dozen years are covered in my resume.

If you're not a spambot, you can send questions or comments to “contact” at this domain.

What

This site contains a collection of articles, primarily on programming topics, but including some of my other interests. Most of the programming articles are about Java, because it's the language that I've used most in the past decade. Also because it doesn't get a lot of respect as languages go, and I think that's unfair.

I also have a blog that focuses on programming philosophy, life as a software developer, and topics that don't merit the research and thought of a real article.

Why

Yahoo! displayed a banner ad for their hosting service while I was reading my mail.

OK, that's not the whole story. I had several ideas for short programming articles, as well as the outline for a book on advanced Java Swing programming. Having already written one niche market programming book, I decided that I wasn't prepared to invest the time and energy in a second. This website seemed a perfect way to let my inner author out.

How

Everything here is hand-written HTML, with CSS for styling. I originally used Microsoft Word to write and edit the articles, with a semi-automated translation based on styles, but that turned out to be far more trouble than it was worth. I find that HTML markup isn't overly distracting when writing (perhaps because I started writing before WYSIWYG editors), and it forces me to use a simple design.

I use PHP as a simple way to template “boilerplate” HTML (eg, code samples, which might need escaping). It was what my provider offered. There is a simple hardcoded page table that holds the metadata about each page, such as title and last change date, as well as the path to an include file containing page content (even though h4xx0rs keep trying, they haven't yet turned my site into an open proxy via the page param).

Copyright © Keith D Gregory, all rights reserved