The slab and the permacomputer (2021)
robinsloan.com
robinsloan.com
(Between this, The Thirty Million Line Problem video by Casey Muratori[2] and running across Forth, specifically jonesforth, I've also been thinking of building my own tech stack from scratch, or at least playing around with it while collecting more and more references about doing so.)
You could even make the point that for most techies, we treat tech as magic, but we call it "abstraction layers". We don't care about what's underneath as long as it always works.
...as long as it works for about 18 months. I'm losing count of the number of projects I've seen recently which have build instructions which start with "you need this specific version of this particular build tool or compiler"....
Simple, understandable software is a good thing. Software which is performant is a good thing. Software which solves the user's problem is the most important. We have examples of software which are all three of those things. We also have software which is none of the three.
The biggest thing, if we are thinking long term, is that we should likely remember to emphasize that which can be maintained overtime by a small number of people, or indeed just one person. We should also emphasize machines that can be understood by a small team, or indeed just a single individual. Until recently, I would have said that all of this is alarmist.
I think the slab will start with the smartphone. Someone will find a universal starting point within the complex mess that exists. This starting point will be successful and universally adopted (think: TCP/IP). Maybe it starts in the browser, as a page, then a plugin, then an app, then an OS, and finally hardware. The software written from this common starting point will, ideally, be able to run equivalently in each mode.
Broadly this isn't a new idea. Historically people think this starting point is something like Lisp, and want Lisp machines. There are other paths, though. It is good though that so many people are pushing toward this goal from so many directions; getting a computer whose mutable state from startup to application can fit in your head would be a godsend for human programmers. The path we're on now, only AI will be able to understand our systems. And that's bad, not just from a livelihood perspective.
This captures how I feel which is why I'm inventing a new stack.
You're right, OpenBSD with something like Dillo or NetSurf might go a very long way. I'm not sure though if I want to run OpenBSD on the TiBook, I have plenty of more powerful hardware for that, and running a modern, portable OS removes from the flavor of such retro hardware - e.g. it's the most modern/powerful laptop that can still run OS9. There still are people who maintain and write new software for the classic Macs (one of them, jcs, being an OpenBSD developer). I'll have to explore my options more thoroughly here, but either way, that machine struggles even with modern SSH, something you're used to being instant.
UXN was developed out of necessity , because some software stopped working in certain environments. AFAIK author is living on a boat. and doesn't have unlimited electricity and internet access. Their electricity supply depends on weather.
When you look at it like that, information security is largely first world country problem. whilst 3rd world country is happy if it has internet and electricity at all.
how far along are you
i like the idea 'With Adama, the transactional boundary is a single message. A single message from a person enters and a single data differential is emitted [to the log]'
i do think this new kind of data store needs its own language; though it could conceivably be a dialect of an existing language, very few languages are fundamentally relational, and those that are (prolog, say) are poorly suited to reactive systems (in pnueli and harel's term — as opposed to transformational)
The data store has its own language which is how it got started, and my vision is to build complex digital products with simple infrastructure.
For HTML/JS/DOM, I am accepting it into my heart as I can ship product on those technologies. But, I do believe in fixing them. For example, I believe we can fix HTML with some reactive extensions which I have started.
https://book.adama-platform.com/rxhtml/ref.html
The experiment here is to have a way to build robust apps with Js skills.
For the DOM, I've building a new scene tree called roslin. https://github.com/mathgladiator/roslin
I'm still playing with it as I build the WYSIWYG tooling to feed it. However, a new DOM is all fun and good until you get to text entry.
My base level is Linux with JVM, but I believe the base can be radically simplified. For now, until I can drive revenue these are hypothetical.
It's a lot of work just to make an online board game... the hardest way possible.
"If, in some cataclysm, all of scientific knowledge were to be destroyed, and only one sentence passed on to the next generation of creatures, what statement would contain the most information in the fewest words? I believe it is the atomic hypothesis that all things are made of atoms — little particles that move around in perpetual motion, attracting each other when they are a little distance apart, but repelling upon being squeezed into one another. In that one sentence, you will see, there is an enormous amount of information about the world, if just a little imagination and thinking are applied."
The slab and the permacomputer - https://news.ycombinator.com/item?id=28995999 - Oct 2021 (24 comments)
Here's the last one:
<!-- It's fun to read a good old-fashioned HTML page, isn't it? -->