WebIdiot.Online
Minimum Words, Maximum Impact
I know the source of this mantra. It was one of my online screenwriting students. During a weekly live-chat session. I was going on and on about the importance of writing tight, taut, lean scene description, make it easy on the eye, clean on the page, really getting on my bully pulpit. Then a student typed:Minimum words, maximum impact?Here I had been guilty of the very thing I was decrying, then — boom! The perfect comment. Four words. And maximum impact indeed!Screenplays
Modeling a white elephant gift exchange in 140 lines of plain JavaScript
White elephant sounds simple until you try to keep score. Someone steals your gift, so you steal from someone else, who steals from a third person, and nobody remembers how many times the waffle maker has changed hands. I wanted a page that runs on the TV at a party and tracks all of that, so I wrote the rules as a small module with no DOM in it. The rules the code has to followEveryone brings one wrapped gift. Draw a random order.On your turn you either open a wrapped gift or steal one tha
Sentinel-IR 0.4 for developers: Python, native code, an audit log with SHA-256, and 484 tests
description: "A 10-minute tour of sentinel-ir 0.4.5, sentinel-ir-mcp 0.4.6 and the browser playground: real output, design decisions, measurements, tests and what still doesn't work." series: "Sentinel-IR: what's new"Short versions: the 30-second and 2-minute posts in this series. This one hasthe code, the numbers and the parts that don't work yet.Sentinel-IR is three things:packagewhat it isversionsentinel-irlibrary: source file → compact structural IR (tree-sitter AST, WebAssembly)0.4.5se
Firefox WebExtensions API: What Makes a Browser Extension Tick
Every Firefox extension is built on the WebExtensions API — a standard that also powers Chrome and Edge extensions. Here is a plain-language explanation of how it works. What a Firefox extension isA Firefox extension is a zip file (renamed .xpi) containing:manifest.json — the extension's metadata and permissions listJavaScript files — the logicHTML/CSS files — any popup or settings UIImages — iconsFirefox reads the manifest, registers the extension's permissions, and loads the JavaScript.
Android Auto is getting a major makeover: 4 changes to know about
My husband and I can’t seem to agree on one thing whenever we’re in the car: the infotainment interface. He’s firmly on Team CarPlay, while I prefer Android Auto and keep finding reasons to defend it. I use it for Google Maps and Spotify on almost every drive, so I notice even the small things that could improve the experience. I’ve often wished Google would refresh
Windows won't let you name a folder "CON" because of this 45-year-old quirk
Microsoft has been around for decades, dating back to 1975 with its BASIC software. BASIC was written for the Altair 8800 microcomputer built by MITS (Micro Instrumentation and Telemetry Systems). Bill Gates and Paul Allen created the software when MITS approached them, needing a programming language for their personal computers. Back then, the brand was referenced
Living and writing in L.A.
Let me say up front, there are advantages for a screenwriter to live in or near Los Angeles. Here are a few key ones:You are where the action is. There’s no better way to keep track of the ebb and flow, ins and outs of the movie business than by living in L.A. as the film industry is a ubiquitous presence.You are where the players are. Agents, managers, producers, studio execs, talent, L.A. is the center of the film business. Your presence in Los Angeles puts you in proximity to these peo
Blowout jobs report rescues stocks from brutal tech rout
Employers added 165,000 jobs in October, boosting investor confidence after a recent tech market selloff.<img src='https://images.unsplash.com/photo-1671723421935-75661df184ae?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwyMzg1fDB8MXxzZWFyY2h8MTV8fFRlY2glMjBKb2JzfGVufDB8fDJ8fDE2NzIyOTc2NDI&ixlib=rb-4.0.3&q=80&w=1080' />
TypeScript `Map` and `Set` Iteration in 2026: Why `downlevelIteration` Still Breaks Production Builds
TypeScript Map and Set Iteration in 2026: Why downlevelIteration Still Breaks Production BuildsThis article was written with the assistance of AI, under human supervision and review.TypeScript's downlevelIteration flag determines how the compiler transpiles Map, Set, and array iteration when targeting older JavaScript runtimes. Without it, production builds silently produce broken code that crashes on iterables at runtime. The default behavior downlevels for...of loops to index-based itera
Build an online code editor in React with a Run button (and keep your API key off the browser)
You've seen the demo: a code editor in the browser, a language menu, a Run button, and the program's output underneath. Most tutorials for it take one of two shortcuts. Some call Judge0 on RapidAPI straight from React, with the key in a REACT_APP_ variable. Others post the code to the public Piston API. Both break:A key in a REACT_APP_ or VITE_ variable is built into the JavaScript your visitors download. Anyone can copy it from the page and spend your runs.The public Piston API has been whiteli
I Finally Made Money From Something I Built ($0 to $152)
I've been building side projects on weekends next to my job for years. Until this week every single one of them made $0. Not anymore haha. What I builtDetent is a React component library. The components install with shadcn and take your theme, so they drop into an existing app without fighting your styles. Some are free, and there's one paid tier with full blocks like onboarding flows and a support inbox. What happenedI posted a 20 second video of the onboarding block on X with one lin
Building and Deploying a Document Change Workflow with React, NestJS, and PostgreSQL
A document update becomes more complicated when a team needs to explain who requested it, why it was necessary, who approved it, and what changed between versions.I recently led development of a company platform built around that workflow. I wrote the project documentation and implemented both the frontend and backend, with support from my team.The platform brings together project documentation, change tickets, review, publication, version comparison, attachments, and notifications.These are som
The Discount Field Refuses Silently: 22 Values Typed Into the Invoice Maker, 12 That Took Effect and 10 That Did Not
I work on OnePassApps, so this is our own product and our own build. Every number below was measured on the live Invoice Maker today, in the visible Chrome on our own machine, signed out, with no account.The Invoice Maker has two discount modes - Percent and Amount - and a field that takes a number in each. What I did not expect was what happens when the number is not one the app can use.There is no error, no warning and no red state. The value is simply not applied. What I typedOne invoice
Writing Tesla Light Show .fseq files from JavaScript, without xLights
Tesla's official way to make a custom light show is to install xLights, load their template project, sequence 48 channels by hand, and export. That's fine if you enjoy xLights. I wanted to generate shows from code instead, in the browser, so I read the format and wrote the file myself. It turned out to be about 60 lines. What the car acceptsTesla's light-show repo is strict about the file:FSEQ version 2.0, uncompressed. xLights can export compressed V2 too; the car won't play it.48 channels
Introducing Stepr: A Lightweight TypeScript Library for Guided Product Tours
Build interactive product tours with spotlights, tooltips, and step-by-step guidance — without being tied to a framework.I've just released Stepr v0.1.0, an open-source TypeScript library for building guided product tours.🔗 Live demo📦 npm💻 GitHub Why I built SteprGuided product tours can be a great way to introduce users to an application.Whether you're onboarding someone for the first time, introducing a new feature, or explaining a complicated interface, sometimes it's easier to show peop
Mock Your API Inside the Client: HTTP, SSE, NDJSON & WebSocket with tanstack-fetch
Build the whole frontend while the backend is still two weeks out — then swap in the real API one endpoint at a time, without touching a single component.Originally published on the tanstack-fetch blog.The design is approved, the sprint has started, and the backend is two weeks behind. Your usual options all have a cost:Hard-coded data in components skips the loading, error and retry paths — exactly the parts that break later.A separate mock server is one more process to run, and most stop at RE
On Writing
“Get the structure wrong and you blow up shortly after take off.”--David MitchellFor 100s more On Writing posts, go here.The Protagonist’s Journey: An Introduction to Character-Driven Screenwriting and Storytellingis a #1 Best Seller in Film and Television. Endorsed by over thirty professional screenwriters, novelists, and academics, you may purchase it here.
Here’s What the October Jobs Report Says About the US Labor Market
The October jobs report is out. Here’s what the hiring, unemployment, and wage numbers mean for workers and for the Fed’s ...<img src='https://images.pexels.com/photos/7690081/pexels-photo-7690081.jpeg?auto=compress&cs=tinysrgb&w=1200' />
November Job Openings: Dental Technicians' Guide to Uncovering the 'Real Intentions' Behind the Scenes
As we enter November, the city is starting to feel the first hints of winter. At this time of year, I often hear dental technicians saying, "Maybe it's time to think about changing jobs."November, in particular, is a time when clinics looking to reorganize for the end of the year actively post j
The slightly strange parts of job market news
Ever think to yourself, "I know I need to change jobs, so why can't I make a move?" 🤔I was looking at news about the job market yesterday, and I felt a bit puzzled. Because even though it says, "It's a seller's market, the job opening-to-applicant ratio is up, and wage increases are continuing,