ableos/MANIFESTO.md

3 KiB

The Design of AbleOS

The unix philosophy and why it shouldn't exist

small is only beautiful if its complete. grep for example supports the -r flag which should instead be grep+find Everything is not a stream of bytes.

programs can do multiple things well cat, head and tail could all be one program with a flag which head which tail which cat should all return the same binary with different flags ``` which head == /bin/cat range=0-10

which tail == /bin/cat reverse_index=true range=0-10

which cat == /bin/cat
```

build a prototype quickly only applies if you are being pressured. do thing quickly then refine 'choose portability over effeciency' this is a flawed idealogy choose modularity over pure portability 'store data in flat text files' this leads to a psuedostandardization on KVPair configuration languages that all sit in a flat text file. Instead pick a configuration format that gets loaded into a tree structure

File Systems

The amount of files inside of a folder

  1. Why you might ask?

Dot files

dotfiles were a mistake given to us by bad programmers mocking better programmers. link

File name case sensitivity

Case sensitivity seems like a great idea! But in practice leads to the following filetree

/kernel
/Kernel
/kErnEl
/KeRnEl

which is a nightmare and you should be erradicated if you think this is a positive provide a display name for files that allows case and save the file as caseless

File name character limits

unix is a plauge upon this earth. name a file :(){ :|:& };: and try listing it. You have lost access to your terminal. if you defined a sane method of listing files and allowing programs to provide the OS a standard method of providing argument suggestions and being aware you would never run into this issue

CLI vs GUI

Graphics are not your enemy unix lovers. You mustn't be stuck in 1981. Times have changed! You can have a graphical shell enviroment. SGI Irix was aware of this in 1988, not perfect of course but 7 years after dos is an impressive leap. FFMPEG??? Why no gui? Give me a good git ui

Emails plain text

Unix believes in plain text emails. Quotes are >

Unix Wizards and Instability

[Do not meddle in the affairs of Unix, for it is subtle and quick to anger.]

Unix why are your mouse a file?

This list is incomplete /dev/input/event1 The PS2 Mouse /dev/input/event3 The USB Mouse /dev/input/psaux The PS2 Mouse /dev/input/psmouse The PS2 Mouse /dev/input/mice The Not(?) PS2 Mouse I think? /dev/input/mouse0 The not Not(?) ps2 mouse? First usb mouse I think? /dev/input/usbhid USB mice (should be autodetected) /dev/input/sermouse Most serial mice /dev/input/logibm Bus mouse connected to Logitech adapter card /dev/input/inport Bus mouse connected to ATI or Microsoft InPort card /dev/input/by-id/usb-<usbid here> A usb mouse via its id

I propose a unified system for input via a Device Tree of sorts