/Julia Evans

Writing Javascript Without A Build System tl;dr: “I want to talk about what’s appealing to me about build systems, why I still don’t use them, and why I find it frustrating that some frontend Javascript libraries require that you use a build system.”

featured in #410


A List Of Programming Playgrounds tl;dr: “I really like using programming playgrounds, and I got thinking the other day about how I didn’t have a great list of playgrounds to refer to.” Julia provides us with a laundry list of playgrounds across multiple categories.

featured in #406


Some Possible Reasons For 8-Bit Byte tl;dr: Julia explores the question: why does the x86 architecture use 8-bit bytes? Why not some other size? She evaluates a couple of options: (1) It’s a historical accident, another size - like 4 or 6 or 16 bits - would work just as well. (2) 8 bits is objectively the Best Option for some reason, even if history had played out differently we would still use 8-bit bytes. (3) Mix of 1 & 2.

featured in #396


Writing Javascript Without A Build System tl;dr: “I want to talk about what’s appealing to me about build systems, why I usually still don’t use them, and why I find it frustrating that some frontend Javascript libraries require that you use a build system. I’m writing this because most of the writing I see about JS assumes that you’re using a build system, and it can be hard to navigate for folks like me who write very simple small Javascript projects that don’t require a build system.”

featured in #391


Why Does 0.1 + 0.2 = 0.30000000000000004? tl;dr: "This is roughly how floating point addition works: (1) Add together the numbers with extra precision (2) Round the result to the nearest floating point number... So let’s use these rules to calculate 0.1 + 0.2. I just learned how floating point addition works yesterday so it’s possible I’ve made some mistakes in this post, but I did get the answers I expected at the end."

featured in #388


Examples Of Problems With Integers tl;dr: Examples of integer problems that Julia discusses are: (1) The small database primary key. (2) Integer overflow / underflow. (3) Decoding a binary format in Java. (4) Misinterpreting an IP address or string as an integer. (5) Security problems because of integer overflow. (6) The case of the mystery byte order. (7) modulo of negative numbers. (8) Compilers removing integer overflow checks. (9) The && typo.

featured in #384


Examples Of Floating Point Problems 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. 

featured in #383


A Debugging Manifesto 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.

featured in #375


Tips For Analyzing Logs 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.

featured in #374


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