My Web Server is Older Than Your Web Server

This post is dedicated to the dedicated server I just shut down. A single Linux box at a server farm in Dallas was for many years the center of my one-man media empire. Over time I moved sites and services off of it, but it remained the home of my weblog Workbench, my 25 computer programming books, a client's business site and an email server for six users. Every month as the billing day approached, I told myself I was going to move everything to another server I own and save myself $69 a month. But I managed to successfully avoid the task until now.

On Wednesday I got up at 6 a.m., two hours earlier than usual. Waking up abnormally early always makes me feel like I'm getting a jump on the rest of the world. Before that mood passes, I dive into something ambitious. That morning felt like the perfect time for a server move.

Eighty six hours later, I am punchy from exhaustion, completely devoid of ambition and remember why I never did this before. But the move is complete!

The following command on Linux revealed the date and time a file system was installed on the server's main hard drive:

/sbin/tune2fs -l /dev/hda2 | grep created

The server was born on Friday May 14, 2004, at 7:10:10 a.m.

I submitted the request to shut it down today at 8:52 p.m.

Ray Dureault in 2004 glasses, photo by John Tlumacki of the Boston Globe

During those 4,237 days, the server went from being cutting edge to a museum piece. It has a Celeron P4 processor and just 72 gigabytes of disk space. (Today you can buy a thumb drive with 128 gigabytes for $30.) The operating system it runs is Red Hat Enterprise Linux 3 (Taroon) from 2003. At least five years ago Red Hat stopped taking my update requests, so I had to do my own software upgrades.

I did a lot more than web hosting on the little server that could. As I wrote books about Internet technology, I installed the software and developed sites and web applications on the box. Digging through the server this week looking for things I might want to save, it felt like archaeology. I unearthed layers from the days I was using Movable Type, WordPress, Radio UserLand, Java Server Pages, Blogger and server-side includes. There were programs and scripts I had written in PHP, Java, Python, Perl and Bash.

I won't be letting any more of my servers become senior citizens (one year is equal to 10 in PC years).

Instead, this is the new plan:

1. Only store content on a server that's currently being shown to the public. If I take something down, I will move all of that data offline along with scripts and software that are no longer needed.

2. Jump to a new server every 1-2 years.

This is an overcorrection. I'm replacing too little ambition with too much. But I no longer have to do the two things that were the most difficult: serving email and domain name queries. During this move, I found ways to offload both of those tasks. So all I have to focus on are the web server, database program and any server-side technology that's required.

A server move always improves my sites. I find mistakes and things that were written poorly, like a database login script with a hard-coded IP address in it.

I also like the added security of running on a new Linux box, where security updates are still available and there's less chance a hacker snuck in and installed something nefarious.

In 2026, if I write a blog post about retiring the septuagenarian server that's hosting this blog, consider that a sign my plan failed.

SportsFilter's NFL Pick 'Em Contest

Orlando Sentinel Disappears Column on George Zimmerman

Screen shot of Orlando Sentinel column on George Zimmerman by George Diaz

The Orlando Sentinel has dropped into the memory hole a commentary published Friday evening that called for the community to stand its ground against George Zimmerman. The piece, written by sports columnist George Diaz and titled "Time for Zimmerman to pull a Casey Anthony and vanish," was published at 5:43 p.m. and archived by Google two minutes later. As of 10 a.m. Saturday morning the commentary was gone with no explanation.

Zimmerman, who killed unarmed teen Trayvon Martin in Sanford, Florida, on Feb. 26, 2012, during a physical altercation and was acquitted of second-degree murder a year later, was shot at this week in a road rage incident in Lake Mary but escaped serious injury. The alleged shooter, Matthew Apperson, has been charged with aggravated assault with a deadly weapon.

The Diaz column included a sentence and headline that could be interpreted as advocacy of violence against Zimmerman. After quoting a jury instruction suggesting that Zimmerman could "stand his ground and meet force with force," Diaz wrote, "Perhaps the entire Central Florida community should file a motion to Stand Its Ground against Zimmerman."

The column had the subhead, "Central Florida should stand its ground against George Zimmerman."

Here's the full text of the spiked article:

George Zimmerman is the gift that keeps on giving, but not in a good way. He is a fruitcake way past its expiration date, which should have been right after a jury found him not guilty in the death of Trayvon Martin in the summer of 2013.

Zimmerman should have cashed in his chips that day after winning the lottery in the controversial spectacle of his trial.

By legal standards, the jury got it right based on the evidence that was presented. By the court of public law's accounting, Zimmerman burned up his "Get Out of Jail Free Card."

Most reasonable people have tried to move past the anger, despair and confrontational name-calling. Unfortunately, Zimmerman is not one of them.

The latest incident involving his road-rage dance partner, Matthew Apperson, only amplifies the controversial noise of the George Zimmerman soundtrack.

We've all dabbled in pop psychology when it comes to Zimmerman. Anger issues. Confrontational issues. Misunderstood Community Watchdog issues.

Whatever. All I know is that I am sick of him. Like that pesky cockroach, Zimmerman is always a step ahead of the big sandal bearing down on him. Annoying little fella, isn't he?

There are those who will whoop it up, celebrating that karma is catching up with a man whose reputation is forever stained with the blood of a dead teenager.

I'd humbly suggest the bad karma is on everyone who lives in Central Florida. Zimmerman won't leave, dooming us to eternal damnation. Our streets aren't safe with Zimmerman behind the wheel. Anybody could get nicked by a stray bullet intended for him. Any woman who is clueless enough to date him seems destined to end up in a contentious, volatile breakup.

Maybe Zimmerman is the unluckiest man in the world. Misunderstood. A Real American Hero.

In three domestic-violence cases over the years, the women involved either refused to cooperate with police or refused to press charges. Most recently, Zimmerman and Apperson added another chapter to their wild history that includes three incidents. Flying glass scrapped Zimmerman's face after Apperson fired a shot. Apperson claims that he had been threatened by Zimmerman. No charges have been filed against either man.

But a basic fact is that the common denominator involving these forms of mayhem is Zimmerman. Innocent or not, he is a magnet for trouble.

So let me offer up a "Get Out of Central Florida Free Card."

Here's a thought: Pull a Casey Anthony. She also wiggled free after standing trial in 2011 for the death of her 2-year-old daughter, Caylee. But at least Anthony had the good sense to jettison herself into a self-imposed Witness Protection Program.

We haven't heard much from her, have we? The "Tot Mom" was reportedly last seen a few days ago, wearing aviator shades and a baseball cap while jogging in West Palm Beach. That's the ticket.

Incognito. Lay low. Out of sight, out of mind.

But no, Zimmerman keeps getting into legal dust-ups -- ex-wife, girlfriends, random strangers. Could we be next?

During Zimmerman's second-degree murder trial, his attorneys told jurors that he feared for his life when Martin, a black 17-year-old, attacked him. The judge in the case included the possibility that Zimmerman "had the right to stand his ground and meet force with force," as part of the jury instructions.

Perhaps the entire Central Florida community should file a motion to Stand Its Ground against Zimmerman.

Does Zimmerman need a notarized statement? An online petition? Do we need to start a Gofundme campaign to help pay for Zimmerman's bus fare?

Zimmerman certainly has our attention. The online data from orlandosentinel.com and other websites reflect his click-bait skills. People dig the stories. But it's mostly freak-show appeal.

Zimmerman is Internet eye-candy with a bitter aftertaste. Can't get enough online? Check in with Nancy Grace tonight for more details.

Dear George: Be Like Casey.

Leave. Now. Forever.

Brad Torgersen's 'Science Fiction Civil War'

Brad Torgersen

Since 2008 I have voted in the Hugo Awards, the science fiction/fantasy honors that have the most prestige. The ballot for this year's awards has been hijacked by three right-wing authors -- Larry Correia, Brad Torgersen and Vox Day -- who ran bloc-voting campaigns that put their nominations all over the ballot to the exclusion of everyone else's. For months, they campaigned for people to vote for their slate of nominees by saying this act would stick it to a secret cabal of "social justice warriors" who had been keeping conservatives like them from winning.

There is no cabal.

Anyone can vote for the Hugos by buying a $40 supporting membership in the next Worldcon. That's what I did seven years ago, and since then I've been nominating works I liked without outside interference from anybody else, just like thousands of other fans.

To give you an idea of how cynical and politically motivated the bloc-voting campaign was, Correia reached out to GamerGate for support in his attack on the Hugos. ("I think GamerGate has been awesome," he declared yesterday on Twitter.)

Rather than cover the entire mess a week later than everybody else, I'll direct you to the blog of Game of Thrones author George R. R. Martin, who has written an excellent series of posts as an author who has participated in the Hugos since the 1960s and loves the institution of Worldcon.

There's a lot about this situation that gets me all het up, but I'm beginning to savor the insane grandiosity of Torgersen (pictured above), a previously obscure SF/F author who led the bloc-voting campaign this year and dubbed it "Sad Puppies 3."

On April 8, Torgersen wrote a blog post on his personal site called "The Science Fiction Civil War" that he later deleted.

Here's the text of that post, which offers a fantastic glimpse into the preening self-regard that inspired him to lead a culture war against a much-loved SF/F award that fans of all political beliefs have nurtured since 1953:

A personal note, from a guy who has been trying hard of late to recapture some of the sense-of-wonder he felt for science fiction, when he was a boy.

The cannon have been fired. There's no doubting it now. Decades of simmering tension are being unleashed in an emotional struggle for the future of the field. The Hugo award is just a thing; a mere football. These divisions go far beyond a silver rocketship. They are drawn along political lines -- liberal, and conservative; progressive, and libertarian -- as well as along artistic lines -- taste, expression, and the desire for meaning. If one side has announced angry shock that Sumter got shelled, it's because that side had the luxury of ignoring the other side. At least until now. The grays have thrown off their teeth-grit veneer of second-class citizenship, and the blues are rallying to the status quo. Voices long quiet, have erupted with the yell of rebellion. And there is every sign in the world that the blues will stop at nothing to put down the grays.

I remember when I used to think science fiction was this happy, fraternal place. If there were disagreements, they were small things, and no adult would let them stand in the way of a rousing all-for-one-and-one-for-all cheer. A round on the house for everybody, ladies and gentlemen! Hip-hip-hooray!

I believe there may have been a time when the reality at least approached this naive impression -- an idea planted in my imagination, and fueled by the dreams of ambitious youth.

Now I am no longer green. This year finds me a veteran. I have seen the quiet hate in the eyes of so many colleagues. For each other. For the other guys. For the people beyond the next rise of mountains. It is a hate bred by a thousand slights and prejudices, snobberies and injustices and cuts which have bled quietly into the night. You see it every time one professional's celebration is conducted so as to kick sand in the face of another professional. The fans -- volunteers from the common parts of every locale -- line up along the fence rows and rock walls, nervously checking their cartridge boxes, and wondering when they can get a chance to lick the enemy.

Many people never thought it would come to this.

Now that we're in it, I have to ask: how could it not have come to this?

You can only paper over cracks in the foundation so many times, before the foundation falls apart.

The silhouette of Larry Correia stands on a lonely knoll, his beard jutting proudly like Robert E. Lee's -- or is it Ulysses S. Grant's?

The judgments of history -- far removed from the sound of the guns and the bloody casualties laying like cord wood across the fields and in the gullies and meadows -- will have to judge which "side" in this fight is the blue, and which is the gray.

I knew the moment I took up the flag for Sad Puppies 3, that I was sacrificing forever any chance of ever being a Hugo award winner. There would be no forgiveness. Not from the traditionalists who jealously guard their trophy and consider all complaints against it to be heresy. But I was resolved. As an object of merit, the thing had fallen into question for me -- along with so much of the rosy history I thought I understood, before I was published.

Now there is only the war. A war which nobody wants, and yet nobody can avoid. All the rancor and chaffing and preening distaste for "those who are not like us" ... flooding forth in a wave of bitter rage that is enabled from behind the immunity and protection of ten thousand keyboards.

I have the sense that this thing is going to change us all in some way, forever -- those of us who make some part of our lives in this country called science fiction. Now splintered and divided.

What's left for a man now is to do what his heart, and God, tell him is right.

And it will be up to the future to decide if I am a hero, or a villain. Perhaps I am both?

I will either be Phil Sheridan, or A.P. Hill. George Henry Thomas, or Stonewall Jackson.

If I hope for anything -- when all of this is over -- it's that the Hugo means something again, and that the blind spots, biases, prejudices, and petty shadowing are reduced, if not erased. So that other people who come to it in the future, won't find it the way we found it -- before the fighting turned hot.

Most folks will stay home. Many already bitterly resent the conflict. Damn all flags.

When the survivors are old and all the generals long dead, they may ask, "Was it worth it?"

Lord, I sure hope so.

Torgersen and Correia, who have cultivated an enormous sense of personal aggrievement about alleged anti-conservative bias in the Hugo Awards, were both nominated by Worldcon voters to the John W. Campbell Award for Best New Writer in the last four years. That's the highest compliment that we pay to new writers and often a springboard to a successful career in SF/F.

But neither of them won. Correia lost to Lev Grossman in 2011 and Torgersen to E. Lily Yu in 2012.

So to them, I guess "THIS MEANS WAR!"

Tackled Ohio State Student Was Wearing Booze Panties

There's a video going viral of a student running onto the field at the Ohio State/Cincinnati college football game Saturday night and receiving a ferocious open-field tackle by Ohio State strength and conditioning coach Anthony Schlegel to the roaring approval of the home crowd.

Press reports indicate that the student is Anthony James Wunder, a 21-year-old senior in mechanical engineering who is an Evans Scholar, a full tuition and housing scholarship for golf caddies based on grades, character and financial need.

If you're wundering what would make a college student put his academic career in peril so close to graduation with such a goofy stunt, the answer probably can be found in one of the photos of the incident from The Lantern, the student newspaper at Ohio State.

Take a look at the weird fanny pack Wunder is wearing as he's marched off by stadium security:

Ohio State student tackled on field by coach

The distinctive red cap indicates that it's a Freedom Flask, secret plastic panties that hold 32 ounces of "your favorite beverage." The photo appears to indicate that Wunder's booze briefs were running on empty before his dash to infamy.

The Freedom Flask, invented by a former University of Georgia student who tired of sneaking alcohol into sporting events, requires pouring yourself a drink through your pants. The site offers this reassurance to potential purchasers: "If you think it may be awkward pouring a drink from your fly -- it's not. What's awkward is being the guy who gets his flask taken by security. To be honest, we wish we would have thought of this sooner."

M.C. Moewe and the Story That Got Away

Daily Kos logo

You know how on cop shows there's often a veteran detective who can't let go of an unsolved case for years? My wife M.C. Moewe has been like that because of a story she reported that no publication will touch.

She's a former investigative reporter who worked at the Daytona Beach News-Journal, Fort Worth Star-Telegram and other newspapers.

Around a decade ago a big assignment was dropped on her desk: Family courts were giving custody of kids to a parent accused of sexual abuse and denying custody to the parent who alleged abuse -- even when credible evidence and experts raised alarms. Judges were delegating their responsibility to investigate to custody evaluators, experts shielded from legal liability who claimed that the concerned parent suffered from Parental Alienation Syndrome, a discredited psychiatric theory employed to completely dismiss allegations a child is being abused by a parent.

Twice her story was accepted by editors, prepared for publication and then killed right before it saw print.

It's the kind of story that needs a big media organization behind it. She tried several times to get it published, learning more each year about the subject as she heard from desperate mothers who lost custody of their children once they reported concerns about possible abuse. By her count, she now knows 30 women who've suffered this fate. I've heard her take long phone calls with these moms many times, and twice she attended the Battered Mother's Custody Conference. She's become an expert on a subject she never got to report on.

Last month, M.C. decided to tell the story of the scandal in the family courts as a weekly series for Daily Kos. She isn't running the specific story that got spiked, but instead writes about the entire system. The first installment explains her reasoning:

If I couldn't shine a light on a problem as bad as this one, then journalism just didn't fit with me anymore.

So I decided to come here and write what I normally call thumbsuckers –- stories that explain how a system is broken –- about our family court system.

She filed the sixth story in the series today, and it's a huge one: Mandatory reporters who tell the authorities about child abuse, as required by law, are losing their careers for coming forward:

After two preschool children indicated their father was abusing them and one child tested positive for a sexually transmitted disease, a health care professional treating the youngsters followed her state's mandatory reporting law -- but now she's the one in trouble.

"They act like I made it all up," the professional, who agreed to be interviewed on the condition of anonymity, said of her state licensing board. "I have lost business and I'm having trouble getting back into a couple of insurance networks."

She's confident she made the right decision to report the suspected sexual abuse but is baffled why a state agency has joined the alleged abuser in questioning her motives. "Less than five percent of children who report sex abuse are telling lies," said the professional.

Child psychologists and others who work to protect abused children say this is a common scenario -- they report abuse and suffer retaliation when the alleged abuser files a complaint against them. They say the actions taken to punish them by government agencies speak louder than the mandatory child abuse reporting laws.

Within minutes of posting the story, she started hearing from mandatory reporters who fear the consequences of doing the right thing. One said, "After reporting, in Pennsylvania, I hold my breath for a month."

Programming a Confidence Pool for the World Cup

World Cup 2014 soccer ball, Adidas Brazuca

I did some coding yesterday to run a 2014 World Cup confidence pool on SportsFilter. The way a confidence pool works is you assign points to teams based on how confident you are they will win. In this contest, you get point values from 32 down to 1 and assign them to the 32 World Cup teams. The more points you assign a team, the more you are awarded when that team wins or ties a match.

Anyone can sign up for a SportsFilter account and play. A prize will be awarded to the winner: the Adidas replica version of the official World Cup ball. The deadline for entries is shortly before the first match Thursday.

I wrote the web application in PHP, stored the database in MySQL and used the Smarty PHP template engine for the presentation. This was a project I had to complete in a single day, so I didn't think I'd go to the trouble of using Smarty. I figured I would just kludge together some ugly PHP pages that had code and HTML markup mixed together.

But Smarty makes it easier to present the HTML output of a PHP web application. I find that I write better PHP code when I use it and there's less debugging required to get things right.

The way Smarty works is you write a PHP script that does the work such as collecting user input and storing data, make some variables from that script available to Smarty and tell it to load a template file that contains HTML and some simple code to present information.

Here's the last part of the script that displays the contest entry form and validates what the user has submitted:

// make data available to templates
$smarty->assign('spofi', $spofi);
$smarty->assign('page_title', "Enter the SportsFilter World Cup 2014 Confidence Pool");
$smarty->assign('spofi', $spofi);
$smarty->assign('form_output', $form_output);
$smarty->assign('error_message', $error_message);
$smarty->assign('random_team', $random_team);
$smarty->assign('submit_widget', $submit_widget);

// display output
$smarty->display('header.tpl');
$smarty->display('confidence-pool.tpl');
$smarty->display('footer.tpl');

Those three .tpl files are templates. The header and footer contain the SportsFilter layout and the main body of the page is in confidence-pool.tpl.

Here's a portion of that template:

{$error_message}
<p><form action="/confidence-pool.php" method="post">
{$form_output}
<input type="submit" value="Preview My Entry" name="command">
{$submit_widget}
</form>

Smarty's template language can do more than display variables. It has for loops to display every element in an array and formatting functions that can do things such as control how the elements of a date are displayed.

I also used it on Wargames.Com. Here's some template code from the state directory pages:

{foreach from=$stores item=store}
<p class="directorystore">
<span class="directorystorename"><a href="{$store.link}">{$store.name}</a><br /></span>
{if $store.phone neq ''}<span class="directorystorephone">{$store.phone}<br /></span>{/if}
<span class="directorystorelocation">{$store.city}, {$store.statename} {$store.zip}<br /></span>
</p>
{/foreach}

The $stores variable is an array with link, name, phone, city, statename and zip elements.

The ultimate goal of today's project is to make it possible for a website's users to create and run their own confidence pools for any sporting event that lends itself to this type of contest. One sport it would be ideal for is the NFL, with players ranking the teams playing that weekend and competing all season.