DevIdiot!
Letter to 14:05-Me: Three Lane Mistakes Before the First Call
You opened the parser bug just after 14:05. The failing input row was two fields short. A free model lane sat open in another tab.You planned one fixture and one scored reply. The working branch was still noisy at 18:40. Three setup mistakes spent the whole afternoon clock.This letter names those three mistakes in order. It also leaves a probe you can rerun tomorrow. The probe is a labeled proposal, not a measured run.Treat the afternoon scene as a reconstructed drill. It is not a logged inciden
Review an Agent PR That Fetches Model-Named Docs URLs
A maintainer found pull request 218 on a quiet Tuesday. An agent had added a docs fetch to a small coding tool. The summary promised richer answers from live documentation pages.This write-up is a constructed review case, not a named outage. The file names are concrete so a team can replay the pass. This case claims no production metric and no customer incident. The change on the branchThe diff touched three files in the agent runtime. One file pulled a URL out of the model text. Another fi
Stop Pasting Production JWTs and Timestamps into Random Websites: Meet Castov (Web, CLI & VS Code)
As developers, how many times a day do we Google "epoch converter", "jwt decode", "cron expression generator", or "base64 decode"?And how often do we accidentally paste production JWTs, internal JSON structures, or API keys into random websites loaded with third-party trackers?To solve both the privacy risk and the context-switching tax, we built Castov — a unified, zero-server developer toolkit that runs 100% locally in your browser, your terminal, and Visual Studio Code. 1. In Your Termin
A new utility app
I Built an Open-Source Utility Application Called FortranOmniI built an open-source Linux utility application called FortranOmni.It's written in JavaScript using GJS and GTK4 and brings 187 utilities together in one application.My goal was to create useful software that makes everyday tasks easier, while keeping everything open-source.I'm an independent developer, and FortranOmni is one of the many applications I've created.I'd love to hear your feedback, suggestions, and ideas for improve
ToolForge: 32 Free, Privacy-First Offline Developer Tools for CSV & JSON
The Ultimate Developer Suite: 32 Free, Offline-First CSV & JSON ToolsFor software engineers, data analysts, and DevOps professionals, transforming and formatting structured data—such as CSV, Excel, JSON, XML, YAML, and SQL—is a daily routine. However, finding a fast, privacy-focused, and reliable set of online utilities without intrusive ads or registration barriers can be challenging.More importantly, many existing online tools upload your sensitive data to external servers, creating
Stop trusting vibes: how we built an eval harness for Expo's agent skills
This is a collaboration post with Aditya Shukla, Kartik Gupta, and David Tingle from the Georgian AI Lab. We partnered with them to measure how coding agents find and use Expo's agent skills.You write a skill for your coding agent plugin, try it with a prompt that mentions the feature by name, watch the agent do the right thing, and ship it. That's basically "it worked on my machine" for AI tooling. The problem is you have no idea whether a real user's vague, ordinary request will ever cause the
Validate X post URLs before requesting video metadata in JavaScript
A pasted social URL is untrusted input. Before a backend tries to retrieve media, it should extract a small, well-defined identifier and discard everything else. This article implements that boundary for public X post URLs in JavaScript. I maintain Twitter Viewer; the parser below is an example of input handling, not a claim that these snippets reproduce its backend. Parse the URL before matching the pathMatching a full URL with a loose regular expression tends to accept misleading hosts. A
How to Add AI Narration to Your Blog Posts
Why Add AI Narration to Your Blog?Reading is great, but listening is even better when you’re on a commute, working out, or just want to give your eyes a break. Adding a voice version of your posts can boost accessibility, increase time‑on‑page, and make your content feel more personal. With modern text‑to‑speech (TTS) APIs you can generate high‑quality narration in a few lines of code—no need to record yourself or hire a voice actor.In this post I’ll walk you through:Picking a TTS service
Announcing 3 New Japanese Market MCP Servers on the Official Registry
Three more Japanese-market MCP servers have landed on the official MCP Registry under io.github.atushi1841, all status active. They wrap three different Japanese e-commerce sources into plain MCP tools, so an agent can query prices and listings instead of scraping HTML by hand. The three serversServerSource it wrapsApify StoreRegistryjapan-market-mcpCross-shop price comparison across Mercari, Rakuten, Yahoo! AuctionsApify StoreRegistrymandarake-surugaya-mcpSuruga-ya second-hand listings &am
useMemo, React.memo, useRef, and Custom Hooks — Real-World React Guide
useMemo caches an expensive calculation, React.memo skips unnecessary component re-renders, useRef stores values without causing re-renders, and custom hooks let you reuse stateful logic across components. Together, they make React apps cleaner and faster when used correctly. Quick DifferenceToolMain JobCauses Re-render?useMemoCache a calculated valueNoReact.memoSkip re-render if props do not changeNouseRefStore mutable value or access DOMNoCustom HookReuse stateful logicDepends on hooks in
Building a Manifest V3 Lead Extractor: Architecture of the Lead Extraction Engine
Lead Extraction Engine is an open-source Chrome extension (Manifest V3, v1.0.0) that pulls B2B/B2C leads from ~20 directory sites — Google Maps, LinkedIn, Justdial, Yelp, Zillow, IndiaMART — plus a generic extractor for any directory-style page. Leads land in IndexedDB, export to CSV/JSON. I read the source. Here's the architecture. Manifest: minimum viable permissions{ "manifest_version": 3, "permissions": ["storage", "scripting", "activeTab", "notifications"], "host_permissions": ["<
The spinner that kills the auth flash: a loading gate before every protected route
Refresh any half-built React + Laravel app while logged in and you'll see it: the dashboard renders for a split second — no user name, a broken avatar, maybe a flash of the login page first. Then auth "catches up" and everything snaps into place. That flicker is the auth flash, and the fix is embarrassingly small: don't render anything until you know who the visitor is. Where the flash comes fromMy auth state lives in an AuthContext. On mount, if there's a token in localStorage, it calls GE
useContext in React — Real-World Guide
useContext lets any component read shared data from a Context Provider without passing props through every parent component. It is mainly used to avoid prop drilling — passing the same props through many components that do not need them.What Is Context?Context is React’s built-in way to share data across a component tree. A Provider supplies the value, and any child component can read it using useContext. Real-World Use CasesDevelopers commonly use Context for data needed in many places:The
useEffect in React
useEffect is a React Hook used for side effects — things like API calls, timers, event listeners, and updating the document title. Its second argument, the dependency array, controls when the effect runs. 1. Run Only OnceuseEffect(() => { console.log("Component Mounted");}, []);Dependency array: .Why? An empty array tells React that the effect does not depend on any state or prop, so it runs only after the component first appears on screen. 2. Run on Every RenderuseEffect(() =>
streamix + React: An Explosive Mix for Modern State Management
Say goodbye to hook boilerplate, setter functions, and manual state synchronization. Here is how Streamix—powered by a custom compiler and language plugin—is redefining reactivity in React components.State management in React has always walked a fine line. Between custom hooks, heavy context providers, useState tuple destructuring, and explicit .set() calls, building truly reactive applications can feel like writing boilerplate glue code just to update a primitive value.Enter @epikodelabs/stream
State Management in Frontend Apps
⚡ TL;DR: Stop reaching for a global store too early. Identify which of the five kinds of state you have and pick the narrowest tool that works, and never manage server state as if it were client state. ContentsYou wired up a global store for a togglePick the narrowest scope that worksThe five kinds of state, by scopeA cheat sheet: state type to toolLocal state vs a server-cache hook in codeServer state is not client stateCommon mistakes that cost hoursTakeawaysWhere to go next You wire
How to Poll React Frontend Feature Flags: A Backend API Example
Polling is the honest trade-off here: a React or Next.js frontend can refresh basic feature flags from a backend API, but it will not receive changes in real time. Short answer: fetch a non-sensitive value through your own backend on load, poll at a measured interval, and record the evaluated state beside each logistics event that may later become incident evidence.ChoiceBrowser deliveryReconstruction evidenceBest fitShared REST APIPoll through your backendAdd your own release record and event i
GitQuest: Visual Interactive Git & GitHub DAG Simulator
GitQuest: Learn Git by Actually Seeing How It WorksGit can be confusing when you're just starting out. You run commands like git commit, git branch, or git merge, but it's not always clear what's happening behind the scenes.What exactly is HEAD? How do branches work? What happens when two branches merge, and why do merge conflicts occur?I built GitQuest to make these concepts easier to understand.It's an interactive Git simulator where you can run commands and watch the repository change v
GHDraw: a full whiteboard in a single HTML file. No build step, no signup.
I got tired of whiteboard tools that ask for my email before I can draw one rectangle, so I built GHDraw: open the page and you are drawing. No account, no install, free.Try it: https://ghdraw.vercel.app/ | Repo: https://github.com/GokalpHizmetleri/GHDrawThe architecture constraint: the whole app is one index.html of vanilla JS. No framework, no bundler, no build step. That is what makes "free and no signup" sustainable. Drawing state autosaves to localStorage, boards save as .ghdraw files, and
I Built an Open-Source Routing Engine for JavaScript Using OpenStreetMap đźš—
What if you could calculate routes directly in your JavaScript application, without relying on Google Maps, external routing APIs, or a running routing server?That's the idea behind roadgraph-router, an open-source npm package I've been working on.After spending time experimenting with OpenStreetMap data, graph structures, and routing algorithms, I wanted to build something that could process real road networks while remaining lightweight enough to run in Node.js or directly in a browser.Today,