The Curious Engineer

All blogs / OCaml / F#

Thomas Leonard's blog

roscidus.com/blog

I've been investigating how keyboards, mice, etc work in Linux. In this blog post we'll see how input events work, using libinput-ocaml, and then use …

OCaml / F#Linux / UnixSecurity

Posts
32 from 9 Jun 2013 to 28 Mar 2026
Posting
now and then (4 in the last year)
Kind
personal blog
Feed
https://roscidus.com/blog/atom.xml

2026 2

  1. Linux input devices (with libinput-ocaml)
  2. Proving liveness with TLA

2025 4

  1. Linux mode setting, from the comfort of OCaml
  2. Vulkan graphics in OCaml vs C
  3. Investigating Linux graphics
  4. Trying Tamarin on Applied Cryptography

2024 2

  1. OCaml 5 performance part 2
  2. OCaml 5 performance problems

2023 1

  1. Lambda Capabilities

2021 2

  1. Isolating Xwayland in a VM
  2. Qubes-lite with KVM and Wayland

2019 2

  1. CI/CD pipelines: Monad, Arrow or Dart?
  2. Using TLA+ to understand Xen vchan

2016 1

  1. A Unikernel Firewall for QubesOS

2015 3

  1. CueKeeper internals: Experiences with Irmin, React, TyXML and IndexedDB
  2. CueKeeper: Gitting Things Done in the browser
  3. Securing the Unikernel

2014 7

  1. Visualising an asynchronous monad
  2. Simplifying the solver with functors
  3. Optimising the unikernel
  4. My first unikernel
  5. Python to OCaml: retrospective
  6. OCaml: what you gain
  7. OCaml: the bugs so far

2013 8

  1. Polymorphism for beginners
  2. Asynchronous Python vs OCaml
  3. OCaml tips
  4. Experiences with OCaml objects
  5. Option handling with OCaml polymorphic variants
  6. OCaml binary compatibility
  7. Replacing Python: second round
  8. Replacing Python: candidates