Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.

Read more »

Every program we run on the command line automatically has three data streams connected to it: stdin, stdout and stderr. Piping and redirection is the means by which we may connect these streams between programs and files to direct data in interesting and useful ways.

Read more »

Sometimes we might forget our password, but it is stored in our browser. The password is hidden as “dots” so we cannot get its value directly. Even the trick "copy and paste to a text file" doesn’t help here.

Read more »

Monitoring the network connectivity is an important part of administering servers. In this tutorials, we will discuss how to use traceroute to diagnose the network issues. We will also introduce the tool mtr which combines most of the functionality of ping and traceroute.

Read more »

The Iterator Pattern is used to get a way to access the elements of a collection object in sequential manner without any need to know its underlying representation. The C++ and Java standard library abstraction utilize it to decouple collection classes and algorithms.

Read more »

A monolithic object’s behavior is a function of its state, and it must change its behavior at run-time depending on that state. The State Pattern is a solution to the problem of how to make behavior depend on state.

Read more »

The composite pattern describes that a group of objects (composite) is to be treated in the same way as a single instance of an object (primitive). Having to query the “type” of each object before attempting to process it is not desirable.

Read more »