Potpourri
MIT 6.NULL The Missing Semester of Your CS Education, lecture 10, explained in plain English
Want this lecture to stick? In LessonBound you get checked practice questions for every part, can ask about anything you don't get, and can listen with your screen off. Free, no ads.
Learn this lecture freeWatch or read the original lecture: MIT OpenCourseWare.
Part 1
This lesson covers five useful computer tools and habits: remapping keys, background programs called daemons, FUSE for custom file systems, keeping real backups, and using online APIs.
Key ideas
- Keyboard remapping lets software catch a key press and swap it for a different key or a command. Many programmers remap Caps Lock to Ctrl or Escape because Caps Lock is rarely used.
- A daemon is a program that runs in the background all the time instead of waiting for you to open it. Examples include sshd, which handles incoming SSH logins, and cron, which runs tasks on a schedule.
- FUSE (Filesystem in User Space) lets a normal user program handle file operations, which were traditionally only handled inside the operating system kernel. This lets tools like sshfs show a remote server's files as if they were on your own computer.
- A real backup should be stored off-site, because a copy on the same disk or a single home drive can be lost in one event like a fire or theft. Sync tools like Dropbox and RAID are not backups, because they copy deletions and corruption too.
- Many online services offer APIs, which are structured web addresses that let programs read data or perform actions. Responses are often in JSON format, and some APIs need a secret token to prove who you are.
Words to know
- daemon
- A program that runs quietly in the background all the time, usually without you opening it. Its name often ends in d, like sshd.
- FUSE
- Short for Filesystem in User Space. It lets an ordinary program create a file system, so you can make folders that work in unusual ways, such as showing files from a remote server.
- deduplication
- A way of saving storage space by storing only the parts of data that have changed since last time, instead of saving full copies again and again.
- API
- Short for application programming interface. It is a set of web addresses a program can call to get data from a service or ask it to do something.
Example
Think of a backup like a spare house key kept at a friend's home. A second key hung on the same hook by your front door does not help if the house burns down. Mirror tools work like a photocopier that copies a mistake, so a file you accidentally erased is erased in every copy too.
3 checked practice questions for this part are in the app.
Part 2
This part covers a set of useful computer tools and ideas, including API tokens, command-line habits, window managers, VPNs, Markdown, Hammerspoon, and BIOS/UEFI.
Key ideas
- OAuth gives a program a token that can act as you on a service, but only for certain purposes. The token is secret, so anyone who gets it can do what it allows under your account.
- Many command-line tools share the same flags. A dry run shows what would happen without making the change, and the special -- argument tells a program to stop reading flags.
- A tiling window manager arranges windows as tiles that never overlap, so the screen is always filled and you can control everything with the keyboard.
- A VPN does not make you private by itself. It moves your trust from your internet provider to the VPN company, and HTTPS already encrypts much of your sensitive traffic.
- Markdown is a simple way to format plain text. You use symbols like * for italics, ** for bold, and # for headings.
Words to know
- token
- A secret key-like code that lets a program prove it has permission to act on your behalf.
- dry run
- A test mode where a tool only tells you what it would change, without actually changing anything.
- VPN
- A virtual private network, a service that sends your internet traffic through another company's server so it looks like it comes from there.
- Markdown
- A lightweight way to format plain text using simple symbols, so you do not need a heavy word processor.
Example
Think of an OAuth token like a hotel key card that opens only your room and only for your stay. If someone finds that card, they can get into your room, so you have to keep it safe. The same idea applies to a token: whoever holds it can use your account in the ways it allows.
3 checked practice questions for this part are in the app.
Part 3
This part covers tools that let you run other computers or systems safely, such as live USB drives, virtual machines, cloud servers, notebooks, and how to help open-source projects on GitHub.
Key ideas
- The BIOS menu lets you change hardware settings, and the boot menu lets you start your computer from a different device, such as a USB drive, instead of your hard drive. A live USB is a USB flash drive that holds an operating system you can run from.
- A live USB is useful for repairs. If your main operating system breaks so it no longer starts, you can boot from a live USB to recover your data or fix the system.
- Virtual machines and containers let you run a whole separate computer system inside your own computer. This gives you a safe, isolated space for testing, development, or trying out risky code.
- You can rent computers in the cloud for short periods. Billing is often by the second, so you can rent many machines for a few minutes when you need a lot of computing power.
- GitHub is a major site for open-source projects, and you can help a project by reporting a bug or requesting a feature in an issue, or by sending code changes through a pull request.
Words to know
- BIOS
- The settings menu built into your computer's hardware, where you change low-level options like which device starts the computer.
- Live USB
- A USB flash drive that holds a full operating system, so you can start a computer from it without changing what is installed on the hard drive.
- Virtual machine
- A computer system that runs inside another computer, like a separate sandbox, so anything you do inside it stays separate from your main system.
- Pull request
- A request asking a project's maintainers to review your code changes and add them to the main project.
Example
Think of a virtual machine like a test kitchen inside a restaurant. You can try out a risky new recipe there without affecting the main kitchen, and if something goes wrong, the real kitchen is untouched. Running untrusted code in a virtual machine works the same way: any damage stays inside the test space.
3 checked practice questions for this part are in the app.
← Lecture 9: Security and Cryptography · Lecture 11: Q&A →
Notes written by AI (Claude) from the lecture's official transcript, so check anything important against the lecture. MIT CSAIL · CC BY-NC-SA 4.0 · not affiliated with or endorsed by MIT. These notes are shared under the same license.
LessonBound · Free lecture notes · Privacy · Terms · New York