Welcome to my foray into vanity publishing.


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 … with the inevitable excursion into web-apps. 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.


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.


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.


Everything here is hand-written HTML, with CSS for styling. I originally used Microsoft Word to write and edit the articles, with an automated translation based on document 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 an easy way to template “boilerplate” HTML (eg, code samples, which might need escaping). It was what my original provider offered; I have no feelings one way or another about the language. 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 a file containing page content (and 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

This site does not intentionally use tracking cookies. Any cookies have been added by my hosting provider (InMotion Hosting), and I have no ability to remove them. I do, however, have access to the site's access logs with source IP addresses.