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.

Mojim Spoluobčanom (To My Compatriots)

(Find English version of the article below.) Za posledné dva týždne vyšlo tisíce ľudí do ulíc protestovať proti prepojeniu najvyšších úrovní slovenskej politiky na organizovaný zločin. Nemám veľa čo povedať o slušnosti, o jednotlivých politikoch, o slobode slova, či o detailoch súčasnej politickej situácie. Iní toho povedali viac a lepšie ako by som kedy dokázal ja. Chcem však povedať jednu vec a to toto: Priatelia, nie sme v tom sami. V susednom Česku práve teraz protestujú proti Zemanovým...

Comments: 5

Documentation Driven Design

After spending full day adding new documentation to libdill and after getting desperate about the repetitivness of the man pages I've got rid of what I had and spent another day writing a program to generate the documentation. Consider the use cases A lot of functions, for example, have deadlines. For each of those functions the man page should contain the following text: deadline: A point in time when the operation should time out, in milliseconds. Use the now function to get your current...

Comments: 1

Game-theoretic Approach to Tradition

Imagine a simple one-shot coordination game between two players who don't know each other and can't communicate with each other. Each can pick one of two cards, either blue one or green one. If both choose the same card they each get $100. If they pick different cards they get nothing. Without being able to make a deal (the players can't communicate), to guess each other's likes and dislikes (the players don't know each other), without playing the game repeatedly (the players play one game and...

Comments: 0

Crypto for Kids: Messenger's Story

A portal suddenly opened on the starboard ejecting a fleet of imperial pursuit vessels. The propulsion system of my ship got hit before the shield activated. I’ve tried to switch on the backup drive but before it charged to as much as 5% I was already dangling off a dozen tractor beams. It wasn’t much of a fight. They’ve just came and picked me up as one would pick up a box of frozen strawberries in a supermarket. I must have passed out because of pressure loss. The next thing I remember is...

Comments: 0

Your Share of National Wealth for a Microwave Oven!

Societies we live in are often stuck in suboptimal Nash equilibria (more context here). Those equilibria often arise from misaligned incentives. In many cases, decision makers have no stake in the game and the result, unsurprisingly, sucks. The solution is seemingly easy: Change the rules in such a way that the incentives are aligned. Shift decision making to those who will be affected by the decision. While generally a good advice this is often not that straightforward. Here's a story of one...

Comments: 5

Computational Complexity as a Law of Nature

I have to admit I know nothing about this topic, however, it is, as far as I can say, one of the weirdest and most interesting recent developments in physics. It is also closely linked to computer science. Yet, I don't see it discussed in programming community at all. The idea is that, somehow, nature may be fundamentally limited in its computational capacity. That, in other words, it's not possible to compute NP-complete problems in polynomial time and that the hurdle is not some kind of...

Comments: 5

Inadequate Equilibria

When I was an adolescent, maybe 18 years old, I was hit over the head with the realization that we have no say in our survival as species. Evolution is going to progress in a way that maximizes multiplication and our beliefs, our cleverness, our science, our will to sacrifice personal wellbeing to the benefit of all is not going to change that a bit. I was never able to communicate the horror of being at the mercy of cold and uncaring, non-sentient in fact, forces of nature to anyone else. At...

Comments: 12

Suicide by Culture

At the end of 1950's my great-grandmother was the last inhabitant of the family farm. One day she locked the door and went away never to return. When we visited the place couple of years ago, the easiest way to get there was to drive to the closest village, then proceed by foot. We had to pass through some fields, then through a forest. Finally, we've descended into a swampy gorge overgrown with vegetation. The path was barely passable. Blackberries and nettles were growing everywhere. We've...

Comments: 6

Low Hanging Fruit of Programming Language Design

Recently, I've read a paper about code duplication. The authors analyzed GitHub repositiories for duplicate code. They've found an unexpectedly high amount of code duplication. In their own words: This paper analyzes a corpus of 4.5 million non-fork projects hosted on GitHub representing over 428 million files written in Java, C++, Python, and JavaScript. We found that this corpus has a mere 85 million unique files. In other words, 70% of the code on GitHub consists of clones of previously...

Comments: 17

Evolving towards Extinction

One question that I always had about evolutionary biology was whether it was possible for a species to evolve towards extinction. Logically, it should be possible. Evolution is opportunistic, it always prefers short term solutions and if that eventually leads to extinction, so be it. However, it's not easy to come with an example. Most species become extinct not because they've evolved in a weird direction but rather because they've failed to evolve fast enough to match changing environment or...

Comments: 2

Hard Things in Computer Science: Naming things

In natural languages we use existing dictionary to express our ideas. We never invent new words. That makes it easy for the listener to understand what we are saying. In programming languages we are inventing new names all the time. To solve a problem you invent a new language, then use that language to describe the solution. Often this is done in multiple layers: Language A is constructed to describe language B which in turn describes the solution. This makes is super hard for another person to...

Comments: 7

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

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

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

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

Website powered by Wikidot.

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