Learn to make the most of the tools that hackers have been using for decades.
As hackers, we spend a lot of time on our computers, so it makes sense to make that experience as fluid and frictionless as possible. In this class, we’ll help you learn how to make the most of tools that productive programmers use.
We’ll show you how to navigate the command line, use a powerful text editor, use version control efficiently, automate mundane tasks, manage packages and software, configure your desktop environment, and more.
We have 6 lectures covering a variety of topics. We have lecture notes online, but there will be a lot of content covered in class (e.g. in the form of demos) that may not be in the notes. We will be recording lectures.
Each class is split into two 50-minute lectures with a 10-minute break in between. Lectures are mostly live demonstrations followed by hands-on exercises. We might have a short amount of time at the end of each class to get started on the exercises in an office-hours-style setting.
To make the most of the class, you should go through all the exercises on your own. We’ll inspire you to learn more about your tools, and we’ll show you what’s possible and cover some of the basics in detail, but we can’t teach you everything in the time we have.
Please post questions on r/hackertools. In addition, we ask that you share your knowledge with your classmates through r/hackertools — for “homework” for each lecture, create a post or comment about something you’ve learned or something you’d like to share about the topic.
Course overview and virtual machines and containers
Shell and scripting
Dotfiles and backups
Automation and machine introspection
Program introspection and package/dependency management