- Better CSS Shapes Using shape() — Part 4: Close and Move
- The Gap Strikes Back: Now Stylable
- Using CSS Cascade Layers With Tailwind Utilities
- CSS Blob Recipes
- KelpUI
- Poking at the CSS if() Function a Little More: Conditional Color Theming
- Lightly Poking at the CSS if() Function in Chrome 137
- A Better API for the Intersection and Mutation Observers
- Color Everything in CSS
- CSS Color Functions
- How to Keep Up With New CSS Features
- A Better API for the Resize Observer
- Breaking Boundaries: Building a Tangram Puzzle With (S)CSS
- Creating an Auto-Closing Notification With an HTML Popover
- Better CSS Shapes Using shape() — Part 3: Curves
- 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)
- Styling Tables the Modern CSS Way
- Everybody’s Free (to Write Websites)
- 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?
- Designers, (Re)define Success First
- The Slow Implosion of WordPress: 2025 and the CMS That’s Losing Its Soul
- The 7 Stages of Pushing Pixels: From Hope to Existential Dread
- AI Didn’t Kill Web Design —Templates Did It First
- CLS Is the New Page Speed: Why Designers Need to Care More Than Developers
- Stop Using Hero Images! They’re Killing Your UX
- Dear Loading Spinner, We Need to Talk
- Reddit may soon ask: “Mind if I scan your eye?
- Sustainable Web Design: Saving the Planet or Just a Marketing Gimmick?
- Web Design Will Become the Art of Profiling the User
- Exciting New Tools for Designers, June 2025
- How Apple Quietly Brought Skeuomorphism Back to Life
- The Future of Gmail Isn’t an Inbox—It’s an Assistant That Writes Your Emails for You
- The Figma Fanboy: Designing with Passion, Judgment, and a Lot of Auto-Layouts
- The Art of Duolingo Notifications: The Subtle Manipulation of Language Learners
- Mastering Multimodal UX: Best Practices for Seamless User Interactions
- The Death of Web Design: Why Websites Will Soon Auto-Design Themselves
- This Website Curates the Best Social Proof on the Internet
- AI Agents for Designers, Developers, and UX Strategists: What You Need to Know Now
- 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
- Design Tokens + Atomic Design = ❤️
- Eject disk.
- Subatomic Update: Publishing & Adopting Design Token Systems!
- Design Better’s Experts in Residence Program
- Brad Frost: Design systems are about human relationships
- The Art of Conversation: Before You Begin
- Fancy Components
- MailChimp Brand Kit
- A season’s last frost
- Subatomic Update: Figma and Code Token Architecture Available!
- Open Up With Brad Frost: Episode 1 – Geoff Graham
- 20 Years
- Buy books even if you don’t end up reading them
- The Light in You — The Light in You
- Open Up, Episode 1: layoffs, purpose, and embracing your full self
- 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
- 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
- Cache Grab: How Much Are You Leaving on the Table?
- blocking=render: Why would you do that?!
- 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
- How to make a Link Aggregator in Obsidian
- Week Links №2: April 2025
- Don't let your voice be flattened by the über theme
- Enshittification as a matter of taste
- Tag, you're it
- Unnecessary
- I don't like sand
- The only way to know for sure... is to build a prototype
- Vibe Check №37
- On government efficiency
- 15 Minutes
- A story about pans
- 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
- 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
- Comparing design systems to find the best qualities
- 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
- Bulletproof web component loading
- How to automatically create a new release and publish to NPM whenever package.json is updated using a GitHub Action
- People who act like machines
- Web components don't need a constructor()
- Catching early DOM events in Playwright
- Testing custom events with Playwright
- Generating colors with the CSS oklch() function
- 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: Default Values Made Simple
- JavaScript's &&= Operator: Understanding Logical AND Assignment
- 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
- Minimum Viable Documentation
- You Can Choose to Be Someone Who's Competent in Many Things, or Unbelievably Good at One Thing
- Write Documentation Like a Journalist
- 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
- 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
- How to install Git on Linux (Ubuntu)
- The Git Cheat Sheet
- How to install Git on macOS
- How to Install Git on Windows
- Astro, when to use .astro or .ts files
- 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
- A Deep Dive into Solid Queue for Ruby on Rails
- Using SQL in Node.js with Sequelize
- Deploying Phoenix Applications with Kamal
- Performance and Stress Testing in Node.js
- How to Set Up Tracing for Elixir Apps Using AppSignal
- Ways to Optimize Your Code in Python
- Set Up Tracing for a Ruby on Rails Application in AppSignal
- An Introduction to Ecto for Elixir Monitoring with AppSignal
- What's New in Node.js 24
- Migrating A JavaScript Project from Prettier and ESLint to BiomeJS
- An Introduction to Solid Queue for Ruby on Rails
- AppSignal Closes $22 Million Growth Investment
- Using JWTs in Python Flask REST Framework
- How To Write Unit Tests in Node.js Using Mocha
- Pre-build a Secure Authentication Layer with Authentication Zero for Ruby on Rails
- 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)
- 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
- 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
- Configure a Custom Domain for AWS API Gateway
- 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 🔥
- 1 Simple Technique to Scale Microservices Architecture 🚀
- How Bluesky Works 🦋
- Get Better With System Design in 2025 🔥
- How Do AirTags Work
- How Shopify Handled 30TB per Minute With a Modular Monolith Architecture 🔥
- How Nginx Was Able to Support 1 Million Concurrent Connections on a Single Server ✨
- How Databases Keep Passwords Securely 🔒
- How Google Ads Was Able to Support 4.77 Billion Users With a SQL Database 🔥
- 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
- How to Give Your 2 Weeks Notice
- Turning 30: 5 Things My 20s Taught Me
- What LeetCode Interviews Should Be
- The Worst Part of Working at Google
- The One Thing Amazon Does Right
- Stop Feeling Dumb: The Myth of "Knowing Everything" in Software
- 3 Steps to Succeed at FAANG
- 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
- The Pragmatic Engineer: Cyber Monday Deals
- The Pragmatic Engineer in 2024
- Which IDEs do software engineers love, and why?
- Did Automattic commit open source theft?
- 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
- The one framework every engineer should know
- How I got 27 hours in a week by installing one tool
- 5 Frameworks To Master Communication And Influence As An Engineer
- 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 Architectural Decision-Making 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 Tech World With Milan Newsletter in 2024.
- Why do some engineering teams consistently outperform others?
- 15 Best Leadership Books
- How to deal with difficult conversations?
- 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 ] European VC breaks taboo by investing in pure defense tech from Ukraine’s war zones
- Rivian spinoff Also raises another $200M to build e-bikes and more
- LangChain is about to become a unicorn, sources say
- Grok is being antisemitic again and also the sky is blue
- Apple COO Jeff Williams to step down later this month
- US government confirms arrest of Chinese national accused of stealing COVID research and mass-hacking email servers
- GenAI as a shopping assistant set to explode during Prime Day sales
- SpaceX in talks to raise new funding at $400B valuation
- Mistral is reportedly in talks to raise $1B
- Activision took down Call of Duty game after PC players hacked, says source
- Gmail’s new ‘Manage subscriptions’ tool will help declutter your inbox
- OneText raises $4.5M from Y Combinator, Khosla to reinvent shopping by text
- In a blow to Google Cloud, Replit partners with Microsoft
- Teenagers can now hail a Waymo robotaxi in Phoenix
- ByteDance reportedly plans to release US-specific version of CapCut
- Bookshop.org mocks Jeff Bezos wedding invite in anti-Prime Day promo
- Thank you to the visionaries: Celebrating the partners behind TechCrunch All Stage
- The tech behind Rivian’s 2026 Quad Motor truck and SUV — and that kick turn
- Wayve CEO Alex Kendall brings the future of autonomous AI to TechCrunch Disrupt 2025
- The complete Side Events lineup at TechCrunch All Stage 2025
- [ TODAY ] The best laptop deals we’ve found for Prime Day (so far)
- [ TODAY ] The 203 best Prime Day 2025 deals that we found
- [ TODAY ] Here are 60 Prime Day deals you can nab for $50 or less
- [ TODAY ] The best Prime Day deals on charging accessories
- [ TODAY ] Some Verge-favorite gadgets are cheaper during Prime Day 2025
- [ TODAY ] The best Apple deals available for Amazon Prime Day 2025
- [ TODAY ] Grok stops posting text after flood of antisemitism and Hitler praise
- [ TODAY ] Some of our favorite headphones are steeply discounted for Prime Day
- Confirmed: Nintendo’s Switch 2 can work with existing docks and webcams after replacing their firmware
- The Prime Day sale on TCL’s 85-inch TV is one of the best deals out there
- Supabase MCP can leak your entire SQL database
- Open letter accuses BBC board member of having a conflict of interest on Gaza
- Adding a feature because ChatGPT incorrectly thinks it exists
- Mercury: Ultra-fast language models based on diffusion
- Bitchat – A decentralized messaging app that works over Bluetooth mesh networks
- Nobody has a personality anymore: we are products with labels
- I extracted the safety filters from Apple Intelligence models
- Jane Street barred from Indian markets as regulator freezes $566M
- Are we the baddies?
- Hidden interface controls that affect usability
- Local-first software (2019)
- Nvidia won, we all lost
- Being too ambitious is a clever form of self-sabotage
- The Rise of Whatever
- My open source project was relicensed by a YC company [license updated]
- Introducing tmux-rs
- Websites hosting major US climate reports taken down
- ICEBlock, an app for anonymously reporting ICE sightings, goes viral
- Exploiting the IKKO Activebuds “AI powered” earbuds (2024)
- Private sector lost 33k jobs, badly missing expectations of 100k increase
- Don’t use “click here” as link text (2001)
- Figma files for proposed IPO
- The Fed says this is a cube of $1M. They're off by half a million
- Cloudflare to introduce pay-per-crawl for AI bots
- Writing Code Was Never the Bottleneck
- The new skill in AI is not prompting, it's context engineering
- Xfinity using WiFi signals in your house to detect motion
- Proton joins suit against Apple for practices that harm developers and consumers
- I made my VM think it has a CPU fan
- More on Apple's Trust-Eroding 'F1 the Movie' Wallet Ad
- Hacker News Daily Top 30 @2025-07-07
- Hacker News Daily Top 30 @2025-07-06
- Hacker News Daily Top 30 @2025-07-05
- Hacker News Daily Top 30 @2025-07-04
- Hacker News Daily Top 30 @2025-07-03
- Hacker News Daily Top 30 @2025-07-02
- Hacker News Daily Top 30 @2025-07-01
- Hacker News Daily Top 30 @2025-06-30
- Hacker News Daily Top 30 @2025-06-29
- Hacker News Daily Top 30 @2025-06-28
- Hacker News Daily Top 30 @2025-06-27
- Hacker News Daily Top 30 @2025-06-26
- Hacker News Daily Top 30 @2025-06-25
- Hacker News Daily Top 30 @2025-06-24
- Hacker News Daily Top 30 @2025-06-23
- Hacker News Daily Top 30 @2025-06-22
- Hacker News Daily Top 30 @2025-06-21
- Hacker News Daily Top 30 @2025-06-20
- Hacker News Daily Top 30 @2025-06-19
- Hacker News Daily Top 30 @2025-06-18
- Hacker News Daily Top 30 @2025-06-17
- Hacker News Daily Top 30 @2025-06-16
- Hacker News Daily Top 30 @2025-06-15
- Hacker News Daily Top 30 @2025-06-14
- Hacker News Daily Top 30 @2025-06-13
- Hacker News Daily Top 30 @2025-06-12
- Hacker News Daily Top 30 @2025-06-11
- Hacker News Daily Top 30 @2025-06-10
- Hacker News Daily Top 30 @2025-06-09
- Hacker News Daily Top 30 @2025-06-08
- Don’t Choose the Wrong Web Team — Here’s Why It Matters
- 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
- Angular Signals: A New Mental Model for Reactivity, Not Just a New API
- 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
- Building a Telemedicine Platform with AI-Powered Diagnostics Using Vultr
- Create a Toggle Switch in React as a Reusable Component
- Comparing Docker and Podman: A Guide to Container Management Tools
- How to Deploy Flask Applications on Vultr
- A Comprehensive Guide to Understanding TypeScript Record Type
- Top 7 High-Paying Affiliate Programs for Developers and Content Creators
- How to integrate artificial intelligence into office software: the ONLYOFFICE Docs case study
- Momento Migrates Object Cache as a Service to Ampere Altra
- Dev Hackathon: Reusable Creativity on Wix Studio
- 10 Amazing Web Developer Resume Examples for Different Web Dev Specializations
- How to Build Lightning Fast Surveys with Next.js and SurveyJS
- 45 Visual Studio Code Shortcuts for Boosting Your Productivity
- Google Cloud Is the New Way to the Cloud
- Understanding Vultr Content Delivery Networks (CDNs)
- Effortless Content Publishing: A Developer’s Guide to Adobe Experience Manager
- From Idea to Prototype in Minutes: Claude Sonnet 3.5
- Git security vulnerabilities announced
- CVE-2025-53367: An exploitable out-of-bounds write in DjVuLibre
- 5 ways to transform your workflow using GitHub Copilot and MCP
- From idea to PR: A guide to GitHub Copilot’s agentic workflows
- Understand your software’s supply chain with GitHub’s dependency graph
- GitHub Advisory Database by the numbers: Known security vulnerabilities and what you can do about them
- From pair to peer programmer: Our vision for agentic workflows in GitHub Copilot
- Why developer expertise matters more than ever in the age of AI
- GitHub Copilot Spaces: Bring the right context to every suggestion
- 5 tips for using GitHub Copilot with issues to boost your productivity
- 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
- 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
- Design System In 90 Days
- Building A Practical UX Strategy Framework
- Fewer Ideas: An Unconventional Approach To Creativity
- Smashing Animations Part 2: How CSS Masking Can Add An Extra Dimension
- Integrating Localization Into Design Systems
- Integrating Design And Code With Native Design Tokens In Penpot
- Smashing Animations Part 1: How Classic Cartoons Inspire Modern CSS
- Masonry In CSS: Should Grid Evolve Or Stand Aside For A New Module?
- How To Launch Big Complex Projects
- WCAG 3.0’s Proposed Scoring Model: A Shift In Accessibility Evaluation
- Make Every Day Count (May 2025 Wallpapers Edition)
- How To Turn Your Figma Designs Into Live Apps With Anima Playground
- UX And Design Files Organization Template
- “Product Kondo”: A Guide To Evaluating Your Organizational Product Portfolio
- Boosting Up Your Creativity Without Endless Reference Scrolling
- Building An Offline-Friendly Image Upload System
- What Does It Really Mean For A Site To Be Keyboard Navigable
- Fostering An Accessibility Culture
- Inclusive Dark Mode: Designing Accessible Dark Themes For All Users
- Bloom Paris TV: Where Refined Art Direction Meets World-Class Production
- From Static to Dynamic: 3 Micro-Animations Every Web Developer Can Master with Rive
- Invisible Forces: The Making of Phantom.land’s Interactive Grid and 3D Face Particle System
- Motion Highlights #10
- Designer Spotlight: Bimo Tri
- Designing TrueKind: A Skincare Brand’s Journey Through Moodboards, Motion, and Meaning
- Modeling the World in 280 Characters
- Coding a 3D Audio Visualizer with Three.js, GSAP & Web Audio API
- Building an Infinite Marquee Along an SVG Path with React & Motion
- Inside the Frontier of AI, WebXR & Real-Time 3D: Crafting KODE Immersive
- The Rise of the Intelligent AI Agent: Revolutionizing Database Management With Agentic DBA
- Micro Frontends to Microservices: Orchestrating a Truly End-to-End Architecture
- Multiple Stakeholder Management in Software Engineering
- The Unofficial Rules of Not Screwing Up Your Software
- 10 Predictions Shaping the Future of Web Data Extraction Services
- Understanding N-Gram Language Models and Perplexity
- Evaluating Accuracy in RAG Applications: A Guide to Automated Evaluation
- How to Embed SAP Analytics Cloud (SAC) Stories Into Fiori Launchpad for Real-Time Insights
- Advancing DSLs in the Age of GenAI
- Zero-Trace Paradigm: Emerging Technologies in Personal Data Anonymization
- How Developers Are Driving Supply Chain Innovation With Modern Tech
- How to Build Your First Generative AI App With Langflow: A Step-by-Step Guide
- Understanding k-NN Search in Elasticsearch
- A Software Engineer’s Guide to Thrive in Gen AI Era: Master It or Fade Out
- Tracing Stratoshark’s Roots: From Packet Capture to System Call Analysis
- The QA Paradox: To Save Artificial Intelligence, We Must Stop Blindly Trusting Data—And Start Trusting Human Judgment
- Top Load Balancing Algorithms: Choosing the Right Strategy
- Deploy Serverless Lambdas Confidently Using Canary
- Stop Building Monolithic AI Brains, Build a Specialist Team Instead
- Orchestrating Edge Computing with Kubernetes: Architectures, Challenges, and Emerging Solutions
- WebAssembly (Wasm) and AI at the Edge: The New Frontier for Real-Time Applications
- Modernizing Apache Spark Applications With GenAI: Migrating From Java to Scala
- Are Traditional Data Warehouses Being Devoured by Agentic AI?
- Event Storming Workshops: A Closer Look at Different Approaches
- The Shift to Open Industrial IoT Architectures With Data Streaming
- Leveraging AI: A Path to Senior Engineering Positions
- How Predictive Analytics Became a Key Enabler for the Future of QA
- The Evolution of Software Integration: How MCP Is Reshaping AI Development Beyond Traditional APIs
- How to Troubleshoot Common Linux VPS Issues: CPU, Memory, Disk Usage
- One Checkbox to Cloud: Migrating from Tosca DEX Agents to E2G
- 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 ] VPS Management made easy with Nixopus
- [ TODAY ] Async First: How 7 Remote Dev Teams Ship Faster Than Office Teams
- [ TODAY ] Async First: How 7 Remote Dev Teams Ship Faster Than Office Teams
- [ TODAY ] Development Environment Optimization
- [ TODAY ] Welcome Thread - v334
- [ TODAY ] 🐨Beginner-Friendly Guide "Maximize Free Time by Rescheduling Meetings" – LeetCode 3439 (C++ | Python | JavaScript)
- [ TODAY ] Time Intelligence Functions (DAX)
- [ TODAY ] CSS `color-mix()` Function
- [ TODAY ] Who Counts as ‘Human’ in Human-Centered Design?
- [ TODAY ] What makes Rust's compiler and runtime appealing for developers who are less experienced or prone to mistakes compared to C++?
- [ TODAY ] From Slow as Snail to Fast as Lightning My Web Framework Performance Practice Record
- [ TODAY ] GCP Fundamentals: Digital Asset Links API
- What's New on GradientAI Platform
- Coming Soon: Learn more about DigitalOcean Gradient AI
- DigitalOcean GradientAI 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
- Protect your data with Daily Backups
- GPUs and beyond: DigitalOcean’s roadmap for AI platforms and applications
- Backup your DigitalOcean Kubernetes Data in One Click
- Hacktoberfest 2024: Celebrate All Things Open Source!
- Nvidia H100 now available on DigitalOcean Kubernetes (EA)
- Announcing DigitalOcean Spaces Object Storage: Now Available in London
- Introducing Predefined Roles: Strengthen Your Role-Based Access Control (RBAC) With Three New Roles
- Introducing Per-Bucket Bandwidth Billing for DigitalOcean Spaces
- How SMBs and startups scale on DigitalOcean Kubernetes: Best Practices Part V - Disaster Recovery
- DigitalOcean’s Managed Database for Redis®* is now known as Managed Caching
- How to Migrate Production Code to a Monorepo
- Contextual Vulnerability Management With Security Risk As Debt
- Simplifying Distributed App Complexity with App Platform’s Log Forwarding and OpenSearch
- Premium Memory-Optimized and Premium Storage-Optimized Droplets for Faster Networking Performance Now Available in All Data Centers
- 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
- Migrating Mess With DNS to use PowerDNS
- Go structs are copied on assignment (and other things about Go I'd missed)
- 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
- Harnessing the Power of Google Cloud Platform(GCP) for Your Development Projects
- The Definitive Guide to Microservices
- Kubernetes HPA: Mastering Horizontal Pod Autoscaler Basics and Best Practices
- kubectl logs: How to Get Pod Logs in Kubernetes (With Examples)
- K3s vs K8s: What are the Differences & Use Cases
- Should I Use Kubernetes?
- Mastering KQL: A Comprehensive Guide for Data Queries
- scp Command - Transfer Files to / from Linux Machines
- Linux: tee Command
- Linux: Get IP Address
- 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
- 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
- Merging more than 8 Monos with Reactor
- 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
- My Obsidian + Hugo blogging setup
- New look, new start
- 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
- 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
- Bit Sets: An introduction to bit manipulation
- View Transition List Reordering (with a Kick Flip)
- blur(1px) blur(1px)
- :heading
- Satisfies in TypeScript
- CSS Gap Decorations
- Custom Select (that comes up from the bottom on mobile)
- Step Gradients with a Given Number of Steps
- Iterator Helpers Supported Across all Browsers
- Quantity Query Carousel
- What Is Developer Advocacy? (2025 Edition)
- 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
- HTTP Server Tutorial in Rust
- 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
- Why do we use Cypress?
- Migrate from Nextjs Pages to App Router
- 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
- Your next mountain, pt2
- What's your next mountain?
- Why system design is my favorite interview
- Atoms, molecules, organisms
- Smart core, thin interfaces
- Why learning and teaching the good stuff is hard
- Empirical evidence for code modularity
- Why even care about code structure
- 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
- 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
- Introducing XState Store
- Please Stop Using Barrel Files
- How to Use Pytest: A Simple Guide to Testing in Pytho
- How to Use Constructors in Java: A Beginner's Guide
- The Rise of AI Analytics and What It Means for Industries
- What Are JSON Web Tokens (JWT)?
- How to Work with React Forms So They Don't Break Your Brain
- How to Build Production-Ready Full Stack Apps with the MERN Stack
- From freeCodeCamp to NASA with Data Engineer Joe Hill [Podcast #178]
- Build a Google Calendar Clone with PHP, MySql & JavaScript
- Top Application Monitoring Tools for Developers
- How to Stop Chasing Productivity and Start Moving with Purpose
- Git security vulnerabilities announced
- CVE-2025-53367: An exploitable out-of-bounds write in DjVuLibre
- 5 ways to transform your workflow using GitHub Copilot and MCP
- From idea to PR: A guide to GitHub Copilot’s agentic workflows
- Understand your software’s supply chain with GitHub’s dependency graph
- GitHub Advisory Database by the numbers: Known security vulnerabilities and what you can do about them
- From pair to peer programmer: Our vision for agentic workflows in GitHub Copilot
- Why developer expertise matters more than ever in the age of AI
- GitHub Copilot Spaces: Bring the right context to every suggestion
- 5 tips for using GitHub Copilot with issues to boost your productivity
- 文字列を 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
- 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
- TIL: Insert Macros for the Helix Editor
- Kickstart Your Neovim Journey With kickstart.nvim
- 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
- [ TODAY ] 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
- 9 Best Cypress Alternatives for Reliable Software Testing
- Top 8 LiveAction Alternatives for Network Monitoring and Performance
- 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
- 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]
- sshd: ssh-rsa algorithm is disabled [SOLVED]
- Decrypt HTTPS & LDAPS Traffic using WireShark [100% Working]
- 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
- 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
- Welcome to the First Edition of The Buzz
- Enough with the "Platform"
- From Compliance to Continuous Security: Why DevSecOps Needs to Be More Than a Checkbox
- Legacy Limitations and New Expectations: Why CI/CD is Critical for Financial Services
- Top DevSecOps Tools for a Secure CI/CD Pipeline
- How to Choose the Right Software Deployment Tool for Your CI/CD Pipeline