WebIdiot.Online
Tweetstorm: Ed Zwick on Screenwriting
Back when Twitter was fun, screenwriters would sometimes string together a series of tweets - what came to be known as "tweetstorms." Advice, personal anecdotes, reflections on the craft. It was pretty awesome.The only problem: Once the tweetstorm came ... it went.So, I took to contacting the writers and asking if I could reprint their tweetstorm at Go Into The Story. That way, they'd at least be stored where folks could access them in the future.Here's an example: In Decembe
React Pull to Refresh in a PWA Without Fighting the Browser
TL;DRA React pull to refresh that holds up in a PWA needs four things: overscroll-behavior-y: contain on the scroller so Chrome does not reload the page, a touchmove listener added with { passive: false } because React's onTouchMove is passive and Safari on iOS ignores overscroll-behavior for its own refresh, a rubberband curve instead of a linear drag, and a refresh button for people who cannot drag. Pick an indicator that matches the platform (iOS spokes that move the list down, or a Mat
Role of JavaScript in Web Development
JavaScript is one of the most important programming languages used in modern web development. It plays a crucial role in making websites interactive, dynamic, and user-friendly. While HTML provides the structure of a webpage and CSS handles its design and appearance, JavaScript adds functionality and enables users to interact with different website elements.From displaying interactive menus and animations to developing complex web applications, JavaScript has become an essential technology for c
Smell-checking AI-suggested React hooks before you merge
AI is weirdly confident about React hooks. Ask for “extract the data fetching into a custom hook” and you’ll get something that looks idiomatic: useSomething, a useEffect, a couple of useMemos, maybe a useCallback for good measure. Types pass. The demo works once. Then you merge and discover the effect fires twice on every keystroke, or the cleanup never ran, or the hook is just a wrapper around three lines that didn’t need a name.I treat AI-suggested hooks like AI-suggested refactors: useful dr
Go Into The Story Interview (Part 5): Omar Al Dakheel and Elie El Choufany
Omar Al Dakheel and Elie El Choufany wrote the original screenplay The Washroom which won a 2025-2026 Nicholl Fellowship in Screenwriting. I had an hour-long conversation with the pair exploring their creative backgrounds, analyzing their Nicholl-winning screenplay, and a discussion of key aspects of the screenwriting craft.Today in Part 5, Elie and Omar share what their Nicholl experience has been like.Scott: You had a lot of subplots at work there in Act Two. You've got the mosque and the
How I built 14 accessible Next.js apps with Claude Code
AI code generators write broken accessibility by default, but not because LLMs are incapable of writing semantic HTML. The issue is that an LLM does not know when it has produced inaccessible code, and most developers do not verify what it outputs.I built 14 production Next.js applications with Claude Code over the last six months. Every single one passes WCAG 2.1 Level AA across roughly 350 unique screens, using Next.js 16, Tailwind CSS 4, and shadcn/ui. Every app passes axe-core with zero crit
Is AI taking over jobs worldwide? Microsoft's buyout offer raises fresh concerns as tech layoffs mount
Microsoft’s voluntary buyout offer to about 60,000 employees highlights how major tech companies are reshaping their ...<img src='https://images.unsplash.com/photo-1659077189460-04ecefe8d521?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwyMzg1fDB8MXxzZWFyY2h8MjR8fFRlY2glMjBKb2JzfGVufDB8fDJ8fDE2NTkyMDU2ODg&ixlib=rb-1.2.1&q=80&w=1080' />
Which JavaScript Data Grid Should You Choose in 2027?
If you're planning a new application or reconsidering your existing data grid for 2027, the benchmark results offer a useful starting point.But choosing the right grid isn't simply about picking the one at the top of the performance rankings.The best JavaScript data grid for your project depends on what you need it to do.If you're working with millions of rows, rendering speed, scrolling responsiveness, and efficient data operations should be among your priorities.For complex enterprise applicat
Hydration Error in Next.js: Why It Happens and How to Fix It
Originally published on CodingCush.A hydration error in Next.js happens when the HTML your server sends does not match what React expects to render in the browser on the first load. React compares the two, finds different text, different tags, or extra elements, and complains. The good news is simple: your app is usually not broken in a deep way. One small piece of code is rendering something different on the server and on the client. Find that piece, make both sides agree, and the error goes aw
The Save Button That Did Nothing
Have you ever clicked Save on a long form and watched absolutely nothing happen?No toast. No red text. No movement. Just a button that seems to be ignoring you.That was our app. We build long forms: profile pages, multi-section settings, repeatable blocks like "contacts" or "addresses". Here's what kept happening:The user fills in the visible part of the form and clicks Save, which sits in a sticky header.Validation fails on a field far below the fold, or inside the third item of a repeatable li
Splitting PDFs in the browser: a forgiving page-range parser, synced thumbnails and a ZIP that sorts correctly
I'm the developer of MakeQuickWork, a small set of free browser tools. This post walks through how its Split PDF tool works, with the parts that took longer than I expected."Split PDF" sounds like a one-liner: open the document, copy some pages, save. The copying really is the easy part. What took most of the time was everything around it: letting people describe pages the way they naturally write them, keeping a text field and clickable thumbnails in agreement, and producing output files that b
Building AfriWidget: How I Built 100+ Free Online Tools Using HTML, CSS and JavaScript
From an idea to a growing collection of practical web applications. A look at the development process, technical decisions, challenges and lessons behind AfriWidget.Building software is interesting. Building software that people can actually use to solve everyday problems is even more interesting.When I started working on AfriWidget, I wasn't trying to create another website filled with random online calculators. I wanted to build something more useful: a collection of practical digital tools th
I built 35+ browser PDF & AI contract tools, got 0 users for 2 months, and realized Cloudflare was blocking Googlebot
<p><a href="https://docsy.top" rel="noopener noreferrer">https://docsy.top</a> as an experimental project, realizing your sitemap and Cloudflare settings were blocking search crawlers for two months, and redesigning the homepage around clean, no-signup everyday paperwork tools (Merge PDF, Unlock PDF, Contract Generator, Invoice Generator). Ask people to test a tool and tell you what breaks.</p>
Secrets Don't Leak in One Moment: The 6 Ways They Slip Into Your Repo (and How to Catch Each One)
Last year I found a production database password in one of my own public repos. Not a test password. Not a placeholder. The real one, in a config file, visible to anyone who knew how to read git history. It had been there for 8 months.I didn't find it during an audit. I found it because a friend asked a question that made me look.That's the uncomfortable truth about secret leaks: they almost never happen in one dramatic moment. There's no single "oops, I committed the .env" incident you can poin
One editor, three runtimes: Bun, Browser, and the one in between
Here are five lines of JavaScript:"document" in globalThis;"Bun" in globalThis;globalThis.process?.versions?.bun ?? "not Bun";import { readdir } from "node:fs/promises";(await readdir(".")).length;What do they print?It depends on where they run. Run them in Bun and there's no document, there is a Bun, and readdir counts your files. Run them in a browser and document is there, Bun isn't, and that node:fs import doesn't make it past the build.Most of us switch between those worlds all day. This po
This $2 model is the most practical thing I 3D printed in October
I’m always on the lookout for ways I can use my 3D printing to make life a little easier, usually for minimal filament cost. I’ve been taking more chances and printing more models recently, but one recent print has proved its worth more than others.
Rendering four billion years of continental drift in the browser
Scrub a timeline and watch the planet rebuild itself. That’s the whole idea: a 3D Earth you can drag backwards through geological time, with the continents drifting apart and the entire look of the world, oceans, land, atmosphere, ice, changing to match the era you’re standing in.It’s a Wildlab experiment, built with React Three Fiber and three.js. Not a product; a place to keep our creative-technology muscles warm. It uses the same WebGL and shader techniques that drive the morphing animals on
Gmail stopped being a nightmare after I set up these 5 simple automations
Gmail's inbox used to feel like a chore I could never finish. Newsletters piled up, the same questions kept landing in my inbox, and the one message I actually needed was always buried under everything else. But after tweaking a few free Gmail settings, my inbox now handles the repetitive work for me.
3 best Netflix shows to watch this weekend (October 30-November 1)
Unsurprisingly, audiences are loving Nobody Wants This season 3, one of Netflix's new releases in October. The rom-com starring Kristen Bell and Adam Brody has been a hit across three seasons, and I expect the show to return for a fourth season. If you haven't watched Nobody Wants This, then consider throwing it into your rotation.
Ask HN: Help My Sanity
I have been applying for jobs since this year, and I have been hanging in by the threads. For the past 7 years I have been doing freelance work, and it's been great until the AI boom.I am a software developer with 13 years of experience, and this year is the first time I am getting frustrated with my career. I have no money to help myself or my family. I have this little space in my house that can help me start up a small chicken poultry farm, but I have no funds for it. All my savings exha