Brooks (brooksmoses) wrote,

  • Mood:

Software pleasantry.

One of the entertaining things with open-source software projects is the process whereby I find one that sounds interesting, have a look at it and download a copy, decide that it's way too early in the beta stages to deal with, and then forget about it for a couple of years. And then I rediscover it, and suddenly it's all improved and working.

This happened recently with the TortoiseSVN version-control client. I'd downloaded a copy a year or two ago, when I was looking at version control systems, but at the time it was in version 0.17, and seemed a lot of bother to poke at. Then, a few months ago, the newly-hired computer person in our research group at work suggested it, and I find that it's in a 1.1 release and "just works" -- painless install, and very simple and convenient.

That's sort of a digression, though, from what really prompted this post. What prompted this post is sort of a long story, stretching over more than a decade.

The story starts with my freshman year of college, spring semester of 1994. As part of the "Engineering Fundamentals" class, we were learning computer-aided design, and so we all got copies of CadKey 6.0 -- a CAD program that was in those days a fairly serious AutoCad competitor.

CadKey 6.0 was, in those days, a DOS program. The user interface was one that I hold up as a shining example of good design. All of the controls were menu-based; each menu item had a function key assigned to it, and ESC brought one back to the top of the menu (or F10 was "up one level"). The result was remarkably fast; with the left hand on the function keys hitting strings that were stored in muscle memory, and the right hand on the mouse, the interface became nearly transparent. ESC-F1-F2-F2, click click click, there's an arc defined by three points. ESC-F1-F1-F1-F3, click click, there's a line connecting the ends of the arc. ESC-F1-F6-F1, click click, click click, and the intersections of the arc and line have rounded fillets added. I never had to move my hand off the mouse, or move the mouse or my eyes away from the workspace.

Then, a couple of years later, Windows was taking over the world, and so they released a Windows version of CadKey -- which I ended up using on some lab computers. This used the same menu structure, but replaced the homegrown menu system with standard Windows drop-down menus. The result was, for me, barely usable. The function-key commands were gone. A few commands had keyboard shortcuts, but 26 of those isn't many. And so drawing that previous drawing became a process of clicking on "Create", clicking on "Arc", clicking on "Three-points", then going back to the screen and clicking to set the points, and then clicking on "Create", on "Line", and so on. It was painful to use, and all the more so because I was used to it being so much faster.

A couple of years after that, I graduated, came to Stanford, and that spring bought a new computer which ran Windows NT. Now, as mentioned, CadKey 6.0 is a DOS program. But, being a high-end CAD program, it needed access to lots of memory, and so (to skip over a bunch of technical details) it needs to run with pretty much direct access to the hardware in order to get at that memory. The result is that it simply won't run under Windows NT, since Windows NT is unwilling to give a program that level of control. (This is a large part of why it's a lot more stable than Windows 98, and why it's rare that a program crash will blue-screen the whole system.) So, for a while, I rebooted my computer into DOS every time I wanted to run CadKey.

That got tiresome, because I dislike shutting down all my programs and closing all my browser windows and all that in order to reboot. And then I upgraded my video card, and CadKey doesn't have drivers for my new video card. So, for a year or so, I had a second cheap secondhand computer that I used just for running CadKey on. But that also became tiresome.

So, for the last three or four years, I pretty much haven't been able to run CadKey at all without going to a fairly large bit of effort to haul the second computer out of the closet and hook it up.

But, just recently, I came across a GPL-licensed program called DosBOX, which is a PC emulator that's roughly equivalent to a 486-level machine. It's primarily intended for running old DOS games, which also tend to do strange things with direct access to memory and video cards, so it includes the ability to deal with all that. And it turns out that the most recent version (0.63) will in fact run CadKey flawlessly.

So I finally have my favorite CAD program back, and it all works including all the function-key interface that I like so much, and the video-card emulation allows it to run at a maximum of 800x600 -- which is a bit small, but a decent size for a window on a 1024x768 screen such as the one on my laptop -- and I can save files into directories where I can then access them from other programs. It's all wonderful.

Except for one thing. You see, my desktop computer is still the same one that I bought back in 1998 just after I got to Stanford. It's still fast enough to run Windows 2000 and nearly everything I want to run on it. But, when the emulator gets figured in, it's nowhere near fast enough to run this CAD program, even though the CAD program's five years older than it is. Ah, well; I've got the laptop for now, and I'll have a faster computer soon enough, I suppose. Or maybe I'll come back and look at DosBOX in a half-year or so, and find that they've fixed things so that the video-card emulation doesn't eat up CPU time like Cookie Monster would eat mini-Oreos. Either way, it works.

  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.