https://craftinginterpreters.com/ is excellent for this
Found a few links:
* https://blog.carlosgaldino.com/writing-a-file-system-from-sc...
* https://www3.nd.edu/~pbui/teaching/cse.30341.fa17/project06....
* https://stackoverflow.com/questions/4714056/how-to-implement...
This might help, depending on how deep you want to go:
This is something I've been interested in lately as well & came across this video: https://www.youtube.com/watch?v=M_VuXVErD6E
It's targeting a split keyboard, but I think it details the general steps involved pretty well.
Software point of view, you'd like to use QMK or ZMK, and KiCad to design the hardware (PCBs). Reddit's r/olkb and r/ergomechkeyboards are great places to start!
Bonus: QMK supports trackpads and nipple-pointers too! (Not sure about mice though)
Or build your own religion. Them you can build as many humans as you want.
The first M makes this infeasible.
> Build your own girlfriend ;)
Eww. And illegal.
"Never roll your own cryptography", despite the ambiguity of its phrasing, means never use uncertified crypto in production unless you're willing to take the risk. It doesn't mean to never build cryptography without an expert's permission. Everyone who has ever published world-class cryptography has rolled their own crypto.
What that phrase means is you shouldn't use hobby crypto libraries for any important production services. But that's also not the point behind "Build Your Own" type projects. So your advice isn't correct in this scenario.
*Build your own firmware/bootloader
*Build your own FPGA/ASIC
*Build your own sound library/engine/driver
*Build your own GUI Toolkit/graphics library
*Build your own font (vector and bitmap)
*Build your own character encoding standard (à la ASCII, Unicode, etc.)
*Build your own MMO
*Build your own protocols
*Build your own mouse
*Build your own keyboard
*Build your own mail client and server
*Build your own VoIP client (à la Discord, Skype, etc.)
*Build your own instant messenger ( à la IRC, AOL, etc.)
*Build your own programming language
*Build your own markup/typesetting language
*Build your own compiler, interpreter and assembler
*Build your own machine code & microcode
*Build your own filesystem
*Build your own softmodem
*Build your own SDR
*Build your own BBS
*Build your own painting application/photo editor
*Build your own internet browser
*Build your own cryptography
*Build your own compression algorithms
*Build your own webcam and webcam client
*Build your own virtual voice assistant
*Build your own girlfriend ;)