I enjoyed reading the book What Happened by former Bush press secretary Scott McClellan, but I did not particularly enjoy what happened over the last 8 hours when there was a question of whether Obama Conspiracy Theories would continue to exist outside of the Internet WayBack machine.
I’ll begin the story in January of 2012, when I moved the blog to a new host and in the process messed up the database encoding, leaving non-displayable special characters scattered through the whole database. I’ve been finding and fixing them ever since, and that was what I was doing today when I trashed the database. Instead of replacing the content of the article on Orly Taitz using an SQL update statement1, I replaced every post and page on the blog with the article on Orly Taitz. The home page was 10 copies of Orly Taitz. The Visitor’s Guide was Orly Taitz. The Debunker’s Guide to Obama Conspiracy Theories was Orly Taitz.2
I shut down the blog.
First, I thought “backup.” My web host had nothing in their documentation about backups being available that you don’t do yourself. I knew my own backups were not current, but I went to the folder where I keep them and got the message “A hardware error prevents the opening of this folder.” I read up on MySQL on the Internet, and there was no rollback available since I hadn’t used transaction control. That was the low point: No blog, no backup.
In my career, I fought my way out of many an IT disaster, and panic was not an option. So I opened a support ticket with VPS.NET and asked if there were any database backups. There was one from January 25 and they gave me a copy of the raw MySQL database (after three tries and having them reset the permissions I was able to download it). I thought that I could extract some of the missing content from Before It’s News, where this blog is syndicated, although they don’t have updates (and I update my recent articles a lot).
So the first problem was restoring the content of the articles and pages from the raw database files prior to January 26. I couldn’t just reload the tables and add the missing articles because that would detach all the comments. Comments are important. So I downloaded the raw files to my desktop computer and started looking at how to get at them. Step 1 was to install MySQL 5.1, which was pretty easy. There is a neat Windows utility called procmon from the Sysinternals Suite that monitors processes and tells you what files they are looking for. I cranked that up and watched what MySQL was doing so I could find where it hid its databases (c:\programdata…). Then I copied the raw database into that directory structure and voila, a database I could get to. I use the HeidiSQL client to access this blog on the Internet and it worked easily on the desktop version (that’s also what I used to trash the database). I also used HeidiSQL all throughout the debugging process to make sure the live database was being updated correctly.
So next, I needed to write some software that would take the desktop database and update the post content column of all the posts and pages. To do that, I needed to get Delphi XE4 working with MySQL and that didn’t fly right out of the box. I did a lot of reading on the Internet and thought I had figured out the problem. I actually ended up running the Windows cmd shell utility to enter a path command. It still didn’t work, even though procmon showed that the driver files were being found. It turns out that I had installed 64-bit MySQL, but was trying to access it from 32-bit code. That was easy to fix, switch the code to 64-bit. That worked a bit, but the Delphi XE4 development environment is 32-bit and it couldn’t connect to the database. So I had to uninstall MySQL and start over with the 32-bit version. Only the uninstall left remnants, and before it was over, I was deleting Windows registry entries and manually disabling services. FINALLY, the code and the IDE could connect to the local database. I had to learn a new component set to access MySQL, but that was straightforward, and I had to read up to remind myself of the syntax for parameterized queries. Pretty soon I had a program running, updating the live database from the backup, all 13,105 pages, articles, and revisions. It did all that over the Internet in around 5 minutes.
So then I thought about looking into the possibility that Windows Live Write! that I use to write most of the articles might have some backup versions of the files taken before uploading. It did (procmon found them), but when I tried to open one of them, it just downloaded the latest version from the web site (whose publishing API was still live). I looked all over the Internet to see if I could find a way to open those binary files and get at the content. No luck, but then I had an idea. I unplugged the LAN cable and tried again. After a few error messages, it opened the disk version. I plugged the cable back in and created a Windows Firewall rule to muzzle Live Write and wrote some more code to take HTML from the clipboard and stuff it in the database.
That worked great except for articles with pictures. Live Write! doesn’t use real links to pictures, but symbolic ones. Articles with photos I got from Before It’s News, and updated them with text from Live Write! Finally it was all done, and the blog is pretty much back to normal, except for a handful of changes I made over the last few days to very old articles, replacing dead hyperlinks.
Now I need to go fix those funky characters3 in the article on Orly Taitz 😯
1What I did was paste some text (the entire HTML for the article) and accidentally erased the where clause in the SQL statement that was supposed to limit the update to one row. One glance at the SQL told me what it had done.
2I am reminded of two things as I write of everything on the blog being Orly Taitz. There was a Russian comedian named Yakov Smirnoff who tried to describe the Soviet Union. He said that it was like being in Milwaukee, only everywhere you went for a thousand miles, you were still in Milwaukee.
The other is the dialog from the movie Demolition Man [video clip]:
Lenina: You do not realize that Taco Bell was the only restaurant to survive the franchise wars.”
Savage: “So?”
Lenina: “So now all restaurants are Taco Bells.”
3The reason that I have to use SQL to fix the characters is that because of the bad data, those articles will not open in the WordPress article editor.
are you sre some Flying Monkeys didnt sabotage your sight.
I mean it is the standard claim in the “birther” world.
All my speeling iscorrect.
“I replaced every post and page on the blog with the article on Orly Taitz. The home page was 10 copies of of Orly Taitz. The Visitor’s Guide was Orly Taitz. The Debunker’s Guide to Obama Conspiracy Theories was Orly Taitz.2”
Hilarious.
I was pretty sure that this episode was “proof that the regime is further tampering and sabotaging . . . ” (copied from Oily’s House of Malware).
Glad to see that you are human and acknowledge a fat-finger moment, and that all is well. Your site is a spot is tranquility and reason in an ocean of stupidity.
Since I dropped you my first note this morning when I found the blog down I’ve been recalling similar disasters in my former lives.
They’re fun to talk about years later but absolute hell while you’re figuring out a fix.
Nice job…….and thanks for making it work……again.
You have got to be the luckiest man alive to find all the parts like that. My hat is off to you.
FireDAC is pretty good, isn’t it. I’ve pretty much given up on my own semi-flakey DB interface stuff. Or at least, I’ve been able to plug FireDAC in to it and no longer need to load up on conditional compiles to sort out what code to use for which DB. FireDac does all that now.
Did you get Embarcadero DBChangeManger with XE4? I have just installed XE5 and got a free copy of DBChangeManager that I played with last week. Had you had that, and run it on a regular schedule, I rather think you would have had a much easier time of it. It has version control of both structure and data. I haven’t tried to do any restores yet, but I expect I will start to use in seriousness very soon.
I used dbExpress for this project. When I was working I used what is now called dbGo. I don’t recall seeing anything about DBChangeManager.
FireDAC was new in XE4, but I don’t have it installed. It looks like the Pro version has limited FireDAC capability.
And she’s probably having multiple orgasms, because someone finally let her feenish…
And Falcon and some other birfoons are speculating that this was all a clever ruse to destroy evidence: http://www.birtherreport.com/2014/01/gallups-americans-will-revolt-if-media.html
You haz mad clever. We’re not worthy!
Well done!
Since Orly couldn’t possibly hack / punk you, you did it for her. Your generosity is w/o limit!
You certainly earned your pay today. 😀
Amazing. You have a database kerfuffle, and birthers like Falcon lose their collective $!#@.
Doc, you are getting too close to exposing Zullo and Taitz.
Color me not surprised. I figured that would be at least one birfer cry the second I saw the site was down.
Sorry for the unfortunate adventure Doc- but glad you figured it out.
And yes….I did think that the first thing that any Birther would assume if this happened to them was that it was all part of the Konspiracy!
Taitz and her flying monkeys are physically incapable of accepting that her own incompetence invites disaster with everything she touches, especially including her House of Malware.
Instead of accusing Birthers of Hackery, you worked for a technical solution.
Again, they were physically incapable of accepting such a thing was possible. It MUST be an Obot plot to purge information!
And yet, every page is back, and even lost hyperlinks on some of the older pages work again…
Truly, this must be another Obot plot of simply diabolical proportions! You’ve faked a disaster and recovery in order to punk them into thinking you’ve destroyed evidence and then you haven’t, when it’s all simply cover for your OTHER insidious plot! Such a masterful bait and switch! And they’ll never see it coming, until…
…but, I’ve said too much!
Oh, I see. DBCM was an added incentive when I got XE2 and XE5 both. I couldn’t get the one that came with XE2 installed, but the one that came with XE5 just worked.
Ahhh. I see. I upped the ante to XE5 Enterprise. I got it for the same price as Pro.
Enterprise has the full FireDAC capability – all DB engines are supported. I thought FireDAC in Pro supported Interbase (but not Firebird) and mySQL. Could be wrong.
I never used dbExpress because I could never get a Firebird driver for it to work. I used ZEOSLib instead and that worked but was a bit touchy. ZEOSLib doesn’t work in XE5, at least not yet, and I don’t need it anymore (whoohoo!).
Damn, I’m in the air for several hours and I miss all the fun.
On a brighter note, I am luxuriating in a very nice suite at the Mandarin-Oriental in Jakarta… OMG that must mean I’m on an Obot mission to destroy stuff….. or something…😃
what we have here is yet another concrete demonstration of the gaping difference between the worlds inhabited by birfers and their critics.
from the management of lawsuits to the practice of their stated occupations to the design of websites to the organization of political action only one side has consistently demonstrated competence and professionalism. only one side has consistently predicted the outcomes at every junction of the birfer movement while the other has been left holding their crackerjack box credentials amid the wreckage won by their rank ineptitude.
one side is a petri dish for malware. one side can’t design a professional-looking website, even using templates. one side can’t produce professional-looking court documents or file them properly. one side can’t even spell. one side is littered with malpractice suits. one side never wins a case. yet this same side demands while blue in the face to be treated as professionals, experts and scholars — who are only victims of a vast unholy conspiracy to thwart their inevitable and glorious vindication.
Doc, I was horrified to hear what happened. So glad you could get it back.
I use a WordPress plugin called BackWPup. Every day at 3:00 a.m. all my WordPress sites are backed up automatically and the backups are posted into separate directories in my DropBox account. The settings delete the oldest backup when there are 10 for any one site. I’ve found that it’s easy to set up and it runs well without my participation.
BackWPup is free and I highly recommend it. You’d never be without a backup less than 24 hrs. old.
I am not that much into the tech side. Just glad you are back.
Doc
It is incredible that you were able to recover from a true disaster of universe shattering proportions in just 8 hours. It is a good lesson about how important backups are.
Wait until they read this article, and conclude that Doc is no longer writing in English … what is he trying to hide? Why is he writing in code??? 😉
Excellent advice, comrade. I’ve decided to try UpdraftPlus Backups. It works with Google Drive and I don’t have enough space on DropBox (and recently deleted my DropBox account anyway because I wasn’t using it). Obama Conspiracy Theories is more than a gigabyte.
Bravo! For 8 hours my universe was shattered. You have restored balance in the cosmos.
all in Old Church Slavonic, or as good as, to me, Doc. I am impressed, as ever, and welcome back to the outside world…..
Well, now, maybe.
Yeah, what he said.
This comment from M.B. at Birther Report:
And what about the Obots who might live in “Stand Your Ground” states like Florida. They might feel a might threatened by these “posses” showing up at their door.
Anonymous Commenter Johnson is right!
I’m posting this at BR:
I post under my real name. I live in Baltimore and own a woodworking business there.
So much for hiding behind “internet anonymity.”
So much for being a paid operative. I make my own money.
And I will be waiting for you. You show up at my house, the dogs, my tactical shotgun and our security system will be waiting. You won’t even make it to the porch.
What article at BR was the comment by MB posted under?
What a confusticated nut-bag. I’m sure we’re all terrified of his impotent threat-making.
Said M.B., anonymously.
I saw what you did there.
“M.B. at Birther Report”
Is that a stage name or the official, long form, vault certificate name?
It’d be a year of difficult decisions for the judges at the Darwin Awards.
But, fortunately for the birfers, Corporal Zullo won’t be giving them the opportunity to find out how stupid their stereotype of Obots as “anti-gun” is.
But here’s a free tip for the “posses”: I only have one cylinder of .357 JHPs before I fall back to .38 +P. So put your most expendable members closest to the front.
Token on-topic remark: the “submit comment” button seems to have disappered, and I _think_ it happened as part of the recovery. The link is still there, but there’s no text or icon visible.
Meh… as long as you have a few speed-loaders handy. I really need to stock up… I think I’ve only got two for the Python.
It may be time for a Progressive Constitutional Militia. Would that make Falcon and RacerJim wet their Depends or what?
Just to be clear about this- I have never mocked any true Americans.
I have been mocking Birthers.
http://www.birtherreport.com/2014/01/mike-shoesmith-indonesian-obama.html
Oh, I do, but they’re loaded with +P. I got hit by a car about 40 years ago, and some of the bones in my wrist are not quite their original shape, so I can’t shoot .357 much. So all I have is a few rounds a reloader friend made for me ‘cuz he thinks .38s are too wimpy. 😉
It’s why I chose a .357 revolver when I moved to the country and actually needed to have a gun around: it’s simple, reliable, and you can practice with soft loads while still having stopping power if you ever do find yourself in a life-and-death emergency.
“Well, I’m certainly ready for those Soros checks to start rolling in. I have 3 weeks vacation laid up, I can be home, ready and waiting. Lay it on me, George!”
— JPotter, proud Fellow Scumbag
A hilarious exchange, Doc! And it answered my “what’s so incriminating” question …. it’s your very existence! (Of course.) “Doc Commie” …. that’s typically low-effort … and the wingnuts wonder why they have no mainstream comedians.
Awful nice of BR to post your comments, and esp. Bobj’s! (way to go, Bob!) They cut me off after one day. Too much dry reality, and too little celebrity, for a birfer blog, it seems.