Doing a little better today, but still feel like I'm moving at one-quarter speed, on account of not having been able to stay asleep long enough at a time, last night. Still have way too much to do and fearing too little time to do it in, but this morning I finally knocked off one item I'd been stressing about ...
The automatic QotD-posting script[0] was a little fragile, in that if any one site it was trying to crosspost to was down or really glitchy, the script would get stuck trying and retrying to post to that site and not get to any of the ones later on its list. When this means I have to go thump it by hand when I wake up and the QotD is merely a few hours late some places, that's just a small annoyance. But I didn't want to leave it vulnerable to that problem while I run off to Pennsic, as I won't be logging in all that often and the state of the queue could get rather messed up if the problem were to occur and persist for a few days. So when I woke up this morning after my two hour sleep (*grrr* It wasn't even two solid hours, as odd dreams and odd pains took turns interrupting) and I didn't really feel like I could move much with the way my arms and shoulders hurt, I figured it was time to start banging out code.
The new version is probably more complicated than it should be -- I'm considering it the first draft of the new approach, and if I wind up throwing it away and starting over sometime in August, no biggie -- but in my tests so far it does seem to be working. It fires up several background processes, and each of those does the "try to post, retry if Clive (the client I hacked) returns an error code" loop on its own at the same time as each other; I also made the timeout incremental (well, geometric actually) because my old wait-two-minutes thing was kinda stupid.
(I'd coded the two-minute timeout when most of the errors I saw were brief connectivity glitches and cosmic-ray errors, and a few quick retries usually sufficed, but every so often a site goes offline -- or is still present but broken -- for a few hours or a couple of days, which means that I get a womdigious email message from the cron daemon, full of "failed, trying again" messages, when the problem finally gets fixed or I kill the process by hand, and I'm tying up more resources on the machine where it runs than really do any good (probably not enough for the admins to get annoyed, but it still feels wrong. So now it starts at two minutes and the delay is multiplied by the square root of two each time it fails, so one-time glitches and fairly brief site outages will still result in a successful retry after a very short time, and when a site does down for eighteen to fifty hours, my program will back off to a more reasonable interval instead of banging on the door constantly screaming, "Let me in!" But I should probably put a cap on the delay, and I do need to go fix a bug (or just a missing feature, depending on how you look at it) in Clive, where if the next day's quote does get posted during the previous day's wait-to-retry delay, the one that got delayed won't get posted at all[1]. But even if I don't fix that before I leave for Pennsic, it'll only affect one site at a time, rather than screwing up all of the copies of my journal.)
Anywho, the reason I'm bothering to tell all y'all this[2] is that despite the tests I've just finished running, there's always the chance that I've overlooked some condition that will bite me come 5:25 tomorrow morning. So if tomorrow's QotD doesn't show up on time, or the same quote shows up two days in a row, it's probably because I need to polish the new autoposter.
I've had a bunch of really cool ideas for it in my head for a while, but most of them will have to wait. This change is less nifty, but was something I really wanted to have in place before Pennsic.
[0] Uh, I'm pretty sure most of you have either already heard me talk about this or figured it seemed obvious from the usually-consistent posting times, but every so often I'm reminded that it's not something non-geeks automatically think of as a candidate for automation. Anyhow, sometimes I have two or three days worth of quotes already lined up in the queue, and other times I have two or three months worth set up and ready to go. And the cron daemon is my friend. Someday in the (very distant, I hope) future, this may wind up being a little creepy and upsetting for the rest of you, but until then it's a signficiant convenience.
[1] The problem is that LJ et.al. don't appear to let you just post a backdated entry if a later entry already exists, unless you set a "yes I really mean to do this" bit someplace (the "date out of order" flag), and (as of the version I've got which I think is current) Clive doesn't appear to have any way of setting that bit. So I need to go read up on the LJ API, to learn how it's supposed to be done, and then find the right spot (in a different section of the code than I've been tinkering with so far) to hack Clive to do the right thing. Either that, or give up on trying to backdate delayed posts -- which would mean that different mirrors of my journal would have entries in different orders.
[2] OMG, I must be even more tired than I realized,
if I'm thinking in a dialect which uses a singular
"y'all" (thus requiring "all y'all" as the plural) -- Sheepie
has pointed out (and I think
realinterrobang
has done so as well) that the more tired I am, the more Southern
my accent gets, but "all y'all" isn't even my own dialect.
(It's a near enough neighbour that I'm used to hearing it, but
it's not one I normally speak ... uh, I think.)
(no subject)
(no subject)
Well, I grew up 10 mi. south of the Mason-Dixon line, so technically I suppose I could be called a Southerner. However, the first four years of my life were spent in Massachusetts; Dad's whole side of the family is originally from western New York/Ontario and I'd say Mom's forebears have a lot more in common with the Pennsylvania Dutch than "them there Southern folks" (be they Baptists or Episcopalians). So my accent can possibly float across in the northeast quadrant of the U.S.A. if I'm not careful.
However, the first time I heard "all y'all" used by someone else, I knew *exactly* where it fell linguistically and fully accepted it as part of the Southern dialect. :) And yes, if I'm mentally immersed in that dialect -- say if I've been in Tennessee, or even just listening to too much Dolly Parton -- it'll pop right on out of my mouth given the appropriate context. :)
Ooh, and I just realized how I could really mess up some people's heads by delivering the following simple sentence without thinking about it: "I reckn all y'all could come up to Bahstn with me?"
(no subject)
(no subject)
Why is it that we inevitably have conversations about things that are stereotypically strongly gendered male? :) That seems kind of weird to me. I think we've even talked about football, for goodness' sakes, and I don't even watch football...
I find "all y'all" about as jarring in your speech as
_______________
* For those of you not familiar with Canadian dialect, the above sentence translates to "Tell me everything you want on the sandwich, in list form." The difference between the answers for "What do you want on your sandwich?" and "What all do you want on your sandwich?" would be that if you answered "Ham" to the former, that's all you'd get, whereas if you answered, "Ham, mustard, and lettuce," you'd get all of those things. We also have an analogous construction using "who" and "who all" (as in "Who was at the party?" versus "Who all was at the party?") and "Where" and "Where all".
(no subject)
(no subject)
Y'all's is possessive (singular). All y'alls' is plural.