Online Free Tutorials and Tools 001: Web Performance 101

1. The Elegance of Deflate

Compression is one of the most commonly used functions, and compression algorithms generally fall into two broad categories: entropy-based compression and dictionary-based compression. This article briefly explains the principles of these two types of algorithms and the deflate algorithm that puts them together.

Deflate was invented by Phil Katz back in 1993, and forms the basis of the ZIP file format, the zlib library, gzip, PNGs, and probably a whole bunch of other stuff. At the time it was pretty cutting-edge. The main competition back then was usually LZW, or maybe LZSS. In many people’s eyes compression was still synonymous with run-length encoding, so when Deflate came along it definitely turned some heads. Now, this was over 20 years ago, and so later codecs like LZMA (which I may one day write about) can regularly beat it by a healthy margin. Still, it ain’t dead yet.


2. A Brief Notebook on Cryptography

A Brief Notebook on Cryptography is an article reviews several stages of encryption development, each of which gives a small example of Python.

This is a post written for my Spring 2016 Number Theory class at Brown University. It was written and originally presented from a Jupyter Notebook, and changed for presentation on this site.


3. Web Performance 101

The basics of web performance, for beginners, the content is more comprehensive. In other words, this is an introduction to the modern web loading performance. Learn why performance is important, what performance optimizations exist and what tools help to understand if your app is doing well.


4. WebAssembly’s post-MVP future

c is currently only the MVP (Minimum Feasible Product) phase, and this article describes the features that this compiled language might have in the future.

Online Free Tutorials - WebAssemblys post-MVP future A cartoon skill tree -

The very beginning of WebAssembly’s story starts with Emscripten, which made it possible to run C++ code on the web by transpiling it to JavaScript. This made it possible to bring large existing C++ code bases, for things like games and desktop applications, to the web……


5. Nuxi CloudABI

CloudABI is what you get if you take POSIX, add capability-based security, and remove everything that’s incompatible with that. The result is a minimal ABI consisting of only 49 syscalls.

CloudABI doesn’t have its own kernel, but instead is implemented in existing kernels: FreeBSD has CloudABI support for x86-64 and arm64, and a patch-set for NetBSD and a patch-set for Linux are available as well. This means that CloudABI binaries can be executed on different operating systems, without any modification.