It’s interesting how something seems so simple at first, and then baloons into a seemingly-impossible task within hours. Take, for example, my recent decision to make some database modifications to the core WordPress tables. While this seemed relatively straight-forward, it is really anything but.

What’s interesting, though, is that WordPress can work with a new database schema pretty quickly. It took very little time for me to actually design a new structure that would continue to allow the same functions and benefits, while also optimizing it for speed and clarity. Queries were moved out of the code and built into stored procedures, and functions were written to automate some of the standard cleanup routines that were once carried out by the WordPress software. All in all, I needed less than 8 hours to design and build the database, import data from several of my sites, and modify the core WordPress files to work with the new schema.

All in all, it worked pretty well, too!

Hiccups!

But, as expected, there were some problems with some themes and plugins. And by some problems, I mean that the only ones that wanted to work, were the ones that provided the least functionality. The plugins that provide the greatest functionality would all need to be re-written to handle the new schemas, because so many of them use direct SQL calls.

The same is said about some of the themes out there. Some themes will show links for everyone who has left a comment. However, rather than use the built-in calls that come standard with WordPress, some designers prefer to use custom calls that would need to be re-written (slightly).

Alas, it seems that doing something as fun as changing a database schema or even making WordPress work with a few other databases will require far more time than I am capable of investing at the moment. It’s a shame, too … I would have loved to see people bitch and moan about my database designs or coding practices :P

November 26th, 2008Re-Tooling The Database?

For the sake of expediency I’ll keep this post short and sweet.

Over the last few days I’ve been working pretty heavily with the back-end of WordPress in an effort to relieve some of the bloating that I’ve seen take place and it got me to thinking: why not just create a new database structure?

Looking at the API and how several of the database calls are made, it seems to be (theoretically) possible to remove the existing database and drop in another with a completely different schema, so long as the varying calls are updated to look at the new tables. One of the things that has been bugging the heck out of me on some of the WordPress forums is the number of people that bitch and moan about how bloated the database has become and how slow many of the queries are. While this might be true for people who are making use of horribly-designed themes and an excessive amount of plugins, most of us tend to have pretty snappy response times. That said, I have found a few ways to streamline the queries used by WordPress in order to eliminate excessive database calls, while still returning the same amount of data.

But now the hard part: making a new schema that will be compatible with existing versions of WordPress (well … 2.7+).

In the next few days I’ll be testing out some new schema designs and updating the 2.7 core files (using the beta) to see how well it can handle some loads, and perhaps then I’ll make the modifications available to anyone that wants to try something a little bit different. One thing is for certain, though … MySQL 5.0 or higher will be required in order for it to work.

It’s a shame that I can’t just update it to make use of Microsoft’s SQL Server … at least then I’d be playing with some home field advantage :P

Update: Part II - Can’t Shake the Hiccups!

November 24th, 2008Where Was I? Where Were You?

“The city is to blame,” he said through the tears. “How could they build a bridge over that river knowing that people would just use it to commit suicide? They should have guards on duty to make sure people don’t leap over the side!”

The reporters quickly jotted down the illogical condemnation and, rather than ask the grieving parent for the logic behind such a statement, made sure to highlight the comment with the intentions of twisting it into a juicy one-liner for the opening paragraph of their newspaper article. Tragedy moves paper, as their boss consistently reminds them. And nothing is more tragic than the loss of a child.

Another teen took their life last week while streaming the last moments of their sad existence to countless witnesses across the web. This unfortunate loss, announced only hours before on the person’s personal blog, involved an overdose of anti-depressants and required just a few short hours to unfold. It’s not the first time a teen has taken drastic measures in an attempt to seek attention, and it will not be the last. But, rather than take the people who reportedly goaded the severely-depressed Abraham Biggs into the irreversible act, I’d like to ask a question about that person’s family: Where were they?

Shortly after the teen’s death, the Biggs family condemned both the viewers and the operators of the website for not doing more to save the boy’s life. While I can empathize with the family regarding their loss, I cannot stand to hear that the operators of a wildly popular social media site should be held accountable for “not doing enough” to prevent such a tragic event. Using this train of logic, one could argue that people can condemn city planners for building bridges over difficult to traverse waters. More people kill themselves from bridges than overdosing on the internet, after all.

Did Anyone Talk To Him?

While studying psychology in school, one topic that I found quite interesting was that of suicide. Not only because I had considered this several times as an escape from situations that seemed larger than I could handle, but because there had been a string of suicides in my city at about the same time. I wanted to know more about it, and how people typically acted when they considered ending their own life. After lots of research, a few complex term papers and a hard-fought 90% on the assignments, one thing had been clear: people don’t just up and kill themselves.

There are signs that we should always pay attention to, especially with teenagers who have a lot of trouble dealing with the seemingly endless arrays of personal dramas, emotions, and relationships. One of the most obvious things to look for is depression, but we should also remember that loss of appetite, reclusion, and a disinterest in favorite pastimes can also be clear warning signs. When these things are spotted, a person should be taken to a café or somewhere they can relax, and we should talk with them. We don’t need to hit the problem head on, as this can often result in a person shutting the world out even further, but just talk to them about some of their hobbies. Sports, movies, TV shows … the subject doesn’t matter. The one-on-one time does. If they want to open up and talk about their emotional or personal problems from there, great. Otherwise, just knowing that someone is there for them can do more good than anything.

Is this always possible? No. Parents are forced to work long hours for minimal pay, and kids are spending more time online, which is something that some parents just don’t understand. But, despite all of this, it’s still a parent’s utmost responsibility to take care of their child’s emotional and psychological needs as well as the basic “food and shelter” needs that we’re expected to maintain.

That said, just because it’s difficult doesn’t mean it’s impossible.

Where Did The Drugs Come From?

One of the other questions that I have involves the prescription anti-depressant that was used in the overdose. Where did these pills come from? Were they his? Did they belong to someone else in the family? Were they bought from someone on the street? If my child needed anti-depressants to make it through the day, I would leave them with enough to get through one day, and no more. The rest I would keep with me, or locked away from the person who needs them. The last thing I’d want hanging over my head is a situation like this. If they belong to someone else in the family, again, why were they so easily accessible? For someone that wants to blame a website company for not running a tighter ship, they sure have an awful lot of loose trust within the household.

Before getting much farther, I don’t want to say that this televised suicide is completely the fault of the family. There are several factors involved and I do not have all the information required to make any serious judgment on this one situation. That said, before a person can go pointing fingers at others for “not doing enough,” they also need to point fingers at themselves to see where they fell down.

Big Brother Shouldn’t Protect Us From Ourselves

One comment that we’re seeing quite a bit from the “offline community” involves responsibility when something this unfortunate occurs. Mr. Biggs had condemned the social networking site and said that its moderators should have done more to prevent this suicide, but I am forced to disagree with him on this one. Although it is the responsibility of a website owner to remove content that is deemed hateful or seriously derogatory (when ordered by the court), it is not a website owner’s responsibility or duty to make sure that people are using the site as it was intended to be used. This is like blaming Toyota when a drunk idiot gets behind the wheel of one of their cars and slams into a crowded shopping mall.

That said, let’s examine what it would take for a popular website to actively monitor and respond to urgent situations. Depending on the type of content that is shared, this could be incredibly easy, or incredibly difficult. I’ll start with the easy one, first:

Text-Only Websites:

A text-only website would be one of the easiest types of sites to monitor as an administrator could easily create a notification if any “danger words” were put into the database. These danger words could be everything from “suicide” to “kill myself” to “sleep forever” as there would be no real limit to the number of words or phrases a person might use to express a desire to commit an action that would harm themselves or others. Let’s not forget about all the colorful ways to spell su1cid3, either, including versions consisting of horrid spelling mistakes.

Either way, once a danger word is recorded in the database then a moderator could be immediately notified through email, SMS, RSS, Twitter, or any other method that’s relatively quick and painless. The moderator would quickly check out the content and gauge its severity, notifying the appropriate police forces (somewhere around the world) based on the address or IP information of the person who said such a naughty thing. From there, police could be dispatched to a person’s home and the site could later be accused of playing “Big Brother” and overreacting to teenage angst and idle threats.

Multi-Media Websites:

Unlike text-only websites, multi-media websites allow people to communicate with pictures, video, audio files and text. This can certainly be a problem as some websites are inundated with uploaded pictures and videos. If every non-text-based file needed to be vetted by a moderator, then the whole concept of a social site would start to break down. No company would be able to move fast enough to approve, or reject, content unless they literally had an army of people who watched everything that came in from every person who might be using the site. While this might sound like a great solution, the sheer costs and complexity of such a system would make online interaction in such forums next to impossible.

But would this “impossible to maintain website” concept prevent people from writing about suicide online? No. The only way to truly prevent someone from saying such drastic things would be to prevent website visitors from posting content online at all, leaving everything to big corporations who would then use the opportunity to make the internet about as attractive as AM radio.

Finding Causes vs. The Blame Game

I have a great deal of sympathy for anyone that has lost a loved one to suicide and, while I can certainly accept the fact that they are both hurt and angry, I cannot simply accept the various places people try to lay blame. Instead of blaming something or someone for a loss, it’s often better to look for the real causes behind the action. Placing blame is in our nature, but it doesn’t mean that we should continue to fall prey to The Blame Game.

Was it school? Was it a broken relationship? Was it a bleak outlook on life? Did a friend recently join the military? The number of reasons for someone to become depressed and suicidal is as varied as it is infinite, but the true causes can always be found. Only by doing this can families and friends truly begin to look for ways to prevent such events happening to someone else in the future.

To Abraham Biggs: May you now find the peace that you could not before.

October 27th, 2008How The Heck…?

Scratching an imaginary itch, the blogger tried to make sense of the data displayed on screen. The last five weeks had seen traffic to their main website more than double, thanks in part to the SEO work they had put into each of the thousand-plus blog articles that had been written since college. Focusing on a very narrow niche subject, the amateur writer had decided to use their real name in an attempt to bring more credibility to their name, while making legitimate business contacts at the same time.

Interestingly enough, though, the people coming to the site were coming through search engines with really odd requests. Words that had very little to do with the subject on hand, aside from being semi-related synonyms to keywords selected were commonly seen, with bounce rates of almost 100%. It seemed that only 15% of all visitors from the big search engines were actually looking for the information found on the blog, while the majority of people were finding the site while looking for something completely off topic.

“How the heck does this happen?” Being the only person in the room, nobody had an answer for the blogger, but it did give them something to think about for the next phase of the SEO project.

Taking a page from mainstream media, according to a statistic pulled from the farthest reaches of “where the sun don’t shine,” over 90% of all bloggers use some sort of pseudonym in order to keep some semblance of separation between the online and offline realms. This level of ubiquitous anonymity provides most people the freedom to say what they want about whoever they want, as well as the opportunity to eliminate an online persona at a moments notice should a situation get out of hand. However, despite the freedoms a person may have while writing under an assumed name, there are some advantages to using your real name online.

That said, what does a person do when they notice that a large percentage of their visitors are coming through search engines like Google and Yahoo! with really weird queries? What can we do when there are a few keywords that put us on the first page of an unfavorable query? Or, perhaps more interestingly, what can we glean from the visitors that come to our sites using queries that would get most normal people locked up?

Search Engine Psychology

Over the last two years I have had the luxury of working with over 50 bloggers to help them build their sites from the ground up. I’m not a professional blogger by any stretch of the imagination, but I do have the basic skills required to set somebody up with a simple WordPress site and a number of themes that might catch their eye. One aspect of my services involves basic SEO training and, after monitoring close to 80 websites, I’ve come to the realization that bounce rates are incredibly high not because of phenomenally poor SEO, but due to something far more sinister: Google’s overuse of synonyms, and Yahoo’s inability to tell the difference between a good search result and a hole in the ground.

More than this, though, is the analysis of the search strings that are most commonly seen for each site. It makes me want to peek into the lives of some of the people searching for information, if only for half an hour or so, just to see if I’m imagining too many strange things. Here are a few of the actual search strings that I’ve seen for people coming to this site in the last 30 days, in order of frequency:

  1. Jason japan
  2. Drought Africa G77
  3. japan sucks
  4. jason irwin
  5. Japan Canada work
  6. Find work Japan
  7. Porno japan
  8. Young boy prostitute japan
  9. Jason pedophile
  10. Space elevator japan

It seems that I have the “Japan” keyword nailed pretty good, as well as my first name. Heck, I’ve even started seeing some pretty good results when checking for my ranking using my full name; Jason Irwin. But what the hell is up with points seven through nine? People are actually coming to this site by looking for these things in Google and Yahoo!? But this isn’t the scariest one I’ve seen recently. Not by a long shot. Earlier today I was checking my FireStats and this is what I was met with:

“I want to watch child porno”

What the hell is this? I can understand that some search engines might be perfectly content with my post a few months back talking about some ways that we might combat child pornography online but how does this translate into people being foolish enough to actually type something so damning into a search engine?

Understanding the Mind of a Fool, or Over-Analyzing the Data?

Just for giggles, I decided to check out the IP of the person that wanted to watch this highly flammable form of rape and was shocked to discover that the fool was from the United States. From the good ol’ Christian state of Texas, no less. I wonder why this person isn’t worried that the FBI or some other federal organization might be monitoring activity like this. Heck, considering how stupid some of the dolts were in NBC’s “To Catch A Predator” series, you’d think that the average idiot that gets off on watching kids subjected to something worse than water-boarding would have wisened up just a little bit to prevent getting caught with their pants down.

Clearly I was mistaken.

But now I’m left wondering just why someone would be so daft as to actually type this in to a web browser. Considering the amount of press the worldwide criminal investigations of this matter seems to garner, you’d think that people would know that they need to use the less traversed realms of the interweb in order to meet their needs. UseNET, closed IRC channels, and obscure FTPs with very limited access would be a few of the places that might still carry such taboo materials. Those who are familiar with Torrents might have some secret trackers at their disposal, but somehow I doubt that people would want to connect and risk having their IP broadcasted to any number of seeds that turn out to be police agencies engaging in a necessary, albeit potentially illegal, form of entrapment.

All this said, perhaps the data is nothing more than part of a police investigation for illegal activities. Who’s to say that the person using Yahoo! to search for potentially horrific depictions of children in all manners of inescapable predicaments wasn’t a law-enforcer who is working night and day to bring the lowest scum of the earth into the waiting arms of a federal prison where countless hardened criminals can subject the “fresh meat” to the same situation as they had once enjoyed viewing?
Regardless of the intent of these visits, one thing is for certain: people who have blogs that cover a multitude of topics and discussions will likely see lots of strange search terms that have brought visitors from all over the world. There have been an incredible number of visitors coming to this site looking for some kind of pornography, and there are other sites under my domains that have seen visitors come for everything from pictures of shaved monkeys, to dancing emoticons. How they manage to arrive, I’ll probably never know, but I’d love to find some ways to capitalize on it.

Have you noticed any strange patterns with search terms for your sites? Is this the result of search engines being too smart, or is it a failure in SEO? I’d love to hear your thoughts on the matter.

October 21st, 2008Digging Up The Post

How many things have I written on here? This was the thought as the young writer continued to look through the seemingly endless groups of files on the mobile computer. Though only an amateur blogger, the enthusiast loved to keep a copy of everything they had written, in the event they would need to pull a reference or, in this case, resurrect an abandoned idea.

Oh, I remember this one. But … wait a minute … why wasn’t it published?

This was quickly becoming a regular occurrence for the content creator. Over a dozen fully completed, but unpublished articles had been found on the tiny machine. Upon reading the title alone, the blogger had recalled not only the post, but the reason for writing it and its intended audience. Unfortunately, the time for publishing the thousand-word piece had passed. Even though it could have been considered one of their better works, its message was now months out of date.

Pushing the mild frustration aside, they continued on. Somewhere in these semi-organized blog article directories rested the half-written post that was about to be brought back from the perpetual purgatory where information was considered nothing more than abstract data.

Ask any long-time blogger about the number of posts they’ve abandoned, and you’ll probably hear a different answer every time. Nick over at RomanDock had asked this last week because he’s noticed an uptake in abandoned thoughts and, after unsuccessfully leaving a comment on his site, I thought that it might be worthwhile to explore this idea.

The reasons we might abandon a post tend to range from incoherence to being too emotional and everything in between. Looking just at the posts that have been ignored, set aside or unpublished from the various sites I’ve managed has shown that, more often than not, an article will fall prey to the killing floor if it explicitly defames someone or seems to be more angry than useful. Of course, there is the argument that most blog posts serve very little purpose, however, that’s a different subject altogether.

So, circular writing aside, what are some of the reasons people might hold back a post? I asked five people I regularly work with to answer this question and they all answered along the same lines: name calling, rage writing, superfluous circular references (incoherence), and memory.

Name Calling

Many people that have had the opportunity to blog under one pseudonym for any amount of time typically gets one or two people calling them out on one topic or another. This is to be expected and is sometimes the result of someone who’s trying to direct more attention to their site. However, depending on how we respond to a blatant attack on our character or personal beliefs, we can do more damage than good. It might feel good to hammer out a really good post backing up our positions and beliefs while simultaneously referring to the instigator as everything from an obtuse octogenarian to an idiot; it does little to add credibility to our own image.

Often times a good blogger will double-check their post as though they were a first-time reader to make sure that an article doesn’t seem too damning or detrimental to a site’s growth. When it comes to posting something that might be seen as fast-paced or racy on other sites, I often have someone sit down to read it before hitting the publish button. Maybe we didn’t really care how other people took our words when we started writing online content, so long as they placed our site amongst one of the better ones. However, while this methodology might work for some sites, it will not work for many.

Rage Writing

Much like name calling, rage writing is a terrible situation where someone sits at the keyboard and hammers away about a subject while still seeing red. Expressing our emotions might be considered a healthy way of releasing the frustration and pent-up emotions we might be feeling, but when an audience could be the size of the whole planet, this might not be the best way to solve our problems. It’s for reasons like this that people have often told us not to hit “Send” or “Publish” when we’re angry. Instead, it’s better to wait until we’ve calmed down to re-read the post (or email). Perhaps when we’ve regained our composure, we’ll be in a better position to decide whether or not our raw thoughts should be shared with the world. But how often do we remember to do this when we’re angry?

When I asked this question to some of the people I work with, the answer was not quite what I was expecting: 90% of the time. If one out of every ten angry posts can get through some of the more professional people that I regularly talk to, then it would be interesting to see just how often this might happen with the rest of us.

Superfluous Circular References (Incoherent Thoughts)

How often have you sat in front of the computer to type out a blog post without any real notes only to find that every paragraph seems to say the very same thing? How often have you read a post the day after it was posted only to shake your head and wonder how you managed to put together such senseless dribble? We all have days like this, but it’s important that we double-check our work before actually putting it online.

One of the most common ways to accomplish this goal would be to never write a post for the same day it’s going to be published. Instead, write for the next day, or any other point in the future, with the understanding that it will be read and edited at least once before the scheduled publication date. I’ve been doing this for quite some time, and I know of at least two other professional bloggers that have suggested this on their sites. While this will not result in professional-grade articles or better comments from visitors, it will allow us another opportunity to go the subject we’re about to share with the world.

Memory … Or Lack Thereof

This could be the biggest stumbling block for many people who want to become a little more professional with their blogging. Articles are written on various computers throughout the day and saved on a memory stick or some other location. When they’re ready for release, they’re either moved to a special folder or emailed to ourselves so that we remember to post the article somewhere online. Unfortunately, because of a phone call or a stray conversation, we often forget a critical step and what could be a great post gets lost in limbo. Depending on how often we double-check our “staging directories”, we could let these posts sit for months at a time.

This is certainly a problem in my case, as there have been dozens of posts for numerous sites left unattended for too long, and now they’ve become stale. It’s a sad state for the posts and, perhaps, a sad event for the author. How many of us have tried for months on end to become a better writer only to have some of our great work lost to the sands of time?

We are our own worst enemy … and an overloaded memory or burdened multi-tasking capacity can reduce our chances for success ten-fold.

Okay … Now What?

It’s important that we know our weaknesses and learn from our past mistakes. In the case of forgotten posts, we can often recycle them one way or another. With rage writing, we can get the anger and frustration off our chests, then come back later to take some of our raw emotions and phrase it more elegantly or to serve some constructive purpose. Name calling can be difficult to set aside because it’s something that many people have done since kindergarten, which means a conscious decision to take the high road must always be made. When it comes to incoherence or a poor memory … well, we can only strive to achieve something better.

How do you ensure the quality of your posts? Is there a checklist that you perform before hitting the “Publish” button? Do you have another set of eyes double-check the quality of your writing? I’d be curious to know how you get around some of these common problems.

As an aside … I have forgotten to post 38 articles in the last year alone, with six of them being guest posts. Only three of them can be recycled in any fashion, and one must wait until spring before it can be shared with the world.