<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>nick bruun</title>
        <description>code, rants, randomness</description>
        <link>http://bruun.co</link>
        
        
        <item>
            <title>And so, Microsoft ruins Skype</title>
            <description>&lt;p&gt;I&#39;m appalled and amazed at the same time. I&#39;m &lt;em&gt;apmazed&lt;/em&gt;. It&#39;s not even a word, but I think a situation like this requires the invention of new words, although harsher ones are probably more fitting. You see, after an amazing &lt;a href=&#34;http://2013.djangocon.eu/&#34;&gt;DjangoCon Europe&lt;/a&gt;, I arrived home to a few odd Skype messages from &lt;a href=&#34;http://guan.dk/&#34;&gt;Guan Yang&lt;/a&gt; with a dead link to his blog (&lt;a href=&#34;http://guan.dk/skypetest&#34;&gt;http://guan.dk/skypetest&lt;/a&gt;) and a comment saying &#34;let&#39;s see if they crawl this.&#34;&lt;/p&gt;
&lt;p&gt;Today, Guan explained the reason for the weird link; &lt;a href=&#34;http://lists.randombit.net/pipermail/cryptography/2013-May/004224.html&#34;&gt;an alleged back door in Skype&lt;/a&gt; has been discovered, in which Skype or Microsoft will make an HTTP &lt;code&gt;HEAD&lt;/code&gt; request to &lt;em&gt;any&lt;/em&gt; link exchanged in Skype chats. While both the author of the above mailing list post, Adam Back, and &lt;a href=&#34;http://www.h-online.com/security/news/item/Skype-with-care-Microsoft-is-reading-everything-you-write-1862870.html&#34;&gt;The H Security&lt;/a&gt; have confirmed the back door, I was still shocked when Guan later dumped the following from his access log:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;65.52.100.214 - - [20/May/2013:13:04:11 +0000] &#34;HEAD /skypetest HTTP/1.1&#34; 404 - &#34;-&#34; &#34;-&#34; &#34;guan.dk&#34; &#34;guan.dk&#34;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Performing a reverse lookup of the requesting IP address returns an AS number, AS8075, which Microsoft have been the proud owners of since 1997. According to The H Security, Skype responded with the following explanation for the behaviour to the German security company, &lt;a href=&#34;http://www.heise.de/&#34;&gt;heise online&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#34;Skype may use automated scanning within Instant Messages and SMS to (a) identify suspected spam and/or (b) identify URLs that have been previously flagged as spam, fraud, or phishing links.&#34;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While the above legalese may indeed &lt;em&gt;legally&lt;/em&gt; justify the request, I as a user feel absolutely violated that a large corporation like Microsoft will take links that I send in all privacy to my friends and make requests to the same URLs. Worst of all, under the pretence that all Skype communications are encrypted, I&#39;m pretty sure that a fair number of sensitive URLs have been exchanged over the years. It wouldn&#39;t be a far fetched thought for someone to have constructed a, say OAuth 2.0-esque URL which, when requested, would result in the deletion of a resource, as an example to a colleague. Many web servers do not distinguish between &lt;code&gt;HEAD&lt;/code&gt; and &lt;code&gt;GET&lt;/code&gt; or even &lt;code&gt;POST&lt;/code&gt; requests, so, Microsoft&#39;s behaviour alone may actually wreck havoc. And I&#39;m pretty sure, that this is even a way too complicated example of how this could be abused, especially considering how arbitrary tokens are thrown around these days. I know that you &lt;em&gt;should&lt;/em&gt; always do things perfectly and securely, but, as the world has proven &lt;a href=&#34;http://bruun.co/2012/06/07/time-to-panic&#34;&gt;time and time again&lt;/a&gt;, no one ever does. Microsoft, of all people‚ should know this, which makes their actions even more apmazing and disgusting at the same time.&lt;/p&gt;
&lt;p&gt;We all feared that Microsoft taking over Skype would have dire consequences. Yet, despite ever decreasing service quality, I&#39;ve so far continued to use Skype, in the hopes that it was &#34;just&#34; pure neglect &amp;mdash; something that is at times fixed with declining user numbers scaring executives into picking up the ball. But, as Microsoft has now proven, and has been pointed out by numerous rights movements in an &lt;a href=&#34;http://www.skypeopenletter.com/&#34;&gt;open letter to Skype&lt;/a&gt;, our worst fears have become reality. Microsoft have absolutely no good intentions, or at least none which are backed by morals, and so they have now effectively ruined Skype.&lt;/p&gt;
&lt;p&gt;My time as a Skype user is coming to a grinding halt as soon as I find a completely end-to-end encrypted alternative &amp;mdash; and, for your own sake, I seriously hope that you consider going down the same path.&lt;/p&gt;</description>
            <pubDate>May 20, 2013 16:48:03</pubDate>
            <link>http://bruun.co/2013/05/20/and-so-microsoft-ruins-skype</link>
            <guid>http://bruun.co/2013/05/20/and-so-microsoft-ruins-skype</guid>
        </item>
        
        
        <item>
            <title>→ Performance as design</title>
            <description>&lt;p&gt;&lt;a href=&#34;http://bradfrostweb.com/&#34;&gt;Brad Frost&lt;/a&gt; has written an extremely interesting post on &lt;a href=&#34;http://bradfrostweb.com/blog/post/performance-as-design/&#34;&gt;&#34;performance as design&#34;&lt;/a&gt;. While his post is limited in scope to frontend web development, he makes a point that I feel applies to development across the board:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The road towards better performance doesn’t start with developers or technology stacks (though I’m certainly not suggesting those things are unimportant). It begins with a shared interest on everyone’s part in making a product that’s lightning fast.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The current trend in web development is to build something as quickly as possible without giving much attention to performance in any shape or form. Once things start to slow down, you fumble and replace bits and pieces until it&#39;s all fast and stable again &amp;mdash; hence the stupid startup metaphors of building a plane in free fall or whatever. Twitter is the perfect example of this with their years of Fail Whales as they approached stability which used absolutely &lt;em&gt;none&lt;/em&gt; of those hot, trendy technologies they started out with. But, even with lessons like Twitter, the trend persists. Anyone who dares go against it by having performance considerations during the initial design process are often shamed for being &#34;premature optimisers&#34; and told to go figure out their product before they even consider making it fast.&lt;/p&gt;
&lt;p&gt;The thing is, though, as Brad Frost so brilliantly points out, performance is integral to a product and thus also its design. As design is to quite an extent a reflection of the culture that created it, performance thinking is by proxy integral to a culture that creates a great product. The &#34;lean&#34; club of non-optimizers are ruining product design by culturally neglecting one of the single most important user experience aspects of all; speed. Don&#39;t agree? Think about the last time you actually saw &#34;fast as an afterthought&#34; working in practise before you pull the &#34;premature!&#34; card next time.&lt;/p&gt;</description>
            <pubDate>Apr 30, 2013 13:32:05</pubDate>
            <link>http://bradfrostweb.com/blog/post/performance-as-design/</link>
            <guid isPermaLink="false">http://bruun.co/2013/04/30/performance-as-design</guid>
        </item>
        
        
        <item>
            <title>→ On the hypocritical nature of self-entitled entrepreneurship</title>
            <description>&lt;p&gt;I&#39;ve often expressed how deeply I am repulsed by the kind of people with a personal mission statement like the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“I want my idea to become a reality, change the world for the better, and get rich in the process”.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We all know them, and if you&#39;ve attended startup events for the last couple of years, you&#39;ll have seen an ever increasing number of them storming around the room &#34;networking&#34; and gathering business cards, only to give you that magically exclusionary look of disgust when you make it clear that you do not use business cards because the world has moved on. But, for so long, I&#39;ve been unable to pin point exactly what it is about these people, that I repulses me so much, beyond their mere attitude.&lt;/p&gt;
&lt;p&gt;The aliased vigilante, &lt;a href=&#34;http://software-gunslinger.tumblr.com/&#34;&gt;Software Gunslinger&lt;/a&gt; has once and for all solved this in his provocatively titled blog post, &lt;a href=&#34;http://software-gunslinger.tumblr.com/post/48791703950/on-the-hypocritical-nature-of-self-entitled&#34;&gt;&#34;On the hypocritical nature of self-entitled entrepreneurship&#34;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Then, lastly, &lt;strong&gt;you want to get rich in the process&lt;/strong&gt;. The shorter the process, the better. Explain to me again how a new rich person is going to make the world a better place. No, seriously. Disparities in wealth distribution are one of the main reasons because the world is in such an horrendous state. Isn’t your argument &lt;strong&gt;self-negatingly hypocritical&lt;/strong&gt;?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The bottom line is simple. This kind of people are trying to hide their goal &amp;mdash; getting rich, preferably fast &amp;mdash; behind what they think, people want to hear. The end result is an inevitable disparity in statements and opinions, and all of this stinks to high heaven of dishonesty. Hence the repulsion.&lt;/p&gt;</description>
            <pubDate>Apr 29, 2013 16:27:58</pubDate>
            <link>http://software-gunslinger.tumblr.com/post/48791703950/on-the-hypocritical-nature-of-self-entitled</link>
            <guid isPermaLink="false">http://bruun.co/2013/04/29/on-the-hypocritical-nature-of-self-entitled-entrepreneurship</guid>
        </item>
        
        
        <item>
            <title>→ Retroactive taxes or asset seizure</title>
            <description>&lt;p&gt;&lt;a href=&#34;https://twitter.com/bgoldberg&#34;&gt;Bryan Goldberg&lt;/a&gt; gives a pretty thought provoking perspective on the recent &lt;a href=&#34;http://www.businessinsider.com/california-entrepreneurs-retroactive-tax-2013-1&#34;&gt;retroactive retraction of the tax deduction on sale of &#34;Qualified Small Business&#34; stock in California going all the way back to 2008&lt;/a&gt; in &lt;a href=&#34;http://pandodaily.com/2013/03/25/because-of-asset-seizures-i-am-starting-my-new-company-outside-california/&#34;&gt;his recent article on PandoDaily&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While the law stipulates that I must surrender this money, I refuse to acknowledge this as a tax at all. This is not a tax. This is an asset seizure plain and simple. The term “retroactive tax” is a despicable euphemism. It is no different than when Hugo Chavez used the benign-sounding “nationalize” to describe his seizure of private property in Venezuela.&lt;/p&gt;
&lt;/blockquote&gt;</description>
            <pubDate>Mar 26, 2013 20:20:27</pubDate>
            <link>http://pandodaily.com/2013/03/25/because-of-asset-seizures-i-am-starting-my-new-company-outside-california/</link>
            <guid isPermaLink="false">http://bruun.co/2013/03/26/retroactive-taxes-or-asset-seizure</guid>
        </item>
        
        
        <item>
            <title>Breathtaking</title>
            <description>&lt;p&gt;Icy, snow covered Stockholm in early spring is nothing short of breathtaking. I do not think I&#39;ve ever seen so much style, beauty and elegance in one place. I&#39;m sad to admit it, but Sweden has outdone us Danes with this one:&lt;/p&gt;
&lt;div style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;http://www.flickr.com/photos/bruunco/sets/72157633079216163/with/8586695515/&#34; title=&#34;Misty Spring&#34; style=&#34;text-align: center; border: none;&#34;&gt;&lt;img src=&#34;/static/images/156/misty_spring.jpg&#34; width=&#34;333&#34; height=&#34;500&#34; alt=&#34;Misty Spring&#34; title=&#34;Misty Spring&#34; /&gt;&lt;/a&gt;&lt;/div&gt;</description>
            <pubDate>Mar 25, 2013 00:03:43</pubDate>
            <link>http://bruun.co/2013/03/24/breathtaking</link>
            <guid>http://bruun.co/2013/03/24/breathtaking</guid>
        </item>
        
        
        <item>
            <title>Why events are a bad idea</title>
            <description>&lt;p&gt;With event based systems being all the rage at the moment, Rob von Behren, Jeremy Condit and Eric Brewer&#39;s 2003 paper &lt;a href=&#34;http://www.stanford.edu/class/cs240/readings/vonbehren.pdf&#34;&gt;&#34;Why Events Are A Bad Idea (for high-concurrency servers)&#34;&lt;/a&gt; offers an interesting perspective to the discussion of threaded versus evented systems by showing almost unbelievable results using a more light weight and optimized threading library:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Although event systems have been used to obtain good performance in high concurrency systems, we have shown that similar or even higher performance can be achieved with threads. Moreover, the simpler programming model and wealth of compiler analyses that threaded systems afford gives threads an important advantage over events when writing highly concurrent servers. In the future, we advocate tight integration between the compiler and the thread system, which will result in a programming model that offers a clean and simple interface to the programmer while achieving superior performance.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Personally, I often prefer a call/return execution pattern over a callback driven pattern, as it seems to fit a lot of common computing problems for which shoehorning a callback patterns adds unnecessary overhead and indirection &amp;mdash; from a development perspective, if nothing else. Sadly, though, in the ten years since the paper was published, we don&#39;t seem to have gotten even a tiny bit closer to the recommendation made by von Behren and his team. In fact, Node.js, Go etc. seem to instead push even further in the direction of events &amp;mdash; presumably because application level abstractions offering cheap wins are so much simpler that the added pain is far outweighed by the complexity of taking the approach presented in the paper. Maybe now is as good a time as any to start learning kernel programming.&lt;/p&gt;</description>
            <pubDate>Mar 20, 2013 14:55:54</pubDate>
            <link>http://bruun.co/2013/03/20/why-events-are-a-bad-idea</link>
            <guid>http://bruun.co/2013/03/20/why-events-are-a-bad-idea</guid>
        </item>
        
        
        <item>
            <title>→ Proprietary monocultures</title>
            <description>&lt;p&gt;&lt;a href=&#34;http://www.marco.org/2013/03/19/free-works&#34;&gt;Simply brilliant piece&lt;/a&gt; by &lt;a href=&#34;http://www.marco.org/&#34;&gt;Marco Arment&lt;/a&gt; on the dangers of the proprietary monocultures as well as the root of said monocultures, sparked by the recent shut down of Google Reader and the walling of the API gardens of large services like Twitter, Netflix etc.:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you try to play by the traditional rules and regulations, you run the risk of getting steamrolled by someone who’s perfectly willing to ignore them. Usually, that’s the biggest potential failure of the tech world’s crazy economy, which sucks for you but doesn’t matter much to everyone else. But sometimes, just like unregulated capitalism, it fails in ways that suck for everyone.&lt;/p&gt;
&lt;/blockquote&gt;</description>
            <pubDate>Mar 20, 2013 13:43:16</pubDate>
            <link>http://www.marco.org/2013/03/19/free-works</link>
            <guid isPermaLink="false">http://bruun.co/2013/03/20/proprietary-monocultures</guid>
        </item>
        
        
        <item>
            <title>→ Time machine to the rescue</title>
            <description>&lt;p&gt;Sometimes the most exciting news of developments come from as odd a place as the Plan 9 message board. Well, given Plan 9&#39;s nature, it&#39;s not really that odd in this case. But, what&#39;s odd is that for something this exciting, virtually the only non-legalese information about IBM&#39;s new &#34;multi-pipe&#34; patent available is on that same message board. A multi-pipe is, &lt;a href=&#34;http://9fans.net/archive/2013/03/173&#34;&gt;as Ben Kidwell explains it&lt;/a&gt;, essentially every Big Data kid&#39;s wet dream; a UNIX pipe like system with an arbitrary number of senders and receivers supporting constructs like fan-in and -out in networked systems as well as arbitrarily complex chaining structures. The origin is unsurprisingly the IBM Blue Gene project, which makes plentiful use of Plan 9&#39;s transparent networking constructs:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Blue Gene team wrote about multipipes: &#34;The result dramatically simplified the architecture and improved overall system performance.  It became clear that multipipes were a useful primitive for the construction of applications and other system services.&#34;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While this innovation, which beyond the complicated patent filing is briefly described in the &lt;a href=&#34;http://domino.watson.ibm.com/library/CyberDig.nsf/papers/87DBC7EEDC294F848525797C00513E4E/$File/rc25241.pdf&#34;&gt;2011 final report on HARE&lt;/a&gt; and the &lt;a href=&#34;http://www.slideshare.net/ericvh/multipipes&#34;&gt;OSDI 2010 poster&lt;/a&gt;, is pretty impressive, &lt;a href=&#34;http://9fans.net/archive/2013/03/173&#34;&gt;the sense of humor that Kidwell brings to the table&lt;/a&gt; in an attempt to circumvent the legal implications of copying a patented technology by far surpasses it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Anyway, I thought the world deserved to have a non-patent encumbered version of Multi-pipes that could deliver very similar functionality, but not conflict with IBM&#39;s Patented Invention.  So, I used /dev/timemachine to send some software back in time to 2009, before I could see any trace of IBM Multi-pipes.  I sent the Iosrv and Hubfs software back to the sources server between 7/01/09 and 8/01/09 (you can check the dump) so in this way I thought I could avoid any potential issues with IBM&#39;s legal team.&lt;/p&gt;
&lt;/blockquote&gt;</description>
            <pubDate>Mar 19, 2013 11:47:16</pubDate>
            <link>http://9fans.net/archive/2013/03/173</link>
            <guid isPermaLink="false">http://bruun.co/2013/03/19/time-machine-to-the-rescue</guid>
        </item>
        
        
        <item>
            <title>Who owns flat?</title>
            <description>&lt;p&gt;I&#39;ll be honest; I&#39;m by no means a fan of the Metro/Windows 8/flat style UI. Yesterday, I was horrified to learn that everyone&#39;s favorite super-generic frontend framework, &lt;a href=&#34;http://getbootstrap.com/&#34;&gt;Bootstrap&lt;/a&gt;, is going flat as well &amp;mdash; at least if we are to trust their &lt;a href=&#34;http://rc.getbootstrap.com/components/&#34;&gt;release candidate&lt;/a&gt;. Looking through &lt;a href=&#34;http://dribbble.com/&#34;&gt;Dribbble&lt;/a&gt; it&#39;s pretty clear that this is starting to become a trend, possibly as an extreme response to the skeuomorphism that has ruled the design world for a couple of years. With Microsoft clearly being one of the largest driver of this trend, I also kind of assumed them to be the primary source.&lt;/p&gt;
&lt;p&gt;As it turns out, though, I may have been wrong. At least if my understanding of &lt;a href=&#34;https://layervault.com/&#34;&gt;LayerVault&lt;/a&gt;&#39;s &lt;a href=&#34;https://github.com/github/dmca/commit/735e17614cca63102b8414ed2846c3effbfe9535&#34;&gt;DMCA takedown notice to Github&lt;/a&gt;, stating that they own the rights to the elements of &lt;a href=&#34;http://designmodo.com/&#34;&gt;designmodo&lt;/a&gt;&#39;s open source &lt;a href=&#34;http://designmodo.github.com/Flat-UI/&#34;&gt;Flat UI&lt;/a&gt; framework, is not completely mistaken:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pursuant to 17 USC 512(c)(3)(A), this communication serves as a statement that:&lt;/p&gt;
&lt;p&gt;I am the exclusive rights holder for the artwork contained within Flat UI, Free Web User Interface Kit; These exclusive rights are being violated by material available upon your site at the following URL:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I of course don&#39;t know the whole story, but looking at the stylesheets of LayerVault and Flat UI, I&#39;m unable to find any direct correlation. A representative from designmodo also claims that they have no professional relations with LayerVault. So, is LayerVault really claiming ownership of the &lt;em&gt;style&lt;/em&gt;? In that case, I&#39;d love to see the takedown notice they sent Microsoft, Vine &lt;em&gt;et al&lt;/em&gt;, not to mention the fact that any future Bootstrap user will be but a DCMA notice away from having to find themselves a new framework.&lt;/p&gt;
&lt;p&gt;I sincerely hope that someone stole something here. If not, this is beyond laughable.&lt;/p&gt;</description>
            <pubDate>Mar 06, 2013 17:40:26</pubDate>
            <link>http://bruun.co/2013/03/06/who-owns-flat</link>
            <guid>http://bruun.co/2013/03/06/who-owns-flat</guid>
        </item>
        
        
        <item>
            <title>→ Highly Available Transactions</title>
            <description>&lt;p&gt;With the CAP theorem dominating distributed systems design thinking, one particular characteristics has for the last couple of decades been written off completely in real time systems; transactions, particularly &lt;a href=&#34;http://en.wikipedia.org/wiki/ACID&#34;&gt;ACID&lt;/a&gt; transactions. However, a research group at UC Berkeley seems to have &lt;a href=&#34;http://arxiv.org/pdf/1302.0309.pdf&#34;&gt;closed this theoretical gap&lt;/a&gt; through a somewhat more classy sounding theorem: the HAT theorem &amp;mdash; with &lt;em&gt;HAT&lt;/em&gt; referring to &lt;em&gt;Highly Available Transactions&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Co-author on the research paper, &lt;a href=&#34;http://www.bailis.org/&#34;&gt;Peter Bailis&lt;/a&gt;, gives a &lt;a href=&#34;http://www.bailis.org/blog/hat-not-cap-introducing-highly-available-transactions/&#34;&gt;great introduction to the problem and their work&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In recent research at UC Berkeley, we show that high availability and transactions are not mutually exclusive: it is possible to match the semantics provided by many of today’s “ACID” and “NewSQL” databases without sacrificing high availability. While these Highly Available Transactions (HATs) do not provide serializability—which is not highly available under arbitrary read/write transactions—as I blogged about last week, many ACID databases provide a weaker form of isolation. The problem is that these databases do not implement their guarantees using highly available algorithms.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I can&#39;t wait to see what kind of implications this will have for the development of vastly distributed systems like &lt;a href=&#34;http://bruun.co/2012/09/17/google-s-spanner&#34;&gt;Google&#39;s Spanner&lt;/a&gt; for us mere mortals.&lt;/p&gt;</description>
            <pubDate>Mar 05, 2013 16:39:17</pubDate>
            <link>http://www.bailis.org/blog/hat-not-cap-introducing-highly-available-transactions/</link>
            <guid isPermaLink="false">http://bruun.co/2013/03/05/highly-available-transactions</guid>
        </item>
        
    </channel>
</rss>