RSS Feed
  1. The most dangerous thing about Trump is that he doesn’t play chess

    November 16, 2016 by max

    A good chessplayer thinks 4 or 5 moves ahead. An expert chess player thinks 10 moves ahead. In that regard chess is just like geopolitics. Good international politicians have the ability to think through a lot of moves and countermoves based on experience, depth and breadth of knowledge and psychology. They think in many dimensions. If you want to be good at the game of geopolitics you absolutely need to be a good chessplayer.

    Donald Trump seems to be a rather direct and one dimensional president elect. He doesn’t seem to be good at the game of chess and geopolitics. This is the biggest danger of a Trump presidency.

    Here is an example of how things might go wrong.

    Trump has publicly declared that the US should not automatically support NATO countries that are not paying their fair share to the defense alliance. This draws NATO’s article 5 which states that an attack on one NATO country will be seen as an attack on all countries into doubt. When this cornerstone of NATO’s defense alliance is in the slightest bit of doubt an obvious move by an adversary will be to test it. Russias Putin may choose to do so by invading one of the baltic countries, Estonia, Lithuania or Latvia under the guise of protecting the Russian minority. It’s an obvious move to make. If it doesn’t work he can pull back, if it does he will know that the alliance is faltering or at least that article 5 is in doubt. He may then choose to invade another Baltic country. If there is still no reaction he may end up invading a larger country. Maybe Poland. At which point the situation is very close to being out of control, and on track to starting a third world war.

    Trump made a mistake by publicly announcing his policy of letting other NATO countries pay their share. Had it been in the casino business or the real estate business that Trump are familiar with this wouldn’t have been a problem, and would probably be a good tactic to get others to pay up. But in the multidimensional chess-playing world of geopolitics it may well be a grave mistake because he didn’t think 5 steps ahead.

    The above is just one possible scenario. There are many others. There are a lot of unresolved tensions around the world that need good diplomacy and good chess playing abilities by both sides not to blow up. The situation in the South China Sea between Japan and China, the Ukraine/Crimea conflict, the baltic countries, the ongoing middle east spectacle, the Syrian civil war. The possibilities of a misstep are many.

    The job of the president of the United States contains so many possibilities for apparently small missteps that can turn into major geopolitical events that one of them will probably come true.

    The real danger of a Trump presidency is that he inadvertently shoots Archbishop Ferdinand and starts a world war because he tweets before he thinks.

  2. The high-tech floating christmas tree

    December 22, 2015 by max

    If you’ve been around the harbour in Copenhagen during december you may have noticed an anchored barge with a huge christmas tree full of colored blinking lights.

    If not here’s a video.

    The sailing yule tree – Video pattern test in Teglværkshavnen from Christian Liljedahl on Vimeo.

    During the month of december it will be towed around and anchored up in different places around the harbour.

    This is the story of how we made a stable barge, got a christmas tree on it, got more than 200o individually controlled RGB LED’s up and running, and how we managed power to the whole contraption.

    Let’s get started.

    For a christmas tree to be spectacular when it is on a barge in the water it needs to be a certain size. If it’s too small it just won’t look good when viewed from afar. We estimated that it needed to be around 10 meters high to be impressive. This gives rise to some structural thoughts. Denmark is prone to some pretty decent december storms, and the christmas tree needs to be able to survive these. When designing the barge, and the attachment of the tree we needed to take this into consideration, especially since a huge christmas tree on a barge acts as a giant sail that will blow the whole thing over or rip it apart if not constructed correctly.


    There were 2 main considerations;

    1. attachment of the christmas tree to the  barge needed to be robust.
    2. The barge needed to be heavy and wide enough that a storm wouldn’t tip the whole thing over.

    Real professionals do their wind calculations by hand!

    After a whole lot of discussion and a few structural calculations it was agreed that a 5×5 meter wooden barge with a welded steel perimeter and structural members to the holder for the tree in the middle was the way to go. Our calculations showed that a 5×5 meter barge would start to run into trouble at windspeeds of around 40 m/sek. Hurricane speed is 33 m/sek so we agreed that this was well within safety limits.

    So we got to work constructing the barge.

    Since a 5×5 meter barge is pretty hard to handle due to its size and weight we decided to make 3 barges, join them in the water, and then weld the steel perimeter around them to keep them together.

    First, here’s a construction drawing of the whole barge. As you can see in the picture the wooden barges are enclosed by a sturdy welded steel frame, that has extensions to the middle where the Christmas tree is placed in a steel cylinder made out of an old gas canister. With proper welding the tree will break before the construction.

    This is what we're building!

    This is what we’re building!

    Here are a few construction pics that show how the barge was made.

    christmas barge

    First step is to make an upside down frame with space for polystyrene blocks that will act as buoyancy.

    Second step is to put polystyrene blocks in between the wooden frame to provide buyancy.

    Second step is to put the polystyrene blocks in between the wooden frame. Since they will be under the barge pushing upwards they don’t need to be secured very well. All that’s holding them is a few long screws through the wooden sides.

    Third step is to turn it around and lower it into the water with the crane that you luckily have.

    Third step is to turn it around and lower it into the water with the crane that we luckily have. (cranes are fun!)

    Thirds step is to start welding! Notice that we welded a bollard in each corner for towing, anchoring and mooring.

    Thirds step is to weld the frame. Notice that we welded a bollard in each corner for towing, anchoring and mooring.

    Here’s a short video of the barge with the tree on it. We mounted the LED chains and the star by holding the tree in the crane and hoisting it up and down while doing the decoration. That way one man could stand in one place and decorate the whole tree, while another was operating the crane. Much safer and much more enjoyable.

    Notice the little house? That’s the control room. We’ll get to that later.

    Now for the fun part: Blinking lights! Lots of them!

    For the tree we used 12 RGB LED chains with the WS2811 controller built into each LED. That makes them individually addressable through a shared bus, which of course makes the whole thing much more interesting.

    As you can see in the drawing below each of the 12 chains turns around the tree as they hang from the top to the bottom. This setup gives us better creative control than just having them hang straight down, and it also “fills out” the space better and allows for cooler effects.

    Sketch of LEDs on ther tree

    Sketch of LEDs on ther tree

    The star above the tree was made in a similar fashion, but had its own bus. It has a LED chain on each side of the star, 2 chains on the outer rim of the enclosing circle, and 2 chains on the inner rim of the circle. The star is made out of CNC cut plywood and some spare aluminium we had lying around. Notice that with the rim around the edges we can both make a star, a half-moon and an anarchist sign 🙂

    In the picture below the LED chains are being mounted.


    Since we end up running quite a lot of  amperage through the cables for the LED’s there’s a power distribution block with 12 gauge bus wiring and 10A fuses for each group of 200 LEDs forming one ~12 meter long chain with a nominal maximum draw of 8.2 amps (~100 watts). The +DC side is split in two so two car batteries can split the load between them. A sturdy steel ground bus bar is included for the DC minus side.



    The controller that rund this whole bandoogle is a PJRC Teensy 3.2, an OctoWS2811 8-channel LED driver and a connected PC with some custom software. Also a power converter with a handy battery voltage display. 

    Here’s a a picture of a test assembly.


    Testing the setup of wiring and LED’s.

    The system includes wiring for 6 groups for a total of 1200 LEDs. The Teensy has a superfast USB serial port that isn’t constrained by the usual 115 kbit limit and can sustain throughput for up to 12 megabits/sec with very little CPU load on the Teensy’s ARM, which also has a nice DMA mode used by the OctoWS2811 output system to produce WS LED signals with zero CPU load. That makes it practical to stream 60fps video to the 1200 pixels on the Teensy from a host PC as well as running embedded pattern code.

    Streaming video you say? To a christmas tree? But how? And why?

    Well, think about it for a moment; How do you make nice patterns with 2000 LED’s? Which interface do you use? If you have to address each LED individually by flipping a switch  your nice pattern will be ready for christmas in 2 years. Maybe. If you haven’t gone mad from switch-flipping before that.

    So what is the ideal interface for controlling a lot of RGB pixels. Video, obviously.

    So we made a nice christmastree-controller program for a PC that allowed us to control the patterns on the tree with video clips. The software basically takes a videoclip of your choosing and projects it onto the tree, wrapping it around the circumference. The star has its own video so it can be controlled individually.

    Here’s a video of the sottware. It includes a christmastre emulator so you can see how the pattern will look on the tree.

    Remember the little house on the barge? The nice christmas-y one with little windows? That’s the control room where the electronics will be mounted, shielded from the weather.

    Many years of experience with crazy projects and Murphy’s law dictates that it is inevitable that a lot of hours will be spent on the barge programming, debugging and tuning the tree. That’s fine and to be expected, but not so fine if it has to be done outside in the rain in the middle of a windy harbour.

    So a control room was built exactly big enough to house a table and a chair where you can sit inside away from the elements. There’s a small door you can climb through, and one side of the roof is hinged for easy access.


    The most christmas-y control room in Copenhagen. Just large enough for one person to sit inside and work, but no larger.

    The control room also holds the wiring and electronics needed for running the lights.


    Fuseboxes, grunding bars and control box. Note the neat professional wiring. Well…

    How about power? All these blinking lights draw a lot of power, and a barge in the middle of the water isn’t exactly the place where you’ll find a wall socket with all the electricity you need. You’ve got to bring your own power. Damn…

    On the barge is a battery bank of a few large 12 volt car batteries that can run the lights and electronics. If all the lights are run full-on this will drain the batteries in a few hours, but with well-chosen patterns that only light up parts of the tree we can extend that to almost 2 days. This means that we’ll need to recharge the batteries every now and then.

    Did you notice the large blue christmas present with a red ribbon on the barge? No? It’s a nice christmas present that happens to hold a gasoline generator.


    Inside this box is a nice Honda generator. What a nice christmas present…

    A battery charger is hooked up to the batteries, so that when you turn on the generator it charges the batteries. Every 2 days we sail to the barge, put gasoline in the generator and start it up. By filling it just enough for 4 hours of running time it will automaticylly stop when it runs out. That way there is no need to stay on the barge to turn it off when the batteries are charged.

    Simple solution, except for one small problem. When the batteries are charging the voltage on the batteries spikes to around 14 volts, and the LED’s really don’t like that. They’re designed for 12 volts. Luckily the generator has a beefy 12 volt outlet as well as the 220 volt outlet connected to the charger, so a 220 volt relay flips the power source for the LED’s from the batteries to the generator output. When the generator is started the relay automatically switches from the batteries to the generator output. Simple and effective.

    That’s it. Ready for action!

    Luckily one of the guys building the christmas tree has a tugboat, so towing the tree around the harbour is easy. Here’s a picture of the first tow.


    The friendly Tug Lillebjørn towing the Christmas tree.

    The maximum height of boats going through the bridges of the Copenhagen harbour is 5.4 meters, so when towing the tree from one end of the harbour to the other the bridges need to open. One of the design parameters for the Christmas tree might have been that it should be at least 6 meters tall…


    A christmas tree of the right proportions can open all sorts of bridges.


    The christmas tree being towed through the harbour to spread love and happines. Thanks to Peter Sloth for the beautiful picture.

    That’s all folks. Merry Christmas!



  3. The basics of a good comment system

    May 22, 2015 by max

    Comments are everywhere. From facebook and reddit to your local newspaper. Yet a lot of sites (cough… newspapers… cough) seem unable to maintain comment sections of an acceptable quality. Looking at it from the perspective of someone that has followed the development since Slashdot started taking comments seriously in 1997 a short guide may be in order.

    This post will outline the basics of a good comment system. Note that since this is a vast field some finer nuances may be omitted, and my personal opinion and preferences will probably shine through. These are just the basics. Also, I won’t get into technical implementations since that would be too much for one blogpost, and will be dependent on which language/framework is used.

    Also note that this guide applies to sites that have many users and many comments. If you  have a small blog where each post gets 5-10 comments you should just use a standard comment system, or maybe disqus.

    So let’s get started.

    The basics

    A good comment system consists of three parts:

    1. User profiles. This may seem obvious, yet I still see sites that don’t have it. The profile is a users identity when he is commenting on a site.
    2. An upvoting/downvoting mechanism. There are many implementations, among them are  facebook likes, Reddits up and downvotes and slashdots dropdown choices between interesting/insightful/funny//informative
    3. A sorting algorithm that will sort the comments based on input from user profiles and the upvoting/downvoting mechanism. This is the vital part that sorts the quality comments from the inevitable trolls, me-too posts and conspiracy nuts.

    Let’s look a bit more closely at each of these three components.

    User profiles

    The primary function of the user profile is, of course, to identify the user. But it has several other uses that are just as essential

    • Giving the user an identity. The more of an identity a user has on a given website the more he will feel a part of a community, adhere to rules and netiquette and ultimately write better comments.
    • Identifying good and bad citizens. Users that write good comments will often do so consistently, users that write bad comments will often do so consistently too. This can be used in the algorithmic placement of comments.
    • The ability to “get to know” other users. A comment stating that something is completely wrong may either be very insightful, very stupid, or just trolling – it depends on the context and to a large degree the user. Being able to recognise the user, look through his comment history, and maybe see his profile adds a lot of context and value.
    A voting mechanism

    The voting mechanism allows others to vote on a users contributions. This is the primary input for the voting algorithm in assessing how valuable a comment is – a comment with a lot of positive votes is inevitably more valuable than one with none. Voting also serves two subtle psychological purposes. One is to allow users to easily approve or disapprove of a comment, and the other is to give some (hopefully positive) feedback to the commenter. Both help user retention and the feeling of being part of a community.

    There are a number of different implementations to choose from.

    • likes. Probably the most known and versatile voting mechanism popularised by facebook. It has the intrinsic advantage that it is cognitively easy to parse – even your mom knows what it means to like something. Pressing the thumbs-up icon is done millions of times every day by non-technical users. It’s a safe bet, and probably the right thing to use if your demographic is old or not net savvy.
    • Upvotes/downvotes. The up and down arrows popularised by first Digg and then Reddit are for a slightly more tech-savvy crowd. An upvote and a like are of course technically the same, but the psychology behind them is slightly different. A like is exactly what it says, whereas an upvote can mean “I like this”, “this is a worthy and interesting comment”, “this adds to the conversation” or something else. It depends on the site, and it is not trivial to convey to users what an upvote means. Some sites, such as hacker news have a stated set of guidelines that users (surprisingly!) adhere to, whereas on a site like reddit an upvote means different things whether you’re in the “askhistorians” subreddit or the “aww” subreddit. Downvotes are of course the alter ego of upvotes, but you need to think about the psychology behind them before you implement them. Upvotes are a positive acknowledgement, downvotes are a negative acknowledgement which may deter users from coming back.
    A sorting algorithm

    One of the sad facts about the Internet is that 90% of what people write is crap. 99% if you set the bar high, 80% if you’re an optimist. This applies to comments too, and it means that without some intervention a reader is forced to read through 10 crappy comments before reading a good one. Most people don’t have the time for that.

    That’s why sorting comments is important.

    The ultimate goal is to present the reader with the good comments, and allowing him to skip over the bad ones. The goal of a sorting algorithm is to find these nuggets, and the job of the UX people is to present the nuggets to readers in the best way possible. Note that these are 2 different things. The algorithm calculates a score, and the design presents the comments to the user based on this.

    Most algorithmic sorting systems are primarily based on other users votes, but presenting only the comments with the most votes to other users presents a problem;  How will new comments gain votes? What if comment number 100 is incredibly insightful, but gets no votes because no one reads through 100 commetns before they see it? The way this is solved is to create an algorithm that makes sure that comments with many votes rise to the top, but also makes sure that new comments are seen and have a chance to get voted on.

    Probably the most simple version, that works surprisingly well, is Hacker News. The algorithm is as follows:

    Score = (votes-1) / (time since creation in hours+2)^1.8

    If you’re mathematically inclined you’ll see that votes add to the score and time subtracts from the score. Since comments are listed according to score this means that new comments start at or near the top, allowing other users to see them and vote on them, but quickly fall down the page if they receive no upvotes. Thus the playing field is more level, and late comments still have a chance to rise to the top.

    Reddit’s sorting algorithm works on the same principle of presenting users with a list of comments sorted by score, but the score is calculated somewhat differently. It uses Wilsons score interval, an algorithm developed by Edward B. Wilson in 1927(!). The idea is that you sample each comment when it is voted on, and give it a score. It’s basically like polling each comment when a vote is cast on it. The comment system is created by Randall Munroe of XKCD fame, and he has written a very readable blogpost about how it works here has a good run through of both Reddit’s and *Hacker news‘ algorithms.

    Facebook’s sorting algorithm is complex, often changing and a well kept secret – so it’s hard to say something meaningful about how it works. At least something meaningful that doesn’t change in a week.

    The old-timer slashdot solves the problem somewhat differently. The comments are listed chronologically, but the ones that receive few or no votes are hidden from view, and require an active click to view. Since their voting system is a dropdown of insightful/informative/interesting/funny you can choose to sort by one of these if you just want to see the funny comments. Or the insightful ones. The advantage of this solution is that it keeps the chronological nature of the comment section intact, while still presenting only the best comments to the user.

    Note that the above sorting algorithms are just the basics, and that you can, and probably should, add and experiment to get it right. Maybe you should include users average comment score in the algorithm, maybe you should add a negative weight to new users, maybe votes from moderators should count double. The possibilities are endless. This is also why it’s important to keep the sorting algorithmic separate in your code base so you can continue to tweak and perfect it.


    If you have a reasonable amount of comments you need moderation. There will always be trolls, personal attacks, haters and just assholes and you need to do something about them because they will infest your community and drive the good users away if you don’t. Nobody wants to spend time writing a thoughtful comment that will be lost in a sea of swearwords, illuminati conspiracies and presumptuous premises. This is a cumulative effect; Once you start having bad comments (for some definition of bad, that obviously depend on your community) they will attract more. The same goes for good comments. This is why moderation is important.

    Good moderation is a combination of human and machine effort. The most blatant spam can be caught using standard techniques such as bayesian filtering, but reasoning about the validity of comments above a very low threshold is still beyond algorithms. There are a few different technques that can be employed:

    Algorithmic sorting

    The voting algorithm will get you a long way, especially if you have downvotes. Comments that have a sizable amount of downvotes can automatically sink to the bottom, where few people read them. Hacker News has a rather clever system where the text-color of a comment  gets closer and closer to the background color the more downvotes it receives. After enough downvotes it is invisible.

    An additional measure is a “report spam” button that lets users report spam comments. This is useful, since it’s  clear indication that when a user presses it it is because he thinks a comment is spam. The system should, however, not just delete the comment since this is an easy way to cheat the system and remove comments that you disagree with. Instead a system should be employed where a report button is incorporated into the moderation system, such that the action taken is based on a more nuanced set of parameters. These could include the reporting users previous posts, average score, or time since creation, it could include the same parameters from the writer of the comment, and it could send a message to the moderators. Bringing us to…


    Moderators are the humans that make sure everything works as it is supposed to. These can either be paid moderators, which quickly gets expensive, or it can be powerusers that volunteer. Typically a hierarchy is employed with paid staff at the top that have a number of volunteers below them. The job of he paid staff is to find and keep good moderators, tweak algorithms and do normal housekeeping. The job of the volunteers is to moderate comments. One important reason for having volunteer moderators is to have a better response time. If moderation is only done by normal employees response times for commenting is typically slow, both because people have other things to do, and because there typically will be no moderation after working hours. A well-kept volunteer based system on he other hand will have almost instant moderation.


    Some users just won’t learn. Maybe they are trolls, maybe they have a personal agenda, or maybe they just have nothing better to do. To have a well functioning community you need to get rid of them since they can quickly infest and degrade your comment section. Banning can either be automatic, or done by moderators, and a ban can either be on the userprofile (with the disadvantage that he can just create another) or IP adress (with he disadvantage that others from that IP can’t join the discussion, and the problems with dynamic IP’s). There is no proven way to completely ban a user and make sure he doesn’t come back, short of requiring personal ID which is probably taking it a bit too far. For most sites it’s a whack-a-mole game, but the more effective you are at weeding out, the smaller the problem becomes as bad users find out that their comments won’t be read anyway.

    A clever way of keeping bad users in a trap is hell-banning – they will see their comments on the site, but they will be invisible to everyone else. Often they don’t realise this, and wonder why their snarky comment doesn’t trigger a response, not realising that they are the only ones to see it. Eventually they will get tired and go somewhere else. A particular insidious version of hell-banning is to let hell-banned users see comments from other hell-banned users.


    Experience suggests that at least some transparency is important for a good community. If you just delete comments users are prone to start speculating and eventually get angry. Conspiracy theories about the political bias of moderators, personal agendas and the like are bound to pop up. So are comments about it, and they typically don’t add to the conversation. A good start is a set of guidelines, that state what is and isn’t allowed. Being able to contact moderators is another good measure. Flicking a switch that allows users to see deleted comments is another good way. Sending an automated message with the guidelines is another.  Just deleting comments with no reason is a bad idea unless it’s obviously spam.

    Some sites such as Hacker News choose to keep the identity of moderators secret (or at least not publicly available) whereas sites such as reddit has visible moderators for each subreddit that are free for all to see. Slashdot employs a unique system where some users are granted moderation abilities for short timeperiods based on their past acions. This approach crowdsources the moderation to all users, and may be more fair and has the advantage that there is not the the potential for one moderator with a political agenda, a personal vendetta or other non-desirable behavior.

    Design and usability

    Design and usability are important factors. You should strive for a system that makes it easy for new users to join the conversation and if you have the resources give advanced possibilities to advanced users.

    The sign-up proccess

    The sign-up process should be easy and hassle-free; username and password and maybe e-mail should really be enough. Full name, number of pets, where you are from and sexual orientation is just filler that will drive new users away. I have seen some sites try to use the sign up process to minimise spam comments by requiring phone numbers or real ID’s. I have seen no data to suggest that this works. If your strategy for minimising spam and bad comments is to make it harder to sign up you’re doing it wrong. Facebook is an exception here – the only reason it works is because they have massive network advantages.

    Writing and reading comments

    Writing a comment should be easy. Again, making it hard or limiting users possibilities doesn’t help much against bad comments, but it definitely hinders good comments. This is also the wrong place for moderation. Most well functioning comments seem to have some kind of markdown, so that users can style their comments. This is a big win for longer comments, that otherwise would just be a wall of text. Typically styling is limited to simple things such as bold, indented, headings, links and unordered lists. Not much, but enough to make a long comment readable. It’s not an absolute must, but with all the free markdown editors availabel it’s an easy implementation. I have seen some sites limit comments to 500 or 1000 characters, and I’m pretty sure this is a terrible idea. You end up with complaints, comments in 2 or 3 parts, and noone writing thoughtful comments without any apparent upside.

    Anonymous posting may have its merits if the conversation is fickle and involves whistleblowing, sexual orientation, personal problems, or a number of other subjects. Typically users will create a throwaway account that will only be used for one comment thread. In my experience some of these anonymous postings are incredibly interesting  because they touch on subjects that are normally taboo in one way or another. Slashdot has an interesting twist on snonymous posting; When you are logged in you can choose to post anonymously, and your comment will appear with the username “anonymous coward” and get an automatic penalty in the voting system to keep anonymous spam and personal attacks near the bottom.

    The discussion between linear (one long list) and threaded (hierarchical, like folder views) comments has been ongoing since newsgroups was the hot thing. The advantage of linear comments is that they are easier to understand for non-technical users, but they are harder to parse for more savvy users. Particularly conversations are a problem for linear comments. Replying to another user is a mess, following a conversation is even more of a mess. Threaded conversations seem to be prevailing as more and more users get used to them. It’s also hard not to notice that almost all well-functioning comments sections have some kind of threaded comment system. On a sidenote I’ve more than once heard the argument that threaded comments with unlimited depth were almost impossible to implement. I suggest these people learn about recursion

    Interaction and psychology

    Why do people spend their time writing comments? To paint with a really broad brush it’s either because they are bored, have an agenda, are angry or have something interesting to say. The ones that have something interesting to say are usually the ones that are most busy, and have the lowest threshold for making a comment. For this reason it should be simple and quick to make a comment. The downside is that it will also be simple and quick for users that don’t have anything to add, but that’s what comment sorting and moderation is for. Making it hard to join the conversation is throwing the baby out with the bathwater.

    Actually there’s another reason people spend their time writing comments, and it’s probably the most important one; to feel part of a community, and to get a feeling of acceptance or empowerment from that community. This is why feedback is important. Facebook is the master of this. We all know and love the little red globe on the top right of the page that indicates that someone has liked or responded to something we wrote. As any psychologist can tell you this brings you closer to the community, and gives you a more favorable view of the site. It also promotes discussion since a user is notified when someone responds to his comment. You absolutely need to have functionality that easily lets users see responses on their writings – it’s one of the major psychological drivers for spending time writing out a long thoughtful comment.

    Karma is the word normally used for votes/points/likes. The more votes you have the more karma you have. It’s a disputed term that many people have a love/hate relationship with, but it works. Most power users on a given site with karma will follow it, and most people won’t acknowledge that they do so. It’s a measure of how good a member of the community you are, or as a psychologist might say, it is an extension of your ego. Even though it’s just a number it has a profound psychological effect, and spurs users to write better comments to gain karma. Some sites even have top lists of users with the most karma.

    Closing thoughts

    What was originally intended to be a short guide to comments for noobs ended up being much longer than I thought, and I’ve only covered the basics. This probably goes to show that comments are somewhat more complicated than they first appear, and that a good implementation is not trivial.

    Best of luck to anyone faced with the job of implementing a good comment system.

    If you think the task is monumental and don’t know where to start, you should send me an e-mail – if you have an interesting project I might be interested.

  4. Why the Euro will ultimately fail.

    February 20, 2015 by max

    Trouble is, once again, brewing in the eurozone, and politicians, journalist and bureaucrats are doing their best to provide commentary and solutions to the ongoing crisis. Yet it seems that very few understand the root of the problem.

    This is an explanation of problem with the Euro, and the 2 possible solutions.

    Imagine a German and a Spanish carpenter shop.  In 1999 they both proudly present their new line of wooden chairs – the Spanish chair being made from Olive trees and the German one made by precision machinery. Both chairs are sold for €100. They’re both spectacular successes and all is well in both carpenter shops. But the Germans with their precision machinery are good at improving their production process. They buy better machines, they optimise their processes and they cut down on scrap wood. The Spanish aren’t quite as good at the productivity game, so their production process doesn’t improve as much. It seems Germans just have a knack for clever solutions that make the chair-building process better and faster.

    Because the Spanish workers aren’t as good as the German at optimising chair-making their chairs become more expensive over time. Let’s say that in 1999 a worker could make a chair for €75, and the carpenter shop made a neat profit of €25 – whether it was German or Spanish. As you can see in the graph below in 2005 a German worker could still produce a chair for €75, while a Spanish worker could produce it for €75*1.15 = €86. The German carpenter shop still makes a neat profit of €25 per chair, while the Spanish shop now only makes €14. All because of those pesky Germans and their knack for being ever more productive. For the Spanish shop things will only get worse, and in 2008 they start losing money on the chairs when they sell them for €100 since their unit labour cost has shot up. They just can’t compete with the Germans. Note that this isn’t necessarily because the Spanish workers are lazy, it’s just that the Germans have better machines, infrastructure and processes at their disposal.



    As you can also see in the graph this is a trend that reverberates around all the southern periphery of the Eurozone. Greece, Spain, Italy and Portugal are all in trouble because they can’t follow the German growth in productivity. Their carpenter shops go broke while the Spanish consumers start buying German chairs because they are cheaper. The German carpenters make boatloads of money because they sell lots of chairs to the Southern European countries whose carpenter shops have gone out of business because they can’t make chairs as cheaply as the Germans. They’re still slaving away at manual lathes while the Germans push buttons on a CNC machine.

    Before the Euro the Spanish central bank would catch the problem early on and pull some monetary policy levers to make the country competitive again. They could print more money, change the intrest rate or devalue the peseta. With these tools it was possible to make Spanish goods cheaper for Germans and other foreigners. For example, when the peseta was devalued by 24.6% in 1977 a German exchanging his D-mark for Pesetas would get 24.6% more pesetas, and thus be able to buy more Spanish wooden chairs for his D-marks, making Spain competitive again. This works the other way too of course, so a German chair (or a Japanese television) would become more expensive, which usually isn’t popular with the people that vote. This is why devaluing is a weapon that is only used in a crisis situation. A more common way of regaining competitiveness is printing money which raises inflation.

    Of course with the euro this isn’t an alternative. One euro is one euro, whether it’s in Spain or Germany. There is no Spanish Central bank to control Spanish monetary policy. There is only the European Central Bank that controls the Euro, and it has to follow a monetary policy that will work for both low growth countries and high growth countries.

    So Spain was screwed. Businesses started going bankrupt, people were fired and tax revenues dwindled. This, of course was a double whammy since unemployed people not only don’t pay taxes, they also cost the state money in social services. So the southern countries started borrowing money, amongst others from Germany which had plenty of them since their chair-making business was doing rather well. Germany also had an interest in keeping the southern countries afloat since they were it’s main export market, so they gladly spewed money to the south. Money flowed from Spanish consumers buying German wooden chairs, and back to the Spanish in the form of loans that they could then use to buy even more wooden chairs. This worked well because investors that lent money to the Southern European countries knew that the Euro was a safe currency – it was backed by rock-solid Germany after all. The Germans felt rich because their exports were stellar, and the Spanish felt rich because they could borrow unlimited amount of money at low interest. Nobody seemed to realise the problem until the Euro crisis broke out in 2010. Then everyone seemed to notice – and panic – at the same time. Greek and Italian borrowing costs went through the roof, Spanish unemployment went straight up, and everyone blamed Greece, Italy and Spain for spending too much money. Which was of course only half truthful since Germany had been making boatloads of money from selling wooden chairs and audis to the Southern countries for more than ten years. Nobody seems to talk about that though, it’s much easier to just blame those lazy Greeks (who by the way have longer working hours than Germans).

    In 2010 it was obvious that there was a divide between the North that had been gaining competitiveness and the south that had been losing competitiveness. As you would expect the southerne countries moved into deep recession, had massive debt and unemployment worse than during the great depression. Spain currently has unemployment levels exceeding 25% and youth unemployment of more than 50%. The Spanish carpenters can only stand and watch as the cheaper German chairs are imported.

    This disaster was entirely avoidable if the Euro bureaucrats had bothered to read Robert Mundall and Marcus Flemming’s seminal paper from 1962 which stated that according to well established macro economic models it was impossible to have domestic fiscal autonomy, fixed exchange rates, and free capital flows: no more than two of those objectives could be met. They won the nobel prize in economics for this in 1992, so it’s not exactly an obscure crackpot theory.

    Since the euro is, by definition, the currency used in the eurozone the exchange rates must be fixed. One euro in Greece is the same as one euro in Germany. The same goes for free capital flows, if you have one euro in Spain and can’t spend it in Germany the eurozone doesn’t make much sense. So if it has to work the Euro zone members must give up their fiscal autonomy. What does this mean?

    Fiscal policy is how a country taxes and spends it’s money. Tax rates, social spending, VAT, healthcare spending and infrastructure spending are all parts of fiscal policy. It’s basically a nations budget. According to the the Mundell-Fleming model, as it’s called, the only way forward is fiscal integration. A united States of Europe. There has been some talk of this in Buxelles, but few voters realise what it actually means. A fiscal union means that a substantial part of taxing and spending will be done from a central authority in Bruxelles – the EU. This means a loss of sovereignty for individual nations in the euro, and it also means pemanent fiscal transfers between member states.

    Fiscal transfers may sound innocent, but it is at its core an acceptance of the fact that countries like Greece and Spain are less competitive than Germany and need a permanent and continued handout of money every year to compensate for that. The Germans will need to pay the Greeks. Not once, not as a loan but as a steady flow of money year after year until Greece eventually becomes competitive. If they ever do. If trends reverse and Greek productivity starts to rise faster than German productivity the flow of money is reversed. Basically the rich countries pay for the poor.

    This may sound preposterous, but it’s actually quite common. Every nation has poor rural areas that need to be subsidised. Far-outish-upon-Grandalf with 1000 inhabitants and a closed factory in the North of England just isn’t a good business for England. But the government still pays for social services, public pensions, roads and schools because the British voters accept that even though far-outish-upon-Grandalf is pretty screwed up, they are after all British and you can’t just throw the poor bastards out of the Commonwealth.

    A better example is the United States. As the name implies it’s a collection of states, but they all consider themselves Americans first and New Yorkers, or South Carolinan’s second. They pay federal tax to the United States and state tax to New York or South Carolina. Because there is a strong social cohesion around being part of the greatest county on earth they accept that South Carolina is a piss-poor state that needs handouts from the federal government year after year. Last year South Carolina spent $2.34 for every $1 they collected in taxes. Courtesy of the federal government. The rich New Yorkers are OK with that because, hey they may be poor and not have a major league baseball team but they are Americans – just like us. We stand united! MURICA!

    So if the Euro is to survive in its current form fiscal integration is a necessity. There’s just one problem. Those damned voters. European voters aren’t Europeans first and Germans second. They’re Germans or spaniards or Greeks that happen to be members of this euro-thing they don’t quite understand, but it means they don’t have to change to pesetas when they go on holiday in Spain so it’s probably a good thing. But none of them fly the European flag with pride from their homes like the Americans do. None of them proudly announce that they’re Europeans when they go abroad like Americans do, and none of them feel like they have much in common with people from other countries in the eurozone. They aren’t really Europeans, and there is no way German, Finnish or Belgian voters will accept yearly handouts counted in billions of euro to Spain, Portugal and Greece. They don’t even speak the same language. It’s just not going to happen. The social cohesion isn’t there.

    The rhetoric of Angela Merkel captures the essence perfectly. “Those lazy euro-borrowing Greeks need to pay up. They also need to impose austerity, fire public workers, cut their budgets, spend less money and get their act together. Noway we’re going to pay for them” It’s pretty obvious that she, or maybe her voters, aren’t European enough to accept the fact that Greece will never be able to repay it’s debt, no matter how much they cut their spending. They’ve cut their spending by 25% since 2010, a staggering and unprecedented cut, but it isn’t enough for Germany. Because of the lacking growth in productivity it will never be enough. Meanwhile Greece is falling apart, a whole generation of youth is lost, poverty is rampant and Golden Dawn, a nazi party where half of the elected politicians are in jail for violent crimes, will likely rise to power at the next general elections if the current leader of the governing coalition Syriza doesn’t get a break.

    It’s also a trend that has been repeatedly shown in referendums around the eurozone – when put to a national vote the voters tend to say no to the Euro and European union. Most famously when the Danes, to the surprise of everyone, voted no to joining the euro in 2000 even though almost all parties endorsed it. A second referendum has been on the drawing board ever since, but has never been held because the polls clearly show that the Danes will vote no again. There’s just no popular support for it.

    It’s pretty obvious that the voting public of the Eurozone is lightyears away from considering themselves Europeans first. It’s just not going to happen. At least not within the foresseable future. There is noway the tides of public opinion can be swayed towards love of the union, especially not with the current crisis and accompanying finger pointing rhetoric used by almost all politicians. The Germans hate the Greeks because they can’t pay their loans, the Spanish hate the Finns because they impose ever more austerity on them, the Greeks hate the Germans because they think Merkel is trying to run their country. Everyone hate Cyprus because they do banking for Russian Oligarchs. It’s a total clusterfuck.

    This leaves one last option.

    A breakup of the Euro.


  5. The 1% open source license – a proposal

    April 24, 2014 by max

    The thing I found most surprising about the recent heartbleed bug in OpenSSL was the fact that “ In a typical year the OpenSSL project receives about US $2000 in donations”. This is maybe one of the most vital pices of open source software in use. Thousands of companies are dependent upon it working correctly and securely, yet none of them seem to have donated to it.

    If it’s so important why not?

    Here are some good guesses:

    • The programming team responsible for implementing software aren’t the ones controlling the money
    • Managers and accountants that do control the money may not be aware that they can or should donate money to the open source software they use.
    • If it’s open source you aren’t legally obliged to donate, so why should you?

    Therefore I propose the 1% license.

    The idea is fairly simple: It’s just like GPL (or whatever other open source license you may prefer) but with this line added:

    If you use this software for a commercial product you are required to pay whichever one of these sums is the smallest:

    1. 1% of the additional profit your business has made due to this software. You are allowed to make an informed guess.
    2. $1000 

    The payment is not due before you have actually had the additional profit. 

    As long as you use software with the 1% license for personal projects, community projects, small ventures or startups that still aren’t making money it’s free. But if you are making money from the software you need to donate some of it back to the community that wrote it. If you are Google, use the open source Nginx server and have saved trillions of dollars you can get away with paying $1000.   I don’t think this is an unfair proposal.

    Now the programmers in company X that use software under the 1% license can point their managers or legal department to this clause and remind them that they are legally obliged to pay a small portion of money for the software they use. Legal departments and project managers have a tendency to follow legally binding contracts, so there’s a fairly good chance they will comply.

    There’s of course a lot of wiggle room. How much additional profit has a company attained by using some specific open source component? That will always be a judgement. There will also be companies that don’t pay. But that doesn’t matter much since the additional copy doesn’t cost more than a the bandwidth cost of the download.

  6. Googles long-term strategy, and why they bought Boston Dynamics

    January 8, 2014 by max

    Google just bought Boston Dynamics, the company behind robots such as Big Dog and Petman. Why would Google, a search company, buy a robotics company?

    Because it’s part of their long-term strategy.

    96% of Googles revenue comes from advertising. It’s a golden goose that sprinkles the company in money. Last year they made more than $10 billion from advertising. This is what drives their whole business – without advertising there would be no google. Depending on one income stream is a risky bet for a large company, and Google knows that the advertising revenue might dry up at some point. Not now, not next year, but sometime in the future. A nimble competitor might come along with a better product, googles search dominance might wane thus giving them access to less advertising space, or the advertising marketplace might change completely in some unforeseen way. In the long run it’s dangerous to be dependent on one income stream. On top of this Google’s marketshare in the advertising business is now so large that growth is becoming difficult.

    Google is well aware of this. They know they need to look for other revenue streams to suppleant advertising. Since Google is a large company, and the advertising revenue stream is in the tens of billions of dolllars an alternative income model needs to come from a large market. Even if Google corners the market for dogfood completely it probably won’t make a dent in the financial statement of the company. They need a big market, and they need a big share of it. Otherwise it doesn’t matter.

    Other large companies facing the same problem typically try to diversify into other markets where they might have a technological or market advantage. When IBM’s mainframe business was under threat in the 80’s they (successfully) diversified into consulting because they already had the sales organisation in place.

    Moving into another market where you have an advantage is a classical strategy. There are 2 things that make google slightly different.

    First, they are making the move before their main business model comes uder threat. This is both a rare and visionary thing to do, and it offers the distinct advantage that since advertising still rakes in money they have the resources to stay in the game, even though it might not be profitable this quarter or next.

    Second, they don’t try to corner existing markets but look ahead to markets that might become billion dollar industries in years or decades. Robotics, self driving cars, Google Glass and Anti-ageing. The reason Google is able to look to new non-existing but potentially huge markets is that they aren’t in any immediate trouble. On the contrary, one of the hard things at Google HQ must be to decide what to spend money on. They spend it on securing a future where adwords is no longer their main revenue stream.

    Very smart.






    Google announced the launch of a new company called Calico on September 19, 2013, which will be led by Apple chairman Arthur Levinson. In the official public statement, Page explained that the “health and wellbeing” company will focus on “the challenge of ageing and associated diseases”.[77]

  7. Protected: Strategi og implementeringsforslag

    December 28, 2013 by max

    This content is password protected. To view it please enter your password below:

  8. Why newspapers are dying

    November 30, 2013 by max

    20 years ago newspapers were thriving businesses. They set the political agenda, shaped public opinion and uncovered large scandals. They also made lots of money. Most publishing houses had large headquarters placed in the most expensive parts of town as monuments to their fortune.

    From a business point they were in an enviable position. They were largely the gatekeepers between information and the public. If you wanted information you had to buy a newspaper. Gatekeepers typically make lots of money because they operate in a monopoly-like environment. If you want something you have to get it from the gatekeeper. Record labels used to be gatekeepers for music – if you wanted to listen to music you had to buy one of their CD’s. Hollywood studios used to be gatekeepers for movies – if you wanted to watch a movie they decided when it would be released in you country, when it would be on television and when you could rent it in blockbusters. They all made lots of money.

    Newspapers used to be gatekeepers for news. In a world without Internet this gave them a distinct business advantage. They had access to millions of readers. In the newspaper industry it’s no secret that actually producing news is a loss leader for the business that can be generated through the access to a large loyal audience that trusts the brand of the newspaper. A newspaper with only news can’t generate enough income to be sustainable.

    But that didn’t matter because seen from an business perspective news was the vehicle that allowed newspapers to bring their other business model to market.

    If you wanted to sell a house you paid the newspaper to be included in the homes section. If you wanted to fill a position in your company you paid the newspaper for an ad in the jobs section. On top of this came the normal ads. They made lots of money. The sunday papers were the size of phonebooks, filled with expensive ads, job listings and pictures of real estate for sale. They also wielded some serious political power since they controlled the flow of information to the public.

    Washington Post headquarters

    Washington Post headquarters – now it’s for sale.


    Then the Internet came along and ruined it all.

    With the rise of the Internet the newspapers gatekeeper role diminished. Slowly web-based services crept in and ate the newspapers lunch. Monster, linkedin and a load of other sites slowly ate the revenue generated from the job boards.  Yahoo real estate, zillow and a large number of smaller sites stole the income from the real estate listings. Craigslist stole the classifieds. On and on it went. A million smaller specialised companies eating away at the newspapers economic foundation.

    The sunday paper was slowly reduced from a cashcow the size of a phonebook to a trickle of pennies from a few loyal customers who still thought that a job posting in the New York Times was a pretty good deal. This started happening 15 years ago, without the newspapers taking notice. Or at least it appears that way since none of them put serious effort into developing competing services.

    Only within the last few years have newspapers started to take the Internet threat seriously. Years after it has taken away their businessmodel. A lot of them seem to think that they just need to convince readers to pay for online news, and then everything will be fine – like in the old days. But it won’t. For several reasons:

    • News was never the sole revenue driver for newspapers. Ads, classifieds, job postings and real estate postings made up a substantial amount of the revenue. Those are mostly gone.
    • Ads are cheaper on the Internet than they were in print. It’s a simple question of supply and demand. 20 years ago there weren’t that many possibilities if you wanted to reach consumers. Newspapers were one of them. This drove prices up. On the Internet the supply is nearly endless and drives prices down. Note that this is true both for online ads and paper ads. (Online ads are a substitute for print ads, and since they’re cheaper a lot of the money previously spent on print ads are now diverted to online ads, thus driving down the demand)
    • News is abundant and free. You can always find your news for free on the Internet. This means that the incentive to pay for your news is dwindling. Very few online publications can generate substantial revenue from online content, mostly in the financial press.
    • Competitors have taken over the lucrative income models such as job postings with dedicated sites that do one thing and do it well.

    So are newspapers doomed?

    Not necessarily, but they have a rough road ahead. And they need to start moving now if they want to be in business 10 years from now.

    There are only 2½ definitive truths in the future of newspaper economics:

    1) It’s a structural change, and the old days won’t come back. Like so many other industries the Internet has disrupted the whole business model and stripped the industry of its gatekeeper role, and thus its income model. This won’t change.

    2) Nobody has the obvious true answer.

    2½) In 10 years there won’t be any printed newspapers. (This isn’t entirely certain, but very likely – technology is fast paced, remember that 7 years ago Apple hadn’t even introduced the Iphone)

    So what should a newspaper do to survive? First, look at what unique advantages it has.

    • Brand value. Most newspapers have a brand that many online businesses would kill for. Who do you trust the most? New York Times or Instagram? Brand value is a key metric for driving sales.
    • An audience. A newspaper typically has a large audience that it connects to on a daily basis.
    • Journalists! The people whose job it is to create interesting and engaging stories that depict the world in which we live. A lot of them do it very well.

    So newspapers definitely have some value, what they don’t have is a way of capitalising it. In a way  newspapers are like startups. In the words of Silicon Valley legend Steve Blank  a startup is an organization formed to search for a repeatable and scalable business model.” The main difference is that newspapers are way ahead of startups in that they already have brand, audience, money and a dedicated staff. All they need is the business model.

    So how do startups find a repeatable and scalable business model? They try a lot of different things and see what sticks. It’s the exception rather than the rule that what a successful startup ends up making money on is what was envisioned in the original business plan. Paypal started as a digital wallet for PDA’s, Hotmail started as an online database business. Google didn’t have any idea how they would eventually make money when they started.

    This is the strategy that many successful startups use:

    • Get an idea and create the simplest implementation that could possibly work. Get it out to customers as soon as possible. In startup speak this is called the minimum viable product. The point is not to have a perfect product but to find out whether it’s something people will pay for. If it shows promise you can always improve it.
    • Continuous deployment: Put your minimum viable product out there and test it. Tweak it, make it better, change it a bit and see what happens. Do this continuously until it works. successful startups often deploy new tweaks multiple times a week.
    • Actionable metrics: If you don’t have metrics you don’t know whether a deployment is a success or not. Metrics can be users, acquisitions. readers or money in the bank.
    • Pivot. If your minimum viable product doesn’t work, even after tweaking and testing, drop it and think of something else. Repeat and rinse until you have a business model that works.

    Newspapers should copy this model. If 2 guys in a garage can make it work so can a news organisation that already has a brand, an audience, journalists and a solid infrastructure.







  9. The projected economy of Silk Road

    October 3, 2013 by max

    With the recent takedown of the illegal TOR-based merchant site Silk road some interesting numbers have been released in this (PDF link) criminal complaint . This gives a unique and interesting look at the economy behind the site.

    Here are some raw numbers directly from the linked criminal complaint:

    • Silk road was initially launched around January 27, 2011.
    • Dread Pirate Roberts, the alleged owner and main administrator of the site, has on July 21, 2013 received 3.237 transfers of Bitcoins to his account, virtually all of which are labelled “commission”.
    • The commission rates vary between 8 and 14% depending on the size of the transaction (larger transactions have lower commission)
    • Dread Pirate Robert’s Bitcoin account page on Silk Road held equivalent to $3.4 million on july 23, 2013.
    • A small administrative staff has helped police the forums, and do other tasks. They have received a payment in Bitcoins  equivalent to $1.000 to $2.00 a week.
    • During the 60 day period from may 24, 2013 to july 23, 2013 1.217.218 messages were sent through Silk Roads privte messaging system.
    • From february 6, 2011 to july 23, 2013 1.229.465 transactions were completed on the site involving 146.946 unique buyer accounts and 3877 unique vendor accounts.
    • The total revenue generated from these sales was 9.519.664 bitcoins
    • The total commission collected by Silk Road from the sales amounted to 614.305 bitcoins. These figures are roughly equivalent to $1.2 billion in revenue and $79.8 million in commissions at current bitrcoin exchange rates.

    So let’s look at the economics of being a large-scale criminal mastermind that runs a TOR-based drug trading commerce site.

    The site has been in operation for around 2 years, and in that timeperiod the owner has managed to turn it into a business with a billion-dollar turnover. Pretty impressive.

    To get an idea of the scale the maintenance and operations needed to keep the operation going we are given the following clues:

    • a little more than 1 million transactions were completed in the 2 years the site was operational. 
    • The site had around 150.000 buyer accounts and 4.000 vendor accounts.
    • around 2000 private messages were sent a day.
    • Dread Pirate Roberts has received a little more than 3000 bitcoin transactions in one day  on July 21, 2013.
    • On average around 1600 transactions have been completed every day since the start in 2011. Assuming a growth period this is consistent with the 3000 transactions received in one day as stated above.

    Assuming that 2% of the visitors to the site make a transaction this gives 150.000 unique daily visitors based on the assumed 3000 daily transactions on july 21, 2013. Behind this is a database holding transaction history of the 1 million transactions, user account info for around 150.000 users, and other maintenance stuff. On top of this comes a forum, which was run on a separate server. This is not a mom-and-pop website, but well within the reach of one dedicated and talented programmer/sysadmin – presumably Dread Pirate Roberts.

    The server and bandwidth cost of this operation should be negligible, and would probably come to a few thousand $ a month at most. On top of this comes pay for an administrative staff whose job it presumably is to weed out bad seeds, answer forum questions, settle disputes, etc. Assuming a staff of 10 people this comes to   around $80.000 a month.

    So from these guesstimates we can get a broad overview of the economics of the operation.

    Projected budget for 2013 – presuming the site was still operational:

    Revenue: We know that revenue was $1.2 billion over 2 years, we know that an average transaction was $976 ($1.2 billion/1229465 transactions), and we know that in one day in july Dread Pirate Roberts received 3237 Bitcoin transactions. Assuming that this was a normal day (which doesn’t seem unreasonable with the given numbers, accounting for some growth during the time the site was operational) this comes to a daily turnover of $3.159.312, giving a projected yearly revenue of  $1.1 billion

    Operating expenses (as explained above): $1 million

    Vendor expenses (Revenue minus commission) It is stated that the commission varied between 8 and 14%. If we assume an average 0f 9% this equals vendor expenses of $1001 million

    Profit for 2013 (assuming the site was still operational): $98 million

    Not bad for a 2 year old site. Too bad it was terribly illegal.

  10. Either there are no terrorists, or they are incredibly incompetent

    June 14, 2013 by max

    Think for a moment about how easy it is to make a terror attack. You can make incredibly poisonous gas and release it in the subway for less than $1000, you can set off huge forest fires in California by driving around with a few cans of gasoline on a hot and windy day, or you can simply buy a semi automatic weapon and start shooting people on Times Square. These are all obvious and easy DIY terror attacks. If you have a sliver of intelligence you can fairly easily come up with attacks that are much more devastating and equally easy to deploy (I won’t mention any, I really don’t want to give anyone good ideas even though I highly doubt that potential terrorists are reading this blog)

    There are examples of people without significant funding having successfully carried out attacks. The boston bombers and Anders Breivik come to mind. So we know terrorism can be done by individuals with limited funding and contacts.

    We hear about the dire threat from large well funded terrorist organisations on a daily basis, so the obvious question is: If it’s so easy to do, why aren’t there more terror attacks?

    I see three potential answers:

    1. There are no terrorists, or at least very few.
    2. The terrorists are incredibly incompetent.
    3. The NSA, CIA, FBI and other agencies are doing a stellar job of stopping terrorism.

    Let’s assume the three letter agencies are incredibly effective and thwart potential terror attacks all the time. How would we know? They operate in a veil of secrecy so it’s hard to know for sure. However, sometimes they testify in congressional hearings so that our elected representatives have a chance to find out whether the billions they receive is well spent. In this C-span clip NSA director Keith Alexander is asked whether the NSA has thwarted any terror attacks. His answer is “dozens”, yet he is unable to mention even a single concrete example, or point to even a single arrest. It seems to me that if you testify before congress, which is the NSA’s source of funding, and you have a shining example of why you’re worth your money you would mention it. But there isn’t one.  In an interview director of national intelligence James R. Clapper is asked whether he can give examples of terror plots that have been prevented. He mentions two episodes, both from 2009. The first is an attempted bombing of the New York subway. The second is the apprehension of David Headley who was involved in the Mumbai bombing (they didn’t catch him before the bombings took place) and the planned attack on the Danish Newspaper Jyllandsposten. But David Headley’s case could easily have been unfolded without the NSA. His two(!) wifes both notified the US authorities about his terror involvement in 2005 and 2007 to no avail.

    So we have two examples, where at least one is very dubious and the suspect could have been apprehended by other means. That’s not exactly a good track record. It seems to me that not that many terrorist attacks have been averted, if any.

    That leaves me with the conclusion that either there aren’t any terrorists or else they’re incredibly incompetent.