htop vs btop vs vtop vs ptop: features and a local benchmark
Which terminal system monitor should you use? Compare htop, btop, vtop, and ptop with practical recommendations and reproducible macOS CPU and memory measurements.
Articles on the software I create, the tools I ship, and the thinking behind all of it.
Which terminal system monitor should you use? Compare htop, btop, vtop, and ptop with practical recommendations and reproducible macOS CPU and memory measurements.
How to kill the process on a port on macOS, Linux and Windows with lsof, ss, fuser and PowerShell. Free up port 3000 and stop EADDRINUSE errors.
Pate’s top copies vtop in Rust. On an M2 Max, it used 73% less CPU and 92% less own-process memory than vtop. See the benchmark and install instructions.
Browse and search your zsh history in a terminal UI. histy-cli replaces Ctrl+R in zsh, bash and fish: filter by recent, frequent or unique. Run npx histy-cli.
Stuck on EADDRINUSE? ports-cli is an interactive terminal UI that lists listening TCP ports and kills the process, with vim keys and search. Run npx ports-cli.
A professional Pine Script indicator library for TradingView, showcasing the challenges of platform limitations and the importance of honest user communication.
Building a feature-rich CSV data viewer with React and PapaParse using just three prompts
Building a developer-friendly guide to Windsurf AI with React and Vite
Building an interactive Zod schema builder with React that helps developers create and visualize complex validation schemas with ease.
Create presentations with your voice using this React app that converts speech to beautifully formatted Reveal.js slides
A browser-based text comparison tool that highlights differences between two pieces of text, similar to git diff.
Create a voice modulation web app with pitch shifting, speed control, and timbre adjustment using React and Web Audio API
Building an interactive 3D Rubik's Cube with React, Three.js, and pointer controls in just three prompts
Watch a minesweeper solver clear the board in your browser, see its rules, then learn to solve Minesweeper yourself with 1-2-1 and the subset rule.
Building a real-time face and body tracking application with MediaPipe and React in just three prompts
A Doom-inspired first-person shooter built with React and Three.js in three prompts. See how the 3D scene, enemies and controls came together.
A lightweight internal web application for tracking software team members and projects with visual dashboards for capacity management.
Can you beat impossible tic tac toe? Not when the AI plays perfectly, but you can always force a draw. The exact moves to never lose, plus a free unbeatable AI to practice against.
A React todo list with projects and file attachments, saved in IndexedDB and built with React 19 and Vite from three AI prompts. Try the live demo.
Creating an interactive 3D shape viewer with Three.js and React that lets users manipulate different geometric shapes in the browser
A JavaScript calculator built in React from three AI prompts: decimal.js makes 0.1 + 0.2 exact and localStorage saves your history. Play the live demo.
Play Etch A Sketch online: draw with a mouse or finger, pick from seven colors, shake to clear and save a PNG. Built in React from three AI prompts.
Creating a fully functional Minesweeper game with React and Vite using just three prompts.
How to install asciiquarium on macOS and Linux with Homebrew or npx, plus its controls, classic mode, and fixes for the Perl errors you are likely to hit.
Embedding a GitHub Calendar into a React app is a fairly straightforward process. I used react-github-calendar to do this.
Deploying this site was a fairly straightforward process as it only took roughly 30 minutes. Most of the time was spent waiting for the DNS to propagate. Using Vercel made it super easy.
A Next.js SEO checklist from fixing this site: a next-sitemap sitemap on the right domain, canonical and Open Graph tags, JSON-LD structured data, and noindex for pages that should stay out of Google.
Over the long weekend of May 27th to May 29th, I decided to rebuild patebryant.com. Previously it had not been much, just a simple netlify template that I had updated the design a little and put in my own new links.