I’ve been into computing for a very long time, being introduced to computers from a very young age. Some of my most fond memories of this particular hobby are from my youngest days, where even most the mundane things seemed really interesting, probably because it was all new to me.
I’ve often claimed that I was introduced to computing at the right time, with our family getting its first computer in 1993, and being forced to learn how to work the MS-DOS command line. Getting my head around how the command line worked would be essential to the quick adoption of Linux around a decade later, as well as getting me into the mindset of putting information into the machine, and getting an answer.
One of my early memories of our home 486 PC was watching my dad working the MS-DOS command line, often he’d run a program called “show” to view the contents of a directory. I could remember how it looked, with green text at the top of the screen, the list of files under it and a row highlighted in blue showing which files you could perform actions on. It wasn’t until I acquired the 486 as my own personal system in the early 2000s and reinstalled MS-DOS and Windows 3.11, I asked my dad how to get the “show” program on there, as I hadn’t seen it since before we upgraded to Windows 95. After a few minutes of digging around in a few boxes of floppy disks, he presented a blue double density floppy disk labelled:
for IBM PC using PC-DOS
Copyright © 1984, 85, 86
Kroeker Software Products
After installing this to the hard disk of the 486, and modifying the path in the AUTOEXEC.BAT file to ensure it could be run from any location, I was finally able to use show on my very own PC.
After playing around with it for a bit, I started to find some limitations in the, by this point, 14 year old software. The most obvious was that it suffered from the millennium bug. As the dates were displayed in a 2 digit year format, when the year 2000 rolled around, the software simply added 1 to the previous year (99) and files ended up with the date 1-Jan-100.
Another issue was that when opening many directories, the software would eventually crash. This was most likely a memory issue as it appeared that when opening new directories, another full copy of show would open on top of the previous one.
But, even with those caveats, I was happy to have the software back on my PC.
Switching to Linux
As mentioned previously, I later moved on to Linux systems. Of course, something I missed when working on the command line was the lack of an application like show. There was always Midnight Commander – an open source rewrite of Norton Commander, but I always felt it was a bit overkill compared to the simplicity of show, so I went in search of either a Linux version or a rewrite of it.
It was at that point, I realised there was probably never a Linux port from Kroeker Software Products, or even a rewrite due to the fact that the software was little known outside the walls of Texas Instruments, where Larry Kroeker once worked. I later learnt that Larry Kroeker passed away in 2011.
In 2008, two years after switching to Linux as my primary OS, I opened up a page on Source Forge with the intention of rewriting DF-EDIT, or at least try and get people interested, as I had no real programming knowledge. I even designed some mockups. (and thanks to my colourblindness, some of the colours are a bit off… oops!)
Over the next 10 years, I must have got literally… a few of emails asking about it, mainly former Texas Instruments employees who had used it in the 80s and wondering if I still had a copy of it. One mentioned there was a later version developed for Win32 environments. Sadly, no-one had the expertise to write a new version.
A new learning curve
Earlier this year, I decided I should probably have a shot a writing it. I’d been working with high-level programming languages such as Python, and Perl whilst working at Bede, so I had been getting myself into the programming mindset. Of course, one of the requirements I’d set myself was that I wanted it to easily run on almost any Unix like system, and for that, I decided to look into the C programming language.
Now, I don’t class myself as a programmer, my programming is purely for recreational purposes, and I wouldn’t want to trust my own code for professional use – not yet at least – but after 3 months, I finally have something that almost resembles show:
Things that took me by surprise about the C programming language is the lack of functions you’d come to expect from other languages such as Python. For example, the application is written to use the ncurses (New Curses) library, which allows for easy drawing of text on the screen. It’s often used to create text bases semi-guis, and menus. In some programming languages, you can simply tell it to create a menu with a certain set of options, and what each option should do. You get none of this in C, instead, you have to define how to print a menu, how to take input from the keyboard (including how to navigate the menu), how to redraw the menu and many other things you take for granted. Memory management is something that also needs to be taken into consideration, as you are responsible for ensuring memory is freed after it’s been used (which I’m sure I’ve overlooked in some places). I didn’t let this deter me though, as I do like a challenge.
Of course, show is nowhere near stable or finished yet at the time of writing, but I have released the code under the GPLv3 licence with the intention that it can be improved upon. However, the majority of the features of the original DOS version are available.
To be continued?
I am still working on the application, and hope to get something I’d call stable before the end of the year. But with the source being publically available, anyone is free to have a look at it now.
Does anyone else remember DF-EDIT, or met Larry Kroeker? If so, let me know, as information is a bit sparse.