Hi there! I’m Nazarii Piontko, a software engineer who loves to solve problems with code. On my blog, I share my tech discoveries, research findings, and hands-on experiments.
Programming languages often use banker’s rounding - rounding to the nearest even digit - which means 1.25 becomes 1.2 while 1.35 becomes 1.4, contradicting the familiar rule of always rounding 5 up
Why there is a recommendation of keeping server utilization below 80%? Using basic queueing theory, we explore how request latency grows exponentially as servers get busier, and why modern autoscaling systems trigger even earlier at 60-70%.
Ever mistyped your credit card number and gotten an instant error? That split-second check isn’t database magic - it’s clever 1950s math that catches typos faster than you can blink. From credit cards to ISBNs, this elegant checksum algorithm silently guards against human error millions of times each day.
Examines how to optimize compute complexity of Rendezvous hashing. Explores different approaches to make the process more computationally efficient while maintaining fair data distribution, ultimately proposing an improved method that significantly reduces processing overhead.
C# async exception handling exhibits different behaviors based on method signatures. Article describes how ‘async void’ and ‘async Task’ handle exceptions when a method throws an exception.
Exploration of DFS implementation performance across various binary tree structures. Article challenges common assumptions about recursion and iteration, showing surprising insights into how tree characteristics and CPU optimizations influence implementation performance.
In Part 2 of BDD series, we dive into a practical example using a simple ToDo application. We explore the implementation of BDD tests using Python, Behave, and Selenium, demonstrating how to structure a BDD project, write Gherkin scenarios, create step definitions, and implement Page Objects. The article covers key components like hooks, service registry, application controller, and WebDriver factory, providing insights into best practices for BDD implementation in web application testing.
Behavior-Driven Development (BDD) is an agile software development process that enhances collaboration between technical and non-technical team members. It focuses on defining application behavior through universally understandable examples, improving communication and shared understanding of project goals. This article explores BDD for web applications using Python, covering key components like Gherkin, Cucumber/Behave, Selenium, and Docker.