Nintendo Wii forums Forum for writers phpBB mods Essays on copyright Dating advice Narnia forums

Blog Overview

New plugin for JW Player

I created a small simple plugin for the JW Player.  However, that plugin hasn't seen the light of day in their add-ons repository.  So I thought I'd add it here.  More description & links in the following paragraphs.


New Greasemonkey Script: Show Attachments, JIRA!

I've been having a great deal of fun at OnLive, my new employer.  OnLive is a video game store/system where games are run on a server farm and the video/audio feed is streamed to the player's local machine.  It's cool because it means that Mac users can play Windows games, for instance.

In any case, the company is also cool because it is friendly to Open Source developers such as myself.  I was having trouble with the bug tracking system that OnLive uses (JIRA), and they let me code up a fix and release it into the wild.

The problem I experienced went like this.  I received a ticket which mentioned that files were attached.  I looked all over the ticket for the usual icons that display for each file, but the attachments section was empty.  So I rejected the ticket with the comment, "No attachments, try again."  And then the person responsible came to my desk and showed me how sometimes the icons remain hidden behind the eye icon (which is used to manage the full list of attachments).  We chatted for a few minutes about why that might happen, but to be honest, our intellectual curiosity over that was pretty much relegated to idle chatter.  We moved on.

Later I realized that with Greasemonkey I could probably just have a script automatically check the eye icon behind the scenes, and insert the list of attachments if none were displayed on the main page where they are typically expected.  So I whipped it up, we all started using it, and then my boss cleared me to release it.

So, if you have the Firefox browser with the Greasemonkey plugin running, you can head over to and install my little Greasemonkey script, Show Attachments, JIRA!



Returning to fitness, week 2

I didn't lose as much weight this week.  Kinda bummed.  I think I have to do what all my friends have been telling me to do: stop drinking sodas.  So as of tonight, I'm no longer drinking sodas, but otherwise my diet is unchanged.  I'm regularly doing 5 miles of walking/running now.  My weight is 197.2.  I'm a wee bit better than last week, but I actually feel fatter.  Probably because I haven't been doing as many sit-ups.  Photo next.


Returning to fitness, week 1

I ran 2 to 4 miles most days, did 60 to 70 sit-ups most days, and changed nothing about my diet. This week, my weight is 198, which is 4 pounds less than my original weight. I'm glad to be losing weight, but oh how it hurts to do this. My muscles ache, and my body is exhausted every night. Hopefully I'll adapt soon. I've not yet changed my diet much. Read on for the photo.


Returning to fitness, week 0

Argh.  I hate doing this.  It's so embarassing.  But two years ago, I wanted to get fit, and the only way I found that worked was to humiliate myself by posting photos of my progress.  It was a BIG motivator to post a photo that looked decent.  So... here I go again.  Each week, a photo documenting my effort to become easier to look at.  And right now, it's NOT easy, I am terribly out of shape -- 5' 10" and 202 pounds.  And here comes the photo.  Ugh.


1101 Winchester Boulevard

Today one of my tasks was to track down my eye doctor and get new glasses.  I hadn't seen him since before I was divorced, and I no longer had his information.  However, I remembered that his business was one of many at this location:

So I figured I would simply walk through the hallways until something was familiar.  This was a terrible decision.  I found myself standing frozen at the door to another business, locked in disbelief.


Updated my Greasemonkey script for

Hey all.  Just a quick note to say that my Greasemonkey script for, which will hide all the D&D 4th edition topics in the forum, has been updated to version 1.1.0.

Lyrics to Into the Air, by 2Spaces

So I love the song "Into the Air" which is by 2Spaces, featuring Viktor Ginner, and produced by ROMi.  I wanted the lyrics, which for any typical song are generally scattered across so many Web sites that a person can find them with ease.  But not this time.  No search engine had the lyrics, even when I started searching for actual phrases from the song.  So, fine.  I wrote them down myself, and now we can get these lyrics into the search engines for the world to find.  Here we go.


IE6 (Internet Explorer 6) eats form data

While working on some internal Web forms for Cadence, I came across a bonafide browser bug that I had never seen before.  Some people were filling out a form, but the form sometimes wouldn't work -- data was lost, and we couldn't figure out why.  Eventually I had eliminated bugs in my PHP code and as a last resort, I put a sniffer on the wire to watch the traffic.  What I found was amazing to me.  Internet Explorer 6 will fail to encode data properly (wiping out the first field) under very particular circumstances.  What's interesting is that, searching across the Internet, I found lots of people having the bug but not a lot of solutions.  That's odd, right?  I mean, IE 6 is a really old browser.  All the problems with it should have workarounds now, just as the box model issues in IE 6 do.  But this doesn't.  So I'll go over what I found, and how I fixed it.


Greasemonkey script for

Do you visit  It's a site for people who enjoy role-playing games.  If you visit that site, and are a bit overwhelmed by the huge number of forum topics about 4th edition D&D, I have got a prize for you.  I have created a script for Firefox's Greasemonkey plugin.  It's free.  It's called Drop 4e 4 rpg, available on  It will hide any topic that is tagged as 4th edition.  Have fun.

-Tony goes up on the auction block!

My domain is going to be auctioned by either the Great Domains auction house, or by Moniker domain auctions.  Not sure which yet.  Anybody have suggestions?

The domain name should appeal to anyone doing online ratings systems, or for any "best of the best" product.  Outshine is a simple, short dictionary word, so I'm hoping people like it!  I've had the domain since 1998, and it's well-ranked on Google.  If you know someone who is interested, put them in touch with me.

New resume/CV for 2009

My revised 2009 resume is now ready (it has all my recent PHP experience at Yahoo! added in).  If any recruiters or company execs working in the Silicon Valley would like to review it, please contact me.  I'll send it along privately.

American Idol - Gokey

I'm sorry but this is the most terrible and funny thing I have seen in a while.

If you don't know why this is so awful and hilarious, that's OK.  Don't figure it out.

Some footage from Aaron & Patty's wedding

Some footage of the toasts at my sister's wedding is at or here:


Strangers We've Become


Liberation Theory

Seeing things as a difference of brain power is freeing.  I had never really considered that option for most of my life. Instead, I had just assumed that "human intelligence" put everyone at roughly the same place.  It made differences of opinion very difficult for me to grapple with.  I would go over something with a friend, they wouldn't get it, and I'd keep at it again & again under the assumption that eventually, they would catch on.  Ugh.

Sometimes people are just broken from their own personal history, or they're indoctrinated into a way of thinking and cannot see it.  It is very useful to recognize such issues and route around the damage.

The first time I realized that I could write off the opinion of a someone who had consistently voted in ways that had terrible, terrible results, it was incredibly liberating.  Why am I taking advice from someone so reliably wrong?  Why are they lecturing me?  I broadened it out to politics in general.  Why am I listening to the group that screwed things up?  Don't I have any discernment?  Can't I evaluate someone's position and decide it's foolish?  And if they advocate such foolish positions regularly, can't I write off the person as a fool?


Presidential election

I’m still surprised how many states are heavily in favor of the Republican party’s candidate.  To me, it’s like the party is saying, “Hey, we exhibited terrible leadership over the last 8 years, so elect us for better leadership.”  That just doesn’t make sense to me at all.

That's all I have to say on that topic for now.


I updated my Greasemonkey scripts for Firefox

Just a quick note.  If you use and you have my "Digg Done That" or "Digg Filter" scripts installed, they have been updated.  You can find the new versions here (newly updated scripts on top):

If it's wrong to love the vlog brothers, I don't want to be right!

I want to have John and Hank Green's babies.  What's that you say?  I'm a heterosexual male who is already happily married with kids?  Well, yes.  But John and Hank read books, and talk about politics while making Ze Frank peanut butter faces.  Seriously, why have I not had their babies yet?


This man has the same beliefs I do.

Personal responsibility, community support.  Reduce taxes by trimming the budget and reducing bureaucracy.  Restore our standing in the world.  Barack Obama.

It's time. I'm getting the Planescape tattoo.

For a long time, I've been impressed with the tattoos on Platter's Planescape site.  After years of wondering if I really want that tattoo, I've decided that waiting almost a decade to decide is probably long enough.  I do want it.  I've found a beautiful version of the artwork, here:

The nature of a man by ~isilien on deviantART


Dungeons & Dragons 3.t, revised bonus spells

This is my third homebrew rule revision to Dungeons & Dragons 3.5, which I'm calling the 3.t edition. Today's rule revision has little to do with speeding up gameplay, but has a lot to do with lengthening the game day.  In particular, we're addressing Vancian magic.  That's the form of magic that 3.x and earlier versions use -- basically, spellcasters can use a limited array of spells per day, and then they're wiped out and need to rest.  That's a very different model from Diablo, for example, where your character can shoot fireballs all day, so long as he has mana.

The problem with the Vancian system is that it engenders the "15 minute work day" -- that is to say that clerics, wizards, and the like seem to blow through their spells after just a few combats, causing the group to go rest after less than a hour in the game world.  Dungeons & Dragons 4th edition has a solution for this, which is pretty close to just abandoning the Vancian magic system.  I personally wanted to do something much simpler with the 3.5 rules.  I was thinking, could I address the issue by changing just one single table in the Player's Handbook?

Let me show you the revised table, and then I'll explain why it's awesome.


Randy Pausch

Carnegie Mellon Professor Randy Pausch recently gave a presentation titled, "Achieving Your Childhood Dreams."  What makes the presentation amazing (aside from how entertaining it is) is that this is a man who was staring down cancer.  He knew it when he gave the presentation.  Yet it is amazingly hopeful.

He was a geek, like me.  He loved video games and learning through fun.  He loved his family.  He has a thousand stories about the people he's met.  And he passed away today, July 25th, 2008.  You should watch the video.

"I mean, the metaphor I've used is... somebody's going to push my family off a cliff pretty soon, and I won't be there to catch them.  And that breaks my heart.  But I have some time to sew some nets to cushion the fall.  So, I can curl up in a ball and cry, or I can get to work on the nets."

Randy Pausch (Oct. 23, 1960 - July 25, 2008)

Dungeons & Dragons 3.t, critical hits streamlined

As in my previous entry about the 3.t system, I'm trying to make D&D 3.5 play faster.  Today's rule revision has to do with critical hits.  Right now in 3.5, each weapon has a "threat range" such as 19-20, which means that if you roll a 19 or 20 on a 20-sided die, you are maybe going to do critical damage.  To determine if you actually do get critical damage, you roll again.  That's a bit convoluted.

The problem?  To fix this, we cannot just drop the confirmation roll and say "all critical threats are automatically confirmed."  If we do that, then crits will happen much more often and low-level characters will die more often.  But if we reduce the damage of the weapons, then we can keep all those crits.  That should speed up gameplay without changing the numbers (much), because there is no more rolling to confirm crits.  They just happen.  It should be more enjoyable for the players, too -- their weapons might do a tiny bit less damage each hit, but they will do critical hits often.  So what we're about to do will keep damage roughly the same, but remove an extra dice roll.  Ready?

Critical hits

  1. Drop every weapon's damage to the next smaller die.  1d12 becomes 1d10, 1d10 becomes 1d8, 1d8 becomes 1d6, 1d6 becomes 1d4, 1d4 becomes 1d3, and 1d3 becomes 1d2.  Now, there is a tricky part here, for weapons that do two dice worth of damage per hit: 2d6 becomes 1d10, and 2d4 becomes 1d6.
  2. All critical threats are automatically confirmed.  Done.


Dungeons & Dragons 3.t, turning rules streamlined

For a while now, I've been mulling over what I would do to make D&D 3.5 play faster, like 4th edition promised.  Of course, the joke is that 4th edition can be even slower than 3.5, due to all the new movement rules.  But I don't have to worry about that.  I just want to take the best elements, and graft them onto the 3.5 rules with a minimum of fuss.

I'm calling my revisions 3.t, as in 3.tony, because I'm the one to blame if the revisions suck or work well.  The criteria for "sucks" would be if a rule change requires large rewrites, or breaks lots of other rules.  The criteria for "works well" would be if a rule change speeds up gameplay but has little effect otherwise.  So if a typical combat takes 90 minutes to resolve normally, with my rules I hope that you can resolve combat in an hour or less.


First up for revision is the cleric system for turning undead.  We merely drop the turn check roll, and replace it with cleric level + charisma bonus + knowledge religion synergy (if the character has it).  The turn damage roll would remain.  So the steps are as follows:

  1. Roll the turn damage as usual (2d6 + cleric level + charisma).
  2. Cap the highest hit die undead that can be turned at: cleric level + charisma modifier + knowledge religion synergy (if any).

Let's consider the example of a 2nd level cleric with 14 charisma and no points in the knowledge religion skill.  If the cleric rolled a 4, he'd have an 8 for step 1 (4 + 2 for level, +2 for charisma).  Then for step 2 the cap would be set at 2 + 2 + 0 (no synergy bonus), or 4 total.  Therefore, the cleric could turn two 4 HD undead (8 total, capped at 4 HD).  But he/she could not turn one 8 HD undead, due to the per-monster cap.

This is almost exactly the same as turn undead following RAW, but removes one roll and replaces it with a reasonably fair, typically unchanging number.  Should be easier for players to follow and execute quickly.

I'll group all my articles about rules revision under the 3.t tag, should you wish to see what else I have for it.

Reggie to the Wii: "I brought you into this world, and I can take you out!"

There's a discussion happening over at the RPG Codex about the Nintendo Wii and the terrible, terrible showing that Reggie Fils-Aimé (Nintendo's president) gave at this year's E3 gaming conference.  Reggie has gone from revolutionary to nanny in just four years.

I've owned a Wii since day one.  I've put probably a thousand dollars into the console, games, and controllers.  But I'm thinking hard about things, and so I want to share with you what I posted over at the RPG Codex.


Pan's Labyrinth

Image of Ofelia embracing the fawn.

I just finished watching Pan's Labyrinth, by director Guillermo del Toro.  I understand now why he received a 20-minute standing ovation at the Cannes Film Festival.

I decided to watch the movie because I had heard that Guillermo del Toro will be directing the new Lord of the Rings movies (The Hobbit, and an in-between movie to bridge the 50 year gap between The Hobbit & The Fellowship of the Ring).  The only other movie I had seen from this director was the movie Hellboy, which I hated.  So to be honest, I've been nervous that my favorite movie trilogy was about to be ruined with cheesy add-ons.

Having seen Pan's Labyrinth, I'm no longer worried.  I may do a full review of the movie later, or I may not.  But I know this is a man who can tell a story, and do a spellbinding job of it.  I wish him all the luck in the world.

Who is dangerous to America?

Below is a quote from a post at Slashdot.  The discussion had veered into a debate about terrorism and the responsibility of Congress & the President versus the voting public.  What do you think?  Is he right?  Is he wrong?  Have we come to the point in our politics where placing blame on voters, even if difficult, is necessary?

Anyone who would vote for Bush Jr. twice is wilfully ignorant.

Anyone who supports perpetual budget defecits we're going to leave to our grandkids to pay back is wilfully ignorant.

Anyone who supports tax cuts and rebate cheques while we're 500 billion overdrawn every year is wilfully ignorant.

Anyone who supports war against relatively innocent nations, first on the basis of dishonest 9/11 rhetoric, then on dishonest WMD rhetoric, then on dishonest "He's a very bad man. Aren't you glad he's dead?" rhetoric, is wilfully ignorant.

Anyone who supports demolishing our freedoms in order to attack terrorists who supposedly hate us for our freedom is wilfully ignorant.

These wilfully ignorant people, they are supporting policies which are having a massive negative impact on the entire world and her people. Tens of thousands, maybe millions of people are dead because of the actions brought about by their wilful ignorance. More Americans are dead because of these ignorant policies than were killed on 9/11.

These people are my enemies.

Diablo: new saved game, druid

I was excited about the new Diablo 3, and I found myself playing a round of Diablo 2 for nostalgia's sake.  I played a druid, got him up to level 9 and finished the "find Cain" quest.  Importantly, I never allocated any skill points.  Would you like to load him up and allocate the skill points as you wish?  Feel free.  His name is Mogrin, and he's available for download on my Diablo 2 saved games page.

Open Source forum software that isn't phpBB?

So while I was working on getting back into phpBB development and updating all my mods to phpBB 3, I got a few doors shut in my face.  I was always a phpBB outsider, never submitting my mods to the official database.  However, I never felt closed out, until now.

So I've posted a story on Slashdot that hasn't hit the front page yet, and I could use your help getting it there.  The story should open up discussion of the best Open Source alternatives to phpBB.  Is it Phorum?  Is it FluxBB?  Is it something else?

Please, log into Slashdot and then view my story.  There is a +/- graphic embedded in the title, and if you hit that "+" icon you'll give my story a boost.  I'd really appreciate opening a dialogue with all of Slashdot.  It may give me insight into products I don't even know about yet.  Thanks!

The Blog Mod, version 1.0 (finally!)

I can't believe I did this.  I have revised The Blog Mod for phpBB 2.  It includes multiple bugfixes, new icons, and more.  I gave it a big version number increase, up to 1.0.0.  That's mostly due to the transfer of ownership, not because of some big overhaul of the code (although lots of bugfixes is nothing to sneeze at).  So, it only took six years to get to version 1!

I don't know why I revised it, as it is not for the new phpBB 3.  But I don't care.  It was fun.  If you still use the phpBB 2 system, now is your chance to get a nice stable blogging system in place for your members.  Check it out.

World Ambassador, Matt Harding

Thanks Matt, for helping to chip away at the cynicism I feel toward the world.

I'll offer a translation of the song's lyrics below the video.


My son, the enigma

About a year ago, we started giving the kids chores.  They were constantly complaining that they didn't have any money, and we were constantly unhappy with the state of our house, so we gave 'em lists of housework to do.  My daughter took to it okay.  She balked at some jobs which she felt were pretty gruesome and deserved more pay.  But overall, she liked earning money and did most jobs.  For my son, if it was family cleanup day he'd pitch in.  But if mom & dad were busy and he was left with a choice to play a video game or earn money cleaning the house, he'd play a video game.  Money didn't motivate him at all.

For the most part, we let that stand.  If he didn't want to earn money, he could miss out and that was fine.  However, there were some things on the list that were not optional, such as keeping their rooms clean.  When the rooms didn't get clean, I attached what I thought was a pretty serious consequence -- any toy not in its proper place gets thrown out.  Again, for my daughter, this was fairly effective.  Her room got mostly clean, and usually stayed that way.  But for my son, this was a wonderful negotiation.  "If I don't clean up, you throw these things away?"

I nodded somberly, "Yep."

"Okay," he replied.  And then he left his room a complete mess and went outside to play with the neighborhood kids instead.  Of course, I called his bluff.  I put a ton of his toys in a garbage bag.  Only it turns out he wasn't bluffing.  He saw the bag and shrugged it off.  It was almost as if this was a cost vs. benefit calculation for him -- the cost of a free afternoon was giving up some toys?  Yeah, worth it.  Done.  As a bonus, he got me to clean his room for him.

I did not see that one coming.

I'm Voting Republican!

Tony's Friendly Table Sorter

This is – I think – my first cup of awesomesauce, ever.  This code is beautiful.  I've had a lot of Open Source projects, yes.  But they were all done fast – in a weekend, when I could cram it in.  But this baby?  She's all curves.  Try clicking these table headers:

Title Version Publisher Money Created
Geeema 1.0.1 goop#5 $5 27 Feb 2008
Hello World! 1.0 tisad $5,000 21 Apr 2008
when? 1.0.3 illinois $5000.01 20 Feb 2008
en-us 1.0.1 #du $500.00 10 Apr 2008

Yeah. Want a cup? It's yours, for free.


How to tell if a Bondi iMac is Rev. A or Rev. B

Image of Bondi iMac, courtesy of Apple Computer, Inc.I was given an iMac recently, and decided to burn a little cash on upgrading it.  However, I had a problem.  I knew I had a Bondi iMac, but I couldn't tell if it was revision A or B.  They're both teal, they have the same form factor, and there are no visible markings to differentiate them.

It does make a difference when upgrading.  For example, the revision A iMac can only use up to 384 megs of RAM, while the revision B iMac can take 512 megs of RAM.

It has been nine years since the original iMac arrived on the scene, so my assumption was that this is a solved problem.  I'd hop online, search for a hint, and discover an easy way to tell the difference between them.  But no, it's not solved.  However, it turns out that it can be solved, pretty easily.


Dungeons & Dragons: 4th edition review

Over at Enworld, I posted a quick review of the 4th edition D&D Player's Handbook.  I wanted to put that here, as my "stake in the ground" about my feeling regarding 4th edition Dungeons and Dragons.  Here's my review.

The Player's Handbook is much better organized than the 3.5 edition book.  Everything makes sense.  Gameplay is better (as in, I can see how you could hustle it along with fewer pauses to consult the rules).  Having said that, wizards, warlocks, and even clerics are booooooorrrring. Fewer spells, and at least for clerics, their role as healer is much less interesting considering that everyone has healing surges (and yes, I did read that a cleric can trigger healing surges even after the other players hit their cap – I'm not suggesting that clerics are useless, merely that they no longer feel as special or interesting as before).


How to do photos for a MemoryFrame (model MF-8000)

This blog entry really isn't for most of the world.  But I have some family members that have started uploading digital photos to a MemoryFrame, and so I'd like to outline some tips.

1. The MemoryFrame skews yellow and bright

The MemoryFrame doesn't have color fidelity on par with a typical computer monitor.  I've had two copies of the MF-8000, and both tend to add a touch of yellow.  Check it out:

shot 1 of MemoryFrame image versus laptop display of same image


Movable Type Plugin: MTAgain

What is MTAgain?  Why do we need it?

MTAgain provides looping to Movable Type.  For example, say you want to list not only the previous blog entry, but the one before that and the one before that.  MTAgain lets you do that.  Essentially, what it can do is put a tag like MTEntryPrevious inside itself, and it can do that thousands of times if you're crazy enough to try it.

The MTAgain plugin for Movable Type is not my own creation.  Someone named Lummox JR wrote it years ago, and then disappeared.  In fact, I couldn't find his original plugin anywhere – even the Web Archive didn't have copies of his long-gone Web site!

What I did find was an article that mentioned the plugin and, when readers complained that the plugin didn't exist anymore, offered the code.  However, they never offered an instruction manual.  With the author's site gone and the manual missing, I had to do some sleuthing.  In particular, I couldn't really guess what the "any" feature did.  But I found an old forum post, learned the code, revised and expanded it, and now I offer it to you with a useful new feature.


Movable Type plugin: Gravatars

Gravatar, identicon Gravatar, monsterid Gravatar, wavatar

I recently saw a few blogs that had photos by the author of each comment.  I thought, "Wow, those blogs must be very popular if people are willing to upload photos!"  But then I saw the same dude with the same photo on a couple different blogs, and the blogs were smaller than mine.  So I started looking into it, and I learned about  That Web site allows you to associate a photo or icon with your email address, so that no matter where you post, your photo goes with you.

Of course, you wouldn't sign up if you want privacy.  But lots of people are signing up, and I want to show the icons they're using.  So I found an old Movable Type plugin from 2003 that does the job.  But it does it badly – it has a feature that no longer works (the border option), and it doesn't use any of the newer plugin features.  So I've revised it to use the newer Gravatar URL format as well as use the MT plugin interface.  However, I haven't revised it to work with MT 4.  No.  Instead, I've revised it for MT 3.

Why revise for MT 3?  Well, there are a lot of us still using it.  I won't be onto MT 4 for another 6 months or so.  But I want Gravatars now.  So here we go.


You're a great man, Joseph Richardson

Joseph Richardson's photo

I hope that when my time comes, I can be half the man you were.

New Greasemonkey script: Slashdot nuzak CSS

I created a script that is hosted over at  It's called Slashdot nuzak CSS.  It modifies the appearance of so that it doesn't look as clunky.  It thins out the big fat box drawn around each comment, it makes the "reply" buttons look a little more stylish, and so on.  It's not a big overhaul, but it's a nice little cleanup project.

Thanks to Slashdot member nuzak for coming up with most of the CSS that is used.


Greasemonkey: PHP multi-byte string warnings

Just a quick note to say that I released a new Greasemonkey script.  It adds a warning box of text to any manual page that features a function that is dangerous to multi-byte strings.  I'm sorry, you want that in English?  OK.  Have you ever posted something to a Web site and found that characters were missing or truncated or there were lots of question marks or boxes where letters should have been?  Usually that's because the person running the site doesn't understand how letters work at a programming-language level.  They think everyone on Earth is using an English keyboard with the letters A-Z.  When they get data that isn't A-Z, their Web site programs don't know what to do with the data, and they mangle it.

It turns out most people don't use just the A-Z characters, even people who write in English.  Lots of people want to use the Euro symbol, for example.  That isn't a "normal" letter, and so lots of Web sites just mangle it.  Part of the problem is the programming language used on these Web sites.  In particular, the PHP language has two main "modes" for handling characters.  The first, and the default, is basically to treat everything like ASCII.  ASCII is the A-Z standard.  Unfortunately, that severely damages the text that people type nowadays.  So PHP has a second major mode of operation, and that is to set itself to UTF-8.  UTF-8 includes lots and lots of characters, and it's backwards compatible with ASCII.  So pretty much every Web geek should use it. 

The problem?  The online PHP manual doesn't offer much of a warning any time you look up one of the old, bad ASCII functions.  I personally replaced some old, bad code with... you guessed it... more old bad code.  Why?  Because I looked up replacement functions and found what I thought would work, only to realize that the replacement functions were also bad and came with NO disclaimer!  And that leads us to my Greasemonkey script.  This script will add disclaimers to, on any page containing a bad old function.  If possible it will also tell you a better way to do what you want to do.  It's basically code help for PHP developers.

You can get the script on  Please install it and then view some of these pages to see the disclaimers it adds:

Barack Obama, Jeremiah Wright

Greasemonkey script: Digg Done That

In the blog comments for my other Greasemonkey script, Alex requested that I create a script that would allow him to mark Digg stores as "read."  Doing this would make the story disappear, so that the only stories showing on the page would be the ones still unread.  It took months for me to find some free time, but I finally made the script.  Here's a screenshot of what it adds to stories:

screenshot of Digg Done That in action


The National Debt for the USA, by year

I don't remember where I found this – maybe on Digg? In any case, it's a very interesting image that shows how much debt was incurred by the USA, every year. The image is a link that leads to a larger, more readable version.

small image of national debt, by president

That certainly puts things in a different light for me.

Updated The Blog Mod for phpBB 2.x

Since the people who maintain The Blog Mod dropped off the face of the Earth, I've found all the stuff I could from my backups, and I've put it online for whoever needs it.  This includes:

  • The Blog Mod itself (my .24b version, which was the latest)
  • The patches
  • The templates

Interested?  Link in the sidebar, under the software section.  Or just jump there directly.

The horrors of tanning spray!

Ha ha ha ha ha ha!

photo of kids with hilariously bad tans

Check out more of these uh... (cough cough) very cool guys!

Is love a feeling or a commitment?

Imagine my surprise a while ago when I was reading a discussion about the Lord of the Rings books, and suddenly the topic veered into the nature of love and marital fidelity (give it a minute to load before you start scrolling around that page, because it should jump to about halfway down automatically).  I think it's quite awesome to read that post and the two replies underneath it, because in my opinion it illuminates the stark contrast in thinking between people who will succeed at marriage, and those who will fail.


Who's the comedian?

I like this photo a lot.  I hope the kid didn't get into too much trouble.

photo of a wise ass

The photo links to the site where I originally found the image.  The site has some other good photos, plus this photo at a larger size.

My favorite poetry discussion

I was doing some ego surfing just now and I stumbled across this old forum thread about poetry by yours truly.  The real discussion continues for about 3 pages after my inital post (as linked).  It's a very old thread, so don't register on that site & post replies or anything.  But I am proud of the nuanced conversation we had about what poetry is, what kind of standards it needs to maintain, and how subjective the whole process should be.

Top 5 cool things in Platter's Planescape: Torment pages

Planescape: Torment is probably the best role-playing game ever made.  Don't let the word "torment" throw you off – at its core, this a bittersweet game about regret and forgiveness.

Annah in green

Platter was a guy who hacked Planescape: Torment (in a good way).  He fixed bugs, stabilized the gameplay, and so on.  Unfortunately, he dropped off the Internet in 2007, and his Web site was lost.  As I was going through an old backup, I found a copy of his entire Web site, which I recently put back online.  Now that I've gone through it, I want to share with you the 5 coolest things I've found.


Finally, I have to leave this here.

For roughly two months, I have kept a tab open in my Firefox Web browser.  It contains one of the saddest Web pages I have ever seen.  I do not mean that the code or design or CSS is wonky.  I mean that it displays a heartbreaking image from a photo journalism contest.  The photo breaks me down into tears every time I glance at it.  I haven't been able to close the tab.  I shut down Firefox, but when it starts back up the next day, it reloads the tabs.  Every time, this image of this boy is there.  This broken, six year-old boy who looks so much like my own six year-old boy.  And every time I see it, I cannot stop thinking of the cruelty of this life, the fact that we have been robbed of life that never had a chance to flourish.

I need to make peace with the photograph.  I need to find some way to resolve my feelings about it.  The only thing I can think to do is to link to the photograph, to make this the funeral for everything wrong with the image that I cannot get out of my head.  And after I make this post, I will close the tab, and then I will go and kiss my son as he sleeps, and I will thank God that he is still with me.

I thought this was funny. Or sad.

It's a photo of the San Francisco Golden Gate bridge.



Getting back to healthy, weekend 11

I lost nothing this week!  My photos look better, though.


Why is one belief better than the other?

So, over at RPG Watch forums, there is this interesting discussion titled, "Why is one belief better than the other?" What's interesting (aside from the fact that it's taking place on a gaming forum) is that it hasn't sunk down into a religious war. There are cool conversations happening. And I made a post that I wanted to reprint here in its entirety. The discussion centered around a woman who believes that God is responsible for everything in life – her grades, her jobs, her success, her failure. She could control none of it. I likened that to Calvinism (predestination).

And then I told an interesting story. Maybe. You can judge for yourself, but first let me give you one piece of info.  There is an allusion to a game that you need to know about in order for some of this to make sense.  The game involves a character called Vhalior.  He is a suit of armor with nothing inside except pure will to do justice.  And at a certain point in the game, the main character (called "The Nameless One" or TNO for short) has the ability to cause Vhalior to disappear in a puff of logic, the armor clanking to the floor.  How this happens isn't the point here.  The point is merely this: what happens when we follow our own logic about existence and discover that we don't need to exist?

Here is the post, in full:


Originally Posted by Corwin
Aboyd, you have over simplified the tenets of Calvinism a trifle there.

I'm not sure I did, since I mostly just linked to discussion about it. People can learn for themselves about it and "see how deep the rabbit hole goes." But if you're referring to my act of tying Calvinism to this woman's viewpoint that "God does everything," perhaps you might allow that I was trying to be charitable with someone I don't know?

Originally Posted by Corwin
I subscribe to SOME of his ideas (certainly not all ), but PB's friend is taking an EXTREME position and I don't like any form of extremism. Actually, I think most extremism is escapism!! These people are trying to escape, primarily from any sense of responsibility, for their life, their actions, and their relationships!!

Let's assume – since we don't really know – that she is not trying to escape responsibility and self-examination. Instead, let's just say she has a framework for trying to make sense of her life. If something awful happens, what does that mean? How can she go on if at a personal level she has seen horrible failure, and at a global level she has seen genocide and "acts of God" that utterly decimate entire populations? There are some pretty cruel things to deal with out there, and I don't blame a person for saying, "maybe God's masterplan is at work here and all this horror will ultimately lead to something good."

If it keeps someone from killing themselves and remaining able to contribute something good, then I'm not going to blame.

A few years ago I overheard a girl chatting with a friend at the Barnes & Noble in my area. It was rude to listen, but the conversation was like tip-toeing across a razor blade. It was clear the "friend" was going to easily direct this person into living a full life, or killing herself that night. The girl had become an atheist, and the more she delved into it, the less hope she had. What was the point? You do good, you die, and nothing comes of it? You fight for starving people and charity, and make barely a dent, and then a government kills half the population and buries them in mass graves? She just started thinking about the whole "no consequences no reward" issue that comes up when you think that life on Earth ends with nothing more. We're just basically a virus on a rock in a big black nothingness. And eventually the whole universe will collapse back in upon itself or will disperse into cold oblivion, making everything here useless.

That was her thinking. As you can probably tell from my previous posts, I'd be fine with that thinking if it turned out to be true. I wouldn't mind that everything returns to nothingness. I wouldn't mind that everything we do is completely without any eternal impact or point. I would certainly lead a different life, though. However, for her, this was a crisis. To her it meant there was no reason to go on. She wasn't doing anything worthwhile and technically, she couldn't. The structure of her universe was built to null out everything.

To put it into game terms, she had become Vhalior and TNO at the same time. She was sitting there in tears, having followed the logic to its natural conclusion, and what it said about her life was so tragic that she was about to disappear from existence.

To be honest, I'm criminal enough that I didn't stick around. I didn't interrupt, didn't try to save her, but didn't try to urge her into oblivion, either. I figured fate, God, or something had put that person there, at her table. And whatever he ended up saying would either work, or not.

I almost thought it might be poetic that he could have said something profound, something life-changing, something that sent this woman's life onto an awe-inspiring trajectory... and that no one but her would have been there to hear it. It's their secret.

And so we come full circle. We don't know what secrets this friend of purpleblob has. We don't know what went on in her head. We don't know what bargains she has made with God or herself. Maybe she is just escaping blame and responsibility. Or maybe she is fully in love with God and everything she says is just an act of worshiping Him. Or maybe she gave it years of thought and would shock purplebob with her depth of insight if he were to bring up Calvin. Whatever the case, these things have a way of working themselves out.

Originally Posted by Corwin
The tenet of Free Will is fundamental to Christian thought and belief (and I believe to the most of the Jews and Muslims, but I could be in error there ). The relationship between free will and God's will is not something I have time to explore here, but suffice to say God is not a puppet master directing every aspect of your life. For me, He's more a loving father wanting me to be the best I can be!! PB's friend has a very distorted view of God IMO!!

Ah. I agree that Free Will is Teh Win. I'm not sure I can make pronouncements about the nature of God, though. Your idea that God is a loving father is interesting, and Biblical. It's too bad that you don't have time to explore it here, as I suspect that's probably the kind of thing the original poster was looking for.

Of course, I would stand on the sidelines, and toss out questions that undermine the entire concept. So maybe it's best not to discuss. These are, after all, the things that get me kicked out of every church I've ever attended.

Getting back to healthy, weekend 10

This is odd.  I lost weight this week, but in my photos I look fatter.  What's up with that?


Wow. Just.... wow.

From the comments over at Cliff Schecter's site:

My large (90+) extended family are mostly poor white East Texas evangelicals. And they love, love love Bush. They would make him president for life if they could. At a recent family holiday get together, one uncle actually suggested this and there were knowing nods all around and even and amen or two. Crazy thing is that my family is mostly rural poor and they have really suffered economic hardships under this administration. A number are having trouble putting food on the table and a few have lost their homes. Yet they just don't make the connection. One aunt who lost her job in Nov when the company shut down blames Bill Clinton for her current situation!

I've tried to point out that SEVEN years ago with Bill was prez, no one in the family was on food stamps. But they just can't make that connection.

Wow.  I just don't understand my own country.  I know it's wrong to make judgments – and I know that when you do, you invoke the wrath of those who dislike your opinion.  Having said that, I think it is important for intelligent, thinking people to have some discernment.  And in this case, I think you can safely navigate toward the exit door and then flee from the crazy people in the room.

Alias, the TV show

I finally managed to put together a succinct explanation of why I disliked the Alias TV show so much.  Beware, spoilers ahead.


Getting back to healthy, weekend 9

Holy holiday luck!  I lost weight, but by everything that is good and righteous, I should have gained weight.  I ate terribly and failed to work out.  I have to admit that the only thing that kept my weight down is that I have been relentlessly sick for the past two days (apologies to all my family members who read this and realize that I had a holiday dinner with them while I was probably contagious).  Well, let's get to the photos.



Fall From GraceHi friends.  This is just a quick note to mention that I have put up an archive of Platter's Planescape Torment site.  His site was the premier place for info on the Planescape video game, but it has been offline for quite a while now.  I managed to salvage everything (I think) except the forum posts.  All the wallpapers, mods, patches, and so on are available and working fine.

The parts I managed to save include the main Torment Fix Pack v1.37 pages, the "miscellaneous crap" pages (which were not crap, as they contained all the cool tidbits from the developers, along with all the tattoos), and the archive of the offical site (including the St. Patrick's day mod among other things).  The only link not working should be the link to the forums.  Let me know if you find any other problems.

Platter, if you're out there and get your site back online, let me know so I can remove my copy.  I can give you all the files I saved, if you've lost your originals.

Getting back to healthy, weekend 8

Merry Christmas!  I lost weight!


Getting back to healthy, weekend 7

Talk about cutting it close!  I almost gained weight this week!  In fact, on Thursday, I was at 191 pounds, 3+ pounds higher than last week.  But I kept working out, and tried really hard to eat well, and by Sunday night, I had good news.  Let's get into it.


MTOS has a licensing problem, right out of the gate!

MTOS, or Movable Type Open Source, has been released under the GPL license.  I have in fact downloaded the newest release, and inspected the GPL license myself.  It's there, it's real, they can't withdraw it now.  And that's all good.  But there is another license mentioned in the product itself.  Frankly, the licenses are at odds.  Take a look at the screen shot.


Getting back to healthy, weekend 6

I am surprised that I lost weight this week.  I indulged in a few treats; I only had a couple salads and otherwise ate big meaty, bready meals; and I skipped exercise a couple of times.  But I did do more work with weights for my arms, so perhaps that helped.  Here's how it played out.


Getting back to healthy, weekend 5

Chalk this up to brute force overpowering gluttony!  I lost weight, but I also fell back into my old bad eating habits (a little).  How'd I lose weight?  Extra workouts!  Let's take a look at the photos.


Getting back to healthy, weekend 4

The Thanksgiving surprise!  You would think the holidays would have killed any chances of me losing weight, but I lost weight anyway.  At one point during the week, I was down a lot!  However, by the time I weighed myself on Sunday night, my loss was less spectacular.  So let's get these photos over with.  :)


Getting back to healthy, weekend 3

Week 3, the big disappointment!  My ongoing experiment to lose weight just as John Stone did takes a turn for the worse.  Watch out, these photos will hurt your eyes.


Getting back to healthy, weekend 2

OK, it's not really the weekend anymore.  It's Monday night as I write this.  But I weighed myself yesterday, and I got the photos done tonight, so let's get this thing done.


Getting back to healthy, weekend 1

A long while ago, I saw the John Stone Fitness photos.  Back when I first saw the photos, he had only been working out for a year, and at that point, I really liked the results.  Nowadays, his recent photos are scary... it looks like he's on steroids.  But the point is, at the time I saw the photos, I felt that it was hugely motivational to post monthly photos of his progress towards getting healthy.

Well, this past week, I finally had to take a day off from work and just sleep for hours and hours.  I was exhausted.  I wasn't eating right.  I took in too much sugar, and I relied on multiple Pepsi breaks to caffinate me to keep me going.  It was necessary to some degree – I had just started a new job at a big Internet company, and I intended to learn a lot, stay focused, and become a better Web Developer.  And I truly am a better developer, after just a few months on the job.  But now that I've made progress on that front, it's time to make progress on the health front too.

So, I'm going to start posting photos of myself, just as John Stone did.  But I'm going to post them every weekend, and I'll do my best to get fit without turning into a "jock on 'roids" – which is what one person called John.  Also, I have my own weight loss secret to reveal, so let's get to it.


Greasemonkey Digg Filter

Screenshot of Digg Filter in action

Looking at the image kicking off this article, you might not even understand what you're seeing.  At least, I hope so.  I tried to integrate it well.  So what are you seeing?  The image is a screen capture of the logo area of the Digg home page... but there's something added – a keyword filter, to the right of the logo.

What's a keyword filter?

In this case, it kills articles for you, on the Digg site.  For example, say you wanted to see political articles, but you just couldn't stand one of the candidates running for office.  OK.  Enter that candidate's name into the filter text area, and click the filter button.  Now you'll see all the news except for items about that one candidate.  You can enter a lot of keywords, each one separated by a comma.


Diablo 2 Barbarian

Just a quick note, my kids & I played Diablo 2 over the weekend, and there's a new barbarian added to the Diablo 2 saved games section of this site.  You can link to it from the left-hand navigation.

He's a good barbarian, named Mox (short for moxie), and he's a nice starter character.  He's level 8 (if I recall correctly) and I never assigned his stats or skills, so he's got a buildup of 35 or so points that you can dump into his stats.  Have fun!

Fixing the City of Palo Alto site

Over the weekend, I spent a little time to fix up the Web site for the City of Palo Alto.  But they didn't hire me.  You see, they just released a huge new redesigned site a few weeks ago, and it has most residents in an uproar.  And a lot of the problems revolve around usability – tiny fonts, dim colors, etc.  This is stuff that can be changed with a good browser, even if the site owner doesn't want to fix it himself.  So when I saw that fixes did not manifest after a lengthy wait, I thought I'd see what fixes I could impose.  Here's an example of a change:



(I tried to make links easier to use all-around.  Many links were dull green in tiny text, and now they are bigger and brighter.  In this particular case, I've added PDF icons where appropriate.)

So how'd I do this, if they didn't hire me?  Did I hack into their site?  Should I be arrested?


Review of Harry Potter and the Deathly Hallows

Back in 2005, when I started a topic on predictions for the seventh and final Harry Potter book, I had no idea that the predictions would be so accurate.  If you used that link without reading the whole sentence and comprehending that the predictions were accurate, you've probably just spoiled the book for yourself.  I'm not apologizing.  But for those still reading, I am going to provide a review.


Harry Potter: The Order of the Phoenix

I took my kids to see the new Harry Potter movie today.  Not more than 3 or 4 minutes into it, my daughter turned to me and said, "This is not like the other Potter movies."  And that was an understatement.  Here's my review.


My wife's site is online!

After years of postgraduate schooling, my wife finally got her Psy.D. in Clinical Psychology (it's the equivalent of a Ph.D. with the exception that the final paper is not as massive).  For the past two years, she has been interning at the Christian Counseling Center.  We just put up her first try at a Web site for her practice.  It's not awe-inspiring, but it's nice considering she did most of it with Nvu, and relied upon me only to help with the CSS and background graphic.

If you live in Northern California and are in need of counseling, do yourself a favor and visit San Jose Psychology.  She offers a free initial phone consultation, so check it out.

Giving Movable Type WYSIWYG Editing

If you use Movable Type, you've probably gotten used to the bare-bones text entry field.  And you're probably used to entering raw HTML tags into your blog posts.  Kinda sucky, no?

Or, possibly, you've gotten used to paying for enhancements.  There are ways to pretty up the text entry fields, they just cost money.  But I'm going to show you how to get a free GUI for WYSIWYG editing.  Yes, this will make blogging with Movable Type a lot more like typing out a nicely formatted Word document.  No arcane tags to learn.

Here is a small screenshot of what you'll have when the project is done.  You can click it for a larger version, if you're curious.

Screenshot of WYSIWYG editor.

Yes, you can work with images right in the text entry field.  That's how I added the screenshot.  Adding italics or other formatting involves no tags for you, just buttons.  Ready to modify your Movable Type system?  Let's do it!


GreaseMonkey script for Digg friends stuff

So almost immediately after posting my previous GreaseMonkey script, I was reading some Digg comments and noticed someone asking for some new user preferences on Digg – in particular, he wanted Digg to turn off all the alerts and boxes for the friends list.  I thought it was overkill to depend upon Digg for that, when a simple JavaScript would change it.  However, as with my previous script, it wasn't as easy as I expected.


GreaseMonkey script for Bioware forums

I wanted to do a little bit of JavaScript work, and I figured that creating my first GreaseMonkey script would be an ideal way to do it.  Even more, I figured a simple one-liner would be an easy start.  Ha ha on me.  I was wrong.

What I wanted to do was to stop the Bioware forums from setting the focus on the login field.  Because they do that, I cannot scroll with the mouse wheel.  It is very annoying to have to click outside of the login box on every single page that I read.  So I figured I'd just use the JavaScript blur() to stop the page from being lame, right?  Wrong.


Some lolcatz 4 u

If you don't know what lolcatz are, you can look up the Wikipedia article, or visit i can has cheezburger?  As an English geek, I am fascinated by the rules of this language – it is broken English, but it has rules about how to break it properly.  I am not sure I have mastered the breakage yet.  But I'm trying!

Anyway, the point of this post is that I found the LolCat Builder, and decided to try my hand at a few.  Fun way to spend Caturday morning.  :)  Here are my images.


Custom Profile Fields 1.2.1 for phpBB

Not much to this post, just wanted to alert everyone to my new release of Custom Profile Fields.  Yay for bugfixes.  :)


Digg blowout: whiney kids or something more?

You may have heard about the huge commotion over at Digg a few days ago.  People have termed it online "civil disobedience" and the first "digital Boston Tea Party."  But mostly people have been calling the Digg readers "little boys."  In fact, the group making that charge the loudest is Digg's own userbase.

And after reading Fred von Lohmann's overview of legalities of the issue over at EFF, you might wonder if these "boys" at Digg have any idea at all what a legal mess they're getting into.  If the law is not on their side, what in the world were they thinking?

Personally, while I'm sure a lot of juveniles were indeed acting their age, I'm not certain that's the full story.  So I would like to submit a counterclaim.


Graphics for Geeks

So I came across a color set today that is surprisingly pretty.  I decided that I would put together some graphics that use the colors.  And I am distributing these graphics to others, to use on their own sites.


Graphics for Gravel

Mike Gravel is a passionate speaker, running for the 2008 Democratic Presidential ticket. I've not yet decided who to vote for, but I feel that it's a travesty to exclude him from the debates. I'm also surprised to find that there are very few graphics or buttons available for his fans & voters to use. So I've done three things to remedy this. Read on.


Reign Over Me, Reviewed

My wife and I recently saw the movie Reign Over Me, starring Adam Sandler and Don Cheadle.  It's a drama about two college roommates who reconnect years later, during a chance meeting.  Both men have become fathers, although Sandler's character lost his wife and daughters in a plane on 9/11, and he never got over it.  He's completely broken.

I'll tell you right up front that I liked this movie.  If you want to know why, read on.


Aaaand I'm in the market for jobs!

Hey family & friends, I just wanted to make a quick announcement.  I've wrapped up my contract job, and I've decided to seek full-time employment.  No more contracts for now.  So put me in touch with companies near San Jose, California.  I'm an Open Source developer, lots of experience with PHP and some Perl.  Basically, the LAMP stack is right up my alley.

I'm pretty sure somebody will want to hire a developer who has been building sites for 13 years.  Not many people have more experience than that, because much earlier than that, the Web didn't exist!  Got a lead for me?  My resume is online.  Contact me.

Doing MySQL's GROUP_CONCAT with PHP code

I was working on a client's project yesterday, and came across a sad discovery – their server uses MySQL 4.0.  I only noticed because I was trying to use the GROUP_CONCAT feature, which it turns out is only in MySQL 4.1 and above.  Bummed, I set about blowing 2 hours recreating the feature in PHP.  Having done that, I thought I'd save my fellow geeks some time.  Here's a quick tutorial, with code.


Shooter, reviewed

A friend invited me to see Shooter yesterday.  It earned some very mixed feelings from me.

On the good side, the shooting was interesting.  There was a lot of talk about shooting from a mile away, and the difficulties with accuracy at that range.  I found it fascinating.

Also good were the multiple preparation scenes.  By that I mean, when the main character (Bob Lee Swagger – played by Mark Wahlberg) needed to do something extraordinary, the movie went out of its way to show you how he did it.  We had multiple shopping scenes, where he'd buy everyday products and combine them to make a medical kit, a pipe bomb, or other goodies.  And we had multiple scenes of him scoping out an area – researching to see what he was getting into.  This helped me immensely, so that when the movie ended, I found myself thinking, "maybe he really could beat 25 soldiers, he sure planned it out carefully enough."

It was a different vibe from movies like the James Bond films.  In those movies, Bond can spontaneously win any attack, getting out of every bad situation through sheer luck.  But in Shooter, Bob Lee Swagger survives by having friends who snipe bad guys, by planting land mines, and by holding off combat until he's assessed the situation.  Nice.

But now, let's look at the bad side of the movie.


phpBB RSS Mods

As I was importing my old content into the new site design, I found this article under the "software" section.  It didn't seem right there, as it's not a software product.  It's a comparison chart of phpBB RSS mods.  So I decided to give it a second life as a blog entry.  But before we get into it, a disclaimer.  This article is getting "published" on March 7, 2007, but I actually wrote it in 2006.  So it's possible that some things have changed.  If so, I'll rely on your comments to set things straight.

Onward.  Basically, all these RSS mods enable you to turn forum posts into feeds for syndication.  I wanted to do that (syndicate some content), but I wasn't sure which mod was best.  So I created this chart.  I settled on RSS Feed 2.2.4, but then I released some mods of my own to make it stronger.  You can find my RSS Feed mods on my phpBB mini mods page.  In particular, you'll want to try "Trim RSS Mod Posts" if you want your feed to contain snippets instead of the whole post.  And you'll want to try "Autodiscovery Plus" to enhance the XML features.

If you don't think RSS Feed is for you, check out the other two.  They also have some strengths.  Here is the chart.


Let's Get It Started!

It took longer than expected, but I have finally torn down and rebuilt almost my entire site.  I have this new blog, and a content management system for all the other pages – things are looking good!

There are a few things still undone.  The contact form isn't working yet.  And my RSS comparison article is M.I.A. for a little while longer.

But you don't care about that!  You just want to know what you can do here.  So, simply put, use the navigation links to check out my software products (mostly for use with phpBB forums) as well as other goodies.

I've been writing for other sites for so long, it's probably time I set up my own soapbox.  Hopefully this is the first of many good entries here at  Thanks for stopping by!