Kyle Downey

Hashed Wheel Timers

Higher precision scheduling

Real-time scheduling

I wanted a simple, lightweight scheduler that I could tune up for crypto-currency trading applications. I knew from past reading that a data structure called a hashed wheel timer was worth investigating, and that Netty had one, but I was not aware of anything standalone. So I was happy to find Alex Petrov's . . .

Read More

August 26, 2017

Functional parsing with ParsecJ

Monadic parser combinators in Java 8

When I was young, foolish, and generating parser code ...

Many years ago I wrote a piece for the now-defunct magazine Dr. Dobb's Journal called "Extreme Parsing" based on SableCC, a parser generator for Java. When I needed to write some parsers for graph description formats recently I decided to look around to see what . . .

Read More

July 21, 2017

The New Build: "Charger"

Custom building a Kaby Lake-X with optimized I/O

I was off for two weeks, so I decided to take the chance to complete the new server build. I headed over to Newegg, ordered an anti-static wrist strap -- something I neglected on my first build -- and assembled the part list for a server that could handle low-latency performance testing. I decided to target Kaby Lake-X, a big step up from the . . .

Read More

July 14, 2017

NVMe and the New Build

Hitting the end of the line with an old workstation

I have written about an Ethereum mining rig I built on top of a refurbished HP Z800 workstation. The workstation's BIOS dates to 2013 but I did not have issues with newer RAID and GPU cards. I finally hit the end of the road when I tried to add a Samsung 850 Evo NVMe card mounted on an M.2 bracket card for PCI Express.

Silvrback blog image

. . .

Read More

July 04, 2017

Turtles All the Way Down

Bitcoin after the ETF

On Friday, March 10th at 4pm the SEC announced their ruling on COIN, the Winklevoss twins' proposed ETF listing on BATS. The price whipsawed, spiking to $1360 on GDAX around noon on speculation that the SEC would take no action (approving the ETF by default) and dropping to $956.85 right after the decision.

Silvrback blog image

The price . . .

Read More

March 12, 2017

Conan & rpaths

Dealing with dynamic linker errors in Conan

The last post introduced Conan for C/C++ library management. When I sat down to set up a CLion project using the LibUV and LibWebsockets dependencies though I hit an interesting quirk of MacOS X: the problems that its strict @rpath handling creates for package managers like Conan.

The problem

I set up a new project to create . . .

Read More

March 05, 2017


C++ Dependency Management

I last did serious C/C++ development in 1999 while at GS, but since C++11 came out and
Bjarne Stroustrup came to work for Morgan Stanley I have wanted to pick it up again. One of the obstacles was that not only was my knowledge of the language out of date, but so was my knowledge of the development tools and build systems.

Since . . .

Read More

February 20, 2017