QEMU aarch64
A Request to a YouTube Video Downloads the Title 14 Times and Displays it Twice
Clever Curl
TIL About json.tool
Somehow I never heard about json.tool until just now. It's built in to Python and provides a simple way to pretty-print JSON on the CLI:
echo '{"og": "hi there"}' | python -m json.tool
{
"og": "hi there"
}
This is a nice alternative if you have Python installed and don't want to take the time to install jq.
In Search of a Production-Quality JavaScript Framework
Facebook has an opportunity to help curb a global pandemic
Get yourself off Google Analytics, in 5 minutes, for free, without self hosting
This site is now browsable with netcat/plain TCP
I just learned about HTML redirects
While trying to find a way to redirect NoScript users to the text version of my site, I discovered HTML redirects. How did I not know about these before?! Basically, it's a way to tell the browser to navigate to a different URL, without HTTP codes or JavaScript. To use it on my site, I just put the following in the head of my index.html:
<noscript>
<meta http-equiv="refresh" content="0; URL='https://apitman.com/txt/feed'" />
</noscript>
This site is now browsable with cURL
Please make your products work with URLs
Untitled
Services are just dynamic libraries where HTTP is the ABI
Compiling libfuse examples
Before You Reach For That Dependency
The 64 Milliseconds Manifesto
In an interactive software application, any user action SHOULD result in a noticeable change within 16ms, actionable information within 32ms, and at least one full screen of content within 64ms.
Debugging iOS Safari
It took me a sadly long time to realize my new website wasn't working at all on iOS safari (likely not desktop either). That's one of the pitfalls with making it a single page app. I still think the tradeoffs are worth it though.
Anyway, I needed a way to debug it, since Safari Web Inspector relies on having a Mac, and I'm on linux. Turns out this isn't a new problem, and the folks at google have an excellent debugging tool that was easy for me to set up:
Once I got the console working it became pretty obvious that the global config I had defined wasn't being seen inside my ES modules. Neither Firefox or Chrome have this behavior. Not sure what the standard says, but I was able to fix it by passing the config in to my components, which is a better practice anyway.
Rust, React, and WebAssembly
Make You a Static Site Generator
Deploying a Static Rust App in a Barebones Docker Container
Making a 100% Statically-Linked, Single-File Web App with React and Rust
Fix for Vimium that Stopped Working
I love the
Vimium extension for Chrome.
It basically provides VIM
keybindings for Chrome. But some of the bindings randomly quit working a
while back, probably after a Chrome update. A quick search didn't yield a
simple fix, so I just put up with it for an embarrassingly long time.
Finally today I did a bit more digging. Some of the issues on github seemed
to indicate local Chrome data might get messed up from updates. My solution
was to delete ~/.config/google-chrome
(actually
moved it to ~/.config/google-chrome.bak
just in case). I believe this
basically
removes all the local data for chrome, as if you had just installed it for the
first time. After starting Chrome back up and logging into my account, Vimium
is working again! I'm running Ubuntu 14.04 with Chrome 38 as of this
writing.