Skip to content

Instantly share code, notes, and snippets.

zach zshipko

Block or report user

Report or block zshipko

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
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.