Check out my code!

Life of Erlang developer

Scalability, automation, quality

Gleb Peregud

Who am I?

I am Gleb Peregud, BSc. An Erlang enthusiast, bleeding-edge technology lover and full-stack web developer. My area of expertise is designing and developing web services scalable backend servers for COMET, messaging, server-to-browser push and other end-to-end web solutions. Many years of GIS and web mapping experience.

Happy clients


Here are the most exciting projects I have worked on:

Oortle - linearly scalable pub-sub system

Publish-subscribe systems and Erlang - a perfect fit. Oortle is an implementation of publish-subscribe messaging system, able to scale (near) linearly in terms of number of clients. Oortle runs in the clouds (EC2 and others). Tests with 200 EC2 node clusters has been done. Single Oortle node can handle hundreds of thousands connections. Cluster can handle millions of concurrent clients with less than 1.5 seconds end-to-end broadcast latency

Created for LivePress Inc. - microblogging social network

Written in Python handling millions of users running on a very small number of servers. I've worked on scaling and designing new features. Aside from scaling the system as a whole I've created Jabber transports for ejabberd for proprietary networks MSN, AIM, Yahoo! and ICQ.

Generalized geocoding server

Proof-of-concept generalized robust geocoding system capable of working with unformatted queries. Clustered for horizontal scalability.

Created for Poly9 Group Inc.

vserver - geometry streaming server

rserver - routing server

Open source

Here are open source projects I have worked on either by creating or maintaining:

erlcloud - cloud computing APIs for Erlang

Currently supports Amazon AWS, including EC2, S3, SQS, SimpleDB, Mechanical Turk and CloudWatch. I am maintaining the project now, originally created by @bwbuchanan

ScriptCaller - cross-platform cross-browser JSON-P library

ScriptCaller is a library which allows for cross domain JSON-P requests in a cross-browser way. Most important feature is that it supports both onSuccess and onFailure callback on all browsers.

Created for LivePress Inc.

proto_ws - WebSocket protocol parser

Websocket protocols parsers done in purely functional-style. It is based on code from Misultin and since Misultin got discontinued we factored out Websocket-specific code into separate project along with some changes which allows for easier integration into other projects.

It does not operate on sockets, instead it works on stream of bytes only. It provides foldl-like API incoming data parser, allowing to operate on received messages right away or accumulated depending on the needs of users.

Created for LivePress Inc.

eXAT - Erlang FIPA-compliant agent library

The Erlang eXperimental Agent Tool. It aims at implementing FIPA standards for multi-agent systems. Project originally by Corrado Santoro and Francesca Gandemi, now extended and polished by me.

proj4erl - proj4 bindings for Erlang

proj4erl is simple a NIF-based binding for PROJ.4 library.

kha - Lightweight Erlang continious integration server

Work in progress. Lightweight Erlang continious integration server aimed at Erlang programs making live of developers easier. Easy to setup and use.

fresh - Fancy Remote Erlang SHell

Work in progress. Ncurses-based Erlang remote shell supporting Erlang term interactive introspection and colorful pretty printing.


Python library for reading and writing Paradox DB files.

Academic achievements

I have BSc in Computer Science at Warsaw University of Technology in 2008. My thesis paper was "Vector Map Server" implemented in Erlang.

As of end of 2012, I am finishing my Masters Thesis in Computer Science at Warsaw University of Technology. My thesis paper is "EXAmons – agent-based resource monitoring system for cloud".

In 2012 year me and my colleagues have published a scientific paper "Implementing an eXAT-based distributed monitoring system prototype"

Consulting and development

I do accept consulting and development jobs under an umbrella of SilverSoft Sp. z o.o. The team I am leading there is willing to build a scalable solution tailored to your needs! Drop me a line or just call directly!