let author = “Rudi Grinberg”

Most recent posts:

  • 12 June - Configurator Reborn

    With dune 1.0 around the corner, there’s a pressing need to create some hype raise awareness of the upcoming features. In this post, I’d like to talk about one such transition: the move to dune’s own configuration kit called configurator. Since the library itself is still fairly new, I’ll first introduce configurator itself and show what problems it attempts to solve.

  • 23 January - jbuilder (dune) Beta 17

    The 17th beta of jbuilder represents a few months of development. While that’s a bit longer than our usual release cycle for these betas, we do have a larger release than usual. So I’ve decided to write up a little post in addition to just posting the usual change log. I’ll talk about some important new features, and some less important ones as well. A couple of things that I’ll omit are bug fixes and experimental features as this blog post is already long.

  • 04 December - Extension Points - 3 Years Later

    UPDATE: 2017-12-05 smondet pointed out that the extension doesn’t work quite as the original. ppx_getenv should fetch the environment variable at compile time rather than at runtime. The extension and the snippets in this post have been updated to reflect this.

  • 03 November - 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.

  • 25 July - 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:

  • 14 May - 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.

  • 22 April - 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.

  • 06 February - 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:

  • 14 January - 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.

  • 23 December - 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.