How to control an RC car over WiFi with ESP8266

ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and a microcontroller capability. Here is how I used it to control an RC car.
Design patterns: Specialization of the classic observer pattern

In the typical case, the observer is responsible of getting the updated state from the subject. This means that the observer has to hold a reference to the subject (also the subject holds a reference to the observer, meaning we have created a circular reference).
Design patterns: Observer pattern implementation in Java

Observer pattern is a design pattern with an intent to define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Ansible force remote user with Vagrant 1.8

My Ansible playbook stopped working when using Vagrant 1.8 or above. The problem seems to be with changes made in Vagrant.
Ansible skipping localhost when using Vagrant

Vagrant Ansible provisioner skips plays that are meant to be run on localhost. There’s a simple workaround for that.
Java 8: CompletableFuture

CompletableFuture is an implementation of the Future interface but with a modern twist. It takes advantage of functional operations to promote asynchronous/event-driven programming model.
Using Ansible to manage SugarCRM 7 environments and deployments

I’ve decided to use Ansible to manage SugarCRM environments and deployments. Here’s an overview of Ansible playbooks I’ve created.
Chaining Optionals in Java 8

Optionals in Java can help you to write a program without null checks. Chaining Optionals in a Stream enables to pick the first Optional which has a value and return it.
Using a serial monitor with SparkFun ESP8266 Thing on Linux

Using Arduino IDE’s serial monitor with SparkFun ESP8266 Thing does not work. In this post you’ll see how to use a serial terminal with the SparkFun ESP8266 Thing on Linux.