One Big Fluke

mirrored from the original

Inside the Gopher’s Studio

A highlight from GopherCon earlier this year was “Inside the Gopher’s Studio”:

It’s all good to watch, but especially this gem from Rob Pike at 3:49:

“Most people don’t know that when I got to Bell Labs Bjarne Stroustrup was my officemate. Uh— we didn’t get along.”
from One Big Fluke

Somehow came across the Padovan sequence when looking up variations on coprimes.

Looks like a nautilus, which also happens to be my favorite magazine right now.
from One Big Fluke

More examples of perceptual diffs

I’ve found a few more examples of people using perceptual diff tools to do visual regression testing.

Saw this week that Twitter’s trying out dpxdt as well.
from One Big Fluke

Met self-proclaimed “senior software architect” who’d never heard of Go. Red flag. Curiosity is a defining trait of great programmers.
from One Big Fluke

Generics in Go via “generate”

I’m less interested in generics in Go after reading this intro to the Boost, the C++ template library. The resulting code is impenetrable to anyone but an expert. I don’t think generalization is as important as computer scientists say it is. Approachability should be the biggest concern given that developing software is almost always a social problem, not a technical one.

Rob Pike’s solution for generic programming in Go could be his proposal for the “generate” command in the Go toolchain. This addresses a whole range of requirements, including lexers, binary embedding, and protocol buffers. Templating for Go generics are just a natural consequence of the design. It’ll be interesting to see if existing attempts at generics in Go move to use “generate” instead.
from One Big Fluke

Python vs. Go at Dropbox

Dropbox rewrote some infrastructure and produced 200KLOC of Go. They open sourced their common Go libraries. That’s great. Some folks are saying this means they’ve abandoned Python. I don’t read it that way. Dropbox needs to reduce costs and scale up if they want to have an IPO. Moving to Go seems like a natural choice for a company heavily invested in Python. Brad says Go gives you “90% of the ease of scripting languages with 90% of the performance of systems languages.” That sounds right to me, but it makes the choice between Python and Go even more murky. I’m still searching for the dividing line.
from One Big Fluke

This website is the (addictive) Amazon Prime equivalent for machine shops.
from One Big Fluke

Current status: Requesting an estimate for 12 foot long, 43 pound bars of 6061 aluminum.
from One Big Fluke

Universal constructor

Related to visualizing algorithms, I rediscovered the Von Neumann universal constructor in cellular automata (like Conway’s game of life). I had never appreciated the similarity of this machine’s organization to DNA. From Wikipedia:

Von Neumann’s crucial insight is that part of the replicator has a double use; being both an active component of the construction mechanism, and being the target of a passive copying process. This part is played by the tape of instructions in Von Neumann’s combination of universal constructor plus instruction tape.

The combination of a universal constructor and a tape of instructions would i) allow self-replication, and also ii) guarantee that the open-ended complexity growth observed in biological organisms was possible. The image below illustrates this possibility.

This insight is all the more remarkable because it preceded the discovery of the structure of the DNA molecule by Watson and Crick, though it followed the Avery-MacLeod-McCarty experiment which identified DNA as the molecular carrier of genetic information in living organisms. The DNA molecule is processed by separate mechanisms that carry out its instructions and copy the DNA for insertion for the newly constructed cell. The ability to achieve open-ended evolution lies in the fact that, just as in nature, errors (mutations) in the copying of the genetic tape can lead to viable variants of the automaton, which can then evolve via natural selection.

from One Big Fluke

Mike Bostock’s huge page of visualizing algorithms is not to be missed.
from One Big Fluke