@tedchoward

jake savin is making good progress on porting frontier to run, headless, on linux and mac os. just wanted to make sure you were in the loop.

hope all is well! been following your work on old PCs, many of which i used "back in the day."

http://scripting.com/2026/01/15.html#a135543

Scripting News: Thursday, January 15, 2026

Dave Winer, OG blogger, podcaster, developed first apps in many categories. Old enough to know better. It's even worse than it appears.

Scripting News

@davew That's exciting! These new "agentic" tools are proving useful for things like this.

Thanks for reaching out. I'm glad to see progress being made here. I have so many aborted attempts to port the kernel littered across my hard drive.

Is there someplace I can go see the work in progress?

@davew I am doing well. The day job and my family are keeping me busy these days. I did get bit by the "retrocomputing" bug a while back. I'm very slowly designing and building my own 8-bit system.

I hope you're staying warm up in New York. We got our big winter storm here in Dallas this weekend. Compared to the north, it's not much, but it's enough to shut us down for a few days. At least the electricity is still on.

@tedchoward

this storm was pretty bad, but the roads are getting plowed, my driveway is plowed, never lost power or internet. so all in all, okay! ;-)

can't wait for spring though. every winter i say this is the last one. maybe this year i'll do something about that. ;-)

@tedchoward --

this is where the work is happening.

https://github.com/jsavin/Frontier

it's a fork of your Frontier project.

i "watch" it and get detailed updates when they accomplish something. makes for very interesting reading.

GitHub - jsavin/Frontier: The UserLand Frontier Kernel is a powerful development platform including an integrated object database, scripting language, a script editor and debugger, outliner, a multi-threaded runtime and an integrated HTTP server. This fork is actively modernising the runtime and toolchain to build and run on modern systems, and to separate UI from runtime.

The UserLand Frontier Kernel is a powerful development platform including an integrated object database, scripting language, a script editor and debugger, outliner, a multi-threaded runtime and an ...

GitHub

@tedchoward

he's also keeping an "instant outline" which i follow and you can follow too if you like.

https://drummer.land/[email protected]/JakeShare.opml

to follow that outline, open https://drummer.land/ and choose Open Url from the file menu and enter that url.

the outline will update when jake updates it. usually one or two times a day.

@tedchoward @davew You may have noticed some weeks back that I accidentally pushed a PR to your repo! I'm often telling Claude to reference it when investigating what the legacy app did if we get into a tight corner.

It's been going well, and I'm currently working on the low-level guts that would enable POSIX-based networking so that the web client & server will work. It's 100% headless, and my plan is for the UI to be a separate app.

Feel free to reach out if you have any questions! 🙏

@jsavin @davew Yes, I did see the PR open and close. It's exciting to see the progress you’ve made. I've pulled your `develop` branch. How do I build? Do I use the makefile in `frontier-cli`? What's the best way to test locally?
@tedchoward @davew I actually never build it by hand, but that is the correct makefile. Develop is pretty broken still at the moment, but should get a lot more stable by the end of today. If you look at CLAUDE.md at the top of the project tree, there's a quick reference with a list of commands for running tests and doing db migrations, but oddly nothing about how to build. Lemme fix that!
@tedchoward @davew I asked Claude to assess the docs gaps and close them. The README.md now has build instructions, and docs/GETTING_STARTED.md is a new "newcomer" guide with: system requirements, prerequisites, step-by-step instructions, UserTalk examples, REPL usage, and troubleshooting guide. Hopefully this is enough to get you started playing around with it. 🙂
@tedchoward @davew Just pull the latest develop to get the updates. I also have another PR coming in that fixes some eggregious issues in dot-path resolution. That'll take maybe 20 min, so you'll want to pull again and rebuild in just a bit.

@tedchoward @davew Well, I got a little ahead of myself. The REPL should work for some basic stuff, but there are still dot-path search issues I have to track down. This one has been a slog, but making slow and steady progress. Either way it's worthwhile to pull again and rebuild. From the top-level of the project you should be able to run:

./frontier-cli/frontier-cli ./databases/Frontier.root

... to start the REPL.

@jsavin @davew I’m getting a build error when I run `make -C frontier-cli`

```
› make -C frontier-cli
../third_party/cmake-install/bin/cmake -S ../third_party/Paige -B ../third_party/Paige/build-headless -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
/bin/sh: ../third_party/cmake-install/bin/cmake: Bad CPU type in executable
make: *** [../third_party/Paige/build-headless/libpaige.a] Error 126
```
It looks like it’s trying to use an embedded version of cmake.

@jsavin @davew
› file ./third_party/cmake-install/bin/cmake
./third_party/cmake-install/bin/cmake: Mach-O 64-bit executable arm64

Yep, the repo has an arm64 build of cmake, and I’m on an Intel Mac.

@jsavin @davew Ok, I updated the makefile to point to a version of Cmake I have installed on my machine and it’s building now.
@tedchoward @davew aah. Good to know. I'll have a look later. I've got an Intel machine I can try it on
@jsavin @davew It works! I'm able to evaluate some basic scripts, and look up things in the database.

@tedchoward @jsavin

This is the best thread ever.! 😀

@davew @jsavin

This is cool

Frontier REPL - Interactive UserTalk Environment
Type /help for commands, /exit to quit

[root]> clock.now ()
1/26/2026; 6:12:54 PM
[root]> date.dayString (clock.now ())
Tuesday

@tedchoward @davew And around now you're going to start to notice a whole bunch of stuff that's very broken. 😉

For example I just tried parentOf (string.mid) and got system.compiler.["kernel"].string, which is totally wrong. Heheh. (That's the next battle. Then back to networking.)

@tedchoward I fixed the bug that was causing weird dot-path lookups (I think). You should pull latest develop and rebuild to get it. [cc @davew]