<?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</title>
	<atom:link href="http://www.fritscher.ch/blog/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>Android Conference Application for ECIS2011 and CAiSE&#8217;11</title>
		<link>http://www.fritscher.ch/blog/2011/06/04/android-conference-application-for-ecis2011-and-caise11/</link>
		<comments>http://www.fritscher.ch/blog/2011/06/04/android-conference-application-for-ecis2011-and-caise11/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 20:52:46 +0000</pubDate>
		<dc:creator>Boris Fritscher</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[caise]]></category>
		<category><![CDATA[ecis]]></category>

		<guid isPermaLink="false">http://www.fritscher.ch/blog/?p=189</guid>
		<description><![CDATA[Since I did not find any official conference application for either ECIS2011 or CAiSE&#8217;11, I decided to make my own version. Thanks to Google&#8217;s open source I/O application this was not so hard and the result can be tested here: &#8230; <a href="http://www.fritscher.ch/blog/2011/06/04/android-conference-application-for-ecis2011-and-caise11/">Continue reading <span class="meta-nav">&#8594;</span></a>
No related posts.]]></description>
			<content:encoded><![CDATA[<p>Since I did not find any official conference application for either ECIS2011 or CAiSE&#8217;11, I decided to make my own version. Thanks to Google&#8217;s open source <a href="http://code.google.com/p/iosched/">I/O application</a> this was not so hard and the result can be tested here:</p>
<p><a href="https://market.android.com/details?id=ch.fritscher.android.apps.ecis2011">ECIS2011 on Android Market</a> &#8211; <a href="http://www.fritscher.ch/blog/android/ecis2011/">information page</a></p>
<p><a href="https://market.android.com/details?id=ch.fritscher.android.apps.caise2011">CAiSE&#8217;11 on Android Market</a> &#8211; <a href="http://www.fritscher.ch/blog/android/caise11/">information page</a></p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.fritscher.ch/blog/2011/06/04/android-conference-application-for-ecis2011-and-caise11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
	</channel>
</rss>

