GEezers unite! It’s Not TEh SEnility, It’s TEh Keyboard!

Or, as we scientists put it, the “scan rate key transposition issue”. I am indebted to CPU magazine, 8/09 page 36, where someone mentioned it in a review. ... He will get a visit from the PC omerta police any morning now no doubt; but I did find a single mention on the web which, predictably, was in a thread where an Austin company “Das Keyboard” admitted they had this problem — i.e. a potential advertiser confessed, so it’s OK. ... But all the links to other articles were broken.

And it’s so sad; I’ve been writing keyboard scan routines half my life, in assembly language — and yet, when I make these keyboard errors I would blame myself, violating my own sacred principle: always blame the equipment first no matter how unlikely! ... For Goodness’ sake, Owen!...

Anyway, our advanced personal computer keyboards have, for many nears, attained the “N-key” rollover level of enlightenment, which basically means you can type another key without lifting your finger from the current key. This is essential for double-key thingeys like shift, control etc., but without it we’d also have to type everything v-e-r-y s-l-o-w-l-y. ... So the deal is, if you type fast-enough — and everyone knows one of the effects of geezer senility is to increase typing speed — when the keyboard software shows-up to check what’s up, it might see two key down states where there were none before — but it won’t know which was first. ... So, apparently, it reports them in left-to-right order. ... Ha ha ha ha ha!

... You understand, there’s a “scan time” or cycle or something; in my software it’s in the main loop, and of course has less-than-N-key-rollover — well, wait a moment, my antique pedal board had N-key rollover — 2, I think — and of course I’d do the scan, and whenever I detected an event, I’d stop and emit the thing through the MIDI interface, much like a PC keyboard and, indeed, in the case of two keys detected simultaneously, the order of the MIDI emissions was entirely dependent on my scan organization, i.e., arbitrary. ... Which, in the case of music — at least, my music — doesn’t make nearly as much difference. ... But standard PC keyboard software doubtlessly has a comparable mechanism, or it might operate off a timer by now, but whatever, every 4 milliseconds or so the software “scans” the keyboard by running some kind of pattern on its tiny microprocessor outputs, scanning all its inputs for each different pattern, and thusly detecting which keys are down. Any key whose up/down state has changed since the last scan is reported to the mother ship — the PC — as a key event, either up or down as appropriate.

As some guy on the internet outlined it, a fast 120 words-per-minute typist would be 600 characters-per-minute more-or-less, which is 100 milliseconds per character. But such speedy typing is undoubtedly “bursty”, so the 100 ms is entirely too close to the purported 4 ms scan rate, and a burst during certain familiar operations — typing “the”, releasing the caps after the first letter (caps release is a key event like any other) — could easily happen faster than 4 milliseconds. And it was reported that USB keyboards scan at 10 ms. ... And of course, because of the iron law of speak-no-evil in technical reporting, it’s entirely possible these periods wander all over the place depending on wackiness of operating system, hardware, etc.

... So there you have it! ... And I was once a really fast typist; I grew-up with the little computers, and operated many bizarre typesetting machines at incredible speeds. ... Obviously in my geezerhood I’m simply reverting, the way geezers do, and typing really fast again! ... It’s not the geezer, it’s the cruddy technology! ... I am so relieved....

— the typing geezer software engineer
Wednesday, July 1, 2009 11:54 am

Whither the Delphi Database Components of Yesteryear?

Tuesday, April 20, 2004 10:56 am. As my beloved Delphi Rapid Application Development environment stumbles into the sunset, my investigations into databi have led to a depressing conclusion: the pride of Delphi, the wonder of the programming world, the Delphi database components — they were, at worst, a scam and, more commonly, an impediment. This is shocking, because Delphi had two major advantages over Visual Basic:

  • It compiled real Windows program, not the interpreted Visual Basic (and now, NET),

  • It supposedly provided EZ-connectivity to databi, competing with vast expensive products like PowerBuilder.

Over the years, I’ve worked through a few Delphi database magazine examples and stupid books, but I always attributed the puzzling difficulty of the thing to my assembly-language roots and lack of appreciation for the finer things. ... Now in my dotage, and after going through two or three real database projects with Delphi but not the EZ friendly db stuff — it’s clear: the Delphi database components make database programming harder, not easier....

The one overriding reason for this is SQL. For a brilliant programmer like me, the SQL language is easier than the components. SQL is one of these market-leveling trends, like universal hardware standards (only an idiot would buy a PC today with proprietary hardware — i.e., a Macintosh), and ever-spreading software standards (XML, open source). ... For some years it hasn’t made sense, at least for a programmer, to learn any proprietary database scheme, no matter how user friendly, when learning a little SQL will inevitably pay-off better.

The fog of commerce left an innocent victim class, the non-programmer who was supposed to be able to use Delphi anyway. ... To such a one, the components seem easier than a frightening technical thing like SQL. But even for these, I would suggest the SQL pay-off is still better than wasting time with the EZ components — and the proof is in the pudding: databi’re more important than ever, but Delphi sadly fades away even as I type.

Inklings

I had an inkling of these disturbing insights while writing my first database program in 2002. I did use a single Delphi component, but it was the non-visual Tquery, which provides an SQL interface to Delphi’s Borland Database Engine (BDE) (also in decline; Borland disowns it). ... All I did with it was stuff in SQL statements I concocted. The application didn’t need visual presentation — but even if it had, I’m pretty sure SQL + non-database visual components like TStringGrid would’ve been easier, compared to deciphering the intricate relationships between the visual database components. I’m pretty sure, because later I saw such a thing in the demo for the excellent DirectMySQLObjects. No doubt the talented creator of this package knows his stuff, but however you slice it, reading through his source and seeing what he did is still easier than using the visual database components.

How’d it happen, anyways?

Well it’s not really a tale of greed, sorrow, and tragedy. ... No, in those distant days when Delphi came among us — 1995 or so; I started with it in ’96 — microcomputer databi were still cryptic cranky things, and Borland’s components were easier to use than trying in Delphi — or any language, for that matter — to communicate with the database directly. ... If I had been doomed to deal with databi then, I might’ve slogged my way through the components, and then thought them good. ... Indeed, there are many such among us today, and on the web you can still find them celebrating master-detail and other obscure mysteries they’ve conquered in hard-won contests. ... So for them, it wasn’t anything like a scam.

But today, and for quite a while now, it hasn’t been so, and those in these later times beguiled into the Delphi databi components were not well-served by whatever brought them there; usually some pitiful magazine, most of which have gone themselves to the eternal bit bucket....

It is done

So it’s over; SQL rules them all, and I will never, apparently, know the inner secrets of the Delphi visual database components. ... Please understand, the other Delphi visual components are still perfectly useful, and as far as I can tell, it’s still easier to write Windows programs in Delphi (or Linux programs in Kylix for that matter) than with any other approach. ... Apparently few agree; perhaps perceived impending Borland failure puts people off, rather than the technology itself — which, of course, even Borland will no longer extend, except for “me-too” Net offerings....

The Last Days: Dave Intersimone (Borland) and Bill Gates (Everything), at some show around 4/04. ... Bill’s just an average guy wandering around the show, just happened to stop at the Borland booth; notice the worshipful attitude of the hangers-on. ... Intersimone’s column, where I got this picture, maintains an autumnal hue, waxing nostalgic on the old days, recounting previous collisions with Bill....

... I’ve lived in a parallel universe during these years, first in a sort-of average imaginary microcomputer company (Ithaca InterSystems) like those imaginary cities/states that used to appear in 30s movies, and then just an industry drudge, far removed from the microcomputer ferment. ... My standard industry emotion for those years was spite, as these lunatics released strange menacing broken products, in between occasional bright spots. ... But now, when the jig is up — Bill’s noblesse oblige is an apparent effort to help keep Borland afloat, and Bill’s showing a little mileage himself — I confess I already miss it. ... I miss the endless industry convulsions — which, in the end, it turns-out practically nobody cares about, since apparently the Bengladeshi can do all this stuff without a yearly Comdex explosion (which indeed did disappear shortly after I wrote this!) — I never actually went to any you understand — the silly puffery, the wretched little products in their colorful boxes — which, nevertheless, I yearned-for and would buy and use and then complain-about bitterly....

... As I totter down the years, I’ve noticed that while I miss friends, in a way missing enemies is even worse; there is no door that closes so firmly as when I run into some awful obnoxious cretin of my formative years, now a mere shadow, a few heart attacks or other dangerous diseases closer to the grave. ... It just takes all the fun out of things....

Sharpie Metallic Silver

It really is the best thing since sliced bread! It is improbably promoted as useful for “diskettes” — and I have used it for that, in my antique computer attic — but basically it makes legible marks on black/dark plastic, and just having these things around makes you realize how much of that stuff there is! ... Power supplies aka the “wall wart”; various “Darth Vader” styled audio components; marking dark-colored CD/DVDs. ... And what I noticed just now, speaker wire — i.e., for indicating polarity. ... I should note that I do not have frontal lobe impairment, and therefore often use lamp cord for this purpose (i.e., instead of $uper cable from the hi-fi section); most of this stuff is slighly polarized but it’s hard to see....

USPS Stamp Scam: Forever/Never?

The stamp on the left is first class forever; buy it for whatever the current first class rate is, and when the post office raises the rates next year or next week, it’ll still be first class.

On the other hand, the stamp on the right is a 41¢ stamp, the rate before the current 42¢ rate — and which I, and probably millions of others, used to mail first-class letters, under the impression that it was a first-class forever stamp. ... And which of course the post-office returned with a giant “insufficient postage” sticker....

How could I, and others, make such a stupid mistake?! ... Ahhhhh ... it’s so simple! ... You see, our post office — which of course isn’t a government-supported monopoly no no no just a private business toddling along there — wants to scam you! ... If you go into your local post office and ask for a roll of first-class stamps — even today! — you will probably be sold a roll of expires-next-week or whenever stamps — as indeed I was, a few months ago — not a roll of first-class forever stamps! ... Because first class forever stamps don’t come in rolls! ... They only come in sheets! ... Because — ridiculous meretricious excuse here — Mr. Businessman, the major consumer of roll stamps, doesn’t need stamps that will never expire, but instead prefers the tremendous convenience of roll stamps that will expire next week; while Mr. Homeowner wants the convenience and ease of sheet stamps and will benefit in some ridiculous unique unexplainable way only the post office can imagine. ... Actually you can insert any plausible lie you like for what they’re doing....

I can tell others have this little difficulty because the door to my local post office has a sign looking much like the illustration above, letting the foolish consumer know that the undenominated stamp on the right is 41¢, while the undenominated one on the left is a forever stamp.

My Recycled Stamps

So I’m going to make it a practice to use up my vast store of steamed-off stamps for my first-class postage hereon out. ... These are from those envelopes the idiotic charities send in an attempt to guilt me into sending them money; I of course just tear-up their pathetic pleas and steal their stamps, and now I’ve found a powerful motivation for using them! ... But they might be a thing of the past, since the post office changed the glue so they won’t fall off in hot water! ... Wonder why they spent so much effort doing that? ... // Whatever, the magic of Goo-Gone lifts ’em right off! Soaked some on the back of the paper, and the stamp came-off easy in ten minute or so! ... Goo-Gone’s not cheap; but then neither are first class stamps. ... They come off kinda sticky, but if you preserve them on wax paper they’re practically like new and actually stick a bit! ... Although I still use children’s adhesive....

... And then in all likelihood by the time I run out of my antique stamps the post office will have fallen over in a Fannie-May / Freddie-Mac-like fit, frothing with mysterious zillion dollar payouts, executive chicanery, and friendly Democratic lobbyists — and maybe there won’t be any mail anymore, and we can all just use email all the time....

— the people’s programmer
Monday, December 8, 2008 11:17 am

AVG Version 8 is broken as usual: won’t update itself

I am so disappointed to report this, but I’ve been trying over at least a few months, and every version of AVG version 8 that I’ve tried is unable to update itself. The most recent attempt — the all-new perfected version 8.5 — at Thursday, March 12, 2009 not only couldn’t update itself, but put the kibosh on all internet connections from the afflicted machine! ... It’s possible it annihilated the internet on my previous attempt(s?) and I didn’t notice, but at least twice now and probably more often, version 8 has refused to update itself.

... I’m pretty sure AVG knows about this; the first time they were promoting version 8, they went all-out, and then they shut up for a few months, and just today started again. ... At least they popped-up on my machine suggesting I ought to update to version 8.5 and I won’t get any virus updates if I don’t update right now. ... So like an idiot I went ahead, and, as before, it was incapable of updating itself....

The really great thing about this is the free version of AVG seems to still work OK! .. They are really going all out. ... Well I finally googled for “avg 8 won’t update” and it seems the free version 8 doesn’t update either. ... Cool. ... Some sources on the web say my (free) Ashampoo firewall is the culprit; but others disagree; and, unless I absolutely must, I’m not going to start uninstalling things for a broken update: I mean, if something is incompatible, the install should tell me!...

So as usual, doing a system restore did not make my AVG 7.5 work; but reinstalling the thing a la “repair” seemed to work! ... I’m putting this info on this world-shaking web site of mine mostly in the hopes that AVG will notice and do something about it. ... Although I’m not holding my breath. ... I mean, doubtless the thing is interacting with my numerous other anti-malware products on this XP machine, including the free Ashampoo firewall already mentioned, and/or the free Spybot — or perhaps relatively innocent bystanders like WordWeb, DeskFlag, ClipoMatic, MacroExpress, the Trendnet wireless driver, the FIOS wireless service itself !?, KatMouse ... but nobody runs a clean machine anyway, and in any case — it’s just too much trouble! ... They’ve got to figure-out how to make their product work!....

Ashampoo Is The “Offender” — at least once

I have verified on at least one computer that Ashampoo Firewall prevents AVG 8.5 from updating. I downloaded a version AVG pestered me to on 4/2/09, and even ’though I had disabled Ashampoo — exited the program, and prevented it from starting at startup — AVG was still unable to update. After I officially uninstalled Ashampoo, then AVG 8.5 would consent to update. This is my pay version of AVG; I assume the free AVG version 8 works the same way.

Then I tried installing the free firewall from http://www.pctools.com/firewall/ which seemed to work, even with the supercilious AVG — and which latter seemed to work with it; at least when I clicked “update” it didn’t whine about the connection, but dithered a bit and then told me I was already updated, which was probably true. ... PCTools is a fussy firewall, constantly popping-up to consult with me — which, in general, I like. ... Then again, I tried installing it this time as “normal user” instead of “advanced”; maybe it’ll shut-up. ... But no sadly PCTools Firewall stinks too! ... And old friend of mine, Paint Shop Pro 9, would reliably freeze the entire machine every time I tried to run it. ... Now that sort-of thing isn’t the behavior of the average paint program and, indeed, disabling and then uninstalling the PCTools firewall (and reenabling XP’s lousy built-in, after it complained) restored PSP9 to perfect health!

AVG STINKS

That is the lesson here. The free version, of course, is better than nothing. AVG stinks because they must have known about Ashampoo by now, and still didn’t bother to detect it in the installation process. This is bad news with any software, but particularly a virus checker. I am not planning on spending any more money with these people.

And of course as it turns-out, PCTools firewall also stinks. ... So everything stinks. ... While I was whacking the machine, I had a UPS that wouldn’t turn off! It was a zombie! I had to pull the plugs! ... Which, you understand, was the only way I could shutdown the machine after PCTools froze it. ... Ah well, so life isn’t perfect....

— the obviously-annoyed programmer
Thursday, April 2, 2009 6:06 pm

Tuesday, April 13, 2009. And then the final straw: AVG has decided, at least on the lovely and gracious Vista, that my precious OwenShow is a virus! ... Or at least, that qtintf70.dll, an ancient Borland DLL, is. ... So to hoo with it....

But Avast’s OK!

After minutes of testing, the laboratories have determined the free Avast anti-virus thingey works pretty good. And it works on my precious Windows 98 machines, frail and forgotten but still stumbling on here and there, like the far corners of the computer attic. ... Actually it worked so good, I paid them $80 in real money for a 10-license family pack! ... And then I could license the free versions with the new license number, and they’d upgrade themselves! ... Well at least I still have high hopes for the Toshiba W98 laptop, after I informed Avast of my pitiful proxy setup; I’m confident it’ll update itself someday. ... Well, maybe not; but it’s trying....

And of course I can run my (XP only) free Ashampoo firewall, which I’ve come to be fond-of!...

— the somewhat-mollified programmer
Thursday, April 9, 2009 4:43 pm