23-VIII-2002.

The big shit hitting the fan at eHosp about this Chinese kid messing up the code in Lister, which is a very important component used in dozens of places, is coming to fall in my lap... but then Berix puts it as my big chance, because if I fix it behind this guy's back (and nobody knows who put him there in the first place, seems like someone's cheap protege), I get to be the software hero of the day. Here's the best parts of the discussion.

Berix: 2002.08.18 21:21, "Re: New Lister behavior breaking some code", the one that begins with "[George, sorry for getting this message twice - it was intended for the whole group. I clicked too fast.]"

George: Make sure you add a comment to the defect explaining what got broken in Lister.

Berix: The message actually contains a copy of the defect text - I've posted it in TT first, then realized it may be read too late by too few, and so included it into the ongoing discussion about lister. In brief, we've lost the link to "next [nmaxrows]", and got the JumpToPage links instead. The former was on by default, the latter is off by default (switched by property in the lister record).

me: Is the whole mess fixable?

Berix: In too many ways... most of them being quick'n'dirty. It would be the best, IMO, to revert the lister to whichever version George has said was last good & sound, then reapply only the subsequent bug fixes, and then maybe some time in phase 2 reconsider Wei's enhancements. One thing which would be a quick fix and yet clean enough would be to re-add the code to produce the "next 50" link into the current Lister, and have it work where JumpToPage links are disabled. Making changes to Lister to fix this is more trouble than its worth, and will never happen anytime soon so therefore you work will remain broken and we'll be to blame in the end. Can we somehow fix the problem in the visitors?

Later, me: There's another piece of shit in the fan - the SetAlpha is broken now. The From and To point to valid numbers as before, but the current lister doesn't respect the To, it displays nMaxRows regardless. So if the letter selected has 20 records, it will show additional 30 records; if it has more than 50 records, it will show just those 50, and there's no way to get to the rest, except by guessing on which page would they be. SetAlpha is a Render thing, but it's the Lister that uses the From and To query strings, and seems like Wei has introduced different behavior here. So I've checked these in, having done what could be done within them.

Berix: man this sucks - go ahead and fix this shit in Lister, but don't check out files from SOS - just send me the revised code sources and I'll do the SOS checkout/check in (and comment whatever changes you make with your name/date as usual)

Later, from me to Berix:

Now, what's it that you exactly want me to do, as there are several things that can be done:

- get back the Next50 link in case JumpToPage is inactive

- kill the JumpToPage alltogether and put next/prev always

- make alpha links independent of nMaxRows

These things are pretty much independent. I'll work on the last one (as this is our immediate problem) and you decide what do we want to do about the first two.

Later, around 18:20:

Before you try this - current version of lister has a problem when alpha navigation is combined with JumpToPage links - it calculates the page links from the current position, and generates ¤t= numbers greater than recc(). Try Cardiology, list topics, select P or S, then try to jump to any page (page 2 or page 3 actually go beyond eof() and instead show page1, while link to page1 goes to record 63 or so) .

Because of this, I had to rewrite the whole SetNumLinks method to make it (simpler and) to behave. I used George's URL class, that's a nice toy, and it just freakin' works what you expect it. The only thing it needs is to kill an item from the license plate (maybe it should react thus to setting it to "").

The attached version of Lister:

- works fine with JumpToPage links, and has the proper "show previous n rows" and "show next n rows" links to the left and right

- page links are now totally independent from alpha links

- alpha links now show exactly the records they are supposed to

- few bits of shit here and there simplified or cleaned up (look for my name to find it).

I've tested it with whatever I could get hold of - all the stuff in BookCC, TopicCC and MCC that looked like they're using it, noticed no glitches. If you see some, just yell.

Playing with this was actually a pleasure - how did you know it's our birthday (Go too)?

So... there's, of course, more of this chat between Berix and me, with some contributions from George and later also Jerbie. In short, this Wei guy is a protegé of someone in either Syracuse or Omaha, someone high up in eHosp. The sponsor probably kept him as some kind of pet or wunderkind, but the guy was actually not experienced enough, didn't even check where this Lister thing was used and how. So he went on and fixed one thing, while fucking up three others, which in turn screwed up a dozen things in other places. This piece was used pretty much everywhere - it would create any kind of a list of records, and had a bunch of options, defined in its own metadata table, lister.dbf - and produced all kinds of html with its own navigation. It was very nimble, versatile and complicated. And he just messed it.

Took me all afternoon, but I managed to salvage what he did (was easier than to revert to an older version, as it would also lose a few things added by others, which would then be more complicated to add again) and fix what he fucked up. I did come out of this episode as the software hero of the day. And it did boost my chances of getting to work for eHosp straight, not to be Berix's gun for hire. And it's not true that Syracuse is the place with most snow in the whole US - it's distant second. The first is their airport.

This being our birthday, I put a lot of meat on the barbecue - had to go downstairs and do it on the lawn, but at least it's only three steps from our front door. Of course, just as I got the fire ready, with a nice breeze helping me start the fire, rain started while I went up to get the meat. Nothing happened to the fire, the barbecue has a lid, but my foldable chair, ouch.

Got the umbrella and dark Heineken (for the first time ever! - almost impossible to find in the US). Rain stopped in 15 minutes, my seat remained wet. I had to do the steaks first, as she needed the pot, it's the best one for the mixer, she was making a cake. Made a bunch of ćevapčići, we found some cheap ground meat, a bit greasier but then the fire squeezes that out.

But all the same, we got two meals for six people for a price of one person's dinner at an average restaurant.


Mentions: Cecilia Roxbury (Berix), ćevapčići, eHosp, George Whiteley, Gorana Sredljević (Go), Jerry/Jenny Beale (Jerbie), in serbian

4-II-2012 - 5-VII-2026