OwenShow: The Release!

Yup, you too can enjoy my beloved idiosyncratic directory/file browser, no matter how ill-advised that might be! ... Delphi and Kylix and Windows for that matter may all be obsolete, but here is a link anyway (3 megabytes?). ... Complete obsolete Delphi 7 source + HTML help via the astonishing OwenHelp tools. ... And be sure to check-out JX the OwenShow (Windows) execution-history companion, q.v.!

... The Windows OwenShow link above comes with its own nifty totally-superfluous genuine Windows installation program with beautiful graphics! If that’s too silly, this is about 3 megabytes of oswin.exe, which’ll just explode into the thing wherever you want it, i.e. some subdirectory like “c:\os” far from the madding “program files” pathological sticky Usux™ ghetto. Although I believe the installation sticks it in jgo/owenshow or something....

No Unicode!

I suppose I should note that among many sub-optimal disappointments, I never upgraded OwenShow to unicode. Besides pathological sloth, I don’t like unicode; I don’t want file names in Chinese. So all the wacko characters are shown as black boxes or something, and it doesn’t bother me a bit. ... Obviously if I were Chinese I might feel differently, but I’m not....

Linux, We Hardly Knew You...

Sadly the Linux desktop never quite got going — but it wasn’t my fault! ... I released ages of these stupid things for Windows and Linux. But no más. ... Here is the last Owenshow Linux version (vh5) from 5/20/10 which, for a little while, worked as well as it ever did. ... And I used to use it every time I ventured forth in the fabled Land of Linux. ...

But those halycon days have passed, and Kylix (32-bit) programs, at least my vh5 Owenshow, will run no more forever in the modérne (64-bit?) Linices, at least mine didn’t, not in the VirtualBox Linux Mint thing I’ve got. .... That’d be the brave progressive Linuxoids keeping-up with the despicable Windows mediocrities by obsoleting the boring old software every few weeks so wittle lusers won’t hurt their wittle selves. ... Although, as with all things Linuxy, there may be some stupid setting the gurus know and I don’t; but so be it. And we can all use Midnight Commander....

All Things Decay (8/15/13)

There’s a quote I must find again in Brooks’ Mythical Man Month with this autumnal sentiment, which sadly my beloved OwenShow cannot escape, and which I must admit after years of denial: OwenShow struggles with the latest Windows systems. Because of the ridiculous numbers of directories, which resource is of course multiplied by the ingenious Microsoft scriveners without restraint — because it’s free! ... I don’t know that Brooks saw that threat, all dewy-eyed in the dawn of creation ’n’ all. ... Directory structures are free because nobody needs to see them all; except me ’n’ OwenShow, the valiant and weak ’n’ weary....

On my average Windows 7 system, OwenShow takes several minutes simply to count just the c:\Windows\ directories — I’m tapping my foot as I type — and tell me there’re 22,914 of ’em, with 115,406 files! We all have a vague idea how many bytes it takes — about 26 gigs in this case — but the sheer number of directories makes the system essentially unknowable by any but machines, and even they grow weak and gasp. ... I long ago took defensive measures, instructing OwenShow to only scan the first level Windows directories, but the rot has spread to the whole system and everywhere I wander in my once-beautiful directory structures, there’re shoals and hidden corners of vast endless directories....

So the blinding insights offered by OwenShow have been boiled-down, by the march of time, into this simple fact: too many directories still suck. ... Of course there are a few minor code flaws in OwenShow that, with immense effort, I could fix so it wouldn’t be so annoying — most significantly, it searches everything for various purposes, which used to be hardly noticeable but now would be greatly ameliorated by searching a restricted range — but in the event I just make do by using ever-faster PCs.... (Thursday, August 15, 2013)

Too Big Files

I can vaguely remember persuading OwenShow and its little friends to count above 4Gb for directory totals, and have even vaguer memories of feeling that if the files were bigger than that, to heck with them. ... Of course the marching winding years have decided that an ISO file I was trying to copy was bigger than that, and now all is lost. I will go in and try to fix the thing, converting my jejeune Delphi Cardinals to int64s, or I don’t know what, but what about the next onslaught? How can I stand against it? ... Oh the brand new owenshow release has conquered 5 gigabyte files. These int64s are supposed to be good up to around a ~billion gigabytes, so we may be safe....

But Still ...

But I still prefer the arthritic OwenShow to the lovely and gracious Windows File Explorer or whatever it’s called this week. ... And perhaps the ever-elaborating owenshow-crippling OS juggernaut’ll be slowed-down by the sad decrepitude of Moore’s Law....

— the autumnal programmer
1/16


Our Directories, Our Selves

Blinding Insight time: OwenShow isn’t just a cranky geekhead annoyance! ... No, no, not at all! It has the potential to illuminate the only organizing principle that modern computers share: the directory tree structure, the alpha and omega of modern computerized data. ... Although as noted above maybe not so much anymore....

Anyway, the *nix masters know, but did not speak; the pitiful Macintosh elite mutilate them unknowing with the flick of a mouse (I got a mini, and did that within a day of first power-on), a stupid and dangerous power bequeathed to the Windows hordes — but OwenShow doesn’t do that. ... But I actually did that in a Windows CDR-burning program! ... Clicking endlessly through the tree, I came at last upon the directory I wanted to burn from — the program, like many, was far too stupid to paste-in a path from the ever-helpful OwenShow — and, overcome by excitement I guess, I accidentally moved a subdirectory to another subdirectory with that ol’ errant flick of the mouse! So handy. ... If you haven’t done this yet, you don’t use Windows or the Macintosh — or you’ve secretly been using an Owenshow-like file manager — or, more likely, you just haven’t noticed; I mean, everybody who uses these machines is constantly complaining about how they can’t find anything, hence the foofaraw over desktop search gadgets which don’t work either....

... And so you and all of the aforementioned classes have no idea — where is the data?! ... You know it’s in the computer somewhere probably, but the one simple actual-working real system that could help you find it — it is universally regarded as much too awful for normal human beings to contemplate, much less master. ... And modern computers are working on making it so it will be that way world without end with or without Owenshow....

The Americans

Make that lazy pampered normal human beings; that is, us, the Americans. ... No, my children, we won’t delude ourselves; the Bengladeshis know their directories; they know where their data is even in Windows; they don’t need the Google desktop finder — many of them can’t afford it! ... They can and must use cheap computers with less memory and smaller hard drives, and pay attention to where the data is — and where our data is, by the way. ...

... Now, due to my superior moral character and towering intellect, I understand directory structures, but unlike the guru masters, I speak — well at least I write and write and write. ... And I wrote OwenShow, so you can find your directories. ... No one can find your directories for you; you must go alone into this vast intricate maze — but at least with OwenShow you have a tool, a geeky friend, on the path. ... And the reward is great: mastery, power, knowledge. ... So go forth; Know Thy Directories!

... And then an inmate of a British magazine explained in his Snooty Advice column that everyone knows nested directory structures are the worst possible user interface known to mankind and many distant star systems:

“The tree outline view has been comprehensively discredited as an appropriate user interface control. Alan Cooper, the father of Visual Basic and the author of the seminal book, About Face — The Essentials of User Interface Design [blathers] nested hierarchies exist for the convenience of the programmer, not the user.”

— “Tree hugger” Ask Luis page 143 PCFormat 4/05

So there you have it; Use OwenShow — Be Discredited! ...

— Friday, May 25, 2012


JX: The OwenShow Executor and Execution History Companion! And So Much More!

For years I’d gotten by with a dangerous pile of batch files and MSDOS executables while I feverishly wandered my hard drives with OwenShow (and OwenView before it) executing important real-programmer missions. ... The batch files are still there — indeed you’ll find at least one in the exciting jx release — but now at last I have a wonderful compelling GUI from which to execute the strange and numerous commands I need to keep the computer attic afloat — and now you too can have this valuable tool with Delphi source at no extra charge! ... Included with this special offer only are instructions on how to integrate the thing with OwenShow and your DOS box! ... Never before offered on this web site! ... (And be sure to see the JX story directly below for what this nonsense is actually supposed to do!)

Also Included Without Cost!

The idea is to stick JX and at least the first of these valuable utilities in the path, and watch your system explode and melt with excitingly vivid new colors and smells and smoke, crashes and general chaos....

again.exe: with Builder 5 source. Replaced hyperx, the revered command-line predecessor to JX which was used by JX to support redirection and a little keypress/“run again” function. ... Basically “again” is a simple wrapper for the “system” library call — as opposed to hyperx, which is a ridiculously-complicated wrapper for the same call....

... And just for the heck of it, included today only are a few utilities I’ve used for years in batch files numberless to man:

batch.exe: It came out of 1988, and is still handy for the “yn” function if nothing else, i.e.

@echo off
batch yn Continue destroying the environment? (Y/N): N^^H
if errorlevel 1 goto done

Antique Assembler (!) source included. ... And in these decadent latter days, 32-bit C — well actually looks like C++! — source also....

setxp.exe: Win32 evolution of my venerable 16-bit setenv.exe (not included), which really hasn’t worked that well for a while even in Windows 98. ... Setxp also duplicates / enhances some batch functions. It implements environment-variable functions with trickery, explained in the endless help produced by entering the program without arguments. With obsolete Builder 5 source.

The Zip

It’s just a zip file, it doesn’t need no stinking install — well, if you need an install JX is probably not the ideal program for you. And here it is !

JX and Windows’ Trash-the-command-history Feature

But I see I’ve failed to explain JX’s Windows/doskey outlook: it’s intended to remedy disappointments in the “doskey” feature of MSDOS as implemented in its 32-bit Windows successors — where “doskey” is a feature (still available today!) which replays previous command-line incantations with the arrow keys.

... I could’ve probably produced a Linux version of JX without much trouble — but it would’ve been pointless: JX’s raison d’etre is capturing all my feverish command-line activities, particularly the long, complicated ones, and Linux already does that, with no stinking “feature”, out of the box so to speak. In the Linices I’ve used anyway, the Bash shell has a global command-line history, so you can exit a shell, start another, and it’s all still there. ... Even through power cycles! ... But that’d be because the Linux desktop GUI thing was just a childish joke....

But 32-bit Windows is too stupid for that. ... Unless I used the sainted OwenView, the previous 16-bit character-oriented hopelessly retro predecessor to OwenShow. ... The OwenView program ran inside a DOS shell, so when I “shell” out of OwenView — well, actually, I forgot what happens but apparently I do indeed run command.com which nevertheless remembers the commands I do in that shell even after I exit it, return to OwenView, and shell again! — Of course I just realized, because I was still in the same command-shell with just the temporary intervening execution of an Owenview or so; this was obscured in those glorious days by one of those tricksy high-memory DOS hiders. ... Whatever. ... I had already noticed that even the W98 32-bit OwenShow couldn’t transfer environment variables to spawned W98 command.coms, and I guess this is just more of the same. ... So in the idyllic antediluvian era of naked DOS, we remembered command-line histories, even crossing shell spawns! At least we did in OwenView! ... Ah those innocent times!...

... So JX, in combination with the fairly-obvious X.BAT file (which JX creates if necessary), remedy this annoyance in a dubious and intricate way, so long as I remember to use “x” instead of “exit” when departing a shell — and I get my lengthy DOS commands back again! And in a beautiful GUI, instead of the spartan command-line! ... Ad astra!

— Friday, May 25, 2012



OwenShow, Linux ...

We hardly knew you. ... Well actually I knew you only too well. ... Linux, not expertly certainly, despite my wildly irresponsible resumé claims, but I still use OwenShow every computering day....

But, sadly, my OwenShow Linux development machine came to a final halt this morning Tuesday, November 2, 2010. After a long life, first annoying employees somewhere starting in 2003, and then retiring to the Owen Laboratories to eek out a pitiful existence running Mandrake 9.2 which still managed to run Kylix 3 — as well as Mandrake or Linux for that matter ever runs; although perhaps a bit worse. ... It was of course a proud dual-booting machine, with an XP system in the other partition. ... I backed-up to Windows machines, giant zip files, and maintained the dual-OS Kylix source assiduously....

Scam

But now it is done. ... And, really, the whole Linux desktop thing is a scam: we’re supposed to do it because it’s good, ethical, moral — rather than functional. Which it never was. And we were supposed to lie about it in our puffy publications, because that was good, too. ... Poor Linux Journal recently rose to a higher sphere (aka “ceased publication” aka tranfigured into a “webzine”) even ’though they honored the taboos — well, they slipped too frequently, perhaps, making it all too clear the silly thing only worked on the command-line. But then so does Linux Format, their successful Brit competition, still among us and seemingly doing fine! ... But they all relentlessly lie about how the desktop works great, burble burble. ... And then there are the Android tablets which are in fact Linux desktops — where OwenShow definitely doesn’t run, nor do the fabled KDE or Gnome desktops, beloved of the caring feeling mendacious community. ... So all the latest Linux desktops contrive to look like Google’s Android.

Use Linux Midnight Commander

Anyway, the score after the game is over is Linux’s Midnight Commander (MC) was always a better file wanderer for real Linux users: i.e., on the non-GUI command-line. From my point of view, I shouldn’t’ve bothered with this Kylix GUI stuff — well, as it turned-out nobody should’ve — and stuck with my precious MSDOS proudly-character-based OwenView; and/or perhaps hacked MC to my strange and sickly desires. ... In the event, Microsoft realized some years ago they weren’t going to beat corporate server customers into relying on their wacky GUI — i.e., in that sphere, Microsoft had to accommodate itself to the Unixy competition and provide/support command-line utilities in copious quantities. ... So, wild passionate Linux OwenShow fans, expect no new OwenShows here; I’ll still distribute an old Linux version probably, but it won’t work anyway....

— the cranky programmer indeed
Sun 3/29/15 12:34 pm

Computer Science: EZ Delphi Assign

In C++, you can assign one object to another just like “a=b”, assuming a and b are instances of the same class. Fields in the class that are “plain old data” like integers get copied and go on to live an independent existence. ... If the class includes fields that are allocated pointers — i.e., instances of other classes that were allocated with “new”, or just plain old “malloc” data — the built-in simple (aka “shallow”) copy will only copy the pointers for these things, instead of making a new thing, and those pointers will not live an independent existence. C++ programmers must therefore concoct copy constructors to take care of such things; allocating another thing usually, and then copying it (aka “deep” copy)....

... The almost dead-language/environment Delphi, like some atavistic lizard-plant, doesn’t get nearly that far. It cannot conduct a simple copy of object instances — which is probably better than the C-- deceptive built-in, since the programmer is obliged to provide a special method to do that, usually named “assign”.

Tclass = class
  one, two, three:integer
  bingo:TStringList;
  {...}
  procedure assign(source:Tclass);
end;

{...}

procedure Tclass.assign(Tclass source);
begin
  one := source.one;
  two := source.two;
  three := source.three;
  bingo := TStringList.Create;
  bingo.assign(source.bingo);
end;

{...}

Tclass a, b;
a := Tclass.Create; b:= Tclass.Create;
{...}
a.assign(b); {that’s how it’s used}

As you can see this is terribly boring. And a maintenance problem: you have to remember to fix the assign method whenever you change any of the data in the class, even if it’s plain-old data. ... Hence the amazing thing what I discovered and what you should do is

Rclass_copyable = record
  one, two, three:integer;
end;

Tclass = class
  r:Rclass_copyable;
  bingo:TStringList;
  {...}
  procedure assign(source:Tclass);
end;

{...}

procedure Tclass.assign(Tclass source);
begin
  r := source.r; {copy all the
                 plain-old-data
                 at one blow!}
  bingo := TStringList.Create;
  bingo.assign(source.bingo);
end;

Voila! ... Because Delphi does know how to copy records. ... It’s still a maintenance problem for all the non-plain-old-data; but you can now add plain-old data to your class, through the utility record, with impunity! Without changing a line of code in assign!...

... So where is my speaking tour? My big book deal? My google audience?...

An example of this brilliant technique will be found in OwenShow’s publics.pas Texec.assign. ... And incidentally, as far I can tell Delphi’s Tpersistent isn’t any help....

— the guru-at-last
Thursday, October 4, 2007 3:12 pm

Kill95 Utility

The command-line alternative to the w9x control-alt-delete program-close function. I found this on the web and then hacked it a bit, so as usual you should assume it will annihilate everything you hold near and dear up to and including your second mortgage, but I find it real useful so here it is (right-click, “save-as”): ... Go “kill95 /?” on the command-line to see what fiendish destruction it’s capable of. Of course if you don’t know or want to know what a “command-line” is, it’s a complete waste of time....

But use TaskKill instead ...

In windows 7 at least, the command-line utility “taskkill” is supplied to do this, and it does it very nicely — but requires more mumbo-jumbo. Type “taskkill /?” to see its endless informative message. The kill95-like functionality is probably “taskkill /IM yourprogram.exe” — well, no, it’s really even better; it’s a polite version: it just requests the program to close normally, and the program, for instance, might ask you if you want to save your document, etc. ... Adding “/F” might make it a kill95 equivalent....

... Except to Detect a Program

One talent kill95 has is detecting a program running, like “kill95 jOrgan.exe -t”; see the informative “kill95 /?” message.

Process Explorer

A really great free GUI tool is procexp from the genius Mark Russinovich over at sysinternals: kill programs, find evil file-handle hoarders, and so much more. ... Actually he has numerous other useful Windows system utilities for free over there. ... Which, to be sure, was bought-up by Usux™ lo these many years....

The Eternal Typewriter

My father spent many presumably happy years (it seemed like decades at least) working on a hand-held typewriter that would revolutionize note-taking; it would be so small and convenient and ez-to-use that anyone could operate it and take notes at lectures, on airplanes, lounging lakeside. ... Sadly this convenience came with a price; notes would have to be rendered in a sort-of pseudo font; each letter would consist of a combination of finger movements/segments easily committed to memory — a Palm Pilot Graffiti™ before its time — but the mechanism would automatically move the paper along horizontally and vertically. ... That may be a picture of the remains of a prototype, or it may just be some random debris from the basement — because over the many years we fanatically resisted any attempt of his to expound upon the many astonishing conveniences and features of the device.

— Tuesday, November 8, 2005 6:49 pm

And see the microwriter, a computeristic rendering of the idea, also a total failure.