Best plot and charting C++ packages for data visualization

While in Python Matplotlib seems the de facto standard for plotting and charting, no real incumbent is established when it comes to data visualization in C++. I had to review several packages for data visualization in C++, and here are my (partial and incomplete) evaluations: gnuplot with the necessary wrapper gnuplot-iostream . Gnuplot is a old (1986, 30-some years ago, but still updated) standalone software with a vibrant community actively developing it. [Read More]

Sqlite Parser

The following files are generated automatically by the sqlite Makefile: # Generated source code files # SRC += \ keywordhash.h \ opcodes.c \ opcodes.h \ parse.c \ parse.h \ shell.c \ sqlite3.h The parse.c and parse.h are derived from the parse.y, which is interpreted by the file /sqlite/tool/lemon.c. Their function is to interpret the input SQL and return computer readable sequence of simple instructions. For example, a EXPLAIN xxx returns the following: [Read More]

The .git/objects directory in Git

Git consists of three main directories: folder ./ your project directory/working directory ./.git/objects the archive/index directory ./.git/refs the branch/reference directory The working directory is the root directory of your project, just as you created it. Inside of it, there will be a .git subdirectory created by Git, where Git stores all of its files. The ./.git/objects directory is the archive/index directory. It will contain a copy of each version of your files (archive), and an index of each version of your project with its directory and file structure (index). [Read More]

The internal structure of Git

Git is rapidly becoming the predominant collaboration-versioning tool for computer programming projects. It’s light, fast, flexible, integrates perfectly with GitHub, and hundreds of important open source projects are based on it (e.g. Joomla, Zend Framework, etc.), so it is no surprise that its share of usage is exploding. However, many people find it difficult to understand and use it. It is light, but maybe too light, as it comes with no decent user interface. [Read More]

The “do { } while (condition) { }” construct in PHP

PHP has two “while” constructs, one if the code needs to run before the condition is checked: and the other if if the code needs to run after the condition is checked: But sometimes a portion of code needs to be executed before the condition is checked, and another portion after the condition is checked. Here is an example directly from the php ducomentation: This is an easy problem that can be solved with an assignment in condition, it generates a warning but it does not break the code. [Read More]

The Joomla Authentication explained

For a project I am working on, I am playing with Joomla’s authentication and user management. As expected, the mechanism is quite complex, both to understand and to modify. First, a little explanation of what authentication is. We are all familiar with the username+password The whole mechanism is composed of a persistent state (authenticated/not authenticated), and a function to switch from one state to the other (from not authenticated to authenticated, and vice versa). [Read More]