Mail Me

Week 50, 2000 ,Svenson

Sjon



 

-- Previous week -- Most recent -- Next week --

Kelshon Saga. The logs. (book49.12 p339)

11-12 to 17-12

e-Mail Sjon

Calendar
   this week

Lair

The Gang

External Links

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-cccxxxxvi     Monday

 

2000-12-11

 

596

A warm (10C) and windy morning. And pouring with rain all the way to Venlo. While being bottled up in the office the day turns out quite sunny. And by the time I commute home the rain resumes it's play.

We are testing the validations and we only find a few small problems. Like the result of the tests not arriving back where they are expected. No major problem really, I only spend a few hours working trough the AS/400 programs, killing bugs left and right and crunching problems while I wade trough it. By half past five I find out that the problem is not on the sending side (As/400) but rather on the Progress side.
So tomorrow Ronny can try out his insecticides.

Does anyone remember the Hierarchical Classification Code thing I started about this time last year? I got that finished a long time ago, with the last changes applied before shipping V9. The actual filling of the HCC file was handled by a CS message and controlled by Logistics (OLI) or OPRS.
Now Francis called from France complaining that the HCC file was empty and that he didn't know how to fill it. Being empty does result in losing the data from the actual product file every time you look up an item (actual data being replaced by what is in the HCC file). Of course I haven't got a clue about how the file should be filled.. Technically the HCC and the product file must be filled with data supplied by OPRS and they must be filled synchronously. The product file is handled by OLI and I now hear that the filling procedure isn't ready yet. So of course the HCC doesn't get filled automatically.
Luckily I had made a small program that fills the HCC based on data in the current product file and, equally lucky (well, you know sometimes one should lend Lady Luck a hand :) that program got included on the distribution.
Which gets Francis out of trouble. Partially at least.

 

From Jacob Nielsen about WAP phones:

As the table shows, our basic conclusion is that WAP usability fails miserably; accomplishing even the simplest of tasks takes much too long to provide any user satisfaction. It simply should not take two minutes to find the current weather forecast or what will be showing on BBC1 at 8 p.m.
.....
I asked a group of Internet experts how long they thought these tasks should take (before showing them our data), and most estimated a task time of less than 30 seconds.

Now I don't know what he and these Internet Experts use or expect but 30 seconds isn't much. With my normal modem (getting 42Kbps this evening) it took about 150 seconds to get at the TV guide for the VRT (our National broadcast). And that is discounting the dial-up and initial searching. I went over to the right page first to make sure I could go as straight to the program guide in stead of wandering around their site aimlessly. I than went back to the home page and chronometered from there. Not clearing the cache and trying again improved my time by about 40 seconds.
Oh, I see and broadly agree with the point he is making but his figures make me wonder.

And, BTW what are "Internet Experts" ?

Hey, JHR , I think this is a good one ;-)


The internet is really like a spiders web,
after a time the treads lose their stickiness.

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-cccxxxxvii     Tuesday

 

2000-12-12

 

712

Sometimes we have warmer nights. In summer. But +14C in the middle of December. Come on now. Luckily it doesn't feel too hot because we have a lot of wind and rain.

The problem with the validation program is that it is only called from the TeleSales programs. That is a call that originates on a PC (client or a server) and that gets passed on by a server job on the AS/400. All that moving around means that we cannot pass a long parameter on the command. Our solution in the new version is to use a data-queue. That is one of the fastest methods of passing data asynchronously around on the AS/400. The problem is tat it really is a queue. The only way to look at the data is by actually retrieving it, after retrieving it is gone.
In our case that means that every test has to start on the PC. Rather inconvenient for me because this means I cannot run the program interactively which makes debugging a hell of a job.
So I did built in some special testing code that puts the parameters back on the data queue immediately after retrieving it. That way I can test over and over again with the same data and without requiring the PC programs.
Of course this was interfering with the PC programs because they retrieve the result of the validation via the data queue. And, as any one knows double use of an objects squares the number of problems.

After fighting that battle against my own code convolutions I engaged in a skirmish with the IBM manuals.
Until fairly (Unfairly -ed) recently RPG didn't know anything about procedures and functions. Nor about local scope-ed variables or things like prototypes. With RPG IV and ILE all that has changed. This is a corporate environment so we don't dive headlong into these new features but only use them when building some new program that can benefit from it. So I wrote my first function today. Oh, I copied and adapted functions and procedures before so nothing shocking there. And I learned to program in Pascal (Turbo Pascal v2.x none the less) so I understand the whole lot. And I am working with IBM stuff for years no so I know to expect the unexpected.
I got my function working but I did spend extra time on it.
The problem was that I wanted to pass numeric data to the function and get an edited string out. The syntax for a function looks a bit like this :
     Eval varuable-1 = function(variable-2) .
Easy. So I write : Eval Ole_x = Tzer(Ole_y) .
Now in the same program you can find Eval Err_c = ErrLst(O_i) . Which looks remarkably similar but actually assigns an element (the O_i th ) from an array (ErrLst) to a variable.
The same syntax for wildly different actions. Rather confusing. Well, confusing enough for the compiler. The function was compiled into array handling code producing runtime errors.
Of course the manuals are useless. After a few hours I found out that the syntax is interpreted as an array action if the variable-2 is defined as a Packed data type (the default numerical format in RPG) (even is the "array" isn't defined as an array) whereas it gets compiled as a function if the variable-2 is not defined as a packed data type (must use signed integer or signed float, both new) AND the function is defined as such.
Any Daynoter interested in a topic for a new book? <g>

And just while I was packing up to go home Pieter call with a problem in the building of a user profile. Not something about ID's and passwords and permissions but about sales-history. He cannot find a bunch of records that he expects in the file. At first sight the program works as it should. And it has been tested and approved by Jan (doesn't guarantee much) and by Volker Orth from Germany (now that is a good foundation) so I don't think it is a program problem but rather a user problem. I can adapt programs beyond recognition. Should I try my hand at adapting users?


Writing good programs is easy.
Writing useful programs is a lot more difficult.

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-cccxxxxviii     Wednesday

 

2000-12-13

 

401

A bit cooler, although 12C is still about 10 degrees above normal for 6 o'clock halfway December, and a lot windier. Made for funny driving at times. Oh, and the few bursts of torrential rain.

The redesign of the validations is about finished, including the documentation and testing. I had to remove a lot of temporal testing code though. And I had to prepare the local-validations program. There isn't much coding in that one but it provides a frame onto which the local programmers can build their local validations. This means that the coding that is in it must be perfectly clear and unambiguously written and exhaustively documented. It is a bit like Open Source coding where you must provide sample coding that is impeccable. OK it doesn't have to be perfect but other programmers will use it and they will know that I wrote it so it becomes a personal honour thing.
And that takes time.
Anyway, we can now start adding extra tests. And a few supporting programs must be made of course. And did I mention the existing legacy programs that must be kept running without breaking the new stuff.
Well, we can turn over the basic programs to Theo for extra testing and extra suggestions.

Pieter mentioned a problem with Customer Profiles yesterday evening (well 18:10 is definitively after the regular office hours) and I couldn't find a problem in the program. The data was effectively incorrect though.
First thing this morning I ran that program in his system environment and guess what?
Yes, no problems while running and the data got corrected. Definitively a user problem :)
OK, I noticed that running the program while someone has a TeleSales session open results in a cancellation without informing the user. That is a bit like performing an oil change on your car while driving on the high way. So I documented that as a problem and proposed a few possible ways to intercept or prevent the problem.

Yeah, black-box.
Check this . I can understand the concern about privacy but I think this is touching the limits.
Next you get a dialog box: "Do you accept the opening of this airbag? " while you are crashing into a wall.

BTW, sorry about the long post yesterday but sometimes this keyboard doesn't want to stop.


If writing useful programs is difficult,
Count writing usable programs as hard, very hard.

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-cccil     Thursday

 

2000-12-14

 

391

The temperature is going in the right direction, down. 11C today (it was 12C yesterday). and The rain keeps losing direction, being whipped this way and that by a strong and gusty wind.

The validations program is back on line working as it did with the added features. We only need to add some extra validations but those haven't been decided yet. I add two validation that almost certainly will be required but I suspect we will need some more.
I have been pondering a few actions that could improve the performance of the whole program. The problem is that I get the list of validations that must be performed in virtual random order. The result is that I often have to read the same records from the database, in a bad case that can lead to reading all the order lines 12 times! What I could do is retrieve the list and reshuffle things to combine tests.
For example validation-5 tests the sales margin for each order line and validation-12 () tests the sales margin for the whole order. What happens now is that the (variable) margins are retrieved twice and the sales margin on each line is calculated twice, once for the line and once for the order-total. I can cut the IO count in half.
But that requires a total change of concept, and thus it needs approval.

And I had a discussion with Theo about the locking problem of the Customer Profiling program. He agrees that the problem is serious enough and he accepts my proposal. I can do effectively whatever I think is best as long as the cancelling is removed. It is a low priority job though so It will dangle in the to do list till somewhere next year.

I am getting ill. Probably just a common cold. My nose is clogging up and my throat is feeling dry and raspy, the usual sign of a cold or a flu coming. I guess I will have a wooden head by tomorrow evening. Some extra fruit for vitamins and half an hour extra sleep should help a bit.
Be sure to scan my page for viruses (and bacteria) before you read it, I wouldn't want to infect any one <G>


And then you must make that good, useful and even usable program user-friendly.
Tough

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-cccl     Friday

 

2000-12-15

 

363

At last we get almost normal temperatures, 4C in the morning. Nice and normal, not cold enough yet, we should have a bunch of frosty nights in December, but we are getting there. Not only the temperature has been high, the amount of rain is too high as well. And that is not letting off.

I added a few extra validations to the program. They haven't been approved yet but I am sure some will be asked and I am building those in. The documentation is polished up and done. Ok, it is never done but it's as good and complete as it should be. So I pass the whole bunch over to Theo, he can get his hands on it now and he should be able to fill in the blanks about the new validations. And Jan is in as well so he can test it to (well, if he knew what 'test' means he could ....)

Then I check up a problem reported by Iwan from Norway. They are copying the price lists for next year and they get a 'Price list doesn't exist' error halfway trough the process. Must be a bug, so they call Venlo (that is Theo and me).
But sorry Iwan, it is no bug, it is the normal way the program behaves. You are supposed to first manually create the price lists (header) and than you can copy the details to it. When copying you must of course provide the exact key of the new list (or select it from a pop-up).
I know it is all but user friendly, I even wonder who has ever thought out that system, must have been a Monday morning. But it works and it demands attention so the user is unlikely to make mistakes out of haste. I will rewrite it when I get time one of these days months years.

 

So the Americans know (almost certainly) who their next president will be.
And we are waiting for the next soap.

My throat remains raspy and my headache develops nicely.
Oh, and my nose stared running.


Sales says the program is user friendly,
The programmer calls it user-tolerantly.

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-cccli     Saturday

 

2000-12-16

 

104

Dry, cool and even sunny most of the day. Well there was even frost on my car this morning so things look more like normal weather. The forecast is for a return to wet and warm stuff though.

Shopping. Nothing electronic, just wine, cheese and such.

I didn't sleep well last night, with a headache and a running nose and such. So I keep warm and cosy inside even though the weather is perfect for some garden cleaning. As far as I know it is just a common cold so by Monday I'll be back in good condition.

Sniff, sniff, kuch, see ya tomorooo oo oa aa A Aathcoum, kuch, sniff.


...---...

 

Top <<<     Mon -- Tue -- Wed -- Thu -- Fri -- Sat -- Sun     >>> Bottom

MM-ccclii     Sunday

 

2000-12-17

 

430

Rather cool this morning. Actually its freezing at -1 though after a few hours of sunshine it feels a lot warmer. Ideal soft winter conditions really, sunny, cool and wind still.

It is perfect weather for running yet I stay home to give my cold a chance of retreating.

As I mentioned last Sunday I cleared some space to setup the Fujitsu. I have used it a bit, taking it along to work and back and it a about just good enough. It is slow at loading apps and files, due no doubt to the small and slow disk. As long as it doesn't have to multitask its running fast enough. Basically it feels almost as fast at my regular office box, a Compaq Deskpro P.200MMX. It has a faster processor slowed down by a slower disk and is choked for memory. Of course at work I don't need, indeed don't want sound so the problem with that didn't bother me at all.
Before turning it over however I have to fix that so I start with scrubbing the hard disk down for a complete reinstallation (one of the daynotes requirement, you know, doing the odd YANTI or YAWI ). Well scrubbing down went well enough but reinstalling was a no-go. The CD drive simply refused to work I did install DOS and Win3.1 from diskettes and everything seemed to work except the drive, it kept telling me there was no disk in.
After trying everything I could think of apart from opening up the box, which is not trivial with a notebook, I took it down to the kitchen. Basically for stocking up with coffee. And lo, after three cups the drive recognised a music CD. Of course I had no sound but at least I could see the disk. Popped in the Win98 disk and the box lost it again. Until about ten minutes later when it decided to behave normally. And kept on doing so throughout the installation of Windows and all the rest of the stuff I put up (Lotus SmartSuite, StarOffice, WordPerfect (DOS and Win versions) etc. ).
I assume the drive had problems with the temperature on the attic (it is now 11C) which is suitably low for me and for the processors but not for a slim line CD drive.

Oh, btw the speakers work though, at their miniature size, they won't impress game players.

And I am getting over my cold. Only my nose keeps running and that is something I almost constantly have to contenc with, cold or no cold.


...---...

 


-- The Gang -- Previous week -- Next week --

Swijsen © 2000

A day you don't learn something new is a wasted day.