Settings

Theme

DBASE on the Kaypro II

stonetools.ghost.io

88 points by TMWNN 4 days ago · 41 comments

Reader

bruce511 17 hours ago

>> The prompt starts at the first field and <RETURN> (not <TAB> !) moves to the next.

This is hilarious to me, because times have certainly changed.

When we first started shipping Windows software the big complaint from users was the use of Tab to switch fields, while Return triggered the default button (usually Save or Close).

The change, for users used to DOS was painful - not least when capturing numbers as the numeric key pad has Enter not Tab.

Software developers either stood firm, convincing customers to learn Tab, or caved and aliased the Enter key to the Tab key. Even today I still find that option here and there in Software that's been around a while...

  • ChristopherDrum 17 hours ago

    Author here, and thanks for reading. I'm glad to hear stories from a developer POV about those days. It's interesting uncovering subtle interface changes as I investigate various applications. It makes sense to me to not use Return for fields, especially when fields could gradually accommodate longer and longer blocks of text. Being able to naturally type multiple paragraphs, say for a "Notes" field in a database, would make sense.

    • bruce511 16 hours ago

      Yes, it makes sense when viewed like that, and was probably a necessary change.

      DOS chose Enter though because in those days mist data capture was numbers. Lots and lots of numbers. Data capturers could track the left hand down the column (so keeping place on yhe paper) any type with the right. Enter is right there in the keypad so only one hand needed.

      Switching to Tab means 2 hands needed on the keyboard, so difficult to keep track on the paper.

      Typically also, on DOS screens there was very little multi-line entry. Addresses were multiple entry fields, and so on. Tab was pretty much not used (outside of word processing).

      If I went back now, to design the standard keyboard, I'd add dedicated "Next" and "Previous" buttons on the numeric keypad. No need for Enter there.

      But that's design with a lot of hindsight...

  • Someone 14 hours ago

    > not least when capturing numbers as the numeric key pad has Enter not Tab.

    And “Enter” isn’t “Return”.

    I don’t know how the PC and PC software did it, but the Mac, when it got a numeric keypad, discriminated between return (on the alphanumeric keyboard) and enter (on the keypad), and software did discriminate between the two.

    • pjc50 8 hours ago

      On the PC you can distinguish between the two of them in "raw" mode, but almost all keyboard maps flatten them both into the same key.

      The only time I've seen them mapped differently is games.

  • bluedino 8 hours ago

    We had a contractor write a replacement for some green-screen software that we ran for years. The replacement was of course a web interface, written in PHP, and nicely themed and all that was great in 2005.

    We kept running into all kinds of weird issues when importing data back into the legacy system. Of course, after we started looking into it, I narrowed all the issues down to the same two users.

    I don't remember exactly what it was, but users would hit a certain key on the keyboard at the end of every field, before they used the mouse to click on the next field and enter more data. This resulted in an undesired character at the end of every field!

    I realized exactly what was going on as I watched a person fill out the form and submit it.

      "Why are you doing that!"
    
      "Doing what?"
    
      "Hitting the space bar (or whatever key it was) every time you fill out a field!"
    
    Of course, in the old system you had to hit that key to save each field as you entered it.

    shrug

    • ErroneousBosh 5 hours ago

      So how do you fix it? Bit of javascript to trap the key and emulate the behaviour, dropping them to the next field?

pjmlp 10 hours ago

My introduction to databases was via dBASE III Plus, shortly followed by Clipper Summer '87, and Clipper 5.x (already OOP and some C++ like constructs).

The change to VB/Access and SQL later on took some mind shifting as the concepts on how to design a database are quite different.

Additionally it is quite remarkable the productivity that xBase offered, for a constrained environment like MS-DOS, in an automatic memory managed language, with AOT compilation (when using Clipper, FoxPro and co).

  • mamcx 5 hours ago

    > Additionally it is quite remarkable the productivity that xBase offered

    Yeah, is still unmatched. My dream is to revive the spirit of it (https://tablam.org) and looking for partners or funding!

  • dardeaup 8 hours ago

    I had a very similar path starting with dBASE III Plus.

    As you say the productivity it (xBASE/FoxPro/Clipper) offered was remarkable. One of the tools that I really wish I had was a FoxPro/Clipper compiler that took a subset of the language (general purpose stuff and screen functionality) and compiled it to either C or Go with ncurses. Who knows, I might have AI help me build one.

  • rbanffy 8 hours ago

    > The change to VB/Access and SQL

    Brazil had a vibrant and omnipresent Clipper developer ecosystem until VB and Access ate their lunch. This also made a lot of businesses adopt windows.

startaq 11 hours ago

> MAME has no printer emulation, which I like to use for a more holistic retro computing experience.

That's wrong. I haven't tried it with the Kaypro emulation, but here's a video showing the mc68000 computer printing to an emulated Epson ActionPrinter 2000: https://streamable.com/rvenyx

It's also possible to print to a text file.

  • ChristopherDrum 8 hours ago

    Oh wow, you're right! I see now that under MAME options there is a "Slot Devices" that has a printer selection option. I overlooked that I guess, thinking it was unrelated to printing. I'll need to dig into CP/M-80 configuration options more and see if I can get it talking to the emulated printer. Thank you very much for the heads-up!

cheema33 3 hours ago

It was a fun read. Thank you for sharing!

dbase IV was popular when I was in college. I never used it. But instead cut my teeth on Paradox and later SolidDB which supported SQL 92. I was blown away from SolidDB in the early 90s. So much power in such a tiny database product at that time.

ludsan 17 hours ago

In a moment of serendipity, I was about 30 minutes into watching this: https://www.youtube.com/watch?v=bYU3CQomE5M

I had memories of Foxpro and Clipper on my mind, when I found myself in this rabbit hole.

  • ChristopherDrum 17 hours ago

    Author here. My timing is impeccable!

    • Pinus 8 hours ago

      Thanks for writing this! I remember reading about dBase II as a kid, and now that I’m (much!) older and actually using some of the databases of today, I have sometimes wondered what those older personal-computer databases looked like.

astrashe2 8 hours ago

It wasn't quite as old, but there was an old MS DOS database system called Cosmos Revelation that was sort of a proto-nosql/graph database used keys and values for records, with the values being stored in long strings that contained field separators, and support for multiple values of the same time in a single field of a record. It used a language called R/BASIC that had library routines to help you work with the data structure.

This software is my retro computing white whale, I've never been able to find it. But I think it's evolved into a product called OpenInsight, by Revelation Software, which still exists.

sagacity 7 hours ago

This blog is so much fun to read. Super well written and researched, and it definitely scratches an itch for me. A lot of these tools seemed boring and mysterious to me when I was growing up, but seeing that these tools were actually already really powerful considering the hardware they're running on is very interesting.

sehugg 9 hours ago

I note that Clarion is still being developed, version 12 was released last year. I remember fondly using its screen designer to create drop-shadowed dialogs.

JSR_FDED 15 hours ago

This is awesome. Loved the training video as well.

It’s kind of cool to see people putting in the effort to learn 30 commands and becoming masters of their own destiny. I guess it’s the same sense of mastery that Excel users have today.

What’s the dBase II/III equivalent today?

  • ChristopherDrum 15 hours ago

    Thank you, I'm glad you liked the article.

    Hopefully someone more learned than myself about modern database programming will chime in. I'm not sure what current system offers both the database and development features in such a seamless package. That said, on the Mastodon post for this article, I was told, "Learning dBASE isn't for naught" and was directed to https://xharbour.org/ as a modern dBASE/Clipper implementation. (haven't had a chance to try it yet, personally)

  • twoodfin 8 hours ago

    Random trivia: Host of the video Gentry Lee is an accomplished space engineer, but he’s also 50% responsible for the collaboration with Arthur C. Clarke that produced the awful Rendezvous with Rama sequels.

    • benley 4 hours ago

      > awful Rendezvous with Rama sequels.

      Were those so awful? I remember rather enjoying them when I read them many years ago - though the last book got pretty weird, as 4th-book-in-trilogy installments tend to do.

      • twoodfin 3 hours ago

        Reaching back 30+ years into my memory... yeah, they were pretty bad. There were some cool ideas embedded into the story, and of course teenage me was desperate to see the mysteries of Rama revealed, & Lee might be a fine writer in his own right, but the collaboration with Clarke just didn't work.

        The main character (Nicole?) was the worst kind of Mary-Sue, with the rest of the characters increasingly taking on the mien of cardboard cutouts flitting around her. Sex became a major theme in a way that, again, might work well with another co-author but clashes with Clarke's palette.

        And IIRC, the exploration and revelation of the Ramans loses essentially all of the hard science that grounds Clarke's work generally and Rendezvous in particular and becomes woo-woo spirituality.

  • mayama 13 hours ago

    > What’s the dBase II/III equivalent today?

    Salesforce, firebase or Supabase etc., but, all are SAAS platforms. Not sure if there is any other platform where you can do database and applications that you can host yourself.

    • mercurialuser 6 hours ago

      Have a look at harbour project on github. It compiles Clipper code to be run on several different platforms, in text and gui mode (also with Qt bindings) and mow there are several frameworks for web development

  • pjmlp 10 hours ago

    Access, FileMaker are still around, or if you going SaaS, something like Airtable, I guess.

    • ChristopherDrum 8 hours ago

      Ah, of course, FileMaker. How could I forget the system that got me started on the development career path?!

  • buescher 7 hours ago

    Probably SharePoint lists, even though they’re even less relational. That’s probably a good constraint on most users ironically.

  • shrubble 11 hours ago

    SQLite; or MySQL with PHP or any other simple programming framework.

kryptonomist 12 hours ago

According to users of the Kaypro II from that time, it was a very robust machine. It was even used on the 1984 Paris Dakar edition.

crandyboy 8 hours ago

I have the source code to fox pro on a tape in my garage someplace

gareth5851 17 hours ago

Love this

antonvs 14 hours ago

Love the guy trying to crush his red telephone handset in the CP/M-86 ad. I assume he’s just been told he has to reenter the Kermit assembler code and start again.

slim 15 hours ago

"Author here" is the new "You're absolutely right"

  • ChristopherDrum 15 hours ago

    Since someone else posted my article instead of me, I felt compelled to clarify who I am. Just trying to navigate social media waters to the best of my ability.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection