If every single line of computer code was deleted (all hardware and knowledge remained), what would be the process back to high level languages? #very-off-topic
Complicated somewhat because the line between hardware and software is very fuzzy these days, lots of stuff needs firmware
And most hardware doesn't just come up in a programmable state.
Once you can read keyboard input and display characters on a screen getting a language bootstrapped and running is the easy part.
You might build a bread board pc using an old pdip packaged CPU with memory that has been programmed via switches, use that to bootstrap into something you can use to write and program firmware
Do books exist? I'd start reading about assembly personally.
Yes, books do exist. Maybe better way to say it. World is as it is. But you have a room full of hardware, but there is no software allowed to enter, any software has to be created/written from within. There is some air gap between your project and world. You can go outside of the room and have access to normal world (access to internet) I suppose I wonder how closely you would be required to follow how it happened
This just came through on my feed https://oldbytes.space/@millihertz/117295569562061870 assuming the hardware gets to keep its firmware, you use a 6502 to assemble and write that to an SD card (I think the legacy sd protocol is still supported and is simpler than USB) and then boot it. Tweak the asm to run a simple kind of interpreter loop with peek poke and jump and you are off to the races
what would be the process back to high level languagesStart with Lisp. And... that's it. Just keep making the "full systems" Lisp stack better, one non-breaking change at a time, starting with the drivers and the firmware. Basically, https://www.nand2tetris.org/ :)
(Alt.: Start with a Forth, or a Smalltalk, or an APL, and then follow the LISP plan... also, while at it, please skip the UNIX wars and GOTO plan9 straight away. And if we do it right, we won't need to make Emacs, because the whole system, nay the whole world, will be interactive-live-programmable, as the Wizards of Xerox and Mages of Symbolics and Followers of Iverson meant it to be.)
And, on-topic to your off-off-topic of "cold restart after total outage" problem... HN had thoughts about a post of mine that fell into its maw: > Cold restart whole system after total outage > 132 points by dmazin on July 20, 2023 | 105 comments https://news.ycombinator.com/item?id=36792421
For a less tongue-in-cheek answer, cf. Viewpoints Research Institute's STEPs report. STEPS Toward the Reinvention of Programming, 2012 Final Report Submitted to the National Science Foundation (NSF) October 2012 https://tinlizzie.org/VPRIPapers/tr2012001_steps.pdf > If computing is important---for daily life, learning, business, national defense, jobs, and more---then qualitatively advancing computing is extremely important. For example, many software systems today are made from millions to hundreds of millions of lines of program code that is too large, complex and fragile to be improved, fixed, or integrated. (One hundred million lines of code at 50 lines per page is 5000 books of 400 pages each! This is beyond human scale.) > > What if this could be made literally 1000 times smaller---or more?
> How you source old hardware without ebay is a mystery Teehee, the kids would never guess. Lucky for them, your and my grey matter's fading brain-traces ("infirmware"? š¤Ŗ) still contain pointers to the olden times, @hiredman :D Those were golden times... https://vintageapple.org/catalogs/
you should look into a set of prepper-adjacent related ideas in this space called "https://permacomputing.net/principles/", there are projects like https://collapseos.org/ (Forth-based as @adityaathalye suggests) designed to extend the useful life of scavenged and resource-constrained hardware.
would you find this usefull for nrepl ? because i saw many use ssh to connect to production systems nrepl https://github.com/holepunchto/hyperssh
When I want to connect my editor (VS Code) to either the QA mREPL or the Production nREPL, I use this Joyride script: https://github.com/seancorfield/vscode-calva-setup/blob/develop/joyride/src/remote_repl.cljs which is invoked (by another Joyride script) like this:
(ns example-repl
(:require [remote-repl :as r]))
(r/repl-setup 6666 7777 "QA" "qauser@10.10.10.10")I can imagine a few uses for peer to peer distributed connection brokering, some of them even legal. but if I am running nrepl somewhere, I always have an ssh server and a known remote ip
Iām really liking a pattern that celld does where am s3 bucket has instances CAS their dns info and there's a key in the bucket. You could use this for traffic and the files have a liveness factor so the instances continue to refresh it.
Nrepl could have a middleware that all messsages are signed with the key, or you could have session creation require the key, etc
first time hearing about this project ! ZLUDA allows to run unmodified CUDA applications on non-NVIDIA GPUs https://github.com/vosen/ZLUDA