41554 blogs · [ { "id": "01a0c50a-6fbe-732c-98b2-59ee66cfa7a2", "title": "How to Sign and Trust Your Own SSL Certificates", "url": "https://electrovir.com/post/2026-09-19-sign-root-ssl", "published_at": "2026-09-19T00:00:00+00:00" }, { "id": "01a0b0c8-4a43-71bc-af0a-5fb23aaaa5e2", "title": "Faster VS Code CLI", "url": "https://electrovir.com/post/2026-09-13-faster-code-cli", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f755555756", "title": "How to Reset a 7th Generation iPod Touch", "url": "https://electrovir.com/post/2026-09-04-ipod-touch-reset", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7563eb73d", "title": "Setting up Node.js server with Nginx on Lightsail", "url": "https://electrovir.com/post/2026-08-20-nginx-on-lightsail", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75649f300", "title": "Now Using blog-vir", "url": "https://electrovir.com/post/2026-08-15-blog-vir", "published_at": "2026-08-15T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7565d00c3", "title": "Keep a Server Script Running with Cron", "url": "https://electrovir.com/post/2026-08-14-T03-keep-a-script-running", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f756929033", "title": "Natural Scroll Direction on Windows", "url": "https://electrovir.com/post/2026-08-14-T02-natural-windows-scroll", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f756db20ae", "title": "How to move a Plex library", "url": "https://electrovir.com/post/2026-08-14-move-plex", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f757ab80b6", "title": "AI Model Hierarchy", "url": "https://electrovir.com/post/2026-08-03-model-order", "published_at": "2026-08-03T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75813a7b6", "title": "Per-Dir API keys", "url": "https://electrovir.com/post/2026-07-02-per-dir-api-keys", "published_at": "2026-07-02T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f758c82d03", "title": "Script to Secure Your GitHub Repos", "url": "https://electrovir.com/post/2026-06-14-secure-github", "published_at": "2026-06-14T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75973c2be", "title": "Track Claude CLI Cost", "url": "https://electrovir.com/post/2026-06-02-claude-cost", "published_at": "2026-06-02T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75a0e7295", "title": "Quick GitHub PR Creation", "url": "https://electrovir.com/post/2026-01-13-gh-pr-shortcut", "published_at": "2026-01-13T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75a8d61a1", "title": "Disable npm install scripts", "url": "https://electrovir.com/post/2026-01-02-T03-disable-npm-install-scripts", "published_at": "2026-01-02T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75adf4b07", "title": "Setting up a Linux VM for AI", "url": "https://electrovir.com/post/2026-01-02-T02-linux-vm-for-ai", "published_at": "2026-01-02T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75bddb0fe", "title": "Streaming an S3 file from server to server", "url": "https://electrovir.com/post/2026-01-02-stream-s3-file-server-to-server", "published_at": "2026-01-02T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75cbe304f", "title": "Creating and Using a Client Certificate for mTLS", "url": "https://electrovir.com/post/2025-12-16-T02-mtls-cert", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75da5b23c", "title": "Authenticating your Npm CLI", "url": "https://electrovir.com/post/2025-12-16-npm-auth", "published_at": "2025-12-16T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75e13a5d0", "title": "Debian Server from Scratch", "url": "https://electrovir.com/post/2025-10-24-T02-debian-setup", "published_at": "2025-10-24T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75e99054c", "title": "A New SSH Key", "url": "https://electrovir.com/post/2025-10-24-ssh-key", "published_at": "2025-10-24T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75f0a1cec", "title": "Tidy TSC Output", "url": "https://electrovir.com/post/2025-10-23-tidy-tsc", "published_at": "2025-10-23T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f75fe88f3b", "title": "My Opinionated Git Conventions", "url": "https://electrovir.com/post/2025-09-13-opinionated-git", "published_at": "2025-09-13T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7600e97ad", "title": "Postmortem template", "url": "https://electrovir.com/post/2025-09-12-postmortem-template", "published_at": "2025-09-12T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f760d12a56", "title": "Disable automatic macOS sleep", "url": "https://electrovir.com/post/2025-09-08-T02-disable-sleep", "published_at": "2025-09-08T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f761a39847", "title": "Setup git commit signing on macOS", "url": "https://electrovir.com/post/2025-09-08-commit-signing", "published_at": "2025-09-08T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7628e2ca2", "title": "Show/hide macOS Dock faster", "url": "https://electrovir.com/post/2025-09-07-faster-dock", "published_at": "2025-09-07T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76341b0bc", "title": "Show macOS app switcher on all screens", "url": "https://electrovir.com/post/2025-09-06-T02-app-switcher", "published_at": "2025-09-06T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7635b6e06", "title": "Fresh Mac Setup", "url": "https://electrovir.com/post/2025-09-06-new-mac", "published_at": "2025-09-06T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f763aa851f", "title": "Triggering a Netlify Deploy in Pipelines", "url": "https://electrovir.com/post/2025-08-30-netlify-deploy-script", "published_at": "2025-08-30T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76430ec4e", "title": "Don't use --prefer-offline", "url": "https://electrovir.com/post/2025-08-27-npm-prefer-offline", "published_at": "2025-08-27T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f764f6440b", "title": "Setup and Use Git Worktree", "url": "https://electrovir.com/post/2025-08-23-git-worktrees", "published_at": "2025-08-23T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f765e30c02", "title": "Enable up-arrow history auto-complete", "url": "https://electrovir.com/post/2025-08-16-terminal-search", "published_at": "2025-08-16T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7664062a9", "title": "Cron jobs that don't suck", "url": "https://electrovir.com/post/2025-08-16-T02-cron-jobs-that-dont-suck", "published_at": "2025-08-16T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f766ee2d94", "title": "Running a TypeScript worker in Node.js", "url": "https://electrovir.com/post/2025-08-09-typescript-worker", "published_at": "2025-08-09T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76773f0a2", "title": "Write a Daemon", "url": "https://electrovir.com/post/2025-07-26-write-a-daemon", "published_at": "2025-07-26T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7678e4f0e", "title": "ESM scripts can detect when they're run directly", "url": "https://electrovir.com/post/2025-07-14-esm-script", "published_at": "2025-07-14T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7687d1a9d", "title": "Faster Playwright Install on Ubuntu", "url": "https://electrovir.com/post/2025-05-28-playwright-speed", "published_at": "2025-05-28T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76889ffbf", "title": "Recursively convert OGG to MP3", "url": "https://electrovir.com/post/2025-05-03-convert-ogg", "published_at": "2025-05-03T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f768d0ded1", "title": "SoundSource freezing", "url": "https://electrovir.com/post/2025-04-30-soundsource-freezing", "published_at": "2025-04-30T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f769d07f5f", "title": "How to setup web dev on fresh Windows", "url": "https://electrovir.com/post/2025-03-19-windows-dev-setup", "published_at": "2025-03-19T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76a59004d", "title": "pm2 Quick Start", "url": "https://electrovir.com/post/2025-02-15-pm2-quick-start", "published_at": "2025-02-15T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76af4ead7", "title": "Iframe Garbage Collection", "url": "https://electrovir.com/post/2025-02-10-iframe-garbage-collection", "published_at": "2025-02-10T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76b4fbdb4", "title": "Run a process that continues after exiting an SSH connection", "url": "https://electrovir.com/post/2025-01-01-T01-ssh-process", "published_at": "2025-01-01T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76bcaea0e", "title": "Nginx HTTPS from scratch", "url": "https://electrovir.com/post/2024-12-30-nginx-pi", "published_at": "2024-12-30T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76c109396", "title": "Use Touch ID for sudo on macOS", "url": "https://electrovir.com/post/2024-12-28-touch-id-sudo", "published_at": "2024-12-28T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76cb16ba9", "title": "Frontend Bundling", "url": "https://electrovir.com/post/2024-11-12-frontend-bundling", "published_at": "2024-11-12T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76d3c0c7c", "title": "Some Frontend Basics", "url": "https://electrovir.com/post/2024-11-08-some-frontend-basics", "published_at": "2024-11-08T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76e152917", "title": "ESM vs CJS", "url": "https://electrovir.com/post/2024-10-11-esm-cjs", "published_at": "2024-10-11T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76eab8c2f", "title": "What is Semantic Versioning (semver)", "url": "https://electrovir.com/post/2024-09-19-semver", "published_at": "2024-09-19T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76ee0f771", "title": "Preventing Ridiculous ESLint auto-fixes in VS code", "url": "https://electrovir.com/post/2024-09-18-eslint-autofix", "published_at": "2024-09-18T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76ee6c3c9", "title": "Git Commit Messages", "url": "https://electrovir.com/post/2024-09-17-git-commit-messages", "published_at": "2024-09-17T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76fa9c3f8", "title": "Npm Q&A", "url": "https://electrovir.com/post/2024-09-05-npm-qa", "published_at": "2024-09-05T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f76fc90a1c", "title": "Making Your Terminal Awesome", "url": "https://electrovir.com/post/2024-08-29-awesome-terminal", "published_at": "2024-08-29T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7701f9456", "title": "Open Multiple Files in VS Code from a Grep", "url": "https://electrovir.com/post/2024-08-28-cli-open-files-vs-code", "published_at": "2024-08-28T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f770a462ab", "title": "Convert H.264 MP4 to WebM", "url": "https://electrovir.com/post/2024-08-21-convert-mp4-to-webm", "published_at": "2024-08-21T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f77137b945", "title": "Code Coverage Ignore Comments", "url": "https://electrovir.com/post/2024-08-17-node-coverage-comments", "published_at": "2024-08-17T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f772200a5b", "title": "Database Testing Setup", "url": "https://electrovir.com/post/2024-08-16-database-testing-setup", "published_at": "2024-08-16T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7724d7cd5", "title": "What's in import.meta?", "url": "https://electrovir.com/post/2024-08-08-import-meta", "published_at": "2024-08-08T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7733dc00b", "title": "Unified JavaScript Testing", "url": "https://electrovir.com/post/2024-08-07-unified-testing-experience", "published_at": "2024-08-07T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f773bd01fc", "title": "__filename and __dirname in ESM", "url": "https://electrovir.com/post/2024-07-23-esm-filename", "published_at": "2024-07-23T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7749a5d9f", "title": "How Rendering Works in element-vir", "url": "https://electrovir.com/post/2024-07-18-element-rendering", "published_at": "2024-07-18T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f774dfa369", "title": "Basic Introduction to Using Web Components", "url": "https://electrovir.com/post/2024-07-16-web-components", "published_at": "2024-07-16T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f775422429", "title": "PickDeep and PickSelection", "url": "https://electrovir.com/post/2024-07-11-pick-deep-pick-selection", "published_at": "2024-07-11T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f775b0a41a", "title": "JavaScript Testing Packages", "url": "https://electrovir.com/post/2024-06-27-javascript-testing-packages", "published_at": "2024-06-27T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f775e2c9b0", "title": "todo.md", "url": "https://electrovir.com/post/2024-06-25-T02-todo", "published_at": "2024-06-25T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f776c05b04", "title": "A Collection of PostgreSQL Commands", "url": "https://electrovir.com/post/2024-06-25-postgres-commands", "published_at": "2024-06-25T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f7775fed8f", "title": "How GraphQL Works", "url": "https://electrovir.com/post/2024-06-13-how-graphql-works", "published_at": "2024-06-13T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f777ba9ac1", "title": "ESLint Violations as Warnings in VS Code", "url": "https://electrovir.com/post/2024-05-28-eslint-as-warnings", "published_at": "2024-05-28T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f77849b7c6", "title": "Use @link JSDoc comments", "url": "https://electrovir.com/post/2024-05-27-T03-js-doc-references", "published_at": "2024-05-27T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f778ed7649", "title": "Docusaurus Problems", "url": "https://electrovir.com/post/2024-05-27-T02-docusaurus-problems", "published_at": "2024-05-27T00:00:00+00:00" }, { "id": "01a08772-5166-7344-b21d-09f77977632a", "title": "How I Created This Blog", "url": "https://electrovir.com/post/2024-05-27-how-i-created-this-blog", "published_at": "2024-05-27T00:00:00+00:00" } ] posts Claim your blog
Back to electrovir.com
Blog · corpus.blog/blogs/electrovir.com/posts

electrovir.com

electrovir.com

2026

2025

2024