Skip to content

Instantly share code, notes, and snippets.

View essen's full-sized avatar

Loïc Hoguin essen

View GitHub Profile
@essen
essen / gist:1520860
Created December 26, 2011 10:18
goldrush API
-module(goldrush).
application:start(goldrush)
%% Start daemons under goldrush supervision tree.
start_daemon(Name, Module, Options)
stop_daemon(Name)
%% 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

Thinking in Erlang

One day Erlang training.

Goals

This training should get you started with Erlang and understand how to design a highly available distributed system. Because there is only one day, we focus on the essential concepts and skip over many details that would be covered in the normal three days course.

@essen
essen / my_module.erl
Created October 14, 2013 03:25
Thinking in Erlang: The Code
-module(my_module).
-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).
@essen
essen / http_specs.md
Last active January 10, 2022 02:01
HTTP and related specifications
% CI_OTP="OTP-17.4.1 OTP-17.5.3" make ci
/home/essen/ninenines/gun/kerl build git https://github.com/erlang/otp OTP-17.4.1 OTP-17.4.1
Checking Erlang/OTP git repository from https://github.com/erlang/otp...
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
essen / epcap.mk
Created May 21, 2015 19:08
Example Makefile generated by erlang.mk 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
EPCAP_CFLAGS= -DHAVE_PCAP_CREATE
EXE_LDFLAGS = -lpcap $(ERL_LDFLAGS)
EXE_CFLAGS = $(EPCAP_CFLAGS)
EXE_CFLAGS = $(EPCAP_CFLAGS) -DEPCAP_RLIMIT_NOFILES=1
all:: ../priv/epcap

You need a schedule, man

Overview

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)

@essen
essen / Makefile
Last active August 27, 2015 09:36
Including .mk files from deps
PROJECT = ttt
DEPS = stuff
dep_stuff = git https://github.com/essen/stuff master
include erlang.mk
-include $(DEPS_DIR)/stuff/dist.mk
$(DEPS_DIR)/stuff/dist.mk: $(DEPS_DIR)/stuff ;
== .erl .core
module.erl: header.hrl behavior.erl parse_transform.erl
module.core:
ebin/$(PROJECT).app:: $(ERL_FILES) $(CORE_FILES)
erlc ... $?
== .xrl .yrl