Functional Geekery Episode 99 – Christiano Haesbaert

In this episode I talk with Christiano Haesbaert. We talk his experience with the BSD kernel; foray into OCaml and MirageOS, and how OCaml fits in the realm of “systems languages”.

Our Guest, Christiano Haesbaert

@haesbaert_cf on Twitter
haesbaert on Github

Conference Announcements

Scala Wave 2017 will be taking place July 7th and 8th. Visit to find out more and to register.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at

Elixir.LDN will be taking place on August 17th. To help encourage inclusion and diversity 30 Free Scholarship places are available. Visit to find out more and register.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit for more information and to register.

RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit

If you have a conference related to functional programming, contact me, and I will be happy to announce it.


Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at

Topics [@4:58]

About Christiano
How Christiano was introduced to software
Starting out with Linux
Learning how to program to understand System Administration
K&R book
Linux Kernel interest
The Little Schemer
Writing kernel code
MirageOS and running DNS in a Unikernel
Learning OCaml
Real World OCaml
“[In C] you learn to trust nothing”
Overview of MirageOS
Mirage Pioneer Projects Page
Writing a DHCP server in OCaml
C vs OCaml as systems languages
Control vs Data
OCaml Labs
Power of OCaml for control protocols
Nik Swamy on Functional Geekery about HTTPS in F*
Removing responsibility from the human side and letting the compiler take care of it
Mapping a protocol specification to OCaml versus C
“OCaml made me a lazy C programmer, because I started trusting stuff”
Creating Monsters by pulling in ideas that don’t fit from another language
Co-worker from Haskell and 2,000 line header file
Fuzz Testing in Mirage and OCaml
Docker and MirageOS
Being proved right with DHCP from usage and lack of bug reports
Writing a SSH library in OCaml
Working on removing side-effects in SSH library (aside from entropy)
TLS Library in OCaml
OCaml TLS paper: Not-quite-so-broken TLS
“Call for request to have ability to zero out memory for security reasons”
Suggestions on getting started in OCaml or MirageOS
Real World OCaml
Mirage Pioneer Projects Page
#ocaml IRC Channel on Freenode
#mirage IRC Channel on Freenode
MirageOS Hackathon in Marrakech

As always, a giant Thank You goes to David Belcher for the logo design.