More posts by email things.

So a way back when, I found something that sort of did the trick for receiving posts by email. Mostly, except not really. It sent you your posts by email, but you got one email with anywhere from one to who knows how many posts depending on how active I decided to be when posting. I’d experimented with ways to solve that problem before, one of those ways being what lead to me needing to rebuild this website (more on that in another, later entry), but they ended up not quite being what I was looking for. Welp, problem solved.

As of shortly before the actual rebuild process for this place finished, when you decide to sign up for posts by email, you’ll be given the choice. Get one email per day containing however many posts I toss this way during that day, or let the system email you every time I post something new and vaguely useless. It may very well end up being that the individual emails prove slightly more popular–I hardly do the 5000 posts per day thing these days, plus it may be moderately easier to actually make changes if I need to. But for now, both options are there, and both options are still working.

for my next trick: further twitter integration. Because hey, all the cool kids are doing it.

WTN v 2.0, now with less breakage.

So there is news on the personal front that I’ll get to eventually. But at the moment, I’m up to my eyeballs in geek. The simple explanation why is actually to Google’s credit. The site fell victim to an apparent run-in with a significantly tricky spot of malware. It came in courtesy an exploit in a plugin I no longer use on this site, about a day or two before that exploit was supposedly patched against. It resulted in fun times with google, as they got twitchy about the site any time someone dared come within five miles of it. I took my time with removal, but the thing with a problem like that is once it’s in, it’s in. So every time I’d find something to clean, it would come back somewhere else.

I eventually ended up scrapping the platform entirely, backing up the data (here we go with me being paranoid about backups again), and starting over from the ground up. And now, 8 years of blog posts, comments, and random mockery lives in version 2.0 of this significantly less busted platform. I’ll go into more detail on exactly what plugin is to blame and why you should run far, far away from using it if you’re a WordPress user later. But for now, suffice it to say all things have been cleaned.

Things you’re likely to find in version 2.0:

  • Hopefully slight increase in loading speed. I’m told the site was slower to load than it should be previously. I think I’ve found and killed the cause, but I’ll be keeping an eye.
  • An online calendar, for things I’ll be up to in the near to way far off future. Because sometimes things happen that don’t get posted about. And sometimes I just need a reminder to stop freaking being lazy.
  • Several fewer plugins attached to the site. There was a bunch of extra, useless code kicking around the old version that I haven’t touched in probably a couple years. It was taking up space, and I hate things that take up space. It no longer exists.
  • Probably not noticeable to you, but I’m sure appreciating: a much smaller database. The old database was 120 MB when it was retired. The new one? Try 21 MB all told. That probably won’t last for too long, but it’s nice while it does.
  • And lastly, the option of receiving each individual post by email, rather than just the daily updates. Because on the rare occasion when I post something, it almost doesn’t seem worthwhile to wait for the single midnight update to send it to the folks what read this thing. You’ll still have that option if you want as well, but now, it doesn’t have to be the only one.

I’m still finding the occasional kink, like duplicated content that shouldn’t be duplicated. But, everyone’s here, and no one was lost in the kerfuffle, so I’ll take the duplicated content. And if it breaks too horribly, I do still have the old site on an out of the way strip of hard drive where it can’t be easily located, and it’s healthy enough to survive long enough for me to pull off whatever’s missing. All told, this has been a mighty fine way for me to flex skills I’ll need in the near future. And that leads me into my spot of personal news–which will be an entry later. For now, I’m off to sleep so’s I can finish unbreaking WordPress. But we’re up, we’re online, we’re malware free, and as soon as Google catches on I won’t have to stare at the reminder in Webmaster Tools. Now, where’d I put that other piece of code…

Happy tenth birthday, #WordPress.

I’ve been doing the blogging thing off and on for 7 years, give or take. In that 7 years, I’ve used several different platforms depending on what I was looking for and how much of a headache I wanted. I settled on using wordPress in March of 2009, when it would have been very nearly 6 years old. I’ve never looked back. Today, with several hundred thousand possible themes, plugins, templates and god only knows what else–not counting what’s already built into its core, I don’t think I can ever be convinced to look back. WordPress does half the work for me, which is absolutely awesome if you’re me. And because of the absolutely insane list of just about everything under the sun people have already done to make it even better, you don’t need to be exceedingly well versed in the art of PHP to get things done–also advantage me, who has this nasty habbit of breaking just about everything PHP in several interesting ways before it sort of halfway works.

Today, WordPress turns 10. And already, they’ve got a shortlist of ideas being kicked about for future versions–including a thing I’ve been saying needs to happen with regards posting by email, since I decided to abandon trying to roll my own solution for doing the same (I should probably update that post too, given I discovered other issues with that plugin later on). If even their short-term plans turn out to be as good as what I’ve seen since throwing myself aboard this particular bandwagon, the next 10 years should be awesome squared. But then, just about anything that lets me throw opinions this way and that on whatever crosses my otherwise empty mind is awesome squared.

Happy birthday, WordPress. When next I toss back a shot, it’ll be in your name. Now if we could just talk about hiring me.

In which WordPress 3.5 fixes menu accessibility. Sort of.

If you’ve jumped on the wordPress bandwagon recently, you know they’ve unleashed version 3.5 on the masses. You probably also know the huge thing they’re jumping all over is the improvements they’ve made to their media library. That is not, however, the huge thing I’m jumping all over. Since about version 3.3, users who have visual impairments and who use a variety of screenreading technologies have had a bit of difficulty, without the use of additional plugins, with accessing the various submenus WordPress has to offer. This is because, in 3.3, they’ve moved to a form of javascript flyout menus that are designed only to appear when the top level menu is hovered over with the mouse. Useful, until you run into someone who can’t use the mouse. Enter yours truely, and a few folks he’s hosting. And enter this little used dialogue on the WordPress bugtracker.

I’ve kept an eye on it since 3.3, and it goes through phases where people will poke and prod at it, then leave it alone for a few months. Apparently, somebody poked and prodded at something else, or just didn’t nail the ticket with that prod, and now, things do what they’re supposed to. Well, mostly. On a clean install of WordPress, which I just so happened to bust out before upgrading this site, completely unmodified from the core platform, the menu links that gave me and others trouble in this ticket behave as expected. And hey look, the menus don’t play hide and seak until you do some fancy dancing with your screenreader of choice’s advanced features–a big plus, in my world. Bonus points for that, guys. So now, we switch to this site. Because if I’m gonna break a bunch of folks I’m hosting, I might as well break me first, yeah? Yeah. So I do. And guess what? Not quite perfect.

The dashboard menus still do what they’re supposed to–that is, be damn well good and visible when they damn well need to be good and visible, without the afore mentioned dancing. But the top level links still don’t read like they’re supposed to without help. A tiny bit annoying, but can still be worked around–with the same workaround I’m already using because of what they broke in version 3.3. If you weren’t aboard the WordPress wagon when I was playing with this, let me introduce you to my new favourite plugin.

OZH Admin Drop Down Menus is a plugin that forces your dashboard menus to stay visible, permanently. It has the side benefit, which is the only reason I’m still using it now, of giving the top level menu links a readable label. Since they improved that area of accessibility in 3.5, I wouldn’t suggest installing it on a new install–unless I just got lucky and it’s actually still largely broken. For on already running installs? Definitely continue to use this plugin. And if you need assistance making it more useable from an accessibility perspective, let me know and maybe we can work a little something out.

Review: Postie for WordPress

So I mentioned I started experimenting with posting by email, for not the first time, on this blog. The plugin I tested for that purpose, the only one that before didn’t really overly irritate me, was Postie. For the most part, it does what it’s supposed to. General usage takes some getting used to, but that can be lived with.

What It Does

Let’s say you get wicked uber popular and your site gets recognised enough that certain overactive filtering systems–I’m looking at you, most corporate firewalls–decide you’re just way too evil for people to read at work. Or in your case, your site’s way too evil for you to post to from work. But you still have mockery material. You could write the whole damn batch in MS Word or somesuch, or, you could play with this plugin. If you create an email address (can be Gmail, if you don’t want or don’t have access to create one on your own domain), then hand the login details to that address to the Postie plugin, anything you send to that address will, if the email address you use is authorised, become website material. the plugin lets you specify things like categories and whatnot in the actual email itself, or in the subject in some cases–part of what takes some getting used to. But if you’re used to how LiveJournal and maybe Blogger do email posting (Does Blogger even do email posting anymore?), it shouldn’t take too much getting used to.

What’s Changed In the Update

The plugin was last updated in August of this year. Before that, it hadn’t seen an update since mid-2011. there was at one point a security concern or two about the plugin, but that seems to have been addressed–more on that below. The biggest change with this update, that I’ve noticed, is it’s become a lot more sensitive to HTML emails. I sent a test email to the site using Outlook, and didn’t switch it to text format. Mostly because I want to see what happens. The plugin saw the email, scanned it, determined it was a possible XSS attack, and promptly deleted the email. Oops. Not exactly the intended result, but hey, easy fix. Switch to text format, send the same test email. It works, almost, as advertised–again, see below. I can probably fix that with one of their other built-in commands. The edited result of the test that actually succeeded is here. Again, easily worked around–took out the extra blank lines at the end, added my update.

What It Won’t Do

I had to test this on my own, though I can probably make it do what I want easily enough. Out of the box, the plugin doesn’t respect post scheduling settings. For instance, I run another modification that pretty much guarantees this post won’t show up 30 seconds after the last one I wrote. It also makes for easy editing if I decide, say, 6 hours later to delete that incriminating paragraph about my caffeine habbit–oh, uh, that’s half the blog. Nevermind. Postie, however, wants to publish things immediately, regardless to when it’s supposed to be published. Works for most people, doesn’t work for me. Or anyone who runs anything remotely like me. But hey, nothing’s perfect.

Security Concerns

In the early days of the plugin, and quite possibly as recent as the 2011 update, there were concerns that the plugin made liberal use of bypassing WordPress’s publishing routines and manipulating the database directly to insert posts. I didn’t get a look at the 2011 code, but in the latest update, the plugin appears to have fallen back to using WordPress’s publishing routines. At least, my 30 second look at the code says maybe. somebody with more time on their hands can feel free to provide me with a free education though.


For what most people will use it for, the plugin does what it should. I didn’t test things like images, or videos, but I also very rarely post videos, and even more rarely post images. But it does what I expected it to do, with the exception of respecting automatic scheduling modifications. Use this plugin if you want to be able to post from behind a corporate firewall. Don’t use this plugin if you expect to be able to do so in accordince with some other posting structure. At least, not without some slight modifications. Then, feel free to share those mods with yours truely.

And another WordPress convert is born. … Maybe?

I’ve recently set May up with, uh, what we’ll call a playground of her own. Because, you know, being my girlfriend she should be entitled to *some* geekery every now and again. She’s wanted her own webspace for a bit, and needed a little extra support for at least one of her other ongoing–well, soon to be–projects, so why not do both? So we’ve set her up with a place on the net, and turned her loose with WordPress–also known as that which makes this thing break in all kinds of interesting ways when I’m not doing so. I have absolutely no idea what the hell this’ll do. But, hey, if it keeps her off Blogger, I’ve already accomplished my goal–not to have to perform save the content 2.0.

Welcome to WordPress, May. Here’s hoping you get yourself used to it. In the meantime, if you break it, you get to keep both pieces.

In which WordPress changes their API, busts a couple features. Oopsies.

This site has comments by email. This site also has posts by email, should you be sadistic enough to subscribe to it–hey, a couple of you have, so it’s relevant. Or it did, until approximately 2 hours ago. You see, WordPress released a slightly newish version of their software last month, and one or two of the things that get some fairly regular use over here I don’t think were expecting that just yet. So they’ve kind of gone, um, squishy. I get to go digging through code later, but here’s a thing to keep a hold of–all your info has stayed put. If you subscribed to get comments to an entry by email, you’ll get comments to an entry by email–just not immediately right now, and unfortunately not retroactively either. Although, now that I think of it, your mailboxes might just thank you for that. Same goes for posts by email–although those, at least, you’ll get retroactively (don’t worry, I have sane limits on the amount of email this thing sends). The features still exist, they’re just somewhat temporarily broken. stick around, though–I’m not done twisting things into knots just yet. One of those knots might just fix themselves.

In which WordPress and my server conspire to psych me out.

I’ve been making a fair few changes to things on this end lately. Mostly changes aimed at preventing things from falling flat on their faces. For the past few days, though, it’s been looking mostly like things were falling all over the place anyway. It started with my finally ditching Feedburner, while at the same time playing with the latest new addition to this blog’s feature set–you’ll find it at the end of this post. Multiple issues decided it’d be fun to crop up right around then. This blog’s RSS feeds, temporarily, did the awesomest impression of a corpse, with a path that used to be acceptable to get to the feeds in question deciding to pick around then to, well, fall flat on its face. Or so I thought. On top of that, the server was quite running away with memory usage around the same time–to the tune of over 2 gigs of reserved memory last night, for what should be at most maybe 3 quarters of a gig at peek times. Nifty. Except not. I managed to track down the memory leak to my first attempt at introducing the feature you’ll find at the end of this post, after a couple days of troubleshooting. It’s since been shot in the face. But the other issue? That was the fun one. And by fun, I mean so stupidly simple I could only have figured it out after a couple beers. Fortunately, I’d had 5 tonight so was in good shape. The RSS feeds, as it turned out, weren’t quite as broken as I’d thought. WordPress just temporarily decided to forget what it was supposed to do with them. A stupid setting on the admin side of the software developed temporary amnesia and needed to be reminded how things were supposed to look. And then reminded again, because it didn’t save the first time. Thanks, WordPress. No, really. Thanks. My technology has been conspiring to sych me out. And it damn near worked. Now, to go attempt this whole sleep thing, then try and figure out what the hell caused *this* spike in memory usage. More mockery tomorrow–I’ve built up quite a bit since things started conspiring. You’ll get to read it when I’m not halfway to Zombie City. Well, okay, if I remember.

In which ConfigServer quite possibly breaks WordPress. Oof.

I’ve been dabbling in the more involved server admin business for the past while. One of the things we’ve been experimenting with for the better part of a month is the firewall provided by ConfigServer. It’s halfway decent for what it does, as long as you’re not trying to do anything too involved–like, say, get certain functionality native to WordPress to actually, you know, work. Like, for example, trackback/pingback functionality. So, since we had absolutely nothing else planned whatsoever tonight–hi, oh my god cold, we figured we’d either fix CSF or break Shane‘s blog. Turns out we did neither.

According to ConfigServer’s software, which I have taken to not trusting after our most recent discovery, inbound trafic on all the ports we needed to be open was possible. As was outbound. Except for that tiny little part wherein it sort of wasn’t. That lead to some pretty interesting problems in the neighbourhood of him actually being able to receive trackbacks/pingbacks. Since blogging in general, and WordPress in particular, is primarily focused on the whole community/conversation element of it all, that posed a very small problem. We fiddled off and on with it for a few weeks, and eventually for reasons of trying to scrape together a few dollars, we decided to start the process of migrating him away from that server and to my arangement over here. After breaking things in that department in all kinds of new and interesting–not to mention very very creative–ways, we thought we’d play with seeing if that fixes the outstanding issue of tracking back. Hence, if you hadn’t figured it out, the test post from earlier. And wouldn’t you know, the damn thing up and proved us both idiots. First try, it did exactly what it was supposed to. The only *really* major difference? The server the problem blog’s on isn’t running ConfigServer’s firewall–and won’t be, if I can possibly get away with it. Aside from that? Same server configuration, more or less, with a few extra mostly irrelevant bells and whistles I don’t actually use but hey, they’re cool.

The moral of the storry: If you’re running ConfigServer’s firewall, look for alternatives. If you’re not, keep it that way. It’s bad for you. Stay very, very far away from that program–particularly if you, or anyone you’re hosting/maintaining the server for, plans on running a WordPress blog. They just do not like each other and I think the relationship’s pretty irreparable. Now, the search begins for alternatives.

Another win for WordPress. Like it needs it.

I’ve been using WordPress since I brought the blog back to life from its previous incarnation over on LiveJournal. Mostly because it’s extremely good at what it does and, well, what it doesn’t do you can usually convince it to with minimal headache. I did check out windows Live Spaces quite a while ago, mostly because I used to read a blog or two over there–they subsequently are no longer updated; go figure. Problem was, Microsoft did almost nothing right from the perspective of accessibility/useability. And even less right from the perspective of features people might actually want to use. And, now, according to TechCrunch, they’re taking it out back and shooting it. They’re giving users of the service 6 months to decide what they want to do with their content, including having the option to migrate it over to the hosted version of WordPress,, but in 6 months, Windows Live Spaces will die. Can’t say I’ll miss Spaces, but thanks for the help wordpress doesn’t really need, in any case. Now if Blogger would just do that we’d be in business.

Why open source owns your soul: even the non-coders can fix things.

In the days of Windows and only Windows, the usual routine was find a bug, hit report a problem, kick back and maybe someone would get around to eventually, if you asked really really nice and forked over a hundred, maybe possibly fixing it. If they weren’t busy sucking back a beer or something. There was no real two-way exchange of information, per say–they either fixed it and you didn’t know about it until later, or they ignored it and you didn’t know about it until later if at all. Flash forward to the last week or so.

As I make no secret of, I power this site on WordPress plus about 20 wickedly handy plugins to take care of everything from statistics to adjusting things so folks who come across a 4-year-old link that no longer works can still find the entry they’re looking for at its new location. It was that latter redirect plugin that decided at one point to give me issues. For the record and those curious, if you want something similar for your own site the plugin is Smart 404, and it only works–to my knowledge, anyway–on WordPress. Now, before my year or two of experimenting with that other blogging platform, I had this site running under a different piece of software. That piece of software, still in development, took care of my needs back then with the exception of the whole comment spam thing–but the way it handled links in general was just different enough that when I set this up, and included the old entries from my first attempt at a blog, those links promptly broke. Not horribly, just a slight enough change that Apache threw a page not found error.

WordPress in general is very good about redirecting things within its own isolated environment to where you want to go. So, for example, if you were to go to, it would redirect you to the appropriate post automatically–and to the appropriate, much more readable URL of that post–with no coaxing from me whatsoever. Kind of wicked nifty cool in an “I’m a lazy tech geek” kind of way. The problem is, there’s no native functionality for redirecting other links, not created by WordPress, to their appropriate wordpress equivalent. Enter the redirection plugin, Smart 404.

When I set it up to do what it was intended to do, though, I ran into another, slightly frustrating, problem. If you were to go to, which was the old link structure on the blog, even with the plugin in place you’d get a 404 instead of being redirected to, which is one of WordPress’s default structures. Now, if we were talking closed source projects here, I’d of just switched to something else that did a similar thing–I’d have a better chance of seeing the problem fixed, and sooner, by doing that. But instead, it started out entirely in public comments on the blog of the developer of the offending plugin.

The actual conversation was, were it to happen over IM instead of blog comments, very short yet still very effective.

I posted a couple comments over there, pretty much explaining what happens when someone references one of the old, non-working links, and what according to the plugin documentation is supposed to happen. After running a real quick test to get access to exactly what it was the plugin was trying to do, the conversation effectively turned very quickly to something like this.
Dev: Okay, try this line of code and let me know if it breaks.
Me: *copy, paste* Okay, looks like it doesn’t explode. And hey, it does what it’s supposed to now. Who knew?
Him: Awesome. *throws it into CVS*
Me: Hey look, new version. And there’s the fix I tested. Awesome squared.

Yeah, it was literally that easy. And a very awesome reason for why sometimes, being able to actually see the program’s inner workings is a very good thing–you get to escentially debug and test a patch for your own problems, rather than waiting on the software’s tech support department–if they have one–to get around to communicating with the developers, who may or may not then get around to actually diagnosing and fixing the problem. The open source community as a whole gets major props for that. And major props to the Smart 404 developer for being nearly as quick to implement solutions to problems as his users are at finding problems to fix. And huge props to WordPress, because–really, do I need a reason? Now excuse me while I go consider for the thousandth time learning PHP or something.