News
Tech Driven Deflation
The article Will Tech-Driven Deflation Export Japan’s Economic Woes to the World?reminded me of this video, "Evolution of the Desk": The origin for the above video is http://bestreviews.com/electronics#evolution-of-the-desk. Each time an object gets digitized that's one less object to manufacture, one less object to ship, one less object consuming raw materials. It's actually more surprising that this hasn't had an even larger impact on the U.
News
Prometheus vs InfluxDB
We just finished migrating all of our monitoring from InfluxDB to Prometheus and I thought I'd write up our reasons for the change. Please note that these are my own personal observations and relate to a specific project, these issue may not apply to you and you should evaluate each product for your own uses. Update: To clarify, the versions of InfluxDB and Prometheus that I am talking about are InfluxDB 1.
News
Pat McCrory in the context of elite overproduction.
As we head into the fourth week of Pat McCrory's failure to conceeed in the NC gubernatorial race, it's important to look at McCrory's infantile behavior in a larger context. While it would be tempting to try to psychoanalyze his continued intransigence as yet another man-child temper tantrum, there are larger forces at work, of which McCrory is just one sad symptom. The root of the problem stems from the ever widening wealth gap and subsequent elite overproduction.
News
Surely we've seen this before. Not.
You might think that as the U.S. moves from an industrial and manufacturing based economy to a knowledge based economy that we surely have weathered similar tranistions. For example, as we moved from an agricultural economy to a manufacturing based one. While we did indeed weather the same changes, the vital difference is the timescale over which those changes took place. As you can see from this data on agricultural employment, we did experience a loss of 6 million agricultural jobs over a 50 year period from 1910 to 1960.
News
This is voter suppression.
To get an idea of voter suppression in action let's overlap the The Racial Dot Map with Wake County's early voting locations.
News
The LCD Toy Universe
.plot { border-bottom: solid lightgray 1px; border-left: solid lightgray 1px; margin: 1em 0; } canvas { display: block; } button { min-width: 5.14em; background-color: #fff; color: #1f78b4; text-align: center; text-transform: uppercase; outline: none; border-radius: 3px; padding: 0.6em 1.2em; border: solid lightgray 1px; margin: 0.6em; } button:hover { background: #eee; } button:focus { background-color: #ddd; transition: background-color 0.1s cubic-bezier(0.4, 0, 0.2, 1); } select, input, label { margin: 0.6em 0 0.
News
HTTPS
Bitworking is now served over HTTPS thanks to Let's Encrypt, in particular to the rsc.io/letsencrypt Go library which made it trivial to implement. Next up, Webmention.
News
GOP Climate Change Denial Timeline
Building on The Republican race: Five degrees of climate denial, extended to the full seven stages: Stage 1: Denial Pre 2010 - The climate is not changing. Stage 2: Ignorance 2010 - The climate might be changing, or it might not, we just don't know. Stage 3: GAIA Bashing 2014 - Climate change is real, but it’s natural. Stage 4: We so tiny 2016 - Climate change is real, but humans aren't the primary cause.
News
Inertial Balance
What to do when it's late at night and your high schooler says his table wasn't able to complete their physics lab today because they were missing equipment, and the teacher said, maybe half jokingly, that they could complete the lab at home if they didn't finish it in class? That's right, you build experimental equipment in your garage. This is the Interial Balance we built from scratch using two hacksaw blades.
News
An update on httplib2
It's March 2016 and that means I've been building and maintaining httplib2 for over 10 years. As with most of my best software, httplib2 was initially a rage-based project, fed by my disgust on the state of HTTP client libraries in 2006. In the past 10 years it's gathered quite a following, with 0.9.2 current being downloaded from PyPI: 37297 downloads in the last day 210596 downloads in the last week 830573 downloads in the last month I'm done.
News
Piccolo Now Sports LaTeX Support
Update [June 2017]: Scratch that, after moving the blog over to Jekyll I moved over to using MathJax for LaTeX support. And I never did add Julia support, oh well.
In the first of two enhancements to piccolo, LaTeX support has been added. Just put the LaTeX in a latex-pic element and it will be converted to a PNG, with the alt text set to the LaTeX code. <latex-picE = mc^2</latex-pic Transforms into:
News
Halloween Dragon
We do large displays for Halloween, usually involving converting the garage into a haunted house. They're major undertakings, with four or more actors, so we only do them every other year. I also try to roll a "build" into every Halloween. For example, 6 years ago I built this as part of the haunted house: And two years ago the same skeleton got taken out of the jail and laid out on a table, this time animated with pneumatics.
News
Dragon Sound Effects Web Audio API
.controls button:hover { background: #eee; } .controls button { padding: 1em; background-color: white; border: solid gray 1px; } A sound effects board with the sounds of a dragon built using the Web Audio API. Because Halloween. Start Snoring Stop Snoring Sniff Roar Chains: [Source] Roar: [Source] Sniff: [Source] Snore: [Source] Code function onload() { var audioCtx = new (window.
News
Six Places
Note: This post was updated in Jan 2017 to use the Custom Elements V1 spec. One of the questions that comes up regularly when talking about zero frameworksis how can you expect to stitch together an application without a framework? The short answer is "the same way you stitch together native elements," but I think it's interesting and instructional to look at those ways of stitching elements together individually.
News
gRPC
Today Google launched gRPC, a new HTTP/2 and Protocol Buffer based system for building APIs. This is Google's third system for web APIs. The first system was Google Data, which was based on the Atom Publishing Protocol [RFC 5023]. It was an XML protocol over HTTP. The serving system for that grew, but started to hit scalability issues at around 50 APIs. The scaling issues weren't in the realm of serving QPS, but more in the management of that many APIs, such as rolling out new features across all APIs and all clients.
News
Detecting Benchmark Regression
Subtitle if this were an academic paper, which it’s not: A k-means clustering derived point statistic highly correlated with regressions in commit-series data with applications to automatic anomaly detection in large sets of benchmark results.
TL;DR: To detect regressions in benchmark data over a series of commits use k-means clustering on mean and variance normed commit-series. For each of the clusters find the best fitting step function to each cluster’s centroid.
News
Observations on hg and git
Having recently moved to using Git from Mercurial here are my observations: Git just works No matter what I try to do, there's a short and simple git command that does it. Need to copy a single file from one branch to my current branch, need to roll back the last two commits and place their changes into the index, need to push or pull from a local branch to a remote and differently named branch, there are all ways to do those things.
News
No more JS frameworks
Stop writing Javascript frameworks. Translations: Chinese Japanese Russian Here's the talk, based on this essay, that I gave at OSCON 2015. [Slides] The 100-line templating library presented as a Gist has been cleaned up, documented, and published as the Stamp library. JavaScript frameworks seem like death and taxes; inevitable and unavoidable. I'm sure that if I could be a fly on that wall every time someone started a new web project, the very first question they'd ask is, which JS framework are we using?
News
IPython and Curves
So I've been impressed with IPython so far, it can be a little fiddly to install, but given the power I'm not going to complain. I'm now working on graphics and in trying to get up to speed going back and learning, or relearning, some basics. Today was Bézier curves, and thus this IPython notebook. Note that the content there isn't actually educational, you should follow the links provided to really learn about these constructs, I just wanted an excuse to try out LaTeX and plot some interesting graphs.
News
The shiny parabolic broadcast spreader of vomit
Due to suspected food poisoning I checked into the local emergency room last night around 2 AM, trusty 13 gallon plastic garbage bag in hand, because, I've been throwing up. Once they get me into a room the nurse offers me a shallow pink plastic pan in exchange for my plastic garbage bag, and I'm thinking to myself, "Really, have you never seen anyone vomit in your entire life?