<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Michel Weimerskirch</title>
	
	<link>http://michel.weimerskirch.net</link>
	<description>Web Application Developer</description>
	<lastBuildDate>Fri, 15 Jan 2010 08:11:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/michelweimerskirch" /><feedburner:info uri="michelweimerskirch" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>List of services and portfolio now online</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/ckFjvq_vNVE/</link>
		<comments>http://michel.weimerskirch.net/2010/01/07/list-of-services-and-portfolio-now-online/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 08:07:12 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=459</guid>
		<description><![CDATA[A list of web development freelance services I offer is now available on the services page. Also, you might be interested in my portfolio. I’d love to hear from you if you have a specific service request. You can easily contact me by email: michel@weimerskirch.net.
]]></description>
			<content:encoded><![CDATA[<p>A list of web development freelance services I offer is now available on the <a href="http://michel.weimerskirch.net/services/">services</a> page. Also, you might be interested in my <a href="http://michel.weimerskirch.net/portfolio/">portfolio</a>. I’d love to hear from you if you have a specific service request. You can easily contact me by email: <a href="mailto:michel@weimerskirch.net">michel@weimerskirch.net</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/xndRInTIIgPbLwjE6wdfMObLYcM/0/da"><img src="http://feedads.g.doubleclick.net/~a/xndRInTIIgPbLwjE6wdfMObLYcM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xndRInTIIgPbLwjE6wdfMObLYcM/1/da"><img src="http://feedads.g.doubleclick.net/~a/xndRInTIIgPbLwjE6wdfMObLYcM/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/ckFjvq_vNVE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2010/01/07/list-of-services-and-portfolio-now-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2010/01/07/list-of-services-and-portfolio-now-online/</feedburner:origLink></item>
		<item>
		<title>Joomla! 1.5 op Lëtzebuergesch</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/t_2aKbK1Ock/</link>
		<comments>http://michel.weimerskirch.net/2009/07/07/joomla-1-5-op-letzebuergesch/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 13:16:10 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=370</guid>
		<description><![CDATA[Virun enger Rei Méint hat ech ugefaangen Joomla! 1.5 op Lëtzebuergesch ze iwwersetzen. Well aner Projete Prioritéit haten, sinn ech ni dozou komm dat ofzeschléissen. Well ech awer denken datt vill Leit kënnen dovu profitéieren verëffentlechen ech haut den aktuelle Stand vun der Iwwersetzung. Ze fanne sinn d&#8217;Fichieren a mengem SVN-Verzeechnis:
SVN repository: https://svn.weimerskirch.net/joomla-lb
oder WebSVN: https://websvn.weimerskirch.net/
User: [...]]]></description>
			<content:encoded><![CDATA[<p>Virun enger Rei Méint hat ech ugefaangen Joomla! 1.5 op Lëtzebuergesch ze iwwersetzen. Well aner Projete Prioritéit haten, sinn ech ni dozou komm dat ofzeschléissen. Well ech awer denken datt vill Leit kënnen dovu profitéieren verëffentlechen ech haut den aktuelle Stand vun der Iwwersetzung. Ze fanne sinn d&#8217;Fichieren a mengem SVN-Verzeechnis:</p>
<p>SVN repository: <a href="https://svn.weimerskirch.net/joomla-lb" target="_blank">https://svn.weimerskirch.net/joomla-lb</a><br />
oder WebSVN: <a href="https://websvn.weimerskirch.net/" target="_blank">https://websvn.weimerskirch.net/</a></p>
<p>User: anonymous<br />
Kee Passwuert.</p>
<p>Hëllef bei der Iwwersetzung ass natierlech wëllkomm!</p>
<p><strong>Update: </strong> Den <a href="http://www.seck.lu/" target="_blank">Dave</a> huet mëttlerweil weider Deeler vun den Iwwersetzungen ofgeschloss.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/0pMWRkPI9rH9MUdAQLCYyZZCOXw/0/da"><img src="http://feedads.g.doubleclick.net/~a/0pMWRkPI9rH9MUdAQLCYyZZCOXw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0pMWRkPI9rH9MUdAQLCYyZZCOXw/1/da"><img src="http://feedads.g.doubleclick.net/~a/0pMWRkPI9rH9MUdAQLCYyZZCOXw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/t_2aKbK1Ock" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2009/07/07/joomla-1-5-op-letzebuergesch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2009/07/07/joomla-1-5-op-letzebuergesch/</feedburner:origLink></item>
		<item>
		<title>I’m on twitter</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/mp0cDUKBjSI/</link>
		<comments>http://michel.weimerskirch.net/2009/04/16/im-on-twitter/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 18:53:47 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Stuff]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=365</guid>
		<description><![CDATA[You can now follow me on twitter: http://twitter.com/weimerskirch
]]></description>
			<content:encoded><![CDATA[<p>You can now follow me on twitter: <a href="http://twitter.com/weimerskirch">http://twitter.com/weimerskirch</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/AsxEXUG3iefZuU7KLCYqPSTF5ls/0/da"><img src="http://feedads.g.doubleclick.net/~a/AsxEXUG3iefZuU7KLCYqPSTF5ls/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/AsxEXUG3iefZuU7KLCYqPSTF5ls/1/da"><img src="http://feedads.g.doubleclick.net/~a/AsxEXUG3iefZuU7KLCYqPSTF5ls/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/mp0cDUKBjSI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2009/04/16/im-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2009/04/16/im-on-twitter/</feedburner:origLink></item>
		<item>
		<title>Implementation of the Eifeler Regel for OpenOffice.org</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/BfO5XV9NOhM/</link>
		<comments>http://michel.weimerskirch.net/2009/01/31/implementation-of-the-eifeler-regel-for-openofficeorg/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 19:18:17 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Spellchecker.lu]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=328</guid>
		<description><![CDATA[Historical context of written Luxembourgish
As Luxembourgish has for a long time been mostly a spoken language, it strives for phonological accuracy in its written form. One striking phonological phenomenon, that is also reflected in written Luxembourgish, causes the deletion of the trailing &#8220;n&#8221; or &#8220;nn&#8221; in some contexts. This is called the &#8220;Eifeler Regel&#8220;.

Example: Ech [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Historical context of written Luxembourgish</strong></p>
<p>As Luxembourgish has for a long time been mostly a spoken language, it strives for phonological accuracy in its written form. One striking phonological phenomenon, that is also reflected in written Luxembourgish, causes the deletion of the trailing &#8220;n&#8221; or &#8220;nn&#8221; in some contexts. This is called the &#8220;<a href="http://en.wikipedia.org/wiki/Luxembourgish_language#Eifeler_Regel" target="_blank">Eifeler Regel</a>&#8220;.<br />
<span id="more-328"></span></p>
<p><strong>Example:</strong> Ech <em>hunn</em> e Brudder. (&#8220;I <em>have</em> a brother&#8221;)<br />
<strong>But:</strong> Ech <em>hu</em> keng Schwëster. (&#8220;I <em>have</em> no sister&#8221; as in &#8220;I don&#8217;t have a sister&#8221;)</p>
<p>In the second sentence the ending is dropped because it is not pronounced.</p>
<p>The big problem obviously is that in order to correctly apply that rule, a well founded knowledge of spoken Luxembourgish is absolutely necessary. However, reality is that even native speakers still have enormous problems to properly employ it.</p>
<p><strong>First steps</strong></p>
<p>I started developing a piece of software for an automatic application of that rule in 2006 (<a href="http://michel.weimerskirch.net/2006/06/26/grammar-and-style-checker-for-the-luxembourgish-language/" target="_blank">see here</a>). It proved to be very difficult, as Luxembourgish &#8220;borrows&#8221; words from other languages, which makes it impossible to specify a straightforward rule that always applies. My first implementation was done in Java (in the meantime I&#8217;ve also successfully ported it to PHP5).</p>
<p><strong>The Cortina project and the <em>Eifeler Regel</em></strong></p>
<p>I was, however, not the first one to try to implement the &#8220;Eifeler Regel&#8221;. In 1998, the Cortina project (founded by the government to develop proofreader for Luxembourgish) started developing a spelling checker that implemented the Eifeler Regel as an orthographic rule. The project was cancelled in 2002, leaving the software in a rather unusable state. According to information I got from one of the original developers, they annotated every word in the spell checking dictionary with information on whether or not it could drop the trailing n.</p>
<p><strong>Example:<br />
</strong>hunn           | T<br />
Prinzessin | F</p>
<p>T (true) means it can drop the final n, F (false) means it can&#8217;t. I don&#8217;t remember the exact notation they used, but this is the basic idea.</p>
<p>I found this approach for several reasons rather unflexible. First of all, manually annotating a list of several thousand words with phonological information inevitably leads to a certain error rate. Secondly, implementing the <em>Eifeler Regel</em> as an orthographical rule (which it is not) limits the quality of the correction suggestions (according to my own experience). A third reason is that whenever new words are added (e.g. a user adds words to their personal dictionary), those words would have to be manually annotated with the correct information about whether or not the <em>Eifeler Regel</em> can be applied, so this implementation can not handle unknown words.</p>
<p><strong>My approach for implementing the <em>Eifeler Regel</em></strong></p>
<p>The approach I took is radically different. I wrote a script that uses two lists of words as input (one list for which the rule applies and one for which it does not) and then returns a regular expression (in the case of the <em>Eifeler Regel</em> it has several hundred characters). Now, if a word does not exist in either of the lists, the probability that the regular expression detects the correct application of the <em>Eifeler Regel</em> is still above 99.99% (tested with real-life samples). Whenever a false positive or a false negative has been detected, that word is added to the second or the first list, respectively. Then, the regular expression is regenerated thereby increasing the probability for a correct rule detection.</p>
<p>This is of course a heuristic approach. The obvious disadvantage is that false positives are not excluded by design, but the probability that they occur is still low enough in order to provide reliable results.</p>
<p>On the other hand, having a strict separation between orthographic correction and the <em>Eifeler Regel</em> leads to a higher quality in the orthographic correction. Finally, because of the flexible approach, the <em>Eifeler Regel</em> can also be applied to words that are not yet part of the official spell checking dictionary, but exist only in a user dictionary.</p>
<p><strong>Integration into OpenOffice.org</strong></p>
<p>My first version for OpenOffice.org was rather badly integrated into the workflow, given that the correction window had to be opened in a new window (<a href="http://spellchecker.lu/wp-content/uploads/2008/06/gscll2.png" target="_blank" rel="lightbox[328]">Screenshot</a>). Fortunately, OpenOffice.org 3.0.1, which was released a few days ago, features a new grammar checking API. I took the opportunity to implement a new version that now is able to underline problems with the Eifeler Regel during typing.</p>
<p>Mathias Bauer (Project Lead OpenOffice.org Writer) has this to say about the new API:</p>
<blockquote><p><em>We wanted to make the API as simple as possible, especially we wanted to bring it into the working space of the target developers where strings, sentences and plain, simple paragraphs are used and not the very complex and hierarchical text structures and API of OOo (that of course are necessary for many other things).</em></p></blockquote>
<p>And I have to say they did quite a good job. Using the OpenOffice.org API plug-in for <a href="http://www.netbeans.org" target="_blank">NetBeans</a>, I was able to quickly create a component that implements the <em>com.sun.star.linguistic2.XProofreader</em> interface, thus providing a basic proofreading service. Within less than three days I had a running implementation (as I said before, only the OOo API integration is new, the rest of the code comes from a previous implementation).</p>
<p>The only thing that needed fiddling was the &#8220;Linguistic.xcu&#8221; file, an XML file that basically tells OpenOffice.org which proofreaders are available at which location. However, I was able to solve these with the help of the participants of the <em>lingucomponent</em> mailinglist. (thanks!)</p>
<p><strong>Technical overview</strong></p>
<p>Whenever the proofreader needs to check the text (e.g. automatically while writing text or manually when opening the proofreading window), the <em>doProofreading</em> method of the <em>XProofreader</em> interface is called with a String containing the text of a single paragraph. I then take that String, split it into sentences and then split the sentences into words (I call them &#8220;tokens&#8221;). In the future I also plan to tag those tokens with grammatical information in order to implement grammatical rules as well.</p>
<p>Splitting a paragraph into sentences is not as straightforward as it sounds because not every dot (&#8220;.&#8221;) marks the end of a sentence. Just take this example: &#8220;Meng Internetadress ass www.beispill.com&#8221;. That&#8217;s just one sentence, even though it contains two dots. The same applies to dates (e.g. &#8220;31. Januar&#8221;) or abbreviations (e.g. &#8220;Prof. Dr. XXX&#8221;).</p>
<p>Being able to work directly with Strings enormously simplifies the integration of proofreading tools. For my first OpenOffice.org extension still I had to iterate over the complex internal data structure of the Writer application.  Goodbye to <em>com.sun.star.text.XText</em>, <em>com.sun.star.container.XEnumeration</em> and all those horrible constructs <img src='http://michel.weimerskirch.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>After splitting a sentence into tokens, I iterate over a list of rules, and apply them to the sentences. Because I want to keep my implementation generic (in case I want to integrate it into another application), mistakes are handled in an internal data structure. Finally, the mistake list is converted to the data structure of OpenOffice.org, which handles displaying mistakes and displaying correction suggestions.</p>
<p>If I get the time I will provide some more technical information during the next weeks. Here&#8217;s a screenshot:</p>
<p><a rel="lightbox" href="http://michel.weimerskirch.net/wp-content/uploads/2009/01/plugin2.png" rel="lightbox[328]"><img class="alignnone size-medium wp-image-330" title="Spellchecker.lu Extension" src="http://michel.weimerskirch.net/wp-content/uploads/2009/01/plugin2-300x176.png" alt="" width="300" height="176" /></a></p>
<p>All in all, I am very happy with the final result. The binary can be downloaded on <a href="http://spellchecker.lu/download/openoffice/" target="_blank">Spellchecker.lu</a>. The release annoucement can be found <a href="http://spellchecker.lu/2009/02/nei-versioun-fir-openofficeorg/" target="_blank">here</a> (both pages are in Luxembourgish). I opted not to release the source code for now.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/5PtQtOXuNRnoRMPsQfatiWEqeoE/0/da"><img src="http://feedads.g.doubleclick.net/~a/5PtQtOXuNRnoRMPsQfatiWEqeoE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5PtQtOXuNRnoRMPsQfatiWEqeoE/1/da"><img src="http://feedads.g.doubleclick.net/~a/5PtQtOXuNRnoRMPsQfatiWEqeoE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/BfO5XV9NOhM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2009/01/31/implementation-of-the-eifeler-regel-for-openofficeorg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2009/01/31/implementation-of-the-eifeler-regel-for-openofficeorg/</feedburner:origLink></item>
		<item>
		<title>Spellchecker.lu for the iPhone</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/82fR52uo5JI/</link>
		<comments>http://michel.weimerskirch.net/2009/01/24/spellcheckerlu-for-iphone/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 09:36:08 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Spellchecker.lu]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=306</guid>
		<description><![CDATA[The iPhone version of Spellchecker.lu has been released yesterday. Users can now access a special version of the Luxembourgish online spelling checker with their iPhone browser in order to correct small texts as well as single words. The iPhone version is accessible via the address m.spellchecker.lu. See the post over on Spellchecker.lu for more information [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-308" title="Screenshot of Spellchecker.lu running on an iPhone" src="http://michel.weimerskirch.net/wp-content/uploads/2009/01/iphone3-100x150.png" alt="Screenshot of Spellchecker.lu running on an iPhone" width="100" height="150" />The iPhone version of Spellchecker.lu has been released yesterday. Users can now access a special version of the Luxembourgish online spelling checker with their iPhone browser in order to correct small texts as well as single words. The iPhone version is accessible via the address <strong>m.spellchecker.lu</strong>. See the <a href="http://spellchecker.lu/2009/01/spellcheckerlu-fir-den-iphone/" target="_blank">post over on Spellchecker.lu</a> for more information (in Luxembourgish).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/xJxiiAaUuDyFDjWq4XxKDG0JplY/0/da"><img src="http://feedads.g.doubleclick.net/~a/xJxiiAaUuDyFDjWq4XxKDG0JplY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xJxiiAaUuDyFDjWq4XxKDG0JplY/1/da"><img src="http://feedads.g.doubleclick.net/~a/xJxiiAaUuDyFDjWq4XxKDG0JplY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/82fR52uo5JI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2009/01/24/spellcheckerlu-for-iphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2009/01/24/spellcheckerlu-for-iphone/</feedburner:origLink></item>
		<item>
		<title>A successful year for Spellchecker.lu</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/ew8CLXTp3SE/</link>
		<comments>http://michel.weimerskirch.net/2009/01/04/a-successful-year-for-spellcheckerlu/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 17:26:36 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Spellchecker.lu]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=298</guid>
		<description><![CDATA[
2008 was a really successful year for Spellchecker.lu (my project aimed at developing a spelling checker for Luxembourgish). With over 1′704′401 corrected words between May and December, as well as a total of several thousand downloads between July and December, I think I can be really proud.
Please read the post over on spellchecker.lu for more [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-thumbnail wp-image-299 alignleft" title="Source: stockxpert.com" src="http://michel.weimerskirch.net/wp-content/uploads/2009/01/stockxpertcom_id390999_jpg_be6d9ce284da3882aa7780a3b37749ac-150x100.jpg" alt="Source: stockxpert.com" width="150" height="100" /></p>
<p>2008 was a really successful year for Spellchecker.lu (my project aimed at developing a spelling checker for Luxembourgish). With over 1′704′401 corrected words between May and December, as well as a total of several thousand downloads between July and December, I think I can be really proud.</p>
<p>Please read <a href="http://spellchecker.lu/2009/01/reckbleck-2008/" target="_blank">the post over on spellchecker.lu</a> for more information (in Luxembourgish).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/UjjwW8d4I26W-ps5bNRNmPHN_0E/0/da"><img src="http://feedads.g.doubleclick.net/~a/UjjwW8d4I26W-ps5bNRNmPHN_0E/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/UjjwW8d4I26W-ps5bNRNmPHN_0E/1/da"><img src="http://feedads.g.doubleclick.net/~a/UjjwW8d4I26W-ps5bNRNmPHN_0E/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/ew8CLXTp3SE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2009/01/04/a-successful-year-for-spellcheckerlu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2009/01/04/a-successful-year-for-spellcheckerlu/</feedburner:origLink></item>
		<item>
		<title>Script to convert a music playlist (.m3u) to a K3b project</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/6BM5hUJqRMs/</link>
		<comments>http://michel.weimerskirch.net/2008/12/30/m3utok3b/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 16:38:06 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=282</guid>
		<description><![CDATA[I wrote a small script that converts an m3u playlist to a k3b project.
Just save the following code snippet in a file called m3utok3b.sh, make it executable (chmod +x m3utok3b.sh) and run it (./m3utok3b.sh yourplaylist.m3u). Use it at your own risk!

echo application/x-k3b &#62; mimetype

awk 'BEGIN{
  print "&#60;?xml version="1.0" encoding="UTF-8"?&#62;"
  print "&#60;!DOCTYPE k3b_data_project&#62;"
  [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote a small script that converts an m3u playlist to a <a href="http://k3b.plainblack.com/" target="_blank">k3b</a> project.</p>
<p>Just save the following code snippet in a file called m3utok3b.sh, make it executable (chmod +x m3utok3b.sh) and run it (./m3utok3b.sh yourplaylist.m3u). <strong>Use it at your own risk!</strong><br />
<span id="more-282"></span></p>
<pre>echo application/x-k3b &gt; mimetype

awk 'BEGIN{
  print "&lt;?xml version="1.0" encoding="UTF-8"?&gt;"
  print "&lt;!DOCTYPE k3b_data_project&gt;"
  print "&lt;k3b_data_project&gt;"
  print "&lt;general&gt;&lt;/general&gt;"
  print "&lt;options&gt;&lt;/options&gt;"
  print "&lt;header&gt;&lt;/header&gt;"
  print "&lt;files&gt;"
}
{
  if(index($0, "#") == 0) {
    gsub(/&amp;/, "&amp;amp;")
    print "&lt;file&gt;&lt;url&gt;" $0 "&lt;/url&gt;&lt;/file&gt;"
  }
}

END {
  print "&lt;/files&gt;"
  print "&lt;/k3b_data_project&gt;"
}' "$1" &gt; maindata.xml

zip "$1.k3b" mimetype maindata.xml

rm maindata.xml
rm mimetype</pre>

<p><a href="http://feedads.g.doubleclick.net/~a/yMsSCQiBNOBVeWQMczMjYglPatQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/yMsSCQiBNOBVeWQMczMjYglPatQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yMsSCQiBNOBVeWQMczMjYglPatQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/yMsSCQiBNOBVeWQMczMjYglPatQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/6BM5hUJqRMs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2008/12/30/m3utok3b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2008/12/30/m3utok3b/</feedburner:origLink></item>
		<item>
		<title>Kubuntu on Acer Aspire 5735Z</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/GHjyiSggTM8/</link>
		<comments>http://michel.weimerskirch.net/2008/12/13/kubuntu-on-acer-aspire-5735z/#comments</comments>
		<pubDate>Sat, 13 Dec 2008 17:08:31 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=278</guid>
		<description><![CDATA[I bought a new laptop today. An Acer Aspire 5735Z to be precise. As I prefer to use Linux instead of Windows, I decided to install Kubuntu 8.10. I was very happy to notice that pretty much everything worked out of the box. Neither wireless LAN nor sound nor webcam needed any additional configuration. Even [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a new laptop today. An Acer Aspire 5735Z to be precise. As I prefer to use Linux instead of Windows, I decided to install Kubuntu 8.10. I was very happy to notice that pretty much everything worked out of the box. Neither wireless LAN nor sound nor webcam needed any additional configuration. Even the softkeys to increase/decrease the volume work without a problem.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/bZ0CL_6zqYYyUSRSEhdYP19bMl8/0/da"><img src="http://feedads.g.doubleclick.net/~a/bZ0CL_6zqYYyUSRSEhdYP19bMl8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bZ0CL_6zqYYyUSRSEhdYP19bMl8/1/da"><img src="http://feedads.g.doubleclick.net/~a/bZ0CL_6zqYYyUSRSEhdYP19bMl8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/GHjyiSggTM8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2008/12/13/kubuntu-on-acer-aspire-5735z/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2008/12/13/kubuntu-on-acer-aspire-5735z/</feedburner:origLink></item>
		<item>
		<title>Interview on letzlearn.org</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/fp3XR0DUipk/</link>
		<comments>http://michel.weimerskirch.net/2008/12/12/interview-on-letzlearnorg/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 18:18:02 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Lëtzebuergesch]]></category>
		<category><![CDATA[Spellchecker.lu]]></category>
		<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=274</guid>
		<description><![CDATA[Some time ago I did an interview with Let&#8217;z Learn, a website that provides video lessons to learn Luxembourgish. Most of the interview was about Spellchecker.lu (a website of mine where you can use and download a Luxembourgish spelling checker), but there were also a few questions about the Luxembourgish language in general. So go [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago I did an interview with <a href="http://www.letzlearn.org/" target="_blank">Let&#8217;z Learn</a>, a website that provides video lessons to learn Luxembourgish. Most of the interview was about <a href="http://spellchecker.lu" target="_blank">Spellchecker.lu</a> (a website of mine where you can use and download a Luxembourgish spelling checker), but there were also a few questions about the Luxembourgish language in general. So go ahead and <a href="http://www.letzlearn.org/en/interview/20081031.php" target="_blank"><strong>read it</strong></a> if you are interested.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/8OEBr4Ls6KHpyq1kTa5HzxZFcF0/0/da"><img src="http://feedads.g.doubleclick.net/~a/8OEBr4Ls6KHpyq1kTa5HzxZFcF0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8OEBr4Ls6KHpyq1kTa5HzxZFcF0/1/da"><img src="http://feedads.g.doubleclick.net/~a/8OEBr4Ls6KHpyq1kTa5HzxZFcF0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/fp3XR0DUipk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2008/12/12/interview-on-letzlearnorg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2008/12/12/interview-on-letzlearnorg/</feedburner:origLink></item>
		<item>
		<title>Spellchecker.lu Mobile Edition</title>
		<link>http://feedproxy.google.com/~r/michelweimerskirch/~3/85YueZl4DSY/</link>
		<comments>http://michel.weimerskirch.net/2008/08/19/spellcheckerlu-mobile-edition/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 12:45:07 +0000</pubDate>
		<dc:creator>michel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michel.weimerskirch.net/?p=268</guid>
		<description><![CDATA[Spellchecker.lu Mobile Edition has been released today. See the release announcement on spellchecker.lu (in Luxembourgish) for more information.
]]></description>
			<content:encoded><![CDATA[<p>Spellchecker.lu Mobile Edition has been released today. See the <a href="http://spellchecker.lu/2008/08/spellcheckerlu-mobile-edition/" target="_blank">release announcement</a> on spellchecker.lu (in Luxembourgish) for more information.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Lq4ICohoCiI7f-5Di2xT12ouOB4/0/da"><img src="http://feedads.g.doubleclick.net/~a/Lq4ICohoCiI7f-5Di2xT12ouOB4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Lq4ICohoCiI7f-5Di2xT12ouOB4/1/da"><img src="http://feedads.g.doubleclick.net/~a/Lq4ICohoCiI7f-5Di2xT12ouOB4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/michelweimerskirch/~4/85YueZl4DSY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://michel.weimerskirch.net/2008/08/19/spellcheckerlu-mobile-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://michel.weimerskirch.net/2008/08/19/spellcheckerlu-mobile-edition/</feedburner:origLink></item>
	</channel>
</rss>
