corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a08791-5e6e-700c-a6a0-ca5cf724bb47", "title": "Depth-Viewport: A Headset-Free 2D to 3D Web App Demo", "url": "https://joshuatz.com/projects/web-stuff/depth-viewport-a-headset-free-2d-to-3d-web-app-demo/", "published_at": "2026-09-06T18:40:06+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf7608786", "title": "A Surprising Python Gotcha - Clashing Package Names", "url": "https://joshuatz.com/posts/2026/a-surprising-python-gotcha---clashing-package-names/", "published_at": "2026-05-30T17:05:28+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf77e6b10", "title": "Developing with Astro - Notes on Some Random Rough Edges", "url": "https://joshuatz.com/posts/2026/developing-with-astro---notes-on-some-random-rough-edges/", "published_at": "2026-05-02T17:50:00+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf7eada46", "title": "Yet Another Site Rebuild", "url": "https://joshuatz.com/posts/2026/yet-another-site-rebuild/", "published_at": "2026-05-01T15:06:50+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf8ce1516", "title": "What Makes Svelte So Great - Features and Comparisons", "url": "https://joshuatz.com/posts/2023/what-makes-svelte-so-great-features-and-comparisons/", "published_at": "2023-12-07T07:09:16+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf951cb55", "title": "Shell Heredocs - for Fun and Profit, in Bash and Beyond", "url": "https://joshuatz.com/posts/2023/shell-heredocs-productive-fun-bash-and-beyond/", "published_at": "2023-11-17T23:22:11+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf9a1d960", "title": "Writing Slack Messages with Markdown (Multiple Options)", "url": "https://joshuatz.com/posts/2023/writing-slack-messages-with-markdown/", "published_at": "2023-03-14T17:27:10+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cf9b42701", "title": "We Should Care More About Higher Level Documentation", "url": "https://joshuatz.com/posts/2022/high-level-docs-matter/", "published_at": "2022-09-26T20:57:26+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfa8ecf43", "title": "Pytest Productivity - Tips I Wish I Had Known Sooner", "url": "https://joshuatz.com/posts/2022/pytest-productivity-tips/", "published_at": "2022-08-12T13:27:57+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfb58e2a8", "title": "How to Bulk Delete Album or Track Scrobbles on Last.fm", "url": "https://joshuatz.com/posts/2022/bulk-delete-scrobbles-on-last-fm/", "published_at": "2022-07-29T13:32:54+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfba7ee46", "title": "YouTube History Bulk Deletion Script", "url": "https://gist.github.com/joshuatz/8dd1c5c3714b9ab615853a0c8c163626", "published_at": "2022-06-06T07:20:17+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfc8de92d", "title": "Nook Simple Touch - Factory Reset & Bypass Network Error", "url": "https://joshuatz.com/posts/2022/nook-simple-touch-factory-reset-bypass-network-error/", "published_at": "2022-02-07T07:59:00+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfd20da44", "title": "Support Me and My Content", "url": "https://joshuatz.com/support-me/", "published_at": "2022-01-09T03:04:54+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfd7d1c1d", "title": "Writing for DigitalOcean - Gatsby Tutorial Series", "url": "https://www.digitalocean.com/community/tutorial_series/how-to-create-static-web-sites-with-gatsby-js", "published_at": "2021-11-15T01:23:28+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfddc6294", "title": "Canvas Hit Detection Methods - With or Without Tolerances", "url": "https://joshuatz.com/posts/2022/canvas-hit-detection-methods/", "published_at": "2021-09-25T23:45:37+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfe5e9a61", "title": "How to Use and Customize Lighthouse - CLI & NodeJS", "url": "https://joshuatz.com/posts/2021/using-lighthouse-cli-nodejs/", "published_at": "2021-07-12T01:09:27+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cfe81ae10", "title": "Android WebView - Intercepting and Blocking Requests", "url": "https://joshuatz.com/posts/2021/webview-intercepting-and-blocking-requests/", "published_at": "2021-06-01T21:40:02+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5cff6abb9f", "title": "Svelte Weather App", "url": "https://github.com/joshuatz/svelte-weather-app", "published_at": "2021-05-30T13:11:20+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0040c55d", "title": "Express - Selectively Using CSURF for CSRF Protection", "url": "https://joshuatz.com/posts/2021/express-selective-csurf-csrf/", "published_at": "2021-05-28T12:03:13+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0104448d", "title": "Info on WaveShare Passive NFC-Powered E-Paper Modules", "url": "https://joshuatz.com/posts/2021/waveshare-passive-nfc-epaper-modules/", "published_at": "2021-05-20T22:59:25+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d01faf39b", "title": "NFC E-Paper Writer Android Application", "url": "https://github.com/joshuatz/nfc-epaper-writer", "published_at": "2021-05-20T22:54:31+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d02f87027", "title": "WebViewAssetLoader and WebViewClient with Kotlin", "url": "https://joshuatz.com/posts/2021/webviewassetloader-webviewclient-kotlin/", "published_at": "2021-05-10T16:10:33+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d039f20b7", "title": "Globlist Packer - NodeJS Powered File Packing Tool", "url": "https://github.com/joshuatz/globlist-packer", "published_at": "2021-04-29T01:54:52+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d03f4fcb9", "title": "Using TypeScript with WordPress Gutenberg Blocks", "url": "https://joshuatz.com/posts/2021/typescript-with-wordpress-gutenberg-blocks/", "published_at": "2021-04-17T10:42:55+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d04b7ab79", "title": "HTML Canvas - Filled Quarter and Partial Circles with Arc", "url": "https://joshuatz.com/posts/2021/canvas-filled-quarter-partial-circles-with-arc/", "published_at": "2021-03-25T07:14:55+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0537378d", "title": "Why Every Developer Should Care About Documentation", "url": "https://joshuatz.com/posts/2021/why-every-dev-should-care-about-docs/", "published_at": "2021-03-01T13:57:10+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d05a1a615", "title": "Strongly Typed Web and Service Workers with TypeScript", "url": "https://joshuatz.com/posts/2021/strongly-typed-service-workers/", "published_at": "2021-02-09T06:10:48+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d065b6fd2", "title": "Auto Compiled Svelte Tutorial Docs - Single Page Version", "url": "https://svelte-tuts-one-pager.netlify.app/", "published_at": "2021-02-04T03:36:07+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d06c2228a", "title": "Light Screen Display - Virtual Fill Light", "url": "https://joshuatz.com/projects/web-stuff/light-screen-display/", "published_at": "2021-02-02T16:34:38+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d076c93f1", "title": "Google Sheets - How To Split a String Into Characters", "url": "https://joshuatz.com/posts/2021/google-sheets-split-string-into-characters/", "published_at": "2021-01-31T13:53:46+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d082cf902", "title": "Brain Breaks Browser - Online Web App for Fun Activities", "url": "https://joshuatz.com/projects/web-stuff/brain-breaks-browser-online/", "published_at": "2021-01-20T00:08:44+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d08d67850", "title": "How to Embed, Inline, and Reference SVG Files in Svelte", "url": "https://joshuatz.com/posts/2021/using-svg-files-in-svelte/", "published_at": "2021-01-19T14:40:39+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d094cd55f", "title": "Guide: How To Deploy Preact from a Subdirectory", "url": "https://joshuatz.com/posts/2021/deploy-preact-from-subdirectory/", "published_at": "2021-01-02T09:54:45+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d09935df8", "title": "Google Sheets - Faster Data Exports Options, Including CSVs", "url": "https://joshuatz.com/posts/2021/google-sheets-faster-data-export-options/", "published_at": "2020-12-30T06:04:29+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0a6e9e3b", "title": "MedTimer - Shared Medication Timer and Tracker Web App", "url": "https://joshuatz.com/projects/web-stuff/medtimer-shared-medication-timer-and-tracker-web-app/", "published_at": "2020-12-29T09:44:28+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0b121c27", "title": "Common CSS Color Variables and Properties in Theming", "url": "https://joshuatz.com/posts/2021/common-css-color-variables-properties-theming/", "published_at": "2020-12-25T01:23:27+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0b6bc16d", "title": "Git SHA Badges for Deploys - Know Which Commit is Live", "url": "https://joshuatz.com/posts/2020/git-sha-badges-for-deploys/", "published_at": "2020-12-09T06:00:10+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0bcbac44", "title": "Rendering Non-Video Content in PiP - Experimental Project", "url": "https://joshuatz.com/projects/web-stuff/rendering-non-video-content-in-pip-experimental-project/", "published_at": "2020-12-02T20:30:45+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0caa1f8b", "title": "Investigating Stalled Video Segments in MediaSource Buffers", "url": "https://joshuatz.com/posts/2020/investigating-stalled-video-segments-in-mediasource-buffers/", "published_at": "2020-11-27T18:00:18+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0cfbc45b", "title": "Appending Videos in JavaScript with MediaSource Buffers", "url": "https://joshuatz.com/posts/2020/appending-videos-in-javascript-with-mediasource-buffers/", "published_at": "2020-11-25T16:56:29+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0d3bc83d", "title": "Migrating and Redirecting Subdomains with Netlify", "url": "https://joshuatz.com/posts/2020/migrating-and-redirecting-subdomains-with-netlify/", "published_at": "2020-11-22T18:00:46+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0de0dd63", "title": "Using Binary Data with Front-End JavaScript and the Web", "url": "https://joshuatz.com/posts/2020/using-binary-data-with-front-end-javascript-and-the-web/", "published_at": "2020-11-21T00:59:26+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0e7ac9b1", "title": "Firefox Backup Bookmarks Options and Automated Scripts", "url": "https://joshuatz.com/posts/2020/firefox-backup-bookmarks-options-and-automated-scripts/", "published_at": "2020-11-17T22:47:32+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0e7ff02e", "title": "Get and use local executables through NPM or Yarn", "url": "https://joshuatz.com/posts/2020/get-and-use-local-executables-through-npm-or-yarn/", "published_at": "2020-11-10T05:45:32+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0e8ea4a0", "title": "Keep a Shell Open in NodeJS and Reuse for Multiple Commands", "url": "https://joshuatz.com/posts/2020/keep-a-shell-open-in-nodejs-and-reuse-for-multiple-commands/", "published_at": "2020-11-08T08:28:48+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d0f72fcc3", "title": "Adding Extra Attributes to Style and Script Tags in Wordpress", "url": "https://joshuatz.com/posts/2020/adding-extra-attributes-to-style-and-script-tags-in-wordpress/", "published_at": "2020-10-24T19:09:09+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d1029510f", "title": "Make Ten Card Game with Svelte and TypeScript", "url": "https://joshuatz.com/projects/web-stuff/make-ten-card-game-with-svelte-and-typescript/", "published_at": "2020-10-04T09:02:32+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d10486dab", "title": "Offline-First Database Options for Web Applications in 2020", "url": "https://joshuatz.com/posts/2020/offline-first-database-options-for-web-applications-in-2020/", "published_at": "2020-09-28T04:12:08+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d10a3b08e", "title": "Adding an Emoji-Log Picker With Native VS Code Snippets", "url": "https://joshuatz.com/posts/2020/adding-an-emoji-log-picker-with-native-vs-code-snippets/", "published_at": "2020-09-22T21:29:03+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d117ccaa6", "title": "Getting The Word Count of Multiple Markdown Files", "url": "https://joshuatz.com/posts/2020/getting-the-word-count-of-multiple-markdown-files/", "published_at": "2020-09-15T16:57:45+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d120e14ba", "title": "Selenium Webdriver - Disabling Chrome Logging Messages", "url": "https://joshuatz.com/posts/2020/selenium-webdriver-disabling-chrome-logging-messages/", "published_at": "2020-09-09T06:50:16+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d127b9ace", "title": "Fixing JSX types between Preact and React Libraries", "url": "https://joshuatz.com/posts/2020/fixing-jsx-types-between-preact-and-react-libraries/", "published_at": "2020-09-06T13:25:26+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d133fcb0a", "title": "Getting Files In a Project Based on Gitignore Exclusions", "url": "https://joshuatz.com/posts/2020/getting-files-in-a-project-based-on-gitignore-exclusions/", "published_at": "2020-09-02T16:32:03+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d14329cc4", "title": "NPM Package: static-build-cache CLI and Module", "url": "https://joshuatz.com/projects/web-stuff/npm-package-static-build-cache-cli-and-module/", "published_at": "2020-08-28T05:34:29+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d14521f75", "title": "How to Fix Android Messages Having No Notification Sound", "url": "https://joshuatz.com/posts/2020/how-to-fix-android-messages-having-no-notification-sound/", "published_at": "2020-08-26T04:22:15+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d1511365d", "title": "Video PiP (Picture-in-Picture) Enabler Bookmarklet", "url": "https://joshuatz.com/mini-tools/2020/video-pip-picture-in-picture-enabler-bookmarklet/", "published_at": "2020-08-22T04:24:30+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d15d95723", "title": "Testing Git Outside Source - Thank You Temp Directories!", "url": "https://joshuatz.com/posts/2020/testing-git-outside-source-thank-you-temp-directories/", "published_at": "2020-08-20T06:07:58+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d16066dd4", "title": "How to Fix Create-React-App Projects Stalling on Glitch", "url": "https://joshuatz.com/posts/2020/how-to-fix-create-react-app-projects-stalling-on-glitch/", "published_at": "2020-08-15T19:09:40+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d16c1e5b5", "title": "NPM Package: detect-is-on-glitch CLI, module, and script", "url": "https://joshuatz.com/projects/web-stuff/npm-package-detect-is-on-glitch-cli-module-and-script/", "published_at": "2020-08-14T05:59:45+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d16fd5e6d", "title": "How to Delete Files Based on a Pattern with SHX and ShellJS", "url": "https://joshuatz.com/posts/2020/how-to-delete-files-based-on-a-pattern-with-shx-and-shelljs/", "published_at": "2020-07-23T23:13:37+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d174eade9", "title": "Using Google Forms for Quick Website Feedback and Bug Reports", "url": "https://joshuatz.com/posts/2020/using-google-forms-for-quick-website-feedback-and-bug-reports/", "published_at": "2020-06-30T08:19:50+00:00" }, { "id": "01a08791-5e6e-700c-a6a0-ca5d180ce298", "title": "Twitter Iframe Embed Generator", "url": "https://joshuatz.com/projects/web-stuff/twitter-iframe-embed-generator/", "published_at": "2020-06-16T02:04:25+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2b4bfdc7", "title": "Elliptical Street View Controller - Arduino USB Adapter", "url": "https://joshuatz.com/projects/electronics/elliptical-street-view-controller-arduino-usb-adapter/", "published_at": "2020-06-10T00:48:19+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2b6db7df", "title": "Finding a Cheap Webcam in 2020, and Alternative Solutions", "url": "https://joshuatz.com/posts/2020/finding-a-cheap-webcam-in-2020-and-alternative-solutions/", "published_at": "2020-06-07T17:00:49+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2c1acb01", "title": "Export LinkedIn Profiles and Connections to VCard or Sync", "url": "https://joshuatz.com/posts/2020/export-linkedin-profiles-and-connections-to-vcard-or-sync/", "published_at": "2020-06-05T17:46:28+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2cdcebf6", "title": "VR PSA - Check Your Cable Setup When Using Extensions", "url": "https://joshuatz.com/posts/2020/vr-psa-check-your-cable-setup-when-using-extensions/", "published_at": "2020-06-03T09:39:07+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2ceecac7", "title": "VSCode Intellisense Autocomplete for Webpack Config Files", "url": "https://joshuatz.com/posts/2020/vscode-intellisense-autocomplete-for-webpack-config-files/", "published_at": "2020-05-15T02:27:36+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2dd02e52", "title": "Building a Perfectly-Sized Dynamic Cover Image with Cloudinary", "url": "https://joshuatz.com/posts/2020/building-a-perfectly-sized-dynamic-cover-image-with-cloudinary/", "published_at": "2020-05-13T08:30:54+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2dd88166", "title": "Scripting My Morning Wake-Up Alarm and Lights with Android and Kasa", "url": "https://joshuatz.com/posts/2020/scripting-my-morning-wake-up-alarm-and-lights-with-android-and-kasa/", "published_at": "2020-05-06T03:56:20+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2e77f04e", "title": "Get ALT Keyboard Shortcuts Working Quickly With JavaScript", "url": "https://joshuatz.com/posts/2020/get-alt-keyboard-shortcuts-working-quickly-with-javascript/", "published_at": "2020-04-28T23:18:09+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2eaea4d4", "title": "React Github Contribution Graph Mock Tool", "url": "https://joshuatz.com/projects/web-stuff/react-github-contribution-graph-mock-tool/", "published_at": "2020-04-14T23:03:34+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2f87d36a", "title": "Remote Tutoring Software - Screen Sharing and Video Call Showdown", "url": "https://joshuatz.com/posts/2020/remote-tutoring-software-screen-sharing-and-video-call-showdown/", "published_at": "2020-04-04T19:35:12+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae2febd2d5", "title": "Prettier Function Parenthesis Spacing - Opinionated is Key", "url": "https://joshuatz.com/posts/2020/prettier-function-parenthesis-spacing-opinionated-is-key/", "published_at": "2020-04-03T19:20:10+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3038e690", "title": "Click and Drag Mobile Touchscreen Mouse Mapping", "url": "https://joshuatz.com/posts/2020/click-and-drag-mobile-touchscreen-mouse-mapping/", "published_at": "2020-03-30T10:26:16+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae311bc3de", "title": "Right Click and Drag - AutoHotkey Program", "url": "https://github.com/joshuatz/right-click-and-drag", "published_at": "2020-03-26T06:02:00+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3193e53b", "title": "Using Windows Task Scheduler to Automate NodeJS Scripts", "url": "https://joshuatz.com/posts/2020/using-windows-task-scheduler-to-automate-nodejs-scripts/", "published_at": "2020-02-20T17:33:44+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae323408d9", "title": "Gatsby - Wrapping Markdown in HTML Divs with Custom Classes", "url": "https://joshuatz.com/posts/2020/gatsby-wrapping-markdown-in-html-divs-with-custom-classes/", "published_at": "2020-02-18T18:49:35+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae32db50ed", "title": "5 Underrated Built-In VSCode Features", "url": "https://joshuatz.com/posts/2020/5-underrated-built-in-vscode-features/", "published_at": "2020-01-02T01:59:00+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae33b946fb", "title": "Using Google Cloud Functions Permanent URL to Proxy Ngrok Requests", "url": "https://joshuatz.com/posts/2019/using-google-cloud-functions-permanent-url-to-proxy-ngrok-requests/", "published_at": "2019-11-28T20:12:37+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae33df69a3", "title": "Google Cloud Functions HTTP Proxy Relay with http-proxy-middleware", "url": "https://joshuatz.com/posts/2019/google-cloud-functions-http-proxy-relay-with-http-proxy-middleware/", "published_at": "2019-11-24T10:35:17+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae34cd36c4", "title": "Docker-Compose: Relative Env Files with Variable Substitution", "url": "https://joshuatz.com/posts/2019/docker-compose-relative-env-files-variable-substitution/", "published_at": "2019-11-16T02:36:06+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae34d4f2c3", "title": "Chai Testing - Expecting Array To Not Include Members", "url": "https://joshuatz.com/posts/2019/chai-testing-expecting-array-to-not-include-members/", "published_at": "2019-10-28T05:50:10+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae350e9b6f", "title": "Reddit APIs and Manually Building Reddit Embeds", "url": "https://joshuatz.com/posts/2019/reddit-apis-and-building-reddit-embeds/", "published_at": "2019-10-09T19:02:01+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae355bc076", "title": "Music Meta DOM Scraper - Simple Meta Info Grabber", "url": "https://joshuatz.com/projects/web-stuff/music-meta-dom-scraper/", "published_at": "2019-09-30T17:19:39+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae35d25460", "title": "NodeJS: Injecting Values, Sharing Globals, and General Mischief", "url": "https://joshuatz.com/posts/2019/nodejs-injecting-values-sharing-globals-general-mischief/", "published_at": "2019-09-27T08:48:46+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae36b90486", "title": "Unix/Linux File Creation Stamps (aka birthtime), and NodeJS", "url": "https://joshuatz.com/posts/2019/unix-linux-file-creation-stamps-aka-birthtime-and-nodejs/", "published_at": "2019-09-23T09:01:06+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae37093bc9", "title": "Git-Date-Extractor NPM Package and CLI Tool", "url": "https://joshuatz.com/projects/applications/git-date-extractor-npm-package-and-cli-tool/", "published_at": "2019-09-21T04:08:30+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae37249aea", "title": "Gatsby - Better Last Updated or Modified Dates for Posts", "url": "https://joshuatz.com/posts/2019/gatsby-better-last-updated-or-modified-dates-for-posts/", "published_at": "2019-09-12T04:59:46+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3736e423", "title": "Cheatsheets and Snippets - Markdown Powered Gatsby Mini Site", "url": "https://joshuatz.com/projects/web-stuff/cheatsheets-and-snippets-markdown-powered-gatsby-mini-site/", "published_at": "2019-08-25T03:26:02+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3764e422", "title": "Gatsby - Automatic Directory Listing Pages - Beginner's Attempt", "url": "https://joshuatz.com/posts/2019/gatsby-automatic-directory-listing-pages-beginners-attempt/", "published_at": "2019-08-21T01:36:21+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3825c2be", "title": "WordPress - Relative Stylesheets and Scripts, Plus wp-config.php Order", "url": "https://joshuatz.com/posts/2019/wordpress-relative-stylesheets-scripts-plus-wp-config-php-order/", "published_at": "2019-08-18T15:00:38+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3892b0a5", "title": "Coding a CSS Theme Switcher - a Multitude of Web Dev Options", "url": "https://joshuatz.com/posts/2019/coding-a-css-theme-switcher-a-multitude-of-web-dev-options/", "published_at": "2019-08-16T15:00:36+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae395215e1", "title": "Sass-Embed: Dynamic embedded SASS/SCSS-to-CSS Playground", "url": "https://joshuatz.com/projects/web-stuff/sass-embed-dynamic-embeddable-sass-scss-to-css-playground/", "published_at": "2019-08-15T09:11:38+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3a44fb5e", "title": "Wordpress - Script and Style Tags - Adding Defer, Async, and Lazy Load", "url": "https://joshuatz.com/posts/2019/wordpress-script-and-style-tags-adding-defer-async-and-lazy-load/", "published_at": "2019-08-11T09:29:24+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3a92b01b", "title": "How to Get Github to Recognize a Pure Markdown Repo", "url": "https://joshuatz.com/posts/2019/how-to-get-github-to-recognize-a-pure-markdown-repo/", "published_at": "2019-07-31T15:00:44+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3ae36c7d", "title": "Vue - Mixing SASS with SCSS, with Vuetify as an Example", "url": "https://joshuatz.com/posts/2019/vue-mixing-sass-with-scss-with-vuetify-as-an-example/", "published_at": "2019-07-30T09:34:28+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3b7fe1a8", "title": "Google Data Studio - Custom Toggl Time Tracker Connector", "url": "https://joshuatz.com/projects/marketing/google-data-studio-toggl-time-tracker-connector/", "published_at": "2019-07-05T16:01:05+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3bc4155c", "title": "Custom WordPress Theme and PHP Helpers: joshuatz-wp-theme", "url": "https://joshuatz.com/projects/web-stuff/custom-wordpress-theme-and-php-helpers-joshuatz-wp-theme/", "published_at": "2019-07-01T23:36:31+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3c7d4de0", "title": "Developing a Google Data Studio Connector - Tips and Gotchas", "url": "https://joshuatz.com/posts/2019/developing-a-google-data-studio-connector-tips-and-gotchas/", "published_at": "2019-07-01T05:11:58+00:00" }, { "id": "01a08791-5e6f-7362-b0a9-9cae3d57e3d5", "title": "Google Sheets: UNICODE() Char Code to UTF-8, Decimal and Binary", "url": "https://joshuatz.com/posts/2019/google-sheets-utf-16-char-code-to-utf-8-decimal-and-binary/", "published_at": "2019-06-25T23:58:28+00:00" } ] posts
Claim your blog
Back to joshuatz.com
Blog · corpus.blog/blogs/joshuatz.com/posts
joshuatz.com
joshuatz.com
2026
Depth-Viewport: A Headset-Free 2D to 3D Web App Demo
original ↗
6 Sept 2026
A Surprising Python Gotcha - Clashing Package Names
original ↗
30 May 2026
Developing with Astro - Notes on Some Random Rough Edges
original ↗
2 May 2026
Yet Another Site Rebuild
original ↗
1 May 2026
2023
What Makes Svelte So Great - Features and Comparisons
original ↗
7 Dec 2023
Shell Heredocs - for Fun and Profit, in Bash and Beyond
original ↗
17 Nov 2023
Writing Slack Messages with Markdown (Multiple Options)
original ↗
14 Mar 2023
2022
We Should Care More About Higher Level Documentation
original ↗
26 Sept 2022
Pytest Productivity - Tips I Wish I Had Known Sooner
original ↗
12 Aug 2022
How to Bulk Delete Album or Track Scrobbles on Last.fm
original ↗
29 Jul 2022
YouTube History Bulk Deletion Script
original ↗
6 Jun 2022
Nook Simple Touch - Factory Reset & Bypass Network Error
original ↗
7 Feb 2022
Support Me and My Content
original ↗
9 Jan 2022
2021
Writing for DigitalOcean - Gatsby Tutorial Series
original ↗
15 Nov 2021
Canvas Hit Detection Methods - With or Without Tolerances
original ↗
25 Sept 2021
How to Use and Customize Lighthouse - CLI & NodeJS
original ↗
12 Jul 2021
Android WebView - Intercepting and Blocking Requests
original ↗
1 Jun 2021
Svelte Weather App
original ↗
30 May 2021
Express - Selectively Using CSURF for CSRF Protection
original ↗
28 May 2021
Info on WaveShare Passive NFC-Powered E-Paper Modules
original ↗
20 May 2021
NFC E-Paper Writer Android Application
original ↗
20 May 2021
WebViewAssetLoader and WebViewClient with Kotlin
original ↗
10 May 2021
Globlist Packer - NodeJS Powered File Packing Tool
original ↗
29 Apr 2021
Using TypeScript with WordPress Gutenberg Blocks
original ↗
17 Apr 2021
HTML Canvas - Filled Quarter and Partial Circles with Arc
original ↗
25 Mar 2021
Why Every Developer Should Care About Documentation
original ↗
1 Mar 2021
Strongly Typed Web and Service Workers with TypeScript
original ↗
9 Feb 2021
Auto Compiled Svelte Tutorial Docs - Single Page Version
original ↗
4 Feb 2021
Light Screen Display - Virtual Fill Light
original ↗
2 Feb 2021
Google Sheets - How To Split a String Into Characters
original ↗
31 Jan 2021
Brain Breaks Browser - Online Web App for Fun Activities
original ↗
20 Jan 2021
How to Embed, Inline, and Reference SVG Files in Svelte
original ↗
19 Jan 2021
Guide: How To Deploy Preact from a Subdirectory
original ↗
2 Jan 2021
2020
Google Sheets - Faster Data Exports Options, Including CSVs
original ↗
30 Dec 2020
MedTimer - Shared Medication Timer and Tracker Web App
original ↗
29 Dec 2020
Common CSS Color Variables and Properties in Theming
original ↗
25 Dec 2020
Git SHA Badges for Deploys - Know Which Commit is Live
original ↗
9 Dec 2020
Rendering Non-Video Content in PiP - Experimental Project
original ↗
2 Dec 2020
Investigating Stalled Video Segments in MediaSource Buffers
original ↗
27 Nov 2020
Appending Videos in JavaScript with MediaSource Buffers
original ↗
25 Nov 2020
Migrating and Redirecting Subdomains with Netlify
original ↗
22 Nov 2020
Using Binary Data with Front-End JavaScript and the Web
original ↗
21 Nov 2020
Firefox Backup Bookmarks Options and Automated Scripts
original ↗
17 Nov 2020
Get and use local executables through NPM or Yarn
original ↗
10 Nov 2020
Keep a Shell Open in NodeJS and Reuse for Multiple Commands
original ↗
8 Nov 2020
Adding Extra Attributes to Style and Script Tags in Wordpress
original ↗
24 Oct 2020
Make Ten Card Game with Svelte and TypeScript
original ↗
4 Oct 2020
Offline-First Database Options for Web Applications in 2020
original ↗
28 Sept 2020
Adding an Emoji-Log Picker With Native VS Code Snippets
original ↗
22 Sept 2020
Getting The Word Count of Multiple Markdown Files
original ↗
15 Sept 2020
Selenium Webdriver - Disabling Chrome Logging Messages
original ↗
9 Sept 2020
Fixing JSX types between Preact and React Libraries
original ↗
6 Sept 2020
Getting Files In a Project Based on Gitignore Exclusions
original ↗
2 Sept 2020
NPM Package: static-build-cache CLI and Module
original ↗
28 Aug 2020
How to Fix Android Messages Having No Notification Sound
original ↗
26 Aug 2020
Video PiP (Picture-in-Picture) Enabler Bookmarklet
original ↗
22 Aug 2020
Testing Git Outside Source - Thank You Temp Directories!
original ↗
20 Aug 2020
How to Fix Create-React-App Projects Stalling on Glitch
original ↗
15 Aug 2020
NPM Package: detect-is-on-glitch CLI, module, and script
original ↗
14 Aug 2020
How to Delete Files Based on a Pattern with SHX and ShellJS
original ↗
23 Jul 2020
Using Google Forms for Quick Website Feedback and Bug Reports
original ↗
30 Jun 2020
Twitter Iframe Embed Generator
original ↗
16 Jun 2020
Elliptical Street View Controller - Arduino USB Adapter
original ↗
10 Jun 2020
Finding a Cheap Webcam in 2020, and Alternative Solutions
original ↗
7 Jun 2020
Export LinkedIn Profiles and Connections to VCard or Sync
original ↗
5 Jun 2020
VR PSA - Check Your Cable Setup When Using Extensions
original ↗
3 Jun 2020
VSCode Intellisense Autocomplete for Webpack Config Files
original ↗
15 May 2020
Building a Perfectly-Sized Dynamic Cover Image with Cloudinary
original ↗
13 May 2020
Scripting My Morning Wake-Up Alarm and Lights with Android and Kasa
original ↗
6 May 2020
Get ALT Keyboard Shortcuts Working Quickly With JavaScript
original ↗
28 Apr 2020
React Github Contribution Graph Mock Tool
original ↗
14 Apr 2020
Remote Tutoring Software - Screen Sharing and Video Call Showdown
original ↗
4 Apr 2020
Prettier Function Parenthesis Spacing - Opinionated is Key
original ↗
3 Apr 2020
Click and Drag Mobile Touchscreen Mouse Mapping
original ↗
30 Mar 2020
Right Click and Drag - AutoHotkey Program
original ↗
26 Mar 2020
Using Windows Task Scheduler to Automate NodeJS Scripts
original ↗
20 Feb 2020
Gatsby - Wrapping Markdown in HTML Divs with Custom Classes
original ↗
18 Feb 2020
5 Underrated Built-In VSCode Features
original ↗
2 Jan 2020
2019
Using Google Cloud Functions Permanent URL to Proxy Ngrok Requests
original ↗
28 Nov 2019
Google Cloud Functions HTTP Proxy Relay with http-proxy-middleware
original ↗
24 Nov 2019
Docker-Compose: Relative Env Files with Variable Substitution
original ↗
16 Nov 2019
Chai Testing - Expecting Array To Not Include Members
original ↗
28 Oct 2019
Reddit APIs and Manually Building Reddit Embeds
original ↗
9 Oct 2019
Music Meta DOM Scraper - Simple Meta Info Grabber
original ↗
30 Sept 2019
NodeJS: Injecting Values, Sharing Globals, and General Mischief
original ↗
27 Sept 2019
Unix/Linux File Creation Stamps (aka birthtime), and NodeJS
original ↗
23 Sept 2019
Git-Date-Extractor NPM Package and CLI Tool
original ↗
21 Sept 2019
Gatsby - Better Last Updated or Modified Dates for Posts
original ↗
12 Sept 2019
Cheatsheets and Snippets - Markdown Powered Gatsby Mini Site
original ↗
25 Aug 2019
Gatsby - Automatic Directory Listing Pages - Beginner's Attempt
original ↗
21 Aug 2019
WordPress - Relative Stylesheets and Scripts, Plus wp-config.php Order
original ↗
18 Aug 2019
Coding a CSS Theme Switcher - a Multitude of Web Dev Options
original ↗
16 Aug 2019
Sass-Embed: Dynamic embedded SASS/SCSS-to-CSS Playground
original ↗
15 Aug 2019
Wordpress - Script and Style Tags - Adding Defer, Async, and Lazy Load
original ↗
11 Aug 2019
How to Get Github to Recognize a Pure Markdown Repo
original ↗
31 Jul 2019
Vue - Mixing SASS with SCSS, with Vuetify as an Example
original ↗
30 Jul 2019
Google Data Studio - Custom Toggl Time Tracker Connector
original ↗
5 Jul 2019
Custom WordPress Theme and PHP Helpers: joshuatz-wp-theme
original ↗
1 Jul 2019
Developing a Google Data Studio Connector - Tips and Gotchas
original ↗
1 Jul 2019
Google Sheets: UNICODE() Char Code to UTF-8, Decimal and Binary
original ↗
25 Jun 2019
Next