
Operation9.com was transferred to my ownership from its previous owner near Washington D.C.; this effectively completes the com/net/org block. op9.com and op9.org are going to be significantly harder to obtain, so I’ll take what I can get.
Thanks to Mr. Martin, the previous owner, for being really easygoing about the entire process even though he was going to let it lapse in the first place. I figured it was far better to contact the owner directly than take my chances.

Having recently picked up a cheap wireless 1.2Ghz CCTV unit and receiver combo, I decided to fiddle with the webcam space here on the site and implement a smoother solution that didn’t require an entire page reload every time a new image was uploaded. Every 20 seconds, it’ll now update automatically — assuming there’s a new picture — in a pretty subtle fashion.
Right now, the camera unit sits on a ledge outside the 4th (attic) floor window of our apartment, pointed down our somewhat sleepy road toward Division Street. The relative brightness of the closest tree compared to its surroundings is due to the decent onboard infrared LED array bouncing its light off the branches. The feed comes through the receiver directly into a old ATI TV Wonder VE VisionTek Xtasy Theater 550 Pro capture card; the image is then processed and uploaded using the freeware webcam app Fwink every 20 seconds.
That lone dot in the upper-left corner at night? It’s the Sears Tower.

I’ll be moving the portfolio to its own domain in order to further situate things. Its new home will be 8hrs.net shortly.
You might say I have a thing for short domains — and you’d be right.

I’m the proud owner and maintainer of the only website dedicated to the small village of Butte des Morts, WI 54927, population 378. I visited my grandparents in the village every summer from ’85-‘95, and lived there in ’96-‘97. Really good folks there, the majority of ‘em.
One might ask why I’d even bother, but it’s part of a larger idea I’m fleshing out. Slowly but surely. That and, when I went to find information on the town, not one site gave me a good roundup. The .com address had already been taken, so I snagged .net and .org while I went looking for domains the other day.
So, this is my way of giving something back.

Ah, yes…the trials and tribulations of contact form spam. I’d made the mistake a year ago or so of installing a Textpattern plugin to automate my contact form; I was too busy with other things at work to really pay much attention to it. I’d later find such faith in off-the-shelf code to be, well, a pretty bad idea.
Then it hit. Comment spam galore. A warning came from Dreamhost, my hosting provider, that metric tonnes of spam were flowing through. Contact form go bye-bye — for a long, long time.
Well, that is, until now. It’s back up and running in super-secure fashion, rewritten by myself in PHP from the ground-up to be “secure enough that the paranoid would embrace it.” And that, so far, it has. If anyone can break it, I certainly encourage — and yet, discourage — them from doing so. Everything’s logged, and the entire form is protected from form-injecting, CURL-abusing spambots. So far, it’s working great (even without a CAPTCHA) to the tune of 100% spam reduction.
So contact away, folks!
(Just don’t ask me for the source code quite yet.)

Most of my concentration as of late has been on the Gaming section of the site, adding reviews for Trauma Center: Under the Knife and Phoenix Wright: Ace Attorney, both of which are wonderful and original additions to the Nintendo DS lineup. I’ll be getting back to the meat of operation 9 here again soon after I complete the upgrade to TXP 4.0.1.
In the meantime, have a little play with this interesting demo from 1991 I found in some old DOS disks I pored through the other night. This is the Superscape Virtual Reality Demo, and using a DOS emulator such as DOSBox, you can blast back to the day when true 3D graphics as we know them today were still in their infancy. To be honest, I haven’t found this demo anywhere else on the Internet, so this is a rare one indeed.
The second download is a package of old screen savers from the mid-to-late 80s. These were true predecessors to modern-day graphics and visualizations everyone takes for granted in everything from iTunes and Winamp, to the venerable-and-late After Dark. Most of them are small productions and won’t be found anywhere else on the ‘net, but are well worth the time to take a look at.
Download: SSDemo.zip [106kb, ZIP]
Download: OldScreenSavers.zip [334kb, ZIP]

After way too long, I’ve converted most of this site into 100% CSS-only from the table-based structure I had been using previously. You might come across some sticky spots where the pages aren’t rendering quite right; I’m still working on it.
Update: The RSS feeds should also no longer be throwing errors. Looks like the ‘mdash’ entity was throwing things into a bit of a tizzy, so I fixed that by using a numerical entity instead. Given that Textpattern also doesn’t character encode the RSS feeds it spits out either, I also took care of that while I was under the hood.
Spring a leak, and three more show up.

The last few months have been busy, to say the least. That said, I've completed some major interface improvements, and finally added a couple of long-overdue sections -- About and Contact. The backend also got an upgrade to Textpattern 1.0rc3 that helped bring things in line.
One major change you'll find is a break from standard blogging conventions in the placement of actions—such as the venerable "Permalink" and "Comment" links—into an inset box. The reasons for this are many:
- The footprint is significantly smaller. Rather than consume an
entire line at the bottom, the links now occupy a significantly smaller area and maximize space utilization.
- Uninterrupted pageflow. One of my personal peeves while watching
the "blogosphere" explode over the past few years is just how
unintuitive the placement of even the most standard, oft-used elements are on each page. Rather
than preserve a more print-like columnar appearance, however, most have opted over the years to instead use
them as an interruption—the separation between blog
entries themselves.
- Usability. Typically, most of these ubiquitous functions are displayed in disparate areas of the page, whether it be the top or bottom of an entry or list thereof. This wastes the user's time through inefficiency by looking "up here" to get to a prior entry, and "down there" to enter comments. By centralizing these functions into one consistent box and displaying the appropriate action(s) based on a user's location on the site, it's simply faster and more intuitive on the whole to find what you're looking for.
Feel free to comment about what you think of these changes. I have yet to come across a suitable solution for the now-broken RSS and Atom feeds, but rest assured they'll be active again soon.

I’d really appreciate a little more consideration (or at least a memo) from my webhost the next time they decide to arbitrarily restrict certain parts of PHP. Turns out my weather app has been throwing this site into a tizzy since the webhost disabled the type of include I was utilizing, and that just mildly pisses me off.
In any case, I’ve done quite a bit of tweaking to make more of the site accessible. You’ll notice more functionality throughout the site, and the weather panel is back in an <IFRAME>, which works for now. Jaunt around and have a little fun.

Well, I finally broke down and upgraded Textpattern to 1.0RC1 after a long stint using 1.0g. In addition, I’ve finally introduced clean URLs into the mix, in prep for the next iteration of this site and to make things easier to manage around here.
From here on out, you can use the following syntax to access RSS feeds on this site:
http://domain.foo/rss/ (default RSS)Therefore, to grab the last 5 posts from the ‘Gaming’ section, please use:
http://domain.foo/rss/999/ (limit of 999 articles)
http://domain.foo/atom/link/5/ (limit of 5 links)
http://domain.foo/atom/photo/50/ (section ‘photo’ limit of 50)
http://www.op9.net/rss/gaming/5/If you should have problems, let me know. The code was taken from Compooter.org’s wonderful “Clean Feed URL” code snippet.

·





