Omar Abou Mrad


One of my hobbies is learning new technologies or new concepts and applying them in personal projects or experiments. Here's a small list of (not-so) recent things I've been doing:

dryorm - object relational mapper playground (open source) [Python, Django, Channels, Queue, Docker]

brawlers - cybercafe layout dashboard (closed source, for now) [Javascript, React, SVG, Firebase]

mastool - static analysis checks of python code through flake8 (open source) [Python, Flake8]

bosta - pluggable slack bot [Javascript, Slack]

vim-life - vim plugin for conway's game of life [Vim, Python]


My hello world when learning different languages is to create rudimentary irc bots. The exercise allows me to test different aspects of the language at hand from networking to string manipulation and regular expressions.

python go luabot javascript


I also tend to create a lot of snippets of code to share or store for later reference and since Github doesn't have a friendly gist listing you can find a friendly listing here

docker-compose services logs in split tmux panes
curses experimentation with a chat cli
apt dependency graph
android declarative transition button
python class hierarchy as a block diagram
how to contribute to a github wiki
github-like commit differences
minuscule web router done for a presentation
cute vim fold expression
surround yourself with matrix in tmux
flappy bird pixel clone with love2d
static checks with python ast (that later became mastool)
poor man's implementation of contracts
consume an api and build a document using d3js
generate a form dynamically using d3js
abusing python dunders to build simple rules
2d canvas sprite management alongside tests
2d canvas sprite management alongside sample
2d canvas space shooter
2d canvas parallax scrolling
poor man's python singledispath

You can find more about me here

Copyright 2018 - licensed under CC BY-NC-SA