Asynchronous networking: building TCP & UDP servers with Python's asyncio

Standard examples for coding up a TCP or UDP server using Python usually use the socket library which by default operates in a synchronous, blocking mode, i.

Building a DNS server from scratch: DNS Message Question & Answer

Building upon the foundations laid in our previous post on creating a DNS server, we now progress to the next critical component: handling the DNS message’s Question and Answer sections.

Bitwise Operations in Python: Encoding Network Protocol Flags into Byte Sequences

Ever wondered if there’s an actual use-case for byte and bitwise operations except for Leetcode style problems?

Building a DNS server from scratch: UDP server & DNS message Header

The best way to learn a technology is to implement it yourself from scratch.

Algorithm patterns: monotonic stack

Stacks can be utilized to keep track of monotonously increasing (or decereasing) orders which can be useful when you are interested in finding the next greater / smaller element in O(n) run time.

Telegram crypto bot: autocomplete feature via prefix tree

In this post we improve our inline Telegram crypto bot by adding an autocomplete feature that dispalys possible crypto symbols based on the user’s input.

Thumbnail image

Telegram crypto bot: adding inline mode

In this post we add the inline mode feature to our Telegram crypto bot which allows interacting with the bot by typing its username in the text input field in any chat:

Implement a Prefix Tree (aka. Trie)

This post presents a Python implementation for today’s daily LeetCode challenge: Implement a Prefix Tree.

Thumbnail image

How-to: (Dockerized) Telegram bot that queries FTX for crypto prices

This posts presents a simple Python 3 implementation of a Telegram bot that queries the FTX API for crypto currency prices.

Graph algorithms: sorting edges + union-find = Kruskal's minimum spanning tree

This post presents a Python 3 implementation of Kruskal’s Minimum Spanning Tree algorithm.