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

Hash functions explained for non cryptographers

A hash function takes a message, m, and returns a pseudo-random string of letters/numbers which should be unique to that message. Let’s say the hash function returns “aBc67D” for the message “I love dogs”. This function should not return the same “aBc67D” for “Donuts are cool”. Hashing algorithms have 3 requirements: A hashing algorithm needs to be reasonably fast to compute and reasonably fast to verify. If you change one single bit anywhere in the message, the outputted string must look completely different....

November 19, 2019 · 10 min · Bee

Public Key Cryptography Simply Explained

Public key cryptography seems magical to everyone, even those who understand it. In this post, I’m 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’s 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

Greedy Algorithms In Python

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? We call algorithms 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 19, 2019 · 13 min · Bee

Book Review: Atomic habits

5/5 ⭐ Buy the book here (this is an affiliate link. I’ll get some of the money you pay for the book at no extra cost to you.) Atomic habits builds on the sensational work of Charles Duhigg’s The Power of Habit by applying more new & groundbreaking research as well as the work of many others into this short textbook on habits. Note: all words past this paragraph are taken directly from the book....

November 8, 2019 · 9 min · Bee

How linked lists work with an application to Blockchain

The blockchain is an immutable, ordered, back-linked list of blocks of transactions. If you want to truly understand blockchain you need to understand linked lists. Linked Lists are a linear collection of data elements. Linearty in a linked list is not defined by each element’s physical placement. Instead each data node in a linked list points to one or two other nodes in the linked list. With an array such as [1, 2, 3] you know that the element 1 is at position [0] and element 2 is at position [1]....

October 10, 2019 · 12 min · Bee

Graph Theory

If you want to learn a lot about Graph Theory, check out this article The seven bridges of Koenigsberg is the foundation and birth of graph theory. There was a puzzle that stated: Can you cross all seven bridges exactly once? There are 2 rules for this problem: Do not cross any bridge twice All bridges must be crossed In the 18th Century a mathematician called Euler realised this problem was impossible....

October 10, 2019 · 9 min · Bee

A Primer on Search Algorithms

“It’s written, ‘seek and ye shall find’. But first, ‘imagine what you seek’. Otherwise, you will end up searching everything everywhere forever.” Toba Beta, My Ancestor Was an Ancient Astronaut This article will be a primer on search algorithms used in Artificial Intelligence. This article was formed from lecture notes from COMP111 at the University of Liverpool taught by Frank Wolter and the famous Russel, Norvig book Artificial Intelligence: A Modern Approach....

October 10, 2019 · 11 min · Bee

Timsort — the fastest sorting algorithm you’ve never heard of

Timsort: A very fast , O(n log n), stable sorting algorithm built for the real world — not constructed in academia. Image from here. Timsort is a sorting algorithm that is efficient for real-world data and not created in an academic laboratory. Tim Peters created Timsort for the Python programming language in 2001. Timsort first analyses the list it is trying to sort and then chooses an approach based on the analysis of the list....

October 10, 2019 · 9 min · Bee