DevIdiot!
My fix for a data-loss bug sat in a green PR for four days. Every install in that window still had the bug.
On July 17 I opened the most serious issue my project has ever had, wrote the fix the same morning, and pushed it as a pull request. CI went green on Node 20, 22 and 24 within minutes. Zero review comments. mergeStateStatus: CLEAN.Then it sat there.I merged it today — July 21. Four days.For those four days the fix existed, was correct, was tested, and was visible to nobody. Every npx safari-mcp in that window installed the version with the bug. The npm counter says roughly 1,400 people a week pu
I built a game that lies to you - in a single 28KB HTML file (no framework, no assets)
I've been learning JS and wanted to actually finish something instead of another half-built tutorial project. So I made a dumb little game and put it online.It's called LIAR. A button tells you what to do - TAP, HOLD, DON'T, and you do it before the timer runs out. Then around round 6 it starts lying to you. A red shaking "TAP" actually means don't tap. It also insults you when you die.Play it here: https://playliar.netlify.app/Two things I'm weirdly proud of:It's one HTML file, ~28KB, no images
I Built 100+ Browser-Based Tools That Never Upload Your Files
I Built 100+ Browser-Based Tools That Never Upload Your FilesEvery time I wanted to merge a PDF, compress an image, convert a file, or format JSON, I ran into the same experience:Upload your fileWait for it to process on a remote serverDownload the resultHope your data is deleted afterwardIt made me wonder: Why are we uploading files for tasks that modern browsers can often handle locally?That question became the starting point for WhizTools. The IdeaInstead of sending files to a back
🚀 Looking for professional Mobile App Development services?
🚀 Looking for professional Mobile App Development services?I help startups, businesses, and entrepreneurs build high-performance Android & iOS applications using Flutter and React Native. From UI/UX design to API integration, Firebase, authentication, payment gateways, push notifications, and app deployment, I develop scalable and modern mobile applications tailored to business needs. Premium Full-Stack De
ARRAY SEARCH METHODS IN JAVASCRIPT
Array Search Methods:JavaScript Array indexOf()The indexOf() method searches an array for an element value and returns its position.Syntax:array.indexOf(item, start) example:const fruits = ["Apple", "Orange", "Apple", "Mango"]; let position = fruits.indexOf("Apple"); console.log(position); console.log(fruits);output:0[ "Apple", "Orange", "Apple", "Mango" ]example:const fruits = ["Apple", "Orange", "Apple", "Mango"]; let position = fruits.indexOf("Apple",3);
A Free Online Calculator Tool That Makes Everyday Calculations Simple and Fast
Whether you're a student, business owner, freelancer, or someone who just needs quick calculations, having access to a reliable online calculator can save both time and effort.Many websites offer calculators, but they often include unnecessary ads, complicated interfaces, or limited features. That's why I decided to build a simple and user-friendly calculator website that helps people perform calculations quickly without downloading any software.Why Use an Online Calculator?Online calculators ar
I built a tool that shows why array-index keys break React state (reorder a list and watch it happen)
"Don't use the array index as your key" is the most-repeated rule in React and the least-shown. Everyone quotes it; almost no demo lets you watch the bug happen. So I built one where you type notes into a list, reorder it, and watch your notes get stranded on the wrong items.â–¶ Live demo: https://list-key-reconciliation.vercel.app/Source (React 19 + TS): https://github.com/dev48v/list-key-reconciliation What key actually doesWhen a list re-renders, React has to match the previous children to
I built a sorting visualizer that counts every comparison and swap, so Big-O stops being abstract
"Bubble sort is O(n²), merge sort is O(n log n)" is one of those facts everyone memorizes and few people feel. So I built a visualizer that doesn't just animate the bars — it counts every comparison and every write, so the difference between the two complexity classes shows up as a number and as how long the animation runs.▶ Live demo: https://dev48v.github.io/sorting-visualizer/Source: https://github.com/dev48v/sorting-visualizerSix algorithms, same array, colour-coded operations: 🟡 comparing,
Landscape Lighting Services in Glen Mills PA: Turn Your Outdoor Space Into a Safer, More Beautiful Property
Your outdoor space merits the same care as your interior. Landscape lighting services in Glen Mills PA can enhance curb appeal, improve safety, and showcase your property’s features, transforming its appearance after sunset.Outdoor lighting is often seen as purely aesthetic, but professional landscape lighting also enhances security, extends outdoor usability, and increases property value. The National Association of Realtors (NAR) notes that attractive outdoor improvements consistently rank amo
The Optimistic UI Race Condition That Only Showed Up on the Fifth Click
This is a submission for DEV's Summer Bug Smash: Smash Stories powered by Sentry.I originally shared this debugging story on July 8. When Bug Smash was announced, it immediately came to mind because nothing crashed, nothing logged an error, and the application was still wrong. The setupEverything worked. I'd wired up useOptimistic on a task list, the checkbox flipped the instant you clicked it, no spinner, no half second lag, exactly the feeling I was going for. I demoed it to myself a doze
ARRAY ITERATIONS IN JAVASCRIPT PART-3
JavaScript Array Iterations: JavaScript Array flatMap()The flatMap() method first maps all elements of an array and then creates a new array by flattening the array.example:const numbers = [1, 2, 3, 4]; const result = numbers.flatMap(num => { if (num % 2 === 0) { return [num, num * 10]; } else { return []; } }); console.log(result);output:[ 2, 20, 4, 40 ] JavaScript Array filter()The filter() m
Preventing Focus Loss From Launching a Charged Jump in a Three.js Arcade Game
This is a submission for DEV's Summer Bug Smash: Clear the Lineup powered by Sentry. The bugSolstice Leap is a small Three.js arcade game where the player holds a control to charge a jump and releases it to launch. That makes the distinction between an intentional release and an interrupted input important: a jump can spend daylight, break a streak, or end a run.I found a bug in that distinction. While charging, switching browser tabs, using Alt + Tab, or otherwise moving focus away from th
I Built a Fully Animated Smart Home Simulation Dashboard with React
Hey everyone 👋I've been working on a little side project: a smart home simulation dashboardwhere you can control a lamp, fan, thermostat, door lock, garage door, AC, andan LED strip — all with realistic, animated scenes right in the browser. Noreal IoT hardware needed, everything runs as a client-side simulation. 🔗 LinksLive demo: https://iot-device-simulation-app.netlify.app/Source code: [GitHub link here] 🧱 Tech StackReact 19 + TypeScriptTanStack Start (file-based routing, SSR)Tailwi
React useResizeObserver Hook: Track Element Size Changes (2026)
React useResizeObserver Hook: Track Element Size Changes (2026)A chart component reads its container's width once on mount and draws itself to fit. Then the user collapses the sidebar. The container just gained 300 pixels, the window never resized, no resize event fired — and the chart is now sitting in a too-wide box, drawn for a layout that no longer exists. Listening to window.resize misses every way an element can change size without the window changing: a sidebar toggling, a flex sibl
can you dream of seeing lots of stars in the folder entrusted to the black cat?
<p>dream dream dream </p><p><a href="https://github.com/latent-9/reddit-growth-mcp" rel="noopener noreferrer">https://github.com/latent-9/reddit-growth-mcp</a></p>
Wedding Jewelry for Bride: A Complete Guide to Choosing Timeless Pieces for Your Big Day
Your wedding day is one of the most memorable moments of your life, and every detail matters. From the bridal outfit to the makeup and accessories, everything comes together to create a beautiful look. Among all these elements, jewelry holds a special place because it enhances your bridal attire while becoming a cherished keepsake for years to come.Finding the perfect wedding jewelry for bride is not about wearing the heaviest or most expensive pieces. It's about choosing jewelry that reflects y
Qwen-Image-3.0: Rich Content, Authentic Details, Deep Knowledge
<a href="https://news.ycombinator.com/item?id=48989701">Comments</a>
AI Agents Don’t Fix Bad Architecture. They Accelerate It.
Across my previous articles, I’ve kept coming back to one central argument:Once UI rendering no longer owns the entire data flow, State, Derived State, Effects, and Async Work can no longer be carelessly compressed into the lifecycle of a single component.At first, this might sound like a frontend architecture problem:Components accumulating too much local stateEffects becoming overloaded with unrelated side effectsAsync work calling setState when it completes, tying its lifecycle directly to th
Made a CLI tool so I stop hand-writing typed SVG icon components — IconCodegen
Hey all — I built IconCodegen, a small CLI tool that runs a localdashboard for browsing icons and generating strictly-typed Reactcomponents from them.The problem I kept running into: grabbing an SVG icon, convertingit to a React component by hand, and making sure the props weretyped correctly (React.SVGProps, no any) got old fast, especially across a few hundred icons in a design system.What it does:Searches 200,000+ open icons via Iconify (Lucide, Phosphor, Material Symbols, etc.) with li
Linux kernel will support $ORIGIN, sort of
<a href="https://news.ycombinator.com/item?id=48988793">Comments</a>