A blog about software development, programming languages, and computer science. Exploring ideas from functional programming to language design, from algorithms to software architecture.
April 17, 2026
Contents Introducing Merkle trees Blockchain fundamentals Blockchains and transaction verification What is a Merkle tree? The Hash type and helper functions Domain separation: a subtle but important detail Building the tree: bottom-up construction Handling odd numbers of leaves Inclusion proofs...
February 14, 2017
This post is a reaction to the notion of “content trap” The Content Trap, avalanche of click-baiting links now spottable even in more respectable media outlets and the whole idea of focusing on capturing attention at the expense of neglecting...
October 16, 2016
Drawing Fractals: Mandelbrot Set Visualization Using HTML canvas to visualize Mandelbrot set. Rendering large sets of points efficiently. Mandelbrot Set Mandelbrot set is defined as a set of numbers z on the complex plane for which the sequence of numbers...
December 30, 2015
Information, Language and Intelligence Why probability, non-determinism, time and causality may not be universal notions, why it is hard to write in functional programming languages, why more sophisticated and less generally applicable theories are needed to get more insight into...
April 14, 2015
Web App Development Challenges Frameworks, Libraries, Standards Need of Componentization Web Components Polymer React.js Angular.js Why not jQuery? Other Options Different Mental Model Putting It All Together Summary Links Web App Development Challenges Web applications become larger, more sophisticated and...
July 13, 2014
Contents Learn You a Bit of Ruby Simple Routine Automation Alternatives to Ruby More Examples of Automation Studying Ruby Further Learn You a Bit of Ruby Even if you are not a software developer you absolutely have to sometime give...
May 11, 2014
Contents Why Haskell? Quicksort Mergesort Bubble Sorting Why Haskell? Recently I decided to learn a bit of Haskell. Having programmed a bit in Clojure and having some familiarity with Common Lisp and Scheme I always wanted to take a closer...
February 16, 2014
Contents What’s your test coverage? Why we test Quality of tests Test coverage Summary What’s your test coverage? If you are a developer and write tests probably you already heard people around you talking about test coverage a lot. Usually...
January 12, 2014
Contents Why JavaScript Isn’t Enough? Example JavaScript Program: Dijkstra’s Algorithm CoffeeScript TypeScript Dart Web Application Development ECMAScript 6 Conclusions Why JavaScript Isn’t Enough? This article assumes that the reader has a good knowledge of JavaScript and has done at least...
November 10, 2013
Contents We need a library for that… Underscore.js to the rescue Performance Language independent concepts Functional programming Underscore.js: under the hood Alternatives Summary We need a library for that… Before looking at Underscore.js more closely let’s first discuss the context...
September 15, 2013
Having written a number of simple scripts that aggregate information that can be found on various Internet sites I have a feeling that I am doing some repetitive, useless and low-level work. It is like writing a classic “Hello, world!”...
July 14, 2013
Contents Enter JavaScript… Running examples Functions are “first-class citizens” Closures and scopes Partial Application Memoization Lazy evaluation Not a functional language but Enter JavaScript… JavaScript is an interesting language. Syntactically it resembles C, C++ and Java, but it was also...
April 7, 2013
Contents Aspect Oriented Programming JavaScript Library for Aspect Oriented Programming “before” advice “after” advice “afterThrowing” advice “afterReturning” advice “around” advice Introducing methods Library Implementation Details Conclusion Aspect Oriented Programming You are probably already familiar with Object Oriented Programming (OOP) and...
February 17, 2013
Contents What languages are most popular? Measurement method Technical details Comparing with other measurements No comprehensive research anywhere What languages are most popular? Obviously it is interesting to know which programming languages are most popular. If some language is popular,...
December 9, 2012
Contents Code Efficiency Abstraction Requirements for languages Future Code Code (or “source code”) is a set of instructions that can be executed automatically by a machine. It is usually written in a programming language and stored in source files in...
August 19, 2012
Having written a number of simple scripts that aggregate information that can be found on various Internet sites I have a feeling that I am doing some repetitive, useless and low-level work. It is like writing a classic “Hello, world!”...