Website of Martin Sústrik, creator of ZeroMQ, nanomsg, libdill, Cartesian.

Musings about random stuff. No attempt at scientific rigor. Take with a grain of salt.

All the opinions stated here are my own. Any resemblance to opinions of other people, living or dead, is purely coincidental.

Reputation Engineering, part II

As for this post, it's a follow up to the Romeo and Juliet post. In the post I showed how the feuding families of Montagues and Capulets could have solved the conflict via intermarriages. I've further showed how systems of marriages (known among anthropologists as kinship systems ) can be used to systematically align interests of different clans. Finally, I've observed that that this kind of incentive engineering is not unlike the reasoning you apply to cryptocurrency design. In what follows I...

Comments: 0

Note on Homesteading the Noosphere

I've been re-reading Homesteading the Noosphere and came upon the chapter about gift culture. I've remembered how it rang false even when I read it for the first time, years ago. This time I've decided to write this short note to explain what's wrong with it. Now, don't get me wrong. Homesteading the Noosphere is a great piece of writing and deserves recognition, if for nothing else, then for doing what nobody else did, namely, for looking at open source community from anthropological...

Comments: 3

Reputation Engineering, Part I

For those not familiar with Shakespeare's play, Romeo and Juliet is about two young people from two powerful renaissance families that happen to be engaged in a feud. Romeo and Juliet fall in love. A sequence of unfortunate events results in suicide of both protagonists. The families, shocked by death of their offspring, finally decide to end the feud. Now, let's imagine that patriarchs of house Montague and house Capulet were already fed up with the feud. It hurt their economic interests and...

Comments: 4

Sure, we have imperative and functional. But what about cartesian programming?

Recently, I've released a small tool to write configurations (repo). The README is pragmatic, just a worked example, and doesn't claim anything extraordinary. However, my ultimate motive was to explore a new programming paradigm, or at least a paradigm that I being a programmer for three dacades have never heard of. Describing the world using cartesian products isn't logical programming or object-oriented programming. It isn't functional programming in the strict sense and it's definitely...

Comments: 13

Why is my TCP not reliable (expert edition)

The shortcomings of TCP connection termination have been described many times. If you are not familiar with those problems here's an example of an article that focuses on the problem. However, there's one special use case that is rarely, if ever, discussed. Imagine a TCP client wanting to shut down its TCP connection to server cleanly. It wants to send the last request to the server, read any responses it may produce and exit. Given that it has no idea how many responses are about to arrive it...

Comments: 7

Digital encoding. Legacy software. Evolution.

We’ve finally got to the point in the software world where no big changes are possible. Every change breaks something, introduces backward incompatibilities and so on. More are more we are going to live in the world where software mutates gradually, advancing is small steps without much plan and intelligent design. Similarly to how organisms are dragged by natural selection, it is going to be propelled in unknown direction without asking us whether we like it or not. When I was a kid I read a...

Comments: 1

SRE's review of Democracy

Day One We've been handed this old legacy system called Democracy . It's an emergency. Old maintainers are saying it's misbehaving lately but they have no idea how to fix it. We've had a meeting with them to find out as much as possible about the system but it turns out that all the original team members have left the company long time ago and that the current team doesn't have much understanding of the system beyond some basic operational knowledge. We've done some cursory code review,...

Comments: 4

Few thoughts on current political situation

1 There's a lot of recent political debacles: US elections, Brexit, Orban, PiS, Nazis in Slovak parliament and so on. They all seem to have similar dynamics. (Note: What follows may not apply beyond EU and US.) 2 In all the cases a lot of people tend to be enraged by politics as usual which is understood as a synonym for political corruption. They flock to anyone promising a change. Eight years ago they've supported Obama with explicit slogan of Change , last year it was Trump with Drain The...

Comments: 3

The Cost of Abstraction

The cost of duplicating code, of accumulating technical debt, of not having tests and so on is often discussed and written about. The cost of abstracting things is almost never mentioned though, despite it being a major factor in keeping any project maintainable. As an example, imagine that your program often increases two variables in sequence: i++; j++; So you decide that the functionality deserves a dedicated function: template typename T inc_pair(T i, T j) { i++; j++; } By...

Comments: 9

Debt Cancellation Referendum

This article very much summarises what I think of current political situation: TL;DR: We're all going to die. Not in some distant point in the future, but next year or so. If history teaches us anything it is that there's little chance to stop it. I see red every time I recall that they are going to kill my son. He's 3 years old, for God's sake. I've moved our family to Switzerland,...

Comments: 1

The Birch

This is an actual Slovak folk song. The birch tree is cut down. It's being hauled away. Yes, it's being hauled away. The boys won't climb it again. No, they won't climb it again. The boys cried. And so did the girls. Yes, so did the girls. Because the birch tree is no more. No, it is no more. Martin Sústrik, June 13th, 2016

Comments: 1

The Awe of Cryptography

Professor Krankenstein has invented the most terrible biological weapon known to humanity. When he realised that should his invention fall into hands of one of the superpowers it could well mean the end of the human race he destroyed all the artifacts in the lab, encrypted the recipe (he couldn't bring himself to completely destroy the work of his life), put it into tungsten box, covered the box with concrete and dropped it from a cruise ship into Marianna Trench. Couple of months later he...

Comments: 6

Software Licenses and Failed States

Recently I've stumbled over this graph (here's the original article): The number of projects with a license on GitHub is steadily decreasing. At the moment we are below 20%. The projects without license can in theory be considered open source (the source is published after all) but legally, the copyright is still owned by the authors and using it means infringing their copyright. The interesting question is why would anyone make such a contradictory statement? Why would they make the code...

Comments: 27

Performance of green threads and why it matters

If one looks closely enough at green threads, such as Go's 'go' statement, it's not hard to realise that they are really a flow control mechanism similar to 'if', 'for' or 'while' statements. Where 'if' allows you to skip a block of code, green threads give you a way to easily switch between different points of execution. Very much like 'if' or 'while' they are glorified jump statements. However, to use them as routinely and carelessly as we use ifs or whiles, the green threads would have to be...

Comments: 14

The Nanny World

In Zürich, Switzerland, there's a square called Bellevueplatz with an interesting fountain. It's just a bunch of holes in the pavement that hurl out water in synchronised fashion. Sometimes the water spouts as high as 3 meters, sometimes it goes off entirely. There are no barriers to access the fountain which makes it favourite of children who run across the fountain while it is off, then narrowly escape the water as it gradually starts to pour out. One admires how the fountain is programmed to...

Comments: 6

Three simple pieces for piano

First piece is a very simple tango. One may consider playing the second theme a bit faster than the first one. Second piece, while not really a folk song, tries to capture the feeling of a Slovak folk song as I remember it from childhood when singing was still a valid entertainment for the evening. Use pedal a lot. Third one is harder to classify. It's kind of inspired by the influence that middle eastern music had on eastern European folk music, but I wouldn't like to argue about that point...

Comments: 0

The Adventures of Boltzmann Brain (part III)

I still have a letter she sent me. You ask about second law of thermodynamics, she writes: and I am not surprised. It have been all around the news lately. But what is there to say? 'Entropy always increases,' as PR people like to put it. But in fact it states that law and order are constantly seeping away. It's a matter of interest to Police, really. The fact that any assembly of particles heads towards thermal equilibrium doesn't come as a surprise. But once your life spans billions of...

Comments: 0

The Adventures of Boltzmann Brain (part II)

You drift apart. You leave and after meeting some of the critters out there you realise that your humanity is not as valuable as you were taught to believe. Your intelligence is really just an ability to play status games with big apes of African savanna. Why would any machine even try to pass Turing test? Don't ask me! I am busy preparing for honey-gathering contest with bees. You visit Uegzihls of Beta Tauri and maritime Kranns of Alpha Aquarii. You meet Nee-gued with feet in opposite...

Comments: 0

Uncertainty principle in economics

Price is the amount of money one pays for something. However, economists have a more elaborate concept of price: It is the amount of money people willingly pay for something when demand and supply are in balance. In this article I am going to talk about the latter concept, about what one would call a fair price . The interesting thing about fair price is that it almost never occurs in the real world. Your best chance to spot it is to peek into an economics textbook. There are many reasons why...

Comments: 2

On printing money

It is often said that money-lending is, basically, printing money. People either agree or disagree but even in the former case they often find it hard to articulate why it is so. Here's a simple example to show how it works. 1. A lends $1000 to B. A still owns $1000, safely stored in a form of a loan. Yet, B owns the money as well, having hard cold cash in their wallet. The question: Where did the extra $1000 come from? It surely must have been printed? One may argue that there's no extra $1000...

Comments: 12

Website powered by Wikidot.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License