Cover photo
Tim Goh
86 followers|121,406 views


Tim Goh

Shared publicly  - 
pretty happy with my first effort at anapestic tetrameter, albeit mostly cribbed from The Destruction of Sennacherib:

When the network partition hit pager bells tolled
And the ops team lay cursing at devs uncontrolled
The technology chosen was MongoDB
Thus they forsook both five nines and consistency
Add a comment...

Tim Goh

Show and tell  - 
Released Go/ast Rider, semantic diff for Go source.  Shows changes in struct and interface declarations, and function/method type signatures.
Command-line tool that performs semantic diffs on Go source
Tim Goh's profile photo
Tim Goh
Sample output for Go standard library changes 1.1.2 -> Go 1.2 can be seen at . 
Add a comment...

Tim Goh

Shared publicly  - 
Fun trope reversal framing humans as a scary alien species

Select quotes:

- Removing a limb will not fatally incapacitate humans: always destroy the head

- Our jaws have too many teeth in them, so we developed a way to weld metal to our teeth and force the bones in our jaw to restructure

- We have a game where two people get into an enclosed area and hit each other until time runs out/one of them passes out
Humans: the scariest alien species in the galaxy.
Add a comment...

Tim Goh

Shared publicly  - 
"Two players, Black and White, play on a board ruled into a grid of 36 ranks (rows) by 36 files (columns) with a total of 1,296 squares. The squares are differentiated by marking or color.

Each player has a set of 402 wedge-shaped pieces of 209 types. The players must remember 253 sets of moves."

Pedantic note: The use of 'Ultimate' for 'Taikyoku' is idiomatic translation taken to the worst extreme.  The literal translation is 'large-scale'.
Apparently this game was used to select the Azad Empire's leadership.
Add a comment...

Tim Goh

Shared publicly  - 
The best design of any bookstore I've been to, subtly encouraging and overtly facilitating a tranquil atmosphere within and without.  The architects absolutely nailed it.  There is no better home for books than the clean lines and open spaces of such an exemplar of modern architecture.

Constructed in post-Kindle 2011, this is a loving tribute to the printed word, a signal of confidence in -Japan's demographics- the staying power of books (note: not 'paper books', not 'dead tree books', nor any other unnecessary neologism. Just 'books').
Add a comment...

Tim Goh

Shared publicly  - 

Amidakuji  is the Japanese name for a popular method of randomly pairing the elements of a finite set with the elements of another finite set of the same size.  This method is also well-known (under different names) in parts of Korea and China, but it was new to me until I read a recent paper on the arXiv written by Chinese authors:

The main picture shows an example of how this pairing procedure works, by randomly matching eight people with eight drinks.  We start by listing the people and the drinks in some order (such as alphabetical order) from left to right, and then we draw vertical lines connecting each person to a drink.  Next, we randomly draw horizontal line segments between adjacent pairs of vertical lines, in such a way that we never have four lines meeting at the same point.

To create the corresponding random matching, we follow each vertical line from top to bottom in such a way that we make a right angled turn every time we hit a T-shaped junction, and in such a way that at all stages of the process we are either moving sideways or downwards.  The second picture shows what happens after this procedure has been carried out to create four pairings between two sets of four people.  The red, orange, green and cyan paths show which individuals end up paired together.

Sometimes people are surprised that this procedure results in everyone finding a partner, but if you are familiar with group theory, this is not a surprise.  Group theory is the branch of mathematics that deals with the abstract study of symmetry.  Even better, the amidakuji model can be used to illustrate various results from group theory.

 The group that is relevant in this situation is the symmetric group, S_n, which consists of all ways of permuting n objects among themselves, where the objects are numbered from 1 up to n.  Each horizontal line segment in the picture corresponds to a simple transposition in S_n, that is, the exchange of two adjacent objects, i and i+1.  A theorem that can be proved about the symmetric group is that the group is generated by the simple transpositions.  What this means in terms of the picture is that it is possible to create any pairing you like between the input set and the output set by inserting a suitable set of horizontal lines.

It is possible for different arrangements of horizontal lines to result in the same pairing between the input and output sets.  The black and white diagram gives two examples of this.  In the first situation, three horizontal lines are moved around in a way that results in the same pairing; mathematicians sometimes call this rearrangement a braid move.  In the second situation, two consecutive horizontal lines that can be slid into each other transversely end up cancelling each other out; we will refer to this move as creation or deletion, depending on the direction in which it is applied.  As well as these situations, one is free to slide the horizontal lines upwards and downwards, so long as one never has four lines meeting at a point at any intermediate stage; we will refer to such a move as a legal slide.

Another theorem about the symmetric group that can be easily stated in terms of the picture is the following.  If one takes two identical diagrams and adds two different sets of horizontal lines that result in the same pairing between the input and the output sets, then it is possible to transform one of these pictures into the other by a sequence of legal slides, braid moves, creations and deletions.

If one never has an opportunity to apply any deletions, even after performing a sequence of braid moves or legal slides, then it is a theorem that the number of horizontal lines in the picture is as small as possible for the permutation it achieves.  This number is called the length of the permutation.  For example, the arrangement or horizontal lines in the picture matching eight people in pairs is very inefficient: although it uses 10 horizontal lines, it is possible to achieve the same effect with only 2 horizontal lines; one between the first and second vertical lines, and the other between the third and fourth.  So the length of this permutation is 2.  It is a (non-obvious) theorem about permutations that it is not possible to represent the same permutation in two different ways, one of which uses an odd number of horizontal lines and the other of which uses an even number of horizontal lines.  A permutation is called odd or even depending on whether one needs an odd or an even number of horizontal lines to represent it.  The permutation in the second picture is even, because 10 and 2 are both even numbers.

Another Japanese idea that can be illustrated by these pictures is Matsumoto's Theorem.  In this situation, Matsumoto's Theorem says that if one has two ways to represent the same permutation, both of which use the minimal number of horizontal edges, then it is possible to transform one picture into the other by using only braid moves and legal slides; in particular, one never needs to use any creation or deletion moves.

Add a comment...

Tim Goh

Shared publicly  - 
Just finished powering through the Worm saga.  Highly recommended.  In bullets:

- superhero SF epic
- 1.75m words, equivalent to all 5 GoT books to date, half of the 10 core Malazan books, or 10-20% more than Cryptonomicon+Baroque
- serialized semiweekly for 2.5 years
- author is trope-literate, in a good way
- inventive usage of powers, intelligent formulation of n>1 order effects
- strong, realistic emphasis on the value of information in battles (have yet to encounter a better treatment in this genre)
Like superhero stories? You may enjoy the endlessly inventive Worm saga of SF novels. My review:

#fiction #superhero #fantasy  
Add a comment...

Tim Goh

Shared publicly  - 
Impressive near-future novelette, highly recommend
Subterranean Press is widely considered to be among the finest specialty publishers in the horror, suspense, fantasy and dark mystery genres.
Add a comment...

Tim Goh

Shared publicly  - 
I'd love to see Randall Munroe take down one of these ridiculous questions, but until that happens this answer is amazing enough to be an equivalent.
So, let's say you're shrunk to the size of an insect and thrown into a blender. There's no lid, and the blender is going to start in thirty seconds. What do you do?

How am I shrunk?

What do you mean?

I mean, are my atoms smaller? Are my cells smaller? Do I have fewer cells?

Uh, okay. Your atoms are smaller.

How did that happen? Did you change the strong coupling constant?


Okay, then I'm dead. Unless you change electromagnetism as well, I'm not sure my atoms hang together particularly well. I mean, to compress atoms that much, you have to change the constant a lot.

Okay, then I change that too.

Great. Now I'm made of small atoms. I'm still dead.


Because I'm breathing big atoms. And they're going to interact with my little atoms. And I'm going to die as soon as these giant oxygen atoms end up mixing with my little atoms.

Also I hope these little atoms with different coupling constants aren't more stable than the big ones.

Otherwise you just destroyed the universe.

You monster.

So, okay. Maybe you just have smaller cells?

Okay, I'm dead.

Sorry, my biology depends on a certain ratio of cytoplasmic volume to membrane surface area. The most relevant thing that happens now is that my brain blows its entire load of neurotransmitter vesicles in accidental collisions with my neuronal membranes.

I go into status epilepticus, and I die. This spares me the blender, though. So there's that.

Fine. Fine.  You have fewer cells.

Okay, I'm still probably dead. 

Well, I don't know. I think what happens when you reduce the number of cells in my brain is not sufficiently well-defined. I mean, right now, the loops that run my autonomic nervous system require billions of cells. Is that not the case now? 

Sure. Yeah. Whatever. That isn't the case.

Okay. Still dead. Sorry.

Now that my number of neurons has been decreased by orders of magnitude, I'm now just a little machine that runs on instinct, and can't even conceive of 'blenders,' much less my own death. 

Also, I can't see for shit. The resolution of my vision is determined by the number of rods and cones I have.

Ignore the details! You're just as smart as you were before!

Okay. Still dead. 

The surface area of my lungs is way too high relative to my blood volume. Every time I inhale, presuming that I still have the same sort of instincts, I'm giving myself escalating oxygen poisoning. I might also get the bends at normal pressure. I'm not sure about that one, but I'll put it on the list of things that I'm dead of before worrying about blenders. 

Oh, and my kidneys have too high of a membrane surface area relative to my blood volume. I'm rapidly pissing out my entire bloodstream as I sit here in this blender, thinking of a solution to my conundrum. Really, the blender is looking pretty good right now.

Actually, there's probably something wrong with all my organs that are in contact with my blood, as a matter of fact. Though I can't immediately think of what's wrong with my liver or pancreas. 

Okay, ignore your organs. Assume we fixed all that before we put you in the blender.

Still dead. Sorry.

My skin surface area is too high relative to my volume. My stupid moist skin is bleeding out all my water into the air. Unless I coat myself in wax like an insect, I'm going to dehydrate to death real soon now. 

Also, how warm is the room? If it's not near 98.6, I'm not even homeothermic anymore. See, my volume is --

We get it. You have problems with your volume relative to your surface area.

I'm really strong though. I'll give you that. Except --

What, this kills you too?

Well, eventually. Probably not yet.

See, the nice thing about being the size I am right now is that I can carry around a lot of energy. Animals as small as the one-inch me sitting in the blender need a more constant energy intake, because they can't store as much at the same time. I have all these big inefficient muscles relative to my size, and insects, well, don't.

Wait, what? Aren't insects super-strong?

Yeah, for their size. But most of the amazing feats of strength are just these little bundles of muscle fibers and some amazing biomechanical hacks.

Huh. What?

Grasshopper legs work like a crossbow. A slow-twitch muscle fiber draws back against a tendon, and then another muscle fiber releases the latch and sends it flying. It's pretty cool, and way, way more efficient -- at least at that scale -- than my big, dumb fast-twitch muscles.

Same thing with mantis shrimp claws, springtail furculas, and other, similar things. I'm going to need a lot to eat. And I'm probably not going to be able to get it. Because I'm tiny.

Wait. Now you're not dead.

Oh. So, is this the part where I'm supposed to remember the square-cube law?


Oh. Then I jump out of the blender, I guess. 

If you knew that all along, why didn't you tell me earlier?

Uh, because I assume you weren't looking to hire the person who thinks of the benefits of changing scale at the very last minute, when it's too late to do anything about it? You can't just shrink me down to the size of a bug and expect that the only thing that's going to change is my ability to jump.

I am designed for the scale I'm built at. This is not something which you can simply insert later.

Wait. In this hypothetical, am I Google?

Uh, no. There's a reason that Google's banned questions like this for a decade. This is that reason.
Steve A's profile photo
Steve A
Skin is an organ...
Add a comment...

Tim Goh

Shared publicly  - 
These paintings look stunning enough on a monitor -- the 6'x4' originals would probably overload visual cortices.  If you are or can be in NY this week, go!

"It's art that uses some of the techniques of journalism (I interviewed activists from all over the world), to make giant, subjective, old-school allegorical paintings." - Molly Crabapple
Add a comment...

Tim Goh

Shared publicly  - 
"In researching this essay, I tried to read all of [Tim] O'Reilly's published writings: blog posts, essays, tweets. I read many of his interviews and pored over the comments he left on blogs and news sites. I watched all his talks on YouTube."

Research of this caliber is unheard of in the world of fluff that tech journalism has become.  A sprawling essay that somehow sacrifices neither flow nor focus while taking us through the history of O'Reilly (both the man and the eponymous company) -- even finding time to explore Postman and Korzybski.

Highly recommended.
Add a comment...

Tim Goh

Shared publicly  - 
This world we're heading towards. I don't like it.
Daniel Haggard's profile photo
Keep fighting the good fight... 
Add a comment...
Basic Information
Other names
Software Engineer
Other profiles