I ran into some trouble with the law the other day.
I went up to the state capital to drop off a proposal that I had prepared for a project sponsored by the state agency of transportation. The proposal was a grind; I figure I put eighty hours of unpaid time into preparing it. It ended up looking quite nice; forty bound pages not including the Microsoft Project document which is just on CD.
Hopefully they’ll like it.
I’ve been to Montpelier twice in the past few weeks. If everything works out, I will be going up there frequently.
And that’s okay, because if I am going up frequently, it will mean that my company is doing a lot of business up there. And if that is the case, going to Montpelier will be a snap, what with me flying up there from the airport three miles away and billing the state for my travel time. Not that it’ll be gouging; they’ll be paying my hourly rate for half as much travel time (two hours by car, one hour by car/plane/car). That’s the way I like it; win-win.
I’m actually going up again on Monday to talk with the state agricultural department about a completely different project proposal that I submitted a few weeks ago. The department of agriculture called on Thursday, left a messaage while I was at a (or rather, ‘the’) client site, and said they wanted to speak with me immediately, in person, Friday or Monday. That sounded good, I thought.
I ruled out Friday since I’m on call for Cavendish. So I left them a countermessage saying I’d be up to see them Monday.
I managed to touch base with them by phone today. They told me that my proposal was the most expensive by far of the ones that they had received, that they felt I had overestimated the number of hours for the project, that they really liked the requirements-gathering process I had outlined, and they were hoping that we could get something together. I think that’s what they said. They surely said that we were the most expensive proposal by far. Oh, and they for sure said they wanted me to come up and meet with them and their computer folks on Monday. So that’s got to be positive, or at least not negative.
I don’t feel bad about overestimating. This is what they said about the project:
Beekeeping. 7 tables, 27 programs, 4,343 lines of code. Medium complexity. Convert from system ‘x’ to system ‘y’.
Really. No kidding; that’s the information I was given as the basis to write a proposal for a major database conversion (the apiary applicatioin is the pilot for the overall project).
I got together with my droogie, John Varady, and we kicked it around and came up with what we thought was reasonable.
I’ve been around enterprise relational databases for a long, long time. I’m good with them. Not as good as I used to be, perhaps; lately I’ve gone into deeper parts of the tech stack and now tend to root around in the transport and protocol layers. But I’m still good with databases.
John Varady is excellent with databases. If I was going to write a database (or really, write anything to run on a computer), I’d want John to validate my design.
John and I met while working at the Burlington Coat Factory. I was put off by John at first; he thought I appeared to be the only other cool person there while I felt that anyone attempting to engage me in non-work-related conversation was not to be trusted.
I did some high-profile bit of code there. I worked on it for weeks and weeks. I was really pleased with it (and, to be honest, still am). I had worked out a way to communicate from within SQL*Forms to a specialized tag printer, back in the day before the DBMS_PIPES or DBMS_OUTPUT packages were available. I think it was pretty much patentable, for whatever that is worth. I used a ‘C’ userexit callout to open a file handle and pass the handle back into the form as an integer, then used that integer as the file handle in subsequent calls. Simple, really.
John took a look at that code and discovered the design mistake I had made. The mistake is so esoteric that I won’t bother to describe it, and in actuality it had small impact since it really amounted to saving a few extra empty rows in a particular data table. The fact that John discovered it, though, really impressed me. It was not at all obvious; I had missed it in my design and implementation, and other more senior developers who looked at it hadn’t seen it, either.
So, John and I worked on the task list and schedule for the proposal until we agreed (he thought my initial proposal was too conservative), then we mailed the thing in.
So, we’ll be able to get a better impression of how long the project will take after we see the code, and I made that clear in the proposal; from the information given, it was hard to estimate, but here’s the tasks and process for the solution.
And I guess they liked it.
But again, that’s a different proposal.
The one for the agency of transportation is so cool and so perfect for me that I knew I had to apply for it. It’s a data collection project for automobile crash data. It deals with XML interchange between the agency of transportation, the DMV, and the state police.
I had to go up there for a meeting a few weeks ago and was surprised to see that we are bidding against big players like EDS. I’m not scared, though; we can do it better, cheaper. Plus, I have good references in the state and local police; a big feather in my cap, I think. Plus, I’ve been working in XML since ’99 or so, and have designed XML transactioning systems for big online Oracle b2b transportation exchanges. Plus, we’re a Vermont corporation, and the cash the state would pay us would stay in the local economy for the most part.
So, I was coming back from dropping off the proposal. It had to be there by four on Monday; I worked on it all weekend, had it printed and bound Monday morning, and drove it up there to arrive by three. I may have been the last proposal dropper-offer; there was another person dropping off her box of twelve bound copies and one set of unbound originals as I got there, but I didn’t see anyone else coming up the steps with a box as I left.
I decided to eschew the highway for the ride back and drive home on the blue routes by feel and sense of direction.
I stopped at a picturesque general store for a sandwich.
Here’s more information than you care to know; my intestines have a ‘scram’ function. It’s usually triggered when I eat red meat that has been insufficiently processed since it left the cow, but sometimes it’s triggered by other unknown things (crank used to do it to me… ah, those were the days, weren’t they?).
So, I was driving home, and ate the sandwich.
About fifteen minutes later, my intestines announced scram and went into the associated fault condition.
Which is weird; the sandwich was smoked turkey, swiss cheese, mayo, mustard, lettuce, tomato. All safe ingredients. But there it was.
I found myself in the middle of nowhere Vermont in a very uncomfortable condition. Strychnine and compressed air, if you will.
I’ve been through this enough to know that squatting on the side of the road would not be the right move. Sure, Vermont is rural, but I had no toilet paper (and, of course, the snow is gone for a few weeks).
So, naturally, I hit the accelerator.
After an eternity, I got to the tourist hub just north of home; Woodstock. I was almost saved.
Somewhere in here I thought to myself how much it would really suck if I were to get pulled over. Not that I slowed down; at a primitive level, I think I wanted to be at the potty more than I wanted to sterilize the car upholstry.
I got through Woodstock, or thought I did. Just as I got to the outskirts of town on my way out, blue flashing lights appeared in my mirror.
The cop took a while to get his act together. Sure, I know what he was up to; first, he had to report 10-75 and give his location, then request 10-28 to get the facts on the vehicle registration to make sure that he felt safe coming up to speak with me as an individual officer. But it did take forever.
The good part was that after a while, my cramps went away, or mostly so.
He eventually came to the window. He didn’t tell me what I had done at first and I didn’t ask him. After a small bit of ‘license and registration’ conversation, he asked me if I had happened to notice the school zone and recreation zone signs I had gone through. I had to admit that I hadn’t, but I chose not to share with him my reasons for driving at a rate that he appeared to consider excessive.
He took my paperwork and went back to his car. I watched him in my mirror and noticed that on the way to his car, he did this curious jump-run-twitch thing. I realized that I might not be the only person with intestinal issues. It was cute, though; grey-haired old town officer doing the Macarena on the way back to his cruiser.
Of course, it took eight years for him to run my 10-27 and fill out the ticket. At first I hoped that I’d escape with a warning (like my last two run-ins with the law) but the amount of time he was taking made me realize that my good pig fortune had waned.
Finally he came back to my car. He gave me the nicest speech about how he had mixed emotions about ticketing a volunteer EMT, but that something had to be done. I told him that I agreed that my EMTness did not make it okay for me to speed through school zones, and that I was sorry for his inconvenience. He told me that he had knocked off as much speed as he could, but that he was still giving me forty in a twenty-five school zone.
How fast was I actually going? No clue. I feel that I was driving prudently for the conditions, but I have no idea of how fast I was going.
He gave me an envelope, asked me to drive more slowly in the future, and went back to his car.
I waved and pulled out. As I drove, I used my teeth to extract the ticket from the envelope. $194, three points. I almost drove off the road.
A minute later, I was stunned to see the cop pull into view in my mirror again with his lights flashing. Did I leave too fast?
I pulled over. He came up to the car and told me that he had overcharged me. I gave him the ticket and he gave me a $70 discount. $124. Still three points.
He went back to his car. I was pleased to see him do the Macarena again.
Ayup. So, now I’ve got three points. That means, for sure, no more warnings; I’ve listened to the cops enough to know that if your recent history includes points, no warning for you, pal.