The smallest lambda interpreter in JavaScript

2018-01-25T00:21

This post is heavily inspired by Tom Stuart: Programming with noting, William Byrd on “The Most Beautiful Program Ever Written”, Guowei LV – The Most Beautiful Program Ever Written, John Tromp – Binary lambda calculus.

When I first learned about Lambda calculus, I was amazed by a strong mathematical basis for anonymous functions used in many languages.

Then I wondered: what’s the simplest way to represent lambda functions as data?

Read More

Monogatari frame drops

2016-04-06T15:05

There is a beatiful web page: Monogatari drops, and it’s a rare example of an acceptable use of page scroll for artistic purposes.

The page is great, I like the concept, I like the art, I like monogatari series.

But there is a problem: the page is slow. And we’re going to fix it.

An optimized and fixed version of the page is available over here, and more details on the optimization process are available in the rest of this post.

Read More

How to draw oscilloscope lines with math and WebGL

2015-09-17T19:36

When I saw oscilloscope music demos, they amazed and inspired me.

Observing a clever use of interaction between sound and an electron beam is a unique experience.

Some awesome oscilloscope music videos: Youscope, Oscillofun and Khrậng.

However, I could not find any beautiful oscilloscope emulators. Lines produced by most emulators barely look like real oscilloscope lines at all.

Because of that I made a cool WebGL demo — woscope, which is a XY mode oscilloscope emulator.

sexy oscilloscope squiggle

In this post you can learn how to draw these lines in WebGL.

Read More

The Most Expensive Anti-Pattern

2015-07-22T11:08

In this post, I’d like to talk about the most expensive programming anti-pattern I know:

Manipulating structured data formats using string functions.

I will be referring to it as “printf anti-pattern”.

Read More

Speculations on security

2015-06-29T12:34

m1el: “You cannot abstract security”

m1el: “Security is not an interface”

aitderceto: “Security cannot be instantiated”

aitderceto: I’d like one security, please

m1el: OOP is not a good tool to describe security