I suggest to check out the following post first: Edit distance refer to minimum number of moves to make two strings equal. The Levenshtein distance is a string metric for measuring difference between two sequences. Informally, the Levenshtein distance between two words is the minimum number of single-character edits […]

Algorithms – Dynamic Programming – Edit distance (Levenshtein)

Let’s implement the following problem: Given two strings A and B of equal lengths, containing only lower case letters, our job is to count the minimum number of changes required on string A to make it equal to string B. Let’s first talk what is a subsequence. A subsequence is […]

Algorithms – Dynamic Programming – Longest Common Subsequence (LCS)

Prerequisites: download plantuml download plantuml plugin ( download graphviz ( set GRAPHVIZ_DOT as env variable (C:\Program Files (x86)\Graphviz2.38\bin\dot.exe) Create a diagram and use ALT+M to generate the image for it (extension is .wsd) Specific terms @startuml, @enduml – delimits the UML area to be interpreted Sequence diagram “->” and “<-” […]

Lightning talk #11 – Using plantuml plugin with sublime

Who are the interviewers? Well, most of us are programmers also. What do we want / need? We need cool new colleagues, that can help us with tasks. Why do we hire? Business needs, expansion New project incoming More workload People are leaving All of us wants the same thing. […]

The other side of the interview table

Static source code analysis tools Source code analysis tools are designed to analyze source code and/or compiled versions of code to help find security flaws. Software weaknesses – detected by codesonar As you can see, Codesonar detects a lot of errors, at compile time. If we’re looking closely, we can […]

Lightning talk #10 – CWE – Software Weaknesses – Codesonar

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