UNIX Weapons School: Difference between revisions
No edit summary |
No edit summary Tags: Mobile edit Mobile web edit |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 9: | Line 9: | ||
UNIX Weapons School is an intense elective practicum. '''Its goal is to train formidably competent systems programmers.''' | UNIX Weapons School is an intense elective practicum. '''Its goal is to train formidably competent systems programmers.''' | ||
''update from 2021: this class would now absolutely go into io_uring and | ''update from 2021: this class would now absolutely go into [[Io_uring|io_uring]] and [[eBPF]]. also SSDs and the resultant changes to the I/O paradigm. there would probably be some talk of Spectre/Meltdown in conjunction with the architecture lecture, also BIG.little and core scheduling. probably a bit more coverage of [[ARM]] details, though i'll not yet yeet the x86 stuff. the "future of systems programming section" would be updated. a bit more talk about distributed systems, probably, and i'd discard the current material about machine learning. other than that, this still pretty much stands.'' | ||
==Lectures thus far== | ==Lectures thus far== | ||
| Line 60: | Line 60: | ||
<br> -- Dante Alighieri, ''The Inferno'', Canto III, 14-15</blockquote> | <br> -- Dante Alighieri, ''The Inferno'', Canto III, 14-15</blockquote> | ||
[https://www.youtube.com/watch?v= | [https://www.youtube.com/watch?v=tHxf17yJsKs Because I am hard, you will not like me. But the more you hate me, the more you will learn.] | ||
Each project will be evaluated for both correctness (in terms of unit tests passed) and performance (on several reference platforms). Performance of incorrect code is, of course, moot. I will make each project public two weeks prior to its due date, and provide a set of basic unit tests and a web-accessible oracular reference implementation (you can submit inputs and receive outputs). For details of grading, see the first week's slides. I am using a scheme designed to maximize competition and conflict between class members, which I hope will reduce cheating, lead to great personal exertions, and possibly get a chair thrown. | Each project will be evaluated for both correctness (in terms of unit tests passed) and performance (on several reference platforms). Performance of incorrect code is, of course, moot. I will make each project public two weeks prior to its due date, and provide a set of basic unit tests and a web-accessible oracular reference implementation (you can submit inputs and receive outputs). For details of grading, see the first week's slides. I am using a scheme designed to maximize competition and conflict between class members, which I hope will reduce cheating, lead to great personal exertions, and possibly get a chair thrown. | ||