Open Source Projects

A list of projects I had fun working on. Includes unfinished & discontinued.


binpp

A small Erlang library capable of pretty-printing binaries for visual inspection and comparison.

iex(1)> "Hello binary, do you copy?" |> :binpp.pprint()
0000 48 65 6C 6C 6F 20 62 69 6E 61 72 79 2C 20 64 6F  Hello binary, do
0001 20 79 6F 75 20 63 6F 70 79 3F                     you copy?

brainfunk

Brainfuck implemented in Erlang

 ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++

bumperl

Semantic version bumper for Erlang/OTP apps.

Usage: bumperl [-a <app_file>] [-l <label>] [-c [<commit>]] [-t [<tag>]]

  -a, --app     .app or .app.src file
  -l, --label   major | minor | patch
  -c, --commit  Automatic git commit [default: false]
  -t, --tag     Automatic git tag (implies commit) [default: false]

decompilerl

Decompile Elixir programs into Erlang to see what's under the hood.

%% defmodule TheStruct do
%%   defstruct foo: 1
%% end

'__struct__'() ->
    #{'__struct__' => 'Elixir.TheStruct', foo => 1}.

django-dilla

Database spammer for Django. Abandoned.

@spam.global_handler('ManyToManyField')
def random_manytomany(record, field):
   return random_fk(record, field, random.randint(1, 5))

dotfiles

Here be the dragons. A bunch of config files for everyday use, managed via GNU tools.

│  2 let test#strategy = 'dispatch'¬
│  1 nnoremap <leader>tf :TestFile<CR>¬
│  0 nnoremap <leader>tt :TestNearest<CR>¬
│  1 nnoremap <leader>tl :TestLast<CR>¬
│  2 nnoremap <leader>tv :TestVisit<CR>¬
 
init.vim

exodust

A raspberry-pi deployable air quality meter.

$ mix firmware.burn

fotd

Elixir Function Of The Day -- a homepage for alchemists.


freya

Experimental time-series database, built on top of Cassandra and Riak Core, modelled after KairosDB.


gen_cycle

Simple OTP behaviour for recurring tasks.

-callback handle_cycle(CycleData :: any()) ->
    cycle_op().

kai

KairosDB client.

ok = kai:put_metric(<<"meaning">>, 42),
Q1 = ?q:new({5, days}),
M0 = ?q:metric(<<"meaning">>),
Q2 = ?q:compose(Q1, [M0]),
kai_rest:query_metrics(Q2).

passy

A password generator for the shell.

$ alias p='passy.py | pbcopy'
$ p ssh.mtod.org
Password: ****

python-liquidctl

AUR package for the excellent liquidctl - manage your AIO on Linux.

$ yay python-liquidctl

ranch_revproxy

Simple TCP reverse proxy.

ranch_proxy:serve(
  100, 
  ranch_tcp, 
  [{port, 5555}], 
  [{proxy, {example_module, proxy_function}}]
).

tabula

Tabular pretty-printer for Elixir maps

iex(1)> Tabula.print_table(data)

age | city     | name
--- | -------- | -------
 31 | New York | Joe
 33 | Warsaw   | Adam
 28 | Berlin   | Yolanda


vim-erlang

A fully featured set of Erlang vim plugins.

:ErlangTags



© 2019 Adam Rutkowski.
All Rights Reserved, unless explicitly licensed otherwise.