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 on all the aspects of software development (from UI to scalability, reliability and security) for all kinds of systems (from large-scale systems to embedded ones), the reasoning behind those opinions, and tons of practical observations, which may help you to choose what you really need for your specific task.

Your mileage may vary. Batteries not included.


Deterministic Components for Distributed Systems

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”

Game Graphics 101: 2D Animation, Sprites, Double and Triple Buffering

Quote: “If you’re using double buffering AND perform buffer swap in sync with the V-Sync signal, your monitor will show your game just as a movie projector with shutter would show a cartoon in the cinema”
Another Quote: “I’ve seen a pretty minimal 2D engine written from scratch at a cost of 4-6 person-weeks”

Game Graphics 101: Static 2D (Vectors/Rasters, Color Spaces, 2D Anti-Aliasing, etc.)

Quote: “when trying to scale vector image to VERY small pixel sizes – you might get problems”
Another Quote: “Internally, JPEG uses a close cousin of a Fourier Transform, which works over 8×8 pixel blocks.”

Knowledge-Sharing Architects As An Alternative to Coding Architects

Quote: “Yes, a coding architect might work (and is indeed orders of magnitude better than an architect who has no clue about the code), but a knowledge-sharing architect will generally work better.”
Another Quote: “As a nice side effect, the very same knowledge sharing weakens a dependency on the architect (and reducing any dependency on a specific person is a Universally Good Thing™).”