CodeProject

Olivier Coudert on October 27th, 2013

CodeProjectAWS has made virtual machines (EC2) ubiquitous. You can launch and stop them as will, log into them, create new accounts, etc. Then you start digging into remote control for multiple users. How do I set up a ssh connection between my local client and a remote machine? Which key should I use? How do […]

Continue reading about How to: passwordless ssh

Olivier Coudert on September 26th, 2013

CodeProjectType casting consists of converting an expression of a given type into another type. It can be done by explicitly telling the compiler which type the expression must be converted to, for instance: It can also be done implicitly by letting the compiler decide which type conversion is appropriate to successfully compile the source code. […]

Continue reading about Beware of implicit type casting

Olivier Coudert on July 30th, 2013

CodeProjectLess is often better. In mathematics, physics, and arts, simplifying and shedding every bit of complexity and redundancy have produced remarkable results. It leads to abstraction, elevates expressiveness, and reveals patterns that are otherwise buried in details. Programming is no different. For a developer that looks for correctness (does my program behave as expected?), efficiency […]

Continue reading about The rules of minimalist programming

Olivier Coudert on March 31st, 2013

CodeProject In the late 50’s, when people programmed close to metal (read: with assembly languages) on a daily basis, there were only two so-called high-level programming languages: Fortran and Lisp. Both are still in use, even though they are considered passé (yet, I consider Lisp and its Zen-like syntax as one of the best languages […]

Continue reading about Is C++ passé?

Olivier Coudert on July 9th, 2011

CodeProject In a nutshell, serialization consists of writing data and objects on a support (a file, a buffer, a socket), so that they can be reconstructed later in the memory of the same or another computing host. The reconstruction process is also known as deserialization. Serializing a primitive type like a bool, int, or float, […]

Continue reading about A practical guide to C++ serialization

Olivier Coudert on May 30th, 2011

CodeProject A program is deterministic, or repeatable, if it produces the very same output when given the same input no matter how many times it is run. Refining this definition, we should consider whether a program produces the same result on any platform (32 and 64 bits machines, running Windows, Mac OS, Linux, Solaris, etc). […]

Continue reading about How to make software deterministic

Olivier Coudert on April 9th, 2011

CodeProject The quality of software is assessed by a number of variables. These variables can be divided into external and internal quality criteria. External quality is what a user experiences when running the software in its operational mode. Internal quality refers to aspects that are code-dependent, and that are not visible to the end-user. External […]

Continue reading about What is software quality?