All Authors

Andy Myers
Andy Myers joined Jane Street in 2014. Previously he was a Systems Architect at GETCO. Read more
Most recent post:

This is not the performance you were looking for: the tricks systems play on us

It’s often surprising just how much software performance depends on how the software is deployed. All the time and effort you’ve invested in optimization can... Read full post

See all posts by this author
Carl Eastlund
Most recent post:

Quickcheck for Core

Automated testing is a powerful tool for finding bugs and specifying correctness properties of code. Haskell’s Quickcheck library is the most well-known automated testing library,... Read full post

See all posts by this author
Chris Hardin
Most recent post:

How to shuffle a big dataset

At Jane Street, we often work with data that has a very low signal-to-noise ratio, but fortunately we also have a lot of data. Where... Read full post

See all posts by this author
Chris Perl
Chris Perl joined Jane Street in 2012. Before that he worked at the National Hockey League as a Systems Administrator. He enjoys learning about Linux... Read more
Most recent post:

rsync rounds timestamps to the nearest second

I’m not sure how I’ve managed to use rsync for so many years without ever noticing this, but hey, you learn something new every day!... Read full post

See all posts by this author
Craig Falls
Most recent post:

10 tips for writing comments (plus one more)

A few words about what we’re striving for in our comments, particularly in Core. Every shop has their own commenting style, so I worry that... Read full post

See all posts by this author
David House
Most recent post:

How to fail -- introducing Or_error.t

There are a bunch of different ways of handling errors in OCaml. If you’ve just started learning about functional programming, you’ll no doubt have come... Read full post

See all posts by this author
David Powers
David Powers joined Jane Street in 2006 after spending time as a system administrator, directing IT at an investment bank, and making swords to sell... Read more
Most recent post:

Unraveling of the tech hiring market

Recruiting talented people has always been challenging. Read full post

See all posts by this author
James Somers
Most recent post:

Putting the I back in IDE: Towards a Github Explorer

Imagine a system for editing and reviewing code where: Read full post

See all posts by this author
Jeremie Dimino
Jeremie Dimino joined Jane Street in 2012 where he continued to do what he enjoys: OCaml hacking and Open Source. He is responsible for automating... Read more
Most recent post:

Trivial meta-programming with cinaps

From now and then, I found myself having to write some mechanical and repetitive code. The usual solution for this is to write a code... Read full post

See all posts by this author
John Kilburg
Most recent post:

Speed Up

Sometimes we need to inspect a lot of systems at once and its annoying to have to wait a long time for a result. What... Read full post

See all posts by this author
Jun Furuse
Most recent post:

OCaml in Japan, and its Meeting in Tokyo

It might be surprising to hear that there are a significant number of OCaml users in Japan, but it is true. OCaml has been used... Read full post

See all posts by this author
Laurent Mazare
Most recent post:

Deep learning experiments in OCaml

Last year we held a machine learning seminar in our London office, which was an opportunity to reproduce some classical deep learning results with a... Read full post

See all posts by this author
Leo White
Most recent post:

Plans for OCaml 4.08

With the external release of OCaml 4.07.0 imminent, we in Jane Street’s Tools & Compilers group have been planning what we want to work on... Read full post

See all posts by this author
Michael Bacarella
Most recent post:

Bootstrapping OCaml/async on the Raspberry Pi

On Friday morning I discovered a Raspberry Pi on my desk. The Raspberry Pi is a small single-board computer powered by a 700MHz ARM CPU.... Read full post

See all posts by this author
Michael O'Connor
Most recent post:

Generic mapping and folding in OCaml

Haskell has a function fmap which can map over a number of different datatypes. For example, fmap can map a function over both a List... Read full post

See all posts by this author
Nathan Linger
Most recent post:

A trick: recursive modules from recursive signatures

Stephen taught me a neat trick a while back. Suppose you want to define a some mutually recursive types Read full post

See all posts by this author
Pascal Zimmer
Most recent post:

The dangers of being too partial

This article deals with some not well-known dark corners of the OCaml compiler and how to get around them to produce more efficient code. The... Read full post

See all posts by this author
Patrick Hahn
Most recent post:

Iterative email problem solving with python, Part 2

Once we’d fixed up all our message IDs (see part 1) we let imapsync loose on the first few beta testers who noticed that the... Read full post

See all posts by this author
Pavel May
Most recent post:

What's 2013 + 50? 1969, of course!

What happens when the latest CentOS 6.4/RHEL/FreeBSD GnuTLS certtool gets used to generate a TLS certificate with a 18250-day validity period? Time travel back in... Read full post

See all posts by this author
Ralph Douglass
Most recent post:

Reverse web proxy in ~50 lines of BASH

In the spirit of reinventing the wheel for fun, I hacked this together as a quick challenge to myself last week. It’s a little rough... Read full post

See all posts by this author
Robert Sclater
Most recent post:

Disabling Chrome's x-webkit-speech vulnerability

It’s been a busy couple of weeks for Internet security! Almost unnoticed amongst the ‘Heartbleed’ fallout was a post on Guy Aharonovsky’s blog detailing how... Read full post

See all posts by this author
Roshan James
Most recent post:

Core_bench: better micro-benchmarks through linear regression

This post is meant to be an introduction to Core_bench, our micro-benchmarking library for OCaml. Core_bench is similar to Haskell’s micro-benchmarking library, Criterion, in that... Read full post

See all posts by this author
Sebastian Funk
Sebastian Funk joined Jane Street in 2014 after graduating in Computer Science from the University of Cambridge and has been primarily working in the Trading... Read more
Most recent post:

What a Jane Street dev interview is like

Are you thinking about applying to Jane Street for a developer role? Or already have a phone interview scheduled but unsure what to expect? Read... Read full post

See all posts by this author
Spiros Eliopoulos
Most recent post:

Jane Street Tech Talk, Verifying Network Data Planes

After a summer hiatus, the Jane Street Tech Talks series is back on for the fall! Last we left it, our very own Dominick LoBraico... Read full post

See all posts by this author
Stephen Weeks
Stephen Weeks joined Jane Street in 2007, having previously worked on the MLton Standard ML compiler at NEC Research and at startups in the San... Read more
Most recent post:

A module type equivalence surprise

I usually think of two module types S1 and S2 as being equivalent if the following two functors type check: Read full post

See all posts by this author
Summer Project
Most recent post:

Presenting the 2009 JSSP projects

This year’s JSSP projects have been selected. We think it’s an exciting list of projects, and we’re pleased that this year the projects support a... Read full post

See all posts by this author
Todd Lubin
Most recent post:

When Bash Scripts Bite

There are abundant resources online trying to scare programmers away from using shell scripts. Most of them, if anything, succeed in convincing the reader to... Read full post

See all posts by this author
Vladimir Brankov
Most recent post:

CPU Registers and OCaml

Even though registers are a low-level CPU concept, having some knowledge about them can help write faster code. Simply put, a CPU register is a... Read full post

See all posts by this author
Xavier Clerc
Most recent post:

Proofs (and Refutations) using Z3

People often think of formal methods and theorem provers as forbidding tools, cool in theory but with a steep learning curve that makes them hard... Read full post

See all posts by this author
Yaron Minsky
Yaron Minsky joined Jane Street back in 2002, and claims the dubious honor of having convinced the firm to start using OCaml. He also spends... Read more
Most recent post:

What the interns have wrought, 2018 edition

Yet again, intern season is coming to a close, and so it’s time to look back at what the interns have achieved in their short... Read full post

See all posts by this author