explaingit

jbranchaud/til

14,087Vim ScriptAudience · developerComplexity · 1/5Setup · easy

TLDR

A personal collection of 1791 bite-sized Today I Learned notes covering over 70 programming topics, from Git and Ruby to Docker and LLMs, each written as a short Markdown file.

Mindmap

mindmap
  root((til))
    Format
      Short Markdown notes
      One topic per file
      Organized by category
    Topics covered
      Git and GitHub
      Ruby and Rails
      PostgreSQL
      Vim and Neovim
      Docker and AWS
    Learning style
      Learning in public
      Email newsletter
    Audience
      Working developers
      Beginners
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Browse specific categories like Git, PostgreSQL, or Vim to find quick solutions to common edge-case problems.

USE CASE 2

Use the notes as a reference when you hit unexpected behavior in Ruby, Python, or another covered language.

USE CASE 3

Adopt the TIL format yourself to start your own public learning log and build a habit of noting what you discover.

USE CASE 4

Subscribe to the newsletter for a regular feed of new one-topic developer tips by email.

Tech stack

Markdown

Getting it running

Difficulty · easy Time to first run · 5min
No license information is mentioned in the explanation.

In plain English

This repository is a personal collection of short notes written each time the author learns something new about a tool, language, or technology. The format is called Today I Learned (TIL), and the project had reached 1791 entries at the time of writing. Each note captures one specific thing: a shell command, a coding behavior, a configuration trick, or something discovered while working on a real project. The notes are organized by category and each one is a brief Markdown file linked from the README. Topics span version control tools like Git and GitHub, programming languages like Ruby, Python, Go, JavaScript, TypeScript, Clojure, and Elixir, frameworks like Rails, React, Next.js, Remix, and Phoenix, databases like PostgreSQL, MySQL, MongoDB, and SQLite, and terminal tools like Vim, Neovim, tmux, and Zsh. The category list covers over 70 areas including Bash, Docker, AWS, CSS, HTML, LLM, Mac, and Linux. The entries are not tutorials or in-depth guides. They are meant to be concise reminders of something specific, like how a particular command works or how a given function behaves in an edge case. The author noted that these are things too small to warrant a full blog post but worth recording so they are not forgotten. The project is an example of learning in public, which is the practice of sharing what you are picking up as you pick it up rather than waiting until you are an expert. A newsletter is available for people who want a regular feed of new entries by email. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
I want to start my own TIL repository like jbranchaud/til. Generate a README template with a category table, instructions for contributing, and an example note format in Markdown.
Prompt 2
Write a short TIL-style note under 200 words explaining how PostgreSQL DISTINCT ON works and when to use it instead of GROUP BY.
Prompt 3
Using the jbranchaud/til note style, write three entries about things beginners often get wrong with Git rebase, keep each under 150 words.
Prompt 4
Help me write a script that reads all Markdown files in a TIL-style repository organized by folder and generates a summary README with a table of contents grouped by category.
Prompt 5
I'm looking at the jbranchaud/til repo. Suggest 5 non-obvious Vim tips I could explore from the Vim category to speed up my daily editing workflow.
Open on GitHub → Explain another repo

← jbranchaud on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.