#22 2020-05-07 Open in Tab Fullscreen

Yearnings for a Production-Quality JavaScript Framework


#21 2020-03-27 Open in Tab Fullscreen

Facebook has an opportunity to help curb a global pandemic


#20 2020-01-28 Open in Tab Fullscreen

Get yourself off Google Analytics, in 5 minutes, for free, without self hosting


#19 2020-01-20 Open in Tab Fullscreen

This site is now browsable with netcat/plain TCP


#18 2020-01-15 Open in Tab Fullscreen

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:

  <meta http-equiv="refresh" content="0; URL='https://anderspitman.net/txt/feed'" />
#17 2020-01-14 Open in Tab Fullscreen

This site is now browsable with cURL


#16 2020-01-13 Open in Tab Fullscreen

Please make your products work with URLs


#15 2020-01-06 Open in Tab Fullscreen


Services are just dynamic libraries where HTTP is the ABI

#14 2019-10-02 Open in Tab Fullscreen

Compiling libfuse examples


#13 2019-09-24 Open in Tab Fullscreen

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.

#12 2019-09-23 Open in Tab Fullscreen

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.

#11 2019-09-27 Open in Tab Fullscreen

Before You Reach For That Dependency


#10 2018-06-27 Open in Tab Fullscreen

Rust, React, and WebAssembly


#9 2018-06-26 Open in Tab Fullscreen

Make You a Static Site Generator


#8 2018-06-19 Open in Tab Fullscreen

Deploying a Static Rust App in a Barebones Docker Container


#7 2018-04-04 Open in Tab Fullscreen

Making a 100% Statically-Linked, Single-File Web App with React and Rust


#6 2014-12-17T17:30:55Z Open in Tab Fullscreen

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.

#5 2014-12-01T22:43:09Z Open in Tab Fullscreen

How to Install the Google Play Store on Your Amazon Fire Phone


#4 2014-08-30T22:35:24Z Open in Tab Fullscreen

Chrome Extension PubSub


#3 2014-08-04T08:52:47Z Open in Tab Fullscreen

Chrome Extension Content Script Stylesheet Isolation


#2 2014-07-21T10:41:56Z Open in Tab Fullscreen

Asterisk ARI Quickstart Tutorial in Python


#1 2014-06-15T22:40:00Z Open in Tab Fullscreen

Setting up an IPython Development Environment from Source