Sudoku is a number placement puzzle, where the objective is to fill a square grid of size n, with numbers between 1 to n. As constraints, each row, column, and sub-grids should contain empty spaces or unique numbers from 1 to n. Step-by-step algorithm With backtracking, we try to add […]

Algorithms – Backtracking – Sudoku

As much as you’d expected a technical post, we’re all humans after all, and i’d like to share some things with you all. For the last year and a few months, I’ve worked on writing this technical book – and i’m still allocating a few hours each week for it. […]

This year’s challenge

1. Online functionality Create the architecture (paper drawing) for an application. Also think of ways of testing the implementation. (put them on paper) The application should contain a database and a server. Functional requirements (Features): Access to the functionality is restricted unless the user is logged in. In case it […]

Practical work: Practice Architectural Skills

Definition Clamp is an algorithm added in C++17 that is used to limit a value in a given range.  If value > max, value is set to max If value < min, value is set to min Syntax Before C++17, we were relying on the following code (or similar) to […]

Library Feature: std::clamp

Each programmer should at least play around (or get confortable) with multiple programming languages and tools, in order to notice the differences between them and be able to choose the one that fits the best for the task they have. The list is for juniors or for anyone who did […]

Practical work: Mentoring activities

lightning talk
What is Foreign Function Interface? According to wikipedia: FFI refers to the ability for code written in one language (the “host language,” such as C++), to access and invoke functions written in another language (the “guest language,” such as Python). The term “foreign” refers to the fact that the functions […]

Lightning talk #8 – Interfacing C++ with other languages

Syntax [crayon-5c95c6907179e331526125/]   Tuples and data fetching Tuples are suggested for returning multiple values from a function. They are in a strong relation with std::tie, which is used for retrieving the values. The only problem is that we have to have all those variables previously declared. [crayon-5c95c690717a7665594887/] But what if […]

Language feature: Structured binding

Syntax [crayon-5c95c69071c91228524103/] std::quoted was added in C++14 and it is used to take care of escaping quotes and backslashes in output streams, and unescaping them in input streams. This is handy for example if we want to use it in an SQL statement, in both ways (either add the escaping, […]

std::quoted and the “friendly” delimiters

String conversions using stringstream Stringstream can be used to get values from a string, by using stringstream as adaptor. Stringstream also has the operator << for adding a string into its stream. In case the conversion fails (trying to add “abc” into an int for example), the value of the […]

Conversions using std::to_string and “from_string”

lightning talk
Lambda under the hood What if we capture by reference instead? [&] vs [=] Lambda template Move cannot move if const C++17: Clamp Before C++17, we were relying on the following code (or similar) to clamp a value. Now, with C++17, we can simply use std::clamp. Reverse Unique Sort Algos […]

Lightning talk #7 – C++ functionality: Did you know… ...