Release self-contained Erlang executables (both Windows and Linux)

Basically information for future own reference.
There are a number of ways to convert your Erlang code into a stand-alone ‘app’ package containing whole OTP environment in it. Starting with standard systools and reltool. Some useful links below.

There are basically 2 kinds of erlang applications:
– the “pure erlang” way is to create a release including the runtime,
OTP and your application(s). Then a simple .bat script can launch the
runtime with the right options. reltool or systools are made for
creating these releases:
rebar can help you using these tools.
– for a single executable, not distributed, with a single app, you can
create an ‘escript’ from your code which will be launched as an
executable. rebar includes the escriptize command to achieve this.
As an example, you can look at the ‘averell’ web server which is built
that way:

or mad:

Enabling mesh (ad-hoc) network on multiple Raspberry Pi’s

So I’m just going to dump my experience here hoping it helps somebody.

This is Step 1 – making your Pi’s be able to ping each other and communicate via UDP/TCP, ad-hoc, peer to peer, without any central router. This doesn’t include making them route packets with 2 or more hops between origin and destination.

Long story short I’ve tried like a hundred different things and as usual a simple thing made it work.

So here it started as a weekend / hobby project trying to learn more about mesh networking and mesh communications. I’ve purchased 2 x Raspberry Pi 2 Model B (below) along with all standard stuff including usb Wi-Fi dongles and set sail with a goal of simply making them ping each other and eventually transfer a file in a mesh / ad-hoc network mode, basically so that none of them is an access point and both aren’t connected to any 3rd access point.

two raspberry pis mesh












Continue reading Enabling mesh (ad-hoc) network on multiple Raspberry Pi’s

Scalabilly begins

I decided to start this blog as a central place to share all things around my professional interests such as building SaaS software and the related aspects of technology, marketing, team work and entrepreneurship in general.

Main thing is I’m going to write about things that both: (a) interest me; and (b) could be useful for others. My interests are quite chaotic in their diversity and include SaaS, mobile messaging (XMPP, WebRTC, SIP), mesh networks, product marketing, startup engineering, but also things such as space exploration, practical psychology,  computer vision, quantum mechanics, aikido and playing guitar.

The name idea basically comes from scalability (as in scalable software, scalable business) and rockabilly which is supposed to mean in this context we don’t only talk & do tech, but we also have fun along the way.

This is a personal blog, I write it in my personal time and all opinions are my own. I may reference some cases from projects and businesses I’m involved with for the benefit of both the reader and business/project in question. This platform allows covering certain aspects in better detail, something I won’t be able to do in a company/project blog due to format or other limitations. There will be no special effort devoted to staying more un-biased and objective than I am; this blog shall be treated as post-work musings of a guy who still thinks about work and may be biased (and certainly doesn’t mind more traffic and leads coming into his projects), but honestly wants to share some insights or maybe ask questions and initiate discussion to learn more from others.

It would be nice in future to build a discussion platform here where other authors could join and write posts, upload tutorials etc but we’ll see how it goes and if I’m able to maintain steady and useful publications in the first place.