Konrad Hinsen
06/13/2025, 8:44 AMTom Larkworthy
06/13/2025, 9:30 AMKonrad Hinsen
06/13/2025, 11:43 AMJ. Ryan Stinnett
06/13/2025, 12:00 PMKartik Agaram
Konrad Hinsen
06/13/2025, 3:34 PMKonrad Hinsen
06/13/2025, 3:39 PMTom Larkworthy
06/13/2025, 5:05 PMThe Python community has given a spectacular demonstration of how a FOSS community can do evil to (a part of) their users, with the violent 2->3 transitionYou might like the lopecode vision. Its half chatGPT generated and very cringe because it was written in a hurry, but a massive motivation for bundling all dependancies inside a single file is to prevent breaking working software. The title is "*Designing Immortal Software*". If it works on your machine today, it will work in 10 years provided web standards do not break backwards compatibility. The browser is the only runtime dependancy and all assets and code are inline inside that file, so you do not need a local webserver or a network connection to open that file. You do not need 3rd party software to make code modifications, because the build tooling is inline too. There is no "login". If you have the file, you own the software and have the toolchain to modify it forever. If I break backwards compatibility, it is 100% decoupled from the file you own and therefore cannot affect it. I can still run the files I exported in November despite the system changing massively. I picked web as a dependancy because it was one of the most backwards compatible technologies outside of the win32 API I could think of that has multiple vendors. I hear what you are saying an 100% agree and lopecode is my answer to that very thing. Lopecode supports Firefox, Safari and Chrome and tested on Zen too. Can't do seamonkey as it requires Javascript modules. But still, Lopecode is standards based but just the modern web standards that came after seamonkey. Ryan
but isn't your own kernel also a new framework things would need to be adapted to...?yeah I was thinking "am I a hypocrite?" as I was typing it. I think no because I did not develop the kernel. Observable did, I am not affiliated. I am a fan, and I want to take that venture funded MIT licensed reactive spreadsheet engine and put it in a different context that allows more malleability and userspace interaction. Code written on observable works on Lopecode, so there is already a ton of code that needs no adaptation to run on lopecode. I am not writing my personal vision of a kernel. Reactive runtimes are hard and Observable's is battle tested and made by Mike Bostock so its better than anything I could make. What I have done is written a ton of userspace projections of that runtime state that enable you to interact with it like an IDE and save it as a file, but those are userspace, and have no elevated status. They are libraries not frameworks. I think its an important distinction. The runtime is the frameworky bit, but if you want to do a reactive programming environment you will need something like that so I think its healthier I outsource that because it means you and I are equals (I can't change the runtime if I wanted!), plus its actually good and I do not burn out wasting my time writing one. Its MIT licensed so nobody has a problem with us using it. Generally I think we need expand our horizons not just to the application, but to include the toolchain and IDE. That is the programming system and I don't want any of them breaking unexpectedly and I want all of them malleable and under our control.
Kartik Agaram
Konrad Hinsen
06/14/2025, 8:19 AMKonrad Hinsen
06/14/2025, 8:23 AMKartik Agaram
Kartik Agaram
Maybe I'll try to put together an evaluation sheet for software dependencies.This would be wildly helpful!
Kartik Agaram
Stefan
06/14/2025, 11:37 AMKonrad Hinsen
06/14/2025, 1:35 PMKonrad Hinsen
06/14/2025, 1:39 PMKonrad Hinsen
06/14/2025, 1:42 PMKonrad Hinsen
06/14/2025, 1:46 PMKonrad Hinsen
06/14/2025, 1:53 PMStandards are susceptible to embrace-extend-extinguish, so I consider them irrelevant.That's what happens when one implementation gets to big that it can afford to break its original commitment. I guess there is no protection against that, other than antitrust laws.
Kartik Agaram
Konrad Hinsen
06/15/2025, 7:51 AMJason Morris
06/15/2025, 8:52 PMKartik Agaram
Jason Morris
06/16/2025, 2:48 AMKartik Agaram
Gemfile or package.json can expand into 100 or 1000 lines in Gemfile.lock or package-lock.json respectively depending on the precise package you choose. So even if you start with the assumption that they are, you're forced to conclude they are not. Proof by contradiction.
• Personally I take curation extremely seriously.
• Even if you don't believe me, or you think I'm a real outlier, what I mean by "curation is important" is that the choices every top-level curator (software package) makes are extremely consequential for computer owners (to the extent software == important above). Perhaps you'd use a different word for it than "curation". I'm not attached to the word. But it seems incontrovertible that this is true of all software.
As a quick attempt to clarify my third paragraph above, consider the XZ utils backdoor. Someone tried to change a miniscule number of lines on roughly every computer on the planet in order to flip them from net positive to net negative for their owners. Again, I feel like I'm liable to be saying obvious things so I'll stop there, but we can chat at greater length about it as needed.Tom Larkworthy
06/16/2025, 6:37 AMKonrad Hinsen
06/16/2025, 1:28 PMJason Morris
06/16/2025, 6:03 PM