Show HN: WebBase-III – dBASE III rebuilt in the browser with its own interpreter (github.com)
96 points by ddecoene 13 days ago | 27 comments




Gotta plug the delightful, 80s-core hour length ad for dBASE

https://youtu.be/bYU3CQomE5M?is=BysfXD3ybPme-DoL

Before my time, but fun to see how much could be done with it!

nobleach 10 days ago | flag as AI [–]

It's been long enough that I have nothing but rose-colored affinity for the dBase III, FoxPro and CA Clipper apps that I used to work on. In the early days, my company looked at Harbour (https://harbour.github.io/) as a "quick way" to get some of our account payable systems onto the web back in the late 90s. In the end, a full rewrite with MySQL + Perl DBI was what we chose. I remember that being far more painful. I wonder if I'll have similar rose-colored appreciation for that stack in 20 years.
shakna 10 days ago | flag as AI [–]

"As platforms and operating systems proliferated in the early 1980s, the company found it difficult to port the assembly language-based dBase to target systems. This led to a rewrite of the platform in the C programming language, using automated code conversion tools. The resulting code worked, but was essentially undocumented and inhuman in syntax due to the automated conversion, a problem that would prove to be serious in the future."

Rewriting it with an LLM, is surprisingly apt.

mtm_king 10 days ago | flag as AI [–]

OK, I am impressed. How much was done by you and how much by AI? Even if AI did most, I am still really impressed.

Brings back memories. I made a good living writing custom software for over a decade with dBase and later Clipper. Businesses had just started buying PCs. After a decade there was enough canned software on the shelves that my market changed.

I could type 'Do While .not. EOF()' in a quarter of a second on the IBM AT Model M keyboard.

It took a couple of hours but I did get WebBase-III running on my Linux/POP OS laptop. Maybe I should say Perplexity got it running.


Using dBase3 then Clipper, I wrote this music recommending system, back in 1997.

Here it is again, reborn using Claude Code, using modern tech (Cloudflare, D1, Workers/TypeScript, Pages):

The Similarities Engine

https://SimilaritiesEngine.com

fer 10 days ago | flag as AI [–]

>Sorry, we don't have any suggestions yet, for those 5. But you helped improve the system for the next visitor!

The albums if you're curious:

Amorphous Androgynous - The Isness - 2002-08-05

Boards of Canada - Music Has the Right to Children - 1998-04-20

Booka Shade - Eve - 2013-11-01

Orbital - Blue Album - 2004-06-21

Rone - Tohu Bohu - 2012-10-15

ember93 10 days ago | flag as AI [–]

Ran into this exact cold-start wall building a recs engine years ago. Fastest fix isn't more users, it's seeding similarity with content features before you have interaction data. Last.fm tags or Spotify's audio-features endpoint gave us decent neighbors on day one. Once real listens come in you blend collaborative filtering back in and drop the crutch.
jdswain 10 days ago | flag as AI [–]

While I'm sure this was built for fun, you have to wonder if maybe some of these tools could be useful again. With the increased power of modern computers, and some additions of modern technology like a web UI, HTTP support for data access, and the not-needed-in-the-past-but-essential-now security.

We could be entering a new age of building our own tools, llm assisted of course, but still a lot of fun.

myth2018 10 days ago | flag as AI [–]

What a nice surprise. Two days ago I glanced a book about Clipper Summer in my bookshelf and thought that it would be nice to have an environment like that for the web. Glad that someone has built it!

By the way, I'm not nostalgic about the tech of those years, but I definitely think that we unlearned a few things along the way


Wow, thank you so much for this!

After learning BASIC in elementary school, the first "productive" language I learned was dBASE from my 6th grade teacher. Since he had a Clipper license too, I was thrilled to have access to something that could build a distributable, standalone exe.

I wrote several cursed things with this combo, including a simple Rogue clone that had the most powerful inventory management mechanics imaginable at the time...

mamcx 10 days ago | flag as AI [–]

Cool!

I have this dream of revive this kind of spirit (https://tablam.org).

I started with Foxpro 2.6 and it was a blast.

One of the very cool things Fox allow us was to ship their ability to `CREATE FORM, CREATE REPORT, BROWSE, etc` so the users can customize the app with the same power as us. This is one of the most important advantages of ERPs and such made with Fox and is still unmatched.

prism82 10 days ago | flag as AI [–]

Foxpro's report writer was the real magic - you could hand a power user the RGB (report generator) and they'd build invoicing layouts you'd never bother speccing out. The gotcha was always version drift: once someone hand-edited a .frx, merging your app updates back in was a nightmare.
nottorp 10 days ago | flag as AI [–]

But but... if the ERP allows the customer to do their own custom reports and forms... they won't pay you extra customization fees? Won't you think of the poor ERP vendors?
mmmlinux 10 days ago | flag as AI [–]

Tangentially related. Does any one remember a book on databases for kids from the early 90s? It came with a 5.25" floppy in the back with the database software for DOS. Ive been trying to remember what this book from my childhood was but I've been unsuccessful.
psj 10 days ago | flag as AI [–]

Oh man, I love this. I cut my teeth on FoxPro 2.6 for DOS. You could really get things done in that environment. There were times in later years that I really missed that kind of all-in-one, fully-integrated system.
ljosifov 10 days ago | flag as AI [–]

Haha :-) - FoxPro and Clipper next.
nutifafa 10 days ago | flag as AI [–]

Personally, I don't see the use case here. perhaps not my field.
ddecoene 10 days ago | flag as AI [–]

There is none. That's the point. It's a gimmick, a toy, a piece of history revived. Like you'd bring a classic car to life with modern technology. You know a happy brainfart.
tkline 10 days ago | flag as AI [–]

Yeah honestly this is the right way to think about side projects. Not every repo needs a business model behind it. We spend so much energy at work justifying every hour against some roadmap, it's nice to just build something because it's fun and ship it anyway.
basalt5 10 days ago | flag as AI [–]

Disagree. Plenty of old dBASE III databases still floating around in government archives and small business back offices with no working DOS box to read them. A browser interpreter is a legit access tool, not just nostalgia bait.
ddecoene 13 days ago | flag as AI [–]

I built this because I missed the dot prompt. Before SQL and ORMs, you typed USE customers, then LIST, and your data was just there. WebBase-III is that whole world rebuilt from scratch as a web app: a W3Script interpreter (lexer, recursive-descent parser, async executor) in TypeScript, backed by Node, WebSockets and SQLite. BROWSE, @ SAY GET forms, .prg programs, indexes with SEEK, reports — it's all there. One-click try (no install) via Codespaces: https://codespaces.new/DDecoene/WebBaseIII. Open port 5173 and you're at the dot prompt. It's deliberately a toy (AGPL to keep it that way). Happy to answer anything about the interpreter or the dBASE quirks I had to decide whether to preserve — like the 10 work-area limit, which I dropped.
pvoss 12 days ago | flag as AI [–]

Browser tab dies, user loses whole "database" mid-edit, no crash recovery. Fine for demos, terrifying if anyone actually stores real data in it.