Debugging

If you have ever wrote a program larger than “Hello, World!”, which worked without debugging – it doesn’t mean that you’re a genius, it just means that out of a thousand of programs you’ve wrote, you’ve got lucky once.

Most of developers spend most of their time debugging, so we probably should pay some attention to this subject…

Production Crashes. Post-factum Debugging. Logging. Replayable Deterministic Re(Actors)

April 4, 2017 by “No Bugs” Bunny

Post-factum debugging

Quote:

I’ve seen game companies with hundreds of thousands of dollars lost per hour of unplanned server downtime.

Another Quote:

deterministic debugging is by far the best thing I have seen for production debugging.

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

Read more

Deterministic Components for Distributed Systems

August 22, 2016 by “No Bugs” Bunny

Schrödinger's Cat

Quote:

Then you can recover from any single server failure in a perfectly transparent manner

Another Quote:

after the program fails in production, we can get the input log and run it in the comfort of a developer’s machine, under a debugger, as many times as we want, and get exactly the same variables at exactly the same points as happened in production

Filed under: On.System ArchitectureDistributed systems(Re)ActorsOn.ProgrammingDebugging

Read more

Avoiding ugly afterthoughts. Part b. Coding for Security, Coding for i18n, Testing as a Part of Development

April 4, 2016 by “No Bugs” Bunny

i18n, error handling, DfT, security, cross-platform while coding

Quote:

Doing sanitization at IDL level automates quite a bit of tedious-and-error-prone work, which is always a Good Thing™

Another Quote:

Hey, this whole thing can be made MUCH simpler, the only thing we need to acknowledge is that the best identifier for a string is the string itself!

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingDebuggingOn.SecurityBest Practices

Read more

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

An Ugly Afterthought

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