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:
   Gretchen's lobbying begins to bear fruit
Wednesday, June 1 2022
In the remote workplace today, I'd finally managed to get Python to do what I needed done in the build stage of an Azure DevOps pipeline. But now I was having trouble with that Python when it ran. It kept complaining about a transform type called "InsertIfMissing," which was apparently not present in the xdtransform Python module I was using. I found it was easy to add such a type, though I couldn't tell from the code what exactly the transform did; the transforms looked like this (in Python):

So I ended up making a new transform type called InsertIfMissing that did exactly what Insert did. This initially seemed to work great, especially when tested locally. But in the context of an Azure DevOps build agent, the Python would often enter an infinite loop when attempting to perform a transformation, though it was impossible to tell what in the XML was tripping it up. So I was forced to do a "binary search" of the XML. I cut away half of it, use in a DevOps to perform a transformation, and if it didn't enter an infinite loop, the part I'd cut away was the problem. So I'd cut that part in half and repeat the process, doing it eight or nine times (the number of times being roughly the exponent two is raised to the power of to produce the number of lines in the XML file) until I found the problematic line. It turned out there were actually several problematic lines, which complicates a binary search. But ultimately I figured out that the problem was XML entities with duplicate keys. And this was caused by my InsertIfMissing always doing an insert (instead of only doing it when the key was missing). I didn't want to figured out how to add a conditional to such a pithy tranformation definition, so I changed the InsertIfMissing to do the same thing as Replace instead of Insert. And that seemed to make it work. Figuring all this out easily took a whole day of work, some of which I was doing during the many meetings that happen on every third Wednesday.
The most fun of Wednesday's meetings is always the sprint retrospective, which is overseen by our scrum master, Bertrand. He's always trying to find new technologies to make our interactions during the meeting more frictionless, and today he chose Mural. Mural is a web app that allows people to collaboratively create diagrams with captions, photos, icons, and other graphics. At some point Joe the Lead Developer discovered that there was indeed a fart icon in the icon library. I then performed a search of that library and found several dozen separate fart icons. Some were of people and some were of cows, all in various levels of abstraction. By the end, our collaborative Mural diagram looked like someone had turned a classroom of eight-year-olds loose on it.

Mural's many fart icons

Meanwhile, one of the guys on the Hurley Town Board had reached out to someone at the New York Department of Environmental Conservation about the shooting at the bus turnaround on Dug Hill Road, and it looked like real action was about to be taken. Here's the body of the letter written by NYDEC to our sympathetic board member:

We had a staff meeting today to discuss the reoccurring issues at Dug Hill Road. I appreciate you patience while we work to figure out a solution. We understand your concerns regarding the shooting that occurs just off road at the parking area there and I am hoping to resolve this issue through a cooperative agreement between us. I understand that the volume and intensity of the target shooting there has become a problem and may now be at a level where it is unsafe.

We are hoping that, with your help, we can block off the parking area at this location by having the town highway department move either large boulders or concrete barriers to prevent cars from pulling into the lot. Please let me now if you can help with that, and I can meet you out there on a day that is convenient for you. A concern of mine is that, although the parking area will be blocked off, visitors may attempt to park roadside and enter the area to shoot. It may be advantageous for the town to post "No Parking" signs along the roadway at and around this location in order to prevent that. I'm not sure if a town resolution would have to be passed in order to enforce the no parking signs along the roadway, but the signs themselves could serve as a deterrent.

In addition, after the parking area is blocked off, I will post "No Target Shooting" signs at the location. I do not think the signs will be effective without closing the parking area and preventing roadside parking, but I think as a final measure, combined with the parking restrictions we can use that to eliminate the noise concerns and potential safety issues.

This was, of course, all because of the lobbying Gretchen had take the initiative to do. As a result of her hard work, I joked, all our property values here at the south end of Dug Hill Road are about to increase by 15%!
After work, I took a nice hot bath. The injured toe on my right foot is nearly back to normal, but the hot water was good for it and helped to counteract a nascent case of athlete's foot developing nearby.

For linking purposes this article's URL is:

previous | next