Skip to content

Instantly share code, notes, and snippets.

Loïc Hoguin essen

Block or report user

Report or block essen

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
essen / Makefile
Last active Aug 27, 2015
Including .mk files from deps
View Makefile
DEPS = stuff
dep_stuff = git master
-include $(DEPS_DIR)/stuff/
$(DEPS_DIR)/stuff/ $(DEPS_DIR)/stuff ;
View gist:e5408e99e41dbcc058de
== .erl .core
module.erl: header.hrl behavior.erl parse_transform.erl
ebin/$(PROJECT).app:: $(ERL_FILES) $(CORE_FILES)
erlc ... $?
== .xrl .yrl
View gist:e82b6a6796a23f375414
% CI_OTP="OTP-17.4.1 OTP-17.5.3" make ci
/home/essen/ninenines/gun/kerl build git OTP-17.4.1 OTP-17.4.1
Checking Erlang/OTP git repository from
Building Erlang/OTP OTP-17.4.1 from git, please wait...
Erlang/OTP OTP-17.4.1 from git has been successfully built
/home/essen/ninenines/gun/kerl install OTP-17.4.1 /home/essen/erlang/OTP-17.4.1
Installing Erlang/OTP git (OTP-17.4.1) in /home/essen/erlang/OTP-17.4.1...
You can activate this installation running the following command:
. /home/essen/erlang/OTP-17.4.1/activate
Later on, you can leave the installation typing:
essen /
Created May 21, 2015
Example Makefile generated by when autopatching rebar projects
ERL_CFLAGS = -fPIC -I /usr/lib/erlang/erts-6.4/include -I /usr/lib/erlang/lib/erl_interface-3.7.20/include
ERL_LDFLAGS = -L /usr/lib/erlang/lib/erl_interface-3.7.20/lib -lerl_interface -lei
all:: ../priv/epcap
View you need a schedule.asciidoc

You need a schedule, man


Have three kinds of projects/work:

  • money making (gotta buy bread)

  • first class (generally involves a large number of users and/or me having a lot of fun)

  • second class (satellite and toy projects)

View gist:1520860
%% Start daemons under goldrush supervision tree.
start_daemon(Name, Module, Options)
%% Daemons started this way must define:
start_link(Name, Options)

List of databases we may be looking to support

  • MariaDB
  • Microsoft SQL Server
  • MySQL
  • Oracle Database
  • PostgreSQL
  • SQLite
  • VoltDB
essen / my_module.erl
Created Oct 14, 2013
Thinking in Erlang: The Code
View my_module.erl
-export([my_function/1, my_function/2]).
-export([infinite_loop/0, f/1, r/2, sort/1]).
-export([only_primes/1, is_prime/1]).
my_function(A) when is_integer(A) ->
my_function(A, 0);
my_function(A) when is_list(A) ->
my_function(list_to_integer(A), 0).
View map_req.erl
init(#{method := <<"GET">>} = Req, State) ->
cowboy_req:reply(204, Req),
{ok, Req, State}.
View versioning.asciidoc

A common concern with REST APIs is how do you version them? The answer is often something like put the version in the beginning of the URI path. But that’s a terrible advice. This prevents you to make small updates to your API, because you need to duplicate everything every time you increase the version.

A good way to version an API is to not do it. Instead, you can version the media types.

You can’t perform that action at this time.