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.

Avoiding Ugly Afterthoughts. Part a. From Writing for Cross-Platform, to Writing for Debugging and Production Post-Mortem, with Error Handling in between

March 28, 2016 by “No Bugs” Bunny

Avoiding Ugly Afterthoughts. Part a. From Writing for Cross-Platform, to Writing for Debugging and Production Post-Mortem, with Error Handling in between - Post preview image

Quote:

It is strongly recommended to have your build server to compile your game for at least two sufficiently-different platforms from the very beginning

Another Quote:

If allocation of 50 bytes causes an “out of memory” error, we’re probably already long dead because of unacceptable swapping. And even if we disabled swap file – chances that we will recover from this condition, are infinitesimally small

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System Architecture(Re)ActorsOn.ProgrammingDebugging

Read more

Once Again on TCP vs UDP

March 21, 2016 by “No Bugs” Bunny

Once Again on TCP vs UDP - Post preview image

Abstract:

The choice of TCP over UDP (or vice versa) might not always be obvious. In a sense, replacing TCP with UDP is trading off reliability for interactivity.

Quote:

The most critical factor in selection of TCP over UDP or vice versa is usually related to acceptable delays

Filed under: On.ProgrammingNetwork Programming

Read more

On Zero-Side-Effect Interactive Programming, Actors, and FSMs

March 14, 2016 by “No Bugs” Bunny

On Zero-Side-Effect Interactive Programming, Actors, and FSMs - Post preview image

Abstract:

“WHY are functional programming languages not popular for interactive programming purposes?" and "WHAT we can do about it?"

Quote:

IMNSHO, deterministic Actors are the very best thing in existence for interactive programming, with lots of very practical benefits (from production post-mortem, to protection of in-memory state against server faults).

Filed under: On.System Architecture(Re)Actors

Read more

Password Hashing: Why and How

March 7, 2016 by “No Bugs” Bunny

Password Hashing: Why and How - Post preview image

Abstract:

Password hashing is a Big Headache, and doing it right is complicated

Quote:

Note that none of the C++11 random number engines (LCG, Mersenne-Twister, or Lagged Fibonacci) can be considered good enough for cryptographic purposes – in short, they’re way too predictable and can be broken by a determined attacker, given enough output has leaked.

Filed under: On.SecurityBest Practices

Read more