Testing Elixir applications with concuerror

Another year has passed, so it’s more than time for another post, though a really quick one. You probably heard it: Elixir is great. And maybe you heard of concuerror. That actually is great, too. So you might have asked yourself: How do I integrate them both? Glad you asked, here you go: Install concuerror Remember the path you installed it to Run the following, replacing ../Concuerror with the path you actually installed it too, Elixir.Ps.Tracker with the module you defined your test function in, test with your test functions name and ps in _build/dev/lib/ps/ebin with your projects name. [Read More]

Getting started with SMF

SMF is the Solaris/OpenSolaris/Illumos Service Management Facility. It starts, monitors & restarts your services. It’s basically what init, upstart and systemd do, but very clearly focused ond starting processes, keeping them up and stopping them. It has quite a lot of small tools you need to at least basically understand. Due to the time it took me to build my own startscripts I felt like it’s my duty to explain the basic concepts. [Read More]

Hey, we built a GCE Ubuntu 14.04 Image

At grandcentrix we felt the need to have a Ubuntu 14.04 Image on Google Compute Engine. As it’s not offically supported, we did what good guys do and built one ourselves. And because we are really nice, we shared all the recipes and even host a ready-to-use image. The build is based on Packer and Vagrant (note: works only on VMWare Fusion, as VirtualBox does not support nested virtualization). The process is started by cloning the git repo and running vagrant up inside the repo. [Read More]

Building simple auto-reloading for Marathon apps

I played around with Marathon tonight and built a simple script that one might find useful. Marathon Is a framework running on top of Apache Mesos. Mesos itself is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It provides semantics for automatically distributing tasks to different nodes, based on various demands (CPU-Cores, RAM, special hardware features). Marathon provides such a task of framework for creating and scaling long-running tasks like webservers. [Read More]