If an old link brought you here, it was pointed at stanback.net, which I ran from the spring of 2000 until I posted "New Blog Underway" in March 2013 and then didn't. The page you wanted is gone from this domain. Most of it survives in the Internet Archive, and this is the index I wish those links had landed on: what each thing was, what it turned into, and where to read the original.
Before stanback.net there was a GeoCities page I made in middle school, which is where this really starts. None of it had a plan. It was tinkering because tinkering was the most interesting thing available, and I've come to think that is the best way to learn anything. It is also a little embarrassing, the way a box of your own old notebooks is. I would rather have it indexed than lost.
The site had four lives, and the archive shows the seams.
2000. A sophomore at Fort Collins High with a "Freeware" page, which is what I called my open-source CGI scripts before I knew the phrase, a "Game room" of browser game experiments, and a swimming portal with meet results, a time converter, and a workout database. The about page said my favorite event was the 200 fly. Those scripts are how I got my first real job, at fifteen.
2003. A PHP rewrite with a tagline of "deep fried twinkies", a photo album shot on an Olympus C-3000Z, a movie list, a blog, and a 404 page that rewrote The Raven to end on "Quoth the server, 404." It told anyone on an old browser that the page looked plain because they were incompetent. I was seventeen and had opinions about web standards.
2007. The first design I'd still call a design, on Lighttpd and MODX, with a code section for the things I'd released, a photo portfolio, and a blog roll. The counter rewrite was always coming late summer.
2013. One post promising a new blog. Then thirteen years of mostly working and figuring out life. After college the hours went into the job and into getting better at it, and the site was the thing that didn't get them. What changed is the bottleneck. With AI doing more of the typing, building things has turned back into a creative outlet instead of a second shift, and the blog that post promised is this one.
#Swimming
The site began as much about swimming as about code, and the 2000 version was less a page than a small experimental portal for a club swimmer's world. It had meet results and photos from Northern Colorado districts and travel meets, a time converter, a mailing list, and the Internet Swimming Club: a database with user accounts where teammates could post workouts, search them, log their times, and talk in a chat room. Its May 2000 workout list is the only copy left. Five workouts, two of them mine.
The piece that lasted was the yards-to-meters time converter, the first useful program I wrote for people other than me. I took it down in 2001 "until I rewrite it using something better", rewrote it twice, and the 2007 version is archived. Twenty-three years later it grew into Turnmark, which is where the old converter links go now, and into an essay here built on eight million swims. I did not expect the first program to be the one that lasted.
#Perl and CGI scripts
The earliest things I published, all from high school: a chat room with user registration, a guestbook, a mailing list, a form mailer, a text gradient generator, and a script that played a random MIDI file for every visitor, which seemed like hospitality at the time. The guestbook and the mailing list each earned a CVE in 2001 (CVE-2001-0099 and CVE-2001-0100) for passing the email field to a shell. That was my introduction to untrusted input, at sixteen, in public. I stopped maintaining them in 2007 and the index page says so. Read the sources as history, not as something to deploy.
Tarballs, for the curious: BSChat, BSGuestbook, BSList, BSForm, BSTextGradient, BSMidi.
#BS Counter
A web hit counter, written in Perl and then again in PHP, the two sharing one set of data files. It blocked repeat hits, inserted commas, drew graphical digits in a dozen styles, and tracked browsers, operating systems, referrers, and search keywords, which in 2000 was most of what anyone meant by analytics. The first version needed server-side includes. Version 2.5.0 shipped in December 2005. The object-oriented rewrite that would replace it was "ready late summer" on the 2012 page, as it had been on the 2007 one. The last release is 2.5.3.
It got around more than anything else I've written. H-Sphere, the hosting control panel from Positive Software that a lot of resellers ran in the early 2000s, shipped it as one of four preinstalled CGI scripts on every Unix account, next to a guestbook, FormMail, and a forum, until the bundle was dropped in version 2.5. Some of those accounts still have a "Counter setup" page that points at stanback.net for the latest version, and stats pages reading "BS Counter v2.5.3" are still being served from Brazil to Berkeley. One of those installs is how the counter got its own CVE in 2009, four years after I'd stopped touching it.
#MODX add-ons
Snippets and plugins for the MODX CMS, back when it was spelled MODx and I was building client sites on it. These were the most linked things on the old site and the reason a MODX forum thread still points here.
- Virtual Aliases gave a document more than one URL. Archived page.
- FeedX was a general-purpose XML feed reader with caching and templating. Archived page.
- SEO Strict URLs enforced one canonical URL per document, which is a funny thing to have written, given what this page is for. Archived page.
- Favorite Links and the Flash Text Area Plugin were smaller. Archived index.
#GoDaddy DynDNS
A PHP class for updating A records on GoDaddy's DNS, so the NAS at home could have a real hostname instead of a dangling CNAME. Still maintained on GitHub as php-godaddy-ddns. Archived page.
#PHP Parcel Tracker
A PHP class and RSS gateway that returned tracking details for UPS, USPS, FedEx, and DHL, written because I'd built a package-tracker widget for the Chumby and needed one place to ask. Apache 2.0. Archived page.
#GNU/Linux
Notes from running the site on a Sun Cobalt RaQ, the blue 1U box that was the small-hosting workhorse of its day, and later on Lighttpd. Archived page.
#Bits and pieces
A SpamAssassin package for the Cobalt RaQ, and a set of left-handed cursors for Windows and Enlightenment, because I am a southpaw. Archived page.
#The blog
Posts from 2001 to 2013 in several incarnations, most of them lost to the rewrites. What survives: the 2007 design launch, a post on tag cloud usability with a mootools demo, and the 2008 archive page with its "worth visiting" list: Hulu, Plaxo, Zamzar, and Chumby. The final state is the 2013 post saying a new blog was underway.
The 2003 site also ran a thing called Ad Space, which let anyone post a link to raise their Google PageRank. It explained PageRank to them first. The archive shows exactly who took me up on it, which is why a 2003 capture of almost any page is bordered by pharmacies and casinos. I have spent the years since learning what a link is worth. This page is me paying that back. Everything I write now is here.
#Movie reviews
A short-lived movie section from the winter of 2002 to 2003: what I was looking forward to (Solaris, The Two Towers, Gangs of New York) and what I'd just seen (Full Metal Jacket, 8 Mile). Archived.
#Photos
Two generations. The 2003 album was shot on an Olympus C-3000Z and had a comment box, which the internet used as you would expect. The 2007 portfolio was tagged urban exploration, night, macro, and star trails, a thread that runs straight to the photographs here and to the trail on photography and seeing.
#Games
The 2000 game room, which was really a place to try things in the browser: Breakout, BS Fortune Cookie, a Click Me contest, a Magic Eye page, a MIDI jukebox, Tail Gunner, and UFO Attack, some written and some found, in Java and JavaScript and Perl. Archived.
That is the whole site. The question I keep coming back to, reading it, is which of the things I'm building now will be the swim converter, and which will be the counter: the one that turns out to be the real work, or the one a stranger's control panel is still serving in 2049.