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/5c6d570ae186f963ad2d

httpd

a webserver. covers sockets, http, and concurrency

https://gist.github.com/raylu/d4a1b0bc38dc30528bda70188d9c50eb

seamless

a seamlessly reloading webserver. combines process management and sockets

https://github.com/raylu/seamless

the night watch

a fun read by james mickens. covers humor

https://scholar.harvard.edu/files/mickens/files/thenightwatch.pdf

malloc

implement malloc in C. covers memory

https://github.com/danluu/malloc-tutorial

cron

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/69f4acd1fc094c66ba73

distributed job queue

call functions at an unspecific time in the future on a lot of workers

https://gist.github.com/raylu/937a339c52a919fd8fda8447c8450fde

wsgi

your own WSGI framework (like flask, django, pigwig). covers the shit out of http

https://gist.github.com/raylu/a239b9f32aa1735ae42f

requests-debug

a debugging exercise

https://github.com/raylu/requests-debug

kingside

chess AI. actually has nothing to do with systems

https://github.com/raylu/kingside