Because I don’t intend to censor. Hey, I figure I didn’t sign any NDA, and people have the right to understand their political process, as the people working for the “operators” see it. And they think it’s all about money. Period.
Regardless, Tuesday was a long, hard day because I was sleep deprived and maybe a little depressed, and I’d been assaulted with the names of at least seventy-three people, which is certain to reduce me to a coma.
When I finally got out, I walked to a convenience store, got a big bottle of water, went back to the room, did some light yoga, had a Cliff Bar and went to sleep.
Oh, and I discovered that I’d rendered my machine unbootable, but you got that story yesterday.
Yesterday I woke up, got some coffee, went to the office…and turned on the lights. Yep, I was the first one there at 7:15am. Spent a couple of hours basically surfing the web on the iMac sitting next to where my non-functional laptop was.
Finally I got the laptop working. I started looking around some of the website code, trying to suss it out. It’s not hard, per se, but, much like the Democratic GAIN site that I worked on before, it was written with the idea that re-implementing or subverting tons of HTML::Mason functionality was somehow a good idea. I, of course, think this is a bad idea, because it means a newcomer has to figure out an undocumented private language and how it all fits together, which is in no way obvious.
I think they’re running into a classic problem; they’ve been a more-or-less one-person show for so long that everything is tuned to that one person’s output, which, even with the most talented people, always seems to end up creating systems that aren’t as clean or simple as they should be.
For instance, for distributing updates to the website, they have a script that tars up a list of files you specify, copies it to the multiple app servers, untars it, does whatever else is necessary.
In case you didn’t spot it: “tars up a list of files you specify”. And what if you miss one? Congratulations, you’ve just distributed a non-functioning change. This has apparently happened a couple of times.
I asked if there was any reason they weren’t simply using rsync?
“Oh, I didn’t know about that.”
I proposed moving to it, but, again, there’s a real, if often unconscious, tension when you walk in and start saying, “You know, there’s a better way to do that.” Even if it’s going to improve things, your additional knowledge is going to make someone uncomfortable. They will no longer be King of the Castle, which is a position everyone enjoys even if they try hard not to.
This is not in any way meaning to say that Eric, the lead guy on this for, I guess, years, isn’t a competent guy. I’ve seen some of the stuff he’s done, and it’s good code–but I don’t think he “gets out much”; that is, I don’t think he’s actively out there looking for existing solutions to re-use, he’d prefer to implement his own.
And I know from experience that those sorts of things can be a waste of time, effort, and end up with less flexible results than you might like.
Anyway, enough of this, for the moment. I’ve got to finish catching up with email and then get in.