Older blog entries for darsal (starting at number 5)

Hokay, seven days was an optomistic guess. It's been more than a month since my last confess..., er diary.

And more than likely, this will be my last. I've been an official observer here for a few months, and an unofficial observer for longer than that. I work primarily on commercial projects, under one of those nasty contracts that claims my employer has an interest in any work I produce. As long as I'm working at this job, I can't be associated with open source work, so I'm essentially barred from becoming a participant here. Sure, I could work under a pseudo or anonymously, but I've never done that and don't plan to start now.

So long, Advogato. I'll see you around the watercooler.

Could these entries be any more mundane? No, don't answer that. Any time I've ever said something like "could foo be any more bar" the world has considered that a challenge to meet.

I'm working my -ASS- off for the next seven days, on something I'm not exactly proud to do, so I'll hafta catch up later...

25 Sep 2000 (updated 7 Nov 2000 at 19:20 UTC) »

In re this article on today's front page about other uses for CueCats (posted in my personal space 'cause I'm "JAFO" here):

I think it would be a more useful application of our talents to come up with a totally open version of the CueCat hardware, software, and service.

It wouldn't be all that hard. From what I've seen of the deconstruction of the hardware, it's just a really low budget bar code reader. You can buy a reader if you're not all that handy and you can spare a few hundred bucks at the low end - they're even touted as "Linux compatible", working as a second keyboard with only the code handling software aimed at a particular platform.

CueCat goes even lower end, offloading a lot of the work to the machine it's attached to. That makes cheaper and simpler hardware possible, adding the requirement of some apparently fairly simple software to make sense of the incoming bit stream.

The other feature CueCat could and might offer is connection to the network and lookups in the database. This is neat, but it wasn't designed to do things like, as a followup said, tie useful data to the scanned code. If I scan my Hot Pockets box, can CueCat tell if I want to cook one or order another? I'd hate to get set to cook up a Hot Pocket feast, scan the code 8 time to cook 8 pies, and place an order for 8 boxes while my microwave still flashes 12:00 because I haven't yet set the clock.

No, a purpose built scanner and extensible software is the only way to go...

It's Monday again:

Expectations cause outcomes!

I expected to have upstream provider #2 disconnect service, but I couldn't get a firmer date than "sometime around" now. Last week, when NS1 (the only machine connected to US#2, with US#2 as its only connection) lost its network, I figured that the expected had happened a little early, and the plans I had made to switch around our nameservice this week needed to be accelerated.

So I scrambled and screamed, and made it so, and filled in some holes in my DNS knowledge in the process - yay!

Now it turns out that my only problem was a bad NIC in NS1. Because it badded at the time I expected to lose US#2, I didn't even think to look at it until I had made all the changes and moved things around and still couldn't get it to work, so all the scrambling and screaming could have been done in a more orderly manner if I had only noticed the real cause. But who would think to look at why the expected happened? From now on, I guess I will.

So last week was recovery and catch up on the database handling and web serving we do; all the things I couldn't spend time on while I was holding the entire Internet together. It pays the bills, but my boss's, not mine.

This week is dedicated to production. The CBT demo I cranked out a couple of weeks ago was well received, and the client sold quite a few copies. Problem of the moment - the demo was totally faked to look like it was handling everything, from practice questions and pedagogy to user tracking and simulated exams, through databases. That's what sold both the client and their customers - it can be updated by plugging in new databases. And that's why the boss agreed we should take on a project like this, even though it's a little unusual for us, because if all the variable stuff is in a database, we can pop out new CBT products by switching a couple of lines of code and pointing at new databases.

Except I came up with this great idea when we had an absolute wizard at DB and C++ (and other) programming working here, but he got a better offer, so it falls to me to meet the promises I made for him. Which is justice and kismet and karma and all that, but it might not get the product out the door.

Now it's Tuesday:

Life is something better, a little. I poked the right places and got upstream to expedite my host IP changes (expedite, as in, I requested them at 5PM and they got them online by 9PM). Overall I think I could do much worse than this provider, and the PHB is planning to test that theory, but that's a different story.

I found a nice tool to generate almost all my DNS-related files. Well, nice by Windows standards. It's called "Simple DNS Plus", (if you care, take a look at their home page) and it's a basic and cheap Windows DNS server. I cannot vouch for it in any production way (I just didn't try it out that way) but what it does do -- what I hoped it would do and what it turned out to do -- is generate pretty nice zone files. It also has a feature to automatically update reverse zones, but the file it generates is in BIND 4.X format. Oh, well, that's an easy enough translation.

Didn't get to a lick of production work today, and I don't really care - I came thisclose to telling clients that in so many words. See, I worked nearly every minute last month, I didn't get to bike at all this summer, and when John left I got stuck with all the things he used to do +plus+ all the things I used to do. Net.Slavery? You bet.

And I figure that the only reason the PHB thinks it's okay is because I -will- work 22 hours a day and sleep in the server room where it's nice and warm and the server fans shut out the phone and other noise. I'm essentially telling him that things are fine when I do that. If I limit myself to 10-12 hours a day and get 10-12 hours of work done in that time, he can't have any problems with my work, and the angry clients will tell him what he needs to do.

And they do. Got one today who has a whole fleet of different products we host, but they basically fall into two classes, monthlies and quarterlies. We've always charged the same for each monthly or quarterly, and when a new one comes out we still give the same terms.

So the PHB has been worried about his bottom line lately, and he's eyed this client as one of the ones he thinks we undercharge (actually, we undercharge everybody, but that's still another different story), so he wants to see all the contracts. That John the Departed drew up, and swears he dropped on me but I swear I've never seen. So we can't review our current terms, and I suspect we don't have any.

In fact, the last time I scoured the orifice for these Legendary Contracts was a couple weeks ago when said client wanted to introduce a new product and quoted the traditional figure. PHB says "I dunno, I don't think we're charging them enough" (and since I'm basically working full- time for this one client, PHB's probably right). So this week (in DNS hell) said client sends the new data over and asks about getting a formal agreement signed. I punt it (BCC, natch) up to the PHB, who promptly calls me and tells me he thought this was settled a long time ago. I point out that what was settled was that we're not charging them enough, and maybe this project is ripe for us to float a new price model based on the actual time and overhead involved, and PHB says he can't do that without a look at those Standard Contracts, so we better tell said client that we'll do it, and then next week we'll review the Agreements in Hand and figure out our fair price.

Ummm... Nope, I can't figure out what's wrong with that either. Except maybe that now we're locked into another year at a figure that I know is too low, that the client knows is too low, that even the PHB knows is too low, and yet somehow -we- --all-- agreed to.

At this rate, I can't wait for Thursday. I mean, Wednesday. Er, Friday.

It's Monday, isn't it?  I'm in DNS hell.

Our primary, or so I thought, was the only machine on the old class C we were phasing out. I set up a new primary on the other class C we use, or so I thought.

I updated all appropriate records at the registrar, or so I thought, and prepared for the cutover. (Notice the theme yet?)

Then last week, the T1 to the old primary was finally shut off, and all hell has broken loose:

The registrar has a jumbled mix of primaries and secondaries listed for the domains we host, so I need to fix all those records sometime. The new primary is behind the firewall (oops) because I actually believed the firewall documentation that said I could do that if I set up the right rules (aside from the unmentioned fatal memory leak that crops up when it proxies UDP). It's gotta move from the DMZ to the WAN, but that means a new IP address...

I'm authorized to change each and every one of the domains we host -except- our root, so I can't give our name servers new IP addresses without the consent of our upstream provider. Of course, that's something I'll need to take care of, but not now, not in the middle of this firefight.

Oh, and I'm not sure if either the old primary or the new primary are actually up to date, as the last two weeks were spent primarily on production work for other stuff.

It's Monday, isn't it?

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!