<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>la vista del loco</description><title>dirk haage</title><generator>Tumblr (3.0; @e110c0)</generator><link>http://dirk.haage.info/</link><item><title>How to get rid of Mobile Safari's chrome </title><description>&lt;p&gt;If you ever want a website to act as a chrome-less web app, just add these two lines to your html header:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;meta name="apple-mobile-web-app-capable" content="yes" /&amp;gt;
&amp;lt;meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The second line can be used to make the status bar translucent. If you don&amp;#8217;t want this, change it to &amp;#8220;black&amp;#8221; or use only the first line.&lt;/p&gt;

&lt;p&gt;Found this one &lt;a href="http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;</description><link>http://dirk.haage.info/post/24005173913</link><guid>http://dirk.haage.info/post/24005173913</guid><pubDate>Tue, 29 May 2012 19:49:08 +0200</pubDate><category>mobile safari</category><category>html</category><category>web</category><category>web development</category></item><item><title>"… and most people don’t need cameras in their iPad."</title><description>“… and most people don’t need cameras in their iPad.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p&gt;&lt;a href="http://www.marco.org/2012/03/06/disappointing-ipad-3" target="_blank"&gt;“Disappointing” iPad 3 speculation&lt;/a&gt; by &lt;a href="https://twitter.com/marcoarment" target="_blank"&gt;Marco Arment&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br/&gt;
Not to forget: the features added with the iPad2 were the disappointing things in the original iPad: Why are there no cameras? It’s too thick and too heavy! The cover makes it ugly!&lt;/p&gt;

&lt;p&gt;I’m curious which features that were “missing” before will now be disappointing - in the opinion of tech commentors.&lt;/p&gt;

&lt;p&gt;PS: And regarding hardware specs: &lt;a href="http://spaceport.io/spaceport_perfmarks_report_2012_3.pdf" target="_blank"&gt;Spaceport PerfMarks Report  March 2012&lt;/a&gt; - Anyone starting with “but my Android device has {more cores,more ram,better gpu}: Your argument is invalid.&lt;/p&gt;&lt;/em&gt;</description><link>http://dirk.haage.info/post/18895598551</link><guid>http://dirk.haage.info/post/18895598551</guid><pubDate>Wed, 07 Mar 2012 10:06:00 +0100</pubDate><category>apple</category><category>android</category><category>ipad</category><category>rumors</category><category>commentary</category></item><item><title>MacFUSE and big cats</title><description>&lt;p&gt;If you ever try running &lt;a href="http://macfusionapp.org/" target="_blank"&gt;MacFusion&lt;/a&gt; on OSX Lion, you may go insane about nothing is working even if you install the newest versions you can find. The current MacFuse versions are just 32bit and won&amp;#8217;t run under Lion. To spare you the search, here is the simple solution:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Install the latest MacFuse &lt;a href="http://www.tuxera.com/mac/macfuse-core-10.5-2.1.9.dmg" target="_blank"&gt;experimental version&lt;/a&gt; from Tuxera.&lt;/li&gt;
&lt;li&gt;You may also want to install the 64 bit version of the &lt;a href="http://content.wuala.com/contents/grahamperrin/public/2010/07/31/a/MacFUSE.prefPane-2.0-64-bit-2009-09-10.zip?dl=1" target="_blank"&gt;MacFUSE PrefPane&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;et voilà, it works!&lt;/p&gt;</description><link>http://dirk.haage.info/post/18847744556</link><guid>http://dirk.haage.info/post/18847744556</guid><pubDate>Tue, 06 Mar 2012 16:02:44 +0100</pubDate><category>OSX</category><category>Lion</category><category>Howto</category><category>Apple</category></item><item><title>Broken rounded borders for images (and how to fix it)</title><description>&lt;p&gt;If you want to have both rounded corners and a border around images, you run into some problems with HTML and CSS. The way all browsers render rounded corners for images is broken. Instead of really painting rounded borders (as the &lt;code&gt;border-radius&lt;/code&gt; style suggests), they render it the other way around:
1. paint the border around the image
2. make the corners round&lt;/p&gt;

&lt;p&gt;The result is what you see in the first row of the picture below: There are no borders around the rounded corners.
&lt;img src="http://dl.dropbox.com/u/10302675/web/dhi/blog/20120229_brokenimagebordersexample.png" alt="broken rounded borders examples" title="broken rounded borders examples"/&gt;&lt;/p&gt;

&lt;p&gt;The first idea I tried to circumvent this was to wrap a div around the image and let this provide the rounded borders. As you can see, same problem, even with overflow set to hidden.&lt;/p&gt;

&lt;p&gt;By the way, there is a little trick in here to create a autosizing div:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;display: table;
width: 1px;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;gives you a div perfectly fitting the its content without the need to know any dimensions.&lt;/p&gt;

&lt;p&gt;Back to the problem at hand. The only way to work around this bug and to get nice borders around the rounded corners, is to use the image as a background for a div with rounded corners. The drawback is that you have to know the image dimensions to correctly size the div.&lt;/p&gt;

&lt;p&gt;You can see the example I used for the image above &lt;a href="http://dl.dropbox.com/u/10302675/web/dhi/blog/20120229_border-test.html" target="_blank"&gt;here&lt;/a&gt;. Or look at the (slightly cleaned) code:&lt;/p&gt;

&lt;script src="https://gist.github.com/1940607.js"&gt; &lt;/script&gt;&lt;p&gt;&lt;a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"&gt;Original Picture under CC &lt;/a&gt; by &lt;a href="http://www.flickr.com/photos/powi/" target="_blank"&gt;Per Ola Wiberg ~ Powi&lt;/a&gt;&lt;/p&gt;</description><link>http://dirk.haage.info/post/18493632276</link><guid>http://dirk.haage.info/post/18493632276</guid><pubDate>Wed, 29 Feb 2012 15:04:00 +0100</pubDate><category>html</category><category>css</category><category>howto</category></item><item><title>Free WiFi at Starbucks and your MacBook</title><description>&lt;p&gt;Ever tried to use the WiFi at Starbucks with your MacBook and it didn&amp;#8217;t work? You get your IP, but afterwards no login screen, no connection to any server, only time outs? Here is how I fixed this annoying problem for me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don&amp;#8217;t set a DHCP name for your MacBook!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have set one once, just delete the entry in&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SystemPreferences - Network - Advanced - TCP/IP (cf. screenshot)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and it will work.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://dl.dropbox.com/u/10302675/web/dhi/blog/20120227dhcp.png" alt="Configuration Screen" title="Configuration Screen"/&gt;&lt;/p&gt;

&lt;p&gt;As soon as you set one, the login mechanism seems to be confused. You can still make it work, if you manually visit the &lt;a href="https://www.btopenzone.com:8443/" target="_blank"&gt;login page&lt;/a&gt;, but it takes a much longer time and doesn&amp;#8217;t work reliable.&lt;/p&gt;</description><link>http://dirk.haage.info/post/18382820133</link><guid>http://dirk.haage.info/post/18382820133</guid><pubDate>Mon, 27 Feb 2012 17:39:03 +0100</pubDate><category>apple</category><category>wifi</category><category>coffee</category><category>dhcp</category></item><item><title>We have to prevent ACTA to keep the Internet running!
Learn...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/9LEhf7pP3Pw?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;We have to prevent ACTA to keep the Internet running!
Learn about ACTA - above the German version or &lt;a href="http://www.youtube.com/watch?v=FOOhccwY74Y" target="_blank"&gt;the English original&lt;/a&gt;.&lt;/p&gt;</description><link>http://dirk.haage.info/post/17121178205</link><guid>http://dirk.haage.info/post/17121178205</guid><pubDate>Mon, 06 Feb 2012 00:20:00 +0100</pubDate><category>acta</category><category>free speech</category><category>internet</category><category>law</category></item><item><title>Against ACTA</title><description>&lt;a href="http://www.avaaz.org/de/eu_save_the_internet_spread/?rc=tumblr"&gt;Against ACTA&lt;/a&gt;: &lt;p&gt;&lt;a href="http://tumbling.sideshowcoder.com/post/16784789209/against-acta" class="tumblr_blog" target="_blank"&gt;sideshowcoder-tumbling&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://avaaz_images.s3.amazonaws.com/2050_STOP-ACTA1_1_460x230.png" alt="ACTA%3A%20Die%20neue%20Gefahr%20f%C3%BCrs%20Netz"/&gt;&lt;br/&gt;&lt;b&gt;Ein neues globales Abkommen, ACTA, könnte Konzernen erlauben, alles, was wir im Internet tun, zu überwachen.&lt;/b&gt; Letzte Woche drängten wir erfolgreich die Zensurgesetze in den USA zurück - &lt;b&gt;wenn wir jetzt handeln können wir das EU-Parlament dazu bringen, diese Gefahr zu begraben&lt;/b&gt; - mach mit!&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://dirk.haage.info/post/16788867767</link><guid>http://dirk.haage.info/post/16788867767</guid><pubDate>Tue, 31 Jan 2012 01:30:00 +0100</pubDate><category>acta</category><category>law</category><category>freedom</category><category>Internet</category></item><item><title>Daten sollen auch receycled werden (Taken with Instagram at...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lyeys803jO1qdc9ixo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Daten sollen auch receycled werden (Taken with &lt;a href="http://instagr.am" target="_blank"&gt;Instagram&lt;/a&gt; at Deutsche Bank)&lt;/p&gt;</description><link>http://dirk.haage.info/post/16524530498</link><guid>http://dirk.haage.info/post/16524530498</guid><pubDate>Thu, 26 Jan 2012 17:21:44 +0100</pubDate></item><item><title>Finally: Coffee at home! (Taken with Instagram at el...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lxy6i0pHzp1qdc9ixo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Finally: Coffee at home! (Taken with &lt;a href="http://instagr.am" target="_blank"&gt;Instagram&lt;/a&gt; at el loco’s home)&lt;/p&gt;</description><link>http://dirk.haage.info/post/16007408994</link><guid>http://dirk.haage.info/post/16007408994</guid><pubDate>Tue, 17 Jan 2012 15:49:11 +0100</pubDate></item><item><title>sideshowcoder-tumbling:

Perfect work / code music … “Prodigy -...</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/-91xG7scrDs?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://tumbling.sideshowcoder.com/post/11139528241" class="tumblr_blog" target="_blank"&gt;sideshowcoder-tumbling&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Perfect work / code music … “Prodigy - Thunder”&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://dirk.haage.info/post/11140762317</link><guid>http://dirk.haage.info/post/11140762317</guid><pubDate>Fri, 07 Oct 2011 16:43:22 +0200</pubDate><category>music</category><category>work</category></item><item><title>Dear PC-Makers, you are doing it wrong! </title><description>&lt;p&gt;Since HP told the world that they are leaving the PC market and the mobile market as well, I&amp;#8217;ve come across lots of articles about why this is a good or a bad choice, or why apple is to blame. Lots of these articles also try to analyze what&amp;#8217;s the problem with the PC market.
In the blog post &lt;a href="http://gerger.co/yalimslodge/2011/08/19/free-advice-to-the-remaining-pc-makers/" target="_blank"&gt;&amp;#8220;free advice to the remaining PC makers&amp;#8221;&lt;/a&gt; from Yalim Gerger, I came across one statement that I am repeating for a long time now, every time a discussion hits the topic of why apple is doing so well while all the others suffer losses after losses:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Spend five minutes on Dell web site and attempt to buy a laptop and then compare the experience to the one on the Apple Online Store.&amp;#8221;&lt;/p&gt;

&lt;p&gt;But what I missed in Yalims post was the conclusion of this statement. He is right with all that is wrong with the products, but I think that the problem starts a lot earlier: When the customer decides to buy a product.&lt;/p&gt;

&lt;p&gt;If you really visit the websites of the big PC makers like Dell, Asus, Lenovo or Acer, you are lost the moment you hit the landing page. Let&amp;#8217;s take Acer for example: It starts all with four different - mobile - device classes: notebooks, netbooks, chromebooks, and tablets. So far so good, let&amp;#8217;s choose notebooks, because we want a machine to work with. Now starts the odyssey, with six different notebook lines. Six! And for me as a technology-affine person there is absolutely no way to distinguish between them. Sure, they have nice names, they look slightly different (as far as I can see that from these little pictures), but what is the difference? Additionally, some of the names are mostly similar, what the hell is the difference between an Aspire TimelineX, a NEW Aspire TimelineX or a Travelmate TimelineX? Do they really expect me to check out six different lines and find out myself what the differences are? And don&amp;#8217;t tell me now I can find a comparison matrix somewhere on this website! Maybe I can, but should I really have to search for it? No, it should be presented to me in some simple, easy to find way.&lt;/p&gt;

&lt;p&gt;Now let&amp;#8217;s just choose one out of the six notebook lines, because I&amp;#8217;m undecided, I just pick the first: Aspire. What happens next is just hilarious: I get an overview of this line and I can choose to see all laptops of this line. It&amp;#8217;s 93. Ninety-three different models, all with strange random number-letter naming I neither can distinguish nor remember in any way. Even if I need only 1 minute to check out each product, I will be looking at this for more than 1.5 hours. By that time, the macbook would already be on its way to my home. And I can assure you, after about ten laptops I reviewed, I will start to mix up all kind of things between the different products.&lt;/p&gt;

&lt;p&gt;At least Acer offers me a chance to reduce the number of choices a little, but only for this product line. I can not e.g. show all Acer laptops with a 13&amp;#8221; screen. Luckily, the other notebook lines are a lot smaller, but in the end I still end up with more than a hundred notebooks with cryptic names and no easy way to decide which one fits best for me.&lt;/p&gt;

&lt;p&gt;The websites of the other PC makers look similar, Lenovo is doing a little better with a short description for each product line, but still, too many products with too little differences. Choices are good, but with too many of them, people tend to stuck in the process of choosing and end up with choosing nothing.&lt;/p&gt;

&lt;p&gt;So here is what I think the PC makers should do:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Streamline the product portfolio, instead of offering hundreds of products make it tens. Make the different choices more distinguishable. If the only difference between two products is the size of the hard drive, make it one product, etc. By doing so, a customer is able to oversee the choices he has, instead of being lost in them.
Furthermore, a smaller portfolio allows to optimize production and puchase of parts, allowing a reduction in cost.&lt;/li&gt;
&lt;li&gt;Work on the usability of the website. Yes, a website needs usability. It can not be handled like an last century advertising supplement printed on dead tree and put into the local newspaper. All the concepts of a good UI design work with websites, too. Use them to make the portfolio more accessible. &lt;/li&gt;
&lt;li&gt;Reduce the time a customer has to be on the website. Even if this sounds counterproductive and everybody tries to keep people on their website as long a possible, this is wrong with people trying to decide what product to buy. The longer a customer has to search for the right product, the lesser the chance he is actually buying something.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Apple has done all of the above, and they have driven it as far as possible. With only five different laptops in two product lines I see that this is not feasible for every company out there, and it doesn&amp;#8217;t have to. Apple is still only offering products for the high end market and ignoring the low-budget market. But instead of flooding this market with a myriad of different but indistinguishable and crappy products instead of a few good ones has obviously proven to be the wrong way.&lt;/p&gt;</description><link>http://dirk.haage.info/post/9250789703</link><guid>http://dirk.haage.info/post/9250789703</guid><pubDate>Mon, 22 Aug 2011 16:00:05 +0200</pubDate><category>HP</category><category>PC</category><category>Apple</category><category>commentary</category></item><item><title>Query the MaxMind GeoLiteDB fast - and get correct results</title><description>&lt;p&gt;MaxMind provides a &lt;a href="http://www.maxmind.com/app/geolitecity" target="_blank"&gt;free version&lt;/a&gt; of its GeoIP database. They also have a suggestion on how to query this database in a fast way. The problem with this suggestion is, it falsifies the results. While you can resolve IPs to geolocations about 1000 times faster, you won&amp;#8217;t get a result for each and every IP even if it is covered by the database. But let&amp;#8217;s start at the beginning.&lt;/p&gt;

&lt;p&gt;The data you can get from MaxMind is split into two simple CSV files. The first provides the geocoordinates for a location id and the second (and for us the important one) maps IP ranges onto these location ids. As seen in the example below, each row has the first and last IP of the range converted to an integer value and the location id:&lt;/p&gt;

&lt;script src="https://gist.github.com/833624.js"&gt; &lt;/script&gt;&lt;p&gt;If you put this into a table, a simple SQL query will return the location for a given IP:&lt;/p&gt;

&lt;script src="https://gist.github.com/833630.js"&gt; &lt;/script&gt;&lt;p&gt;This example resolves the IP 12.34.56.78 to a geolocation, keep in mind that you have to convert the IP to an integer value, in this case it is 203569230.&lt;/p&gt;

&lt;p&gt;While you will get a result for each IP that is matchable to a geolocation by the maxmind database, this is terribly slow - about one query per second. Even indices won&amp;#8217;t help you much here.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s why there is a nice tip on the &lt;a href="http://www.maxmind.com/app/csv" target="_blank"&gt;maxmind website&lt;/a&gt; how to speed this up. The basic idea is simple: they add another column to the table where they match the last IP of the range to its /16 network with a simple calculation:&lt;/p&gt;

&lt;script src="https://gist.github.com/833642.js"&gt; &lt;/script&gt;&lt;p&gt;This way, you can reduce the number of ranges you have to check by first matching the IP you want to resolve to its /16 network. Instead of checking all rows of the table, you end up with just a handful.&lt;/p&gt;

&lt;script src="https://gist.github.com/833654.js"&gt; &lt;/script&gt;&lt;p&gt;This speeds up the queries about 1000 times, but there  are two issues with this concept:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;they suggest that you use UPDATE to set the values in this extra column. While this is a one-time slow down during the initialization of the database, it is simpler and faster to calculate the value beforehand and insert it together with the rest of the data.&lt;/li&gt;
&lt;li&gt;the mapping masks a lot of IPs, for every range larger than a single /16 network you&amp;#8217;ll loose all IPs that are not in the same /16 network as the last IP of the range. This adds up to over 24.000 networks that are no longer resolvable (or 1.6 billion out of 3.3 billion IPs in the database, about 49%).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Yes, you read correctly: the suggested speedup kills half of the information you got from MaxMind. But the fix for that is simple and does not reduce the speed gain. Instead of mapping a range only to its highest /16 network, it is mapped to each /16 network it covers. You can do this in a very simple way: you calculate the first and the last /16 network with the above mentioned formular and duplicate the row for each network in between.
&lt;script src="https://gist.github.com/833699.js"&gt; &lt;/script&gt;&lt;/p&gt;

&lt;p&gt;You&amp;#8217;ll get about 24.000 additional rows in you database, which is not much compared to the 3.6 million already in there. And you get results for all IPs covered by the database at blazing speed. (My Macbook Air resolves about 1700 per seconds.)&lt;/p&gt;

&lt;p&gt;PS: This post covered only the basic way to do it, don&amp;#8217;t forget to create indices etc. to get a really fast ip2geo resolver.&lt;/p&gt;

&lt;p&gt;PPS: I&amp;#8217;m using the maxmind database for my &lt;a href="git://github.com/e110c0/earthpainter.git" target="_blank"&gt;earthimager&lt;/a&gt; and have a working ruby implementation of the stuff described there. Just take a look at the &lt;a href="https://github.com/e110c0/earthpainter/blob/master/ipmatcher.rb" target="_blank"&gt;ipmatcher.rb&lt;/a&gt;.&lt;/p&gt;</description><link>http://dirk.haage.info/post/3364746450</link><guid>http://dirk.haage.info/post/3364746450</guid><pubDate>Fri, 18 Feb 2011 18:25:02 +0100</pubDate><category>tutorial</category><category>maxmind</category><category>ruby</category><category>geoip</category></item><item><title>scapy on a mac with homebrew</title><description>&lt;p&gt;&lt;a href="http://www.secdev.org/projects/scapy/" target="_blank"&gt;Scapy&lt;/a&gt; is a nice toolset to manipulate packets. It allows you to customize the packets you send and helps decoding most common network protocols. If you want to measure stuff or trying to find out what is going on in the network, it comes in handy. But to run it under Mac OSX, you need some customized installing.&lt;/p&gt;

&lt;p&gt;This tutorial is based on &lt;a href="http://mxcl.github.com/homebrew/" target="_blank"&gt;homebrew&lt;/a&gt;. If you are using MacPorts, you can use the official scapy documentation.&lt;/p&gt;

&lt;p&gt;First of all, we need some low-level libraries, namely libpcap and libdnet. libpcap compiles easily on a Mac, but I prefer to have it install via a formula. I found one &lt;a href="http://codaset.com/joelmoss/homebrew/source/master/blob/1efbfdadab759c69e6b3b63c630e5b831033c094/Library/Formula/libpcap.rb" target="_blank"&gt;here&lt;/a&gt; that is broken for the current MacOSX. The problem is, that cc does not like the generic cflags when compiling the library. This is resolved by forcing new cflags. The following formula works for me:&lt;/p&gt;

&lt;script src="https://gist.github.com/777986.js"&gt; &lt;/script&gt;&lt;p&gt;libdnet is available, but it does not install the python bindings. To do this, I added an additional formula. You could also add the last command to the existing formula instead.&lt;/p&gt;

&lt;script src="https://gist.github.com/778023.js"&gt; &lt;/script&gt;&lt;p&gt;The next to step are fairly simple: download pylibpcap and scapy and install each of them with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
python setup.py install
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now you got scapy with all its beauty. Don&amp;#8217;t forget to run it as root to get the full functionality.&lt;/p&gt;</description><link>http://dirk.haage.info/post/2730459664</link><guid>http://dirk.haage.info/post/2730459664</guid><pubDate>Thu, 13 Jan 2011 18:04:00 +0100</pubDate><category>tutorial</category><category>python</category><category>mac osx</category><category>homebrew</category></item><item><title>things that died in 2010</title><description>&lt;p&gt;Last day of the year, it&amp;#8217;s again the time for retrospects. There are already lots of them out there, talking about how HTML5 kicked Flash&amp;#8217;s ass or about all these nice new apps and gadgets. For myself, it was the year of dying technologies. Never before changed the technological scenery that eclectic in such a short time - at least I can&amp;#8217;t remember it.&lt;/p&gt;

&lt;p&gt;Here are the things, that died for me during the last year:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;harddisks&lt;/strong&gt; - It&amp;#8217;s over, after over 50 years in service, the days of these little magnetic plate are numbered. SSD are just faster, use less energy and finally are affordable. If you ever used a system with SSD, you don&amp;#8217;t want to go back. For me, I won&amp;#8217;t buy any new harddisks for my computers in the next time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;local storage (or at least vast amounts of it)&lt;/strong&gt; - What&amp;#8217;s eating up the most storage on your computer? For me, it&amp;#8217;s videos and music, and not my personal data. With netflix, pandora, hulu and spotify, there are a lot of nice new services offering that on demand. They got more stuff I can ever watch or listen to (or store locally, for that matter) and if we are honest: most of the stuff we don&amp;#8217;t consume - ever, we just have it to satisfy our necessity of being hunter-gatherers. OK, I still got my Drobo, with about 4TB capacity, but nearly 2TB are free (and counting) - more space I can fill up for a long time!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;optical storage&lt;/strong&gt; - That is CDs, DVDs and BlueRay (were there ever others?). CDs actually are dead for a while, for at least six or seven years, all the CDs I bought were played exactly one time: to convert them to MP3. The same is true for DVDs, during the last year, I watched at most a handful of DVDs. Even renting is so much more convenient online. And BlueRay? It&amp;#8217;s dead before it really started. The number of offered titles is still low, prices are high, and you get the same quality online. &lt;br/&gt;My last two private notebooks had no optical drive, and I never missed it. The optical drive in my mac mini is only used to convert CDs (once in a while) and the ones in my work computers are maiden and dusty. The future lies within usb sticks, IMHO for content provisioning, too!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ethernet cable&lt;/strong&gt; - Everybody who knows me, knows that I hate cables. With 802.11n wifi, you don&amp;#8217;t need them anymore. The only cable that is still bothering me is that damn power cable, but I think I won&amp;#8217;t get rid of it very soon.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SMS&lt;/strong&gt; - After years and years of paying too much money for 160 characters, push notification and apps like WhatsApp, networks like twitter and facebook made them superflous. No need to send SMS anymore, only the people without smartphones are rendered unreachable, please upgrade! &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;telephone land lines&lt;/strong&gt; - Local numbers for mobile phones, VoIP, flatrates to all national phone numbers, roaming charges caps - all of this made phone calls  from your mobile cheaper and cheaper over the last years. And finally, you can get your DSL connection without beeing forced to buy a telephone landline. Or you get Internet via cable, powerline, 3G and next year LTE. For what do we need telephone landlines?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;There are some more things, that, if they did not die, are at least in partial retirement: books, local applications, compact cameras. What did I miss? And what will die in 2011? Let&amp;#8217;s see&amp;#8230;&lt;/p&gt;</description><link>http://dirk.haage.info/post/2545249875</link><guid>http://dirk.haage.info/post/2545249875</guid><pubDate>Fri, 31 Dec 2010 21:05:00 +0100</pubDate><category>retrospect</category><category>hardware</category></item><item><title>from scratch</title><description>&lt;p&gt;About six weeks ago, I got my new &lt;a href="http://dirk.haage.info/post/1498110980/my-new-macbook-air" target="_blank"&gt;MacBook Air&lt;/a&gt;. This was the chance to finally get a minimized, uncluttered setup (you know, the thing you try everytime you get a new computer). So I tried to keep track of what I installed and during the last 2 weeks, I didn&amp;#8217;t install anything new, the setup seems to be complete (for now). Even if the final list is quite long, the most used apps can be counted on the fingers of one hand: a browser, an editor, terminals, a mailreader and a messenger - the first three always with a lot of tabs.&lt;/p&gt;

&lt;p&gt;In the end, about 30 items ended up on the list. They can be put in four categories:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;applications&lt;/strong&gt; - the applications you just always need&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;development&lt;/strong&gt; - the stuff I need for programming, testing, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tools&lt;/strong&gt; - all the little tools and helpers that make everyday&amp;#8217;s work just easier&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;gadgets&lt;/strong&gt; - not really important, but nice to have&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;So let&amp;#8217;s get to each of them.&lt;/p&gt;

&lt;h1&gt;applications&lt;/h1&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;1password&lt;/strong&gt; (secure passwords for everything, checkout the dropbox sync function!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adium&lt;/strong&gt; (IM over all the protocols and have one single contact list for all of them)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chrome&lt;/strong&gt; (and some extensions:)

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;instachrome&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;flashblock&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iWork&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NetNewsWire&lt;/strong&gt; (feed you newsfeed hunger)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pixelator&lt;/strong&gt; (simple image manipulation)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sparrow&lt;/strong&gt; (a minimal google mail client)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skype&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VLC&lt;/strong&gt; (plays everything!)&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;development&lt;/h1&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;coda&lt;/strong&gt; (nice web development editor)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;gitbox&lt;/strong&gt; (is there something open out there, still using some old beta)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;homebrew&lt;/strong&gt; (just so much better than MacPorts or anything else!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ios sdk&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MacHG&lt;/strong&gt; (or MacMercurial or Murky, not sure yet)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MacVim&lt;/strong&gt; (or TextMate, also no sure yet)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;xcode&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;lots of browsers:

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;firefox 4&lt;/strong&gt; (beta something)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;firefox 3.6&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;opera 11&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;chrome beta/devel&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;tools&lt;/h1&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;afloat&lt;/strong&gt; (make windows stay ontop or transclucent)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bettertouchtool&lt;/strong&gt; (get all the gesture you can imagine plus a cool way to layout your windows on the screen)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dropbox&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dterm&lt;/strong&gt; (fast shell access)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;jumpcut&lt;/strong&gt; (more clippings you&amp;#8217;ll ever need)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;growl&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MacFusion&lt;/strong&gt; (mount your servers via ssh)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;perian&lt;/strong&gt; (some more video codecs)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;transmit&lt;/strong&gt; (transmit files)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;wuala&lt;/strong&gt; (w/ macfuse) (you could argue that wualas is actually an application, but I for myself never use the GUI, so it just sits there and syncs files for me)&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;gadgets&lt;/h1&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Facebook notifier&lt;/strong&gt; (push updates for the lazy ones)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;foursquareX&lt;/strong&gt; (check in with your laptop)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The applications are just a few, mainly because most of the apps I use are webbased. Maybe I&amp;#8217;ll add a list of these later on. You can find all of the programms easily with your favorite search engine(TM).&lt;/p&gt;</description><link>http://dirk.haage.info/post/2496824164</link><guid>http://dirk.haage.info/post/2496824164</guid><pubDate>Tue, 28 Dec 2010 13:18:04 +0100</pubDate><category>setup</category><category>software</category><category>development</category></item><item><title>reduce to the max</title><description>&lt;p&gt;About a year ago, I started to pack all my belongings in boxes of 40x40x80cm³. It was again time to move, this time from Tübingen to Munich. I always thought I had not that much stuff. I was sure, everything I own would fit into not more than 10 of these boxes.&lt;/p&gt;

&lt;p&gt;After a couple of days of hard work, I was devistated: not less then 28 boxes and a lot of bags.&lt;/p&gt;

&lt;p&gt;After the move was over - and I was glad I didn&amp;#8217;t have to carry everything myself - I decided that this is way to much and that I should reduce it. Why? There are some reasons. First of all, most of the stuff I had I never used for at least 4 years (some even 6 because I left it in Berlin when I went to Spain). These things I took out of the boxes to put them into shelfs just to put them back into the boxes and again out in Munich. So why do I hold on to them? Second, after I put everything in my new flat, the rooms felt chock-full. Third, I know this wasn&amp;#8217;t my last move in my life and continuing to pile up more stuff will make the next move even worse.&lt;/p&gt;

&lt;p&gt;The goal I set for myself was to reach this (not so accurate) estimation: not more than 10 moving boxes.&lt;/p&gt;

&lt;p&gt;So in January I started to muck out and established some rules for myself to keep me on track:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;for each new thing I buy, I have to get rid of two old things first&lt;/li&gt;
&lt;li&gt;at max, 1 big purchase per month&lt;/li&gt;
&lt;li&gt;if something wasn&amp;#8217;t used for more than a year and has no personal meaning, I don&amp;#8217;t need it&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;So far, this reduced my stuff by about 8 boxes, still 10 to go. Hopefully I get there before my next move&amp;#8230;&lt;/p&gt;</description><link>http://dirk.haage.info/post/2340390819</link><guid>http://dirk.haage.info/post/2340390819</guid><pubDate>Thu, 16 Dec 2010 22:58:00 +0100</pubDate><category>minimalism</category></item><item><title>beware of the Jugendmedienschutz-Staatsvertrag</title><description>&lt;p&gt;In Germany, they are just about to release a new law which will force nearly everybody to label their website content for which ages it is suitable and to ensure the content is only accessible for people older than the label. The default label will be &amp;#8220;FSK18&amp;#8221; - only people above the age of 18 are allowed to access.&lt;/p&gt;

&lt;p&gt;This labelling will required a lot of money or time, but there is a simpler way: You can make the content only accessible between 10PM and 6PM. The following shows you how you can achieve this easily.&lt;/p&gt;

&lt;p&gt;Preferably, we only want to censor the website for German visitors. Thanks to the service &lt;a href="http://www.geobytes.com/GeoDirection.htm" target="_blank"&gt;Geobytes&lt;/a&gt;, it is easy to get the origin of the request.&lt;/p&gt;

&lt;p&gt;This small piece of HTML/Javascript code blackens your full page and gives a short notice why this is happening. Just c&amp;amp;p it in the beginning of your html body.&lt;/p&gt;

&lt;script src="https://gist.github.com/721916.js?file=gistfile1.html"&gt;&lt;/script&gt;&lt;p&gt;You also have to add some CSS styling for the two elements:&lt;/p&gt;

&lt;script src="https://gist.github.com/721942.js"&gt; &lt;/script&gt;&lt;p&gt;Feel free to copy and adjust this for your own needs. For more legally checked wording or better links I would be thankful.&lt;/p&gt;

&lt;p&gt;[update 2010-12-15] It seems that, at least for now, the law is not coming into effect. But who knows for what we might need a codesnippet like this in future&lt;/p&gt;</description><link>http://dirk.haage.info/post/1987293110</link><guid>http://dirk.haage.info/post/1987293110</guid><pubDate>Tue, 30 Nov 2010 17:52:00 +0100</pubDate><category>codesnippet</category><category>howto</category><category>jmstv</category><category>politics</category><category>web development</category></item><item><title>a Macbook Air design flaw</title><description>&lt;p&gt;Today I realized a design flaw with the new Macbook Air I haven&amp;#8217;t read about yet. It is, like almost always, one little thing and I expected Apple to be the ones thinking about this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The new Macbook Airs don&amp;#8217;t work well with Apples own Cinema displays&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The nearest thing to a docking station for Macbooks are the Cinema displays. Nowadays they come with a nice tripple connector. You get one cable from the display that allows you to plug in power, display and usb.&lt;/p&gt;

&lt;p&gt;But not for the new Airs, they split the plugs between both sides, a logical decision if you keep in mind the space there is. But they split it in a wrong way. Take a look at the picture, no way of plugging in both - power and display - at the same time.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lbh7gyFi8D1qd5kha.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;And it would have been so simple to circumvent this problem: switch the audio plug (and the microphone if you like) with the mini displayport plug.&lt;/p&gt;

&lt;hr&gt;&lt;h4&gt;[UPDATE]&lt;/h4&gt;

&lt;p&gt;To clearify the questions I got: I tested this at the local Apple store. It is possible to plug in all cables, but you have to bend them very strongly so they will be crippled fast. And it is not easily done. With the Macbook Pro you can do it just with one hand, for the Air you need two and you have to close the lid. Maybe cables that are a little longer would also fix this.&lt;/p&gt;</description><link>http://dirk.haage.info/post/1503950803</link><guid>http://dirk.haage.info/post/1503950803</guid><pubDate>Sun, 07 Nov 2010 07:14:00 +0100</pubDate><category>macbook air</category><category>apple</category><category>usability</category></item><item><title>my new macbook air</title><description>&lt;p&gt;The moment I saw the new macbook air, I knew that this will be my next portable device I buy. Many have written already about it, the first couple of days a lot of blogpost were written about how disappointing the new macbook air is, especially how crappy the hardware is. Here&amp;#8217;s my opinion on some of the complains:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;The new Air is too expensive.&lt;/strong&gt; - Let&amp;#8217;s be realistic about it, the macbook air might not be cheap in a netbook-kind of way, but it is if you compare it to other high-quality laptops. Hell, it&amp;#8217;s cheaper MacBookPro 13&amp;#8221; in a comparable configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Processors are much too old and slow.&lt;/strong&gt; - I&amp;#8217;m not sure what people do while there on the road, but for me, 99.99% of the time, my computers are idling. CPU was never an issues during the last couple of years, memory and I/O is always. And if you want to do real graphical or video work, you need something else than any laptop out there(I do no call 20&amp;#8221; screens and 4-5kg weight a Laptop!).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The memory is too small&lt;/strong&gt; - Ok, point taken. The standard 2GB RAM are a joke. But 4GB work perfectly for me in my daily tasks. Everything besides this, I outsource too the big servers at work or to the cloud anyway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No optical drive and not enough disk space.&lt;/strong&gt; I hardly the optical drive in any of my computers, the last time I needed one was to install iWork, more than a year ago. Let&amp;#8217;s be realistic: optical memory is about to die the same death the floppy disk did. For the space on the SSDs, I just looked at my data (all of it) and while all the project files, documents etc. fit easily in 128GB, all my photos, music, videos wouldn&amp;#8217;t fit on one 2.5&amp;#8221; harddrive, so I can live with 128GB of disk space in my laptop. (And actually there is no disk space at all with an SSD, there is no disk!)&lt;/li&gt;
&lt;/ul&gt;&lt;hr&gt;&lt;p&gt;I needed a couple of days and some testing at the local apple store to decide whether to buy 11&amp;#8221; or 13&amp;#8221;. And the only reason for this was screen estate vs. extreme mobility. I always wished for a high resolution display for the MacBook Pro 13&amp;#8221; and finally there it was. On the other hand, the 11&amp;#8221; version is just more mobile (ok, and cuter, too).&lt;/p&gt;

&lt;p&gt;I finally chose the basic 13&amp;#8221; version with 4GB of RAM. The delivery felt like eternity, but it was quite a journey if believe UPS:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Shanghai, CN&lt;/li&gt;
&lt;li&gt;Incheon, KR&lt;/li&gt;
&lt;li&gt;Almaty, KZ&lt;/li&gt;
&lt;li&gt;Warsaw, PL&lt;/li&gt;
&lt;li&gt;Cologne, DE&lt;/li&gt;
&lt;li&gt;Herne, DE&lt;/li&gt;
&lt;li&gt;Frankfurt, DE&lt;/li&gt;
&lt;li&gt;Nuremberg, DE&lt;/li&gt;
&lt;li&gt;Garching, DE&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;and finally it arrived in Munich - while I was working in Garching. In the end, everything worked out very well: The UPS guy came back at the end of his workday and tried to deliver it a second time, at about 19.30 and successful. That&amp;#8217;s great service!
Instead of waiting yet another day, the unboxing started right away.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lbh37bkEtl1qd5kha.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Now, three days later, I can tell you that it was a good decision to take the 13&amp;#8221; version. The display of the new MacBook Air is great. And the SSD gives you a big performance boost - no more waiting for an application to start. The new keyboard feels a little more direct. And because of its thinness, I don&amp;#8217;t get dents in my wrists when I rest my arms on the table.&lt;/p&gt;

&lt;p&gt;To be honest, I also already discovered some small drawbacks.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Even if I would never thought this would happen, I miss the &lt;strong&gt;illuminated keyboard&lt;/strong&gt;. It&amp;#8217;s just handy and I don&amp;#8217;t know why they removed it. &lt;/li&gt;
&lt;li&gt;The Macbook is too light to easily open it with one hand. It slides over the table or you just lift up. If this is a problem with the 13&amp;#8221; version, I don&amp;#8217;t wanna know how this effects everyday use with the 11&amp;#8221;.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;But other than this, I wouldn&amp;#8217;t want to miss my Air again.&lt;/p&gt;</description><link>http://dirk.haage.info/post/1498110980</link><guid>http://dirk.haage.info/post/1498110980</guid><pubDate>Sat, 06 Nov 2010 19:20:00 +0100</pubDate><category>apple</category><category>macbook air</category><category>gadget</category></item><item><title>code and coffee</title><description>&lt;p&gt;During the summer, I teamed up with a good friend to found a startup and pursue an idea how to change the way we use addressbooks - you might have seen it &lt;a href="http://everdex.us" target="_blank"&gt;here&lt;/a&gt;. Over time we realized: we have more than one idea, and more than one project we like to realize.&lt;/p&gt;

&lt;p&gt;That was the moment we had another work meetup, again at our favorite Starbucks in Munich. What we needed was a new name to house the projects. The brainstorming started and the ingredients were clear: &lt;strong&gt;code and coffee&lt;/strong&gt;, that&amp;#8217;s what our apps are made of.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s too obvious, all the domains around coding, coffee or caffeine must be taken already, after all most coders are coffee-addicts. But no, not at all, there is a more or less green field out there. So we rebranded our small, just a couple of weeks old startup into&lt;/p&gt;

&lt;p&gt;&lt;a href="http://caffeinatedcoders.com" target="_blank"&gt;caffeinated coders&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and started coding, as always high on caffeine!&lt;/p&gt;

&lt;p&gt;Right now, I&amp;#8217;m sitting at our favorite &amp;#8220;office&amp;#8221; coding the frontend of our current, yet nameless project, which will start its life as a beta within the next couple of weeks. Stay tuned!&lt;/p&gt;</description><link>http://dirk.haage.info/post/1498750166</link><guid>http://dirk.haage.info/post/1498750166</guid><pubDate>Sat, 06 Nov 2010 18:31:55 +0100</pubDate><category>startup</category><category>caffeinated coders</category><category>everdex</category></item></channel></rss>

