Skip to content

Instantly share code, notes, and snippets.

@amirmc
amirmc / gist:0e87915792a1825da58d31f2d8ea5bcf
Last active January 24, 2017 21:45 — forked from yomimono/gist:e6c90105ac8f3f80cecd01761dd644d9
MirageOS 3 description of changes.
Less Code, Less Magic, More Results
## Major Changes
* The solo5 backends `ukvm` and `virtio` (see [https://mirage.io/blog/introducing-solo5]) are now available in the mainline `mirage` package
* The `V1` and `V1_LWT` modules, which contained module type definitions agreed upon by implementations used in `mirage`, have been renamed to `Mirage_types` and `Mirage_types_lwt`. The module type definitions themselves are no longer contained in this repository, but have been moved to their own independently-versioned repositories and are merely referenced from `Mirage_types` and `Mirage_types_lwt`.
* Across the universe of module type definitions, errors in computation are now signalled by a `result` type and a set of polymorphic variants representing common errors that might occur. Individual implementations may extend this set, and users can always count on the provided module to provide a pretty-printer for these errors.
* The `CLOCK` module type has been replaced with `PCLOCK` and `MCLOCK`, which represent a
@amirmc
amirmc / OCaml-org_governance.md
Created August 28, 2015 14:05
A draft of the OCaml.org governance. For discussion on infrastructure@lists.ocaml.org

Governance of OCaml.org (v0.1.6)

Overview and Scope

As the OCaml community continues to grow, more collaborative work is being undertaken to support and extend the needs of the language and its users. This document focuses specifically on the OCaml.org domain name and the Projects that make use of that domain name. It describes the reporting structure, roles involved and the responsibilities. The aim is to avoid introducing cumbersome processes while still providing a

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
@amirmc
amirmc / non-EU-intern.md
Last active August 29, 2015 14:19
Process for getting a non-EU Visitor into the Lab, working on a short-term project, and being paid from an internal grant.

This page aims to document the specific steps needed to get a non-EU visitor into the Lab and paid from an internal grant. It's meant for Interns/Visitors, and not full time hires.

Please note that 'intern' is a loaded term and I typically avoid using it when dealing with the University -- though I use it freely with academic colleagues.

CoS for a Tier 5 Visa

After much research and after attending an immigration course, it seems the Tier 5 Visa is the best way to get Interns/Visitors a work permit for the UK. These would need to be 'PhD-level' individuals, but that doesn't mean they must have PhDs. It's that the work must be of that level (i.e. highly skilled).

In order to apply for a work permit, the Visitor must have a Certificate of Sponsorship (CoS). The University can provide a CoS, if we meet the relevant criteria and perform the correct incantations. These incantations cannot begin more than 3 months before the Visitor's start date. More deta

@amirmc
amirmc / terminal-output
Last active August 29, 2015 14:05
Error when trying to install the HEAD version of opam via homebrew - Mac OS X 10.8.5
amir$ brew remove opam
Uninstalling /usr/local/Cellar/opam/1.1.1...
amir$ brew install opam --HEAD --without-aspcud
==> Cloning https://github.com/ocaml/opam.git
Updating /Library/Caches/Homebrew/opam--git
==> Downloading http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/opam--ocamlgraph-1.8.1.tar.gz
==> Downloading https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz
Already downloaded: /Library/Caches/Homebrew/opam--ocaml-re-1.2.0.tar.gz
==> Downloading https://gforge.inria.fr/frs/download.php/31910/cudf-0.6.3.tar.gz
@amirmc
amirmc / merge.ml
Created August 13, 2014 20:53
Merging atom feeds - Line 15 does not type-check
open Http_client.Convenience
open Syndic
let feed_urls =
["http://amirchaudhry.com/atom.xml";
"http://nymote.org/atom.xml"]
let all_feeds feed_urls =
let parse_one_feed feed =
let raw_feed = http_get feed in
@amirmc
amirmc / make-clean-make-j.txt
Created April 13, 2014 20:13
Result of running `make clean && make -j` and then after the error `make -j`
amirmacbook:ocaml.org amir$ make clean && make -j
rm -f -r ocaml.org *~ *.cmo *.cmi *.cma *.o
rm -f template/front_code_snippet.html opam_update_list script/breadcrumb script/rss2html script/ocamltohtml script/md_preprocess script/code_top script/relative_urls script/translations script/generate_opam_update_list site/learn/tutorials/camlp4_3.10/pa_foreach.cmi site/learn/tutorials/camlp4_3.10/pa_foreach2.cmi site/learn/tutorials/camlp4_3.10/pa_foreach3.cmi site/learn/tutorials/camlp4_3.10/pa_foreach.cmo site/learn/tutorials/camlp4_3.10/pa_foreach2.cmo site/learn/tutorials/camlp4_3.10/pa_foreach3.cmo site/learn/tutorials/camlp4_3.10/pa_foreach.annot site/learn/tutorials/camlp4_3.10/pa_foreach2.annot site/learn/tutorials/camlp4_3.10/pa_foreach3.annot
rm -f script/*~ script/*.annot script/*.cmo script/*.cmi script/*.cma script/*.cmx script/*.o
ocamlfind ocamlc -annot -package netstring -c script/utils.ml -o script/utils.cmi
ocamlfind ocamlopt -annot -package netstring -c script/utils.ml -o script/utils.cmx
cd scr
@amirmc
amirmc / keybase.md
Created March 18, 2014 21:05
Keybase proof of Github ID

Keybase proof

I hereby claim:

  • I am amirmc on github.
  • I am amc (https://keybase.io/amc) on keybase.
  • I have a public key whose fingerprint is 247D 62FB 01C1 F3DA F812 AA53 7D04 5F5E 9713 588C

To claim this, I am signing this object:

atd 1.0.3 noroot
atdgen 1.2.4 noroot
base-bigarray base root
base-threads base root
base-unix base root
bin_prot 109.47.00 noroot
biniou 1.0.6 noroot
camomile 0.8.5 noroot
cmdliner 0.9.2 noroot
cohttp 0.9.11 noroot
@amirmc
amirmc / gist:7500197
Created November 16, 2013 13:30
output of running `opam upgrade --cudf=20131116`
digraph G {
"pgocaml (= 1.6)";
"ibx (= 0.5.1)";
"type_conv (= 109.13.00)";
"re2 (= 109.24.01)";
"oqamldebug (= 0.9.1)";
"async_extra (= 109.41.00)";
"sawja (= 1.4)";
"headache (= 1.03)";
"extprot (= 1.1.1)";