SMTP Bar Joke and EHLO

Posted by & filed under Uncategorized.

Some time ago, I came up with a bar joke involving SMTP. Since I need to explain it a couple of times, I thought I just write it down as a blog post for future reference. The joke goes like this (as a tweet): A man walks into an SMTP bar. He says, "EHLO guys!"…. Read more »

C++ Class and Preventing Object Copy

Posted by & filed under Uncategorized.

In some cases, an instance of a C++ class should not be copied at all. There are three ways to prevent such an object copy: keeping the copy constructor and assignment operator private, using a special non-copyable mixin, or deleting those special member functions. A class that represents a wrapper stream of a file should… Read more »

Shells: bash, dash, and fish

Posted by & filed under Uncategorized.

The most recent Shellshock, a vulnerability in the popular shell bash, got me to evaluate again the unique setup on Ubuntu/Debian. In this setup, script execution is not handled by bash, this job is carred out by dash, the Debian Almquist Shell. Meanwhile, bash is still used for the interactive shell since dash does not… Read more »

Chicago, jQuery, and Web Revolution

Posted by & filed under Uncategorized.

Last week I was in Chicago for the most recent jQuery Conference, part of my autumn tour. It was a fantastic opportunity to have some face-to-face conversations as well as to get to know different folks in the jQuery community. Most importantly, I feel the urge to recall the revolution of the web, in which… Read more »

CPU Feature Detection

Posted by & filed under Uncategorized.

With so many great cross-platform libraries out there, there is hardly any need to reinvent the wheel. In many cases, it is even possible to extract a portion of a sophisticated multi-platform application code to be reused in a different application. In this example, a basic CPU detection class from Chromium C++ code is built… Read more »