Gossiperl at EUC 2015 and next steps

Wow. It’s difficult to believe it’s been almost a week since I gave a talk about gossip protocols at Erlang User Conference in Stockholm. It was a fantastic event, great agenda, great topics, fantastic networking. EUC is one of those events you should attend, you will not regret it. No matter if you are interested in Erlang/Elixir or not. Big “Thank You” to all who made it happen. EUC2015 was also a place of first public appearance of Gossiperl.
Read more

Control Keynote presentation with your mobile browser

A little moan to start with… I owned a mid 2009 MacBook Pro, I never used it for presenting stuff to others but I actually bought a remote control for it. The computer cost me a lot of money, it was top end stuff when it was bought. The remote control cost me the money as well. I also have a copy of Keynote. It also cost me money. A while ago I’ve switched to a new MacBook, the Retina one, top end as well.
Read more

Crowd sourced unit testing / CI

Unit testing has evolved a long way over the years, continuous integration services even more so. Few years back, when mentioning CI, Jenkins was the only reasonable choice someone would take. It was kind of easy to set up, depending on what one was planning to do with it. Looking at this space today there are plenty of services offering painless CI for the masses. The most known one - Travis CI.
Read more

State of gossiperl and some JavaScript Thrift goodies

The gossiperl project is growing. I had a great, productive, working Christmas break, implementing a number of client libraries for the message bus. In the last couple of weeks a number of client libraries for gossiperl have been released. The full list now includes: Ruby JVM with examples in Clojure and Scala .NET as a mono project Erlang And the most exciting so far — gossiperl client Chrome extension.
Read more

Gossiperl gossip middleware in Erlang

Today I’ve released a project called gossiperl. Gossiperl is a language agnostic gossip middleware written in Erlang. The purpose of the project was purely research on gossip based systems, as well as, learning Erlang. Main intent was to create a common communication middleware enabled over gossip using a standard binary transport mechanism. Gossiperl is a result of over 6 months of research, reading, learning, planning and implementation. Gossiperl uses Apache Thrift binary serialisation over UDP.
Read more

Apache Thrift via UDP in Erlang

A few months ago I have started learning Erlang, mostly for fun but it was right about time to jump on the functional bandwagon. The best way to learn a new language is to find an engaging project, in my case its been something what has been on my mind for quite a while: a cloud communication protocol / framework for distributed computing. Some basic principles of what it is about can be found here: CloudDDS.
Read more

OpenStack Devstack up and running with Vagrant, in 12.5 minutes

I’d like to develop for OpenStack The eaiest way to start, is to use a project called devstack. Devstack is: A documented shell script to build complete OpenStack development environments. It looks promising. Unfortunately, the script is not as simple as what is claimed on the website: git clone https://github.com/openstack-dev/devstack.git # configure, while optional... cd devstack; ./stack.sh There be Dragons. So? After looking at a number of different search results on the Internets, digging through some Chef cookbooks, Puppet stuff, here’s a Vagrant file to set up Devstack using Vagrant (Ubuntu 12.
Read more

Erflux, InfluxDB client for Erlang

It’s been already a month since I released erflux on github. Erflux is an Erlang client for InfluxDB HTTP protocol. Installation {deps, [ {erflux, ".*", {git, "git://github.com/radekg/erflux.git", {tag, "version-1"}}} }]} and run ./rebar get-deps Configuration Erflux allows configuring a number of parameters: InfluxDB host, default 127.0.0.1 InfluxDB port, default 8086 username, default: root password, default: root SSL usage, default: false timeout, default: infinity The simplest way of applying configuration is to use application:set_env, like the example below:
Read more

Apache Zookeeper authentication

The problem One of my Zookeeper clusters has to be available to everyone. But I want to make sure only specific known hosts are allowed to connect. The problem was, those known hosts are dynamic and I didn’t want any configuration for this component. The servers are running in the cloud, they come and go. At Technicolor, we use Chef to manage all our boxes. Every box is registered on the Chef server, we know every private and public IP address of every server within our setup.
Read more

Git: chopping out part of the repo into a separate repo

I had to cut out cookbooks/nodejs from the develop into a separate repository and move develop to master. The problem is, there is a git repository called XYZ with the following structure: cookbooks nodejs ... mysql ... other_stuff ... and following branches: refs/heads/master refs/heads/develop I had to cut out cookbooks/nodejs from the develop into a separate repository and move develop to master.
Read more