tl;dr:Julia wanted specific examples of floating point bugs in real-world programs and asked folks for "examples of how floating point has gone wrong for them in real programs." This post shares 8 examples of such problems. Julia writes programs to highlight the problems and ways to solve them.
tl;dr:Julia discusses the attitude and approach to take when debugging, explaining the following: (1) Inspect, don’t squash. (2) Being stuck is temporary. (3) Trust nobody and nothing. (4) It’s probably your code. (5) Don’t go it alone. (6) There’s always a reason. (7) Build your toolkit. (8) It can be an adventure.
tl;dr:14 useful tips including the following: (1) Search for the request’s ID - often log lines will include a request ID and searching for the request ID of a failed request will show all the log lines for that request. (2) Build a timeline - keeping all of the information straight in your head can get confusing, so keeping a debugging document where I copy and paste bits of information.
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!"
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.
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.
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."
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.
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."
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.