MrBlog

Jun 03

Many people got attracted to bitcoin the last couple of months. This explosion of interest probably caused the monetary value of bitcoins to show the same shape as the google trend-line chart pictured below.

In this article I will ignore the exponential increase in monetary value since its inception and focus on some intrinsic properties of bitcoin and why those are valuable as such.

The sudden interest in bitcoin is not coincidental in my opinion. The bitcoin ecosystem tries to solve a number of problems with the current systems of trade, currencies and the economical structures in general we have in place for them, like our national banks, the currency and stock exchanges and the IMF. The last couple of years we have been confronted, sometimes in very painful ways, with the shortcomings of those systems and, not in the last place, the shortcomings of the people involved; all of us.

Google search trend

The financial crisis is obviously a complex issue and no single cause can be determined. Whatever these causes are however, they have provided a trigger for many to look for alternatives to create wealth or, more important, create ways to hang on to wealth, especially if there is not a lot of it to hang on to.

For the rest of this article I’m going to assume you know how bitcoins work. You will not have to be an expert in economics, cryptography or computer programming, but a basic understanding of the workings of bitcoin will be necessary. The websites http://bitcoin.org en http://weusecoins.com are good starting points. Some of the points below won’t make sense if you do not have at least a rudimentary understanding of how the system operates.

The trust issue

Most people will worry (a lot) if they have money issues. This alone dictates that you absolutely want to trust all parties involved with handling your money.

These parties include the people you receive money from, like your employer, the local banks you trust to keep your money safe for you, the government which monitors the usage of it, but also the ‘coins’ that represent the money. All of these need your continued trust, and that is a lot to ask. Especially if things do go wrong at times.

Employers need your trust that they possess enough of the ‘stuff’ to be able pay you for work, local banks need your trust so you let them keep your savings, governments and central banks need your trust that they won’t screw up (by printing too much money for example) and the coins also need your trust that they are the real deal. All of the examples in some way betrayed our trust in the past. That has an effect on people. It may not be visible for a while, but broken trust sticks.

Broken trust

Bitcoin tries to address some of the trust issues people have; I think it was one of the main motivations for creating a system like bitcoin. It does this, amongst other things, by shifting a few of the trust items from people/institutions to verifiable technology.

For example, instead of trusting a bank to verify transactions to be valid, because they are the only party who can oversee all transactions, trust is placed in hashing techniques to demonstrate that, for example, double spending is very, very unlikely. These techniques are easier verified and proven to be right than the bank which is now responsible for it, if only because we don’t have access to these verifications. The major goal of both verifications is to prevent the same coin to be spent multiple times. (fraud)

Another trust shift is the ‘keep-save’ mechanism. If you keep your savings on your savings-account at your bank, the combination of the banks trustworthiness and, should that fail, the (limited) guarantee the government gives on your savings makes that you can feel comfortable on parking your money there. With bitcoin, your trust will be in cryptographic tools and the network so you keep all your savings in a computer file. The mechanism you could use to keep it safe is to encrypt that file and spread it all over the network to many places to minimise the chances of losing all copies of it. There is no-one to trust but yourself, but there’s also no-one which can protect you in case you screw up yourself.

Distance is not important, value is

Another property of the bitcoin system, not unique to it but especially well implemented I think, is the way it makes the distance to receivers irrelevant and allows value to be put to use effectively. I’ll give an example below.

Say I want to transfer 2 euros to someone which is in a country far away from mine. The amount of time and money it takes to get this modest amount into the hands of that someone distant is ridiculous in the current financial system. My bank does provide a service but it will cost me at least 10 euros, double that amount if I want to get it done ‘fast’. Fast, in this case meaning within 24 hours! For larger sums, the cost may be acceptable, but for small amounts both time and cost are ridiculous.

There are many services which try to solve at least part of the problem outlined above. Services like paypal with on-line accounts to make things go faster, or proxy companies which gather up all the small amounts and transfer to the real supplier when things have piled up. Up until bitcoin I did not encounter a service which chose the simplest concept for this problem: “Set up a secure, verifiable, immediate non-refundable transaction between the involved parties.”

I do not believe the technology to do this has not been available to banks and/or credit card companies, so that can’t be the reason they have not implemented a cheaper and more efficient system. It’s not very hard to imagine what their reason is though. Distance used to be a major hurdle, it is not anymore.

The key differences bitcoin provides here are:

  • the receiver and sender communicate directly, trust is a lot easier to maintain if there are less parties involved. “No middle man needed, nor wanted”
  • the ‘act’ of payment is almost immediate, the receiver can check almost immediately that a transaction has been made. (Verification for validity by the network can take a while though) In relation to the 24 hours described in the first paragraph this can certainly be considered very fast, near real-time
  • a transaction fee is optional. If you specify one, you make it more attractive for others in the network to check your transaction and have a go at collecting that fee. If swift transaction handling is not important, but transferring, say 0.05 euro, to a certain person is important, bitcoin is about the only way I know to do that effectively.

Remember, the amount of 0.05 euro may not be much to you and me, but there are parts in the world where it can buy you a meal or a bottle of water. The fact alone that bitcoin makes these kinds of transactions possible is enough reason to give it more than a casual look.

Bitcoin increases the value of my € 0.05 by allowing effective use.

No unreasonable control

It’s probably true that bitcoin, or systems like it, scares financial companies and governments and therefore will have a rough time ahead. This scare is in part caused by a fear of decreasing control over the system compared to the classic system. Almost all economic commentators or government representatives will argue that ‘some form of control’ is needed to correct and stabilise the system. I’m not very convinced of that being effective or wanted anymore.

Recently, the unreasonable control over money flow in the wikileaks dry-out attempt confirmed this once again for me. It doesn’t really matter if companies like mastercard and paypal decide not to handle transactions for wikileaks themselves or that they have been put under pressure to do so. The fact that it happens shows they have control over where I spent my money. I don’t want that. Bitcoin offers a system where this type of control is impossible by means of the system itself; personal threats will be effective I’m afraid with any system.

Next to the self-control over spending purposes, anonymity is also important for some people. The example often used, mostly in critical pieces on bitcoin, are criminals. Bitcoin makes it possible, when used in certain ways, to bring money from A to B without exposing identities to each-other and to third parties. This is obviously attractive for criminals, including people who want to evade taxes. This is a valid concern and should be addressed properly, but I don’t think it has anything to do with bitcoin as such. With regard to this aspect, bitcoin has no other properties than cash, it’s just more effective and easier to use than exchanging bits of paper money. The real use-case here is the non-criminal people who want to perform semi-anonymous transactions for valid reasons.

So, what’s the verdict?

Bitcoin is a good idea, generally speaking. From a technological viewpoint it’s excellent. It’s trivial that libertarians and anarchists will be attracted by bitcoins, we don’t need to argue the case for them. The challenge is to present the extra-, not the replacement-, values of bitcoin for all the other people out there. I have touched on three of the most important ones to me. There are more properties which make it very attractive as an alternate choice for exchanging value.

Many ‘digital cash’ systems have been presented before bitcoin, but for all of them I could point out critical weaknesses within a very short time. For many of them this was not even a technical weakness, but an organisational (like a paranoid initiator, looking for patent protection) or an economical issue (creating a metal backed currency in the hands of a private company). With bitcoin there are certainly weaknesses in the system, but I have not been able to find a critical one upfront.

Verdict form

The goal of bitcoin is not necessarily to take over existing currencies or existing financial systems, although I would love to see that play out. I would like it to augment the current systems with new ways to trade, more effective ways to put wealth to use, more transparent ways to work together. It needs to put banks and governments on the edge of their seats and keep them a lot more aware of their obligation to reasonably deal with their control over over money.

Having a transparent, technologically sound system for exchanging value is in the interest of many. I’m sure bitcoin has many things that can be improved. Its its complexity of use and the rather clumsy exposure of meaningless addresses come to mind, but the foundation is solid and the issues I found are by no means critical or unsolvable. The fact that bitcoin, the program, is open source does help to understand and validate the system and thus gain my trust. This contrasts on many levels with the services offered to me through financial companies.

When was the last time you validated your bank’s software?

Cobra build blog

Feb 23

I’m probably not the typical user of social networks. I join them not for social reasons, i.e. interact with friends, but because i’m interested in the phenomena and the techniques involved. Many of my status updates are about those techniques itself and probably not very interesting reading material for my friends, i.e. the ones I normally interact with socially. I bet most of them just ignore my updates. I have at times considered splitting my (online) personality into ‘ich geek‘ and ‘ich normal‘ (cfr. Schachnovelle, Stefan Zweig) and have the people I know follow the one or the other, but to date I haven’t found a good way to deal with that.

Register at them all?

Let’s assume for the moment that I am interested in following my friends through social networks. Scribbling down a list of social networks I would have to join to be able to follow them:

  1. Twitter : most people I know are on there, but many are also on there just because others are on there and not because it is their primary network;
  2. Hyves : Big in the Netherlands only, but used by many of the people I know as their primary network;
  3. Facebook : mostly my international contacts use Facebook, but increasingly more dutch users are switching from hyves to facebook;
  4. Identi.ca : the largest instance of the StatusNet software. Here’s where most of my geek contacts are.
Those four basically cover the usage of social networks by my friends. So, if I want to follow my (actual real life) friends I need to register myself on at least four networks. The actual act of registering isn’t the problem, that’s a one time thing. Checking in on a regular basis, (which is what the social part is all about no?), is the real problem. I don’t want to spent time checking in at 4 different places. That’s the first problem.

As a consequence of people using different networks, and therefore hindered in communication, several “solutions” have popped up. I quoted solutions because they are not really solutions in my view, but workarounds. All of these solutions involve some kind of mirroring updates on one network on the other, so a different audience has access to them. This can be done by the person himself by literally posting it to different networks (semi-automatically) or having one network watch the other (and vice-versa perhaps) and pull in updates when available. Apart from the fact that these mirror operations are not very reliable, the bigger issue is that there’s duplication without reference. The status on the one network rarely accepts the one on the other as the original and thus the update is now in fact 2 unrelated updates. Especially in an area of short notices like status updates which are very abundant it’s a big problem when from the start these messages get polluted and split.

The third problem is that almost all of these social networks are owned and operated by single companies making you sign a lengthy user agreement you do not want to read nor fully comprehend if you did. This may not be a big issue for most, but it is a problem for me. It sounds unreasonable that I should surrender to unclear conditions if I am unable to avoid their service, for example by being able to choose my own provider or be one myself.

So, impracticality, polution of status and unavoidability present my main 3 problems.

Take control

Despite the fact that there are quite a few initiatives to solve at least part of those problems (StatusNet aims at an open federated microblogging platform for example) these initiatives did not bring me any closer yet. In fact, so far they have moved me further away from a solution, because I had to introduce yet another social network to the list initially.

I think there is no real solution to the problems yet. There are a couple of things I did though to make my life a bit easier.

First, I chose my entry point to be an open system. For me this meant building my whole setup around a StatusNet instance, controlled by me and running on my own servers (http://o.mrblog.nl). This gives me connectivity and basically flawless federation with all statusnet sites. For both twitter and facebook there are bridges which make bidirectional comminication possible (not completely for facebook yet). Because StatusNet is open source and promotes Open Standards I can adjust my local install to my needs if needed. All the data relevant to my social graph is stored locally.

Second, I’ve set up a bridge to Twitter. The StatusNet bridge is mostly working, it needs a kick in the butt about once a week, but other than that it happily transfers status updates back and forth. One change I made to it was to show the twitter status updates in the public timeline instead of just in the personal timeline. This makes it consistent with what StatusNet itself.

Third, the bridge to facebook does not work fully yet and to be able to get status updates to facebook, you have to create an application on Facebook to pull out your status updates. So, my friends can hear me, but I can’t hear them yet. I’ve worked around that by using gwibber which can merge (client side obviously) the two timelines into one.

The above brings me a bit in the direction where I want to be, but the effort I’ve had to put in is way too much for this to be a scaleable solution.

What’s still missing

With my setup there are still quite a few annoyances:

  • I can not subscribe directly to Twitter or Facebook users, I still have to visit their sites to click on ‘Follow’;
  • There are minor annoyances in bridging my StatusNet updates (@mrb) and my Twitter updates (@mrvdb) The bridge does not translate the two usernames properly into eachother (may be a feature?)
  • The facebook bridge is incomplete.
  • Much better filtering, so I can filter out some notices from users based on a regular expression of some sort. For example, check-in notices from people I’m not that interested in, so a filter would be nice to at least suppress them in my stream.
  • It takes time to keep the stuff running.

Bonus features

By setting it up like I have I got a couple of bonus features:

  • StatusNet supports a conversation view natively, Here’s an example Note that the other person is from Twitter. Try to find this view on twitter itself, i have not been able to.
  • I can do away with some feeds, because I can subscribe to them directly using StatusNet (using OStatus). Subscribing to blogspot.com blogs is an example.

Oct 25

As mentioned in my previous post, I moved back to using Linux as my desktop operating system, coming from OSX. I have a couple of notes on the why and some observations about it which may be of interest.

My main machine has been a macbook pro 17 inch (or powerbook when they still had a ppc in them) for a couple of years now and I was pretty much a happy camper using OSX. OSX has represented an ideal mix for my long unix based experience and the need for screen candy and proper support of drivers which make usage of the hardware flawless.

In short, my hardware broke down. That is, it broke down a bit. Every once in a while I’d get coloured stripes on my screen or a yellowish glow or fonts of which the letter ‘m’ would not display correctly (go figure). Annoying, but fixable with a reboot and I could live with that, at least for a short period of time. When the machine started rebooting spontaneously and I started losing work because of it, replacement seemed the only option left.

As the problem was intermittent and seemed a bit related to how hard I was hitting the cpu with my compiler whip, I decided, before scrapping the machine, to install ubuntu linux on it, just to see how it would deal with the same hardware error and to have a look at the new ubuntu (at that time Lucid) release.

The hardware problem was still present under Linux, but I was able to control it. A major help was to be able to control the fanspeed and thus the temperature of the machine. This was something that I never succeeded in doing under OSX. Perhaps I didn’t look hard enough, or was not experienced enough in OSX details or whatever. Fact remains, I got to control the fans in Linux within the hour and with that a large portion of the problem.

By carefully configuring display settings and upgrading to newer customized kernels I am now in the situation that my machine is basically back to a state where “scrapping it” sounds ridiculous and it’s good to go for a while.

The above process took about 3 to 4 weeks. After that I realized that the level of control I had over my machine felt really good.

Having worked on a daily basis under Linux a notable observation was that I didn’t really miss anything from OSX, apart from a dedicated blogging application (MarsEdit) and possibly iTunes. Apart from those, most of the applications I used a lot are also available on Linux. Emacs and Claws mail actually run a lot better on Linux than they do on OSX. I do have a solution for the blogging (org2blog with emacs), but replacing iTunes is still a problem;

So, now I have apple hardware all over and not using OSX on any of it. At first, that does not sound like a smart thing to do. From a financial point of view for one, most people argue that apple hardware may be expensive, but a lot of quality software comes included. Throwing the sofware away, which is effectively what you do when you go running linux on that hardware, does not make much sense then, does it?

What I found however, is that it is quite a challenge to match the macbook pro specs, build quality and features like the magsafe connector for the same price. Add to that an ability to drive the 30″ screen and it’s pretty darn difficult to find a machine other than the macbook pro series from apple. (I was charmed by the Sony Vaio Z series, but it can’t drive the 30″-screen and it’s a bit more expensive than an MBP too) Viewed from this (admittedly biased) angle it makes sense, even if you don’t plan on running OSX to buy a macbook pro again.

On top of all what is above, there is another issue which has been bothering me, and apparently I’m not alone in this, is the general direction Apple is taking. While I love their attention to detail and precise execution of production of their hardware, I loathe the way they treat (iPhone) developers and their strategy of control and censorship. The latest preview of OSX Lion only confirmed my concerns. Notably the appstore developments and the limitation of freedom to run sofware is bothering me. I guess the balance was held in some way with their sort-of-open contributions to several pieces of sofware (darwin, calendarserver, launchd etc.) but lately the scale tipped over for me.

I fully realize this is all subjective and food for rants and all, but hey, it’s my blog. :-)

Oct 11

The excerpt of the blog post goes here. This particular blog-post is a meta-post about org2lbog

Read…
Apr 11

Played a little with the gource log visualizer today. It is typically used to visualize committed revisions in a revision control system, although any system that logs events of some kind could be made to work with it I suppose. I happen to have a repository of xaraya going back to 2002 in git, so [...]

Read…
Nov 17

Before I used an Apple machine with OSX, XEmacs was my editor of choice. Recently I saw Emacs 23 being released with native OSX support in the main repository (well, NextStep support formally, but with Cocoa bindings, which makes it OSX native I guess). That alone was enough to revisit the old friend. With caution, [...]

Read…
Sep 29

As a side-effect of Migrating to Claws I lost my OSX addressbook usage, at least for mail. In my company we use OpenERP for CRM, invoicing and other business needs. This means that the majority, if not all the email-addresses I need are in our OpenERP database. So, it made sense to finish an effort [...]

Read…
Sep 18

After installing Snow Leopard I was left with a page of programs and plugins that needed attention because of the upgrade. Most of these were little nuisances and just needed a little reconfiguration. There were a couple of things where Apple decided to rename an app or hide it otherwise from view (Kerberos Ticket manager [...]

Read…
Aug 24

The number of accounts I have on useful networks, social or otherwise, has been on an increasing trend-line for a while. In the beginning, things were simple, but it gets messy pretty quick. One feature which these networks share in some form or another are “status notices”. Starting with the ‘chat status’ in the Instant [...]

Read…
Aug 05

Last Monday was my 40th birthday. I’m kind of used to having a quiet birthday; most of the people are always on holidays during this time of year. My girlfriend had organised a two day trip, she usually does something like that for my birthday, to an unknown destination to do something unknown. We were [...]

Read…