Issue #233

11 June 2021


Issue #233
Pointer.io
A Reading Club For Software Developers - Sign Up Here
Your E-Mail Validation Logic is Wrong
- Jan Schaumann
#BestPractice
 
tl;dr: There's are lots of nuances validating addresses that are not accounted for. Jan highlights 13 examples, such as email addresses can contain multiple @s, punctuation character are allowed, bang paths can be accepted, the percent sign may lead to relaying, and more.
Clever Vs Insightful Code
- Hillel Wayne
#CareerAdvice
 
tl;dr: Hillel draws a distinction between clever code, which "conventional wisdom says is bad," and insightful code which finds a way of exploiting a problem to make code "faster, simpler, and safer," and is often necessary to make things work. Hillel highlights these with examples.
#Debugging
 
tl;dr: Julia outlines 5 reasons why bugs might feel impossible to solve, each of which is explained in detail: (1) The bug is hard to reproduce. (2) You don’t understand the overall system well. (3) It’s hard to get data about the bug. (4) One of your assumptions is wrong. (5) The bug is really complex.
Questionable Advice: “What Should I Say In My Exit Interview?”
- Charity Majors
#CareerAdvice

tl;dr: Charity is asked how to handle this by someone reputable leaving due to a toxic management culture. The issue with being candid isn't retribution, it's apathy. The key is to try and be effective. Put it in writing, keep it short and go through the incidents and issues, and tie them to material consequence (people quitting, etc...).

#WebApps
 
tl;dr: You need to roll out each version one-by-one, starting with the version that can read & write to the old representation. Version (1): Can accept the new representation. (2) Can write to old and new representation. (3) Reads from the new representation. (4) Read & write from the new representation so reference to the old representation are removed.

"Testing leads to failure, and failure leads to understanding."

- Burt Rutan

 
#JSON #PostgreSQL

tl;dr: "Postgres 14 makes JSON even more user friendly than before. While I wouldn't recommend simply using the subscript format everywhere in your application due to it not always leveraging indexes, for casual querying it proves to be a big win."

#ReactJS
 
tl;dr: "When it’s released, React 18 will include out-of-the-box improvements (like automatic batching), new APIs (like startTransition), and a new streaming server renderer with built-in support for React.lazy."
#Zig
 
tl;dr: "Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software."
#Rust
 
tl;dr: Alastair took advantage of all the experts at the 2021 Rust Verification Workshop to make an up to date list of tools. This post focuses on the automatic one, such as interpreters, model checkers, etc...
 #Python
 
tl;dr: The PyCon US 2021 recordings are available on our YouTube channel.  Be sure to subscribe to our channel for notifications of new content. This channel will be used for all future conferences in order to keep all content in one channel. 
 
Pointer.io