Posts
How to Keep Inline MathJax and Adjacent Punctuation on the Same Line
Ever notice that sometimes a line break will occur between an inline MathJax equation and an immediately adjacent punctuation mark? In this post I show how to prevent that (with MathJax 3).Covariant Electrodynamics the Easy Way, Part II: “Electrodyadics” (Tensors Lite)
In Part I, I introduced covariant electrodynamics by extending the vector triple product to Minkowski spacetime. In this second part, I cover the same material in a slightly more sophisticated but still-approachable way, by extending dyadics to Minkowski spacetime. No index gymnastics, and no prior knowledge of tensors or dyadics needed.MathJax 3 in Jekyll and Kramdown
Setting up MathJax 3 in Jekyll with Kramdown is a bit trickier than it was with MathJax 2. Here is how to do it, with a bonus script for always keeping an inline MathJax equation on the same line as immediately adjacent punctuation.Covariant Electrodynamics the Easy Way, Part I: Vector Triple Products in Minkowski Spacetime
I show how the vector triple product can be extended to four-vectors in Minkowski spacetime, even though the cross product itself is undefined in four dimensions. This provides an easy and intuitive way of learning the basics of manifestly covariant electrodynamics (no need for rank-2 tensors or index gymnastics). As far as I know, my approach is unique.Testing MathJax: Using Trace to Rearrange Matrix Products
My first post using MathJax. I explain how I load the script conditionally, and I share a little matrix maneuver I recently discovered.Ch-ch-ch-ch-changes: ES Modules in Node 12; Upgrading core-js
Just cataloging a couple of updates I’ve made to my JavaScript/Node workflow.Testing Your Site in Various Browsers on macOS
It took me a while to figure out how to test my web projects on various browsers with nothing but my MacBook Pro and Android phone. Here is what I’ve learned.Restricting User Input on a Number-Type Input Box in React
React displays unexpected (buggy?) behavior when you try to manually impose user-input restrictions on input boxes with thetype="number"
attribute. In this post I demonstrate the problem and provide a fix.How to Serve ES6+ to Modern Browsers and ES5 to Legacy Browsers
The time has come to stop indiscriminately serving polyfill-bloated ES5-compiled JavaScript to all clients! Modern browsers that can handle slimmer ES6+ bundles should get them. The usual way of doing this with thescript
tag’s newtype="module"
andnomodule
attributes is nice but flawed. I offer an alternative that accomplishes the same thing without forcing legacy browsers to needlessly download ES6+ bundles they can’t run.
subscribe via RSS