<?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"
	>

<channel>
	<title>gonnalearn.com</title>
	<atom:link href="http://www.gonnalearn.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gonnalearn.com</link>
	<description>What are you gonna learn today?</description>
	<pubDate>Mon, 10 Nov 2008 16:51:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Microsoft Analytics Beta - exclude webpage parameters!</title>
		<link>http://www.gonnalearn.com/2008/11/05/microsoft-analytics-beta-exclude-webpageparameters/</link>
		<comments>http://www.gonnalearn.com/2008/11/05/microsoft-analytics-beta-exclude-webpageparameters/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 23:59:09 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Rants]]></category>

		<category><![CDATA[adcenter]]></category>

		<category><![CDATA[analytics]]></category>

		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=188</guid>
		<description><![CDATA[After almost one month of collecting data with Microsoft&#8217;s new adCenter Analytics (beta)*, I wanted to have a closer look at the many detailed reports today (and then - of course - blog about it). Turns out I&#8217;ve been collecting largely useless data because I had failed to exclude parameters like &#8220;?gclid=&#8230;&#8221; and Microsoft Analytics [...]]]></description>
			<content:encoded><![CDATA[<p>After almost one month of collecting data with Microsoft&#8217;s new adCenter Analytics (beta)*, I wanted to have a closer look at the many detailed reports today (and then - of course - blog about it). Turns out I&#8217;ve been collecting largely useless data because I had failed to exclude parameters like &#8220;?gclid=&#8230;&#8221; and Microsoft Analytics diligently counted all clicks coming from AdSense as calls to different pages. Stupid me, the option is right there at the top of the management view:</p>
<p><img class="aligncenter size-full wp-image-189" title="adcenter-management" src="http://www.gonnalearn.com/wp-content/uploads/2008/11/adcenter-management.gif" alt="" width="480" height="292" /></p>
<p>I&#8217;ll get back to this in another month. <a title="Microsoft adCenter Analytics Beta Invitation" href="http://advertising.microsoft.com/advertising/adcenter-analytics-registration" target="_blank">Click here to add your name to the adCenter Analytics invitation list</a> and try it out yourself.</p>
<p>*Why didn&#8217;t I use Google Analytics like everyone else? Well, sometimes I&#8217;m a maverick, too. <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/11/05/microsoft-analytics-beta-exclude-webpageparameters/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Content-aware resizing of pictures (seam carving)</title>
		<link>http://www.gonnalearn.com/2008/10/29/content-aware-resizing-picture/</link>
		<comments>http://www.gonnalearn.com/2008/10/29/content-aware-resizing-picture/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 22:05:34 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[content aware resizing]]></category>

		<category><![CDATA[image editing]]></category>

		<category><![CDATA[seam carving]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=181</guid>
		<description><![CDATA[Ever been in a situation where you had a picture with exactly the content ("message, meaning, ...") you wanted, but not with the right dimensions? Seam carving could have saved the day.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure why <a title="Seam Carving kostenlos: Bilder schlau verkleinern " href="http://www.golem.de/0810/63222.html" target="_blank">golem.de</a> published an article on <a title="Seam Carving GUI - content-aware image resizing" href="http://gabeiscoding.com/2008/09/seam-carving-gui-revivied.html" target="_self">Seam Carving GUI (open source)</a> today (maybe they have a selection of emergency posts for slow news days <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), but I&#8217;m glad they did because I had no idea something like this even existed.</p>
<p>If you have no idea of what I&#8217;m talking about, take a look this video:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/6NcIJXTlugc&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/6NcIJXTlugc&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>Ever been in a situation where you had a picture with exactly the content (&#8221;message, meaning, &#8230;&#8221;) you wanted, but not with the right dimensions? Seam carving could have saved the day.</p>
<p>I used it for a stock photo today which just had to be 550&#215;225 pixels to fit in a template (sorry, can&#8217;t post the picture because I&#8217;d have to pay for the rights again - I&#8217;ll post a link when it goes online). It worked extremely well because the important objects did not stretch along the entire length of the picture. The sky and mountains in the background were resized in a way which made it look as if the photographer had used a wide-angle lens.</p>
<p>Encouraged by my success, I decided to try something extremely challenging. Here&#8217;s a photo of me on the balcony of a hotel (it just looks as if I was trying to log into unprotected wireless networks - actually I was enjoying the sunshine and fresh air):</p>
<p><img class="alignnone size-full wp-image-183" title="This was years ago... I need a vacation!" src="http://www.gonnalearn.com/wp-content/uploads/2008/10/fortaleza-original.jpg" alt="" width="480" height="360" /></p>
<p>The picture above is 480 x 360 pixels. Let&#8217;s say I want to keep the width, but reduce the height to just 220px. Usually, this would mean cropping:</p>
<p><img class="alignnone size-full wp-image-184" title="cropped picture" src="http://www.gonnalearn.com/wp-content/uploads/2008/10/fortaleza-cropped.jpg" alt="" width="479" height="220" /></p>
<p>Notice that the top of the other buildings and the horizon is no longer visible.</p>
<p>With seam carving, you can keep all of this in the picture (also, it now looks as if I had a widescreen laptop):</p>
<p><img class="alignnone size-full wp-image-185" title="seam carving - intelligent resizing" src="http://www.gonnalearn.com/wp-content/uploads/2008/10/fortaleza-220-v1.jpg" alt="" width="480" height="220" /></p>
<p>As mentioned, this is an extremely challenging picture. Regular shapes are all over the place and if you look closely, you&#8217;ll find at least one odd area which would be noticeable even if you&#8217;d never seen the original picture (<span style="color: #c0c0c0;">windows on the red building</span>). Still, considering the difficulty, the software does an excellent job. You could fix the most noticeable problems in a minute in an image editor:</p>
<p><img class="alignnone size-full wp-image-186" title="seam carving plus minor editing" src="http://www.gonnalearn.com/wp-content/uploads/2008/10/fortaleza-220-v1-edited.jpg" alt="" width="480" height="220" /></p>
<p>Pretty neat. I&#8217;m really looking forward to seeing what else will be possible with a few mouse clicks in the near future.</p>
<p><span style="text-decoration: underline;">Here&#8217;s some additional info I scraped from the comments at golem.de:</span></p>
<ul>
<li>If you&#8217;re using gimp, <a title="gimp seam carving GUI plugin" href="http://liquidrescale.wikidot.com/" target="_blank">here&#8217;s a plugin for you</a>.</li>
<li>Photoshop CS4 can do it, too (it&#8217;s called content-aware scaling)</li>
<li>For fancy online retargeting (how many names are they gonna give this?), check out <a title="Flash-based online seam carving" href="http://www.rsizr.com" target="_blank">rsizr</a>. While I liked the animation, the result wasn&#8217;t that convincing (I guess it&#8217;s art):</li>
</ul>
<p><img class="alignnone size-full wp-image-182" title="Seam carving with rsizr.com" src="http://www.gonnalearn.com/wp-content/uploads/2008/10/fortaleza-rsizr.jpg" alt="" width="480" height="220" /></p>
<p>If you still haven&#8217;t done so, <a title="Seam Carving GUI download" href="http://code.google.com/p/seam-carving-gui/downloads/list" target="_self">go get Seam Carving GUI</a> and have fun (did I mention it&#8217;s free and available for Windows, Mac OS and Linux?).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/10/29/content-aware-resizing-picture/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Websites with and without &#8216;www&#8217;</title>
		<link>http://www.gonnalearn.com/2008/10/16/websites-with-and-without-www/</link>
		<comments>http://www.gonnalearn.com/2008/10/16/websites-with-and-without-www/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 19:10:49 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Rants]]></category>

		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=178</guid>
		<description><![CDATA[Double-u double-u double-u is one of the few things you can say much faster if you say it in German (just say &#8220;v v v&#8221;). I&#8217;m German, so I continuously strive for efficiency (nah, possibly I&#8217;m just lazy), which is why it annoys me that I still have to type &#8220;www&#8221; in front of some [...]]]></description>
			<content:encoded><![CDATA[<p>Double-u double-u double-u is one of the few things you can say much faster if you say it in German (just say &#8220;v v v&#8221;). I&#8217;m German, so I continuously strive for efficiency (nah, possibly I&#8217;m just lazy), which is why it<strong> annoys me that I still have to type &#8220;www&#8221; in front of some domain names to get to the desired website!</strong></p>
<p>I mean, it&#8217;s 2008, the World Wide Web has been around for a while, so please, dear webmasters, could you make sure that your website works as http://www.example.com <strong>and</strong> http://example.com?</p>
<p>Here&#8217;s a list of offenders from the past few days (off the top of my head):</p>
<ul>
<li><a href="http://soehnle-professional.com" target="_self">soehnle-professional.com</a> - I wanted to download a brochure, but it&#8217;s &#8220;forbidden&#8221; without &#8220;<a href="http://www.soehnle-professional.com" target="_blank">www</a>&#8220;.</li>
<li><a href="http://uwe.com.tw">uwe.com.tw</a> - they&#8217;re <a href="http://www.uwe.com.tw">also a scale company</a>, but you wouldn&#8217;t know from visiting their &#8220;www&#8221;-less site.</li>
<li><a href="http://point24.lu">point24.lu</a> - should be a <a href="http://www.point24.lu">free newspaper&#8217;s website</a>, but apparently they&#8217;re turning it into a &#8220;bilbioservice&#8221;.</li>
</ul>
<p>Now before you leave a comment and say &#8220;why don&#8217;t you just use bookmarks or press Ctrl-Enter in Firefox&#8221;, let me point out that there&#8217;s more to consider: If you <em>can</em> actually reach the same content with and without &#8220;www&#8221;, so can the search engines. Different URIs for the same resource might mean trouble (&#8221;duplicate content&#8221;).</p>
<p>AFAIK, the best way to handle both issues is a 301 (permanent) redirect. On Apache, make sure the domain with and without &#8220;www&#8221; points to the same directory and place an .htaccess file with the following content there (requires mod_rewrite):</p>
<p><code>RewriteEngine On<br />
RewriteCond %{HTTP_HOST} ^example.com$ [NC]<br />
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]</code></p>
<p>This will redirect users to URL with &#8220;www&#8221;. BTW, this code was taken from the excellent book &#8220;<a title="Amazon.com: Building Findable Websites: Web Standards SEO and Beyond" href="http://www.amazon.com/gp/product/0321526287?ie=UTF8&amp;tag=stephanlechne-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321526287" target="_blank">Building Findable Websites: Web Standards SEO and Beyond</a>&#8221; [affiliate link]. It also has a chapter about weblogs which I think I should read. <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/10/16/websites-with-and-without-www/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How long would it take you to notice that your website has been compromised?</title>
		<link>http://www.gonnalearn.com/2008/09/11/how-long-would-it-take-you-to-notice-that-your-website-has-been-compromised/</link>
		<comments>http://www.gonnalearn.com/2008/09/11/how-long-would-it-take-you-to-notice-that-your-website-has-been-compromised/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 20:20:53 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Business Tips]]></category>

		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=173</guid>
		<description><![CDATA[there's a much easier and faster option when it comes to small, rather static websites: change detection services! Here's a few I found]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://www.gonnalearn.com/2008/07/07/sql-injections-why-companies-should-care/" target="_self">last post concerning mass sql hacks of websites</a> shows what can happen if your website is distributing malware and you don&#8217;t act fast enough. In that post, I also mentioned it might be a good idea to have some sort of self-checking mechanism integrated in your CMS which would alert you if unauthorized changes were made. While I still think that&#8217;s a good idea, there&#8217;s a much easier and faster option when it comes to small, rather static websites: change detection services!</p>
<p>Here&#8217;s a few I found through search engines, <a href="http://marshallk.com/a-review-of-web-site-change-detection-services" target="_blank">a blog post from 2005 by Marshall Kirkpatrick</a> and an article in <a title="c't magazine (in German)" href="http://www.heise.de/ct" target="_blank">c&#8217;t magazine</a> 4/2008 (page 170):</p>
<p><a href="http://www.changealarm.com/" target="_blank">ChangeAlarm</a> - free, typically checks for updates once per day</p>
<p><a href="http://www.changedetect.com" target="_blank">ChangeDetect</a> - free and paid membership options</p>
<p><a href="http://www.changedetection.com/" target="_blank">ChangeDetection</a> - free, typically checks for updates once per day, does not detect changes in HTML tags</p>
<p><a href="http://www.infominder.com/" target="_blank">InfoMinder</a> - no free membership, 30 day trial available</p>
<p><a href="http://www.thewebwatcher.com" target="_blank">TheWebWatcher</a> - free for personal use, monitoring intervals starting from 1h</p>
<p><a href="http://www.tracerlock.com/" target="_blank">TracerLock</a> - no free membership, max 20 URLs, 4 US$/month</p>
<p><a href="http://trackengine.com/" target="_blank">TrackEngine</a> - free, 19,95 US$/year for 10 &#8220;bookmarks&#8221;, 4,95 US$/month for 50 &#8220;bookmarks&#8221;, possibly includes more frequent updates for paid services</p>
<p><a href="http://www.watchthatpage.com/" target="_blank">WatchThatPage</a> - free, priority accounts available for donation of US$ 20/year. Fastest update: once per day. There seems to be no limit on the number of pages you can watch. Pages can be organized in folders. Simple keyword filtering available. Refuses to watch pages with badly mangled HTML.</p>
<p>Yes, I know, most of these sites scream &#8220;web 1.0&#8243; at you and - ironically - seem to be averse to change themselves (the latest news on TrackEngine are from December 2001, Merry Christmas!). They won&#8217;t really help if you&#8217;re in charge of large websites with thousands of pages. However, they might be appropriate for small websites, <a href="http://www.dalnotaro.lu" target="_blank">like this one</a> which has been displaying &#8220;OwNed By un alien &#8230;&#8221; for months on the &#8220;liens&#8221; and &#8220;evenements&#8221; pages.</p>
<p>I&#8217;ll update this post after trying out some of these services (you can <a title="RSS feed" href="http://www.gonnalearn.com/feed/">subscribe to my RSS feed here</a> <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). Please note there&#8217;s also tons of change detection software (running locally on your computer) which I&#8217;m not covering here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/09/11/how-long-would-it-take-you-to-notice-that-your-website-has-been-compromised/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Chiropractors &#8220;very satisfied&#8221; with heise.de redesign</title>
		<link>http://www.gonnalearn.com/2008/08/14/heise-redesign/</link>
		<comments>http://www.gonnalearn.com/2008/08/14/heise-redesign/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 12:16:57 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Attempted Humor]]></category>

		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=166</guid>
		<description><![CDATA[Update: Heise made some modifications while I was writing this post, so not everything below still applies.
It&#8217;s summer time in Europe, many people are on vacation, others are distracted by the Olympics - if you were planning something outrageous, now might be a good time to get away with it. No, I&#8217;m not talking about [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>Update:</strong></span> Heise made some modifications while I was writing this post, so not everything below still applies.</p>
<p>It&#8217;s summer time in Europe, many people are on vacation, others are distracted by the Olympics - if you were planning something outrageous, now might be a good time to get away with it. No, I&#8217;m not talking about Georgia, I mean the redesign of <a title="heise online" href="http://www.heise.de">heise.de</a>, Germany&#8217;s IT website no. 1.</p>
<p>Heise.de went from a table-based, liquid layout to a xhtml 1.0 strict compliant fixed width (elastic) layout. I don&#8217;t think anyone complained about the xhtml compliance, the key here is &#8220;fixed width&#8221;. Yes, I know. Discussed to death. In the left corner, we have &#8220;long lines are hard to read&#8221; and &#8220;fixed width gives you better control over the layout, making it easier to design visually appealing sites for lazy designers like me&#8221; whereas in the right corner we have &#8220;liquid layouts adapt to all sorts of different screens, which is what the internet is all about&#8221; and &#8220;if I believe the lines are too long I can resize my viewport myself, thank you very much&#8221;. I can&#8217;t tell you who&#8217;s right (because it&#8217;s one of these annoying &#8220;many shades of grey&#8221; topics) but what I can tell you is that switching from one camp to the other is going to make many people unhappy. Very unhappy.</p>
<p>2 billions. That&#8217;s the number of unhappy comments in heise&#8217;s discussion forum. Ok, it&#8217;s more like 5000 and only about 90% of those express disapproval. Still, even if you consider that the <em>heise forum</em> is most likely the place in cyberspace with the highest concentration of negativity, that&#8217;s a lot of unhappiness.</p>
<p>Is it justified? Well, judge for yourself. Or just let me tell you: <strong>yes</strong>! Let&#8217;s have a look at how they messed it up:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise1.jpg"><img class="alignnone size-full wp-image-167" title="heise redesign" src="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise1.jpg" alt="" width="480" height="314" /></a></p>
<p>This is how the website now looks on my not-so-gigantic 1280&#215;1024 screen. I took the liberty of highlighting the actual content, squeezed in the lower left corner. Some people on the forum are already complaining about a stiff neck from looking to the left all the time while others don&#8217;t like the content being so close to the <span style="text-decoration: line-through;">end of the world</span> edge of the screen:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise2.jpg"><img class="alignnone size-full wp-image-168" title="heise redesing 2" src="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise2.jpg" alt="" width="480" height="360" /></a></p>
<p>What I dislike most is the odd combination of a centered upper navigation bar with a main content area justified to the left. It makes me feel seasick:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise3.jpg"><img class="alignnone size-full wp-image-169" title="heise redesign 3" src="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise3.jpg" alt="" width="480" height="314" /></a></p>
<p>There&#8217;s also the large unused white area to the right which is making readers nervous because they expect annoying flashy ads to appear at any time (the medical term is &#8220;ad premonition disorder&#8221;).</p>
<p>Having studied 2534523 comments, I managed to identify certain patterns in behavior:</p>
<ul>
<li><strong>&#8220;It&#8217;s not a problem if you can fix it&#8221;</strong>: These folks suggest you <a href="http://userstyles.org/styles/9589">manipulate the css</a> to get the beloved liquid layout back. They probably use Linux, so they&#8217;re used to fixing everything they don&#8217;t like.</li>
<li><strong>&#8220;Couldn&#8217;t you give users an option, maybe a switch in their profile which would let them choose their preferred layout? Hey, I might even be willing to pay for it&#8221;</strong>: Windows users.</li>
<li><strong>&#8220;You&#8217;re not supposed to expand your browser to the full size of your monitor. A good OS wouldn&#8217;t encourage you to do this!&#8221;</strong>: Smug Apple 30&#8243; cinema display owners.</li>
<li><strong>&#8220;I hate you and I&#8217;m not coming back&#8230; at least not until tomorrow, but I&#8217;ll just return to see if you changed the design back and to post angry comments if you didn&#8217;t&#8221;</strong>: They&#8217;ll never leave and they know it.</li>
<li><strong>&#8220;Hey, finally something I can write about in my blog!&#8221;</strong>:Yeah, that&#8217;s&#8230; uhm&#8230; me.</li>
</ul>
<p>This would normally have been the end of this post, except that I had an epiphany when I turned my monitor by 90° (it&#8217;s fixed on an Ergotron monitor arm and my graphics card supports this, too). This changed everything! All those print media sites like <a href="http://www.spiegel.de">SPON</a>, <a href="http://www.sueddeutsche.de">sueddeutsche.de</a>, <a href="http://www.faz.net">faz.net</a> and even <a href="http://www.wort.lu">wort.lu</a> suddenly looked great! I wonder why&#8230;</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise4.jpg"><img class="alignnone size-full wp-image-170" title="It looks good on my screen" src="http://www.gonnalearn.com/wp-content/uploads/2008/08/heise4.jpg" alt="" width="426" height="282" /></a></p>
<p>&#8220;Hey, it looks good on my screen!&#8221; (the one on the left). <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/08/14/heise-redesign/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Totally awesome furniture (and other stuff that you can&#8217;t buy)</title>
		<link>http://www.gonnalearn.com/2008/07/22/totally-awesome-furniture-that-you-cant-buy/</link>
		<comments>http://www.gonnalearn.com/2008/07/22/totally-awesome-furniture-that-you-cant-buy/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 21:44:05 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Attempted Humor]]></category>

		<category><![CDATA[Ideas]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=163</guid>
		<description><![CDATA[One of my brothers sent me this link to John Nouanesing&#8217;s catalogue after seeing one of his designs on Ehrensenf (the German version of Rocketboom).
Me: &#8220;Too bad you can&#8217;t buy anything :(&#8221;
Brother: &#8220;I thought you had some contacts in China, this stuff is screaming to be sold&#8221;
Me: &#8220;Wouldn&#8217;t that be&#8230; you know&#8230;&#8221;
Brother: &#8220;Capitalism? ;)&#8221;
He&#8217;s studying [...]]]></description>
			<content:encoded><![CDATA[<p>One of my brothers sent me <a title="Delivered within 84 years after your order" href="http://www.johnnouanesing.net/catalogue%20UK.html">this link to John Nouanesing&#8217;s catalogue</a> after seeing one of his designs on <a href="http://www.ehrensenf.de">Ehrensenf</a> (the German version of <a href="http://www.rocketboom.com/">Rocketboom</a>).</p>
<p><em>Me: &#8220;Too bad you can&#8217;t buy anything :(&#8221;<br />
</em>Brother: &#8220;I thought you had some contacts in China, this stuff is screaming to be sold&#8221;<em><br />
Me: &#8220;Wouldn&#8217;t that be&#8230; you know&#8230;&#8221;<br />
</em>Brother: &#8220;Capitalism? ;)&#8221;</p>
<p>He&#8217;s studying law, BTW (and just to make sure this doesn&#8217;t come back to haunt him when he&#8217;s about to be nominated to the European Court of Justice or something like that, let me point out that we were kidding and that it&#8217;s now 5:45 AM in Ningbo and nobody&#8217;s in the factory to pick up the phone, anyway).</p>
<p>The morally immaculate way is - of course - to look at the designs and let their total awesomeness* inspire your creativity.</p>
<p>*I don&#8217;t think I&#8217;ve ever used &#8220;total awesomeness&#8221; before, so you&#8217;d better take a look. <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/07/22/totally-awesome-furniture-that-you-cant-buy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thin borders fade automatically in Firefox</title>
		<link>http://www.gonnalearn.com/2008/07/10/borders-fading-automatically-in-firefox/</link>
		<comments>http://www.gonnalearn.com/2008/07/10/borders-fading-automatically-in-firefox/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 20:30:07 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=160</guid>
		<description><![CDATA[First time I noticed this: The div with the logo and the language selection div below have a 10px solid left border in blue (matching the background color) and a 1px white bottom border, which leads to a nice gradient in Firefox 3:

Nice, though I wonder if this behaviour can be influenced. In IE, Firefox [...]]]></description>
			<content:encoded><![CDATA[<p>First time I noticed this: The div with the logo and the language selection div below have a 10px solid left border in blue (matching the background color) and a 1px white bottom border, which leads to a nice gradient in Firefox 3:</p>
<p><img class="alignnone size-full wp-image-161" title="Automatic border gradient in Firefox 3" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/firefox-border-gradient.png" alt="" width="148" height="164" /></p>
<p>Nice, though I wonder if this behaviour can be influenced. In IE, Firefox 2, Opera and Safari it looks like this:</p>
<p><img class="alignnone size-full wp-image-162" title="No border gradient" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/no-border-gradient.png" alt="" width="148" height="164" /></p>
<p>(Before you mention it, I know the language names lack padding in the lower screenshot - my mistake, but unrelated to the issue at hand)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/07/10/borders-fading-automatically-in-firefox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQL Injections - why companies should care (and users, too)</title>
		<link>http://www.gonnalearn.com/2008/07/07/sql-injections-why-companies-should-care/</link>
		<comments>http://www.gonnalearn.com/2008/07/07/sql-injections-why-companies-should-care/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 11:43:15 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=159</guid>
		<description><![CDATA[While I had read reports about successful mass SQL attacks on hundreds of thousands - by some estimates even millions - of websites months ago, I didn&#8217;t really care much, assuming that this issue would only concern outdated, irrelevant and poorly coded websites.
I realized I was wrong (partially wrong) about a week ago when I [...]]]></description>
			<content:encoded><![CDATA[<p>While I had read reports about successful mass SQL attacks on hundreds of thousands - by some estimates even millions - of websites months ago, I didn&#8217;t really care much, assuming that this issue would only concern outdated, irrelevant and poorly coded websites.</p>
<p>I realized I was wrong (partially wrong) about a week ago when I was looking for recipes for my newest toy, a blender from a brand every YouTube user knows. Unfortunately, the manufacturer&#8217;s website contained not only recipes, but also references to a malicious external script:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-screenshot3.jpg"><img class="alignnone size-medium wp-image-155" title="Hacker Safe" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-screenshot3-300x206.jpg" alt="" width="300" height="206" /></a><br />
<a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-script.png"><img class="alignnone size-medium wp-image-156" title="external JavaScript" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-script-300x224.png" alt="" width="300" height="224" /></a></p>
<p>For a moment, I thought about making a stupid video showing some JavaScript that does <em>not</em> blend but then decided on contacting the company first. Indeed, only one day later the site had been cleaned.</p>
<p><strong>Normally, I wouldn&#8217;t even mention this on my blog</strong>, since I believe &#8220;public shaming&#8221; is only justified if a company or webmaster does not react withing a reasonable time or if the case at hand is particularly outrageous (before you disagree, please consider that my entire blog is about not being perfect and still having a lot to learn). However, when I visited the website again on Sunday (in order to show the company&#8217;s products to a friend and restaurant owner), <a title="Must have plugin for firefox" href="http://noscript.net/">NoScript</a> showed the site had been compromised once more and was trying to distribute malware again (this time, the evil domain was mainadt.com instead of suppadw.com). When I tried to send another message over the contact form this morning, Firefox 3 wouldn&#8217;t even let me visit the page without a very clear warning:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-firefox-warning.png"><img class="alignnone size-medium wp-image-157" title="Firefox warning" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-firefox-warning-300x148.png" alt="" width="300" height="148" /></a></p>
<p>The reason Firefox is showing this warning is that Google now &#8220;officially&#8221; considers this site (possibly) harmful:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-google-diagnostic.png"><img class="alignnone size-medium wp-image-158" title="Google Diagnostic" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/bt-google-diagnostic-300x181.png" alt="" width="300" height="181" /></a></p>
<p>Aside from the obvious &#8220;make sure your code is not vulnerable to SQL injections (and don&#8217;t forGET it&#8217;s not only about POST parameters*), what can be learned here?</p>
<p><strong>If your site has been compromised, you should react quickly </strong>and make sure it can&#8217;t happen again. Otherwise Google will sooner or later list your website as &#8220;suspicious&#8221; and you&#8217;ll certainly lose visitors and business. A compromised website also reflects poorly on your company and your brand. I would be particularly concerned about the negative effects in the case of companies relying heavily on the internet for business (including internet marketing). Furthermore, one has to wonder if you might be held liable for exposing your visitors to malware.</p>
<p><strong>Don&#8217;t rely on expensive third party scanning tools.</strong> Did you notice the &#8220;Hacker safe&#8221; logo in the first screen shot above where my virus scanner was already showing a warning? Instead, I suggest hiring a capable programmer (you&#8217;ll need one to fix the vulnerabilities anyway) and have him customize a monitoring solution which issues a warning anytime your website or database has been &#8220;illegally&#8221; modified (I might pick this idea up in a later post). This would make sure you&#8217;re the first to realize when something is wrong, not your visitors or Google.</p>
<p><strong>If I were a capable programmer familiar with ASP and MSSQL and had some free time</strong>, I&#8217;d think about spending a few hours searching for affected websites, somehow ranking them (e.g. &#8220;best known&#8221;, &#8220;in my area&#8221;, etc.) and then contacting them with an offer to remove the malicious code and the vulnerabilities (or maybe redesign the entire website). Think about it, there might be millions of affected websites out there, this seriously screams &#8220;business opportunity&#8221; (BTW, I&#8217;m not a&#8230; er, not familiar with ASP and MSSQL and I&#8217;m busy, so please don&#8217;t contact me). Of course, sooner or later someone&#8217;s bound to misunderstand your offer (&#8221;this guy hacked our website and now he&#8217;s asking for money&#8221;). <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>As a user</strong>, don&#8217;t follow my bad example in the first screenshot. Instead, disable JavaScript by default and enable it only for sites you can trust. This can be done best by using the excellent<a title="Must have!" href="http://noscript.net/"> NoScript plugin</a> for Firefox. Don&#8217;t think that Firefox + Google alone can always protect you, you won&#8217;t get the big red warning above unless the site in question has been compromised for some time.</p>
<p>*technical details can be found in Michael Zino&#8217;s article <span class="header1"><a href="http://www.bloombit.com/Articles/2008/05/ASCII-Encoded-Binary-String-Automated-SQL-Injection.aspx">ASCII Encoded/Binary String Automated SQL Injection Attack</a> and by following some of the <a href="http://www.gonnalearn.com/2008/07/02/best-of-sql-injection-attacks/">links I posted before</a>.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/07/07/sql-injections-why-companies-should-care/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Expression web span lang tags</title>
		<link>http://www.gonnalearn.com/2008/07/03/expression-web-span-lang-tags/</link>
		<comments>http://www.gonnalearn.com/2008/07/03/expression-web-span-lang-tags/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 11:26:49 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=151</guid>
		<description><![CDATA[Does Expression Web (version 1 or 2) add <span lang="something"> tags ("lang spans") to everything you type in design view? It nearly drove me crazy with this behavior and the many language-related options in different menus, but after I figured out what was going on I actually came to appreciate this feature (when working on multilingual sites).]]></description>
			<content:encoded><![CDATA[<p>Does Expression Web (version 1 or 2) add <strong>&lt;span lang=&#8221;something&#8221;&gt;</strong><span lang="something"> tags (&#8221;lang spans&#8221;) to everything you type in design view? It nearly drove me crazy with this behavior and the many language-related options in different menus, but after I figured out what was going on I actually came to appreciate this feature (when working on multilingual sites).</span></p>
<h3>Why does xWeb do this?</h3>
<p>Try this: Select some text and go to <em>Tools &gt; Set Language</em> and choose - let&#8217;s say - <em>Alsatian</em>. You should see xWeb adding <span lang="gsw-fr"> </span><strong>&lt;span lang=&#8221;gsw-fr&#8221;&gt; </strong><span lang="gsw-fr">to your code. This will always happen unless your entire page is marked to be in Alsatian with <strong>lang=&#8221;gsw-fr&#8221; xml:lang=&#8221;gsw-fr&#8221;</strong> in the html element or using <strong>&lt;meta http-equiv=&#8221;Content-Language&#8221; content=&#8221;gsw-fr&#8221; /&gt;</strong> .</span></p>
<p><strong><span lang="gsw-fr">So, anytime the language of some text on the page does not match the language for the entire page, xWeb adds the lang spans.</span></strong></p>
<p>BTW, y<span lang="gsw-fr">ou can set the meta tag by going to <em>File &gt; Properties &gt; Language &gt; Mark current document as</em> though it seems the language information specified in the html tag takes precedence over the meta tag when xWeb decides on adding the lang spans (thanks to Cheryl D Wise for the <a title="FAQ: HTTP and meta for language information" href="http://www.w3.org/International/questions/qa-http-and-lang">link to the W3C FAQ</a> and to <a title="Expression Web Forum" href="http://forums.expression.microsoft.com/en-US/web/thread/85329a36-ab68-4bb9-a5a3-a2968e4d4044/#page:2">MrMox for pointing out that the meta tag alone doesn&#8217;t always solve lang span issue</a>).</span><strong><span lang="gsw-fr"> </span></strong></p>
<h3>This doesn&#8217;t explain why xWeb adds the spans when I just type text on my keyboard!</h3>
<p>It appears that whenever you type something, xWeb checks the input language your system is using and sets the language of your text accordingly. This means you get the same result as if you were to select <em>Set Language</em> from the <em>Tools</em> menu, triggering the same effect as described above: <strong>If the input language doesn&#8217;t match the document&#8217;s language, xWeb adds lang spans.</strong></p>
<h3>How do I switch this off?</h3>
<p>Unfortunately, there doesn&#8217;t seem to be a simple &#8220;never add lang spans&#8221; option. You can find some possible answers on the web (e.g. <a href="http://weblogs.asp.net/lduveau/archive/2007/09/24/expression-web-and-the-annoying-span-lang.aspx" target="_blank">here</a> and <a href="http://any-expression.com/expression-web/tips/span-lang.htm" target="_blank">here</a>), but they didn&#8217;t work on all of our systems.</p>
<h3>So what do I do? Type only in code view?</h3>
<p>I don&#8217;t recommend this as you might make mistakes with html entities (like typing &amp; instead of &amp;amp;). Instead, go to your Windows <em>Control Panel &gt; Regional and Language Options &gt; Languages &gt; Details</em> and <strong>make sure that all input languages which are specified on your page are available</strong> (otherwise, add them).</p>
<p><strong><span style="text-decoration: underline;">Example:</span></strong> In my company, we&#8217;re working with Swiss-German keyboards on websites which are mostly in English (en-us or en-gb), German (de-de) or French (fr-fr):</p>
<p><img class="alignnone size-full wp-image-152" title="Input Languages and Keyboards" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/languages1.gif" alt="" width="404" height="485" /></p>
<p>Now when I edit a page which is in German, I just have to make sure that the correct input language is selected:</p>
<p><img class="alignnone size-full wp-image-153" title="Select Input Language" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/languages2.gif" alt="" width="216" height="168" /></p>
<p>Voilà, no more lang spans! Furthermore, if I wanted to add some text in English, I could simply switch the input language and xWeb adds the lang span, which means I can easily check the spelling on a page with multiple languages (and voice browsers should pronounce the text correctly, too).</p>
<h3>Is that all?</h3>
<p>No, it gets even better! If you&#8217;re editing an existing page where the language has been set, you can go to <em>Tools &gt; Page Editor Options &gt; General</em> and select <em>Automatically switch keyboard to match language of surrounding text</em>. Expression Web should now select the right input language automatically for you (hey, this saves you two mouse clicks!).</p>
<h3>Thank you, everything is working now! You&#8217;ve just increased my productivity by at least 200%!</h3>
<p>You&#8217;re welcome. <a href="http://www.amazon.de/gp/registry/3OGDL11LV6BFJ">Here&#8217;s the my Amazon.de whishlist</a>. <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Wait, it still isn&#8217;t working!!</h3>
<p>All right, I got this working on three very different systems, using xWeb1 and 2 as well as Win XP and Vista x64. It&#8217;s no longer an issue casing trouble for us, we did, however notice behavior which can only be described as weird (or buggy) from time to time. For instance, it is perfectly possible to have a page were no language meta tag is present (and no language is assigned in the html tag), but a language is nevertheless set under <em>File &gt; Properties &gt; Language</em>.</p>
<p>You could also try experimenting with the language related options below which I haven&#8217;t mentioned so far (just don&#8217;t ask me what they&#8217;re supposed to do) or ask for help on the <a title="Expression Web Forum" href="http://forums.expression.microsoft.com/en-US/web/threads/">Expression Web forum</a>:<br />
<em>Tools &gt; Page Editor Options &gt; General &gt; Default Page Language</em><br />
<em>Site &gt; Site Settings &gt; Language</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/07/03/expression-web-span-lang-tags/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Best of SQL injection attacks*</title>
		<link>http://www.gonnalearn.com/2008/07/02/best-of-sql-injection-attacks/</link>
		<comments>http://www.gonnalearn.com/2008/07/02/best-of-sql-injection-attacks/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 00:04:13 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
		
		<category><![CDATA[Attempted Humor]]></category>

		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.gonnalearn.com/?p=147</guid>
		<description><![CDATA[Best of SQL injection attacks (no, it wasn't me)...]]></description>
			<content:encoded><![CDATA[<p>Click to resize:<br />
<a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/experts-exchange.gif"><img class="alignnone size-full wp-image-148" title="Experts" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/experts-exchange.gif" alt="" width="500" height="41" /></a></p>
<p>A fix? Uhm&#8230; maybe you can find a good self-help book on SQL injections:</p>
<p><a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/infideas.gif"><img class="alignnone size-medium wp-image-149" title="infideas" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/infideas-300x263.gif" alt="This must be a world record" width="300" height="263" /></a></p>
<p>You should also consider hosting scripts locally:<br />
<a href="http://www.gonnalearn.com/wp-content/uploads/2008/07/rangefinderforum.gif"><img class="alignnone size-medium wp-image-150" title="I did not make this up" src="http://www.gonnalearn.com/wp-content/uploads/2008/07/rangefinderforum-300x75.gif" alt="" width="300" height="75" /></a></p>
<p>SCNR.</p>
<p>*no, it wasn&#8217;t me. <img src='http://www.gonnalearn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>For serious information:</p>
<ul>
<li><a href="http://noscript.net/" target="_blank">NoScript</a></li>
<li><a href="http://www.cio.com.au/index.php/id;552560972" target="_blank">Phishing botnet expands by hacking legit sites</a></li>
<li><a href="http://isc.sans.org/diary.html?storyid=4645" target="_blank">More SQL Injection with Fast Flux hosting</a></li>
<li><a href="http://www.microsoft.com/technet/security/advisory/954462.mspx" target="_blank">Microsoft Security Advisory (954462)</a></li>
<li><a href="http://www.communities.hp.com/securitysoftware/blogs/spilabs/archive/2008/06/23/finding-sql-injection-with-scrawlr.aspx" target="_blank">Finding SQL Injection with Scrawlr</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.gonnalearn.com/2008/07/02/best-of-sql-injection-attacks/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
