Blog

Here I write articles about programming and software development, share my experience and observations. The materials will be useful for both developers and anyone interested in technology. Enjoy reading!

Diffie-Hellman key exchange

Diffie-Hellman key exchange enables secure secret sharing over public channels using modular math. Learn how it works, its vulnerabilities, and why modern encryption prefers its elliptic curve variant

Finding Prime Numbers using Sieve of Eratosthenes algorithm

Prime numbers are natural numbers greater than 1 that have no positive divisors other than 1 and themselves, such as 2, 3, 5, and 7. Today, we'll explore the Sieve of Eratosthenes algorithm, an efficient method for finding prime numbers.

Fast Text Matching with Prefix Trees

A prefix tree, especially in the form of a trie, is a powerful data structure designed for efficient text operations. It resembles a highly organized library catalog for fast searches, additions, and pattern matches in large text collections.

Learning Blockchain with Go

Blockchain is a decentralized technology for storing data in a chain of linked blocks. It provides transparent and secure storage of digital records. For example, in banking, where modifying previous transactions is impermissible, blockchain can be used.

Hashing Explained

Hashing is the process of transforming any given data (such as a file, message, etc.) into a fixed-size string of characters. For a practical example, in command-line interface of Windows, you can calculate the hash of a file using the "certutil":

Why is Caching so Important?

One powerful technique that can significantly boost performance is caching. By intelligently storing and retrieving data from a cache, applications can avoid redundant computations and minimize costly operations, resulting in performance gains.