Your leaking thatched hut during the restoration of a pre-Enlightenment state.


Hello, my name is Judas Gutenberg and this is my blaag (pronounced as you would the vomit noise "hyroop-bleuach").


decay & ruin
Biosphere II
dead malls
Irving housing

got that wrong

appropriate tech
Arduino μcontrollers
Backwoods Home
Fractal antenna

fun social media stuff

(nobody does!)

Like my brownhouse:
   the wily North Koreans
Tuesday, December 23 2014
Though it was fairly warm (and also rainy) today, in this season it's normal for me to turn on a small electric spaceheater in the brownhouse whenever I visit it. Occasionally, though, it does not turn on, and I find that the circuit breaker it connects to (the one supplying power to the east side of the the shop end of the garage, where the underground greenhouse/brownhouse power cable terminates as a standard three pin outlet plug) has flipped and there is no power. My usual reaction is one of, "huh, that's funny," and all I do is reset the circuit breaker. Today, though, I decided to get to the bottom of the problem. There just isn't enough on that circuit to trip a 20 amp circuit breaker; indeed, normally I can run my big-ass 15 amp jackhammer without any difficulties. Clearly, somewhere in the system there must be a short, and that short could actually be wasting electricity that we're paying for. So I unplugged the circuit and opened up the little box on the outside of the greenhouse where electricity comes from the buried cable and is redistributed to the downstairs, the brownhouse, and the upstairs (that was the order in which the circuits were added). I undid the big blue wire nut combining all the black "hot" wires and tested each one for its resistance with respect to ground. I found the short, which (happily) was not in the long stretch of buried wire, disconnected it, and then reconnected all the good hot wires. It turned out that the short was in a wire supplying power to the downstairs. Perhaps it had been caused entirely by the condensation of water; of late the downstairs has been about as humid as it ever gets, and today's warm rainy weather had probably made it even more so.
Eleanor refused to go on the walk this morning, even though it was barely raining when I set out. I think she regards my walks as being suspect, especially when Gretchen (who is still recuperating from her illness) remains in the house and I bring a chainsaw with me. I still had a few cuts to make to clear the Gullies Trail where it crosses a gully before it turns into the Mountain Goat Path (41.926005N, 74.102697W).

This evening, I had the task of trying to knock out a Safari bug in my Lightroom-webapp. But it proved unexpectedly vexing. A progress bar and a message were supposed to be displayed at the submission of a form, and though this worked fine in Chrome and Firefox (I don't know about IE; I usually don't bother testing in that anymore), it failed in Safari. I put in a bunch of debugging code, all of which showed that the DOM objects were being successfully manipulated by the Javascript, but none of this was being reflected in what was appearing on the screen. I didn't have a clue what was going on until I saw that all of these sorts of things worked fine in Safari under normal circumstances. The only time they failed was the the submission of a form. After the form is submitted, a bunch of server-side things have to happen, and after a couple minutes the user can use the app. Obviously, a progress bar was needed. But evidently in the world of Safari, after a page submits a form it cannot be updated visually until the form is fully processed by the backend. (I found a smattering of posts on the web alluding to this problem, but nobody stated it authoritatively.) To make the progress bar work, I had to make a workaround in which the form was never actually submitted but was instead processed by Javascript, which then made an AJAX call to the backend to save the data and perhaps display any errors.

As you know, for the past several months I've been working with some guys in Los Angeles to both develop and maintain a website for a chain of hipster movie theatres. This evening Mike & Marc had a conference call with me about an unusual circumstance. The theatre chain would be showing the new Seth Rogen movie the Interview, which features as its main bullet point the assassination of Kim Jong Un, the current real-life despotic ruler of North Korea. None of this would be interesting save for the fact that Sony Pictures had almost given up on releasing the movie in the aftermath of a severe hacking of their network followed by some poorly-translated terrorist threats regarding any release of the Interview. The United States government acts as though it is certain that the hackers are actually paid employees of the North Korean government, though others beg to differ. In any case, the theatre chain wanted Mike and me to look into what could be done to guard the website against a distributed denial of service attack. So, for an hour or two, Mike and I poured over Amazon Web Services configuration pages and documents, eventually giving up on that as a means of defense (AWS doesn't allow for blacklists of IP-address ranges, only whitelists, and the good guys in this case would be too hard to explicitly outline). We could have set up an IPtables firewall, but the concern there was that, having never set up such a firewall, we might accidentally lock ourselves out of the server. So, in the end, the best we could do was apply a bunch of blacklist rules in .htaccess, which means that Apache itself will have to do the rejection. This means that really bad DDOS attack will still overwhelm the server, but it will take a lot more to overwhelm it from the blacklist IP range than it would from the range that can actually see the site (and be serviced by the PHP and database scripts).

For linking purposes this article's URL is:

previous | next