Mechanics of software
Programming is thinking, not typing
Latest posts
Data migration checklist
Points to check before any data migration...
Short history of information technologies
Ancient world 1950s – Compilers will make programmers obsolete 1960-70s - 3rd generation programming languages will reduce programmer shortages ... Middle Ages 1980s - 4rd generation programming languages and CASE tools will definitely reduce programmer shortages 1980s – client server SQL DBMS will solve mainframe “vendor lock” 1990s – 3-tiers architecture will solve DBMS “vendor lock …
SQL Server as key-value store versus Redis
Comparing SQL Server and Redis performance
DBMS market share 2011-2021
DBMS market share trends of last decade by Gartner on the big picture
List of user sessions in SQL
The frequently asked problem on interviews. You have a log of some user activities represented as a table. Every activity record has at least users ID and activity date/time values. The session is a sequence of activities having less than N minutes between two log records. When the elapsed …
Should database only store data?
Very old subject I remember to discuss in the middle of 1990s... But some people still says that a clean architecture should remove all business logic from the database. Let's start from referential and domain integrity rules (constraints). Are they business ones? Yes, of course. The e-mail column should be …
Why use interface instead of pimpl
The opaque pointer (pimpl) idiom has been inherited from C language where it is used to encapsulate implementation details. However, both old-school and "modern" C++ dispense you from writing some ugly code, and allow to use interfaces with object factories. The example of implementation with both pimpl and interface approach …
Get all subsets from a set
How to extract all combinations (unordered subsets) from a given set in C++? Let us estimate the count before. Suppose N is the size of a given set, and K is the number of elements in the subset. The count of all combinations (unordered subsets) of size K is C …
All expressions of 123456789 and signs +/- which value is 100
Suppose a string of ordered cyphers 123456789 . You can insert signs "+" and "-" between any cyphers to make a correct arithmetical expression. The problem is to find all expressions which sum is 100. This problem may be interesting for dynamic script languages having the function of a string expression evaluation. E …