Welcome to alepho.com
Welcome to my programming corner on the Internet. You can find here basic informations on my work, cv, interests and some code examples.
I'm focused on programming applications backend i.e. client-server, protocols, database and middleware level. Oriented to open source technologies, I'm playing with several languages (C, C++, Java, Perl, PHP and recently Python), databases (PostgreSQL, MySQL, SQLite), operating systems (Linux, FreeBSD) and APIs (languages standard libraries, POSIX, Qt, POCO, Apache, ...). Mathematical education leads me to explore some topics on data structures, graphs and applied algorithms. In every day work I'm dealing with big amounts of data, so my intention is (beside that the applications work correct) to write clean code, easy to maintain and change, with no side-effects.
In the CV section you can find information on my work experience, projects that I worked on, and used technologies. If you have some work to be done, you can check Services section and see if some of my skills are suitable to you. Then you can contact me via Contact form. In the Code section you can find some programming stuff that I've found useful when experimenting with various technologies.
Move semantics and rvalue references in C++11
C++ has always produced fast programs. Unfortunately, until C++11, there has been an obstinate wart that slows down many C++ programs: the creation of temporary objects. Sometimes these temporary objects can be optimized away by the compiler (the return value optimization, for example).
Return-code vs. Exception handling
This is one of those "religous wars" in programming language theory; return code handling (RCH) vs exception handling (EH). Firstly, I am biased. Secondly, I will try to remain objective as well, partitioning observations of code using these mechanism from how I feel this reflects on the utility of either mechanism.
volatile: The Multithreaded Programmer's Best Friend
The volatile keyword was devised to prevent compiler optimizations that might render code incorrect in the presence of certain asynchronous events.