Skip to content

Instantly share code, notes, and snippets.

zach zshipko

View GitHub Profile

Based on the outstanding changes and issues, it seems do-able to plan the release for sometime around April 3rd. This gives us two weeks to get everything together, which should be enough for what's listed below and in #658. Ifthat timeline is too agressive then we can re-adjust, but the goal is to release what we already have (with the necesarry fixes.)


  • March 26th: finalize and migration guide, make sure tutorial is up-to-date.
  • March 29th: finish outstanding PRs
  • April 1st/2nd: final code review
  • April 3rd: publish Irmin 2.0
opam install -y
opam pin add -y
opam install -y

Irmin 2.0 Release

The Irmin team is happy to announce the 2.0.0 release of Irmin, an OCaml library and command-line tool for building Git-like databases. This release includes many improvements made to the usability and consistency of the API in addition to some new features. A website and tutorial have also been created:!


  • Added irmin-graphql package for serving Irmin data over GraphQL
    • You can also use irmin graphql on the command-line to start a server
  • Added irmin-test package to enable external Irmin backends to reuse the existing test suite
  • Irmin.Contents.Json and Irmin.Contents.Json_value content types were added
zshipko /
Created Oct 31, 2018
Example using irmin-graphql on MirageOS
open Mirage
let main =
package "irmin-mirage"
abstract nocrypto
git clone || git -C ./opencv pull origin master
git clone || git -C ./opencv_contrib pull origin master
rm -r opencv/build
mkdir -p opencv/build
cd opencv/build
cmake \

Keybase proof

I hereby claim:

  • I am zshipko on github.
  • I am zshipko ( on keybase.
  • I have a public key whose fingerprint is 1FDA DC8A 763B 78A1 2025 627B 16D2 BD94 6BC7 ECC9

To claim this, I am signing this object:

#use "topfind"
#require "hiredis"
let create_cluster start_port n =
let config = [
"cluster-enabled", ["yes"];
"cluster-config-file", ["nodes.conf"];
"cluster-node-timeout", ["5000"];
"appendonly", ["yes"];
"pidfile", [""];
#!/usr/bin/env sh
# This is used to create a minimal GNOME desktop, typically from an image like:
# Install core desktop components
apt install xdg-utils xclip build-essential gnome-core git neovim gnome-builder clang
# Install neovim + config
git clone
zshipko / redismod
Last active Dec 4, 2017
A script that simplifies the creation of Redis modules
View redismod
#!/usr/bin/env sh
generated_header="// DO NOT EDIT - This file was automatically generated by redismod"
fetch_or_update_redis () {
git clone $redis_path || \
(cd $redis_path && git pull origin unstable && cd $base)
type time =
| Time of float
| Duration of float
exception Invalid_time
let to_float = function
| Time f -> f
| Duration f -> f
You can’t perform that action at this time.