Interesting Places On The Web

Links dump, mostly about nifty computer science things. Email me if something goes dead!

Back to Index

So... how exactly did they port Sonic Unleashed to PC?? by MattKC
A super fun application of that assembly knowledge from Computer Systems: porting video game source code so that it can run on different system architectures.
Learn Git Branching
Learn how to use the git command-line tool through a handy browser game!
The Pentium as a Navajo Weaving
This blog post from Ken Shirriff is a wonderful dive into two really cool topics: traditional Navajo weaving and old computer chips. The finished rug is so accurate that you can identify the specific generation of chip it represents!
Faster than Rust and C++: the PERFECT hash table
This video demonstrates the process of improving the performance of a hash table, with great lessons for anyone looking to explore performance improvement in their code. Also, inline assembly. ♥
Calculus Made Easy by Silvanus P. Thompson (1910)
"The preliminary terror, which chokes off most fifth-form boys from even attempting to learn how to calculate..." starts off this book, which is an Edwardian era version of accessible educational materials. Combines my love of Project Gutenberg and of mathematics. Even comes as a raw TeX version!
The image you can't submit to journals anymore
YouTuber BobbyBroccoli explores the history of an image widely used in signal processing research, and ends up providing a great discussion of women in computing.
explainshell.com
A website that uses manual page documentation to interactively highlight and explain the components of shell commands.
Game Boy Development Environment - NesHacker
How to set up a dev environment for creating new games for the Nintendo Game Boy using a GB-specific assembly langauge. Super cool.
EAX x86 Register: Meaning and History
Every time I teach Computer Systems, someone asks me what the register names mean. This explains it for one class of register, including a note from a designer of the original 8086 architecture.
Compiler Explorer
See how a higher-level language compiles to assembly in real time. It even has vim keybindings!
The Missing Semester of Your CS Education
Great intro to all of those funky tools that you hear programmers talk about but aren't taught in CS courses