Mon 20 Sep 2021


Currying is an advanced technique of working with functions. It’s used not only in JavaScript, but in other languages as well.

Currying is a transformation of functions that translates a function from callable as f(a, b, c) into callable as f(a)(b)(c).

Currying doesn’t call a function. It just transforms it.

Source: Currying, an article by Ilya Kantor.

Data Compression With Arithmetic Coding

Arithmetic coding is a common algorithm used in both lossless and lossy data compression algorithms.

It is an entropy encoding technique, in which the frequently seen symbols are encoded with fewer bits than rarely seen symbols. It has some advantages over well-known techniques such as Huffman coding. This article will describe the CACM87 implementation of arithmetic coding in detail, giving you a good understanding of all the details needed to implement it.

Source: Data Compression With Arithmetic Coding, an article by Mark Nelson.


Behind the well-known U.S. security organizations—the FBI and CIA among them—lies a heavily guarded, anonymous government agency dedicated to intelligence surveillance and to a highly specialized brand of citizen protection.

Shock waves of alarm ripple through the clandestine agency when Washington, D.C., police detective Ryan Kessler inexplicably becomes the target of Henry Loving, a seasoned, ruthless “lifter” hired to obtain information using whatever means necessary. While Loving is deft at torture, his expertise lies in getting an “edge” on his victim—leverage—usually by kidnapping or threatening family until the “primary” caves under pressure

In the evening I started in Edge by Jeffery Deaver.