On.Programming

For most of us, programming (or more generally – software development) is all the life is about.

IT Hares are not different. And they have more than just quite a few bits to share about programming…

Some Big-Os are Bigger Than Others

February 21, 2017 by “No Bugs” Bunny

how to weigh 780 kilos as equal to 1 kilo

Quote:

Strictly speaking, for real-world computers, every algorithm which completes in a finite time can be said to be O(1)

Another Quote:

now the difference because of unfortunate ‘jumps’ over (uncached at the time) memory can lead to a 100x+ (!) performance difference. However, it is still O(1) and is rarely taken into account during performance analysis

Filed under: On.ProgrammingOptimizations

Read more

Packet Loss for an App-Level Developer. Part II. Last Mile, Wi-Fi, and Summary

January 24, 2017 by “No Bugs” Bunny

Last Mile

Quote:

Burstable packet loss. May be caused by a neighbor preparing his breakfast

Another Quote:

if there is a NAT device on the way from your Client to your Server – a sudden IP change can occur with absolutely no notification to Client whatsoever.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more

Packet Loss for an App-Level Developer. Part I. Router Failures, BGP Convergence Time, AQM, Traffic Shapers.

January 16, 2017 by “No Bugs” Bunny

Active Queue Management

Quote:

All the routers, switches (actually – pretty much each and every device which forms Internet infrastructure) – are allowed to drop each and every packet.

Another Quote:

TCP, when it observes a dropped packet, interprets it as an indication of congestion – and slows down.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more

Determinism: Requirements vs Features

December 26, 2016 by “No Bugs” Bunny

Schroedinger's Cat vs Production Post-Mortem, Low-Latency Fault Tolerance, and Replay-Based Regression Testing

Abstract:

Apparently, in practice there is big difference between cross-platform determinism and same-executable determinism, both in abilities they can provide, and from implementation complexity point of view

Quote:

Cross-platform determinism is the strictest definition of determinism I know; not surprisingly, there are quite a few factors which can break it

Filed under: On.System Architecture(Re)ActorsOn.ProgrammingTips and Tricks

Read more