IT Hare on Soft.ware

Disclosure: On this site you won’t find specific advice on “how to call function xyz()”. Interpreting C++ ARM and #pragma dwim is also out of scope.

We’re treating our readers as intelligent beings who can use Google and/or StackOverflow, where all such specific questions were answered more than once.

What you will find is opinions, more opinions, and even more opinions on all the aspects of software development - and with a large chunk of them based on real-world experience too.

Your mileage may vary. Batteries not included.


Choosing Version Control System for gamedev

Quote: “For game development (and unlike most of other software development projects), you’re likely to have binary files which need to be edited (representing so-called “assets”)”
Another Quote: “for open-source games, Git does have a Very Significant Advantage™”

gamedev: to feature branch or not to feature branch?

Quote: “As a rule of thumb, for gamedev we DO need to have our version control to be easily usable by non-developers.”
Another Quote: “it is the second developer to commit who becomes a rotten egg responsible for resolving conflicts”

OLTP Optimization Cheat Sheets for dbdevs and DBAs

Quote: “Have I already mentioned that you DO need to understand execution plans?”
Another Quote: “DO keep in mind that maintaining indexes has its own cost”

DB Execution Plans for C++/Java Developers, and for anybody who has read Knuth

Quote: “If I was a compiler-with-ability-to-create-indexes-as-I-need-it – what would I do to make The Ideal Execution Plan™ for this request?”
Another Quote: “When we have that ideal-execution-plan – we still need to convince our SQL compiler to use it”

Understanding Correlated and Uncorrelated Sub-queries in SQL

Quote: “A correlated sub-query is a type of query, where inner query depends upon the outcome of the outer query in order to perform its execution.”
Another Quote: “Correlated sub-queries are slower.”

OLTP DB Optimizations 101 – Thinking in Terms of Execution Plans

Quote: “to realize how our queries are working – we need to start thinking in terms of so-called “execution plans”.”
Another Quote: “it can be faster to use Table Scan rather than Index-Scan+fetch over such a low-selectivity index”

Allocator for (Re)Actors with Optional Kinda-Safety and Relocation

Quote: “‘Safe with relocation’ mode will allow us to eliminate dreaded ‘external fragmentation’ – which tends to cause quite a bit of trouble for long-running systems”
Another Quote: “For a long while, I have been a strong proponent of message-passing mechanisms over mutex-based thread sync for concurrency purposes”