Charles Childers is a user on You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

Charles Childers

@crc i got to say: i don't know how to program forth, even though as a language, it seems interesting, but i really like that version numbers are the current year followed by the month of release. It makes tracking the latest version really easy :D

2018.1 source release is now out at

Just a few quick notes regarding binaries:

- Binaries for Windows (native & .NET) are provided
- Binaries for DOS (real mode & DPMI) are provided
- The updated macOS & iOS versions will be available within a couple of days

With this done, I'll be focusing on documentation, examples, and getting it packaged for more systems. (Looking at FreeBSD ports & NetBSD pkgsrc currently)

Update on for : I committed the VM+IO source to the repository (as `interfaces/dos/repl.c`) and added a few lines to shrink the string buffers, so there's now 1927 cells free on startup. Not a lot of space, but there's only so much that can be done when running a 32-bit VM on a 16-bit host.

@ckeen @ajroach42 Thank you for the link -- I've bookmarked it for future reference. I absolutely subscribe to this manifesto.

(even when I am not writing in Forth.)

@ckeen @ajroach42 @a_breakin_glass It should also be noted that Chuck Moore had a library of routines that he regularly reused between projects.

The "write it yourself" mantra applies to when you're learning and/or developing something new. Once you've written it, you are free to re-use code YOU'VE written in a subsequent project, since:

1. You're in the ideal position to understand its tradeoffs, and,

2. You can fix and refine it effortlessly as needed.

@a_breakin_glass @ajroach42 Yes, it is part of chuck moores corollary (sp?) to 'Keep it simple': 'do it yourself'.

Meaning you can only keep it simple if you truly understand your problem and choose a HW/SW combination (!) to solve it.

And of course the only way to do that is to do it yourself.

@ajroach42 I think the net and the general availability might be a blessing and a curse. On the one side I get powerful software on my machine at the blink of an eye.

On the other hand comming up with your own solutions is discouraged, mainly by people shouting 'don't reinvent the wheel!'

That's one of the reasons I keep telling people to code it yourself.

I've managed to build a working(*) 12 for 16-bit 8086. It fits (barely) into a single 64K memory segment. It's also *very* slow, as one might expect for a 32-bit virtual machine running on a 16-bit architecture..

The next step is to implement a virtual memory system so I can have more than 10k cells (the standard image + input buffer uses 8,575 cells).

(*) strings aren't working fully due to insufficient space for the rotating temp string buffers.

@crc And Retro 11 for MS-DOS also works on real hardware (tested on an IBM PS/2e 486/25 running PTS-DOS).

For anyone interested, here are the files (still early Alpha quality!)

@crc That was easy: I've compiled Retro 11 using Turbo C 2.0 for DOS and it's starts the 16bit image. A little tweaking and it might be usable. Retro-Forth for ELKS should not be too far away :)


Interesting thread!

As someone who's been using computers since the early 1980s I can say for a fact that computers ARE harder. What's changed are User Interfaces in order to make things APPEAR easier, which doesn't really work for many of us much of the time. Because of this simplicity overlay it's gotten more complex to determine actual problems and solve them well. I truly believe this is intentional, meant to create a new industry--User Support--and take power away from individuals.

As a bit of retrocomputing fun, here's a build of for DOS. Requires 32-bit protected mode; I haven't managed to build a working 16-bit executable yet. or gopher://

@kensanata @horsemans @crc I have an updated version of "cgo" in my github repo ->

This version fixes some, but still not all problems. I'm currently busy patching Meltdown and other software security issues before I can continue with cgo.

Okay, I gotta take a break for a minute, and go to the store and stuf before I have to be at work tonight.


I got networking working!

Another command line gopher client, this one based on Python 3 instead of C (that'd be cgo):

@ajroach42 Charles @crc tooted today that he has his Mastodon->Gopher bridge ready, so you could use a DOS gopher client

composable gui thoughts, ideal OSes, forth. Show more

Hey #Mastodon folks, would you like to see #ftp, #gopher, #dat and #ipfs (and others!) URI schemes added to text parsing, so those become links in toots?

Please join the discussion at

Boost and if you have a GitHub account, get in there and at least leave emoji reactions. I don't want to bother development unless this is a thing a lot of folks care about. ^_^

Done :)

My initial server is released. See
gopher:// or

A few brief notes:

- Written in Python 3 using
- Only tested under inetd on a FreeBSD 11 box
- This is *very* minimal; it provides selectors for posting toots, reading the home, local, federated timelines, and reading notifications
- ISC license

I'll be releasing the iOS interface to this later this month.