- Getting Creative With Images in Long-Form Content
- 3D Layered Text: Interactivity and Dynamicism
- 3D Layered Text: Motion and Variations
- 3D Layered Text: The Basics
- Covering hidden=until-found
- A Few Things About the Anchor Element’s href You Might Not Have Known
- On Accessibility Conformance, Design Systems, and CSS “Base” Units
- We Might Need Something Between Root and Relative CSS Units for “Base Elements”
- CSS-Questions
- Getting Creative With Quotes
- Stuff & Nonsense Practical Layout Workshop
- How to Prepare for CSS-Specific Interview Questions
- Bringing Back Parallax With Scroll-Driven CSS Animations
- Thinking Deeply About Theming and Color Naming
- Keeping Article Demos Alive When Third-Party APIs Die
- Creating CSS Theme Variables from a JS file
- Wholegrain Digital’s Response to the BBC’s Web Sustainability Report
- Debating the Merits of LLMs
- What I learned from migrating a Vue project from Vuex to Pinia
- Creating Static SVGs from GeoJSON
- Sustainable Hardware Choices
- Education Needs Teachers, Not More Technology
- CSS Masonry Layout Syntax
- AI Environmental Impact Report
- A Versatile Markdown Shortcode for Eleventy
- I’ve Been Doing Blockquotes Wrong
- Notes From Green IO Conference
- Limitation Breeds Creativity: A Study in Composition with Custom Properties
- Logical Properties in Size Queries
- The Problem With Surveys (and Why You Should Take This One)
- An Holistic Framework for Shared Design Leadership
- From Beta to Bedrock: Build Products that Stick.
- User Research Is Storytelling
- To Ignite a Personalization Practice, Run this Prepersonalization Workshop
- The Wax and the Wane of the Web
- Opportunities for AI in Accessibility
- I am a creative.
- Humility: An Essential Value
- Personalization Pyramid: A Framework for Designing with User Data
- Mobile-First CSS: Is It Time for a Rethink?
- 10 Web Dev Trends for 2025 That Will Make or Break Your Career
- 25 Useful ChatGPT Prompts for Web Designers (that you can copy/paste)
- Web Design & Web Development Salaries Around the World in 2025
- 10 “Fresh” Design Trends We Shamelessly Stole From the Past
- Forget Design Portfolios: Here’s How Designers ACTUALLY Get Hired in 2025
- User Journeys vs. Customer Journeys: Why the Distinction Matters More Than You Think
- Exciting New Tools for Designers, August 2025
- Your A/B Tests Are Lying to You! The Myth of Data Driven Design
- The Rise and Fall of the Web Mascot: Where Did They Go?
- Skeleton Screens Are Just Gray Lies We Tell Ourselves
- Nobody Waits for Your Fancy Animations Anymore (And They Never Really Did)
- The Silent UX Killer: Micro Failures Are Wrecking Your Site
- The Death of the Click: How Scrolling Took Over the Web
- Dear Hamburger Menu: It’s Not the ’90s Anymore
- How Formatting Text in Web Design Increases Conversions
- The Future of the Web Is Decentralized (Whether You Like It or Not)
- Non-Linear Web Design: Unlocking the Future of User Experience
- The Decline of Stack Overflow: Where Are Developers Headed Next?
- Design System Awards by zeroheight
- Logoipsum
- Smart Quotes for Smart People
- Frostapalooza Concert Videos Live!
- Introducing Wake Up Excited!
- Happy 40th Birthday, Melissa!
- Jamie Lee Curtis isn’t just having a moment, she is THE moment.
- Sun Spat by EMEFE
- 10 years of working with my brother, Ian!
- Vibe code is legacy code | Val Town Blog
- Before I go: Always buy the $200 Yamaha – daverupert.com
- Bigger Than Boxes: A 41st Thought at 41
- WCAG in Plain English by AAArdvark
- Introducing my new Atomic Design Certification Course!
- Foreword to Learning Web Design by Jennifer Robbins
- Website Headlines (dotcom)
- Chris’ Corner: Tokens – CodePen
- Humility Over Time
- How to make a design system that’s not boring
- The New Separation of Concerns
- Refresh PGH is being refreshed!
- The Multi-All-The-Things Organization
- We’re hiring an apprentice!
- Brad Frost, Web Designer – UNIQUEWAYS podcast
- A Change Of Scenery Will Serve You Well
- Atomic Design, Tokens, AI and the Future of Design Systems – Experience Designed Podcast
- Open Up, Episode 2: Fundamentals, Principles, Navigating an Imperfect World, Collaboration, and Old Friends
- Work hard. Don’t be an asshole. Share what you know.
- Last Chance to Preorder Subatomic!
- Winamp Skin Museum
- Animated Toggle in React Native
- Slow Down—You Need It
- JavaScript Templating Without a Library
- The Story Behind “100 Days of Scriptures”
- Ugmonk Waxed Canvas Messenger Bag Review
- Integrating React with gulp
- August Connect Review
- Managing Responsive Breakpoints with Sass Maps
- Need for Speed 2: Improving Front-End Performance
- Faster Font Loading with Font Events
- Low- and Mid-Tier Mobile for the Real World (2025)
- The Fastest Site in the Tour de France
- Making Sense of the Performance Extensibility API
- Why Do We Have a Cache-Control Request Header?
- HTML Is Not a Programming Language…
- Build for the Web, Build on the Web, Build with the Web
- Licensing Code on CSS Wizardry
- A Layered Approach to Speculation Rules
- Designing (and Evolving) a New Web Performance Score
- Core Web Vitals Colours
- The Ultimate Contract Templates for Tech Consultants: Protect Your Business and Get Paid
- Optimising for High Latency Environments
- Limiting YouTube to a Single Tab
- Classifiers and cosmotechnics
- Vibe Check №39
- All the concerns that make you a boring developer
- Theater UX
- A modest proposal for new holidays to manage your digital life
- A fiscal recalibration
- The Economy? He died five years ago.
- Easy sci-fi rectangles with corner-shape
- Before I go: Always buy the $200 Yamaha
- A social media ethos
- The Pyramid of Merit
- Productivity traps I fall into regularly
- Inverse text-sizing based on text-length with attr()
- The unsung principles of RedwoodSDK
- Chekuskin's dream
- The Fifth Estate
- Take My Hand, Precious Lord
- Vibe Check №38
- Moving from Notion to Obsidian
- Get the length of a Map in JavaScript
- Delete an element from a Map in JavaScript
- Get the first element of a Map in JavaScript
- Get an element from a Map using JavaScript
- Update an element in a Map using JavaScript
- Add an element to a Map in JavaScript
- Convert a Map to an object in JavaScript
- Convert an object to a Map in JavaScript
- Convert an array of objects to a Map in JavaScript
- Create a new Map object in JavaScript
- Can components conform to WCAG?
- Conformance vs compliance, accessibility standards edition
- We should listen to the philosophers more
- How to avoid that your post about AI helps the hype
- Running for the AB (2): meet the candidates
- Running for the AB
- Is “ethical AI” an oxymoron?
- Tag, you're it
- The future of government is green: five ways to make a sustainable difference today
- Views on views
- What I got up to in 2024
- Turn off AI features by default (to reduce their climate impact)
- Trains are offices
- The open web, MIDI and assistive tech: State of the Browser 2024
- Streaming capabilities comes to zlFetch
- Making sense of starting-style
- Setting up a Corne Keyboard v4
- Upcoming Breaking Changes for Splendid Layouts
- A little rant about breaking changes
- Killing and Restarting pm2
- Understanding Recursion in JavaScript
- Best Practice for Astro Endpoints
- Speed of Svelte reactive bindings vs keyboard events
- Conditional Slot Forwarding is not a thing in Svelte 4
- Breaking out of Svelte's reactive statements
- What developers should be learning
- A Great Failed Experiment
- courses.reviews gets a facelift + now AI-powered
- NPQ: Open source CLI tool that audits and protects your npm installs from malicious packages
- Google's AI distribution advantage
- How JavaScript Was Written Back In the Day
- Introducing courses.reviews
- JavaScript compile hints: what they are and when to use them
- Error.isError(): A Better Way to Check Error Types in JavaScript
- Robust Data Fetching Architecture For Complex React/Next.js Apps
- Float16Array in JavaScript
- Understanding Agent2Agent (A2A): A Protocol for LLM Communication
- Why I Value Firebreak Sprints for Managing Technical Debt
- CVE-2025-29927 - Next.js Middleware Bypass Explained In Simple Terms
- The 5:1 Rule: Effective Performance Reviews For High-Performing Teams
- Intl.DurationFormat: Format Time Durations with Locale Support
- High Performing Engineer Teams = motivation + enthusiasm + autonomy
- Open-source is where dreams go to die
- Advice to New Engineering Managers
- Don't bullshit
- Become a Better Engineering Manager with JQL
- Keep Your Node.js Apps Secure with `npx is-my-node-vulnerable`
- Native Popover Element with HTML
- WeakRefs in JavaScript: Explained In Simple Terms
- Honey Quietly Hijacked Creator Revenue Through Affiliate Link Switching
- AsyncLocalStorage: Simplify Context Management in Node.js
- scrollbar-width & scrollbar-gutter: CSS Properties for Layout Control
- Add Auth to Astro 5 with Clerk in 5 Minutes
- CSS ::target-text for Text Highlighting
- align-content: The Simplest Way to Center Content with CSS
- Form Validation That Doesn't Annoy Users: CSS :user-valid and :user-invalid
- LinkedIn is Drowning in AI Generated Content Slop
- HTML Details Element: The Native Accordion You're Not Using
- Tattoos Won't Break Your Tech Career
- What Makes a Great Engineering Manager?
- navigator.clipboard - The New Asynchronous Clipboard API in JavaScript
- CSS @supports: Write Future-Proof CSS
- CSS Supports Nesting Now
- CSS content-visibility: The Web Performance Boost You Might Be Missing
- CSS :has() - The Parent Selector We've Always Wanted
- link rel='modulepreload': Optimize JavaScript Module Loading
- LH and RLH: The CSS Units That Make Vertical Spacing Easy
- The HTML Native Search Element
- Web Performance API: Measure What Matters
- HTTP CONNECT: Building Secure Tunnels Through Proxies
- Preloading Responsive Images
- You Don't Own Your Social Media Accounts
- Working with JavaScript's Scheduler API
- WebAssembly (Wasm): When (and When Not) to Use It
- Sentry's LLM Integration Makes Error Debugging Actually Smart
- The Fight to Free JavaScript from Oracle's Control
- Recursion Explained In Simple Terms
- Node.js Corepack: Version Control for Package Managers
- Can OSSPledge Fix Open Source Sustainability?
- JavaScript Sets and Maps: Beyond Arrays and Objects
- Precise Decimal Math in JavaScript with Fraction.js
- Exploring JavaScript Symbols
- Ghost Jobs Should Be Illegal
- Can Scrum Be Salvaged?
- Understanding Bitwise Shifts in JavaScript: << and >>
- JavaScript Import Attributes (ES2025)
- Promise.try: Unified Error Handling for Sync and Async JavaScript Code (ES2025)
- Why I moved from Google Analytics to Simple Analytics
- JavaScript's &&= Operator: Understanding Logical AND Assignment
- JavaScript's ??= Operator: Default Values Made Simple
- When Will We Have Our First AI CEO?
- The Monday Morning Test to Measure Engineering Team Health
- Pkl: Apple's New Configuration Language That Could Replace JSON and YAML
- No, Quantum Computers Won't Break All Encryption
- Introducing the Legendary Programmer Hall of Fame
- What is the JavaScript Pipeline Operator |>
- Stop Using localStorage for Sensitive Data: Here's Why and What to Use Instead
- JavaScript Truthy and Falsy: A Deep Dive
- JavaScript Operators: '||' vs '&&' vs '??'
- Inside the CSS Engine: CSSOM Explained
- Why Browsers Block CSS File Modifications
- How to Land Your First Tech Job
- Why Anthropic (Claude AI) Uses 'Member of Technical Staff' for All Engineers (Including Co-founders)
- Offload Your Third Party Scripts With Cloudflare Zaraz
- SecretLint — A Linter for Preventing Committing Credentials
- Repopack (now Repomix): Pack Your Entire Repository Into A Single File
- Software Engineer Titles Have (Almost) Lost All Their Meaning
- Optimize Your Astro Site's with astro-capo
- How To Implement Content Security Policy (CSP) Headers For Astro
- VoidZero: Threat or Catalyst for Open Source JavaScript Tooling?
- Open Dyslexic Font: Improve Your Web Accessibility
- Small Habits, Big Impact
- Is Age Really a Factor in Tech?
- How to Launch Software Projects On Time and On Budget
- The Credit Vacuum
- A Company Is Not a Family. It's a Sports Team
- Build Your Army
- Cloudflare Study: 39% of Companies Losing Control of Their IT and Security Environment
- When Tasked with a Problem, Start with the Bigger Picture
- Barnacle Strategy for Startups
- Micro Frontends: The LEGO Approach to Web Development
- Google's Journey: From Search Engine to Tech Giant
- Amazon's Rise to Tech Titan: A Story of Relentless Innovation
- Apple's Secret Sauce: The Untold Stories Behind Its Success
- What's the Number One Thing Holding Most People Back from Reaching Their Full Potential?
- Self-Taught Developer's Guide to Thriving in Tech
- Make It Work First Before Optimizing
- Easy way to upload, transform and deliver files and images (Sponsored)
- How to Download a YouTube Video or Channel
- How to Add a Header to a curl Request
- Case Insensitive CSS Attribute Selector
- How to Set Date Time from Mac Command Line
- How to Retrieve WiFi Password on Windows
- How to Fix: Windows WASD Keys Reversed with Arrow Keys
- HTML popover Attribute
- Get Started in AI and NFTs with the Limewire API (Sponsored)
- I’m So Old: Web Edition
- The AI workshop was a success!
- What’s coming next
- Deploying an Astro + PostgreSQL app on Railway
- Build it and they will come
- How to recover lost data from an SD card
- My own little corner shop on the Internet
- Freeing space on a Mac
- Concatenating videos on macOS
- Fix files creation date in macOS
- Removing all Homebrew stuff
- Best SMTP server for development
- Astro, fix Form error “Content-Type was not one of…”
- On AI doomerism
- Supabase email rate limit
- Durable cache on Netlify
- Underscores in numbers
- The use hook
- The useOptimistic hook
- The useFormStatus Hook
- The useActionState hook
- Server Actions
- Form Actions
- Why learn to code if finding a job is more difficult?
- The Path to Learn Web Development
- Full-Stack TypeScript Stack vs Laravel-Rails
- Will AI replace Web Developers?
- Bumping Node.js dependencies
- The AHA Stack
- How to install shadcn-ui on latest Next.js beta-RC
- Next.js, passing an id to a server action
- Generating UUIDs in JavaScript with window.crypto.randomUUID()
- How to get the Request headers in Next.js app router
- use() and data fetching
- An HTML element id is a global variable
- Astro, set caching headers
- Astro, set response header
- Conditionally hide HTML elements based on HTMX request status
- Next.js embed youtube video
- Show-hide an element based on existence of a parent class in Tailwind
- Some inputs to check for XSS issues
- Using Cloudflare Turnstile on a Astro form
- Using reCAPTCHA on a Astro form
- What’s new in React 19
- [ TODAY ] Smooth Async Transitions in React 19
- How to Use Redis with Python
- Tracking Errors in Absinthe for Elixir with AppSignal
- Monitor the Performance of Your Node.js Fastify App with AppSignal
- Extend ActiveStorage for Ruby on Rails with Custom Previewers
- Get the Full Picture: AppSignal Adds OpenTelemetry Support
- Deploy a Python Flask App to Render with Docker
- Understanding Stack Traces in Elixir
- Unit Testing in NestJS for Node Using Suites (Formerly Automock)
- Build Custom ActiveStorage Analyzers for Ruby on Rails
- How the Application and Request Contexts Work in Python Flask
- An Introduction to Oban for Elixir Monitoring Using AppSignal
- Express for Node Error Handling and Tracking Done Right
- How to Avoid N+1 Queries in Django Python
- Beyond console.log: Smarter Debugging with Modern JavaScript Tooling
- Advanced Strategies to Deploy Phoenix Applications with Kamal
- How to Use MongoDB in Python Flask
- Advanced Ecto for Elixir Monitoring with AppSignal
- Flask or Django: Which One Best Fits Your Python Project?
- Testing MongoDB in Node with the MongoDB Memory Server
- Cursor Rules for Better AI Development (article)
- Should You Declare Return Types? (article)
- TypeScript Announces Go Rewrite, Achieves 10x Speedup (article)
- TypeScript 5.8 Ships --erasableSyntaxOnly To Disable Enums (article)
- Node.js Now Supports TypeScript By Default (article)
- This Crazy Syntax Lets You Get An Array Element's Type (article)
- How To Create An NPM Package (article)
- Why I Don't Like Enums (article)
- Is TypeScript Just A Linter? (article)
- Announcing: A Free Book, A New Course, A Huge Price Cut... (article)
- An Interactive Guide to SVG Paths
- A Friendly Introduction to SVG
- Partial Keyframes
- The Height Enigma
- The Post-Developer Era
- A Million Little Secrets
- Container Queries Unleashed
- Next-level frosted glass with backdrop-filter
- A Framework for Evaluating Browser Support
- A Friendly Introduction to Container Queries
- How I Built My Blog
- The Undeniable Utility Of CSS :has
- The State of ES5 on the Web
- Dynamic LCP Priority: Learning from Past Visits
- Performant A/B Testing with Cloudflare Workers
- My Challenge to the Web Performance Community
- Smaller HTML Payloads with Service Workers
- Cascading Cache Invalidation
- Using Native JavaScript Modules in Production Today
- KV Storage: the Web's First Built-in Module
- Idle Until Urgent
- Page Lifecycle API
- What I learned building a $1K MRR SaaS in 6 weeks
- Stand Out and Dare to Disagree
- I’m sorry
- Valueless CTO: High Salary, No Return
- How much a CTO makes and where can I find CTO Jobs?
- How to become a CTO?
- 10x Engineers
- How can you tell if you’re a good developer?
- I’m finishing university, scared about future career prospects
- I have a very poor work-life balance. How can I escape the grind?
- When is :focus-visible visible?
- From Ghost to 11ty
- Web Performance Metrics Cheatsheet
- Setting up a Decentralised Website (ENS + IPFS = dWeb)
- Highlights from Chrome Dev Summit 2020
- What I wish I knew about React
- How I created 488 "live images"
- Highlights from Chrome Dev Summit 2019
- How to use Puppeteer in a Netlify (AWS Lambda) function
- Calling smart contract functions using web3.js - call() vs send()
- Design Pressure
- Why I Still Use Python Virtual Environments in Docker
- Production-ready Python Docker Containers with uv
- Python Project-Local Virtualenv Management Redux
- Don’t Start Pull Requests from Your Main Branch
- Two Ways to Turbo-Charge tox
- Subclassing, Composition, Python, and You
- Why I Like Nox
- Surprising Consequences of macOS’s Environment Variable Sanitization
- How I’m a Productive Programmer With a Memory of a Fruit Fly
- How to Debug Rails Applications and Tests in VS Code
- Effortless SQLite Backups for Rails with Litestream
- Securely Authenticating to AWS from GitHub Actions Workflows
- The one skill every Software Developer should master
- There’s just one reason for using the Cloud
- 6 reasons for using the AWS DevOps tools
- How to use CodeDeploy with AWS Lightsail
- How to use EFS with AWS Lightsail
- Automate Infrastructure Setup for AWS Lightsail
- Budget Notifications for AWS Accounts
- How Does Google Docs Work 🔥
- HTTP Headers to Build 10X APIs 🔥
- How Do Webhooks Work ⭐
- How Does HTTPS Work 🔥
- How to Improve Availability Using Deployment Patterns ★
- How Amazon S3 Achieves Strong Consistency Without Sacrificing 99.99% Availability 🌟
- How to Scale Code Reviews 🔥
- Forward Proxy vs Reverse Proxy ✨
- How Reddit Works 🔥
- Concurrency Is Not Parallelism 🔥
- Everything You Need to Know About Cache Strategies ⭐
- How API Gateway Actually Work ⭐
- System Design Playbook 🔥
- How Load Balancing Algorithms Really Work ⭐
- How JWT Works ✨
- How DNS Works 🔥
- How Figma Scaled to 4M Users—Without Fancy Databases 🔥
- How Apple Pay Handles 41 Million Transactions a Day Securely 💸
- How Do Websockets Work ✨
- Your YouTube Channel to Learn System Design 🔥
- I Quit Google to Go Solo - Was It the Biggest Mistake of My Life?
- Pursue Passions & Disregard Opinions
- Building a Career
- I've Been Thinking About Retiring
- Run Your Own Race
- My Product is Failing
- I'm Launching a New Product (PostWrite.ai)
- 9-5 Jobs vs. Self Employment
- 99% of Software is Easy
- Why I Quit my Software Engineering Job at Google
- Soft Skills vs. Hard Skills
- My First 30 Days "Unemployed"
- The Power of Compounding
- How 9-5 Jobs Nerf Talented Engineers
- I Quit Google, Now What?
- How I Built An Online Audience of 500,000+ People and Counting
- Goodbye Google
- Becoming Self Employed
- A Software Engineer's Guide to Burnout
- 3 Steps to Weather Tough Tech Markets
- Creative ways to fund open source projects
- New trend: extreme hours at AI startups
- Cursor makes developers less effective?
- The Pulse: Section 174 is reversed! Mostly, that is
- Software engineering with LLMs in 2025: temperature check
- Builder.ai did not “fake AI with 700 engineers”
- Stack overflow is almost dead
- Tech hiring: is this an inflection point?
- Survey: What’s in your tech stack?
- Software engineering job openings hit five-year low?
- Where did TikTok’s software engineers go?
- The Pragmatic Engineer 100K Giveaway
- Are LLMs making StackOverflow irrelevant?
- Where to find to The Pragmatic Engineer Podcast
- Why my new audiobook “The Software Engineer's Guidebook” is everywhere except on Audible
- 5 Tiny Phrases Every Engineer Should Use With AI
- How to tell when AI is lying to you
- Communicate like a Senior: Add the (right) context
- The 5 levels of communicating impact as an engineer
- My (mostly) minimalistic AI setup as a Senior Engineer in Big Tech
- 🚫 Stop building AI agents. Here’s what you should build instead
- 2025 Guide to Prompt Engineering in your editor for Software Engineers
- How to use the AI-boom to level up in your career and land a job
- 3 Ways to make impact as an engineer using OpenAI Codex or Claude Code
- How to turn chaos into clarity with Investigation Docs as an engineer
- How AI Chatbots are built (behind the scenes look)
- MCP (Model Context Protocol): Simply explained in 5 minutes
- Unspoken git secrets that save you mountains ⛰️ of time as an engineer
- Engineer to CEO in 3 years: These key lessons got me there
- Frameworks for Managing Up as a Software Engineer
- 6 Must Have Software Engineering Templates
- 3 Mistakes to avoid when writing your performance review
- How to build an AI side project using AI in 2025
- Happy 2025 High Growth Engineer 🎉
- High Growth Engineer Update/Break
- Start here for the Tech World With Milan
- How to do code reviews with AI tools
- 5 books that changed my engineering career forever
- ChatGPT is not AI
- From Staff to Principal: The Playbook for 10x Influence
- What I learned from the book Designing Data-Intensive Applications
- Cross-platform development with Uno Platform
- The Art and Science of Making Architectural Decisions with ADRs
- How Google Measures and Manages Tech Debt
- Why C#?
- How does Netflix manage to show you a movie without interruptions?
- Trends #7: TypeScript is getting 10x faster!
- Thinking like a Staff Engineer at Big Tech with Sean Goedecke
- Recommended learning resources for C# and .NET in 2025.
- What is a Modular Monolith?
- Context-switching is the main productivity killer for developers
- What is CDN?
- Trends #6: Python is the most popular programming language on GitHub
- Computer Science Papers Every Developer Should Read
- 70+ Engineering Blogs To Follow in 2025.
- The (Inevitable?) Demise of Kubernetes
- The EC2 Instance That Refused to SSH
- Google Cloud Platform From Zero to Hero – The Course!
- Event Driven Architecture: The Complete Guide – The Course!
- Azure ChatGPT and OpenAI Service: The Complete Guide – The Course!
- Building Web APIs with GraphQL: The Complete Guide – The Course!
- Azure AD for Developers and Architects – The Course!
- Building Web APIs with gRPC: The Complete Guide – The Course!
- AZ-220 Certification: Azure IoT Developer – The Course!
- Sometimes a VM is not just a VM (Or: what to note when creating a VM in Azure)
- [ TODAY ] SpaceX notches major wins during tenth Starship test
- [ TODAY ] Assort Health nabs $50M to automate patient phone calls, sources say
- [ TODAY ] Verily is closing its medical device program as Alphabet shifts more resources to AI
- Microsoft headquarters go into lockdown after activists take over Brad Smith’s office
- Anthropic launches a Claude AI agent that lives in Chrome
- A Radiohead song from 1997 is on the Hot 100 charts, thanks to TikTok
- Anthropic settles AI book-training lawsuit with authors
- Why the US government is not the savior Intel needs
- Libby’s library app adds an AI discovery feature, and not everyone is thrilled
- Meta to spend tens of millions on pro-AI super PAC
- DOGE uploaded live copy of Social Security database to ‘vulnerable’ cloud server, says whistleblower
- Not so fast: German court says Apple can’t call Watch carbon neutral
- The wait is almost over: The 2025 Startup Battlefield 200 list drops tomorrow
- Apple is holding its iPhone 17 event on September 9
- After falling behind in generative AI, IBM and AMD look to quantum for an edge
- Google Translate takes on Duolingo with new language learning tools
- YouTube’s ‘Hype’ feature that boosts smaller creators launches globally
- How one AI startup is helping rice farmers battle climate change
- iPhone 17, the ‘thinnest iPhone ever,’ and everything else we’re expecting out of Apple’s hardware event
- Parents sue OpenAI over ChatGPT’s role in son’s suicide
- [ TODAY ] Microsoft hosts emergency press conference after protesters ‘storm a building’
- Microsoft locks down a building after protesters get inside president’s office
- Here are 30 of our favorite deals from REI’s ongoing Labor Day sale
- Anthropic settles AI book piracy lawsuit
- Looks like nuclear fusion is picking up steam
- KPop Demon Hunters is Netflix’s most popular movie of all time
- AI super PACs, the hottest investment in tech
- The winners and losers of Taylor Swift’s engagement announcement
- Framework is working on a giant haptic touchpad, Trackpoint nub, and eGPU for its laptops
- CRKD’s $99 Peak Design clone is great for handhelds
- Claude for Chrome
- Michigan Supreme Court: Unrestricted phone searches violate Fourth Amendment
- We regret but have to temporary suspend the shipments to USA
- Gemini 2.5 Flash Image
- Google will allow only apps from verified developers to be installed on Android
- Building the mouse Logitech won't make
- Show HN: Base, an SQLite database editor for macOS
- What are OKLCH colors?
- Ban me at the IP level if you don't like me
- Comet AI browser can get prompt injected from any site, drain your bank account
- A German ISP changed their DNS to block my website
- A visual introduction to big O notation
- How to build a coding agent
- What makes Claude Code so damn good
- Line scan camera image processing for train photography
- Manim: Animation engine for explanatory math videos
- U.S. government takes 10% stake in Intel
- Waymo granted permit to begin testing in New York City
- FFmpeg 8.0
- Go is still not good
- Io_uring, kTLS and Rust for zero syscall HTTPS server
- DeepSeek-v3.1
- AI tooling must be disclosed for contributions
- AWS CEO says using AI to replace junior staff is 'Dumbest thing I've ever heard'
- Weaponizing image scaling against production AI systems
- Mark Zuckerberg freezes AI hiring amid bubble fears
- Zedless: Zed fork focused on privacy and being local-first
- Pixel 10 Phones
- Home Depot sued for 'secretly' using facial recognition at self-checkouts
- Why are anime catgirls blocking my access to the Linux kernel?
- Hacker News Daily Top 30 @2025-08-25
- Hacker News Daily Top 30 @2025-08-24
- Hacker News Daily Top 30 @2025-08-23
- Hacker News Daily Top 30 @2025-08-22
- Hacker News Daily Top 30 @2025-08-21
- Hacker News Daily Top 30 @2025-08-20
- Hacker News Daily Top 30 @2025-08-19
- Hacker News Daily Top 30 @2025-08-18
- Hacker News Daily Top 30 @2025-08-16
- Hacker News Daily Top 30 @2025-08-15
- Hacker News Daily Top 30 @2025-08-14
- Hacker News Daily Top 30 @2025-08-13
- Hacker News Daily Top 30 @2025-08-12
- Hacker News Daily Top 30 @2025-08-11
- Hacker News Daily Top 30 @2025-08-10
- Hacker News Daily Top 30 @2025-08-09
- Hacker News Daily Top 30 @2025-08-08
- Hacker News Daily Top 30 @2025-08-07
- Hacker News Daily Top 30 @2025-08-06
- Hacker News Daily Top 30 @2025-08-05
- Hacker News Daily Top 30 @2025-08-04
- Hacker News Daily Top 30 @2025-08-03
- Hacker News Daily Top 30 @2025-08-02
- Hacker News Daily Top 30 @2025-08-01
- Hacker News Daily Top 30 @2025-07-31
- Hacker News Daily Top 30 @2025-07-30
- Hacker News Daily Top 30 @2025-07-29
- Hacker News Daily Top 30 @2025-07-28
- Hacker News Daily Top 30 @2025-07-27
- Hacker News Daily Top 30 @2025-07-26
- How Developers Can Use Tracing in the UI to Add Backend-style Observability
- What is Generative Engine Optimization (GEO)?
- Redux without React — State Management in Vanilla JavaScript
- Why It Took Us Seven Years to Find Product Market Fit
- How to Engineer for Explainability: When a Black-Box is Just not Enough
- Why Web Hosting & Domain Registrars Should Offer DMARC as a Service
- Tailwind CSS vs. Bootstrap: Which Framework Is Right for Your Next Project?
- Behind Insurify: How One Insurance Marketplace Handles 400+ API Integrations and Real-Time Quotes at Scale
- Best Payment Gateway for Subscriptions & Recurring Payment: 2025
- Empowering Developers and Fueling AI Adoption with AmpereOne Design Innovations
- Top Picks for the Best CPP Compiler: Enhance Your Coding Experience
- Hardening Node.js Apps in Production: 8 Layers of Practical Security
- 5 Best AI Companion Apps: From Learning Tools to "AI Girlfriends"
- Design Systems in 2025: Why They're the Blueprint for Consistent UX
- Can AI Replace Web Developers: A Practical Look at Current Tools and Limitations
- Don’t Choose the Wrong Web Team — Here’s Why It Matters
- Angular Signals: A New Mental Model for Reactivity, Not Just a New API
- White-Label Payment Gateway: Your Guide to Payment Solutions
- Understanding Memory Page Sizes on Arm64
- Gemini in Google Workspace: Your New AI-Powered Collaborator
- Droip Review: Why You Should Choose Droip Over Traditional WordPress Page Builders in 2025
- 5 Best Payment Gateways for SaaS: Your Ultimate Guide
- Unleashing the Power of ArgoCD by Streamlining Kubernetes Deployments
- How OpenTelemetry Improved Its Code Integrity for Arm64 by Working With Ampere
- Red Flags in Social Media: How Developers Can Benefit From Online Behavior Analysis
- Cost Effective Reseller Platforms for Buying SSL Certificates
- Best Semrush Alternatives (2025 Edition)
- Best Ahrefs Alternatives Guide: 10 Tools To Choose From
- The Developer’s Shortcut To Your Udemy-like Platform
- Best Crypto Payment Gateway for High Risk
- Why WordPress Scalability Starts with Smart Site Structure from Day One
- How to Build Scalable Web Apps with React JS
- Best Crypto Payments Gateways in 2025
- The Ampere Porting Advisor Tutorial
- The Basics of Node.js Streams
- Why Your Automation Needs AI Decision-Making (And How Wordware Delivers)
- CNCF Triggers a Platform Parity Breakthrough for Arm64 and x86
- How AI is Changing Motion Design (And What It Can’t Do Yet)
- Benefits of Custom Telecommunication Software
- Node.js Streams with TypeScript
- 5+ WordPress Plugins for Developers To Use in 2025
- Top 21 Developer Newsletters to Subscribe To in 2025
- Serverless Image Processing Pipeline with AWS ECS and Lambda
- How To Begin A WordPress Blog: A Step-By-Step Guide For Beginners
- Top 9 WordPress Themes To Use in 2025
- CNCF Arm64 Pilot: Impact and Insights
- How to Build a Multi-Tenant SaaS Application with Next.js (Frontend Integration)
- Building a Multi-Tenant SaaS Application with Next.js (Backend Integration)
- Why Spreadsheets Need Better Coding Support
- Building a Network Vulnerability Scanner with Go
- 14 Best SEO Tools for Agencies to Boost Client Results in 2025
- The Best Free Backlink Checker Tools: Overview and Comparison
- The 10+ Best AI & Pro Web Design Tools for 2025
- Making a Browser Based Game With Vanilla JS and CSS
- Prompt Engineering for Web Development
- 10 Best AI Code Review Tools and How They Work
- AI-Assisted Coding for iOS Development: CursorAI and Upcoming Swift Assist
- Meeting European Accessibility Act (EAA) Standards: A Developer’s Checklist
- 10 Common Web Development Mistakes to Avoid Right Now
- Best Payment Gateways in France for 2025
- Random Forest Algorithm in Machine Learning
- What Is Cloud Computing?
- Collections in Java
- ZEISS Demonstrates the Power of Scalable Workflows with Ampere Altra and SpinKube
- SQL Commands: The List of Basic SQL Language Commands
- What is TCP/IP Model and How Does The Protocol Work
- Data Structures and Algorithms (DSA): A Complete Tutorial
- A beginner’s guide to Retrieval-Augmented Generation (RAG)
- Control Statements in C: A Comprehensive Guide
- How Game Developers Detect and Prevent Modding and Scripting
- How to Conduct Accessibility Testing with Screen Readers
- How Amazon Q is emerging as no-code serverless Gen AI virtual assistant
- How to Apply CSS3 Transforms to Background Images
- How to Set Up Basic jQuery Form Validation in Two Minutes
- Bootstrap Card Component: a Complete Introduction
- How to Set Up the New Google Auth in a React and Express App
- How To Use jQuery’s Ajax() Function for Asynchronous HTTP Requests
- Best AI Programming Languages
- Best Programming Languages for Game Development
- How to Send Email with Django Using SMTP Server
- How to Use JSON Data Fields in MySQL Databases
- How Business Automation Can Be Affordable for Small Businesses
- Developer Guide: How to Implement Passkeys
- Accessibility Best Practices for Single Page Applications (SPAs)
- Fine-Tuning an Open-Source LLM with Axolotl Using Direct Preference Optimization (DPO)
- Does Claim Management Work with AI Automation?
- Video Recaps of Ampere’s 2024 Developer Summit
- The CSS Reset Contradiction
- The Developer’s Guide to AI Chatbot Authorization
- Tips for Freelancers Looking to Maximize Passive Income Streams
- A Deep Dive into Building Enterprise grade Generative AI Solutions
- LocalXpose: The Most Useful Tool for Developers to Share Localhost Online
- 8 AI Tips for Web Developers (and Their Careers)
- How to Make a Simple JavaScript Quiz
- Best React UI Component Libraries
- Windows Subsystem for Linux 2 (WSL2): The Complete Tutorial for Windows 10 & 11
- Automating Vultr Cloud Infrastructure with Terraform
- Advanced Web Deployment With Plesk on Vultr
- Building A 300 Channel Video Encoding Server
- Five Ways to Lazy Load Images for Better Website Performance
- Rediscovering joy in learning: Jason Lengstorf on the state of development
- Safeguarding VS Code against prompt injections
- Building your first MCP server: How to extend AI tools with custom capabilities
- Explore the best of GitHub Universe: 9 spaces built to spark creativity, connection, and joy
- Who will maintain the future? Rethinking open source leadership for a new generation
- Agents panel: Launch Copilot coding agent tasks anywhere on GitHub
- Highlights from Git 2.51
- GPT-5 in GitHub Copilot: How I built a game in 60 seconds
- Q1 2025 Innovation Graph update: Bar chart races, data visualization on the rise, and key research
- GitHub Availability Report: July 2025
- Introducing auto-triage rules for Dependabot
- GitHub Availability Report: August 2023
- Apply now for GitHub Universe 2023 micro-mentoring
- CodeQL team uses AI to power vulnerability detection in code
- How to build an enterprise LLM application: Lessons from GitHub Copilot
- Getting started with edge computing
- Optimizing PWAs For Different Display Modes
- A Week In The Life Of An AI-Augmented Designer
- The Double-Edged Sustainability Sword Of AI In Web Design
- Beyond The Hype: What AI Can Really Do For Product Design
- The Psychology Of Color In UX And Digital Products
- From Line To Layout: How Past Experiences Shape Your Design Career
- Designing With AI, Not Around It: Practical Advanced Techniques For Product Design Use Cases
-
The Power Of The
Intl
API: A Definitive Guide To Browser-Native Internationalization - Automating Design Systems: Tips And Resources For Getting Started
- UX Job Interview Helpers
- Stories Of August (2025 Wallpapers Edition)
- The Core Model: Start FROM The Answer, Not WITH The Solution
- Web Components: Working With Shadow DOM
- Designing Better UX For Left-Handed People
- Handling JavaScript Event Listeners With Parameters
- Why Non-Native Content Designers Improve Global UX
- Tiny Screens, Big Impact: The Forgotten Art Of Developing Web Apps For Feature Phones
- Design Patterns For AI Interfaces
- Unmasking The Magic: The Wizard Of Oz Method For UX Research
- Droip: The Modern Website Builder WordPress Needed
- Design Guidelines For Better Notifications UX
- CSS Intelligence: Speculating On The Future Of A Smarter Language
- Turning User Research Into Real Organizational Change
- Never Stop Exploring (July 2025 Wallpapers Edition)
- Can Good UX Protect Older Users From Digital Scams?
-
Decoding The SVG
path
Element: Curve And Arc Commands - Meet Accessible UX Research, A Brand-New Smashing Book
- CSS Cascade Layers Vs. BEM Vs. Utility Classes: Specificity Control
- What I Wish Someone Told Me When I Was Getting Into ARIA
- Creating The “Moving Highlight” Navigation Bar With JavaScript And CSS
-
Decoding The SVG
path
Element: Line Commands - Collaboration: The Most Underrated UX Skill No One Talks About
- Smashing Animations Part 4: Optimising SVGs
- Why Designers Get Stuck In The Details And How To Stop
- Designing For Neurodiversity
- Prelude To Summer (June 2025 Wallpapers Edition)
- Reliably Detecting Third-Party Cookie Blocking In 2025
- Data Vs. Findings Vs. Insights In UX
- What Zen And The Art Of Motorcycle Maintenance Can Teach Us About Web Design
- Smashing Animations Part 3: SMIL’s Not Dead Baby, SMIL’s Not Dead
- Designer Spotlight: Andrés Briganti
- Developer Spotlight: Ruud Luijten
- Exporting a Cloth Simulation from Blender to an Interactive Three.js Scene
- Designer Spotlight: Clarisse Michard
- Setting the Stage: Inside the Process of Bringing Christian Fleming’s Work to Life in Print, Web, and 3D
- Building a Blended Material Shader in WebGL with Solid.js
- Designer Spotlight: Julie Marting
- Building Aether 1: Sound Without Boundaries
- Wish You Were Here – Win a Free Ticket to Penpot Fest 2025!
- Quality Over Speed: A Case for Perfectionism
- Benchmarking Storage Performance (Latency, Throughput) Using Python
- From Simple Lookups to Agentic Reasoning: The Rise of Smart RAG Systems
- Building AI-Driven Anomaly Detection Model to Secure Industrial Automation
- Oracle Standard Edition vs PostgreSQL (Open Source): Performance Benchmarking for Cost-Conscious Teams
- A Comparative Analysis of GitHub Copilot and Copilot Agent: Architectures, Capabilities, and Impact in Software Development
- Java 21 Virtual Threads vs Cached and Fixed Threads
- Zero-Latency Data Analytics for Modern PostgreSQL Applications
- The Benefits of AI Micromanagement
- Pulumi: Modern Infrastructure as Code With Real Programming Languages
- How to Implement Kill Switch Feature Flags in a Spring Boot Application
- Transforming Data into Decisions: Crafting Generative AI That Delivers Accurate Intelligence
- Debugging Distributed ML Systems
- A Beginner’s Guide to Hyperparameter Tuning: From Theory to Practice
- AI Data Security: Core Concepts, Risks, and Proven Practices
- Agent-to-Agent Protocol: Implementation and Architecture With Strands Agents
- Modernizing Chaos Engineering: The Shift From Traditional to Event-Driven
- The Ephemeral Cloud: A New Blueprint for Infrastructure Efficiency With Crossplane and kube-green
- Building a 3D WebXR Game with WASI Cycles: Integrating WasmEdge, Wasmtime, and Wasmer to Invoke MongoDB, Kafka, and Oracle
- Orchestrating Complex Workflows With XState
- Toward Explainable AI (Part 2): Bridging Theory and Practice—The Two Major Categories of Explainable AI Techniques
- Certificate Authorities: The Keystone of Digital Trust
- From History to the Future of AI Communication—IPC to MCP and A2A
- SHAP-Based Explainable AI (XAI) Integration With .Net Application
- Real-Time Model Inference With Apache Kafka and Flink for Predictive AI and GenAI
- Data Lake, Warehouse, or Lakehouse? Rethinking the Future of Data Architecture
- A Deep Dive into Behavior-Driven Development
- Python Async/Sync: Advanced Blocking Detection and Best Practices (Part 2)
- Data Storage: The Foundation for Scalable Analytics
- How to Create Ansible Users and Add Passwords
- Toward Explainable AI (Part I): Bridging Theory and Practice—Why AI Needs to Be Explainable
- Stop Killing Frameworks and Languages
- The MCP Revolution: Transforming Agents with MCP
- Permissioned vs Permissionless Blockchains: Lessons from Ethereum and Hyperledger
- Can linkedSignal Use Multiple Sources? Yes, Here’s How!
- What Senior Developers Actually Do: 3 Surprisingly Simple But Crucial Tasks
- Using ArgoCD ApplicationSet to deploy to multiple clusters
- Balancing LeBlanc’s Law with the Minimum Viable Product Approach
- HTMX Made Me Like the Web Again
- C’s treatment of void * is not broken
- Scaling multi-tenant Go applications
- [ TODAY ] Preparing for your upcoming System Design interview? This guide will get you hired.
- [ TODAY ] Automating Complex Workflows with N8n: A Practical Guide for Regular Users
- [ TODAY ] Google’s Secret Sauce: Privacy-Safe AI That Amplifies Rare Signals
- [ TODAY ] Hands-On with MongoDB: Storing, Querying, and Analyzing Data
- [ TODAY ] Building Chrome Dinosaur Game in Pygame (Part 0: Intro & Setup)
- [ TODAY ] Building AI Agents with Haystack and Gaia Node: A Practical Guide
- [ TODAY ] Vibe Coding Is Going Mainstream—But Token Costs Still Gate Who Gets to Join
- [ TODAY ] I quit my job to build my own startup
- [ TODAY ] Getting Started with the Emscripten File System
- [ TODAY ] 🚀 Laravel Request Lifecycle Explained (Beginner-Friendly Guide)
- [ TODAY ] Six bets on web development in the era of AI
- [ TODAY ] 🔥 LeetCode 3459 — Length of Longest V-Shaped Diagonal Segment (C++, Python, Java, JavaScript, Go & C#)
- DigitalOcean MCP Server is now available
- Stop Building SaaS from Scratch: Meet the SeaNotes Starter Kit
- Announcing OpenAI gpt-oss Models on the DigitalOcean Gradient™ AI Platform
- Introducing langchain-gradient: Seamless LangChain Integration with DigitalOcean Gradient™ AI Platform
- Build smarter AI agents: new tools now available for the DigitalOcean Gradient™ AI Platform
- Introducing GPU Droplets accelerated by NVIDIA HGX H200
- Sharks of DigitalOcean: Darian Wilkin, Senior Manager, Solutions Engineering
- Now Live: GPT-5 on the DigitalOcean Gradient™ AI Platform
- Innovating DigitalOcean Managed Databases: Our H1 Progress and Improvements
- Four Powerful, New Features to Help You Build and Deploy More Efficient Apps On DigitalOcean Kubernetes
- Introducing ERNIE 4.5-21B-A3B-Base
- Elevate Your AI Workloads: AMD Instinct™ MI325X GPU Droplets are Now Available on DigitalOcean
- Powered by DigitalOcean Hatch: Why Uxify’s Founders Always Choose DigitalOcean
- Sharks of DigitalOcean: Laura Schaffer, VP, Growth
- What's New on DigitalOcean Gradient™ AI Platform
- Introducing Gradient: DigitalOcean’s Unified AI Cloud
- DigitalOcean Gradient Platform is now Generally Available
- Introducing Kafka Schema Registry for DigitalOcean Managed Kafka
- Expanding DigitalOcean’s Role-Based Access Controls with custom roles
- More resilient, flexible networking for the cloud workloads that matter
- See More, Worry Less: Managed Database Observability, Monitoring, and Hardening Advancements
- New Spaces features make it easier to stay secure, compliant, and in control
- Introducing AMD Instinct™ MI300X GPU Droplets
- Choosing the Right GPU Droplet for your AI/ML Workload
- Introducing Serverless Inference on the GenAI Platform
- Sharks of DigitalOcean: Ali Munir, Staff Technical Account Manager
- Introducing ATL1: DigitalOcean’s new AI-optimized data center in Atlanta
- Agentic Cloud: Reinventing the Cloud with AI Agents
- How to optimize your cloud architecture for business growth
- Expanding our GPU Droplet portfolio - NVIDIA RTX 4000 Ada Generation, NVIDIA RTX 6000 Ada Generation, and NVIDIA L40S
- Powered by DigitalOcean Hatch: Ontra Mobility is Building Smarter Cities
- Introducing Role-Based Access Control to DigitalOcean Managed MongoDB with Predefined Roles
- Sharks of DigitalOcean: Jason Dobry, Staff IT Project Specialist
- AI agent development just got easier on GenAI Platform
- Introducing DigitalOcean Managed Caching for Valkey, The New Evolution of Managed Caching
- DigitalOcean Customers Eligible to Process DORA Workloads
- Smarter Knowledge Bases for Smarter AI Agents
- Meet our new AI-powered product documentation chatbot
- What's New on the GenAI Platform
- Expanding the GenAI Platform: Now supporting OpenAI models
- Announcing enhancements to per-bucket access keys and public preview of Spaces access logs
- Sharks of DigitalOcean: Makeissah Robinson, Senior Director, Customer Support
- Introducing DigitalOcean Partner Network Connect: Secure, High-Performance Multi-Cloud Connectivity
- Introducing AMD Instinct MI300X GPUs to the DigitalOcean Bare Metal fleet
- The Next Evolution of DigitalOcean Kubernetes: Introducing Features that Unlock Superior Scalability for Growing Businesses
- Powering AI Innovation: DigitalOcean Bare Metal GPUs in EU Data Center
- Scale into the stratosphere: Managed MySQL & PostgreSQL now support up to 20TB and 30TB
- GPU Droplets Achieve SOC 2 Compliance
- DigitalOcean Managed MongoDB now supports MongoDB 8.0
- Introducing a Managed Component for Maintaining Host Routes in Kubernetes
- Powered by DigitalOcean Hatch: How Ex-human uses GPU Droplets to Build Empathetic AI that Serves Customers
- Scale smarter with DigitalOcean's latest networking upgrades
- Sharks of DigitalOcean: Apple Li, Director of Financial Planning and Analysis (FP&A)
- Introducing Bare Metal Systems Built on NVIDIA HGX H200
- Introducing Bitbucket Integration for App Platform
- PostgreSQL 17 is now Available for DigitalOcean Managed PostgreSQL
- Anthropic and DeepSeek Join the GenAI Platform Model Library
- Currents Report: How Growing Tech Businesses Use AI Today
- Sharks of DigitalOcean: Vasily Prokopov, Staff Solutions Engineer
- Deploy DeepSeek AI Models Instantly on DigitalOcean GPU Droplets
- DigitalOcean VPC Peering: A Technical Deep Dive
- Introducing the GenAI Platform: Simplifying AI Development for All
- Per-Bucket Access Keys Now Available for DigitalOcean Spaces
- Diving into a new year at DigitalOcean
- 2024: A year of transformational change for DigitalOcean
- Introducing Droplet Autoscale Pools: Seamless Scaling for Your Workloads
- DigitalOcean Now Offers Alipay as a Payment Method for Cloud Computing Services
- Join Us at Deploy 2025: Scale with Simplicity
- DigitalOcean Internal Load Balancer (ILB) is now Generally Available
- Streamline your Kubernetes networking with VPC-native clusters
- DigitalOcean VPC Peering is Now Generally Available (GA), with More Updates to Enhance the Networking Experience
- DigitalOcean Hatch: Accelerate your AI/ML startup with exclusive GPU offerings and benefits
- Managing Kubernetes at scale with DigitalOcean
- Choosing the Right DigitalOcean Offering for Your AI/ML Workload
- DigitalOcean Bare Metal GPUs: Dedicated GPU machines for advanced AI workloads
- Introducing Maintenance Mode and Restart Apps for DigitalOcean App Platform
- VPC: Behind The Scenes
- DigitalOcean Expands New York Footprint: NYC2 Data Center Reopens to New Customers
- Introducing Scalable Storage for DigitalOcean’s Managed MongoDB
- DigitalOcean Kubernetes (DOKS) Networking, Reimagined
- Introducing support for HTTP/2 and gRPC on DigitalOcean App Platform
- Log Forwarding is Now Available for DigitalOcean Kubernetes (DOKS)
- Announcing 1-Click Models powered by Hugging Face on DigitalOcean
- Inside a container registry: The mechanics of push and pull
- Introducing Early Access to DigitalOcean VPC Peering: Seamlessly Connect Your Private Workloads Across Regions
- Announcing early access to DigitalOcean Internal Load Balancer: Scale your private workloads with ease
- Optimizing your container registry: Understanding garbage collection in DOCR
- DigitalOcean Spaces Object Storage Now in Toronto
- Hacktoberfest 2024: How to Participate
- Introducing New 48vCPU and 60vCPU Optimized Premium Droplets on DigitalOcean
- DigitalOcean and ProxySQL LLC Collaborate to Bring PROXY Protocol Support to ProxySQL
- H100 GPU-enabled worker nodes are now available for DigitalOcean Kubernetes (DOKS)
- How startups scale on DigitalOcean Kubernetes: Best Practices Part VI - Security
- How DigitalOcean Uses Semgrep to Fortify Security: A Highlight From Our Toolset
- DigitalOcean Monthly Partnership Roundup August and September, 2024
- Introducing the DigitalOcean Netlify Extension
- Join us this Hacktoberfest
- DigitalOcean GPU Droplets, scalable computing power on demand
- Introducing new GitHub Actions for App Platform
- Introducing Global Load Balancer: Optimize Your Global HTTP Traffic with Simplicity and Scale
- New zine: The Secret Rules of the Terminal
- Using `make` to compile C programs (for non-C-programmers)
- Standards for ANSI escape codes
- How to add a directory to your PATH
- Some terminal frustrations
- What's involved in getting a "modern" terminal setup?
- "Rules" that terminal programs follow
- Why pipes sometimes get "stuck": buffering
- Importing a frontend Javascript library without a build system
- New microblog with TILs
- ASCII control characters in my terminal
- Using less memory to look up IP addresses in Mess With DNS
- Some notes on upgrading Hugo
- Terminal colours are tricky
- Some Go web dev notes
- Reasons I still love the fish shell
- Exploring System Architecture for DevOps Engineers
- Why KubeCon India 2025 Meant More to KodeKloud
- Linux: List Disks
- Linux: "cat" Command
- Linux Made Easy for DevOps Beginners
- From CFP to Stage: Win Your Tech Talk Slot
- MCP Explained Simply: How AI Can Actually Do Things Now
- Still Not Job-Ready After Learning DevOps?
- What Is Kubernetes? Finally, a Simple Explanation!
- Cloud Computing And DevOps: What You Need to Know
- Quick Fixes for Common Kubernetes Issues
- Linux: Create, or Remove User
- Lost in Internal Tooling? Backstage Is Your Map.
- Linux: Add User to Sudoers
- Agent2Agent(A2A) Protocol: A Friendly Guide to the Future of AI Communication
- Twitter, LinkedIn, and Failing in Public
- I Walked Across Spain
- Thoughtful Professional Writing
- Transactionalism vs Respect
- Hammers and Nailguns
- Python Support is Socially Complex
- Cloud Computing is Broken
- Venting and Constructive Communication
- SatCamp Retrospective
- How I Almost Quit My Job, and How Being Selfish Saved Me
- What Does Pangeo 2.0 Look Like?
- Usage Based Pricing
- Unexpected user timezone on Ubuntu
- Cisco Secure Client: Unable to modify IP forwarding table
- CI pipelines with Woodpecker
- Reset mysql root password
- Ripping DVDs on Linux in 2024
- Disabling daily Fedora auto reboots
- Updating a dynamic hostname with Go
- Service discovery urls for Nextcloud with an Nginx reverse proxy
- 413 HTTP error for Nextcloud installation
- Set up wireguard connection on Ubuntu to FritzBox
- Prevent newsletter signup spam
- Introducing CypherGoat - The first open source crypto exchange aggregator
- Deploying Go + Templ + HTMX + TailwindCSS to production
- Simple Rate Limiting in Go (Gin)
- If Linux is so great why isn't everyone using it?
- How to build a URL shortener in Go
- How to deploy django to production
- How to setup a selfhosted newsletter using listmonk
- Selfhost your own gitea instance - selfhosted, lightweight github alternative
- How to Improve Go API request performance
- Why the Fullscreen API Can Improve Your Website’s UX
- Slim Down Your React Code with the useEventListener Hook
- Lazy Loading React Components Without Sacrificing Type Safety
- 10 Refactoring Techniques for Writing Maintainable Code
- Type Safety with io-ts: Encoding and Decoding Data in JavaScript
- Wicked Backgrounds
- Meshed up!
- Introducing React v18 with real-world examples
- How to Use the useViewport Hook in React
- Filtering Object Properties in JavaScript
- Reflecting on your year
- Improving your communication skills as a software developer
- How to improve your coding skills daily
- What is Code Coverage?
- What is manual testing?
- What is unit testing?
- What is Test-Driven Development (TDD)?
- Podcasts for new software developers
- Understand your company's product
- Feedback is a gift
- Compressing Icelandic name declension patterns into a 3.27 kB trie
- A flowing WebGL gradient, deconstructed
- Sharing changes, visuals first
- Searching for and navigating Git commits
- JSDoc as an alternative TypeScript syntax
- The web’s clipboard, and how it stores data of different types
- 2024 Icelandic Developer Survey: Compensation, Technologies, and more
- Introducing Arkio’s Pin Tool
- Planes in 3D space
- Iterating over Bit Sets quickly
- [ TODAY ] Opening a Details Element from the URL
- Very Early Playing with random() in CSS
- Quick Dark Mode Toggles
- You really don’t have to put your CSS custom properties in :root {}
- Obsessing Over Smooth radial-gradient() Disc Edges
- What is popover=hint?
- Web Design: What is the web capable of that is hard to express in design software?
- Mingcute
- Stretch
- A Nice Vanilla App Architecture Using Web Components and CSS Module Scripts
- The Lie You Are Being Told About AI and Junior Developers
- The C# Mistake You're Probably Making with Memory
-
Don't Buffer, Stream! How IAsyncEnumerable
Solves API Performance Issues - Most Unit Tests Are a Waste of Time, but You Need to Write Them Anyway
- Snap Unsnapped: Why Ubuntu's Packaging Isn't the Universal Dream You Were Promised
- Why Leetcode Style Interview Tests Are Bullshit
- The Darker Side of Tech Layoffs (it's darker than it seems)
- AI is Making Developers Lazy: RIP Core Coding Skills
- The Optimisation Lie: Why Your 'Optimised' Code Might Still Be Slow
- The Dirty Secret of Clean Code: When Breaking Programming Principles Makes You a Better Developer
- AI Is Smart Because You Are Stupid
- .NET Aspire - Microsoft's Attempt at Infrastructure as Code
- Understanding Garbage Collection - How the dotnet Garbage Collector Works
- Why C# Developers Should Also Learn Rust, and What It Can Teach Them
- Why Frontend Software Development Is Needlessly Complex, When It Does Not Need to Be
- Linux Is NOT the Developers Paradise You Have Been Told It Is
- Why Do Open Source Applications Often Have Less Polished UIs Than Commercial Software
- My Top 6 Productivity Tools as C# Developer
- Why C# Should Be Your First Language and is the Best Programming Language for Beginners
- How To: Create a Basic GraphQL API with dotnet in C#
- SOLID Design Principles Rust (with examples)
- Why Rust and Its Memory Safety Lulls Developers Into a False Sense of Security, Leading to More Serious Bugs
- Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 100
- Why Copilot is Making Programmers Worse at Programming
- Five Reasons Visual Studio is Better than Rider
- Five Reasons Rider is Better than Visual Studio
- The Single Best and Worst Things About Popular Programming Languages
- How to Use Cloudflare Browser Rendering to generate PDFs with Laravel at Scale
- How to Integrate multiple external data sources in Laravel with DTOs
- Laravel Cloud vs Forge: A detailed comparison
- Laravel for Beginners: Using Laravel Spark with Stripe and Paddle
- How we maintain enterprise Statamic sites
- Why do we use Astro?
- Laravel Typesafe AI responses with Prism and DTOs
- Laravel Sanctum: API Token Authentication with Postman or Insomnia
- Laravel Sanctum: Cookie based Session Authentication with Postman or Insomnia
- Laravel for Beginners: Differences of using Policies vs Roles and Permissions
- Building Type-Safe Inertia Apps with React and TypeScript
- Laravel for Beginners: Roles and Permissions with a Spatie package
- Laravel for Beginners: Using Policies for Authorization
- Laravel for Beginners: Using Custom and Built-in Commands
- Astro.js vs Jekyll: A Detailed Comparison
- Astro.js vs Nuxt: Comparing modern web frameworks
- Astro.js vs Next.js: A Comparison for Modern Web Development
- How to Use Microsoft OAuth2 with Laravel Socialite for User Authentication
- How to Use Google OAuth2 with Laravel Socialite for User Authentication
- React Native Breeze: A Laravel Inspired Starter Kit for Mobile App Development
- Laravel for Beginners: Using PHP Helper functions
- When to use Client Components in React and Next.js?
- How to Create a Chrome Extension with React, TypeScript, TailwindCSS, and Vite
- Finding the best Laravel tutorial guide for Beginners
- Laravel guide for Next.js developers
- Create React App Alternative with Vite
- Creating a Reusable Button Component with React, TypeScript, and Tailwind CSS
- Hiring Expert Laravel Developers
- Where to Find Laravel Developers?
- Laravel for Beginners: CSRF Protection
- Laravel guide for React developers
- Laravel for Beginners: API Routes with Laravel Sanctum
- Laravel for Beginners: API Resources
- Hiring Expert Next.js Developers
- Where to Find Next.js Developers?
- Why do we use React Native?
- Comparing Laravel and .NET
- Hiring Expert React Developers
- Next.js 15: An early look and release date
- Where to Find React Developers?
- React 19: An early look and release date
- Pair programming
- Yes it's like spinning plates
- HTMX – Server Components without React
- Quick tips for distributed event-based systems
- Quick update on Scaling Fast, my next book
- These 3 alerts catch the most issues
- What makes a senior engineer
- A few more thoughts on mentoring
- Cursor background agents in Slack changed my workflow
- My mentoring philosophy
- TechLeadConf 2025 in September
- It's like surfing
- Why utils are bad, an example
- Why AI won't replace you
- 3 sticky insights from 3 eng management books
- Software architecture IS Conway's Law
- You're a business
- Common abstraction traps
- DRY – a common source of bad abstractions
- Why websites and webapps are different
- Stateless decision making
- Your interview is a sales call
- How do you find time for cleanup work
- Say no to abstract code
- re: The Industrialization of IT
- What to work on next?
- Always deploy at peak traffic
- 10 years in America
- The difference between a product and a project
- Sprint vs Shape Up vs Kanban
- Why sprints
- What I mean by "tests can be slop"
- AI writes good tests, actually
- Principles of high output engineering teams
- Talk to more users sooner
- What I learned from Inspired
- Depth takes time
- Code yourself out of the job
- I was wrong about databases
- *Why* the relational data model is so good
- A pattern for composable UI in Flask
- How *do* you break down a large project? INVEST
- How do you prioritize?
- Server-side React that renders as png, pdf, or interactive webapp
- Build the abstraction first
- What I learned from Accelerate
- Why you need a task queue
- Coaching AI to write your code
- The score takes care of itself
- Looking for beta readers
- Coming in Through the Back Door
- Navigating the Shadows
- Fighting over Crumbs
- Extra DRY with Literate Programming
- Lessons from Christmas Puzzles
- Strong Code Ownership
- Operation Liberate Programmer
- I Was Wrong About Scrum, Again
- Definition of Dumb
- Worker Autonomy: A Natural Law of Labor
- Participatory Capitalism
- Scrum’s Definition of Done Is Polishing Plates in a Burning Kitchen
- Bi-Weekly Notes
- Penny-Wise and Pound-Stupid
- The Libertarian Coder
- Bi-Weekly Notes
- Programmer Collaboration Styles
- Code Reviews, Not Code Approvals
- The Capitalist and the Engineer
- Why Code Authors Should Have the Final Say on Code Reviews
- React Query Selectors, Supercharged
- The Useless useCallback
- The Beauty of TanStack Router
- Concurrent Optimistic Updates in React Query
- My Open Source Origin Story
- 2024 in Review
- React Query - The Bad Parts
- Ref Callbacks, React 19 and the Compiler
- My Slow Retreat from Twitter
- React Query API Design - Lessons Learned
- Component Composition is great btw
- How Infinite Queries work
- How to Build Micro Frontends in React with Vite and Module Federation
- How to Build a Machine Learning System on Serverless Architecture
- How to Build an Advice Generator Chrome Extension with Manifest V3
- How WebGL and Three.js Power Interactive Online Stores
- How Bag of Words Works – The Foundation of Language Models
- From Hospital Janitor to Developer with Emmett Naughton [Podcast #185]
- How to Deploy a Kubernetes App on AWS EKS
- How to Automate Flutter Testing and Builds with GitHub Actions for Android and iOS
- Checkmate Patterns in Chess for Beginners
- How to Checkmate in Chess
- Rediscovering joy in learning: Jason Lengstorf on the state of development
- Safeguarding VS Code against prompt injections
- Building your first MCP server: How to extend AI tools with custom capabilities
- Explore the best of GitHub Universe: 9 spaces built to spark creativity, connection, and joy
- Who will maintain the future? Rethinking open source leadership for a new generation
- Agents panel: Launch Copilot coding agent tasks anywhere on GitHub
- Highlights from Git 2.51
- GPT-5 in GitHub Copilot: How I built a game in 60 seconds
- Q1 2025 Innovation Graph update: Bar chart races, data visualization on the rise, and key research
- GitHub Availability Report: July 2025
- 文字列を JavaScript モジュールとしてインポートする
- Import strings as JavaScript Modules
- import assertionsとJSON modulesまとめ
- Summary of import assertions and JSON modules
- AWS Lambda with Deno by AWS CDK
- AWS LambdaのカスタムランタイムでDenoを動かす
- dntでDeno-firstなデュアルモジュールを作る
- Create a Deno-first dual module with dnt
- TypeScriptで特定の文字列または全ての文字列を定義する
- Define a specific string or all strings in TypeScript
- Use Anubis to Firewall AI Scraping
- Use Local LLMs With Zed Dev Editor
- Testcontainers With Orbstack
- I Use Devbox and Direnv for Local Development Now
- Scheduled Deploys for Netlify Builds
- How to Set a Vite Proxy to Your Backend
- I Want to Like Helix, But...
- Working With C# on Macos M1 (Helix, Rider)
- Nextjs 13 With Prisma (MySQL) Planetscale and Vercel
- Update Gulp to Use ESM
- Three common interview practices I wish to see less of
- The frontend interview guide you've been missing
- Why async/await is more than just syntactic sugar
- Working with dates using Regex Named Capture Groups
- Detect JavaScript Memory Leaks with queryObjects
- When You Should Prefer Map Over Object In JavaScript
- Verify if a url links to an image (without relying on regex)
- A complete guide to check data types in JavaScript
- JSON and the stringification oddities in JavaScript
- Why you should include debugging in the interview process
- 9 Best ITSM Tools 2025: Features, Pros & How to Choose
- 5 Lead Finder Software Picks for Solo Entrepreneurs
- The 6 Best Cold Email Outreach Software Tools of 2025
- 7 Best Penetration Testing as a Service (PTaaS) Providers in 2025
- 7 Best EDI Software (Electronic Data Interchange Software)
- Why Broadcom Customers Are Switching Workload Automation Solutions: Support Challenges and Security Concerns
- Breaking Free from Broadcom’s Price Hikes: Finding Cost-Effective Workload Automation Alternatives
- How Software Testers Can Improve Focus and Reduce Workflow Disruptions
- The Expanding Role of Software Testers in Shaping Digital Experiences
- 6 Best Manufacturing IT Automation Software Solutions for SAP Production Planning in 2025
- Kubectl 101 to level 9000
- Down the SPIFFE Rabbit Hole: A KubeCon 2025 Adventure
- How AI Sabotages the Learning Curve of Junior Developers
- Uncle Bob’s Clean Code & The Clean Coder: From a junior’s point of view
- Spring I/O 2024 - Recap
- Automate note taking with this simple tool
- Moving from GitHub Pages to AWS Static Hosting to Enhance Our Security
- KubeCon + CloudNativeCon EU 2024
- The Imperfect Yet Crucial Role of Performance Testing
- Choosing Your Orchestrator: OpenTofu vs Terraform
- Lazy loading React components with React.lazy
- React Component Composition Explained
- Building a SaaS application from scratch
- Using setTimeout in React components (including hooks)
- How to use React's forwardRef function
- How to test Redux-connected React components
- React Context Examples
- How to use React Context with TypeScript
- Separation of concerns with React hooks
- JavaScript iterators and generators: A complete guide
- 17 Essential Digital Marketing Tools for 2025
- Data Privacy for Businesses Storing Client Data in the Cloud
- Create Central Authentication Server with OpenLDAP and NSLCD in Ubuntu
- Why Should You Use Datacenter Proxies for Streaming?
- What You Need to Know About Secure Access Service Edge
- The Future of Container Runtime Security: Trends and Technologies to Watch
- HPE iLO4 Command Line Interface (CLI) Guide and Cheatsheet with Examples
- How to check the lock status of any user account in Linux
- Install and Configure OpenLDAP on Ubuntu [Step-By-Step]
- User: Anonymous is not authorized to perform: execute-api:invoke on resource: How to fix this error
- Valid Intents Must Be Provided for the Client: Why It’s Important and How to Do It
- How to Fix the The Root Filesystem Requires a Manual fsck Error
- How to Fix the `sed unterminated s` Command
- SGX Disabled by BIOS on Acer: How to Enable It
- Connection Refused Error: [Errno 111] Connection Refused
- Temporary Failure in Name Resolution in WSL: Causes and Fixes
- ESLint no-empty-function: What it is and how to fix it
- How to Fix TypeError: unhashable type: ‘list’
- How to Look Up Values in a Pandas DataFrame from Another DataFrame
- Agentic AI: Beyond the Hype
- Agentic AI in DevOps: Exploring Use Cases for the CloudBees MCP
- CloudBees Unify Webinar Recap: The DevOps Solution That Works With Your Existing Tools
- The Smoke, Sanity, and Regression Testing Triad
- Seven Types of Regression Testing (and When to Use Them)
- Upcoming CloudBees CI UI Changes: What You Need to Know
- The Unify Buzz Intensifies
- Supercharge GitHub Actions with CloudBees: Enterprise DevOps Without Disruption
- Introducing the CloudBees MCP Server: Connecting the Missing Context Layer for Enterprise AI-Driven DevOps
- CloudBees Named to Inc’s 2025 Best Workplaces