raylu's systems bullshit class
this is a series of assignments to learn about systems (especially sockets and concurrency). they are in python because it gives you access to the relevant bits you'd need from C and manipulating strings won't cause insanity.
if you need help and/or want to show off what you've done, hit me up on discord (raylu) or reach out to me through whatever medium I linked you to this.
shell
runs commands (like bash). covers process management
https://gist.github.com/raylu/5c6d570ae186f963ad2dhttpd
a webserver. covers sockets, http, and concurrency
https://gist.github.com/raylu/d4a1b0bc38dc30528bda70188d9c50ebseamless
a seamlessly reloading webserver. combines process management and sockets
https://github.com/raylu/seamlessthe night watch
a fun read by james mickens. covers humor
https://scholar.harvard.edu/files/mickens/files/thenightwatch.pdfmalloc
implement malloc in C. covers memory
https://github.com/danluu/malloc-tutorialcron
calls functions at a specific time in the future (like cron, but not recurring and way more fun). covers concurrency
https://gist.github.com/raylu/69f4acd1fc094c66ba73distributed job queue
call functions at an unspecific time in the future on a lot of workers
https://gist.github.com/raylu/937a339c52a919fd8fda8447c8450fdewsgi
your own WSGI framework (like flask, django, pigwig). covers the shit out of http
https://gist.github.com/raylu/a239b9f32aa1735ae42frequests-debug
a debugging exercise
https://github.com/raylu/requests-debugkingside
chess AI. actually has nothing to do with systems
https://github.com/raylu/kingside