lainchan / λ

anonymOS

podpilled_bugmaxxer · 2025-06-29 16:00
Hey everyone! I'm writing an operating system with some help from Codex (full disclosure). It's not a Linux clone. It’s built on top of the D programming language and implements an object-oriented design. It uses Plan 9’s namespace concept for processes as well as the file system. Additionally, it adopts the NixOS concept of a declarative OS with an immutable kernel for enhanced security. Lastly, it will use blockchain for system integrity. I know this sounds very ambitious, but it’s meant to be fun. For any programmers out there who might want to join in, please don’t hesitate to join the Discord server listed on this page: https://github.com/Jonathan-R-Anderson/internetcomputer Also, I’ve implemented a bash-like shell called dash. It still supports traditional bash commands, but the syntax is modeled after Lisp-flavored Erlang and is built on top of D. The file system will be distributed using a DHT and a RAID configuration to ensure data committed to the network is never lost. By design, this data will be immutable. Please feel free to ask any questions or join the discussion here! Also, our logo is the (very old) Epic Fail Guy!
bit · 2025-06-29 16:16
hey sounds neat I'm not much of an os programmer letalone D but I wish you luck. if it turns out to be a fail at least let it be epic buwhaha
podpilled_bugmaxxer · 2025-06-29 16:25
>>42471 Thanks! I created an IRC server too for the project. it's #anonymos on libera.chat
podpilled_bugmaxxer · 2025-06-29 16:31
Why My Shell Is More Elegant Than Bash I’ve been working on a custom shell inspired by Lisp Flavored Erlang (LFE), implemented on top of the D programming language. It blends Lisp syntax with powerful features like pattern matching and immutable data structures. Here’s a simple example that demonstrates how my shell expresses logic more cleanly than Bash: Counting to 5 (My Shell) lfe Copy Edit (let ((list (tuple 1 2 3))) (case list ((tuple 1 x y) (+ x y)))) This returns 5. Now here’s the equivalent in traditional Bash: Counting to 5 (Bash) bash Copy Edit #!/bin/bash # Simulate the tuple list=(1 2 3) # Destructure and pattern match if [[ "${list[0]}" -eq 1 ]]; then x="${list[1]}" y="${list[2]}" sum=$((x + y)) echo "$sum" else echo "No match" fi This also returns 5, but the difference in clarity and conciseness is obvious. You can check out the project here: https://github.com/Jonathan-R-Anderson/-sh Feel free to contribute or ask questions.
Apoc · 2025-06-29 22:57
Wouldn't an immutable Directed Acyclic Graph be more efficient and solve same task as a blockchain would? Or am I mistaken? Have you bridged the Discord and IRC server? Have you mirrored elsewhere than Github?
podpilled_bugmaxxer · 2025-06-29 23:17
>>42475 I am making a directed acyclic graph for the object tree. As for the file system, maybe? I haven't considered it. No I haven't bridged the two, recommendations? No I haven't.
Wintermute · 2025-06-30 01:33
>The file system will be distributed using a DHT and a RAID configuration to ensure data committed to the network is never lost. By design, this data will be immutable. I might be misunderstanding, but wouldn't that be so inefficient as to be useless? Most of what I write on my computer I won't look at ever again after a month. I've probably written about 10 times the capacity of my disk. Most of my data has no reason to be shared on a network either. Lastly, what the point of keeping an unbounded amount of revision? If it's a public network, it's just asking to be DOSed. If it's a private network, just use a versioning system for the documents you want to keep the history of.
podpilled_bugmaxxer · 2025-06-30 01:49
>>42477 So what I should have said there was the "network" file storage will be stored that way. As in, you can have "cloud" storage for files. Could you clarify the last part of your post?
stack · 2025-06-30 01:59
>>42478 If anyone can store things in your distributed network, that won't ever be deleted, the participants' storage will fill up at some point. You could add some cost mechanism to make it difficult to purposefully do that, but remains the issue that the available storage space needs to keep growing as long as people upload things. What happens if the network's size stagnates? What happens when a participant leaves the network?
podpilled_bugmaxxer · 2025-06-30 02:23
Oh I understand now. So, you gotta excuse me because I probably misspoke when I was explaining it. Yes I want network storage, not I don't want it to be permanent. It will be on a DHT with raid simply to make sure it persists so long as you want it to. The RAID will not be fixed either, I want it to fluxtuate based on dropout from the network. Again, sorry for not being so accurate. I do that a lot. If you catch me on stuff like that just call me out, it's fine.
stack · 2025-06-30 04:28
>MIT loicense >discord server Into the trash it goes
podpilled_bugmaxxer · 2025-06-30 05:44
>>42481 Aw. I'm sorry it isn't up to your standards. We also have an IRC server if you are more inclined to use that.
Nameless · 2025-06-30 05:48
>>42480 That makes more sense, but I don't understand the last sentence then. >By design, this data will be immutable.
podpilled_bugmaxxer · 2025-06-30 05:52
>>42485 Well, if it's committed to a DHT the files will not be able to change. This is a decision made because we literally *cannot* change the files. In order to do so, we could have a json file with md5 hashes of the files meant to be kept in relation to your fs. I created a similar architecture for dynamically load balancing web pages via bittorrent....we could do the same thing here. I didn't consider it and thought that committing the DHT would be sufficient. Would you prefer the files be capable of being updated? Also, the part that 100% has to stay immutable are the fingerprints of the system stored on the blockchain. This is to prevent things like rootkits from working on the system.