Overmind logo

Services & Skills

Share on

First, some history

First, there was rails s and then there was sidekiq, and then gulp, or webpack-dev-server, or whatever else you need to use your app in the development environment. Rarely in the jungle of the modern web a programmer can get away by running one single process in the shell.

Then came the Procfile—a format to specify types of processes an application provides and commands to run those services. It became a standard for Heroku and other Platforms-as-a-Service.

Then came Foreman, and it allowed developers to launch all these processes with a single command, and everyone rejoiced, and David Dollar, who created it, got over 4k stars at GitHub. And then more similar tools appeared, and there was a freedom of choice.

Sergey Aleksandrovich has noticed there’s something wrong with these options. Here’s how he explains it:

The problem with most of those tools is that processes you want to manage start to think they are logging their output into a file, and that can lead to all sorts of problems: severe lagging, losing or breaking colored output. Tools can also add vanity information (unneeded timestamps in logs).

Hivemind preserving Sidekiq ASCII-art

Sidekiq logging to Terminal on a Mac directly (left), Foreman clipping the output (middle), Hivemind preserving the beauty of ASCII-art (right)

In an attempt to solve the problem, that may have bugged you too, Sergey turned his attention towards pseudoterminals.

TLC for the PTY

Pseudoterminals (pseudotty, or PTY) have been around since 1967. They’ve existed in UNIX-world since the 80’s and The Linux Programming Interface from 2010 contains an entire chapter explaining pseudoterminals. An excellent breakdown of the concept was written by a French programmer Rachid Koucha. Here’s the excerpt:


In the same orbit

Explore more OSS projects

Contact us

We’d love to hear from you! We’re not really all that evil, and we love discussing potential projects, intriguing ideas, and new opportunities. Complete the form below or drop us a line at surrender@evilmartians.com.

Martians at a glance
years in business

A product development consultancy that works with startups and established businesses, while also creating open source-based products and services