The State Monad Math and programming stuff

Why Block Size Matters

Bitcoin itself is already quite a contraversial topic. But even within the Bitcoin community there is fiery debate as to what the size of a block should be. Block size is such a debated topic that it caused a split in the Bitcoin community some years back. Why does the size of a block even matter? TPS, or transactions per second. The quation of... Read more

Blockchain 101

The History of Blockchain and Bitcoin The marvelous technology we know as Blockchain today was introduced with the invention of Bitcoin in 2008. Electronic Cash The concept of digital cash is nothing new (relatively speaking). The term has been around since the 80s, when David Chaum proposed his e-cash protocol models. One thing bitcoin accom... Read more

Merge Sort

Lion tamer illustration by Jason Holley Merge sort is a pretty efficient comparison-based sorting algorithm; It’s a divide and conquer algorithm that was invented by John von Neumann in 1945. Conceptually, merge sort is actaully a pretty simple algorithm: Divide the unsorted list into n sublists, each containing one element (this is t... Read more

CIS 194: Homework 5

CIS 194: Homework 5 Preface Setup You will need two packages that are not part of Haskell’s standard library for this assignment. They are aeson and text. You can install these with cabal update; cabal install aeson text1. If you have GHCi open, you will need to restart GHCi to use these downloaded libraries. 1The cabal update part is to make... Read more

A Simple JOSN Parser with Haskell

We begin by defining the grammar for JSON: data JsonValue = JsonNull | JsonBool Bool | JsonNumber Integer | JsonString String | JsonArray [JsonValue] | JsonObject JsonMap deriving (Show, Eq) type JsonMap = [(String, JsonValue)] We will keep it simple a... Read more