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.

A Microstory

My grandfather, said Alex, used to be a lawyer. He have done a lot of pro bono work when he was young. And there was one thing, he told me, that was constantly bugging him. All the petty criminals he was defending treated him with suspicion. They got along just all right with the prison guards who often treated them unkindly or even cruelly. They were friends with all the janitors and the cooks. Yet the very person who came to defend them, of his own will and asking for no money, they treated...

Comments: 1

On Modern Propaganda

The propaganda of yesteryear used to be of four legs good, two legs bad kind. It praised its authors and denounced their enemies. As kids during the communist era we've learned how, in capitalist countries, food is burned or dumped into the sea while children in Africa are dying of hunger. As teenagers we've listened to Radio Free Europe which taught us about human rights violations in the eastern block. From our grandparents we've heard about the high standard of living under wartime Slovak...

Comments: 3

Ontogeny Recapitulates Phylogeny

You have surely heard about the idea that the development of embryo recapitulates stages in the evolution of the particular organism. The idea is no longer embraced by biologists. Still, human embryo does have slits that resemble gills and tadpole has a tail that it loses as it matures. The current uderstanding is that yes, development of embryo does reflect the course of evolution but the correspondence is so quirky and intricate that we can't really accept it as a law of nature. One may still...

Comments: 0

A Thought on the AI Risk

I am not an expert in the field so take this with a huge grain of salt When we hit a sigularity I have no idea of what's going to happen. In fact, nobody else does. But until then there's a more mundane risk that worries me. What if we modify the problem this way: What if the algorithms remained as dumb as they are today, or even as dumb as they were in 1950's, but, to compensate, they would get an ability to control human behaviour? That would be pretty scarry, right? Nobody wants to be...

Comments: 0

On Intellectual Honesty

In my life I met lots of smart people. I've also met few intellectually honest people. I value the latter more because they are much more rare. Intellectual honesty is a topic that I am interested in for a long time. What's fascinating about it is that it is a faculty that's crucial in such a wide range of endeavours. You need it in science. You need it in art. You need it in engineering. Let me give you few examples. The scientific one is easy to explain. Scientist even have formal code of...

Comments: 2

A Tale of Two Countries

When I was young I've read about Nuremberg trials. What have struck me the most was the apparent lack of guilt on all sides. Everyone was just following orders. Or at least that's what they said. That made me think about whether an atrocity on the scale of holocaust could be committed entirely blamelessly. If you see a person drowning, I reasoned, and you don't help them you will be blamed and punished. However, if a person is dying due to inability to purchase expensive medication and you don't...

Comments: 2

Moral Dunning-Kruger

I suppose you are familiar with the news stories such as 92% of Americans belive they have above-average IQ . The phenomenon stems from a cognitive bias known as Dunning-Kruger effect which leads people to not recognize their ineptitude and perceive themselves as superior to their peers. Also, you may have wondered how would you act if you lived in Germany under Hitler, in USSR under Stalin or in North Korea under Kim Jong-un. In a private corner of your mind you've probably imagined yourself...

Comments: 3

Kaizen of Programming

I've started programming early, in 1984 when I was 11 years old. Back then I just had an idea of what the program should do and I did whatever was necessary to get there. After that initial period of pogramming I haven't cared about it too much. I did whatever programming assignments we've got in school and later whatever work I needed to do to feed myself, but that was it. In the spare time I was mostly drinking with artists. That changed in 2004. Back then I started to be involved in open...

Comments: 9

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 using it as an example: It was created specifically to deal with reputation. It's been around for a long time...

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

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

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