- I'm Roland Conybeare, a software developer engaged in continuous learning.
- Several decades of experience in the financial industry, working mostly in c++
- Trying to solve problems so that they "stay solved" -- easier said than done!
- Developer productivity. Member of the church of emacs. Trying to write better documentation.
- Numerical programming. Kalman filters, PDE solvers, stochastic processes etc.
- Performance oriented programming. For example low-latency schedulers, some lockfree algos.
- Integration with REPL tools. Author of various scheme-based DSLs, more recently working with pybind11.
-
XO: a set of cooperating c++ libraries, with python bindings, for simuation and complex event processing.
library pybind hdr-only description outside deps xo-jit xo-pyjit LLVM jit llvm xo-expression xo-pyexpression AST impl xo-websock xo-pywebsock websocket server websockets, jsoncpp xo-kalmanfilter xo-pykalmanfilter linear kalman filter eigen xo-process xo-pyprocess stochastic processes xo-simulator xo-pysimulator event-based simulation xo-reactor xo-pyreactor queueing system xo-reflect xo-pyreflect c++ reflection xo-unit xo-pyunit Y constexpr units xo-ratio Y constexpr exact ratios xo-randomgen Y xoshiro256** rng xo-indentlog Y structured logging xo-flatstring Y constexpr strings -
nix-from-scratch: build+install nix+deps from source, without write access to
/usr
or/nix
-
cmake-examples: progressive series of cmake examples, starting from hello world.
-
docker-cpp-builder: example nix-built docker container for generic c++ builds
-
docker-nix-builder: example nix-built docker container (with nix made available at build time)
-
cleanmbox: automatically tidy email
-
.emacs setup: terse
.emacs
walkthrough; includes c++ lsp setup and org-mode publishing
- 2024
- getting familiar with c++20/c++23 features; in particular constexpr, non-type template parameters, concepts.
- getting started with SIMD vector instructions, in particular AVX2
- getting started with llvm, via Kaleidoscope tutorial.
- documentation using doxygen + sphinx + breathe.
- 2023
- in-memory B-tree
- learning how to put nix to work, in particular for projects not present in nixpkgs.
- continuous integration using github actions.
- custom docker containers for github CI, automagically prepared via nix.
- diving into cmake, focusing on multi-repo builds
- 2022
- xoshiro256**; fast RNG.
- kalman filter using Eigen for matrix algorithms.
- websockets
- pybind11
- once upon a time
- garbage collection algorithms.