RSSAmplifier

Blog

Joshua Tzucker's Site

Personal portfolio and assorted projects of Joshua Tzucker.

joshuatz.comRSS feed ↗149 posts

Latest posts

A Surprising Python Gotcha - Clashing Package Names

Written after a frustrating day dealing with two Python packages trying to use the same module namespace - and learning the surprising way that Python (doesn't) handle this.

Developing with Astro - Notes on Some Random Rough Edges

Some random notes about issues encountered when developing with Astro for the first time, and fixes I came up with.

Yet Another Site Rebuild

Why I've let myself fall prey to the age-old developer trap of rewriting my personal site yet another time.

What Makes Svelte So Great - Features and Comparisons

A look at my favorite features of Svelte, comparisons to React and other frameworks, and what makes it a joy to use.

Shell Heredocs - for Fun and Profit, in Bash and Beyond

What are bash heredocs (Here Documents), and why they are so fun and useful to have. Covers both the basics and advanced usage and tricks.

Writing Slack Messages with Markdown (Multiple Options)

How to write or paste Markdown into Slack messages and have it formatted correctly, while still keeping the format toolbar, by using HTML pasting.

We Should Care More About Higher Level Documentation

Why we should all care more about higher-level documentation, a way to view documentation as a funnel, and an explanation of how things have changed.

Pytest Productivity - Tips I Wish I Had Known Sooner

A list of things I wish I had known sooner about using pytest and some general tips on usage and productivity with it.

How to Bulk Delete Album or Track Scrobbles on Last.fm

How to delete all last.fm scrobbles of a specific track or album, with Tidal Advertisements as an example.

YouTube History Bulk Deletion Script

Simple JavaScript snippet to manage YouTube history in bulk

Nook Simple Touch - Factory Reset & Bypass Network Error

How to bypass the network connectivity error when trying to factory reset a Nook Simple Touch ereader from Barnes & Noble.

Support Me and My Content

How to support the site, myself, and the content I produce.

Writing for DigitalOcean - Gatsby Tutorial Series

I wrote several of the posts in this series, on how to build static web sites with the Gatsby.js framework, working with a Senior Technical Editor to get articles from idea to publication.

Canvas Hit Detection Methods - With or Without Tolerances

How to determine point intersection or collision detection with Canvas paths, with or without tolerances / buffers / padding.

How to Use and Customize Lighthouse - CLI & NodeJS

An introductory guide to the different parts of Google Lighthouse, how to use it via CLI and NodeJS, and strategies for customizing its configuration.

Android WebView - Intercepting and Blocking Requests

How to use WebViewClient with Android WebView to hook into network requests, intercept them, and block or modify them if they match certain rules.

Svelte Weather App

Demo weather app project, using Svelte, TypeScript, and Express to power a web interface with a location-based forecast, powered by the AccuWeather API.

Express - Selectively Using CSURF for CSRF Protection

Approaches for using CSURF for CSRF protection, but only on certain routes, and some with the ability to extract the generated token from the request.

Info on WaveShare Passive NFC-Powered E-Paper Modules

Resources and information about the WaveShare line of NFC-Powered Passive E-Ink / E-Paper modules, complete with teardown pictures and some development tips.

NFC E-Paper Writer Android Application

Native Android application (Kotlin and Java) to update WaveShare Passively Powered NFC E-Paper Modules over NFC, and generate bitmaps for them.

WebViewAssetLoader and WebViewClient with Kotlin

How to use WebViewAssetLoader and WebViewClient, with Kotlin code and syntax, to load local HTML files from asset folders into a WebView component.

Globlist Packer - NodeJS Powered File Packing Tool

CLI and module for packing files into directories or archives, based on ignorelist files and glob patterns. Built with TypeScript and NodeJS, and highly configurable.

Using TypeScript with WordPress Gutenberg Blocks

How to use TypeScript with WordPress Blocks and the Gutenberg environment. Covers config changes, necessary dependencies, and some possible issues.

HTML Canvas - Filled Quarter and Partial Circles with Arc

How to use the Arc Canvas Web API method to draw partial filled circle segments, including quarter circles, and even with added rotation.

Why Every Developer Should Care About Documentation

Reasons why every developer should care about documentation. Personal, business, and practical reasons why writing documentation is worth it.

Strongly Typed Web and Service Workers with TypeScript

How to use TypeScript, or JSDoc-powered JavaScript, with Service Workers, as well as some important caveats for current issues.

Auto Compiled Svelte Tutorial Docs - Single Page Version

NodeJS-powered automation that extracts all the tutorial docs out of the Svelte repo and combines them into a single formatted HTML document.

Light Screen Display - Virtual Fill Light

A fun browser-based ring light / fill light app, that lets you control a virtual light on your screen.

Google Sheets - How To Split a String Into Characters

How to split a string into individual characters in Google Sheets, using a pure formula approach. Even handles line breaks and special characters.

Brain Breaks Browser - Online Web App for Fun Activities

Project write-up for Brain Breaks Browser - a simple Preact-based web app to manage fun break exercises and activities, with a few added bells and whistles.

How to Embed, Inline, and Reference SVG Files in Svelte

A guide on using SVG files with Svelte, and how to embed, inline-directly, or reference them, with or without rollup plugins.

Guide: How To Deploy Preact from a Subdirectory

A step-by-step guide on how to deploy a Preact app from a nested subdirectory, with instructions on updating Webpack, preact-router, and more.

Google Sheets - Faster Data Exports Options, Including CSVs

Options for getting data feeds out of Google Sheets, avoiding slow-to-update published CSV feed URLs, and custom scripting with Google Apps Scripts.

MedTimer - Shared Medication Timer and Tracker Web App

A small web app with a shared login system to track the status of timed medication doses, as well as scheduled medications and therapy durations.

Common CSS Color Variables and Properties in Theming

An effort to collect, categorize, and summarize some of the common CSS custom properties that are being used to maintain colors in modern theming approaches.

Git SHA Badges for Deploys - Know Which Commit is Live

Want a clear visual indicator in your app or documentation so you know *exactly* which commit was pushed and successfully deployed? Then this post is for you.

Rendering Non-Video Content in PiP - Experimental Project

An experimental project that delves into the idea of rendering non-video content in Picture-in-Picture windows, use-cases, and a discussion of the future.

Investigating Stalled Video Segments in MediaSource Buffers

Various ways to investigate stalled content attached to a MediaSource instance, and different causes that can be evaluated and tested.

Appending Videos in JavaScript with MediaSource Buffers

Exploring different ways to append videos to a MediaSource instance with SourceBuffers and appendBuffer calls. Includes fully functional examples and tips.

Migrating and Redirecting Subdomains with Netlify

The easy way to migrate from one subdomain to another, for the same site and primary domain, using Netlify Redirect settings and Custom Domain Aliases.

Using Binary Data with Front-End JavaScript and the Web

A comprehensive write-up on different ways to convert and use binary data in front-end JavaScript code, web browser APIs, and even your local filesystem.

Firefox Backup Bookmarks Options and Automated Scripts

An evaluation of different ways to backup and export Firefox Bookmarks, both manually and via automated scripts and tools.

Get and use local executables through NPM or Yarn

A short guide on how to get and use local binary paths for packages installed through NPM or Yarn, under node_modules, for multiple OSes.

Keep a Shell Open in NodeJS and Reuse for Multiple Commands

How to launch a shell with NodeJS, keep it open, and pipe commands in while capturing output. Also, a discussion on how this impacts performance.

Adding Extra Attributes to Style and Script Tags in Wordpress

A reusable method for adding arbitrary extra HTML attributes to enqueued styles and scripts in WordPress, using add_data and filters.

Make Ten Card Game with Svelte and TypeScript

Online educational addition game, where you try to create sets of playing cards that add up to 10. Built with Svelte and TypeScript, published as open-source.

Offline-First Database Options for Web Applications in 2020

Researching and summarizing offline database options for modern web applications, including low-level APIs, helpful wrapper libraries, SDKs, and more.

Adding an Emoji-Log Picker With Native VS Code Snippets

How VSCode Snippets can be used to add support for a customizable Emoji-Log picker, with just a few lines of code you can paste into settings.

Getting The Word Count of Multiple Markdown Files

How to use various tools to extract the word count from a markdown file, or even the summed count across multiple nested markdown files.

Selenium Webdriver - Disabling Chrome Logging Messages

How to disable Chrome's default stdout log messages that come through Selenium Webdriver on NodeJS, such as the "DevTools listening on ws..." message.