
Trevor I. Lasn
Building whiteheap.com and 0xinsider.com.
206 posts
2026
- residue-cli: Reclaim your storage from Git worktrees, automatically and safely.residue-cli removes a Git worktree only when nothing in it would be lost. How its 15 checks decide, how it deletes and restores, and residue-ui for the Mac.19 min readDeveloper toolsAI agentsOpen source
- Agent Git worktrees eat your disk; residue-cli clears safe onesresidue-cli is an open-source Rust CLI that finds the Git worktrees coding agents leave on disk and removes one only when nothing in it would be lost.11 min readAI agentsDeveloper toolsOpen source
- I rebuilt 0xinsider for Polymarket sports and esports data0xinsider is now Polymarket analytics for sports and esports. What 149,700 wallets and 411,770 large buys say, with every query public.5 min readPrediction marketsStartups
- Agentic Resource Discovery: What I Added to 0xinsiderARD is a new proposal from Google, Microsoft and Hugging Face for how agents find tools. What's in it, what 0xinsider publishes, and what a registry returns.6 min readAI agentsMCP
- You have been invited to the 0xInsider.com Discord server!Join the 0xInsider.com Discord community: talk markets, odds and predictions with fellow prediction market traders in real time.2 min readPrediction markets
- Ph.D in failure, Masters in getting back upEvery time I bet on myself instead of taking a paycheck, and what each one taught me.6 min readStartupsCareer
- AEO and GEO for AI Overviews, ChatGPT, Gemini and PerplexityWhat Answer Engine Optimization and Generative Engine Optimization mean, and how to get your site cited by AI Overviews, ChatGPT, Claude, Perplexity and Gemini.14 min readSEOAI
- Why I Chose Rust for 0xInsiderNo QA team. No on-call rotation. One person, one binary, one financial product. The compiler is my entire engineering org.13 min readSoftware engineeringPrediction markets
- Prediction Markets Broke My Brain About ProbabilityA year of watching people bet real money on outcomes changed how I think about everything.4 min readPrediction markets
- How I Use Vercel BotID to Stop Bots on Auth EndpointsBotID verifies browser challenges before proxying to the backend. Here's how I set it up in Next.js 16.5 min readSecurityNext.js
- Google Search Console MCP Server: Connect It to Claude CodeConnect Google Search Console to Claude Code with the mcp-gsc MCP server: setup with uvx, the tools it adds, and the indexing and CTR problems it found.6 min readMCPSEOAI agents
- 0xInsider.com: Polymarket Analytics for Sports and EsportsPolymarket analytics for sports and esports in real-time. I grade every tracked wallet, then show which side the best of them are backing before a game starts.5 min readPrediction marketsStartups
- AI Agents ExplainedWhat AI agents are, how the agent loop works, and why they're different from chatbots.7 min readAI agents
- How Prediction Market Arbitrage Works (Polymarket, Kalshi)Buy YES and NO for less than $1 combined and one of them pays $1. Why the gap opens on Polymarket and Kalshi, and the fees and liquidity that close it.4 min readPrediction markets
- Building Custom MCP Servers with Next.js and mcp-handlerBuild an MCP server in a Next.js route with mcp-handler and createMcpHandler, then connect it to Claude Code, Gemini CLI, Cursor and other MCP clients.6 min readMCPNext.jsAI agents
2025
- CSS :interest-source and :interest-target Pseudo-ClassesStyle connected UI with the :interest-source and :interest-target pseudo-classes. Interactive examples of tooltips, forms and navigation without JavaScript.4 min readCSSHTML
- ::details-content: Style Expandable Content, No WrappersThe ::details-content pseudo-element lets you style the expandable content of details elements separately from the summary, no divs needed.3 min readCSSHTML
- View Transitions API: Smooth animations between DOM statesCreate animated transitions between different states of your app without complex animation libraries.8 min readCSSJavaScript
- Chrome DevTools MCP: Let Your AI Agent Debug Your AppGive your AI agent access to your running application. They can see errors, inspect the network tab, check the DOM, and debug issues while you work.3 min readMCPAI agents
- Claude Code Superpowers: Add Skills That Plan Before CodingSuperpowers is a plugin for Claude Code that enforces planning, TDD, and debugging workflows. Setup guide with real examples.5 min readAI agents
- Lighthouse CI: Catch Performance Regressions EarlyLighthouse CI fails your builds when performance drops. I run it on every pull request.5 min readWeb performanceDeveloper tools
- Next.js DevTools MCP: Connect Agents to Your Dev ServerThe Next.js DevTools MCP connects Claude and Cursor to your running dev server. I use it every day.3 min readMCPNext.jsAI agents
- Context7 MCP: Stop LLM Hallucinations with Live DocsContext7 MCP server pulls version-specific library docs into Claude Code, Cursor, and other AI editors. Setup guide and how it works.4 min readMCPAI agents
- IndexNow: Get Pages Indexed in Minutes, Not WeeksSet up IndexNow in five minutes: generate an API key, host the key file at your site root and submit URLs on publish. Code for Astro, Next.js, Django and more.36 min readSEO
- What's New in Next.js 16: Every Change ExplainedNext.js 16 makes params async, Turbopack the default bundler and proxy the new middleware, and removes AMP. Every change with code, updated for 16.4.14 min readNext.jsReact
- Original work is now an endangered speciesWhen everything looks the same, being different becomes valuable again2 min readAI
- Now is the best time to break into techWith AI tooling, a developer with 1 year of experience can match the output of someone with 10 years. The playing field has never been more level.2 min readCareerAI
- Is it even worth learning to code?With AI tools like Claude Code, Cursor, GitHub Copilot, OpenAI Codex, and Lovable, is learning to code still valuable?2 min readCareerAI
- The Sequential Thinking MCP ServerThe sequential thinking MCP server has an AI agent reason one numbered thought at a time, revising or branching as it goes. What it does and when it helps.5 min readMCPAI agents
- NPQ: Audit npm Packages for Malware Before You InstallA CLI tool that checks packages for security issues and social engineering attacks before they hit your project2 min readSecurityNode.js
- Google's AI distribution advantageWhile everyone debates models and features, Google owns the distribution channels that make AI stick2 min readAITech companies
- How JavaScript Was Written Back In the DayHow was JavaScript written back in the day? I dug into early frameworks and libraries to see how code looked then and what still holds up.6 min readJavaScript
- JavaScript compile hints: what they are and when to use themV8's compile hints let you control which JavaScript gets compiled immediately during page load3 min readWeb performanceJavaScript
- Error.isError() in JavaScript: A Reliable Error CheckWhy the new Error.isError() method solves important cross-realm issues and provides more reliable error identification than instanceof3 min readJavaScript
- Data Fetching Architecture for Complex React/Next.js AppsHow I use the 'Three Layers of Data' architecture pattern for React and Next.js apps to avoid common pitfalls, tech debt, and improve performance12 min readNext.jsReact
- Float16Array in JavaScriptFloat16Array stores 16-bit floating point numbers in half the memory of a Float32Array. How it works, when to use it and which browsers support it.2 min readJavaScript
- Agent2Agent (A2A) Protocol: How AI Agents Talk to Each OtherAn exploration of Google's new open protocol that enables different AI systems to exchange information and collaborate5 min readAI agents
- Why I Value Firebreak Sprints for Managing Technical DebtHow scheduled developer freedom weeks can revolutionize your codebase and team morale4 min readEngineering managementSoftware engineering
- CVE-2025-29927: The Next.js Middleware Bypass ExplainedThe vulnerability skips Next.js middleware security checks by adding a single HTTP header3 min readSecurityNext.js
- The 5:1 Rule: The Feedback Ratio of High-Performing TeamsHigh-performing teams share 5.6 positive comments for every negative one, medium teams 1.9. How to use that ratio in performance reviews.3 min readEngineering management
- Intl.DurationFormat: Format Durations with Locale SupportStop writing manual duration formatting code. Instead, leverage the new powerful Intl.DurationFormat API for internationalized time displays4 min readJavaScript
- Open-source is where dreams go to dieWork for free and in return watch your passion get crushed by entitled users who are never satisfied3 min readOpen source
- Don't bullshitSpeak plainly, admit what you don't know and write like you talk. Why direct, honest communication builds more trust at work than a polished persona.2 min readCareer
- is-my-node-vulnerable: Check Your Node.js Version for CVEsThis package compares your Node.js version against the Node.js Security Database, providing immediate feedback about potential security risks.7 min readNode.jsSecurity
- Native Popover Element with HTMLThe HTML Popover API builds tooltips, dropdowns and overlays without a JavaScript library. How to use it, what it returns and where browsers support it.3 min readHTML
- WeakRefs in JavaScript: Explained In Simple TermsA WeakRef points to an object without stopping the garbage collector from freeing it. When that helps, how deref() works, and cleanup with FinalizationRegistry.7 min readJavaScript
- How Honey Made Money by Swapping Creators' Affiliate LinksPayPal bought Honey for $4 billion in 2019. Its extension replaced creators' affiliate links with its own codes, so the commission on a sale went to Honey.2 min readTech companies
2024
- AsyncLocalStorage in Node.js: Context Without Prop DrillingUse AsyncLocalStorage to carry request IDs, user context, and tracing data through async calls without passing them as arguments.5 min readNode.js
- CSS scrollbar-width and scrollbar-gutter ExplainedUse scrollbar-width to thin or hide scrollbars and scrollbar-gutter to prevent layout shift. Browser support, examples, and gotchas.3 min readCSS
- Add Auth to Astro 5 with Clerk in 5 MinutesThe simplest setup for adding Clerk authentication to your Astro project, with minimal code5 min readSecurity
- CSS ::target-text for Text HighlightingA look at how browsers can highlight text fragments using CSS ::target-text, making text sharing and navigation more user-friendly3 min readCSS
- align-content: The Simplest Way to Center Content with CSSFinally, we can center things in block layouts without flexbox gymnastics2 min readCSS
- CSS :user-valid and :user-invalid for Friendlier Form ErrorsThe new pseudo-classes :user-valid and :user-invalid give us a smarter way to style form validation states based on user interaction3 min readCSSHTML
- HTML Details Element: The Native Accordion You're Not UsingDiscover how the HTML details element can replace your JavaScript accordions and why it might be better than your current solution2 min readHTML
- Tattoos Won't Break Your Tech CareerI have a sword tattooed on my neck and ten years in tech. Why tattoos won't hold back a tech career, and why interviews should judge skills, not appearance.3 min readCareer
- navigator.clipboard: The Async Clipboard API in JavaScriptCopy and paste text, images, and files using the new navigator.clipboard API3 min readJavaScript
- CSS @supports: Write Future-Proof CSSUse CSS @supports to check whether a browser supports a feature such as grid, and give other browsers a fallback. How it works, with multiple conditions.3 min readCSS
- CSS Supports Nesting NowCSS nesting is finally supported in all major browsers. Write cleaner, organized stylesheets without Sass or Less3 min readCSS
- CSS content-visibility: Skip Rendering Offscreen Contentcontent-visibility: auto lets the browser skip layout and paint for offscreen elements until they are needed. How to use it with contain-intrinsic-size.2 min readCSSWeb performance
- CSS :has() - The Parent Selector We've Always WantedTransform your CSS with :has(), the game-changing selector that finally lets us style elements based on their children.3 min readCSS
- link rel=modulepreload: Load JavaScript Modules Soonerrel=modulepreload fetches, parses and compiles an ES module before a script imports it. How to use it, and why each module in the graph needs its own link.2 min readWeb performanceHTMLJavaScript
- LH and RLH: The CSS Units That Make Vertical Spacing EasyExploring new CSS line-height units that eliminate guesswork from vertical rhythm4 min readCSS
- The HTML Search Element: A Native Tag for Search FormsThe <search> element wraps a search form or filter controls so browsers and screen readers know their purpose. When to use it, with input type=search examples.2 min readHTML
- Web Performance API: Measure What MattersFrom slow to fast: Using JavaScript's Performance API to optimize web apps5 min readWeb performanceJavaScript
- HTTP CONNECT: Building Secure Tunnels Through ProxiesHTTP CONNECT asks a proxy to open a TCP tunnel to a host, so HTTPS passes through still encrypted. How the method works, a Node.js client, and common pitfalls.3 min readSecurityNode.js
- Preload Responsive Images with imagesrcset and imagesizesA plain preload link fetches the wrong file for a responsive image. Add imagesrcset and imagesizes to link rel=preload so the browser picks the same image.3 min readWeb performanceHTML
- You Don't Own Your Social Media AccountsSocial platforms promise exposure but quietly hold your audience hostage3 min readCareerTech companies
- JavaScript Scheduler API: Prioritize Tasks with postTask()scheduler.postTask() runs JavaScript at user-blocking, user-visible or background priority, giving finer control than setTimeout(0) over when work runs.4 min readJavaScriptWeb performance
- WebAssembly (Wasm): When (and When Not) to Use ItUnderstanding the real use cases for WebAssembly beyond the performance hype4 min readWeb performanceJavaScript
- The Fight to Free JavaScript from Oracle's ControlThe creator of JavaScript and Node.js are challenging Oracle's control over the JavaScript name5 min readJavaScriptOpen source
- Recursion Explained In Simple TermsUnderstanding recursion through real examples - why functions call themselves and when to use them4 min readSoftware engineeringJavaScript
- Node.js Corepack: Pin Your Yarn and pnpm VersionsCorepack pins the yarn or pnpm version a project uses through packageManager in package.json. Bundled through Node.js 24; on Node.js 25, install it from npm.3 min readNode.jsDeveloper tools
- Can OSSPledge Fix Open Source Sustainability?The Open Source Pledge aims to address open source sustainability challenges by encouraging companies to pay $2,000 per developer per year5 min readOpen source
- JavaScript Sets and Maps: Beyond Arrays and ObjectsHow to handle unique values and key-value pairs properly without type coercion and performance issues8 min readJavaScript
- Precise Decimal Math in JavaScript with Fraction.jsHow to handle exact decimal calculations in JavaScript when floating-point precision isn't good enough4 min readJavaScript
- Exploring JavaScript SymbolsDeep dive into JavaScript Symbols - what they are, why they matter, and how to use them effectively9 min readJavaScript
- Ghost Jobs Should Be IllegalGhost jobs are postings for roles a company never plans to fill. Why recruiters and hiring managers post them, and what they cost job seekers.2 min readCareer
- Can Scrum Be Salvaged?Scrum's standups, sprint planning and retros often waste engineers' time. Why a process from 2001 fits today's software poorly, and how some teams make it work.6 min readEngineering management
- Understanding Bitwise Shifts in JavaScript: << and >>A left shift multiplies a number by 2 per position, and a right shift divides it by 2. How JavaScript's bitwise shift operators work, with binary examples.4 min readJavaScript
- JavaScript Import Attributes (ES2025)Understanding the new import attributes syntax and why we can't rely on file extensions alone3 min readJavaScript
- Promise.try in JavaScript: One Error Path for Sync and AsyncStop mixing try/catch with Promise chains - JavaScript's new Promise.try handles return values, Promises, and errors uniformly3 min readJavaScript
- JavaScript &&= Operator: Logical AND Assignment ExplainedUse the &&= operator to safely update truthy values while preserving falsy states3 min readJavaScript
- Nullish Coalescing Assignment (??=) in JavaScriptx ??= y assigns y only when x is null or undefined, so 0, false and empty strings stay. How it differs from || and where it saves code.3 min readJavaScript
- When Will We Have Our First AI CEO?Welcome to the future of corporate leadership. It's efficient, profitable, and utterly inhuman3 min readAITech companies
- The Monday Morning Test to Measure Engineering Team HealthWhy the first day back can reveal everything about your engineering team's health6 min readEngineering management
- Apple Pkl: A Configuration Language to Replace JSON and YAMLPkl, pronounced pickle, is Apple's open source configuration-as-code language, with schemas, validation and immutable values. How it compares to JSON and YAML.4 min readDeveloper tools
- No, Quantum Computers Won't Break All EncryptionSymmetric encryption algorithms like Advanced Encryption Standard (AES) are largely quantum-resistant already4 min readSecurity
- Introducing the Legendary Programmer Hall of FameMeet the innovators who laid the foundation for modern computing. Their contributions span decades, creating the tools and concepts developers use every day.2 min readSoftware engineering
- JavaScript Pipeline Operator (|>): The Hack Pipes ProposalThe Stage 2 pipeline operator passes a value through a chain of calls left to right, with % marking where it goes, instead of nesting h(g(f(x))).4 min readJavaScript
- Why localStorage Is Unsafe for Tokens and SecretslocalStorage is vulnerable to XSS and has no expiry or encryption. Learn why httpOnly cookies and sessionStorage are safer for auth tokens.8 min readSecurityJavaScript
- JavaScript Falsy Values: All 8, Plus Why [] Is TruthyJavaScript has eight falsy values: false, 0, -0, 0n, an empty string, null, undefined and NaN. Empty arrays and objects are truthy. The edge cases, explained.7 min readJavaScript
- JavaScript && vs || vs ??: Logical Operators Explained|| returns the first truthy value, && the first falsy one, and ?? falls back only on null or undefined. When to use each, and the cases that trip people up.7 min readJavaScript
- CSSOM: How the CSS Object Model Works in the BrowserThe CSSOM, or CSS Object Model, is the browser's map of every style rule. How it is built beside the DOM, how it computes styles, and how to keep it fast.6 min readCSSWeb performance
- How to Land Your First Tech JobA developer's guide to tech interviews - from someone who sits on both sides of the table6 min readCareer
- Anthropic's Member of Technical Staff (MTS) Title ExplainedEveryone at Anthropic, co-founders included, holds one title: Member of Technical Staff (MTS). Why it makes poaching harder and keeps the culture egalitarian.2 min readTech companiesCareer
- Offload Your Third Party Scripts With Cloudflare ZarazHow I used Cloudflare Zaraz to offload third party scripts and improve my website performance.3 min readWeb performance
- Secretlint: Stop Committing API Keys and Passwords to GitSecretlint scans your code for API keys, tokens and passwords before they reach Git. Install it, run it in a pre-commit hook with Husky, and pick its rules.5 min readSecurityDeveloper tools
- Repomix (formerly Repopack): Pack a Repo Into One FileRepomix, formerly Repopack, packs a whole code repository into one file you can share with Claude or ChatGPT. Usage, key features and a word of caution.5 min readDeveloper toolsAI
- Software Engineer Titles Have Almost Lost Their MeaningExamining the Devaluation of Software Engineer Titles and Its Impact on Tech Industry Integrity6 min readCareer
- Optimize Your Astro Site's <head> with astro-capoastro-capo sorts your Astro site's head elements into 11 weighted groups so critical tags like charset come first. How to install it and use it in a layout.3 min readWeb performance
- How to Add Content Security Policy (CSP) Headers to AstroAdd a Content Security Policy to an Astro site to block XSS: Astro 6's built-in CSP, the Astro CSP gotcha, and header setups for Vercel and Cloudflare.4 min readSecurity
- VoidZero, VC Funding and Open Source JavaScript ToolingVoidZero, Evan You's company behind Vite, took venture money. What that means for open source, and why its tools stayed MIT as it joins Cloudflare.4 min readOpen sourceJavaScript
- Open Dyslexic Font: Improve Your Web AccessibilityHow to implement the Open-Dyslexic font to enhance readability for users with dyslexia4 min readCSS
- Small Habits, Big ImpactSmall daily choices compound over a developer's career. How to treat growth like iterative development, and how one developer went from junior to design lead.4 min readCareer
- Ageism in Tech: Why Skills Matter More Than AgeSilicon Valley has a reputation for youth worship. What Google, IBM, Microsoft, Amazon and Apple do about age, and why skills matter more than age.5 min readCareer
- How to Launch Software Projects On Time and On BudgetLearn the art of scope management to keep your projects fixed in time and cost4 min readEngineering managementSoftware engineering
- The Credit VacuumDevelopers make a hundred saves no one notices, then get blamed for the one that slips through. Why credit skips the engineers who build the product.2 min readCareer
- A Company Is Not a Family. It's a Sports Team'We're not just a company, we're a family!' It's a nice sentiment, sure. But it's also a load of crap.4 min readEngineering management
- Cloudflare Study: 39% of Companies Losing Control of ITA Forrester study for Cloudflare found 39% of companies losing control of their IT and security, as remote work, cloud apps and new regulations pile up.4 min readSecurity
- When Tasked with a Problem, Start with the Bigger PictureBefore you jump into a problem, step back and ask why it matters. How zooming out first, like studying the map in a strategy game, leads to better solutions.3 min readSoftware engineeringCareer
- Barnacle Strategy for StartupsThe barnacle strategy grows a startup by attaching it to a larger platform's ecosystem, the way a barnacle rides a whale. How it works for founders.2 min readStartups
- Micro Frontends: The LEGO Approach to Web DevelopmentMicro frontends split a web app's frontend into parts that teams build and deploy on their own. Their key traits, when they're worth it and the challenges.6 min readSoftware engineering
- Google's Journey: From Search Engine to Tech GiantExploring the key innovations and strategies that transformed Google into a global technology leader11 min readTech companies
- Amazon's Rise to Tech Titan: A Story of Constant InnovationHow Jeff Bezos' 'Day 1' philosophy turned an online bookstore into a global powerhouse10 min readTech companies
- Apple's Secret Sauce: The Untold Stories Behind Its SuccessDiving deep into the lesser-known factors that propelled Apple from a garage startup to a tech titan8 min readTech companies
- Self-Doubt Holds Most People Back From Their Full PotentialSelf-doubt, more than talent or luck, holds most people back. Stories from Airbnb, Slack and Dropbox, and ways to move past it in a tech career.5 min readCareer
- Self-Taught Developer's Guide to Thriving in TechBeing self-taught is an asset: you solve problems alone, learn by building and adapt fast. How to reframe the usual worries and thrive without a CS degree.4 min readCareer
- Make It Work First Before OptimizingUsers don't care how elegant your code is. They care if it solves their problem.3 min readSoftware engineering
- Minimum Viable DocumentationHow to create essential documentation that actually gets read and used.5 min readSoftware engineering
- Specialist vs Generalist: Choosing Your Career Path in TechGeneralists know many languages and frameworks; specialists go deep on one hard problem. How each path plays out in tech, and how to choose yours.5 min readCareer
- Write Documentation Like a JournalistCreate comprehensive, engaging documentation by adopting journalistic techniques for research and storytelling4 min readSoftware engineering
- Cloudflare's AI Content Control and the Open WebCloudflare lets sites see which AI crawlers visit, block them in one click and charge for access. Since July 2025 it blocks AI crawlers by default.5 min readAISEO
- Conway's Law: How Your Org Chart Shapes Your SoftwareWhy software architecture ends up mirroring the org chart, the path of least resistance behind it, and how to work with Conway's Law or around it.5 min readSoftware engineeringEngineering management
- Internal MobilityInternal mobility lets engineers move into DevOps, security, data or other roles at their own company and keep the trust and knowledge they've built.2 min readCareer
- Outdated Docs Are Tech DebtTeams ship code and put off updating the docs until it is too late. How to find the docs that hurt most, keep them current and make updates part of the culture.4 min readSoftware engineering
- Weeks of Coding Can Save You Hours of PlanningWeeks of coding can save you hours of planning. The old saying is still a warning worth heeding: how planning saves you, and how to keep it light.4 min readSoftware engineering
- It's More Fun to Be CompetentOnce you are competent, you stop second-guessing yourself and panicking at new problems, and take on bigger challenges with excitement. How to build it.3 min readCareer
- Code Wins ArgumentsHow Meta and other companies use the 'code wins arguments' mindset to turn ideas into reality2 min readSoftware engineeringTech companies
- Take Your Writing SeriouslySloppy messages make everyone else spend time decoding them. Why clear writing respects your team, and the basic tips I follow for every message.3 min readCareerSoftware engineering
- Users Can Be FiredLetting go of difficult or harmful users can be the key to maintaining the health and growth of your product4 min readStartupsTech companies
- A Great Product Doesn't Need MarketingGreat products speak for themselves, without the need for massive marketing campaigns3 min readStartupsTech companies
- Amazon's 'No Weasel Words' RuleHow Amazon's emphasis on eliminating weasel words leads to more precise, actionable communication and better decision-making2 min readTech companiesEngineering management
- The Real Cost of Meetings: What FAANG Does DifferentlyA one-hour meeting with nine people costs nine hours of work. How Amazon, Meta, Google, Netflix and Apple replace meetings with written documents.6 min readEngineering managementTech companies
- What Makes MrBeast So Successful?A deep dive into the strategies, mindset, and team culture that have made MrBeast one of the most successful creators on YouTube11 min readEngineering management
- Express 5: What Changed, Release Date and How to MigrateExpress 5.0 shipped on October 15, 2024, and 5.1.0 is now the npm default. Removed methods, new path matching, async error handling and Node.js 18+.6 min readNode.js
- Evolve or Become IrrelevantWhy staying relevant in tech means constantly adapting to new technologies and trends7 min readCareer
- Speculation Rules API: Prefetch and Prerender Next PagesHow the Speculation Rules API improves web performance by prefetching and prerendering future navigations9 min readWeb performanceHTML
- Company Culture Happens Outside ManagementCompany culture grows from what people see rewarded, not from memos. How Google's 20% time and Netflix's vacation policy spread from the ground up.5 min readEngineering managementTech companies
- Improve PageSpeed Insights Score with Lazy Loading IframesSet loading=lazy on an iframe and the browser waits to load it until the reader scrolls near. Before-and-after code, the bandwidth saved and browser support.2 min readWeb performanceHTML
- Preconnect to Required Origins with rel=preconnectUsing link rel='preconnect' can improve your website's performance by reducing connection setup times to key external domains.4 min readWeb performanceHTML
- The Crutch Effect: How AI Tools Became A CrutchLeaning on AI coding tools too much weakens your skills and leaves you with shallow understanding. How to use AI without letting it become a crutch.3 min readAICareer
- Mental Toughness is the Best Quality a Developer Can HaveDebugging, new tools and tight deadlines all test you. Why resilience matters more than knowing every framework, and how developers can build it.3 min readCareer
- When Should You Actually Worry About Tech Debt?Technical debt isn't the monster under your bed, but it can become one if ignored too long.4 min readSoftware engineering
- Google is Killing Information Economics on the InternetGoogle’s Gemini pulls summaries from websites and slaps them directly into the search results2 min readSEOAI
- How to Reduce Cyclomatic Complexity: Practical TipsReduce cyclomatic complexity: split large functions, replace long conditionals with the strategy pattern, cut parameters and flatten nested loops.7 min readSoftware engineering
- setImmediate() vs setTimeout(0) in Node.js: The DifferencesetImmediate runs after I/O, setTimeout(0) runs after the timer phase. Here's when to use each, with event loop diagrams.6 min readNode.jsJavaScript
- Unrealistic Deadlines In Software EngineeringUnrealistic deadlines are more than stressful: they set engineers up for failure. Who pays the price, and when to push back.4 min readEngineering managementSoftware engineering
- Understanding JavaScript Closures With ExamplesClosures are essential for creating functions that maintain state, without relying on global variables.5 min readJavaScript
- Explicit is better than implicitClarity is key: being explicit makes your code more readable and maintainable.4 min readSoftware engineering
- AggregateError in JavaScript: Handle Multiple Errors at OnceAggregateError holds several errors in one, the way Promise.any() reports that every promise rejected. How to throw and read it, plus the new SuppressedError.6 min readJavaScript
- Mock API Calls in React Tests with Mock Service WorkerTesting can be tricky, especially when it comes to handling API calls.11 min readReact
- Chrome Built-In AI: What Gemini Nano Means for StartupsChrome runs Gemini Nano on the device, and its built-in AI APIs reached stable in 2025 and 2026. What that means for startups selling simple AI features.4 min readAIStartups
- Early Returns and Intermediate Variables in JavaScriptIntermediate variables name each step of complex logic, and early returns handle failing cases first. A JavaScript authentication check, rewritten both ways.3 min readJavaScriptSoftware engineering
- When Regex Goes WrongA regex took Stack Overflow down for 34 minutes in 2016. How catastrophic backtracking works, plus the Cloudflare 2019 and CrowdStrike 2024 incidents.4 min readSoftware engineering
- Invisible columns in SQLInvisible columns stay hidden from queries until you name them. How they work in MySQL 8.0.23+, Oracle and MariaDB, and alternatives in PostgreSQL.8 min readSoftware engineering
- Understanding Vue's SuspenseHow the Suspense component manages async dependencies and improves loading states in Vue apps4 min readJavaScriptWeb performance
- The Only Widely Known JavaScript Feature Ever DeprecatedThe 'with' statement is the only feature ever deprecated in JavaScript3 min readJavaScript
- 10 Essential Terminal Commands Every Developer Should KnowList of useful Unix terminal commands to boost your productivity. Here are some of my favorites.12 min readDeveloper tools
- Remove Unnecessary NPM Packages with eslint-plugin-dependeslint-plugin-depend flags npm packages like is-odd that plain JavaScript replaces. How to install and configure it, and its move to @e18e/eslint-plugin.4 min readDeveloper toolsJavaScript
- Common Causes of Memory Leaks in JavaScriptCommon causes of JavaScript memory leaks in Node.js and Deno, such as global objects and callbacks that hold large data, and how to profile heap usage.19 min readJavaScriptNode.js
- Gitleaks: Find and Prevent Credential Leaks in Git ReposAutomate security flows and ensure your team follows security best practices9 min readSecurityDeveloper tools
- Technical Debt Is Killing Your BusinessTechnical debt frustrates 62.4% of developers, per Stack Overflow's 2024 survey. What causes it, and the outages at Target and AWS that show its cost.7 min readSoftware engineering
- Frontend Security ChecklistA frontend security checklist covering XSS, Content Security Policy headers, CSRF, insecure direct object references and exposed environment variables.12 min readSecurity
2023
- Speeding Up React Apps with Code Splitting and Lazy LoadingSplit a React app's bundle with React.lazy and Suspense, lazy-load routes and CSS, and improve Core Web Vitals, which Google uses as a ranking factor.5 min readReactWeb performance
- Staying Motivated While Building a StartupBuilding a startup is an exhilarating journey, filled with highs and lows3 min readStartups
2020
- The What, Why, and How of Using a Skeleton Loading ScreenSkeleton loading screens enhance user experience and make your app feel faster3 min readWeb performanceReact
- Sharp: Fast Image Resizing and Conversion for Node.jsSharp resizes, rotates and converts images in Node.js. It reads JPEG, PNG, WebP, GIF and SVG and writes WebP, AVIF and more. Code for each common task.4 min readNode.jsWeb performance
- Integrating Docker with ReactRun a React app in Docker: write a Dockerfile, start it with Docker Compose, serve the production build with Nginx and deploy it to a VPS.6 min readReactDeveloper tools
2019
- How To Restore Your Passion for ProgrammingLost the will to code? How I got my passion for programming back after burnout: side projects, new challenges, new hobbies, exercise and a real vacation.4 min readCareer
- What Does an Entry-Level Programmer Need to Know Exactly?What junior developers need to know: a decent grasp of one language and something you built. Why most job requirements are nice-to-haves, and when to apply.6 min readCareer
- Mermaid.js: Charts and Diagrams from Markdown-like SyntaxMermaid.js is a simple markdown-like script language for generating charts from text via JavaScript5 min readDeveloper toolsJavaScript
- Become a Web Developer in 180 DaysA 180-day plan to become a web developer with free resources: HTML and CSS, JavaScript, a frontend library, Node and databases, then your portfolio.7 min readCareer
- Peaks.js: Interact With Audio WaveformsPeaks.js is a client-side JavaScript component to display and interact with audio waveforms in the browser5 min readJavaScript
- Boost React + Redux Performance with ReselectSelectors are a powerful tool to optimize state selection and enhance performance in your React and Redux apps.4 min readReactWeb performance
- Programming Trends to Watch in 2020 and BeyondMy 2020 predictions: Rust goes mainstream, GraphQL and PWAs grow, WebAssembly gains ground, React stays on top, and JavaScript stays a safe bet.4 min readSoftware engineering
- How To Fetch Data From an API With React HooksMove a class component that fetches API data to React Hooks with useState and useEffect, step by step, and when to use a data-fetching library instead.4 min readReact
- How To Use Redux with React HooksUse Redux with React Hooks: replace connect with useSelector and useDispatch, available since React Redux 7.1, and refactor a component step by step.3 min readReact
- Demystifying React HooksReact Hooks, added in React 16.8, let you write stateful components without classes. Refactor a class component to a function with useState, step by step.4 min readReact