Skip to content

Instantly share code, notes, and snippets.

View ivg's full-sized avatar

Ivan Gotovchits ivg

View GitHub Profile
@ivg
ivg / scrabble.ml
Created December 6, 2016 00:14
find all possible dictionary words that can be built from a given set of characters
(*
1. install opam
2. install core_kernel library: `opam install core_kernel`
3. build with `ocamlbuild -pkg core_kernel scabble.native`
4. run as `./scrabble.native /usr/share/dict/american-english`
*)
open Core_kernel.Std
open Format
@ivg
ivg / Vagrantfile
Created September 22, 2016 19:34
Bap Vagrant file with byteweight
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
@ivg
ivg / pv.ml
Last active August 21, 2022 01:48
open Lwt
let block_size = 256 * 4096
let ifd = Lwt_unix.stdin
let ofd = Lwt_unix.stdout
let print spd =
try_lwt
Lwt_io.eprintf "%s\r" (Speed.to_string spd)
with Speed.Undefined -> return_unit
export CPATH=/opt/local/include
export LIBRARY_PATH=/opt/local/lib
export MANPATH=/opt/local/man
export LDFLAGS='-L/opt/local/lib'
export CPPFLAGS='-I/opt/local/include'
export LD_LIBRARY_PATH=/opt/local/lib
export LD_INCLUDE_PATH=/opt/local/include
@ivg
ivg / broadcaster.mli
Created June 19, 2013 04:07
A simple TCP broadcaster (interface)
val establish: Unix.sockaddr -> Unix.sockaddr -> unit Lwt.t
(** [establish broadcast from] establishes a server, broadcasting
data from address [from] to [broadcast] *)
@ivg
ivg / broadcaster.ml
Created June 19, 2013 04:05
A simple TCP broadcaster
open Lwt
let establish saddr caddr =
let open Lwt_io in
let str,push = Lwt_stream.create () in
let client (g,p) =
let rec loop () = write_chars p str >> loop () in
ignore_result (loop ()) in
let hsrv = establish_server saddr client in
lwt g,p = open_connection caddr in