On.System Architecture

System Architecture (and it’s subfield Software Architecture) is a discipline which is surprisingly poorly covered. In a sense, it is still more an art than a science, and usually requires somebody intimately familiar with practical systems, to tell what’s to do and what’s to avoid when building a system.

IT Hares have lots of experience in both Software Architecture and more general System Architecture, and are trying to share their knowledge (and more importantly, their feelings) about them.

Multi-threading at Business-logic Level is Considered Harmful

September 7, 2015 by “No Bugs” Bunny

Last Straw: Business Logic+Multithreading

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

Part VIIb: Security (concluded) of 64 Network DO's and DON'Ts for Multi-Player Game Developers

July 20, 2015 by “No Bugs” Bunny

Security Backdoor

Quote:

What is practically very important – is to keep all the “unsanitized” data in one place.

Another Quote:

What will happen if attacker got the whole database of your users' passwords?

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork ProgrammingOn.SecurityBest Practices

Read more

Part VIIa: Security (TLS/SSL) of 64 Network DO’s and DON’Ts for Multi-Player Game Developers

July 13, 2015 by “No Bugs” Bunny

IP Security

Quote:

Design of secure protocols is a thing which even security professionals have lots of problems with.

Another Quote:

In the security field, if you can disable something unused – you SHOULD do it

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork ProgrammingOn.SecurityBest Practices

Read more

Part VI: TCP of 64 Network DO's and DON'Ts for Multi-Player Game Developers

July 6, 2015 by “No Bugs” Bunny

TCP handshake performed by rabbits: SYN - SYN+ACK - ACK

Quote:

In addition, if TCP_NODELAY is set, it MIGHT help to mitigate consequences of exponential backoff algorithm in case of lost packets.

Another Quote:

All of us are seeing 'hung' HTTP connections on a regular basis – that is, when we've clicked a link, and the page loading is stuck forever.

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more