Skip to content

Instantly share code, notes, and snippets.

zach zshipko

View GitHub Profile
View irmin-relase-timeline.md

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.)

Timeline

  • March 26th: finalize CHANGES.md 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
View install-irmin-unix-dev.sh
opam install irmin.dev irmin-mem.dev irmin-fs.dev irmin-git.dev irmin-http.dev -y
opam pin add irmin-graphql.dev https://github.com/mirage/irmin.git -y
opam install irmin-unix.dev -y
View irmin-2.0-migration-guide.md

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: irmin.io!

Updates

  • 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
zshipko / config.ml
Created Oct 31, 2018
Example using irmin-graphql on MirageOS
View config.ml
open Mirage
let main =
foreign
~packages:[
package "irmin-mirage"
]
~deps:[
abstract nocrypto
]
View build-opencv.sh
git clone https://github.com/opencv/opencv || git -C ./opencv pull origin master
git clone https://github.com/opencv/opencv_contrib || git -C ./opencv_contrib pull origin master
rm -r opencv/build
mkdir -p opencv/build
cd opencv/build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DWITH_FFMPEG=1 \
View keybase.md

Keybase proof

I hereby claim:

  • I am zshipko on github.
  • I am zshipko (https://keybase.io/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:

View make-redis-cluster.ml
#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", ["redis.pid"];
View debian-desktop.sh
#!/usr/bin/env sh
# This is used to create a minimal GNOME desktop, typically from an image like:
# https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/weekly-builds/amd64/iso-cd/firmware-testing-amd64-netinst.iso
# Install core desktop components
apt install xdg-utils xclip build-essential gnome-core git neovim gnome-builder clang
# Install neovim + config
git clone https://github.com/zshipko/vim-config
@zshipko
zshipko / redismod
Last active Dec 4, 2017
A script that simplifies the creation of Redis modules
View redismod
#!/usr/bin/env sh
redis_path=${REDIS_SRC=/tmp/redis-src}
base=`pwd`
generated_header="// DO NOT EDIT - This file was automatically generated by redismod"
fetch_or_update_redis () {
git clone https://github.com/antirez/redis $redis_path || \
(cd $redis_path && git pull origin unstable && cd $base)
}
View time.ml
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.