Website of Martin Sústrik, creator of ZeroMQ, nanomsg, libdill, libmill and ribosome.

Feuilletons about software design, economics, complex systems and psychology of programming.

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

Gift vs. Reputation in OSS

Some time ago I've written a short note about usage of term gift culture in Homesteading the Noosphere by Eric S. Raymond. Eric Raymond have responded here. Unfortunately, I haven't had time to properly respond until now. Today, finally, I've managed to write down some notes on the topic. But first, let me get some stuff out of the way. First, Raymond is correct about the terminology. Looking at Wikipedia article about gift culture it looks like the term is used for everything from Kula ring...

Comments: 0

"Being from a Worker Family"

You may have have heard that in the Ostblock if you were opposed to the regime your kids won't be admitted to the college. But how exactly was that accomplished? Punishing kids for ideological sins of their parents was too nasty, even in the real socialism, to be an official policy. In fact, real socialism tried to present itself as a better, more just, alternative to capitalism. So how could they practice collective punishment, which is, legally, a war crime? Well, at least in Czechoslovakia in...

Comments: 3

On Tolerance

Karl Popper famously said that intolerance shouldn't be tolerated. This thought seems to be widely understood nowadays. The question, of course, is whether we are so wise and morally superior to our 1930 counterparts that we would stop Hitler before he could do any harm or whether we just use Popper's advice as a convenient pretext for hating whoever disagrees with us, very much like people in 1930's did. Because, and that's not often stressed, Popper's maxim presupposes that we are, in essence,...

Comments: 2

Infinite Mirrors and Sexual Selection

In the previous blog post I've tried to show that Keynesian beauty contest which is a terrible name; I will call it infinite mirrors model henceforth is a more general mechanism than it seems to be at the first sight. I've shown how it applies to pricing in general (not just pricing of stocks) and to natural language ( arbitrariness of the sign ). I've hinted at how it may be applied to political science. After grasping the concept it should be relatively easy for the reader to choose an...

Comments: 4

Game with Infinite Mirrors

In 1930's John Maynard Keynes was thinking about operation of stock markets. It was not long after Black Tuesday after all and understanding why the stock prices may not reflect the true value of the underlying enterprise and why they can swing rapidly was of utmost interest. He came up with the simile that is today known as Keynesian beauty contest : Professional investment may be likened to those newspaper competitions in which the competitors have to pick out the six prettiest faces from a...

Comments: 0

Reputation Engineering, part III

In the previous post I have argued that reputation engineering can be done in any system with tokens that allow for accumulation of reputation. The example given were Twitter accounts that can be used for accumulating followers. In this post I want to dig deeper into the nature of reputation and reputation tokens. Let me start with the trademark law. There are several advantages to it: It was created specifically to deal with reputation. It's been around for a long time which, one would hope,...

Comments: 0

Linguistics and Programming Languages

NOTE: This is an article I've published more that a decade ago. From my today's point of view it may be a bit naive but it still makes a valid and interesting proposal. Sadly though, nobody have taken the challenge in the meantime. Can it be a time to do so now? I am republishing it here as is, with no modifications whatsover. It is quite common to use computers to analyse natural languages. Although we are not yet able to accomplish the task plausibly, the problem is being solved with the hope...

Comments: 2

Reputation Engineering, part II

NOTE: Since the previous Romeo Juliet post, I have written a little note on anthropology of hacker culture. Eric Raymond have replied here. It's great that this discussion is happening because, in the end, we'll need to understand how industries with huge upfront cost and close to zero per-piece cost could possibly work. If you think about it, eventually most of what we do will fall into that category and we have no good societal/economic system to adapt. Hacker culture may give us a hint....

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: 7

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. It is about cutting down a birch tree. Martin Sústrik, June 13th, 2016

Comments: 0

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

page 1 of 6123456next »

Website powered by Wikidot.

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