Main Logo

Just like Squid's Amiga Page & Rumor Mill but without Amigas and rumors.

S 26 27 28 29 30 1 2 wW
O
c
t
3 4 5 6 7 8 9 wW
10 11 12 13 14 15 16 wW
17 18 19 20 21 22 23 wW
24 25 26 27 28 29 30 wW
31 1 2 3 4 5 6 wW
N
o
v
7 8 9 10 11 12 13 wW
14 15 16 17 18 19 20 wW
21 22 23 24 25 26 27 wW
28 29 30 1 2 3 4 wW
D 5 6 7 8 9 10 11 wW

My art:
98. Parking
124. Some Friends at the Bar
188. Sorry
118. God's Own Basement
123. Shitcan II

code
Leviathan
John Shepard (radiographite@gmail.com) - Sat Nov 13, 2010 03:38:00 GMT - 1130
''Oh goodie. My very own Lovecraftian monstrosity to feed and take care of. No points for guessing what language it's written in. ''

So here's where my head is really at.

Work has begun to depress me. The company has grown - nearly doubled in size since I started work there in August 2009. We've moved to a new, larger building that has two extraordinary redeeming features: parking doesn't cost money, and although it is farther from home as-the-crow-flies, to get home from it I no longer have to go through nasty traffic jams every day of the world. This all sounds awesome but it's not, because due to the sudden growth and the reshuffling of personnel, it's getting to be something of a trainwreck.

The whole time I sat on the proverbial bench, wishing for my industry back, my secret dream was to be given a sixty-thousand-line Perl monstrosity to beat back into shape. That could be my career. I can take it, right? I've battled monstrous things before, dealt in things that eat sanity for breakfast - sometimes battled more than one such thing at once. An uncommented Leviathan would be nothing. Right?

Turns out it literally is 56,000 lines of Perl, most of it uncommented. Documentation exists, from four years and two significant upgrades ago.

Not all of my work involves this beast. We've got several sites we maintain, most of them far less Lovecraftian than this one. But I don't get to say "oh I don't feel like working on that one today" and when I get a job to do in the beast, it is never "oh go fix this one line of code" - it's "add this complex feature". I'm in there for months at a time.

If it were just the code I could probably handle it. It's the requirements that are leaving scars. You see, with nothing on paper that says "here's what the site does," the only actual "specification" is the site itself as it now stands - and that means when these change requests come in, to apply some kind of functionality change across the whole site, I don't get to rip stuff out and redesign it wholesale as it so richly deserves, I have to preserve as much functionality as possible without knowing what that functionality really is. Nobody knows what the site does, but if in the course of adding a feature I cause some weird years-old custom behavior to disappear, we'll hear about it.

What I think is interesting is, while Perl has a reputation for birthing such horrors, the problem with this application is that it really isn't Perl - it's more like someone tried to write Java in Perl. There are many dozens of little accessors, most of them six or seven lines long, some with subtle conditionals, and all they do is redirect to other accessors. The logic of the site is buried in these mini-methods, hard to track down and impossible to debug. I've seen this in Java before, in part because many Java textbooks encourage something like it, but never in Perl.

The original author was trying to build this vast grand object architecture, but the core is all wrong: because the Web interface uses tabs, tabs are the innermost model! The application object is a list of Tab objects, each of which is empty except for the active tab which bears the results of execution. I guess it'd be like if you had a car, and the gearshift was shaped like a spark plug because after all, the car runs on spark plugs.

Oh but the story gets better. Original developer got to about the 90% mark on this beast, and then left. With no other developers available, some of the artists in the company had to learn Perl real fast and finish it.

This all took place while Clinton was president.

We've been bolting and stapling on to that horrorshow ever since.

But like I said: it's not the code that's eating me alive. What's eating me is the "napkin" tasks, where it feels like the request for some major change in site behavior, in some cases global changes on every page in every object, was scrawled on a honky-tonk bar napkin. I get in there, start to try to develop it and first of all, discover it deals with a part of the site I know nothing about, and second of all, start discovering all the hidden implications of the change they want made. Thus the scope of the project swells up like the Hosefish, and in spite of me warning everyone and trying to keep them in the loop, it goes over hours and money and there is much distress and anger, much of it directed at me, as if this were a surprise.

The company is smarter than this. And I must have at least some sympathy or they'd have canned me the third or fourth time this happened. But yet we keep going right back to the same feeding trough, and I think part of the problem is that with all the growth and chaos, our people are now too busy managing complexity and not able to go actually get to grips with the jobs we're doing.

I'm not whining about my job. I'm panicking because this shit may cost me my job.

The complexity and baroqueness of this "engine" leave me doubting my abilities. Most days I look at that evil code and I don't see code at all, I see a screen-shaped blur. It is a depression trigger, it actually lowers my blood sugar.

It's like we're afraid to take questions back to the client.

One gripe I have is, we get such a project, I'm buried in there for months, and for the last entire month of it, I keep saying "well, now that it's taking shape, can we have the client look at it?" and the grownups say "yeah, we'll get on that" and they never do. So for two weeks I was staying late, coming in weekends, missing Saturday Market, never seeing the inside of my apartment. Deployment day rolled around and I had a Meteorite, and I stayed anyway and worked through it, did the deployment, stayed late that night to continue fixing bugs as the testers found stuff, basically worked myself sick and kept working anyway. Delivered a piece of epic work, at great personal cost. Next day the client was royally pissed off because some feature wasn't where they expected to find it. The feature only appeared when it made sense to appear, but because they had never thought the request through, they thought it was broken and it was all our fault.

(Client later apologized. You take your little victories where you can get them.)

Did it need a round of usability design? Of course it did. That might have helped. But it didn't get it. Nothing I do ever gets a usability review or even a mockup. They just skip that step, hand me a halfbaked spec and not enough hours, and wonder why the client is griping about the results. Then we pick up the pieces, fix it how they wanted it (usually impeding usability more but the client seems to think that's what they need) and the next project, do it again.

So this might explain why I've been getting grouchier in recent months.

question
If I'm mad at you personally, I'll probably say so.
John Shepard (radiographite@gmail.com) - Sat Nov 13, 2010 05:24:59 GMT - 1131
''I fully expect someone to misinterpret this and am not looking forward to seeing the details of how. ''
I shouldn't let it get to me. I am letting it get to me - because it's become a running gag or something.

It's this bizarre pattern where people come on here and jump my shit for something they think I said. And I re-read what I said and can't figure out what the fuck they're talking about. I perfectly expect this sort of bullshit from the Weasel because he is goddamn delusional and thinks I stole his towel and replaced it with an exact duplicate.

Am I too verbose or something? Font too hard to read on black background? Because I think some people are skipping what I write and waiting for other people to summarize it. If the other people are in too big a hurry to read the whole thing, or are in a bad mood, then that's the summary. One person: "OMG John says everyone in Indiana sucks". Next person, from Indiana: "sorry we all suck, John". Me: re-reading it, wondering where I said that.

If people want to get mad at me for stuff I said, there's plenty of stuff I write that you could get mad about and that is, I think, the clue that I am dealing with Cliff's Notes - that people don't get mad at me for my inflammatory statements about, say, substance abuse and Alcoholics Anonymous. No, they take half a "John's Quote" and half an article summary, and they half read it after hearing a lecture on another topic which shares some words with this, and they decide I said something.

If shoe doesn't fit, you're not expected to wear it. Sheesh.

So on the one hand this worries me, if it's something to do with how I write. Am I so vague, so stream-of-consciousness, that I don't even know what the fuck I'm saying? What if I ever get back into writing fiction? Am I going to be submitting manuscripts other than the ones I thought I wrote? Is my book about teenage chupacabra romance going to have people crashing airplanes and shit? Or worse: is my book about crashing airplanes and shit going to be received as a teenage chupacabra romance? At the rate I seem to be going I could submit a package of blank printer paper and they'd send it back to me complaining of grammatical and spelling errors.

Because this keeps happening.

On the other hand, there's something to this theory that people aren't reading what they're arguing about. I make overly broad statements about Saturday Market sometimes and I don't see Auntie Deb going off on me about it - because she actually comprehends what I'm saying, and is able to figure out who I'm complaining about and know whether she's in the target zone or not.

It is instead pretty obvious that Brian did not read the post at all, not a single word, and now never will because he hates me now. Well? He's acted for years like I'm supposed to be mad at him - about something that I thought by now was water under the bridge - and now he seems to have gotten what he wanted, which was for me to drag him over the coals, which it seems like I'd remember doing had I actually done it. What the hell. Did I say something wrong? Did I forget to thank him for being a reference for my job? What happened here?

It's like this: if you are in Indiana right now, and you hear me say people in Indiana drive like assholes, and you don't drive like an asshole, then surely you must have noticed other people do. If I say people in Indiana throw shopping carts at people, and you yourself do not, then you must at least have noticed it happening. If, on the other hand, you do drive 70 miles an hour with 4 feet between your bumper and the next guy's tailpipe, or you do park your shopping cart sideways in the aisle as if to stake out a claim, then yeah, I am fucking talking about you. But I don't think that's what's going on here.

And at the other end of the pipeline: if you're enraged by the fact that I'm a liberal atheist, I would expect you to flip out on me about that and not find something menial and blow up about that instead. I don't know if that's what's going on, but I suspect it might be a factor. Not the politics, just the fact that I've changed and all their expectations of me no longer apply. I thought that's what Rastport was for, so you can read and see kind of where I am in my life, and not keep getting angrily surprised by every damn thing I say and do.

I've not been at all shy about calling out people and things that piss me off. I don't speak in code. You're not meant to use a decoder wheel on me. If I have a grievance with someone that deserves blogging about, I try not to imply things - I'm more than likely to just come right out and say so-and-so has pissed me off, with every expectation that so-and-so may actually see it. And anyone who's actually been reading for awhile will know this - but anyone who hasn't, probably hasn't read this deep into this post and isn't reading these words, so I can't win.

Theme selection:

Moo Bunny message board software version 4.2 beta 47.

Guidelines for usage: Enjoy yourselves. In times when people aren't enjoying themselves, messages may be deleted and IPs may be blocked for abusive content, pirate site addresses, or confidential information. Policy complaints and questions to squid@flyingmice.com.

[Add a message] [Get a cookie] [Regenerate this index]
    Tuesday, May 22, 2012Thursday, Mar 29, 2012Thursday, Jun 16, 2011  
this so belongs to here
2/2
NEW
old
  Entire thread / Short

Glenn Beck
1/1
  Message
Entire thread / Short

[Thread archives]