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
- 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