Welcome to jmadigan.net v3.0

Hello, and welcome to the third redesign of jmadigan.net. I’ve been meaning to convert the site’s content management system from Movable Type to WordPress for some time now, but never hit the annoyance or motivation levels necessary to do it. This changed recently, though when the site pretty much just stopped working. I would write a post and tell the blog “Hey, here you go, post this,” at which point the blog would do the computer equivalent of staring off into space and pretending that it couldn’t see me. So I gutted it.

I wish I had done it a lot sooner. WordPress is an orders of magnitude better system, and the installation and importation of my 1,289 posts, 2,005 comments, over 14,000 files (including several hundred photographs) was a snap. After tweaking the CSS files a bit to achieve the green and orange color palate, I’m back in business.

Good stuff about the new system and site:

  • It works and I can post new articles and comments without having the server time out. This is somewhat important.
  • It’s super easy to create photo galleries and I don’t have to manually create thumbnail images. WordPress does it for me.
  • You can browse photos for a given post in a cool overlay and go straight to other photos a by clicking next/prev links. Scroll down to the previous post on Halloween and try it.
  • Better comment spam protection and Gravatar images.
  • Easier to maintain my lists of read/saw/played media.
  • Clean design is cleaner.
  • Oh, yeah, the HTML and CSS is generally better and not broken on account of my having coded almost none of it.

    The one major downside to the move is substantial, though. All my links are broken. Like, ALL of them. This includes links from one blog post to others, and links to photographs. I’m pretty sure I could have solved all or some of this through some kind of httaccess redirects or some other wizardry, but you know what? Screw it. I’m just going to go back and fix each one of the posts that need it by hand. The ones with lots of photographs are mainly the ones that need it, and I want to redo those to get the new galleries anyway. I’m just going to do 5 or 10 entries per day.

    So anyway, enjoy the site. If you notice something in the archives that doesn’t look right, don’t worry. It’ll probably get fixed within a year.

My New Blog: The Psychology of Video Games

Over the last couple of weeks I’ve been working on a new blogging project for 2010. I thought that instead of doing more weekly reviews on books or movies, I’d tackle something bigger and honestly more interesting. Well interesting to me; not sure about you yet. I figure, I like psychology. And I like video games. Why not write about the psychology of video games?

So, perform clicking motions at this time to visit The Psychology of Video Games.

As I say on the “About” page, the articles on the site will use what I know of puny human psychology to answer three types of questions:

  1. Why do gamers do what they do?
  2. Why do those designing games do what they do?
  3. Why do those marketing and selling games do what they do?

I’ve already stocked the shelves with seven stories dealing with specific questions like:

So, please go check it out. If you find it remotely interesting, please consider subscribing to the RSS feed, leaving a comment, or sharing it on your favorite social media site like Twitter, Facebook, Digg, etc. And click on a few of the Google Adsense ads while you’re at it. I need to renew my Xbox Live Gold membership soon.

Goodbye ads, hello meta

You may have noticed that the Google Adsense ads are gone. Or maybe you didn’t because you people never clicked them, earning me literally pennies per day. On good days. Maybe you didn’t see them because you use Firefox with ad blockers that filter them out so that you don’t notice them much less click on them. I know that’s why I didn’t see them, so …right on!

At any rate, I think we can chock this up to a failed experiment and not really worth continuing. I actually don’t care, since my expectations were pretty much zero going in and opening the site to check it in Internet Explorer and then seeing a huge color ad for stuff by a raving lunatic like Anne Coulter pushed me over the edge.

To make use of some of the new real estate I added a couple of sections to the links bar over there on the right. One is kind of a “meta me” collection of links to my profiles on various services and Web 2.0 sites:

The other group of links go to places where I’m part of the online community:

Enjoy your clicking. It’s on the house now.

A surge in the war on spam

Just a quick note to say that I’ve implemented the Comment Challenge Plugin in an effort to stamp out what will hopefully be the last of the annoying comment spams by automated spambots. When you go to comment on a story you’ll see a new field asking you to type in a keyword to prove you’re human. Follow its advice, otherwise your comment will be trashed, verbally abused, dressed funny, and made to stay late after school. Also, it won’t be posted.

Don’t worry, though. It’s not one of those annoying things where you have to squint at a grainy image full of jumbled or squiggly letters and try to figure out if that’s a “j” or an “i” while your comment’s life hangs in the balance. It’s just a text field and the keyword won’t even change that often, if ever.

Thanks, by the way, to Todd for telling me about this plugin. Woot!

Photos page updated

The other day I realized that the Photos page hadn’t been updated for months and wasn’t pointing to a lot of my photography related content. It’s probably the case that nobody looks at that page, but since that kind of stuff keeps me awake at night I went ahead and I made a small adjustment. Now it breaks the content up into three buckets:

Better, but it kind of irks me that an index of my photography content contains so few pictures. But since updating that manually would be SO 1999 and SUCH a pain, I’m going to make it my weekend project to see if I can get it to automatically include my latest Flickr picture and a thumbnail image from my latest Photography related blog entry. Because, you know, I’m a tinkerer. I tinkle. Er, tinker. Tinker.

Pulling my hair out…

Gah, this is driving me crazy. For the last few weeks I’ve been noticing a series of (likely related) problems on this site. The most visible to readers is probably that when you try to leave a comment the page a) takes FOREVER to post the comment, like 30-60 seconds, and b) all too often resolves into a stoic “500 Internal Server Error” message. Usually it looks like the comment doesn’t even post, though if you refresh the page it’s there. This often leads to double postings or people just giving up on commenting entirely.

I’m having my own problems on the admin side. The Movable Type interface has gotten really slow, and I’m frequently unable to even post entries or rebuild the site without getting 500 errors.

Some quality time with Google has clued me in to a variety of possible causes, but I think I’ve ruled out many of the most frequently mentioned ones. All my CHMOD settings are correct for Movable Type’s .cgi files. I’ve streamlined my templates to make them smaller and minimize hits to the database (and I’m using MySQL, which is supposed to perform better). I’ve turned off auto rebuilding of templates that don’t need to be auto rebuilt. Et cetera et cetera.

Based on what I’ve been able to find out, the problem is this: because of the way MovableType works, it has to rebuild most of the archives and a variety of other inserts whenever someone posts a comment or I update with a new post. This isn’t a problem when I had 50 entries on the site, but I’m getting close to 800 now and that’s a lot of chugging. Now, most hosts, including the one I use, have little digital imps prowling their servers looking for the kind of excessive resource use that Movable Type creates under these circumstances. When they see it, they point and start screaming “AAAHHH! AAAAHH! WHAT’S IT DOING? KILL IT! KILL IT!” And they do. With much viciousness. This is, more or less, what interrupts the communication with the server and creates the 500 Internal Server Error message.

This angers me much, of course. I’ve e-mailed Dreamhost asking them to up the limits on resource usage so their imps will lay off, but to date they’ve just replied with messages amounting to “We don’t troubleshoot Movable Type. Piss off.” I sent in a fresh ticket in to them with more detail this morning, though, so we’ll see if they come through..

In the meantime, I’m considering my options. I don’t want to continue on like this with a broken system whatever the cause. If DreamHost doesn’t help me out I may look for another host. But I’m not convinced I wont’ have the same problems there. Another option would be to dump Movable Type and skip over to tis competitor WordPress, which uses a more modern approach to dynamically generate pages with PHP when they’re requested by a reader instead of laboriously churning out static files every time I blink or you comment.

A Google search on the phrase “Movable Type versus WordPress” turns out a plethora of informative articles on the question, and WordPress comes out the winner in almost every comparison. Some of it may have been bad mojo over Movable Type’s decision to move to more of a pay model (WordPress is open source and free), but looking closer it’s not all that. WordPress just seems to be better and perform better, especially if you know PHP (which, alas, I don’t).

The thing that’s really giving me pause, though, is the work that would be required to convert all this to the WordPress system. I’ve customized these templates a bit, and I’m not sure if I’d be capable of doing the work involved with recreating it in WordPress. And let’s face it, I’d probably want to do a redesign while I was at it, and that’s certainly a lot of work. I’m just not sure I have the time required to do it.

A stopgap solution might be to switch to WordPress using one of the default templates (they have lots) and get things going, then work on a fancier design and template as time permits. I may do that, because things just can’t stay like they are now. Any advice from anyone who has been in a similar situation would be appreciated.

Update: I seem to have (mostly) fixed this problem by a combination of changing to dynamic publishing and adding a line to my Movable Type configuration file to enable rebuilding in the background. It still takes 10-20 seconds to post a comment and the administrator interface is still slow, but at least everything is usable now.

New RSS Syndication via Feedburner

You may have noticed the big orange “chicklet” over on the right with the words “Subscribe to xml feed” underneath it. That’s because I recently added RSS syndication via Feedburner.com. For those of you not in the know, RSS is a technology that allows me to syndicate the content of this website so that people can read it with pieces of software (either standalone or online) called, perhaps unimaginatively, RSS Readers. So if you read 10 blogs a day, you can just do it from one interface. Well, if they set up their RSS feed to allow it. You can also have your RSS Reader alert you when something new has been published in one of the blogs to which you subscribe.

I’ve always had RSS feed in the form of an XML version of my main page, and I’ve pointed people towards it and Bloglines.com, the RSS reader I currently use. But I decided to give Feedburner a try, mainly because it has a few widgets and makes it a lot easier for readers to subscribe with their reader of choice. Maybe you don’t like Bloglines. Maybe your’e some kind of freak. That’s cool, that’s cool. This is a big tent.

It’s also perhaps worth noting that jmadigan.net is syndicated via RSS in its entierty. Because RSS feeds with only the first so many words followed by a hyperlink to the full entry make Baby Jesus cry. Please click all the Google Ads you like, but I don’t particularly care about page views here. I’m happy to know people are reading the content, whether it’s straight from the source or via a reader.

Everything in the RSS feed seems to work, you’ll just get ugly formatting and won’t see the new stuff in the Media or latest Flickr pictures inserts on the right side of the front page. The only thing that really miffs me is that I can’t seem to add a link to comments or tags in the RSS feed. If you know how to do that, please let me know. Seriously.

So, if you want to try getting started with the new feed, click on the orange thingie. Or click here. Either way, follow the directions on the other side. If you need help picking a RSS Reader program, I like Bloglines.com because it’s clean and simple, though I’ve been eyeing Google’s Google Reader and may switch to that.


You may have noticed something new along the right-hand column and at the end of posts lately. Or maybe you didn’t, in which case you really should be paying closer attention. I added Movable Type’s tag functionality to the website to see how I like it, then went back and tagged last few dozen entries. Tags are very chic right now, very de rigueur for any self-respecting Web 2.0 buzzword spouting mover and/or shaker. And me.

At any rate, tags are just mini-categories or labels that can be attached to an entry. They’re usually very granular and often specific to that post and maybe just a few others. I already have major content categories like “Samantha” or “Books,” but think of those as the table of contents to the blog while the tags are the entries for the subject index. If you click on the link for a tag (either on the right-hand column or in the “Tags” list at the bottom of a post) you’ll go to a page listing all the other entries that share that tag.

Brilliant, no? No? Well, maybe not brilliant. But kind of neat, and a good way to get people to look at the long tail of the site and visit some of the older content that’s just sitting around. There are 731 older entries on the site. And counting. I just find it amusing to think that someone will glance at the list and note that there was at least one entry related to dead penguins or hobos.

Update: Meh, I didn’t like having a ginormous list of tags on the right-hand menu, so I added links to separate pages. One with an alphabetical list and the other with a nifty tag cloud thingie.

Comments temporarily down back

Comments are temporariliy disabled while I deal with some nasty spam attacks. I know what I need to do, just need a few spare moments to do it. Should be back up later tonight.

Speaking of which, where ARE all the comments? Seems kind of dry here lately. I’m not going all attention seeking emo boy here, I’m just curious if there’s some technological reason. I’d ask you to post a comment as to why, but…

UPDATE: Okay, they’re back. I updated to Movable Type v3.32 and it didn’t really fix the problem. For some reason the SpamLookup word/phrase filters are JUST. NOT. WORKING. I’m clueless as to why. And the Movable Type team seems to have movd all tech support, including helpful forum members, behind a subscription wall. I’ll try a third party spam filter tomorrow, but in the meantime I’ll just deal with the spam and manually delete it.

Comments bug fixed

I finally got around to tracking down and fixing the bug that was causing commenter info (name, e-mail, URL) not to be remembered in the comments fields. It’ll now set a cookie to remember such minutia. So if you had quit commenting or gnashed your teeth every time you had to retype that stuff, it’s all good now. Make the most of all the time this frees up in your life.

Site Tweaks: Sam’s Story Index, Pics, & More

I spent a little time this week improving the site structure and fixing a few things that were broken.

First off, I tweaked the Photos index page to add a link to my Flickr photostream and another link to the Sam’s Story index page for people looking for pics of Sammy.

And speaking of which, I redid the Sam’s Story index page. Before I had maintained a separate weekly gallery of Sam’s Story pictures, with links to the individual blog entries for each week. Problem is, this had to all be done by hand, resulting in tedium and mistakes like broken links. Boo! To save time I set up Movable Type to automatically create an index of stories all on one page. I really liked having pictures on that page, but MT couldn’t recreate what I had been doing, so the compromise is to have one picture from each week accompany a short description of and a link to the blog entry for that week. See for yourself.

And speaking of which, having all 120 (and counting) Sam’s Stories plus 18 Pregnancy Update weeks all on one page with pictures from each week is kind of amazing. I spent a lot of time re-reading some of the early entries and looking at the pictures. Sam hardly looks like the same person. I mean, compare this picture to this one. While it takes a long time, you have to admit –that’s a neat trick she can do.

And speaking of which, I’ve also instituted something I call “The Sam’s Story Restoration Initiative.” In short, I’m fixing stuff that got broken in the last redesign and which I’ve never bothered to go back and fix. Shuffing the directory structure around made things easier for new content, but it resulted in missing images and broken links in some of the older entries. Because of the long tail of Sam’s Story and other categories, I’m fixing one a day until they’re all pristine.

And speaking of which, one of the first targets of my restoration was the Flash slideshow I put together for the 100th Sam’s Story entry. It’s pretty neat (well, I think so) but it got broken in the redesign and I woefully never got around to fixing it. Until now. Here, I’ll even repost the collage I created, just in case you’re the kind of person who only likes to click on images:


jmadigan.net: Now with ads, search, and photos

Few quick notes about three changes and enhancements to the site in case you didn’t notice.

Item #1: Google Ads. I added some Google Adsense ads to the site, so feel free to click them repeatedly. Or not. They’re not really big money makers (I’ve run them for several months on Selection Matters and only made $25), but if I can make enough to offset the cost of hosting, I’ll be happy. It’s actually pretty funny to look at what Google comes up with when trying to pick ads based on the content of the page. The individual entry for The Five People You Meet in Heavan in the Books category, for example, is all about dating services. And many of the Sam’s Story individual entries have ads for dog food sweet potato recipies. Weird.

Item #2: Search. The “Search the site” tool has been over there on the right since I relaunched v2.0 of this site, but now it’s, um, working. So if you want to search for all entries related to World of Warcraft, for example, you can do that.

Item #3: Photographs. I added a photography category to the blog, which contains any posts about pictures of things that aren’t Samantha. I also included in this category all of the old “Picture of the Day” posts that I did back when I was doing that. Beware, though, that because Movable Type (stupidly) doesn’t do pagination for archives, that’s a huge page on the other side of that link. You can always click on the Photos Index from the menu at the top of the page. I just wanted somewhere to stick the Pic of the Days and the blog posts about photography.

That’s it. Enjoy!

Welcome to jmadigan.net v2.0!

Hooray! A few things are still in want of fixing, but for the most part it’s all done and I can finally welcome you to the new jmadigan.net. New to you are:

(1) New design, obviously. I really liked the red and yellow color scheme of the old design, but I wanted something new and the design you see here was where I ended up. I actually started off with plans to do an orange and grey design, but while I liked that color palate it just didn’t look good once I filled it with content. The design has also been totally recoded from the ground up, with my craptacular old “I’m just now learning how this all works” HTML a thing of the past. I’m not saying the new stuff is flawless, but believe me when I say it’s a LOT better and a LOT more flexible and a LOT more efficient than it was before.

(2) New host. My old host was really stingy with their storage space and I was constantly butting up against the 400 MB (yes, as in “megabyte”) limit. So when my friend Todd sent me a coupon code that waived the setup fees, I decided to jump ship to Dreamhost, who gave me approximately 474 gajillion terabytes of storage. I think I now have enough to mirror the Internet.

(3) Movable Type 3.2. While I was at it I upgraded to Movable Type version 3.2, which has better templates and more controls. This won’t really affect you readers much, but it makes things easier for me since I integrated pretty much all the site content through MT, lessening my need to manually transfer files via FTP. MT 3.2 also has tighter comment spam controls, so until I get that figured out I may have to manually approve your comments, and I may actually move to a registration requirement to post at all. I really hate deleting comment spam.

I guess that’s it as far as you know. I still need to fix the category-based and date-based archive pages and a few other miscellaneous pages and a truckload of broken links, but otherwise we’re good to go. At any rate, what do you think of the new design?

Welcome to a sneak peek of jmadigan.net v2.0

Hello. As you’ve probably noticed, I have redesigned the site. Well, I have almost redesigned the site; there’s still a few things I’m working on. I’ll say plenty more later, but hold tight for now. Pretty much everything but the blog is up and running, so take a look around and let me know what you think. Bonus points for spotting something that’s broken!
Sam’s Story for this week, by the way, might be delayed a bit until I get this all set up. It’s definitely coming, though.

Links page updated

I gave the Links Page a much-needed update. I added the sites I’ve done designs for in addition to the ones that I own or directly manage. Check it out if you want to see some of the other sites I’ve designed or written copy for.

On a related note, I’m really jonesin’ to redesign and rebuild jmadigan.net from the ground up. This site was really the first one I ever created from scratch, and I’ve learned a few things since then. Every time I look at the code or CSS for this site, I cringe and an angel dies. It’s true. Thing is that there’s nothing fundamentally wrong with the designe given what the site is, so I really haven’t had a strong reason to go ahead with a redesign. Still, I’ve got that itch and it may just happen this time.

I am once again a master of the web

I mentioned a while back how I was elected, through what I think was an uncontested race, to the office of “Vice President – Web Publications” for the Personnel Testing Council of Southern California. This is a fancy pants way of saying “Webmaster” as my duties seem to wholly consist of updating the website.

Unfortunately the old website (archived here) appears to have been done in a WYSIWYG editor. The code looked like someone had filled a paintball gun with <font> tags and unloaded the thing on the hapless web. It looked fine to the end user, but it made it hard for me to update. To remedy this I spent a chunk of my weekend recoding the whole thing from scratch. It’s a very simple design, but I think it turned out okay. Observe for yourself.

I had told myself that I’d never code another site using HTML tables, and that my next web project would be structured and laid out using only the glory of cascading style sheets (a.k.a., “CSS”). I have yet to get around to teaching myself the necessary CSS skizzles, though, so the PTC-SC site makes use of tables. And you know what? I’m not so sure that’s such a bad thing. I don’t understand the bad rap HTML tables have gotten, really. I make good use of server-side includes and CSS for all the style stuff (no more <font> tags!) so it’d still be a snap to update the colors and layout. I only nested the tables one level deep at most, so page loading isn’t a problem with today’s modern super computers.

So honestly. Tables. Not that bad.

Categorize this!

As you may have noticed, I’ve added categories to this site. This means that each post is categorized into one or more category, categorically. I initially shunned this feature because it so often seems pointless and leads to having a dozen categories, most of which have one or two posts associated with them while the everything else goes into a kind of demilitarized blogging Shangri-la like “General” or “Daily Life” or “Misc.” But I wanted a way for people who were only interested in say Samantha to find an archive of stories only related to her while ignoring the rest of my inane ramblings. You can do that now.

Once I decided to do this, though, the main task before me was to define the categories. A cursory glance at my archives showed a fair variety in the subject matter of posts, but an underlying factor structure was not crystal clear. To resolve this, I endeavored to apply my six years of graduate school in psychology and do some kind of scientific data reduction. Specifically, I applied cluster analysis, which is a multivariate statistical procedure that takes a sample of observations about entities and organizes those entities into more homogeneous groups.

To start, I took all the 322 blog posts and had a group of subject matter experts rate each one on a variety of dimensions related to content, tone, voice, subject matter, reading level, word count, and the frequency with which I had used the word “poop.” These data were entered into a SAS dataset and analyzed using SAS’s PROC CLUSTER procedure. The output provided a wealth of information about the data’s possible underlying structure, but of particular interest was the Semipartial R2. Using this statistic for each of the solutions in the last fifteen iterations of the clustering procedure, I created the following Fusion Plot:

As you can see, there is a sharp dropoff in the Semipartial R2 at around 4 clusters, suggesting that to be an optimal solution to the data. Indeed, the four-cluster model explained over 85% of the variance in the original data, and this hypothesis was further supported by a dendogram that suggests a four to six cluster solution:

Finally, a plot of the four-cluster solution in multidimensional space using canonical variables pretty strongly suggested four (or possibly five) clusters:

Given these scientific results, I arrived at the following four categories for my blog:

The “General” category could have been further broken down upon rational review of the data, resulting in smaller categories like Gaming, Books, Movies, Family News, and Stupid Observations, but I decided that none of those individual topics would be of interest enough to most visitors to warrant splitting them out.

You guys are totally buying that I did all this work, right? Right? Pffftt.

Anyway, the way Movable Type handles category archives, though, has me pulling my hair out a bit. I want to have date-based archives, too, but I want category-specific archives for the Photo of the Day. But to have that, it kind of messes up the other archives so that you can only browse individual entries (like through a permalink link) within a category and not across categories. It really ticks me off, so if you know of a solution let me know. If I can’t figure anything out, I’ll probably end up creating a separate blog for the Photo of the Day, output it (and its archives) to a static file, and include it in this main site with server-side includes. What a pain.

Finally, you may also notice that I changed the layout of blog entries. It occurred to me that there were three types of elements to a blog entry: those about the entry (the date, the title, the author), the entry itself, and those related to what you can do in response to the entry (link to it, comment on it, find similar entries). So I separated them. Title and date are at the top (I trimmed author, since I’m the only one on this site), and then put the comment link, the permalink, and the category archive link at the bottom. The latter also makes sense in that you don’t force people to scroll back up in order to comment or get a permalink.

So, hope you enjoy the fruits of my labor. There are more tweaks to come, as well as a total redesign if I can get around to it.

Comments down back

Looks like my host has decided to nuke the Movable Type commenting system on my site (and others) because they were getting pounded by comment spammers. This means you can’t leave comments at the moment, though you can always e-mail me.I wondered why things were so quiet. I’m going to complain to my host tomorrow and maybe upgrade to the new version of Movable Type over the long weekend. Hopefully they’ll turn it back on soon.

Fricking comment spammers. Right now I’m concentrating very hard and giving them cancer with my mind!

UPDATE: Comments are kind of back. I upgraded to Movable Type v3.14, but for some reason it’s forcing me to manually approve each comment. I’ll try to fix that, but in the meantime you can go ahead and comment. You’ll just have to wait for me to notice and approve it before it appears.

UPDATE: Okay, I got the kinks worked out. Thanks to Joost for his help! On his day off, even. Comments are now working correctly, and I’ve got the new version of MT-Blacklist installed to boot.


As you may have noticed by looking over there to the right, I’ve added a “Picture of the Day” (POTD) to the site. This is something that’s been on my to-do list for quite some time but I finally got around to doing it. It gives me a chance to post pictures of something other than Sam (though she’ll definitely be included as well). I also added the ability to comment on each POTD. It was all relatively easy to do with Movable Type, with the majority of the time being spent tweaking the templates to get them the way I want.

My next tweak to the site will probably involve giving the Now Reading, Last Saw, and Now Playing pages similar treatments so that people can comment on them, browse to past entries, etc. Maybe in a week or so.

I’m also contemplating a redesign of the whole site, or at least a new color scheme. I’m getting kind of tired of the current one and want to try something different. I’d also like the excuse to take my CSS programming skizzles to the next level. Any thoughts on this from you readers? Are you particularly enamored with the current design?

In the meantime, enjoy the POTDs, and leave a comment or two! They may not necessarily change every day, but probably a few times a week at least.

Why you shouldn’t directly link to images

If you’re going to “borrow” a funny or neat image from another website, it’s generally considered bad form to just link directly to it in your code so that your webpage grabs the image from the creator’s website and loads it when someone looks at yours. Assuming you’ve got any business using the image in the first place, you should instead make a copy and put it on your website. Linking directly to an image like this, for example, pulls the file from my web server, costing me bandwidth and wreaking havoc with my traffic logs.

The traffic logs, in fact, were how I found out that one message board user on another site was linking directly to the picture of the sniper kitty in this story. The site in question was the messageboards of RonaldReagan.com. Now, another reason you shouldn’t link directly to an image on my site is that once I know you’re doing it, I can change the image to anything that I want, and it will appear on your site as long as I leave the file name the same. At this point I considered changing the sniper kitty image to something really obscene and offensive. You know, just to teach them a lesson. However, I didn’t exactly relish the idea of searching for and then working with that kind of imagery.

So, given that this site was populated by Reagan loving, ultra-conservative blowhards, I decided to go another route. Here’s a picture of the forum thread in question before I changed it:

And here’s what it looked like after I changed it:

I don’t think they’ve noticed yet, but I like it better this way.