Recent blog entries for Erbo

I guess my father is reading these diary entries...he caught my entry on April 11 about the tax situation. Well, it's not as dire a situation as I thought it would be at the time; I won't have to borrow cash from my brother or anything.

But he was also under the opinion that I could deduct the moving expenses that Webb paid for, the ones that screwed up my taxes so badly this year. Well, Dad, that turns out not to be the case. I just got off the phone with a guy at H&R Block, and he said that you can only deduct moving expenses if you paid them out of your own pocket. Moving expenses paid for by your employer are treated as "income" and cannot be deducted by you. But, as he said, "I'd rather pay the taxes on $9,000 than have to pay $9,000 up front." So I was right all along, and the shafting I took this year was justified by tax law (God damn it all, anyway!). Thankfully, switching from "single" to "married" status midyear (a month before the move in fact) kind of cushioned the blow, and California will be sending me enough $$$ to offset the amount I had to pay the Feds and Colorado, with money to spare.

Anyhow, icq-t seems to be much more stable now. I've had a couple of minor reports but nothing that I can point to definitively and say "that's a bug." Well, maybe just one...pgmillard reported that he wasn't getting unavailable presence from ICQ users when he signed off the ICQ transport. A certain flag needed to be toggled for that, one I put in because someone else complained that those messages were being sent out at the wrong times. As Jar Jar Binks would say, "How rude!"

Company meeting tomorrow. We get to see what our new offices look like for the first time. Looking forward to it.

Just back from the high country. Pamela and I spent the weekend at my grandmother's house in the mountains near Florissant (in Teller County, west of Colorado Springs). While there, I made friends with a dog, helped her fix some computer troubles, did some exploring of the wonderful world of C-band satellite TV (OK, if we ever have a house of our own, I want one of those monster dishes!), and started feeling like I understood my grandfather (now alas deceased) more. We had Sunday brunch at my aunt's house, just up the road from my grandmother's, and then I got dragged in to play this card game called Spades...which seems to combine certain features of Hearts, Whist, and Contract Bridge while being just different enough to royally screw you over if you don't know what to expect. (I mean, what kind of card game penalizes you for overtricks? Really!) All in all, it was a good weekend.

Naturally, once I got back, I logged in and checked on icq-t. Seems to be still running, but it may still have that odd buzz in there. I may have to do that rewrite of the libicq-erbo layer after all. (Actually, before that happened, a minor miracle happened: the fX network aired the final episode of M*A*S*H ("Goodbye, Farewell, and Amen") in its entirety, and I taped it for Pamela. If you only knew how much she's wanted that episode on tape...)

Just read the Phil Katz article. Sad that a man so brilliant would wind up destroying himself in that fashion. But, as long as people are still using his compression algorithm (and it really does have 1001 uses), he will never be truly dead. And, to all those Slashdot wankers who got all jazzed thinking that the dead man was Jon Katz...well...[REDACTED] you! Honest to Pete, if you don't like what the man writes, go see if you can do any better!

Well, new morning tomorrow, new week, new trading day, new work day...I could probably use some sleep first though.

ARGH! ARGH! ARGH! ARGH! AAAAAAAARRRRRRRGGGGGHHHHHH!!!!

Important information for everyone that uses the GNU Pth library, and has just upgraded from 1.2.x to 1.3.x, and whose code uses PTH_EVENT_FUNC event types: There is now a third parameter for that event type, which is a pth_time() value telling the scheduler how frequently to call the function (such as pth_time(0,100000) for 10 times/second). Omit it and your code may die in subtle and frightening ways when you least expect it. Since I just spent most of the day groveling through the inner workings of the scheduler to discover this fact, I thought I'd share it with everybody, in the hopes that nobody else will have to go through this agony.

And I haven't even mahaged to fix the problem I was working on yesterday: midway through the afternoon, I had to drop everything and go take Pamela to the ER because she'd had one of her migraines. Now I wonder if I'm going to get anywhere close to done on that one before I have to leave...

And I'm not missin' a thing,
Watchin' the full moon crossin' the range,
I'm ridin' the storm out, ridin' the storm out
(REO Speedwagon)

For now, it looks like I've ridden my own particular storms out. icq-t is behaving now, and should no longer be leaking memory now that Jer has fixed etherx. No buzzes have recurred recently. Also, I have further improved the autoconfiguration system, and I'm now using temas's standard macros for Jabber and Etherx configuration. Mucho better!

Webb's stock price is showing signs of life. Of course, I'm in mid-blackout again...not that it would matter, as I need to sell for enough to pay off enough debts that someone will give us a car loan for a Subaru Forester...

Steve's got a meeting in here in a bit. I'll take that opportunity to go over to Costco and get Pamela's scrips, then go home and pick up a bill to be mailed.

Later: The buzz appears to be back. I'm now using fgrep to split up the logfile that resulted, trying to locate where the buzz began and what happened when it did. In the meantime, now two people have reported that bizarro error that kills the transport on startup with a PTH "scheduler internal error," and I haven't the first [REDACTED] idea why it's doing that, because I've never seen it happen myself. Not once. AAARRRGGGHHHH!!!!!!

Slightly later: OK, I have a pretty good idea of why the buzz is happening. PTH_EVENT_SELECT is apparently a pile of crap. Time to rewrite the guts of libicq-erbo so it can export PTH events for each socket it uses. But that's for tomorrow. Still no clue on the other thing, though. Why the [REDACTED] does this have to be so [REDACTED] complicated?!?

Yeah yeah and all that.

The ICQ transport is progressing nicely. I just figured out the format of "authentication denied" messages coming from ICQ, and also just gave the ICQ library (libicq-erbo) its own autoconfiguration scripts. Guess the Gnu Autoconf documents don't quite look like they're written in Minbari anymore...

And now if I could only find the latest buzz. I may have located what may be the place, and it may have to do with the funky need to do two "selects" on the ICQ connection because the PTH_SELECT_EVENT doesn't seem to modify the selected filesets properly. If that's it, I should just put some code into libicq-erbo to use PTH events for multiple-socket management instead of using the PTH_SELECT_EVENT.

I also spent some time today explaining the guts of the transport mechanism to Catherine, one of our technical writers. She's a nice person to work with, and I know from long experience that good tech writers are worth their weight in iridium, so feed them well.

Oy gevalt...so many things upcoming for Jabber Inc...so little time...

I'm also looking at this piece of code called NanoXML; if I can figure out how it works, perhaps I'll wind up using it in JECI.

Just read that article about naming projects...that reminds me, if we ever do some sort of Jabber-to-Apache integration project, I think Jer wants to call it "Arapahoe." It's also the name of an Indian tribe, and is fairly similar to "Apache," and it's also a fairly common name in and around Denver, because the Arapahoe (actually "Arapaho") Indians were the first settlers of this region. So we have Arapahoe County, for instance, and Arapahoe Street downtown, and Arapahoe Road down south by the Tech Center. Besides which, I think he just likes the sound of the name :-).

OK, I know, I'm being lax in my diary entries. But I've been very busy with the ICQ transport and other things; only now (since everything's crashing anyway, and it's jer's and temas' fault) do I have time to break away and write again.

This is now "Hell Week," the week before the 1.0 release, and the ICQ transport still has some odd issues with it. I've remedied some of them, but others are tough to remedy without getting someone to make it happen...and others I simply can't do anything about without knowing more about the ICQ protocol. Meanwhile, Dave and other people are having JECI issues, which I can't do anything else because that transport is sucking the life out of me!

I had to reconfigure my Linux workstation so that it could run Gabber today. Since it was an old Beta 1 release of Corel Linux, it needed a LOT of work. I pretty much wound up upgrading the whole system...and now it's a fairly vanilla Debian-frozen box with GNOME and Enlightenment. Oh well, it now looks a little more like my box at home...

Looks like TSBandit will be coming out here later this month. Well, I'm sure I'll enjoy meeting him...

Oh, and I still need to pay my taxes for 1999. This sucks, because that relocation allowance Webb gave me counted as income, and they didn't withhold anything from it. I may wind up having to call my brother and see if I can borrow some money so Pamela and I can eat for the rest of this month...

The CLIQ show (Colorado Linux Info Quest) was a great production. I spoke to many people, preaching the gospel of Jabber, and got to hand out many of my Goth business cards. I also raked in the swag (both freebies and stuff I bought from the LinuxMall booth); the take included:

  • Various brochures, flyers, and whitepapers
  • Three pens (two of which I gave to Pamela, including a Sybase one filled with purple ink)
  • A Maxtor pocket penlight (Pamela got that too)
  • A very nice solid metal Sybase keychain (also went to Pamela)
  • A Linux bumper sticker
  • A sheet of Penguin Power stickers
  • Two tins Penguin Caffeinated Peppermints
  • Five new distribution CDs
  • Three Tux dolls (one foam rubber one from SGI, one small stuffed one with a suction-cup hanger, and one larger one with a Linux Weekly News button)
  • A VA Linux poster
  • Three "LNX" oval stickers from LinuxCare
  • A few additional buttons
  • A Compaq Linux license plate (you know, the ones that say "LIVE FREE OR DIE" above "LINUX", done up in New Hampshire green and white)
  • One resume, to be placed on Steve's desk Monday morning

Aside from that, I got to see Jon "maddog" Hall's keynote (I know another guy nicknamed "maddog," this is confusing), sit in on a BoF session about OpenLDAP, and watch a speech about Linux businesses. And I got in an interesting discussion with an employee of the Defense Information Systems Agency over lunch. And I played some tank game at the Xi Graphics booth that looked like BattleZone on steroids. (Incidentally, that attracted the attention three potential prospects, two DU students and a conference staffer who thought I was Jer for a minute. I must remember this technique in future. :-) ) And I learned about the meetings of the local user group (Colorado Linux Users and Enthusiasts) as well as the local 2600 meeting (it's on a nonstandard day of the month, so the magazine doesn't list it).

Sadly, the "Email Garden" seemed to be out of order, so I couldn't ssh out to one of the webb.net bozes and get on the channel to give a live report. And one of the stupid Marriott payphones ate 70 cents of my money, then, when I did manage to get through to Pamela, it cut me off after 5 minutes. Whatta ripoff.

But I had fun today. Now sleep tonight, and then probably a lot of errand-running tomorrow.

Cool...I got Goth business cards :-). The temporary business cards are black, with the Jabber "little man light bulb" logo designed by Jenn and Deb, and all my contact info. Some of it is wrong. Oh well, more of it will be wrong in a couple of months when we move to Wynkoop, and there's enough info on there so someone can find me.

icq-t now seems to be holding up a little better. There's one more weird, not-as-serious buzz in it I can't quite track down yet, but at least it's not seriously sucking CPU now. Or not as much. And JECI needs vCard support still; supporting the full vCard DTD is gonna be a bitch and a half...

Well, my stock window is now closed for a month. Hopefully the price will recover by then. Pamela wants to have her Subaru Forester in time to drive it out to New Hampshire...

I need to turn in; gotta get to the show by 8 AM tomorrow. It's my turn in the barrel here, I guess...

Another buzz has cropped up in icq-t, but this one's not as serious, I think. It doesn't seriously peg the CPU; I came in this morning and the process showed a "time" of 0:54 instead of 874:23 or some ridiculous figure like that. The issue seems to be repeated calls to peer_read_init_packet in the libicq-erbo source, when establishing a peer connection. I better instrumented that function and am now waiting for the problem to recur.

Meanwhile, I partially finished moving JECI's InfoQueryPacket class away from depending on a <query> tag as its child. This is important to properly support vCards. I need to finish the 0.9 updates pronto, as Dave Scott will be needing JECI for what he's doing.

Meanwhile, genesis, our first jabber.com development server, should be up today; I'm waiting for Robert in NetOps to tell me it's wired up. It's a VA Linux FullOn 2x2 dual-P3 box; sweet! (The production server, hendrix, will be a quad-processor box, also from VA). Pamela also said to make sure we include the name "aerosmith" in our list of "future" machine names; she loves Steve Tyler. (Oh, in response to kelly's concern, who's going to sue us over machine names? I don't see Paramount going after outfits that have host names taken from Star Trek, for instance, and, given Paramount's track record in the legal department, they'd be the ones suing over host names, if anyone. Speaking of which, if we set up a Beowulf cluster, I want it to be named after Borg, with nodes named "locutus", "hugh", "seven", "crosis", and so forth...)

It's snowing outside. Two days ago we had sunny clear skies and temperatures pushing 70 (or 21 Celsius). That's Denver weather for you. The only thing you can do is expect the unexpected.

My business cards should be ready tomorrow sometime. Then I should go down to the hotel and pick up my badge, so I can be set to go at the CLIQ show right when it opens.

Later: I see that, when GnomeICU reads peer-to-peer packets, if it finds 0 bytes available, it just closes the connection. The original libicq does the same thing. I just modified the functions in peer_receive.c to do that. Hopefully this will perform a "buzzkill" once and for all.

Snowing harder now. Dave's not used to this :-).

I think I've found the icq-t buzz. It was in my ICQ_free function in libicq-erbo, which frees a connection handle. Part of the process is unlinking the connection handle from the master list of connections. Well, guess what? My loop for finding the predecessor node forgot the essential "p = p->next_conn;". D'OH! Can you say "infinite loop," boys and girls? I knew you could!

The server at jabber.webb.net is now handling ICQ traffic for the main jabber.org Web server. That's how I was able to spot the buzz, by getting lots of users. Now let's hope nothing else crops up...

We had an entertaining discussion this morning about naming servers for Jabber, Inc. (jabber.com, as opposed to jabber.org). We settled on the theme "70's rock bands." The first two servers will be "hendrix" and "genesis". We'll add "zeppelin" as a QA server later, and we've got another bunch of names waiting for more servers. I also sent the list to Pamela for more input.

With the advent of open-source Doom engine clones, I've been fiddling a bit with PWAD construction at home. I did this a while back, but now I can do it under Linux with open-source tools. I'm working on a level map containing a huge cave as its centerpiece, along with interesting things like teleporting monsters. It should also make for a good deathmatch level...

On Saturday I get to go to the Colorado Linux Info Quest show, down at the Marriott in the Denver Tech Center. Partly, it's to look for possible new prospects for Jabber, Inc. (They're printing me up some Jabber business cards in a hurry.) So if you're going to be there, and you want to work for Jabber, Inc., keep your eye out for me :-).

Now I need to get back to JECI, to update the Info/Query handler to the new standard and try and do something about vCard support. Maybe now I can finish that part.

26 older entries...

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!