Design decisions

When architecting a system, it is inevitable to make certain high-level design decisions.

Some of these decisions, if they’re wrong, can lead to the re-architecturing and re-writing of the whole system some months later, so there is an incentive to keep things rather generic. On the other hand, trying to make system too generic is just another recipe to disaster (usually expressed in terms of missed deadlines and unmanageable code).

IT Hares try to describe certain not-so-obvious architectural decisions, and some considerations which should be kept in mind while making them.

MMOG Server-Side. Eternal Linux-vs-Windows Debate

January 4, 2016 by “No Bugs” Bunny

MMOG Server-Side. Eternal Linux-vs-Windows Debate - Post preview image

Quote:

Each server is only as secure as its admin

Another Quote:

For cheaper servers, the difference between Windows and Linux can eat as much as 50% of the server rental price (though for those servers which are more or less optimal price-performance-wise observed difference was closer to 20-30%).

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureRequirement analysisDesign decisions

Read more

Client-Side. Client Architecture Diagram, Threads, and Game Loop

December 14, 2015 by “No Bugs” Bunny

Client-Side. Client Architecture Diagram, Threads, and Game Loop - Post preview image

Quote:

To have a good concurrency model, it is not strictly necessary to program in Erlang

Another Quote:

Most of developers agree that FSM-based programming is beneficial in the medium- to long-run.

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDesign decisions(Re)Actors

Read more

Multi-threading at Business-logic Level is Considered Harmful

September 7, 2015 by “No Bugs” Bunny

Multi-threading at Business-logic Level is Considered Harmful - Post preview image

Quote:

However, the window for triviality is very narrow: for example, even going into two interrelated mutexes instead of one, can easily make multi-threading non-trivial

Another Quote:

Technically you are able to jump to any point of your program, but the variables you see may (and if you have a multi-threaded bug – will) differ every time you jump there.

Filed under: On.System ArchitectureDesign decisionsOn.ProgrammingDebugging

Read more

Best Practices vs Witch Hunts

March 1, 2015 by “No Bugs” Bunny

Best Practices vs Witch Hunts - Post preview image

Abstract:

Best practices need to be taken critically, otherwise they tend to become witch hunts.

Quote:

Merciless refactoring is good, merciless refactoring having no clue about what you’re doing, is not

Filed under: On.System ArchitectureDesign decisionsOn.DevelopmentDevelopment PhilosophyDevelopment Processes

Read more