Who is Travis?

My name is Travis Gockel. This site exists because I thought gockelhut.com was a cool-sounding domain name when I was younger. There isn’t a lot of content here, but there are about a million other social-media type things you can find me on.

More On

I am a software engineer who works on the backend of backends in distributed systems. I am paid to write C++, but I prefer working with Rust and TLA+. I have a bit of an obsession with \(\LaTeX\) and know that it will replace this HTML fad; someday, the world will realize the best document preparation system was invented back in 1985.


Every once in a while, I create something that might be useful for other people. In these cases, I put the code up on GitHub and try to maintain it to some reasonable degree.

JSON Voorhess

Yet another JSON library for C++. This one touts new C++11 features for developer-friendliness and a parser capable of handling malformed JSON in a reasonable manner. It is open-source – released under Apache License 2.0.


The goal of jsvcgen is to define a standard, language-agnostic interface to JSON-RPC-like APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation or through network traffic inspection. With a properly-defined interface through the jsvcgen description format, a user should be able to interact with a remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, jsvcgen removes the guesswork in calling the service.


The catch-rate for Pokémon is defined by this formula.

\[P_{catch} = \frac{3\times HP_{max}-2\times HP_{current}}{3\times HP_{max}}\times rate\times bonus_{ball}\times bonus_{ailment}\]