Back in October I wrote a blog post about CloudFlare and open source software titled CloudFlare And Open Source Software: A Two-Way Street which detailed the many ways in which we use and support open source software.
Since then we've pushed out quite a lot of new open source projects, as well as continuing to support the likes of LuaJIT and OpenResty. All our open source projects are available via our dedicated GitHub page cloudflare.github.io. Here are a few that have been recently updated or released:
Red October: our implementation of the 'two man rule' for control of secrets (and nuclear weapons :-). It was large enough to warrant its own blog post.
Lua Resty Shcache: a shared cache implementation for OpenResty and Nginx Lua.
Lua Resty Core: a new FFI-based Lua API for the ngx_lua module (part of work CloudFlare is doing on optimization).
Go Libs: at the other end of the size spectrum: golibs is where we'll be dumping small Go libraries that might be useful to others.
BM: a Go implementation of Bentley-McIlroy long string compression (which is close to part of the compression performance by Railgun).
Lua Raven: a Lua interface for sending error reports to Sentry.
Lua Resty Logger Socket: a non-blocking logger for Nginx Lua that supports remote loggers.
conf: a very simple key=value configuration file parser written in Go.
Lua Resty Kyoto Tycoon: a non-blocking Lua interface for Kyoto Tycoon.
Go LZ4: a Go package for LZ4 compression.
Aho Corasick: a Go package that does Aho-Corasick string matching.
kt-fdw: a foreign data wrapper for Postegres that interfaces to Kyoto Tycoon. More details in its blog post.
Lua Resty Cookie: a Lua Resty package that improves Cookie handling in OpenResty and Nginx Lua.
Docker NPMJS: a Docker image for a private npmjs repository.
We've also been contributing to projects like OpenSSL, SystemTap and PhantomJS, and the names of CloudFlare employees Yichun and Piotr appear regularly in the Nginx changelog.
And, on a personal level, I've been keeping a repository of all the talks I've given (including any associated code or data) in jgc-talks. The most recent of which was a talk in London about rolling hashes.
We'll keep pushing projects, large and small, to Github as we're ready to share them. We've pushed out so much open source code that we've recently reorganized our Github page by language/software. There are now sections for JavaScript, Go, Nginx and Lua, and Postgres.
Right now there's a large and innovative security project getting ready for release. Expect to hear about it (and see its source code) in the New Year.