SShubham Chaudhary3h ago · 4 min readJavaScript: The Language That Keeps Developers Humble 😂If you've ever worked with JavaScript, you probably know one thing: JavaScript doesn't always do what you expect. And sometimes, it does exactly what you asked, but still manages to surprise you. I'veshubham-works.hashnode.dev
JJAY TANK11h ago · 6 min readThe duplicate key that eats your config - and the 180-line CLI that catches itA few weeks ago I spent the better part of an afternoon on a bug that turned out to be one character of carelessness. A service had a timeout of 5 seconds in production even though the config "clearlyjaytank.hashnode.dev
EEmpreendendoOct 26 · 6 min readBuilding Better Character Counters in JavaScript: UX, Unicode, and ValidationBuilding Better Character Counters in JavaScript: UX, Unicode, and Validation Character counters are a small but important part of modern web interfaces. They help users write social media bios, produlcs09.hashnode.dev
DDmitry KakurinOct 26 · 8 min readSome functions can both fail and return nothingIn the previous post we've limited Union Types to just two kinds: ?T for T | None and !T for T | Error. One of the corollaries was that ?!T/!?T is not supported, because it would mean T | None | Errordimagog.hashnode.dev
DDmitry KakurinOct 25 · 6 min readBetter error handling with just two Union TypesIn previous posts I've covered my beef with error handling in some programming languages: Why Go-style error handling is not great Why TypeScript and Crystal have the best Union Types But what can wdimagog.hashnode.dev
DDmitry KakurinOct 25 · 5 min readWhy Go-style error handling is not greatThere is an important concept in software development called "correct by construction" 1. Briefly, it means incorrect things cannot be expressed using a language/library/config/etc. in question. And idimagog.hashnode.dev
MMaksim MartianovOct 21 · 16 min readGo Can Call GALA Now: GALA in October (0.85 → 0.92)Here's a Go program. Nothing in it mentions GALA: package main import ( "fmt" "example.com/billing" ) func main() { team := billing.NewPlanPro(billing.WithPlanProSeats(3)) fmt.Println(team, tea2martianov.dev
JJoseph UdomasonOct 17 · 6 min readJavaScript's Event Loop Explained: Why Your Code Doesn't Always Run in OrderYou read a JavaScript function from top to bottom, so you expect its output to follow the same order. Most of the time, that expectation works. Then you encounter a setTimeout(), a promise, or an asyn1joedev001.hashnode.dev
MMikey NicholsOct 16 · 17 min readBorrowing Without the Lecture.Canonical: https://journeytocode.io/borrowing-without-the-lecture/ Our game has a Player and an Enemy Then, the moment they fight, we strip them back down for parts: enemy.health = attack( enemy.hjourneytocode.hashnode.dev
JJoseph UdomasonOct 12 · 16 min readJavaScript Beyond the Syntax: Understanding the Language and How It Really WorksJavaScript is one of those languages that looks simple when you first meet it. You declare a variable, write a function, add a few event listeners, and suddenly your webpage feels alive. Then the projjoedev001.hashnode.dev