/Julia Evans

Why Do Domain Names Sometimes End With A Dot? tl;dr: "I once (incorrectly) thought the answer to “why is there a dot at the end?” might be “In a DNS request/response, domain names have a “.” at the end, so we put it in to match what actually gets sent/received by your computer”. But that’s not true at all!"

featured in #361


Some Ways To Get Better At Debugging tl;dr: Julia read some papers on debugging and found the following categorization very helpful, elaborating on each of the following categories: (1) Learn the codebase. (2) Learn the system. (3) Learn your tools. (4) Learn strategies. (5) Get experience.

featured in #349


Monitoring Tiny Web Services tl;dr: Julia's goal is to spend approximately 0% of time on ongoing operations for "tiny unimportant websites," writing a program that does 3 things: (1) An uptime checker. (2) An end-to-end healthcheck. (3) Automatically restart if the healthcheck fails.

featured in #343


What Happens When You Press A Key In Your Terminal? tl;dr: "I thought to ask a pretty basic question: when you press a key on your keyboard in a terminal (like Delete, or Escape, or a), which bytes get sent? As usual we’ll answer that question by doing some experiments and seeing what happens."

featured in #336


A List Of New(ish) Command Line Tools tl;dr: "My favourites of these that I use already are entr, ripgrep, git-delta, httpie, plocate, and jq." Julia breaks this list into replacements for standard tools, new inventions, and less-new tools. 

featured in #308


Some Tiny Personal Programs I've Written tl;dr: "Here are a few examples of small personal programming projects I’ve done. I’m not going to talk about “learning projects” where my goal was to learn something specific because I’ve already written a billion blog posts about that. These are more about just doing something fun with no specific learning goal." 

featured in #298


Things That Used To Be Hard And Are Now Easy tl;dr: (1) SSL certificates, with Let’s Encrypt (2) Concurrency, with async/await (in several languages) (3) Centering in CSS, with flexbox / grid. (4) Building fast programs with Go, and many more.

featured in #295


New Tool: Mess With DNS! tl;dr: "I built a site where you can do experiments with DNS called Mess With DNS. It has examples of experiments you can try, and you’ve very encouraged to come up with your own experiments. In this post I’ll talk about why I made this, how it works, and give you probably more details than you want to know about how I built it (design, testing, security, writing an authoritative nameserver, live streaming updates, etc)."

featured in #277


How To Get Useful Answers To Your Questions tl;dr: (1) Ask yes / no questions to check your understanding quickly. (2) State your current understanding. (3) Be willing to interrupt. (4) Don’t accept responses that don’t answer your question. (5) Take a minute to think, especially if you're surprised by an answer and need time for a new question.

featured in #263


Tools To Explore BGP tl;dr: After the FB outage last week, Julia wanted to explored BGP and shares 5 tools that are helpful to learn more about the protocol, listed here.

featured in #259