we were experiencing technical difficulties and now we are just experiencing disappointment
Thu 2021-08-26 16:57:09 (in context)
Heyyyy, it's another blog post. Two in two days! Go me. Only I am here to report that no, I did not manage to adhere tightly to any sort of schedule on this tightly scheduled Thursday, so, y'know, booo.
I have some Excuses. Actually, I have one main excuse. You know how when something has gone wrong, you can say to yourself, "I will deal with it later tonight," but the Wrongness continues scritching and scratching at the back of your head anyway, this awful persistent distraction that just won't let you concentrate on anything else? Yes, well, I was distracted with getting my blog back.
(This is also why, if I don't manage to do anything else writing-wise today, I'm damn well posting this blog post. Because I need to gripe.)
I didn't realize anything was wrong until I went to post last night's entry. I'd composed it in 4thewords, no problem, copied it into Scrivener, yup, compiled to HTML for proofreading in Firefox, awesome, pasted it into my homebrew blog-editing web-interface, so far so good, and finally hit PUBLISH. If that sounds complicated, well, I complicate everything. It's my brand. The upshot is, the only part of nicolejleboeuf.com I've touched thus far is the private directory with the server-side password prompt protecting all the controls whereby nobody but me gets to post, edit, or otherwise fuck things up.
But someone else had already fucked things up, as I would shortly find out.
After I hit PUBLISH, the next order of business is to rebroadcast the post on social media. I have an RSS feed, hand-coded in PHP from MySQL just like everything else on this website, which dlvr.it scans for new material to auto-post to Twitter. But it doesn't auto-post to Facebook anymore because Facebook took away their ability to auto-post to personal pages years ago, and I'm just not dedicated enough to set up a Totes Professional Facebook Author Page. Sorry. My Facebook presence is just me under all my hats, ink-stained writer cap and roller derby helmet and witch's hat and whatever else looks must-have to my questionable fashion sense.
So I do the Facebook rebroadcast by hand. I head over to the nicolejleboeuf.com home page, incidentally making sure the new post shows up on the RSS round-up without weird errors (I need to fix something in the encoding, but until then I just avoid quotes and ampersands in the blog post titles), to snag the link so I can paste it into a Facebook status update. Once I do that, I'll note the URL and date in that post's custom metadata on Scrivener, and then I'm done.
Well. I headed over to the home page, and damn if it didn't say "Sorry, no RSS for you. Can't read the data. Sucks, dunnit?" Well, not in those words, of course.
So of course I panic. Not only did I hand-code this blog and the related manuscripts-and-submissions database interface (which continues to be incomplete, because I suck, which is why I still have to do a lot of submissions logging directly into MyPHPAdmin), but most of the code I haven't touched since, oh, 2003. And every once in a while my domain host upgrades the default PHP install, some bit of code or other becomes depreciated, and my website breaks. So I was like, argh, it's 10 PM, I do not have the wherewithal to play hide-and-seek with depreciated code bits. I'll deal with it tomorrow. And then I promise I will proactively comb through my code for anything that's depreciated by PHP 7.0, and then I will upgrade from 5.6 to 7.0, and I will be FUTURE PROOF. For some small segment of future, anyway.
Well. Tomorrow comes around. I get up. I do the bunny chores. I make myself tea. I do a couple writing tasks that absolutely have to be done First Thing in the Morning. (One of these is a short story critique that I promised a friend the other day. If I accomplish nothing else, I can now feel virtuous about keeping that promise.) Finally I pull up EditPlus and tell it to Open Remote via FTP so I can get some debugging done. There follows a period of 20 minutes or so during which the FTP won't connect and neither will my email and the domain host's server status page isn't even resolving but we won't go into that because eventually everything does connect and I find out the problem is both bigger and smaller than I'd thought. To wit:
The whole public blog folder, nicolejleboeuf.com/journal, is kaput. 500 Internal Server Error. Even on index.html, which has no php code whatsoever. It's not my code. It's something in the file structure.
A bit more poking around and dredging my technical memory for "how did I used to deal with this back when I was actually fluent in Programming?" and I figure it out. But because I do not assume you are fluent in Programming, it'll take some explaining. (If you don't need the explanation, you can just skip to the next dramatically single-sentence paragraph.)
So, remember that directory that's private? Where I do that first bit of blog uploading? That I have to enter a password into my web browser to get into? OK, so, that's enabled by a special file called .htaccess that lives in the folder and specifies stuff like who's on the guest list and what password they need to use to prove it. It can specify other stuff, like that index.php is your default web page and not index.html, that sort of thing, but it's the password protection stuff that's important for this story, because that's what was kaputting my blog.
The private directory's .htaccess file had been copied into the public /journal directory.
Very specifically that .htaccess file. I know because it said AuthName "Niki's Weblog: Staging Area" and everything. And I really must emphasize that I did not do this. I don't know how it happened, and I've got a support ticket in to my domain host to see if they know, because this sort of thing can leave a web developer feeling distinctly uneasy.
But the good news was, the solution was super simple. Delete the offending file, and I've got myself a blog again. And an RSS feed. And a blog round-up widget on my front page. And everything.
And then suddenly it was time to go pick up this week's veggie share at 63rd Street Farm, and then come home with the veg and put it away, and make myself some food, and putter away at nothing in particular, because I am now in the two-hour window between the farm and the roller derby during which nothing gets done.
Well. This blog post got done, anyway. Which is more than I can usually say for the Thursday PM doldrums.
If I am very good and do not join my leaguemates for beers after practice (wistful sigh), I may actually get the rest of the writing done. Which is to say, I might manage about 15 minutes on each of the three tasks I had hoped to get done. Which would be better than not doing them at all.
Here's hoping.