Scott Chacon

Ask Your Code

What if git blame is lying to you? Learn to ask your code the questions that reveal its true history, not just the easy ones.

Ask Your Code
#1about 6 minutes

Using first principles thinking for better product design

Learn how to use the "why" technique to break down assumptions and uncover fundamental truths about the problems you are solving.

#2about 4 minutes

Applying first principles to modern version control systems

By repeatedly asking why we use tools like Git, we can uncover its core purposes and compare its model to alternatives like Google Docs.

#3about 1 minute

Using version control for code archeology and context

Version control serves as an archeological tool that helps developers ask questions about code history to gain context for making better decisions.

#4about 3 minutes

The limitations of common git log and blame commands

Standard commands like `git log` and `git blame` often provide superficial answers because they are easy to ask, not because they are the most useful.

#5about 2 minutes

Asking better questions with advanced git log commands

Discover more powerful `git log` variations for comparing branches and using the pickaxe search (`-S`) to find exactly when a specific string was introduced.

#6about 2 minutes

Tracing code history beyond simple git blame results

Use advanced `git blame` flags (`-C -C -C`) to track code that has been moved across files, identifying the original author instead of just the refactorer.

#7about 1 minute

Discovering related files using commit history analysis

A custom script can analyze commit history to find which other files are most frequently modified alongside a specific file, revealing hidden dependencies.

#8about 3 minutes

The impossible questions that version control cannot answer

Explore valuable questions that current version control systems can't answer, such as linking code changes to pull requests, chat conversations, or design specs.

#9about 7 minutes

Q&A on merge vs rebase and writing commit messages

The speaker shares his preference for `merge` over `rebase` to preserve history and suggests using AI tools to help generate better commit messages.

Related jobs
Jobs that call for the skills explored in this talk.

job ad

Saby Company
Delebio, Italy

Intermediate

test

Milly
Vienna, Austria

Intermediate

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
WWC24 Talk - Scott Hanselman - AI: Superhero or Supervillain?
Join Scott Hanselman at WWC24 to explore AI's role as a superhero or supervillain. Scott shares his 32 years of experience in software engineering, discusses AI myths, ethical dilemmas, and tech advancements. Engage with his live demos and insights o...
WWC24 Talk - Scott Hanselman - AI: Superhero or Supervillain?

From learning to earning

Jobs that call for the skills explored in this talk.

Code cleaner

Code cleaner

Cleanup Services
Rome, Italy

Remote
45-50K
Intermediate
PHP
JavaScript