let author = “Rudi Grinberg”

Most recent posts:

  • Nov 03 - Creating Static Linux Binaries in OCaml

    Creating truly static binaries for Linux like golang is a capability that is occasionally useful. I’ve seen questions about it on IRC a few times, and I’ve personally found this approach is particularly useful when deploying to environments where installing libraries isn’t easy, such as AWS Lambda. Unfortunately for me, the approach that I will explain in this article wasn’t as approachable. So I’ve prepared a quick tutorial on how to easily create a static binary in OCaml and test it.

  • Jul 25 - Monadic Generators in OCaml

    Generators are one of those features that have been heavily popularized by today’s fashionable languages such as Python and ES6. So it’s not the first time I’ve encountered programmers who are curious about OCaml bring up with questions along the lines of:

  • May 14 - Cohttp Packaging Breakage Ahead

    As a follow up to my previous post regarding optional dependencies, I’d like to expand on how my advice will be followed in practice in the context of the cohttp library.

  • Apr 22 - Optional Dependencies Considered Harmful

    This will be a short PSA to opam package maintainers to avoid spurious optional dependencies. At this point, I think this is all relatively common knowledge. But open source maintainers are as a rule busy people, and without much encouragement, they end up dragging their feet. Therefore I hope this post can be a useful reminder of the negative effects of optional dependencies and what can be done to avoid them.

  • Feb 06 - Searching the load-path

    Here’s another tip for taming your Emacs config. In particular, how to search the huge body of elisp that is present with most Emacs installs - the load-path. While the load-path is a very important collection of directories, searching it isn’t as easy and accessible as it should be. As usual, Emacs compensates with plugins:

  • Jan 14 - Spacemacs Useful Buffers Gotcha

    I’ve ran into a little spacemacs annoyance that took me a while to resolve, and it seems like it could pop up under a variety of different contexts. I figured that a few words about it here might save others some time.

  • Dec 23 - Pretty Printing a Table in Emacs

    Recently, I needed to output some relatively small tabular data in Emacs and message was starting to be a bit long in the tooth. Finally, I’ve decided to try my hand at upgrading the visuals for myself. I realize that there’s probably dozens of different ways of pretty-printing tables in Emacs, but I was already partial to the tabular output used by functions such as list-processes and plugins such as prodigy (Using org mode’s tables also comes to mind for example). So I’ve decided to recreate this experience for my own tables. The result has been convenient and aesthetically pleasing enough to share.

  • Jul 22 - Free Monads in the Wild - OCaml Edition

    OCaml programmers don’t seem to resort to free monads much. I like to imagine that this is the case because we’re a practical bunch. But it could simply be that this technique like other monads is a bit heavyweight syntactically, let alone the performance implications it might have.

  • Feb 26 - Publishing an OPAM Package - a Checklist

    The process of publishing an opam package has come a long way from its modest beginnings. Nevertheless the opam team deserves praise for choosing an extremely simple and flexible model for contribution - the git commit. To me that explains how it aged gracefully with improvements such as:

  • Feb 15 - Scrap your Camlp4

    ppx has been out for a while but it seems like the community has been taking its time transitioning away from camlp4. There’s probably a couple of reasons for that: