41554 blogs · [
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b816d0c7a8",
"title": "Elevating the Developer Experience: My Top 10 VS Code Extensions",
"url": "https://thisdavej.com/elevating-the-developer-experience-my-top-10-vs-code-extensions/",
"published_at": "2026-05-30T17:04:58+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b817cc79d6",
"title": "Copy Table in Excel and Paste as a Markdown Table",
"url": "https://thisdavej.com/copy-table-in-excel-and-paste-as-a-markdown-table/",
"published_at": "2025-05-08T13:53:58+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b8187cbe06",
"title": "batteryinfo: A Rust-Powered Python Package for Laptop Battery Monitoring",
"url": "https://thisdavej.com/batteryinfo-a-rust-powered-python-package-for-laptop-battery-monitoring/",
"published_at": "2025-04-30T01:04:12+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b818d3a714",
"title": "How to replicate find -execdir behavior using fd",
"url": "https://thisdavej.com/how-to-replicate-find-execdir-behavior-using-fd/",
"published_at": "2025-04-23T00:24:42+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b818fd1c07",
"title": "Freeing Up Gigabytes: Reclaiming Disk Space from Rust Cargo Builds",
"url": "https://thisdavej.com/freeing-up-gigabytes-reclaiming-disk-space-from-rust-cargo-builds/",
"published_at": "2025-04-18T01:35:57+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b819376a10",
"title": "Packaging Python Command-Line Apps the Modern Way with uv",
"url": "https://thisdavej.com/packaging-python-command-line-apps-the-modern-way-with-uv/",
"published_at": "2025-04-09T02:02:41+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81a1061ae",
"title": "HTML Bullet Point Maker - Convert Text to ul Lists",
"url": "https://thisdavej.com/html-bullet-point-maker-convert-text-to-ul-lists/",
"published_at": "2025-04-05T18:15:59+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81ab6c9d1",
"title": "Share Python Scripts Like a Pro: uv and PEP 723 for Easy Deployment",
"url": "https://thisdavej.com/share-python-scripts-like-a-pro-uv-and-pep-723-for-easy-deployment/",
"published_at": "2025-03-26T02:34:10+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81b2f262c",
"title": "Beginner’s Guide to Installing Node.js on a Raspberry Pi",
"url": "https://thisdavej.com/beginners-guide-to-installing-node-js-on-a-raspberry-pi/",
"published_at": "2022-09-07T03:47:00+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81b821430",
"title": "Using jq and curl to Wrangle JSON Arrays from the Terminal",
"url": "https://thisdavej.com/using-jq-and-curl-to-wrangle-json-arrays-from-the-terminal/",
"published_at": "2020-01-28T14:35:17+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81c306d55",
"title": "Consuming Web API JSON Data Using curl and jq",
"url": "https://thisdavej.com/consuming-web-api-json-data-using-curl-and-jq/",
"published_at": "2019-12-20T16:47:00+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81c4ca508",
"title": "Web Scraping with Google Sheets: The Definitive Guide",
"url": "https://thisdavej.com/web-scraping-with-google-sheets-the-definitive-guide/",
"published_at": "2019-06-04T13:36:12+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81cbae3e5",
"title": "Three Ways to Build Dynamic Web APIs using PHP",
"url": "https://thisdavej.com/three-ways-to-build-dynamic-web-apis-using-php/",
"published_at": "2019-05-14T15:10:57+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81d9ea80b",
"title": "Fetching, Filtering, and Sorting JSON APIs in Google Sheets: The Missing Functions",
"url": "https://thisdavej.com/fetching-filtering-and-sorting-json-apis-in-google-sheets-the-missing-functions/",
"published_at": "2019-04-23T13:21:03+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81db65893",
"title": "Add Emoji to your Node Projects with node-emoji ✨",
"url": "https://thisdavej.com/add-emoji-to-your-node-projects-with-node-emoji/",
"published_at": "2019-02-19T14:24:02+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81dc5b8fa",
"title": "How to Host a Raspberry Pi Web Server on the Internet with ngrok",
"url": "https://thisdavej.com/how-to-host-a-raspberry-pi-web-server-on-the-internet-with-ngrok/",
"published_at": "2019-01-29T16:24:42+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81e86dee8",
"title": "Creating a Raspberry Pi Pandora Player with Remote Web Control",
"url": "https://thisdavej.com/creating-a-raspberry-pi-pandora-player-with-remote-web-control/",
"published_at": "2018-12-18T15:02:14+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81f4a6f73",
"title": "How to install Redis on a Raspberry Pi using Docker",
"url": "https://thisdavej.com/how-to-install-redis-on-a-raspberry-pi-using-docker/",
"published_at": "2018-12-12T14:57:48+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81f51f80b",
"title": "How to Set up a Firewall for Redis using ufw",
"url": "https://thisdavej.com/how-to-set-up-a-firewall-for-redis-using-ufw/",
"published_at": "2018-11-27T19:20:55+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b81f883ad6",
"title": "Using Winston, a versatile logging library for Node.js",
"url": "https://thisdavej.com/using-winston-a-versatile-logging-library-for-node-js/",
"published_at": "2018-10-05T23:24:10+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b820331e98",
"title": "How to Watch for File Changes in Node.js",
"url": "https://thisdavej.com/how-to-watch-for-file-changes-in-node-js/",
"published_at": "2018-05-22T15:23:40+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b820cf34ea",
"title": "How to Count Unique Items in JavaScript Arrays",
"url": "https://thisdavej.com/how-to-count-unique-items-in-javascript-arrays/",
"published_at": "2018-04-17T13:51:33+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82116f146",
"title": "Learn Handlebars with Node.js and Help Freddy’s Fish Too",
"url": "https://thisdavej.com/learn-handlebars-with-node-js-and-help-freddys-fish/",
"published_at": "2018-04-03T13:15:03+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b821312206",
"title": "Installing and Upgrading Node.js on Windows the Easy Way",
"url": "https://thisdavej.com/install-upgrade-node-js-windows-easy-way/",
"published_at": "2018-03-20T12:55:49+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b8216b24f6",
"title": "Using TOML Config Files in Your Node.js Applications",
"url": "https://thisdavej.com/using-toml-config-files-in-node-js-applications/",
"published_at": "2018-03-06T14:43:13+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b8225b5b6e",
"title": "While I napped, we got a new apt – Debian apt command cheat sheet",
"url": "https://thisdavej.com/while-i-napped-we-got-a-new-apt-debian-apt-command-cheat-sheet/",
"published_at": "2018-03-02T10:38:17+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b8226f9cab",
"title": "Create a Lightweight Raspberry Pi System with Raspbian Lite",
"url": "https://thisdavej.com/create-a-lightweight-raspberry-pi-system-with-raspbian-lite/",
"published_at": "2018-02-20T14:44:29+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82285f599",
"title": "How to Copy Visual Studio Code with Syntax Highlighting to Other Applications",
"url": "https://thisdavej.com/how-to-copy-visual-studio-code-with-syntax-highlighting-to-other-applications/",
"published_at": "2018-02-13T13:23:13+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b822f09eac",
"title": "Using INI Files in Your Node.js Applications for Health and Profit",
"url": "https://thisdavej.com/using-ini-files-in-your-node-js-applications-for-health-and-profit/",
"published_at": "2018-01-23T15:58:44+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82311202c",
"title": "Guide to Using Redis with Node.js Released",
"url": "https://thisdavej.com/guide-to-using-redis-with-node-js-released/",
"published_at": "2018-01-09T15:19:54+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b823e5cd5a",
"title": "Visual Studio Launch Video with My Son and Me",
"url": "https://thisdavej.com/visual-studio-launch-video-with-my-son-and-me/",
"published_at": "2017-03-14T13:41:39+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82420d5a4",
"title": "Do I Need an Umbrella Today? Google Sheets and JavaScript to the Rescue!",
"url": "https://thisdavej.com/do-i-need-an-umbrella-today-google-sheets-and-javascript-to-the-rescue/",
"published_at": "2017-02-07T14:46:43+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82427b2ff",
"title": "Consuming JSON Web Data Using Google Sheets",
"url": "https://thisdavej.com/consuming-json-web-data-using-google-sheets/",
"published_at": "2017-01-24T13:49:10+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b824ecc26d",
"title": "Controlling a Raspberry Pi from a Mobile Device with Bonus Menu Too",
"url": "https://thisdavej.com/controlling-a-raspberry-pi-from-a-mobile-device-with-bonus-menu-too/",
"published_at": "2016-12-06T14:14:19+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82531217e",
"title": "Consuming Node.js Microservices Created with Stdlib",
"url": "https://thisdavej.com/consuming-node-js-microservices-created-with-stdlib/",
"published_at": "2016-11-29T14:58:41+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b825a75315",
"title": "Node.js: Playing Sounds to Provide Notifications",
"url": "https://thisdavej.com/node-js-playing-sounds-to-provide-notifications/",
"published_at": "2016-11-22T13:32:21+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82671c2a2",
"title": "Creating Node.js Microservices with Ease Using Stdlib",
"url": "https://thisdavej.com/creating-node-js-microservices-with-ease-using-stdlib/",
"published_at": "2016-11-15T15:32:00+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b826f20724",
"title": "Build an Amazing HTML Editor Using Visual Studio Code",
"url": "https://thisdavej.com/build-an-amazing-html-editor-using-visual-studio-code/",
"published_at": "2016-11-01T12:47:16+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b827204976",
"title": "Upgrading to more recent versions of Node.js on the Raspberry Pi",
"url": "https://thisdavej.com/upgrading-to-more-recent-versions-of-node-js-on-the-raspberry-pi/",
"published_at": "2016-10-28T02:31:23+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82736d425",
"title": "How to Install or Upgrade to Node.js v7 on the Raspberry Pi",
"url": "https://thisdavej.com/how-to-install-or-upgrade-to-node-js-v7-on-the-raspberry-pi/",
"published_at": "2016-10-25T23:01:09+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b827c98a89",
"title": "Node.js: Sending Email Notifications Using Nodemailer and Gmail",
"url": "https://thisdavej.com/node-js-sending-email-notifications-using-nodemailer-and-gmail/",
"published_at": "2016-10-11T13:11:11+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b8287f9fb3",
"title": "Connecting a Raspberry Pi Using an Ethernet Crossover Cable and Internet Connection Sharing",
"url": "https://thisdavej.com/connecting-a-raspberry-pi-using-an-ethernet-crossover-cable-and-internet-connection-sharing/",
"published_at": "2016-09-20T14:58:53+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b8290b5cd3",
"title": "Getting Started with YAML in Node.js using js-yaml",
"url": "https://thisdavej.com/getting-started-with-yaml-in-node-js-using-js-yaml/",
"published_at": "2016-09-13T13:23:20+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b829e2cba9",
"title": "Node.js IoT: Logging Data That Is Out of This World",
"url": "https://thisdavej.com/node-js-iot-logging-data-that-is-out-of-this-world/",
"published_at": "2016-09-06T13:26:26+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82a577063",
"title": "Making Interactive Node.js Console Apps That Listen for Keypress Events",
"url": "https://thisdavej.com/making-interactive-node-js-console-apps-that-listen-for-keypress-events/",
"published_at": "2016-08-30T00:51:01+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82ae2ef85",
"title": "Node.js IoT: Tracking the ISS through the Sky",
"url": "https://thisdavej.com/node-js-iot-tracking-the-iss-through-the-sky/",
"published_at": "2016-08-16T13:51:06+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82ba7db5b",
"title": "Node.js IoT – Data Visualization of Sensor Values",
"url": "https://thisdavej.com/node-js-iot-data-visualization-of-sensor-values/",
"published_at": "2016-07-12T19:22:46+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82c4eb5e2",
"title": "Build an Amazing Markdown Editor Using Visual Studio Code and Pandoc",
"url": "https://thisdavej.com/build-an-amazing-markdown-editor-using-visual-studio-code-and-pandoc/",
"published_at": "2016-06-28T13:05:07+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82cfb4ccf",
"title": "Node.js IoT – Create Local Module for CPU Sensor",
"url": "https://thisdavej.com/node-js-iot-create-local-module-for-cpu-sensor/",
"published_at": "2016-04-26T13:10:35+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82d25f945",
"title": "Node.js IoT – Build a Cross Platform CPU Sensor",
"url": "https://thisdavej.com/node-js-iot-build-a-cross-platform-cpu-sensor/",
"published_at": "2016-04-12T13:17:03+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82d4c6d87",
"title": "Node.js Learning through Making – Build a CPU Sensor",
"url": "https://thisdavej.com/node-js-learning-through-making-build-a-cpu-sensor/",
"published_at": "2016-03-22T05:04:21+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82d72f076",
"title": "Using Visual Studio Code with a Raspberry Pi (Raspbian)",
"url": "https://thisdavej.com/using-visual-studio-code-with-a-raspberry-pi-raspbian/",
"published_at": "2016-03-15T13:22:38+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82d7c013b",
"title": "Visual Studio Code Jumpstart for Node.js Developers",
"url": "https://thisdavej.com/visual-studio-code-jumpstart-for-node-js-developers/",
"published_at": "2016-03-15T13:21:32+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82e4d64f8",
"title": "Make Your Raspberry Pi Web Server Available on the Internet with Node.js",
"url": "https://thisdavej.com/make-your-raspberry-pi-web-server-available-on-the-internet-with-node-js/",
"published_at": "2016-03-08T04:50:53+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82ee21d9a",
"title": "Right click on Windows folder and open with Visual Studio Code",
"url": "https://thisdavej.com/right-click-on-windows-folder-and-open-with-visual-studio-code/",
"published_at": "2016-03-04T22:07:51+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82efe7176",
"title": "Create a Web Server in Node without any Code",
"url": "https://thisdavej.com/create-a-web-server-in-node-without-any-code/",
"published_at": "2016-03-03T15:28:15+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82fd5fac8",
"title": "Node Newbie Error – NPM Refusing to Install Package as a Dependency of Itself",
"url": "https://thisdavej.com/node-newbie-error-npm-refusing-to-install-package-as-a-dependency-of-itself/",
"published_at": "2016-02-23T21:36:59+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b82ff9a3d3",
"title": "Solution for Can’t Ping Raspberry Pi Hostname on the Network",
"url": "https://thisdavej.com/solution-for-cant-ping-raspberry-pi-hostname-on-the-network/",
"published_at": "2016-02-23T21:36:04+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b83075637a",
"title": "Learning through Making – Getting Started with Node.js",
"url": "https://thisdavej.com/learning-through-making-getting-started-with-node-js/",
"published_at": "2016-02-18T15:10:58+00:00"
},
{
"id": "01a08c54-a6ff-73cc-ae7d-b4b830f460ab",
"title": "Launching a Windows Command Prompt in a Folder of Your Choice",
"url": "https://thisdavej.com/launching-a-windows-command-prompt-in-a-folder-of-your-choice/",
"published_at": "2016-02-15T14:44:34+00:00"
}
] posts Claim your blog