Learn Functional Python in 10 Minutes

In this short 10 minute article, you鈥檒l learn what the functional paradigm is in Python. You鈥檒l also learn about list comprehensions. 馃搶 Functional Paradigm In an imperative paradigm, we do things by giving the computer a sequence of tasks and then it executes them. While executing them, it can change states. For example, let鈥檚 say we set A = 5, then we change the value of A. We have variables in the sense that the value inside the variable varies....

November 30, 2020 路 14 min 路 Bee

Algorithmic Design Paradigms

Greedy Algorithms Greedy algorithms aim to make the optimal choice at that given moment. Each step it chooses the optimal choice, without knowing the future. It attempts to find the globally optimal way to solve the entire problem using this method. Why Are Greedy Algorithms Called Greedy? Algorithms are called greedy when they utilise the greedy property. The greedy property is: At that exact moment in time, what is the optimal choice to make?...

November 1, 2020 路 52 min 路 Bee

All You Need to Know About Big O Notation [Python Examples]

By the end of this article, you鈥檒l thoroughly understand Big O notation. You鈥檒l also know how to use it in the real world, and even the mathematics behind it! In computer science, time complexity is the computational complexity that describes the amount of time it takes to run an algorithm. Big O notation is a method for determining how fast an algorithm is. Using Big O notation, we can learn whether our algorithm is fast or slow....

October 8, 2020 路 22 min 路 Bee

How Does Tor Really Work? The Definitive Visual Guide (2020)

Today, we鈥檙e going to do a technical deep-dive into how Tor really works. No mention of how to access Tor, no mention of what might be on Tor. This is how Tor works. Without speculation and without exaggeration of what Tor is. Just a deep-dive into the technical stuff of how Tor works. This article is designed to be read by anyone, with **ZERO **knowledge on networking or Tor. Let鈥檚 dive right in....

September 19, 2020 路 31 min 路 Bee

What Is Dynamic Programming With Python Examples

Dynamic programming is breaking down a problem into smaller sub-problems, solving each sub-problem and storing the solutions to each of these sub-problems in an array (or similar data structure) so each sub-problem is only calculated once. It is both a mathematical optimisation method and a computer programming method. Optimisation problems seek the maximum or minimum solution. The general rule is that if you encounter a problem where the initial algorithm is solved in O(2n) time, it is better solved using Dynamic Programming....

December 31, 2019 路 35 min 路 Bee

Learn Functional Python in 10 Minutes

In this short 10 minute article, you鈥檒l learn what the functional paradigm is in Python. You鈥檒l also learn about list comprehensions. 馃搶 Functional Paradigm In an imperative paradigm, we do things by giving the computer a sequence of tasks and then it executes them. While executing them, it can change states. For example, let鈥檚 say we set A = 5, then we change the value of A. We have variables in the sense that the value inside the variable varies....

November 20, 2019 路 13 min 路 Bee

Divide and Conquer Algorithms with Python Examples

Often I鈥檒l hear about how you can optimise a for loop to be faster or how switch statements are faster than if statements. Most computers have over 1 core, with the ability to support multiple threads. Before worrying about optimising for loops or if statements try to attack your problem from a different angle. Divide and Conquer is one way to attack a problem from a different angle. Don鈥檛 worry if you have zero experience or knowledge on the topic....

November 20, 2019 路 15 min 路 Bee

How Does BitTorrent Work? a Plain English Guide

No talk about downloading things on BitTorrent. Or the best clients to do so. Just a deep-dive into the technical side of it. Anyone can read this article. Requires ZERO knowledge on networking or BitTorrent to read this. BitTorrent is one of the most common protocols for transferring large files. In February 2013, BitTorrent was responsible for 3.35% of all worldwide bandwidth, more than half of the 6% of total bandwidth dedicated to file sharing....

November 20, 2019 路 21 min 路 Bee

Public Key Cryptography Simply Explained

Public key cryptography seems magical to everyone, even those who understand it. In this post, I鈥檓 going to explain public key cryptography. Public Key Cryptography is based on asymmetric cryptography, so first let us talk about symmetric cryptography. Symmetric Cryptography Your front door is usually locked by a key. This key unlocks & locks your front door. With symmetric cryptography, you have one key which you use to unlock and lock things....

November 19, 2019 路 20 min 路 Bee

How to Share a Secret (Diffie-Hellman-Merkle)

Diffie-Hellman-Merkle is a way to share a secret key with someone (or something) without actually sending them the key. Before we look into how we share keys let鈥檚 first look into what keys are and why we would want to invent a method to share keys without giving the other person the key. Your front door is usually locked by a key. This key unlocks & locks your front door....

November 19, 2019 路 13 min 路 Bee