<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tigraine &#187; Internet</title>
	<atom:link href="http://www.tigraine.at/category/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tigraine.at</link>
	<description>Daniel Hoelbling talks about programming</description>
	<lastBuildDate>Fri, 03 Feb 2012 00:02:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>I&#8217;m getting a new Virus Scanner</title>
		<link>http://www.tigraine.at/2010/09/23/im-getting-a-new-virus-scanner/</link>
		<comments>http://www.tigraine.at/2010/09/23/im-getting-a-new-virus-scanner/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 11:11:46 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2010/09/23/im-getting-a-new-virus-scanner/</guid>
		<description><![CDATA[Just yesterday I was sitting around with some friends and telling them how great Microsoft Security Essentials works for me and how unobtrusive and easy to use this thing is. I’ve been using it for 3 years now on all of my machines and never had any reason to complain. Until yesterday my CPU started [...]]]></description>
			<content:encoded><![CDATA[<p>Just yesterday I was sitting around with some friends and telling them how great Microsoft Security Essentials works for me and how unobtrusive and easy to use this thing is. I’ve been using it for 3 years now on all of my machines and never had any reason to complain.</p>
<p><strong>Until yesterday my CPU started running wild at 100%</strong>.. </p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/Noooooo4.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Noooooo[4]" border="0" alt="Noooooo[4]" src="http://www.tigraine.at/wp-content/uploads/2010/09/Noooooo4_thumb.jpg" width="404" height="275" /></a></p>
<p>I guess I have to consider myself lucky to be running Windows7 so the Trojan never managed to get full access to my system, doing stupid stuff like preventing me to access task manager or shutting me out of my system. That still didn’t prevent it from installing itself in my Registry for launch on System Startup (don’t ask how, as always I suspect I clicked one UAC dialog too many). </p>
<p>Well, here it is:</p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/image11.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2010/09/image_thumb10.png" width="532" height="75" /></a></p>
<p>Obviously this is malicious code that is running when my system starts up. Nothing too malicious since it is not requesting Admin level privileges, but it’s still code that isn’t supposed to run and should be fairly easy to pick up. </p>
<p>Well Security Essentials doesn’t think so:</p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/image12.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2010/09/image_thumb11.png" width="346" height="167" /></a></p>
<p>Even after a deep system scan of 6 hours, Security Essentials still mocks me:</p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/image13.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2010/09/image_thumb12.png" width="525" height="209" /></a></p>
<p>Utterly unacceptable.</p>
<p>I still don’t have a clue how this got on my machine. I usually am pretty immune to stuff like that because I (on occasion) THINK while using my computer, and don’t click dialog boxes away without knowing what they were about. But somehow this thing seems to have made it past my usually pretty accurate instincts.. </p>
<p>Damn, I really liked Security Essentials <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-sadsmile" alt="Sad smile" src="http://www.tigraine.at/wp-content/uploads/2010/09/wlEmoticonsadsmile.png" />And I really really really hate formatting my PC right now.</p>
<p>Update: I think I managed to kill this stupid virus. Since I’m just too lazy at the moment to pave my PC I’ll just keep an eye on this. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2010/09/23/im-getting-a-new-virus-scanner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Readability on the iPhone</title>
		<link>http://www.tigraine.at/2010/09/11/using-readability-on-the-iphone/</link>
		<comments>http://www.tigraine.at/2010/09/11/using-readability-on-the-iphone/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 21:37:00 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2010/09/11/using-readability-on-the-iphone/</guid>
		<description><![CDATA[Disclaimer: This is not a post about programming. No code was harmed during the creation of this blogpost. As you may have guessed from the title, I got myself an iPhone4 some weeks ago and love it ever since. The browser in particular is great, yet sometimes even the best browser can’t change that a [...]]]></description>
			<content:encoded><![CDATA[<p>Disclaimer: This is not a post about programming. No code was harmed during the creation of this blogpost.</p>
<p>As you may have guessed from the title, I got myself an iPhone4 some weeks ago and love it ever since. The browser in particular is great, yet sometimes even the best browser can’t change that a website is badly designed. Too often you can’t make the content out in between all the Google Adwords, the fonts are hideous or it’s a fixed width layout that’s way too wide. </p>
<p>On my PC I just hit the <a href="http://lab.arc90.com/experiments/readability/">Readability</a> bookmarklet and through magic all the ugly stuff goes away and only the content remains. Well, since Readability is just JavaScript you can do the same thing on the iPhone too, it’s just a bit trickier to install.</p>
<p>Here is how a badly readable site looks with Readability (note that it does not remove images that belong to the post!):</p>
<p>Before – After Readability</p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0119.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0119" border="0" alt="IMG_0119" src="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0119_thumb.png" width="320" height="480" /></a><a href="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0121.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0121" border="0" alt="IMG_0121" src="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0121_thumb.png" width="320" height="480" /></a></p>
<p>As you can see, the width of the layout is too wide to be easily readable in portrait orientation. </p>
<p>Step 1: Go to <a href="http://lab.arc90.com/experiments/readability/">http://lab.arc90.com/experiments/readability/</a> on your iPhone</p>
<p>Select all the text from the textbox on the right and copy it:</p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0114.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0114" border="0" alt="IMG_0114" src="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0114_thumb.png" width="320" height="480" /></a></p>
<p>Next, just hit add bookmark on the site and save the Readability site.    <br />Now go into your bookmarks and edit the readability bookmark. </p>
<p>Delete the previous address and paste the code we copied earlier. </p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0117.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 10px 3px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="IMG_0117" border="0" alt="IMG_0117" src="http://www.tigraine.at/wp-content/uploads/2010/09/IMG_0117_thumb.png" width="324" height="484" /></a></p>
<p>Et voila, whenever you want to see a page clearer, just open that bookmark and it will convert any ugly site into a rather pleasant read. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2010/09/11/using-readability-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The dark side strikes again!</title>
		<link>http://www.tigraine.at/2010/04/22/the-dark-side-strikes-again/</link>
		<comments>http://www.tigraine.at/2010/04/22/the-dark-side-strikes-again/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 22:27:16 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2010/04/22/the-dark-side-strikes-again/</guid>
		<description><![CDATA[Oh, Microsoft took it’s sweet time with Visual Studio 2010 and C#4 but now that it’s finally here I had to find out that the Vibrant Ink theme I’ve been using for years now needs an update to match new stuff in the language. Thank god I did a quick search to see if someone [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tigraine.at/wp-content/uploads/2010/04/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2010/04/image_thumb.png" width="443" height="262" /></a></p>
<p>Oh, Microsoft took it’s sweet time with Visual Studio 2010 and C#4 but now that it’s finally here I had to find out that the <a href="http://www.tigraine.at/2008/10/23/come-to-the-dark-side-we-have-cookies/">Vibrant Ink theme I’ve been using</a> for years now needs an update to match new stuff in the language.</p>
<p>Thank god I did a quick search to see if someone already did that, and I stumbled on a pretty cool little website: <a href="http://studiostyles.info/">studiostyles.info</a>     <br />A website dedicated to Visual Studio Themes, apparently written in ASP.NET MVC it allows users to create styles with a pretty simple editor and then share it with the world. They also added voting and some community stuff to it, but even if it was only a user-generated theme gallery for VS I’d love it. Cool stuff.</p>
<p>Anyway, Luke Sampson (the creator of <a href="http://studiostyles.info/">studiostyles.info</a>) updated <a href="http://blog.wekeroad.com/2007/10/17/textmate-theme-for-visual-studio-take-2/">Rob’s Vibrant Ink theme</a> for VS2010 and shared it through studiostyles. <strong>Thanks a lot</strong>.</p>
<p>You can find it here: <a href="http://studiostyles.info/schemes/wekeroad-ink">http://studiostyles.info/schemes/wekeroad-ink</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2010/04/22/the-dark-side-strikes-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wasted innovation: Google Wave</title>
		<link>http://www.tigraine.at/2009/10/31/wasted-innovation-google-wave/</link>
		<comments>http://www.tigraine.at/2009/10/31/wasted-innovation-google-wave/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 21:03:08 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/?p=792</guid>
		<description><![CDATA[It was pretty inevitable that Google Wave would fail after being hailed as the solution to all our problems. Still, looking at a defeat gives me a feeling of malicious joy. Let’s start at the beginning: I got my invite almost 3 weeks ago, and after an initial: wow cool. I found out that nobody [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wave.google.com/" target="_blank"><img style="border-right-width: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="wavelogo[1]" border="0" alt="wavelogo[1]" src="http://www.tigraine.at/wp-content/uploads/2009/10/wavelogo1.png" width="256" height="256" /></a> </p>
<p>It was pretty inevitable that Google Wave would fail after being hailed as the <em>solution to all our problems</em>. Still, looking at a defeat gives me a feeling of malicious joy.</p>
<p>Let’s start at the beginning: I got my invite almost 3 weeks ago, and after an initial: wow cool. I found out that nobody I care about had Wave. </p>
<p>After another week or so I finally got 20 invites to give out (if you want one send me an email, I’ve got 13 left) and finally managed to get the most important people I communicate to into Wave. </p>
<p>And, we had a lot of fun watching each other’s cursor spit out text live on the screen. Unfortunately, that was the only thing we found useful, and it was only funny for about 20 minutes. After that, we went back to our lives and that’s it. I’m still waiting for a reply to a Wave I sent Kristof almost 2 weeks ago. </p>
<p>So, what’s the problem? Wave technology is revolutionary, the idea is just not. It’s at heart:</p>
<p><strong>Awesome technology looking for a problem to solve</strong></p>
<p>Wave fails in most/all of it’s goals:</p>
<p><u>Replace Email</u>: Ok, so Email is everywhere and it works (thanks to GMail). I get mails pushed to my <a href="http://www.tigraine.at/2009/09/02/im-in-love-with-android/">Android phone</a>, and all in all: It does everything I want flawlessly and most importantly: EVERYWHERE.     <br />Wave on the other hand: Only inside my browser, no notification tool whatsoever. Pretty much equally useless as Facebook Messaging.</p>
<p><u>Replace Chat</u>: Instant typing is funny, but using the tool for IM just does not cut it usability wise. Live and Skype are great at that too, and even ICQ had that instant typing thing going some versions back (nobody wanted it). Wave once again misses all the major points here: No mobile client, no notifications, no desktop client. </p>
<p><u>Replace Message Boards</u>: Try running a public community off Wave: It’s impossible. Since you have to add people to the wave one by one, there is no way to spawn a new thread unless your community is really really small. Public viewing (the main purpose of most messaging boards) is impossible, thus the whole thing is not suited to replace a message board.</p>
<p><u>Replace Wiki</u>: Again, who cares about a wiki if it’s not publicly available? I know really few people who have a wiki for &lt;5 people, and even those few won’t care for Wave’s wacky and really laggy Playback feature. </p>
<p><u>Be a collaboration tool</u>: Well, Wave does that pretty well. Only that I don’t really see any online collaboration happening anytime soon, since most people are just too used to sending Word documents or Excel sheets around, they won’t dumb down to using a Wave just because they see each other’s cursors. </p>
<p>Well, and that’s about it. Wave tries to do a thousand things, and succeeds at not one of them. It’s totally useless without having any sort of desktop integration and mobile device integration. And once it has all of that, I still see myself sending more “Hey check your wave” emails than receiving a answer through wave.</p>
<p>What I want now? I want Google to use the awesome technology they created with Wave and bring it over to GMail. I want to be able to drag&amp;drop files to my GMail and have them be attached to my mails. I want this incredible spellchecker inside GMail and I want it now. That’s all. I don’t care for your revolutionary shiny thingy that does everything but nothing. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/10/31/wasted-innovation-google-wave/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>The paging antipattern</title>
		<link>http://www.tigraine.at/2009/09/07/the-paging-antipattern/</link>
		<comments>http://www.tigraine.at/2009/09/07/the-paging-antipattern/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 20:45:58 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2009/09/07/the-paging-antipattern/</guid>
		<description><![CDATA[Wherever you look on the internet, everywhere you’ll see pagination. This is especially important in web shop scenarios where you don’t want to overwhelm your user. Usually you just take these things for granted and use them to navigate around, until you discover a gem of bad design like this one on the German bookstore [...]]]></description>
			<content:encoded><![CDATA[<p>Wherever you look on the internet, everywhere you’ll see pagination. This is especially important in web shop scenarios where you don’t want to overwhelm your user. </p>
<p>Usually you just take these things for granted and use them to navigate around, until you discover a gem of bad design like this one on the German bookstore Thalia:</p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2009/09/image1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2009/09/image_thumb1.png" width="533" height="173" /></a> </p>
</p>
<p>This is a 1:1 screenshot, no scaling from the original. And as usual: the one <tt>&lt;</tt> will take you to the previous page, the <tt>&lt;&lt;</tt> will take you to the very first page. </p>
<p>Now, let’s consider these options that are only 3 pixels apart from each other: First page, previous (thus page 4), page 1.    <br />Let’s just assume that unless you are really careful with you mouse you’re looking at a 2/3 chance of finding yourself on page number 1 instead of 4!</p>
<p>Instead of trying to home in on that tiny next button I found myself using the numbers to get to the next page, totally ridiculous. </p>
<p>Upon getting frustrated by this particular eBook store I decided to take a look at the other major players and their pagination solutions.</p>
<p><strong>Amazon:</strong></p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2009/09/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2009/09/image_thumb2.png" width="293" height="47" /></a> </p>
<p>I just measured a distance of over 40 pixels between the 3 and the Next button. And even on a search where with less than 3 pages they keep a distance of at least 20 pixels between Next and 3. Also important that <em>Next</em> is always last and <em>Previous</em> is first. No First and Last button anywhere to be found.</p>
<p><strong>Google:</strong></p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2009/09/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2009/09/image_thumb3.png" width="368" height="70" /></a> </p>
<p>Again, hitboxes for <em>Previous</em> and <em>Next</em> are enormous while completely lacking First and Last. </p>
</p>
<p><strong>Ebay:</strong></p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2009/09/image4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2009/09/image_thumb4.png" width="290" height="56" /></a> </p>
<p><strong>Bing:</strong></p>
<p><a href="http://www.tigraine.at/wp-content/uploads/2009/09/image5.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.tigraine.at/wp-content/uploads/2009/09/image_thumb5.png" width="322" height="60" /></a> </p>
<p>&#160;</p>
</p>
<p><strong>Conclusion</strong>: Nobody uses these&#160; Last and First any more. Get over it and leave them out! Why should anyone want to go to the last page of a listing that is probably already sorted by relevancy? </p>
<p>Instead use the space for huge Previous and Next buttons that are far away from any other navigational controls. At any rate, never ever use those &lt;&gt; Symbols alone as you means to navigate, always provide a big enough hitbox to avoid frustration.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/09/07/the-paging-antipattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NDC 2009 Videos online</title>
		<link>http://www.tigraine.at/2009/08/31/ndc-2009-videos-online/</link>
		<comments>http://www.tigraine.at/2009/08/31/ndc-2009-videos-online/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 09:22:00 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2009/08/31/ndc-2009-videos-online/</guid>
		<description><![CDATA[The Norwegian Developer Conference is over for quite some time now, and by looking at their speaker line-up it’s quite clear that I would have loved to be there. Good for me that they videotaped all talks and decided to share them with the general public. So, if you are interested in seeing Ayende, Michael [...]]]></description>
			<content:encoded><![CDATA[<p>The Norwegian Developer Conference is over for quite some time now, and by looking at their speaker line-up it’s quite clear that I would have loved to be there.</p>
<p>Good for me that they videotaped all talks and decided to share them with the general public.</p>
<p>So, if you are interested in seeing Ayende, Michael Feathers, Scott Hanselman, Jeremy D. Miller, Phil Haack or Udi Dahan doing their talks, you can either stream them online, or you can go ahead and download a 30GB torrent with all of their talks. </p>
<p>The videos are <a href="http://ndc2009.no/en/agenda.aspx?cat=1071&amp;id=1813" target="_blank">online on the official conference page</a>, or if you prefer a per-speaker listing:    <br />Mark Nijhof has a list of <a href="http://blog.fohjin.com/blog/2009/7/1/NDC_videos_are_published" target="_blank">all NDC videos for your streaming pleasure</a> and <a href="http://blogs.msdn.com/grothaug/pages/downloadable-ndc2009-videos.aspx" target="_blank">Rune Grothaug has the torrent</a>.</p>
<p>(Please keep seeding the torrent for a bit after your download has finished)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/08/31/ndc-2009-videos-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Help! My provider hijacks my DNS requests!</title>
		<link>http://www.tigraine.at/2009/06/26/help-my-provider-hijacks-my-dns-requests/</link>
		<comments>http://www.tigraine.at/2009/06/26/help-my-provider-hijacks-my-dns-requests/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 22:44:21 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2009/06/26/help-my-provider-hijacks-my-dns-requests/</guid>
		<description><![CDATA[Today I followed a link to a no longer active domain and suddenly found myself on UPC’s (my provider) search looking for that URL: My first reflex was to check if my default search provider may be set wrong: Woot? No, my search provider is Google. I just queried a DNS record that does not [...]]]></description>
			<content:encoded><![CDATA[<p>Today I followed a link to a no longer active domain and suddenly found myself on UPC’s (my provider) search looking for that URL:</p>
<p><a href="http://suche.upc.at/upcatassist/dnsassist/main/?domain=www.fkljsdajklsdaklfsadlkflasdflsadf.com"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.tigraine.at/wp-content/uploads/2009/06/image7.png" border="0" alt="image" width="632" height="162" /></a></p>
<p>My first reflex was to check if my default search provider may be set wrong:</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.tigraine.at/wp-content/uploads/2009/06/image8.png" border="0" alt="image" width="453" height="82" /></p>
<p>Woot? No, my search provider is Google. I just queried a DNS record that does not exist, and I got a result back instead of a DNS error. Now, imagine my head going red and some danger lights starting to flash.</p>
<p>First test I did to confirm my suspicions: open a raw putty connection on port 80 to some random DNS I know doesn’t exist:</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.tigraine.at/wp-content/uploads/2009/06/image9.png" border="0" alt="image" width="304" height="131" /></p>
<p>Then I just did a basic HTTP GET request from my console to see what the server would return:</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.tigraine.at/wp-content/uploads/2009/06/image10.png" border="0" alt="image" width="533" height="151" /></p>
<p><strong>Ok, so what just happened here?</strong> First of all, <span style="text-decoration: underline;">there should be no web server to accept my connection</span>! Hell, I shouldn’t even be able to resolve to an IP address!</p>
<p>So, running a quick nslookup turned up something interesting:</p>
<blockquote><p>nslookup www.lksdafklsdlkfdsf.com<br />
Server:  viedns09.chello.at<br />
Address:  195.34.133.21</p></blockquote>
<p>Apparently, UPC is abusing the trust I place in them (by using their DNS server) <span style="text-decoration: underline;">and resolves ALL requests that can’t be resolved</span> (don’t exist) <span style="text-decoration: underline;">to their own server</span> that will redirect all HTTP traffic with a 302 status code to their search service.</p>
<p>Now, why is this bad? Isn’t search something I like when mistyping a URL?</p>
<p>Oh, it’s bad I promise you. It’s bad for many different reasons:</p>
<ol>
<li>All browsers will search anyway if a URL can’t be resolved</li>
<li>My browser thinks the bad domain name actually exists</li>
<li>UPC search sucks</li>
<li>I can’t do anything about it short for changing my DNS server</li>
</ol>
<p>I do set that search provider inside my browser quite consciously, and I do that for a reason. Google knows my preferences, Google has a search history I use quite often, Google is set to US so it won’t sort German results to the top of the list. And most important: Google has a cached version of almost every page on the interwebz so even expired sites can be looked at with Google.</p>
<p>So, whenever UPC is hijacking my bad DNS request to redirect me to their stupid little search, they take away my freedom of choice and force me (and all users of Chello/Inode in Austria) to override my browsers default behavior in favor of an inferior solution so they generate more search volume on their stupid service!</p>
<p>Only Solution: Pick another DNS. There are plenty of DNS servers out there that will gladly satisfy requests, only drawback is that they aren’t located in my provider’s subnet and therefore won’t be as fast as the one I used before.</p>
<p>This is just sad. Very very sad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/06/26/help-my-provider-hijacks-my-dns-requests/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter passes 2,147,483,647 tweets</title>
		<link>http://www.tigraine.at/2009/06/14/twitter-passes-2147483647-tweets/</link>
		<comments>http://www.tigraine.at/2009/06/14/twitter-passes-2147483647-tweets/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 23:52:34 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2009/06/14/twitter-passes-2147483647-tweets/</guid>
		<description><![CDATA[I guess this screen will look really odd to non-programmers using the awesome Twitter client blu: The text in the box says: The value for a Int32 was too big or too small. Any programmer knows this can only mean: Twitter just surpassed the boundaries of a 32 bit signed integer with their Tweed ids [...]]]></description>
			<content:encoded><![CDATA[<p>I guess this screen will look really odd to non-programmers using the awesome Twitter client <a href="http://www.thirteen23.com/experiences/desktop/blu/">blu</a>:</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://www.tigraine.at/wp-content/uploads/2009/06/image1.png" border="0" alt="image" width="349" height="260" /></p>
<p>The text in the box says:</p>
<blockquote><p>The value for a Int32 was too big or too small.</p></blockquote>
<p>Any programmer knows this can only mean: Twitter just surpassed the boundaries of a 32 bit signed integer with their Tweed ids and has rendered a number of Twitter clients useless without an update.</p>
<p>Oh, and we all knew this is coming, thanks to <a href="http://www.twitpocalypse.com/">http://www.twitpocalypse.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/06/14/twitter-passes-2147483647-tweets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to loose any credibility</title>
		<link>http://www.tigraine.at/2009/03/02/how-to-loose-any-credibility/</link>
		<comments>http://www.tigraine.at/2009/03/02/how-to-loose-any-credibility/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 14:45:49 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2009/03/02/how-to-loose-any-credibility/</guid>
		<description><![CDATA[I just listened to Stackoverflow.com Podcast #39 and am completely shocked. I really like the podcast, I really like Jeff and Joel talk casually about stuff, but when Joel today talked about the SOLID principles (again), I almost screamed. There were discussions throughout the community when Jeff and Joel said before on podcast #38: Last [...]]]></description>
			<content:encoded><![CDATA[<p>I just listened to Stackoverflow.com Podcast #39 and am completely shocked.</p>
<p>I really like the podcast, I really like Jeff and Joel talk casually about stuff, but when Joel today talked about the SOLID principles (again), I almost screamed.</p>
<p>There were discussions throughout the community when Jeff and Joel said before on podcast #38:</p>
<blockquote><p>Last week I was listening to a <a href="http://www.hanselminutes.com/default.aspx?showID=163">podcast on Hanselminutes</a>, with Robert Martin talking about the <a href="http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod">SOLID principles</a>. (That&#8217;s a real easy-to-Google term!) It&#8217;s object-oriented design, and they&#8217;re calling it agile design, which it really, really isn&#8217;t. It&#8217;s principles for how to design your classes, and how they should work. And, when I was listening to them, they all sounded to me like extremely bureaucratic programming that came from the mind of somebody that has not written a lot of code, frankly.</p>
</blockquote>
<p>(quoted from the <a href="https://stackoverflow.fogbugz.com/default.asp?W29025">transcript wiki</a>)</p>
<p>Especially the last line coming from a business guy like Joel to a programmer like Robert C. Martin (the topmost book in my drawer here at work bears his name!) just seemed incredibly silly and plain ignorant.    <br />But, I didn’t blog about it since everyone else did (<a href="http://blog.objectmentor.com/articles/2009/02/06/on-open-letter-to-joel-spolsky-and-jeff-atwood">even Uncle Bob</a>)</p>
<p>I also thought that Rob Conery had a <a href="http://blog.wekeroad.com/blog/patterns-purists-and-sinkholes/">very good post</a> (although too amicable in tone towards Jeff&amp;Joel) about the whole thing and I really couldn’t add anything to it besides my personal feeling that Joel &amp; Jeff were way off track and judged about stuff they don’t have any authority to judge over. <em>Not knowing stuff </em><em>doesn’t enable you to criticize it.</em></p>
<p>So, now this time Joel Spolsky ruined any credibility he ever had in the field of writing software when he came up with an example of a method that should not be tested because it’s too hard to write a test for it.</p>
<p>The whole is an example from Copilot, a VNC thingy FogCreek is selling:</p>
<blockquote><p>I need to write a function that&#8217;s basically a little button on a toolbar that is going to reduce the JPEG compression.      <br />[snip] So imagine how much code you&#8217;ll need to write to change a parameter on your JPEG compression library from a 37 to a 10 lets say. Right? And that&#8217;s all it&#8217;s gonna do, so this is 5, 10, 20 lines of code to implement this feature, let&#8217;s say.       <br />But to implement the test, once you have to somehow create a JPEG that is the same as this other JPEG that you have, but compressed at a different level.       <br />And there is no way to actually construct this test in advance, other than actually running it, or if you did, it would be extremely hard. It would take lot of work to write a test that connects to another machine&#8230;</p>
</blockquote>
<p>He then goes off to talk about having the test run over two different machines (one probably emulated for the test), talking about different versions of the JPEG compression library etc etc etc. </p>
<p>I couldn’t think of a more stupid thing to do. Nothing, never, ever.    <br />Here is <u>the whole test it would need</u> to test the feature (the button that changes the compression rate)</p>
<div class="wlWriterEditableSmartContent" id="scid:2e6d557b-b705-4c34-b5ad-8606cf99c7de:682f857d-c592-4635-8f14-58f46ed9077f" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre name="code" class="csharp">
[Fact]
public void Test()
{
&#160;&#160;&#160;&#160;SetCompressionRate(37);
&#160;&#160;&#160;&#160;Assert.Equal(37, jpgCompressionLib.CompressionRate);
}
</pre>
</div>
<p>Anything more than that, is an integration test and I’m no longer testing the feature, but the JPG Compression library and it’s ability to adapt to the new compression rate.<br />
  <br />Anything besides verifying that the compression rate gets successfully set on the library runs out of scope of a unit test, and is no unit test.</p>
<p>And that’s basically it. This one innocent example meant to prove his point just dug the whole deeper. So far as for me it has become clear that Joel Spolsky has no credibility whatsoever left over in the field of software development.</p>
<p>Oh, and by the way. You really should listen to that podcast, it gets even better when Joel continues to make an ass of himself when he starts to bash on PHP as being a poorly designed ripoff of VBscript, that language features in .NET 3.5 have advanced programming far more than these object oriented design principles, etc.</p>
<p>Oh and by the way: I’m always open to discussion so feel free to leave a comment if you think I am wrong here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/03/02/how-to-loose-any-credibility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Reader Feature Request: Don&#8217;t mark feed as new</title>
		<link>http://www.tigraine.at/2009/02/13/google-reader-feature-request-dont-mark-feed-as-new/</link>
		<comments>http://www.tigraine.at/2009/02/13/google-reader-feature-request-dont-mark-feed-as-new/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 13:10:41 +0000</pubDate>
		<dc:creator>Daniel Hölbling</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.tigraine.at/2009/02/13/google-reader-feature-request-dont-mark-feed-as-new/</guid>
		<description><![CDATA[I’ve been using Google reader for a very very long time now, and it’s besides Gmail one of the most important tools out there for me to stay informed. I don’t read newspapers, I don’t read blogs directly, I only stop once in Gmail and once in Reader. The only thing I really consider “missing” [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been using <a href="http://www.google.com/reader">Google reader</a> for a very very long time now, and it’s besides <a href="http://www.gmail.com">Gmail</a> one of the most important tools out there for me to stay informed. I don’t read newspapers, I don’t read blogs directly, I only stop once in Gmail and once in Reader.</p>
<p>The only thing I really consider “missing” from Reader is some way to declare a rule that Reader should never mark a feed as “unread”.</p>
<p>Why? Simple: Many online newspapers and sites give out full-text feeds and I subscribe to them to occasionally read some articles.    <br />But, in case of sites like Engadget or Gizmondo, there is no way you can keep up with 30+ posts per day and still do work in between reading. So, my “News” folder in Reader grows pretty fast to 1000+ unread items and I have to go in and mark them all as read every now an then. </p>
<p>I consider those feeds as a constant stream of information, so I <em>don’t want </em>Reader to track their read/unread status. If I’ve got free time I go in there to see what’s going on right now, while most of the time I simply ignore those feeds.</p>
<p>What do you think is missing from Google Reader?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tigraine.at/2009/02/13/google-reader-feature-request-dont-mark-feed-as-new/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

