Words and Buttons: show-and-tell

Interactive essays on different math and programming curiosities. Unlike tutorials, these are more focused. Also, the topics they cover are generally more obscure. Tutorials are meant to explain well-known things to people who do not know them just yet. Show and tell is for showing interesting and unusual things and telling about them.

Can we use lemniscates for ultra-cheap vector graphics?

This depicts an old idea of using multifocal lemniscates to draw arbitrary curves. In somewhat limited scope, this may be indeed an economical alternative to splines.

Bi-whatever transformations

An interactive explanation of how polynomial transformations such as trilinear or biquadratic or even linear-cubic work, and how to craft your own that fits your particular task the best.

Arctangent scale. It's like the logarithmic scale but infinite

An interactive demo of how, with arctangent used as a scale, we can show any function on a screen. And not just a fragment of it but the whole function.

Image darning

A simple image processing algorithm that cleans up dirt stains from aged newspapers. I called it “darning” because of how it works.

Honeycomb texture generator

This generates honeycomb textures of a special quasi-irrational form. Explanation included.

SWInE: Simplicial Weight Interpolation and Extrapolation

The less known alternative to splines. A localization of Shepard's method on a simplicial complex.

Quadratic splines are useful too

This explains simple quadratic splines, how to craft one yourself, and why.

Circles and lines vs. polynomial splines

An alternative to polynomial splines. Smooth parametric curves made from arcs and line segments.

Lexical differential highlighting instead of syntax highlighting

This type of highlighting is ideal for assembly. With it, the things that shouldn't seem similar usually don't.

Interactive mnemonics for dot and cross vector products

Just a pair of mnemonics for dot and cross vector products. They present the functions, show how they work, and why one is dot and the other is cross.

Cheap trick to speed up recursion in C++

More often than not, recursion is not your performance problem, to begin with. But even if it is, you can often avoid recursion altogether. When for some reason you can't, this trick helps.

Outperforming everything with anything

A 100 lines of Python code that substitute the compiler front-end for a specific computation. This shows that you don't need a “fast” compiling language to write efficient code. In fact, a compilation is only one of the multiple ways to achieve speed.

Interactive introduction to iterative algorithms

An interactive explanation of how iterative algorithms work. This explains convergence and the exit condition problem on an oversimplified linear system solver.