<?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>TechnoBabel &#187; English</title>
	<atom:link href="http://www.fritscher.ch/blog/category/language/english/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fritscher.ch/blog</link>
	<description>Discoveries from the Virtual World</description>
	<lastBuildDate>Sat, 04 Jun 2011 20:59:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Nice Videos From Recent Talks</title>
		<link>http://www.fritscher.ch/blog/2011/05/24/nice-videos-from-recent-talks/</link>
		<comments>http://www.fritscher.ch/blog/2011/05/24/nice-videos-from-recent-talks/#comments</comments>
		<pubDate>Tue, 24 May 2011 08:23:26 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[googleio]]></category>
		<category><![CDATA[mix11]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=161</guid>
		<description><![CDATA[A small selection from videos of recent good talks. MIX11 JavaScript: The Language Nice advanced introduction to JavaScript and the new features of ECMAScript5 more all MIX 11 sessions CHI 2011 Bill Buxton Shows Us His Favorite Tech Why we &#8230; <a href="http://www.fritscher.ch/blog/2011/05/24/nice-videos-from-recent-talks/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2007/08/29/think-you-know-java/' rel='bookmark' title='Think you know JAVA?'>Think you know JAVA?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A small selection from videos of recent good talks.</p>
<p><strong>MIX11</strong><br />
<a href="http://channel9.msdn.com/events/mix/mix11/HTM06">JavaScript: The Language</a><br />
Nice advanced introduction to JavaScript and the new features of ECMAScript5</p>
<p>more <a href="http://channel9.msdn.com/events/mix/mix11">all MIX 11 sessions</a></p>
<p><strong>CHI 2011</strong><br />
<a href="http://channel9.msdn.com/Series/Show-Us-Your-Tech/Bill-Buxton-Shows-Us-His-Favorite-Tech">Bill Buxton Shows Us His Favorite Tech</a><br />
Why we need to remember past gadgets!</p>
<p><strong>Google IO 2011</strong><br />
<a href="http://www.google.com/events/io/2011/sessions/java-puzzlers-scraping-the-bottom-of-the-barrel.html">Java Puzzlers &#8211; Scraping the Bottom of the Barrel</a><br />
The one and only java puzzlers, always informative.</p>
<p><a href="http://www.google.com/events/io/2011/sessions/programming-well-with-others-social-skills-for-geeks.html">Programming Well with Others: Social Skills for Geeks</a><br />
Insights on geek vs/and management. You might also be interested in the book &#8220;<a href="http://oreilly.com/catalog/9780596155414">Being Geek</a>&#8221;</p>
<p><a href="http://www.google.com/events/io/2011/sessions/html5-showcase-for-web-developers-the-wow-and-the-how.html">HTML5 Showcase for Web Developers: The Wow and the How</a><br />
Fun stuff with some chrome specific audio and file api, but also standard CSS3 3D animations.</p>
<p>more <a href="http://www.google.com/events/io/2011/sessions.html">All Google IO 11 Sessions</a></p>
<p>Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2007/08/29/think-you-know-java/' rel='bookmark' title='Think you know JAVA?'>Think you know JAVA?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2011/05/24/nice-videos-from-recent-talks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ARDrone SDK 1.6 working windows client binary</title>
		<link>http://www.fritscher.ch/blog/2011/04/28/ardrone-sdk-1-6-working-windows-client-binary/</link>
		<comments>http://www.fritscher.ch/blog/2011/04/28/ardrone-sdk-1-6-working-windows-client-binary/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 06:32:03 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Computer Programming]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[ARDrone]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=134</guid>
		<description><![CDATA[Since there does not seem to be an official binary of the windows client sample for controlling the ARDrone. I decided to compile the sample project, which is available in the official sdk. Sadly the process of compiling the sample &#8230; <a href="http://www.fritscher.ch/blog/2011/04/28/ardrone-sdk-1-6-working-windows-client-binary/">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>Since there does not seem to be an official binary of the windows client sample for controlling the ARDrone. I decided to compile the sample project, which is available in the <a href="https://projects.ardrone.org/projects/show/ardrone-api">official sdk</a>. Sadly the process of compiling the sample is not straight forward and requires a lot of tweaking [<a href="https://projects.ardrone.org/boards/1/topics/show/2623">1</a>, <a href="http://www.sparticusthegrand.com/ardrone/ardrone-compile-windows-sdk-1-5-in-visual-studios-2010/">2</a>]. Nonetheless, I finally managed to compile a version, which is working on <strong>windows 7</strong> x64 and is compatible with <strong>firmware update 1.5.1</strong> of the ARDrone. It can be downloaded here:</p>
<p><a href="http://www.fritscher.ch/data/ARDrone1.6Win32Client.exe"><b>ARDrone1.6Win32Client.exe</b></a> working binary of ARDrone SDK 1.6 win32 client</p>
<p>You will also need to have an update to date version of the <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&#038;displaylang=en">DirectX End-User Runtime</a> [3].</p>
<p>
[1] <a href="https://projects.ardrone.org/boards/1/topics/show/2623">https://projects.ardrone.org/boards/1/topics/show/2623</a><br />
[2] <a href="http://www.sparticusthegrand.com/ardrone/ardrone-compile-windows-sdk-1-5-in-visual-studios-2010/">http://www.sparticusthegrand.com/ardrone/ardrone-compile-windows-sdk-1-5-in-visual-studios-2010/</a><br />
[3] <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&#038;displaylang=en">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&#038;displaylang=en</a></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2011/04/28/ardrone-sdk-1-6-working-windows-client-binary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connect Galaxy Tab With ARDrone&#8217;s Ad hoc Network</title>
		<link>http://www.fritscher.ch/blog/2011/04/27/connect-galaxy-tab-with-ardrones-ad-hoc-network/</link>
		<comments>http://www.fritscher.ch/blog/2011/04/27/connect-galaxy-tab-with-ardrones-ad-hoc-network/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 19:33:13 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[ARDrone]]></category>
		<category><![CDATA[Galaxy Tab]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=146</guid>
		<description><![CDATA[In order to use any of the available ARDrone application for Android, the Samsung Galaxy Tab has to be connected to the ARDrone. Unfortunately, this is done via ad hoc network, a functionality not activated on the Galaxy Tab [1]. &#8230; <a href="http://www.fritscher.ch/blog/2011/04/27/connect-galaxy-tab-with-ardrones-ad-hoc-network/">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>In order to use any of the available <a href="https://market.android.com/search?q=ardrone">ARDrone application for Android</a>, the Samsung Galaxy Tab has to be connected to the ARDrone. Unfortunately, this is done via ad hoc network, a functionality not activated on the Galaxy Tab [1].</p>
<p>As with any problems there are different solutions, one of them is to ROOT the device and replace the WiFi functionality with a patched version.</p>
<p><strong>Instructions:</strong></p>
<p>I) Root the Samsung Galaxy Tab [<a href="http://forum.xda-developers.com/showthread.php?t=812367">2</a>] (tested with SuperOneClick v1.9.1)</p>
<blockquote><p>
Prerequisites:<br />
- Kies Software downloaded from <a href="http://www.samsung.com/uk/support/search/supportSearchModelResult.do?menu=SP00&#038;searchWord=gtp1000&#038;default_searchInputBox_value=Enter+model+number+or+keywords&#038;searchInputBox=gt-p1000">HERE</a> and installed and Tab connected at least once to the pc.<br />
- SuperOnceClick downloaded from <a href="http://forum.xda-developers.com/showthread.php?t=803682">HERE</a></p>
<p>Process:<br />
1) Connect your galaxy tab with debugging mode disabled and sync with Kies at least once.<br />
2) Disconnect it and enable debugging mode from Settings>Applications>Development>USB Debugging<br />
3) Connect the tab again to PC and click on home button so that Tab comes out of Kies connection<br />
4) Launch SuperOneClick.exe, on Vista/Seven be sure to run as Administrator (right click run as&#8230;)<br />
5) Click on root and wait for 5-10 Mins<br />
6) Reboot when/if told to
</p></blockquote>
<p>II) Copy patched file onto device and overwrite [<a href="http://forum.xda-developers.com/showpost.php?p=7711198&#038;postcount=6">3</a>]</p>
<blockquote><p>
1) Download wpa_supplicant <a href="http://forum.xda-developers.com/showpost.php?p=7711198&#038;postcount=6">HERE</a> (use <a href="http://www.7-zip.org/">7-zip</a> to extract) or <a href="http://www.gasjen.com/?p=888">HERE</a> (zip not tested)<br />
2) upload file onto your device with adb push or connected as an USB drive<br />
3) disable WiFi on the device<br />
4) mount /system as read write ( there is also an app for that <a href="https://market.android.com/details?id=com.beansoft.mount_system">mount /system rw</a> )<br />
5) replace /system/wpa_supplicant  (if your favorite explorer does not work, try a terminal)<br />
  5b1) > su<br />
  5b2) > cp /sdcard/wpa_supplicant /system/bin/wpa_supplicant<br />
6) enable WiFi (you can now see and connect to Ad hoc networks!)
</p></blockquote>
<p>On a first test run all applications seem to be able to connect to the ARDrone with firmware 1.5.1: ARDrone Demo, ARDroid, Androne Freeflight.AR (slow video)</p>
<p>[1] http://forum.xda-developers.com/showthread.php?t=838136<br />
[2] http://forum.xda-developers.com/showthread.php?t=812367<br />
[3] http://forum.xda-developers.com/showpost.php?p=7711198&#038;postcount=6</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2011/04/27/connect-galaxy-tab-with-ardrones-ad-hoc-network/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chris Anderson Speaks About Free</title>
		<link>http://www.fritscher.ch/blog/2009/07/02/chris-anderson-speaks-about-free/</link>
		<comments>http://www.fritscher.ch/blog/2009/07/02/chris-anderson-speaks-about-free/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 21:44:36 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[business model]]></category>
		<category><![CDATA[chris anderson]]></category>
		<category><![CDATA[freemium]]></category>
		<category><![CDATA[long tail]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=118</guid>
		<description><![CDATA[If the freemium or other free business model pattern interest you, check out this interview of Chris Anderson about his upcoming book. http://www.geekentertainment.tv/2009/07/02/chris-anderson-speaks-for-free/ The freemium pattern can also be modelled on the business model canvas checkout http://bmdesigner.com for more. No &#8230; <a href="http://www.fritscher.ch/blog/2009/07/02/chris-anderson-speaks-about-free/">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>If the freemium or other free business model pattern interest you, check out this interview of Chris Anderson about his upcoming book.</p>
<p><embed src="http://blip.tv/play/goUmgY6gYoUM%2Em4v" type="application/x-shockwave-flash" width="480" height="300" allowscriptaccess="always" allowfullscreen="true"></embed> </p>
<p><a href="http://www.geekentertainment.tv/2009/07/02/chris-anderson-speaks-for-free/">http://www.geekentertainment.tv/2009/07/02/chris-anderson-speaks-for-free/</a></p>
<p>The freemium pattern can also be modelled on the business model canvas<br />
<iframe width="560" height="600" style="width:560px;height:600px" scrolling="no" frameborder="0" allowtransparency="true" src="http://bmdesigner.com/explore/embed/65/freemium?fg=ffffff&#038;bg=00a0c6&#038;b"></iframe></p>
<p>checkout <a href="http://bmdesigner.com">http://bmdesigner.com</a> for more.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2009/07/02/chris-anderson-speaks-about-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browsing iTunesU without intalling iTunes</title>
		<link>http://www.fritscher.ch/blog/2009/05/13/browsing-itunesu-without-intalling-itunes/</link>
		<comments>http://www.fritscher.ch/blog/2009/05/13/browsing-itunesu-without-intalling-itunes/#comments</comments>
		<pubDate>Wed, 13 May 2009 20:51:59 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Computer Programming]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[itunesU]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[StreamingMarkupBuilder]]></category>
		<category><![CDATA[XmlSlurper]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=82</guid>
		<description><![CDATA[Updated version of the script On some pages the location-bar information is available (third-level pages), but 1st and 2nd level pages do not have a location-bar. Even in iTunes it has been removed in favor of a location-bar managed by &#8230; <a href="http://www.fritscher.ch/blog/2009/05/13/browsing-itunesu-without-intalling-itunes/">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<h3>Updated version of the script</h3>
<p>On some pages the location-bar information is available (third-level pages), but 1st and 2nd level pages do not have a location-bar. Even in iTunes it has been removed in favor of a location-bar managed by iTunes. I suppose this is done in order to make use of a cached version of the page and speed up loading. Having no location-bar at 2nd level pages is an awkward design choice from Apple. Therefore location-bar has to be managed by the script and 3th level pages need also to be re-adapted to be displayed correctly.</p>
<p>Fixed version can be tested here: <a href="http://1.latest.unil-podcast.appspot.com/index.groovy?handle=">http://1.latest.unil-podcast.appspot.com/index.groovy?handle=</a><em>[itunesU url]</em></p>
<p>the new source files are available here:<br />
complete source code at github <a href="http://github.com/bfritscher/www-itunesu">http://github.com/bfritscher/www-itunesu</a></p>
<p><a href="http://www.fritscher.ch/blog/wp-content/uploads/2009/05/index_fixed.groovy">index_fixed.groovy</a> &#8211; new version with navigation fixed<br />
<a href="http://www.fritscher.ch/blog/wp-content/uploads/2009/05/proxy.groovy">proxy.groovy</a> &#8211; proxy class because iTunes checks user-agent to link to some video files behind a redirect.</p>
<h3>The problem</h3>
<p>More and more universities publish courses as podcasts on iTunesU and neglect to give a direct access to their content. This hinders sharing of knowledge, because of the obligatory Apple’s iTunes application needed to access iTunesU.</p>
<h3>The solution</h3>
<p>Emulating the iTunes client: the script can be tested at</p>
<p><a href="http://www2.unil.ch/itunesu/index.groovy?handle=">http://www2.unil.ch/itunesu/index.groovy?handle=</a><em>[itunesU url]</em></p>
<p>It only needs the url which would open in iTunes and converts it to a displayable webpage.</p>
<p>For example for mit.edu: <a href="http://deimos.apple.com/WebObjects/Core.woa/Browsev2/mit.edu">http://deimos.apple.com/WebObjects/Core.woa/Browsev2/mit.edu</a></p>
<p><a href="http://www2.unil.ch/itunesu/index.groovy?handle=http://deimos.apple.com/WebObjects/Core.woa/Browsev2/mit.edu">http://www2.unil.ch/itunesu/index.groovy?handle=http://deimos.apple.com/WebObjects/Core.woa/Browsev2/mit.edu</a></p>

<a href='http://www.fritscher.ch/blog/2009/05/13/browsing-itunesu-without-intalling-itunes/itunesu-mit/' title='itunesu-mit'><img width="150" height="150" src="http://www.fritscher.ch/blog/wp-content/uploads/2009/05/itunesu-mit-150x150.jpg" class="attachment-thumbnail" alt="itunesu-mit" title="itunesu-mit" /></a>
<a href='http://www.fritscher.ch/blog/2009/05/13/browsing-itunesu-without-intalling-itunes/itunesu-unil/' title='itunesu-unil'><img width="150" height="150" src="http://www.fritscher.ch/blog/wp-content/uploads/2009/05/itunesu-unil-150x150.jpg" class="attachment-thumbnail" alt="itunesu-unil" title="itunesu-unil" /></a>

<h3>Source download</h3>
<p><a href="http://www.fritscher.ch/blog/wp-content/uploads/2009/05/index.groovy">index.groovy version 1</a> iTunesU xml to html groovy script</p>
<h4>Why groovy?</h4>
<p>Having experience with Java and <a href="http://grails.org/">Grails</a> development using <a href="http://groovy.codehaus.org/">Groovy</a> especially due to its powerful closures, xml navigation and html building was a obvious choice. Also this project started as a Google AppEngine prototype, but hit the no-user-agent change limitation.</p>
<h4>Limitations</h4>
<p>Of the three types of layout used in iTunes U only the two column standard university page view and detailed course view (track list) are supported. The iTunes main site listing and main page three column layout is not supported.</p>
<h3>Solution explained</h3>
<p>iTunes uses a custom xml page to receive and render its content. This file can be access when switching the user-agent to “iTunes”.<br />
Switching user agent is easy under Firefox with the <a title="user-agent switcher add-on" href="https://addons.mozilla.org/en-US/firefox/addon/59">user-agent switcher add-on</a><br />
Part of the xml file</p>
<pre class="brush: xml; title: ; notranslate">
&lt;FontStyleSet setName=&quot;basic22&quot; normalStyle=&quot;helvetica22&quot;
	linkStyle=&quot;link&quot; linkPressedStyle=&quot;linkPressed&quot; linkRolloverStyle=&quot;linkRollover&quot; /&gt;
&lt;FontStyleSet setName=&quot;normal40&quot; normalStyle=&quot;lucida40&quot;
	linkStyle=&quot;link&quot; linkPressedStyle=&quot;linkPressed&quot; linkRolloverStyle=&quot;linkRollover&quot; /&gt;
&lt;FontStyleSet setName=&quot;normal40Bold&quot; normalStyle=&quot;lucida40Bold&quot;
	linkStyle=&quot;link&quot; linkPressedStyle=&quot;linkPressed&quot; linkRolloverStyle=&quot;linkRollover&quot; /&gt;
&lt;MatrixView rightInset=&quot;0&quot; bottomInset=&quot;0&quot; leftInset=&quot;0&quot;
	topInset=&quot;0&quot; rowFormat=&quot;100%,*&quot; viewName=&quot;Form&quot;&gt;
	&lt;View rightInset=&quot;0&quot; bottomInset=&quot;0&quot; leftInset=&quot;0&quot; topInset=&quot;0&quot;
		minWidth=&quot;948&quot; minHeight=&quot;400&quot;&gt;
		&lt;VBoxView&gt;
			&lt;!-- Layer 1 = Banner Image --&gt;
			&lt;!-- BEGIN ReplaceableImageXMLView --&gt;
			&lt;View alt=&quot;&quot; height=&quot;400&quot; width=&quot;600&quot;&gt;
				&lt;PictureView proportional=&quot;1&quot; verticalAlignment=&quot;top&quot;
					shouldBeVisible=&quot;true&quot; shadowHeight=&quot;0&quot;
					alt=&quot;MIT offers a selection of video and audio from several of our groundbreaking projects: MIT OpenCourseWare, MIT World, MIT TechTV, and Visualizing Cultures.&quot;
					shadowWidth=&quot;0&quot; height=&quot;400&quot; width=&quot;600&quot;
					url=&quot;http://deimos3.apple.com/indigo//2c/c5/f3/93/2cc5f393018ecb9b1a3991063e10376b093cd1918f43b3847af32a8a9ba35103-1502158938.jpg&quot;
					addShadowSizes=&quot;false&quot; /&gt;
			&lt;/View&gt;
			&lt;!-- END ReplaceableImageXMLView --&gt;
		&lt;/VBoxView&gt;
		&lt;VBoxView&gt;
			&lt;!-- Layer 2 = link box area --&gt;
			&lt;MatrixView leftInset=&quot;0&quot; rightInset=&quot;0&quot; topInset=&quot;25&quot;
				columnFormat=&quot;65%,25,35%&quot;&gt;
				&lt;!--
					This ensures we leave enough room for the banner image in the 3
					column view
				--&gt;
				&lt;View minHeight=&quot;400&quot; /&gt;
				&lt;View /&gt;
				&lt;VBoxView rightInset=&quot;25&quot; bottomInset=&quot;0&quot; leftInset=&quot;0&quot;
					topInset=&quot;0&quot;&gt;
					&lt;VBoxView&gt;
						&lt;VBoxView leftInset=&quot;0&quot; rightInset=&quot;0&quot; topInset=&quot;0&quot;
							bottomInset=&quot;0&quot;&gt;
							&lt;!-- BEGIN description box--&gt;
							&lt;!-- END description box--&gt;
							&lt;!-- START ListBoxStack --&gt;
							&lt;View&gt;
								&lt;FontStyle name=&quot;outlineTitleFontStyle&quot; color=&quot;ffffff&quot; /&gt;
								&lt;FontStyle name=&quot;outlineTextFontStyle&quot; color=&quot;ffffff&quot; /&gt;
								&lt;!-- BEGIN RoundedBox --&gt;
								&lt;View rightInset=&quot;0&quot; bottomInset=&quot;0&quot; leftInset=&quot;0&quot;
									topInset=&quot;0&quot;&gt;
									&lt;Test value=&quot;7.0.0&quot; comparison=&quot;greater or equal&quot;
										property=&quot;iTunes version&quot;&gt;
										&lt;!-- BEGIN MaskedView --&gt;
										&lt;View rightInset=&quot;0&quot; bottomInset=&quot;0&quot; leftInset=&quot;0&quot;
											topInset=&quot;0&quot;&gt;
											&lt;PictureButtonView rightInset=&quot;0&quot; topInset=&quot;0&quot;
												bottomInset=&quot;0&quot; leftInset=&quot;0&quot; alt=&quot;&quot; color=&quot;rgba(0,0,0,0.75)&quot;
												mask=&quot;http://deimos3.apple.com/rsrc/Images/masks/rounded_box.png&quot;
												cap=&quot;4&quot; /&gt;

										&lt;/View&gt;
									&lt;/Test&gt;
								&lt;/View&gt;
							&lt;/View&gt;
						&lt;/VBoxView&gt;
					&lt;/VBoxView&gt;
				&lt;/VBoxView&gt;
			&lt;/MatrixView&gt;
		&lt;/VBoxView&gt;
	&lt;/View&gt;
&lt;/MatrixView&gt;
</pre>
<p>The xml file is quite verbose and it takes some time to identify the interesting content.<br />
The hard part of this project was to identify the right way to identify and select the wanted data from the xml tree.</p>
<p>Following are code snippets of the source file with their most important or interesting aspects explained.</p>
<p>First task of the script is to retrieve the xml page by settings the right user-agent [3] and then use the powerful groovy xml parser api [13] to have an easily navigable xml object.</p>
<pre class="brush: groovy; highlight: [3,13]; title: ; notranslate">
def xml
def conn = new URL(handle).openConnection()
conn.setRequestProperty ( &quot;User-Agent&quot;, &quot;iTunes/8.1&quot; )
def putBackTogether = new StringBuffer()
def r = new InputStreamReader ( conn.getInputStream(), &quot;UTF-8&quot; )
char [  ]  cb = new char [ 2048 ]
int amtRead = r.read ( cb )
while  ( amtRead  &gt;  0 )   {
	putBackTogether.append ( cb, 0, amtRead )
	amtRead = r.read ( cb )
}
xml = putBackTogether.toString()
xml = new XmlSlurper().parseText(xml)
</pre>
<p>To work around default namespace bugs when recreating a xml string from an xml object the Markupbuilder has to be set to the apple namespace[6].</p>
<pre class="brush: groovy; highlight: [6]; title: ; notranslate">
import groovy.xml.StreamingMarkupBuilder
def getXml(item){
	def outputBuilder = new StreamingMarkupBuilder()
	outputBuilder.encoding = &quot;UTF-8&quot;
	String result = outputBuilder.bind{
		mkp.declareNamespace(&quot;&quot;:&quot;http://www.apple.com/itms/&quot;)
		mkp.yield item
	}
}
</pre>
<p>Example of the powerful way to generate html code with the groovy MarkupBuilder.</p>
<pre class="brush: groovy; highlight: [2]; title: ; notranslate">
import groovy.xml.StreamingMarkupBuilder
html.html(xmlns:&quot;http://www.w3.org/1999/xhtml&quot;,lang:&quot;en&quot;,'xml:lang':&quot;en&quot;) {
	head {
		title xml.Path.PathElement.collect{it.'@displayName'}.join(&quot; &gt; &quot;)
		meta('http-equiv':&quot;X-UA-Compatible&quot;, content:&quot;IE=8&quot;)
		meta('http-equiv':&quot;content-type&quot;,content:&quot;application/xhtml+xml; charset=UTF-8&quot;)
		//...
</pre>
<p>Identifying the type of layout the xml file is meant to build is done by looking at a reflection attribute from the first image found in the file.</p>
<pre class="brush: groovy; title: ; notranslate">
def topimg = xml.'**'.find{ it.name() == &quot;PictureView&quot;}
def reflect = topimg?.'@reflection'==1 //true = course page
</pre>
<p>Getting page colors from FontStyle tags</p>
<pre class="brush: groovy; title: ; notranslate">
def titleFontStyle = xml.'**'.find{it.name() == &quot;FontStyle&quot; &amp;&amp; it.'@name' == &quot;normalTitleFontStyle&quot;}?.'@color'
if(titleFontStyle == null){
	titleFontStyle = xml.'**'.find{it.name() == &quot;FontStyle&quot; &amp;&amp; it.'@name' == &quot;outlineTitleFontStyle&quot;}?.'@color'
}
</pre>
<p>Some more examples of the groovy MarkupBuilder: especially interesting is the mkp.yieldUnescaped [10] method to allow usage of html otherwise automatically converted symbols like &#038;.</p>
<pre class="brush: groovy; highlight: [10]; title: ; notranslate">
body(style:&quot;background: #${xml.'*'.find{ it.'@backColor' != ''}.'@backColor'}&quot;){
	div(class:&quot;container&quot;){
		div(class:&quot;span-24 last nav&quot;){
			def list = xml.Path.PathElement
			def last = list.size()-1
			list.eachWithIndex{ pe,i -&gt;
				if(i == 0){
					a(class:&quot;first&quot;,href:&quot;index.groovy?handle=${pe.text().trim()}&quot;){
						span(){
							mkp.yieldUnescaped &quot;&amp;nbsp;&quot;
						}
					}
				}else{
					a(class:&quot;${i == last ? 'last' : ''}&quot;,href:&quot;index.groovy?handle=${pe.text().trim()}&quot;, pe.'@displayName')
				}
			}
		}
	}
}
</pre>
<p>Being able to identify the right element is sometimes a bit tricky, especially that not all pages seem to follow the same structure rules.</p>
<pre class="brush: groovy; title: ; notranslate">
div(class:&quot;description&quot;){
	xml.ScrollView.View.MatrixView.View?.'**'.find{it?.name()== &quot;VBoxView&quot; &amp;&amp; it?.parent()?.name()== &quot;VBoxView&quot; &amp;&amp; it?.parent()?.parent()?.name()== &quot;VBoxView&quot; &amp;&amp; it?.parent()?.parent()?.parent()?.name()== &quot;VBoxView&quot;}?.'*'.findAll{ it?.name() == &quot;TextView&quot;}.each{ text -&gt; p text }
	mkp.yieldUnescaped &quot;&amp;nbsp;&quot;
}
</pre>
<p>Usage of the <a href="http://code.google.com/p/xmlwise/">xmlwise</a> library[15] to parse the standard plist part of the xml containing the track list .</p>
<pre class="brush: groovy; highlight: [15]; title: ; notranslate">
import xmlwise.*
div(class:&quot;span-24 last tracklist&quot;){
	table(cellspacing:&quot;1&quot;, class:&quot;tablesorter&quot;){
		thead{
			tr{
				th &quot;&quot;
				th &quot;Name&quot;
				th &quot;Time&quot;
				th &quot;Artist&quot;
				th &quot;Release Date&quot;
				th &quot;&quot;
			}
		}
		tbody{
			def plist = Plist.fromXml(getXml(xml.TrackList.plist))
			plist.items.eachWithIndex{ track, i -&gt;
				int seconds = (track[&quot;duration&quot;] /1000)
				int minutes = seconds % 3600
				int hours = (seconds - minutes) / 3600
				seconds = minutes % 60
				minutes = (minutes - seconds) / 60

				tr(class:i % 2 == 0 ? &quot;even&quot; : &quot;odd&quot;){
					td track[&quot;rank&quot;]
					td track[&quot;songName&quot;]
					td ((hours &gt; 0 ? String.format(&quot;%02d&quot;,hours)  + &quot;:&quot; : &quot;&quot;)+ String.format(&quot;%02d&quot;,minutes) + &quot;:&quot; + String.format(&quot;%02d&quot;,seconds))
					td track[&quot;artistName&quot;]
					td track[&quot;releaseDate&quot;][0..9]
					td{
						a(href:track[&quot;previewURL&quot;],rel:&quot;lightbox[set 480 380]&quot;,title:track[&quot;songName&quot;], &quot;view&quot;)
						mkp.yieldUnescaped(&quot;&amp;nbsp;&quot;)
						a(href:track[&quot;previewURL&quot;],title:track[&quot;songName&quot;], &quot;download&quot;)
					}
				}
			}
		}
	}
}
</pre>
<h3>Resources used for html design</h3>
<ul>
<li><a href="http://www.blueprintcss.org/">http://www.blueprintcss.org/</a></li>
<li><a href="http://jquery.com/">http://jquery.com/</a> (thankfully, compatible with mootools)</li>
<li><a href="http://www.digitalia.be/software/reflectionjs-for-jquery">http://www.digitalia.be/software/reflectionjs-for-jquery</a></li>
<li><a href="http://mootools.net/">http://mootools.net/</a> (needed for mediabox advanced)</li>
<li><a href="http://iaian7.com/webcode/mediaboxAdvanced">http://iaian7.com/webcode/mediaboxAdvanced</a></li>
<li><a href="http://tablesorter.com/docs/">http://tablesorter.com/docs/</a></li>
<li><a href="http://comparenetworks.com/developers/jqueryplugins/jbreadcrumb.html">http://comparenetworks.com/developers/jqueryplugins/jbreadcrumb.html</a> (only used images)</li>
</ul>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2009/05/13/browsing-itunesu-without-intalling-itunes/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Google Chrome ADBlock without proxy</title>
		<link>http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/</link>
		<comments>http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 13:57:05 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[adblock]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[adsweep]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=52</guid>
		<description><![CDATA[I found a new way to use the Google Chrome browser without having to install or use a proxy. The solution is called http://www.adsweep.org/ Since I use the developer preview channel, I installed adsweep as an extension/plugin. Quick steps for &#8230; <a href="http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2008/09/03/google-chrome-adblock-with-privoxy/' rel='bookmark' title='Google Chrome AdBlock with Privoxy'>Google Chrome AdBlock with Privoxy</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I found a new way to use the Google Chrome browser without having to install or use a proxy.</p>
<p>The solution is called <a href="http://www.adsweep.org/">http://www.adsweep.org/</a></p>
<p>Since I use the developer preview channel, I installed adsweep as an extension/plugin.</p>
<p>Quick steps for Chrome-dev with adsweep extension:</p>
<ol>
<li><strong>Switch chrome to dev channel</strong> with the <a href="http://chromium.googlecode.com/files/chromechannel-2.0.exe">Google Chrome Channel Changer</a> (<a href="http://dev.chromium.org/getting-involved/dev-channel">more info</a>)</li>
<li><strong>Download AdSweep</strong> extension <a href="http://www.adsweep.org/AdSweep.crx">AdSweep.crx</a></li>
<li><strong>Install extension</strong> by running chrome from command-line with:</li>
<li><em>chrome.exe &#8211;install-extension=AdSweep.crx</em>
<p>Chrome is installed by default in your application data profile: for Vista users:<br />
<em>C:Users[user]AppDataLocalGoogleChromeApplication</em></li>
<li><strong>Enable extensions</strong> by adding:<br />
<em>&#8211;enable-extensions</em><br />
to your Google Chrome Shortcut</li>
<li><strong>Verify</strong> that the extension/addon loaded correctly by navigating to <a href="chrome-ui://extensions/">chrome-ui://extensions/</a></li>
</ol>
<p>Happy browsing, without Ads and proxy!</p>
<p>Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2008/09/03/google-chrome-adblock-with-privoxy/' rel='bookmark' title='Google Chrome AdBlock with Privoxy'>Google Chrome AdBlock with Privoxy</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Chrome AdBlock with Privoxy</title>
		<link>http://www.fritscher.ch/blog/2008/09/03/google-chrome-adblock-with-privoxy/</link>
		<comments>http://www.fritscher.ch/blog/2008/09/03/google-chrome-adblock-with-privoxy/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 10:51:34 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[adblock]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privoxy]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=37</guid>
		<description><![CDATA[[update 2] Check adsweep an adblock extension for chrome [update] other alternatives to my original solution: http://www.admuncher.com/ http://bfilter.sourceforge.net/ http://proximodo.sourceforge.net/ http://www.adsweep.org/ Privoxy solution: I love the new Google Chrome Browser, especially the…: - really fast render speed, - new tab page &#8230; <a href="http://www.fritscher.ch/blog/2008/09/03/google-chrome-adblock-with-privoxy/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/' rel='bookmark' title='Google Chrome ADBlock without proxy'>Google Chrome ADBlock without proxy</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>[update 2]</strong></p>
<p><a href="http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/">Check adsweep an adblock extension for chrome</a><strong><br />
</strong></p>
<p><strong>[update]</strong><br />
other alternatives to my original solution:</p>
<ul>
<li><a href="http://www.admuncher.com/">http://www.admuncher.com/</a></li>
<li><a href="http://bfilter.sourceforge.net/">http://bfilter.sourceforge.net/</a></li>
<li><a href="http://proximodo.sourceforge.net/">http://proximodo.sourceforge.net/</a></li>
<li><a href="http://www.adsweep.org/">http://www.adsweep.org/</a></li>
</ul>
<p>Privoxy solution:</p>
<p>I love the new <a href="http://www.google.com/chrome">Google Chrome Browser</a>, especially the…:</p>
<ul>
<li>- really fast render speed,</li>
<li>- new tab page</li>
<li>- and the ability to create a new window from a tab that you drop outside chrome.</li>
</ul>
<p>Naturally, I am missing all my nice add-ons from Firefox, mainly the <strong>adblock add-on!</strong></p>
<p>So I found an alternative solution:  using <em>Privoxy</em>. <em>Privoxy</em> is a small web proxy that runs locally and has the ability to filter ads.</p>
<ul>
<li>1. Download &amp; install http://www.privoxy.org/</li>
<li>2. And then set Google chrome’s proxy options:<br />
<em>Options-&gt;Under the hood-&gt;change proxy settings-&gt;Lan Settings</em><br />
Check: &#8220;Use a proxy server for your LAN&#8221;<br />
And under advanced add<em> proxy address 127.0.0.1 port 8118 </em>for http and secure but leave ftp blank.</li>
</ul>
<p>Now you can surf the web with Google Chrome and a lot less ads!</p>
<p>Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/' rel='bookmark' title='Google Chrome ADBlock without proxy'>Google Chrome ADBlock without proxy</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2008/09/03/google-chrome-adblock-with-privoxy/feed/</wfw:commentRss>
		<slash:comments>79</slash:comments>
		</item>
		<item>
		<title>Make Thunderbird Usefull [list of add-ons]</title>
		<link>http://www.fritscher.ch/blog/2008/08/27/make-thunderbird-usefull-list-of-add-ons/</link>
		<comments>http://www.fritscher.ch/blog/2008/08/27/make-thunderbird-usefull-list-of-add-ons/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 16:25:35 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[add-ons]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=36</guid>
		<description><![CDATA[Here is the list of add-ons I use to make my Mozilla Thunderbird Mail client more usefull. New Features Folder Account Lets you associate user accounts and identities with specific folders. Remember Mismatched Domains Adds a &#8220;Don&#8217;t warn me again &#8230; <a href="http://www.fritscher.ch/blog/2008/08/27/make-thunderbird-usefull-list-of-add-ons/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/' rel='bookmark' title='Mozilla Thunderbird Crash (Solved)'>Mozilla Thunderbird Crash (Solved)</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Here is the list of add-ons I use to make my Mozilla Thunderbird Mail client more usefull.</p>
<h3>New Features</h3>
<ul>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/2874">Folder Account</a><br />
Lets you associate user accounts and identities with specific folders.</li>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/2131">Remember Mismatched Domains</a><br />
Adds a &#8220;Don&#8217;t warn me again about this certificate for this domain&#8221; checkbox to the Domain Mismatch and Expired Certificate warning windows.</li>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/2110">MinimizeToTray</a><br />
Minimizes Thunderbird windows into the system tray.</li>
<li><a href="https://nic-nac-project.org/~kaosmos/morecols-en.html">MoreFunctionsForAddressBook</a><br />
gives the possibility to import and export in vCard and vcf format;</li>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/519">Sync Kolab 1.0.1</a><br />
SyncKolab reads a selected Imap folder and synchronizes it with the local address book and calendar</li>
<li><a href="http://webmail.mozdev.org/">WebMail</a><br />
Integrates web site based email accounts in to Mozllia Thunderbird: Yahoo, Gmail, Hotmail,&#8230;</li>
</ul>
<h3>Usability</h3>
<ul>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/3993">Dictionary Switcher for Thunderbird</a><br />
Displays the currently selected dictionary in the status bar &#8230;</li>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/562">Display Mail User Agent</a><br />
Displays icon for user agent of received mails.</li>
</ul>
<h3>Calendar</h3>
<ul>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/2313">Lightning</a><br />
Adds a calendar to Thunderbird</li>
<li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/4631">Provider for Google Calendar</a><br />
Allows bidirectional access to Google Calendar</li>
</ul>
<p>Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/' rel='bookmark' title='Mozilla Thunderbird Crash (Solved)'>Mozilla Thunderbird Crash (Solved)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2008/08/27/make-thunderbird-usefull-list-of-add-ons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla Thunderbird Crash (Solved)</title>
		<link>http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/</link>
		<comments>http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 20:39:41 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[hotmail]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[webmail]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/</guid>
		<description><![CDATA[Suddenly Mozilla Thunderbird started crashing on me. I found out that it was the webmail addon &#8220;Hotmail 1.2.15 (live)&#8221; which creates the problem. The solution is to upgrade to the newer version 1.2.17, but unfortunately this has to be done &#8230; <a href="http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/">Continue reading <span class="meta-nav">&#8594;</span></a>
Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2008/08/27/make-thunderbird-usefull-list-of-add-ons/' rel='bookmark' title='Make Thunderbird Usefull [list of add-ons]'>Make Thunderbird Usefull [list of add-ons]</a></li>
<li><a href='http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/' rel='bookmark' title='Google Chrome ADBlock without proxy'>Google Chrome ADBlock without proxy</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Suddenly Mozilla Thunderbird started crashing on me. I found out that it was the webmail addon &#8220;Hotmail 1.2.15 (live)&#8221; which creates the problem. The solution is to upgrade to the newer version 1.2.17, but unfortunately this has to be done manually:</p>
<ul>
<li>1) download the new version of the addon <a href="http://webmail.mozdev.org/installation.html">http://webmail.mozdev.org/installation.html</a> (right-click save as).</li>
<li>2) start mozilla thunderbird in safemode.</li>
<li>3) drag &#038; drop the downloaded extension into the addon manager.</li>
<li>4) restart Thunderbird.</li>
</ul>
<p>Related posts:<ol>
<li><a href='http://www.fritscher.ch/blog/2008/08/27/make-thunderbird-usefull-list-of-add-ons/' rel='bookmark' title='Make Thunderbird Usefull [list of add-ons]'>Make Thunderbird Usefull [list of add-ons]</a></li>
<li><a href='http://www.fritscher.ch/blog/2009/04/20/google-chrome-adblock-without-proxy/' rel='bookmark' title='Google Chrome ADBlock without proxy'>Google Chrome ADBlock without proxy</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2008/07/04/thunderbird-crash-solved/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Slowness with localhost on Vista and seaside/squeak in firefox</title>
		<link>http://www.fritscher.ch/blog/2008/02/10/slowness-with-localhost-on-vista-and-seasidesqueak-in-firefox/</link>
		<comments>http://www.fritscher.ch/blog/2008/02/10/slowness-with-localhost-on-vista-and-seasidesqueak-in-firefox/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 20:48:59 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[seaside]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[squeak]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/2008/02/10/slowness-with-localhost-on-vista-and-seasidesqueak-in-firefox/</guid>
		<description><![CDATA[While testing seaside when loading the pages locally in firefox I had a long delay. After some digging, it turns out that the slowness is caused by an IPv6 issue with DNS and can easily be resolved by turning IPv6 &#8230; <a href="http://www.fritscher.ch/blog/2008/02/10/slowness-with-localhost-on-vista-and-seasidesqueak-in-firefox/">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>While testing <a href="http://www.seaside.st/">seaside</a> when loading the pages locally in firefox I had a long delay. After some digging,</p>
<blockquote><p>it turns out that the slowness is caused by an IPv6 issue with DNS and can easily be resolved by turning IPv6 support off in Firefox while doing localhost testing.  To make the change, type about:config in the address bar, locate the network.dns.disableIPv6 setting and double-click on it to set it to true.  This does the trick for the Firefox localhost issue on Vista and everything is running fast again.
</p></blockquote>
<p>as it turns out other people had the <a href="http://weblogs.asp.net/dwahlin/archive/2007/06/17/fixing-firefox-slowness-with-localhost-on-vista.aspx">same issues</a> but not in relation with seaside, therefore I found it in google only after having discovered the solution by myself.</p>
<p>I am hopping that blogging it under seaside/squeak will help someone save some time.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2008/02/10/slowness-with-localhost-on-vista-and-seasidesqueak-in-firefox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

