<?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>Jopsen.dk/blog</title>
	<atom:link href="http://jopsen.dk/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://jopsen.dk/blog</link>
	<description>Thoughts mixed with random memory dumps...</description>
	<lastBuildDate>Tue, 24 Aug 2010 10:40:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Turning OpenOffice Math into a visual formula editor</title>
		<link>http://jopsen.dk/blog/2010/08/turning-openoffice-math-into-a-visual-formula-editor/</link>
		<comments>http://jopsen.dk/blog/2010/08/turning-openoffice-math-into-a-visual-formula-editor/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 10:40:56 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=211</guid>
		<description><![CDATA[I&#8217;ve spend most my summer working on my GSoC project, which was to create a visual formula editor for OpenOffice Math. Currently, formulas are entered in OpenOffice Math using a plaintext command language, this can be efficent and easy for power users, however, it&#8217;s an absolute show stopper for most casual users. So I&#8217;ve spend [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spend most my summer working on my GSoC project, which was to create a visual formula editor for OpenOffice Math. Currently, formulas are entered in OpenOffice Math using a plaintext command language, this can be efficent and easy for power users, however, it&#8217;s an absolute show stopper for most casual users. So I&#8217;ve spend my summer writing a visual formula editor for OpenOffice Math, you can see demonstration here:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/3foNqKYAlYY?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube-nocookie.com/v/3foNqKYAlYY?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I participated in GSoC for Go OpenOffice, which is a project that maintains a set of patches on top of OpenOffice. Go OpenOffice is the OpenOffice version distributed with OpenSuSE, Ubuntu and other distros, it is allegedly a lot better than the official OpenOffice release. And also available for Windows.</p>
<p>Hacking OpenOffice have been a very exciting experience. I haven&#8217;t worked on a project so large and complex before. It easily takes 2 hours to build OpenOffice and the sources and binaries fills about 13 GiB. Luckily I didn&#8217;t have to rebuild everytime I had to test something.</p>
<p>The visual formula editor, see video above, is not production ready yet. That is it needs extensive testing and a few extra features&#8230; However, I plan to keep working on it. You can read more about it&#8217;s features and current status <a href="http://www.freedesktop.org/wiki/Software/ooo-build/SummerOfCode/2010/Jonas#VisualFormulaEditorpatchforOpenOfficeMath">here.</a></p>
<p>I don&#8217;t think I&#8217;ll keep updating that wiki page, but rather post some updates here once in a while. If you are eager to help test this feature when it comes that far, feel free to leave a comment with your email&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2010/08/turning-openoffice-math-into-a-visual-formula-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hjemme fra børnesommerlejr 2010</title>
		<link>http://jopsen.dk/blog/2010/07/hjemme-fra-b%c3%b8rnesommerlejr-2010/</link>
		<comments>http://jopsen.dk/blog/2010/07/hjemme-fra-b%c3%b8rnesommerlejr-2010/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 16:46:30 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Dansk]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=203</guid>
		<description><![CDATA[Så har jeg endeligt fået sovet ud efter endnu en hård og fantastisk børnesommerlejr&#8230; Den sidste uge har jeg været leder for nogle 5-6 klasses piger på Kfum-Kfuk distrikt Midtjyllands børnesommerlejr 2010. Og igen var der tale om en fed lejr masser af sjov, vand og sol (måske i virkeligheden for meget for en nørd [...]]]></description>
			<content:encoded><![CDATA[<p>Så har jeg endeligt fået sovet ud efter endnu en hård og fantastisk børnesommerlejr&#8230; Den sidste uge har jeg været leder for nogle 5-6 klasses piger på Kfum-Kfuk distrikt Midtjyllands børnesommerlejr 2010. Og igen var der tale om en fed lejr masser af sjov, vand og sol (måske i virkeligheden for meget for en nørd som mig). I år måtte jeg så også se børn der var mine unger for 3 år siden komme med som ungledere, den slags er faktisk lidt foruroligende. Men efter grundig opgørelse, for ja jeg kunne faktisk ikke huske det, så har jeg været med på børnesommerlejr som leder 5 (+1 en gang som ungleder). Når, men jeg har ikke tid til at reflektere over at blive gammel, det kan jeg gøre når jeg bliver pensioneret <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Temaet for årets børnesommerlejr var cirkus. Dette skulle selvfølgelige reflekteres i hiken, hvor vi bl.a. havde kapløb i klovne sko, flødeskums kast (på leder) og tiger tæmning som poster. Anders og jeg var posteret ved tiger tæmnings posten, her skiftedes vi til at kravle rundt, skærer tænder og skrige os hæse, mens ungerne skulle pacificeres os med pakketape. Nedenunder ses, en farlig tiger (mig), indfanget af 8 friske tiger tæmnings aspiranter <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><a href="http://jopsen.dk/blog/wp-content/uploads/2010/07/BSL-tiger-2010.png"><img class="alignnone size-full wp-image-205" title="BSL-tiger-2010" src="http://jopsen.dk/blog/wp-content/uploads/2010/07/BSL-tiger-2010.png" alt="" width="743" height="506" /></a></p>
<p>Til trods for et par dråber regn forløb hiken helt godt&#8230; Vi overlevede alle sammen, selvom vi savnede vores har-alt-mulig-i-traileren-mand Jens Christian, det forlyder dog at han kommer igen næste år <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Udover et par dråber på hiken fik vi ikke noget regn på børnesommerlejr. Men det betyder jo ikke at man kan forblive tør, når ungerne får lov at give en leder vand til lejrbål hvis de har det pæneste telt. Således gik det altså til at jeg ikke kunne komme til lejrbål uden at blive våd&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2010/07/hjemme-fra-b%c3%b8rnesommerlejr-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>groo, a GRim Object Oriented programming language</title>
		<link>http://jopsen.dk/blog/2010/06/groo-a-grim-object-oriented-programming-language/</link>
		<comments>http://jopsen.dk/blog/2010/06/groo-a-grim-object-oriented-programming-language/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 09:46:26 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=195</guid>
		<description><![CDATA[Hmm&#8230; Not the official title of my fourth semester project at Aalborg University. For which I just got an A&#8230; and have been thinking about publishing since I handed it in. This semester my group have designed and implemented a small statically typed object oriented language slightly inspired by Python. We wrote our own lexer [...]]]></description>
			<content:encoded><![CDATA[<p><em>Hmm&#8230; Not the official title of my fourth semester project at Aalborg University. For which I just got an A&#8230; and have been thinking about publishing since I handed it in.</em></p>
<p>This semester my group have designed and implemented a small statically typed object oriented language slightly inspired by Python. We wrote our own lexer and parser generator in Python, and implemented the compiler in C++. And just for the record we implemented the DFA of the lexer and PDA of the parser using goto&#8217;s, inspired by <a href="http://re2c.org/"><span style="color: #000000;">re2c</span></a>, this was quite fun and the result very fast.</p>
<p>The language is called groo (that was the best name we could come up with), it compiles into gril (groo intermediate language) which in turn run on VROOM (groo virtual machine) where memory is managed by MOM (Mark-sweep Object Manager). Whilst this isn&#8217;t the best project yet, and all the acronyms doesn&#8217;t make much sens, I really like to say that when we need to release memory we call MOM to clean up <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
(I appoligies for my crazy sens of humor).</p>
<p>I don&#8217;t think the project is of much use to anybody else&#8230; But if you want to play with simple, well documented compiler in C++, this might be it&#8230; Also the parser generator is AFAIK pretty unique, haven&#8217;t see anybody else implement a parser using goto&#8217;s&#8230; Anyway the project report and groo compiler source code is all in English and available here:</p>
<ul>
<li><a href="http://jopsen.dk/blog/downloads/d201a-report.pdf">Project report</a> (1.5 MiB PDF)</li>
<li><a href="http://jopsen.dk/blog/downloads/groo-1.0.tar.gz">Compiler source code</a> (16,5 MiB tarball)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2010/06/groo-a-grim-object-oriented-programming-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>zbar-sharp, now bugfixed and pushed to github</title>
		<link>http://jopsen.dk/blog/2010/01/zbar-sharp-now-bugfixed-and-pushed-to-github/</link>
		<comments>http://jopsen.dk/blog/2010/01/zbar-sharp-now-bugfixed-and-pushed-to-github/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 16:02:47 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[zbar-sharp]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=185</guid>
		<description><![CDATA[I&#8217;ve long been wanting to play with Git, but have either missed the time or the reason&#8230; Anyway, as I discovered a minor bug in the zbar-sharp bindings I recently released&#8230; I figured this might just be the kind of project I could push to github, and either forget or bugfix depending on what mood [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve long been wanting to play with Git, but have either missed the time or the reason&#8230; Anyway, as I discovered a minor bug in the zbar-sharp bindings I <a href="http://jopsen.dk/blog/2009/12/zbar-bindings-for-c-sharp/">recently released</a>&#8230; I figured this might just be the kind of project I could push to github, and either forget or bugfix depending on what mood I&#8217;m in when a bug is discovered&#8230; <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
So I&#8217;ve created a github repository for <a href="http://github.com/jopsen/zbar-sharp">zbar-sharp</a>, to which I&#8217;ve published a minor bugfix&#8230; I&#8217;ve also managed to publish the documentation there&#8230; it was a bit tricky, because GitHub only wants to serve HTML files if they&#8217;re in a special branch&#8230; Nevertheless I succeeded&#8230; And zbar-sharp can now be found here:</p>
<ul>
<li><a href="http://github.com/jopsen/zbar-sharp">Project page</a></li>
<li><a href="git://github.com/jopsen/zbar-sharp.git">Git repository</a></li>
</ul>
<p>By the way did I mention, git is really nice&#8230; I just had a little fun making a bugfix branch and merging it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2010/01/zbar-sharp-now-bugfixed-and-pushed-to-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design patterns</title>
		<link>http://jopsen.dk/blog/2010/01/design-patterns/</link>
		<comments>http://jopsen.dk/blog/2010/01/design-patterns/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 11:01:34 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=177</guid>
		<description><![CDATA[I recently finished reading &#8220;Design Patterns: Elements of Reusable Object-Oriented Software&#8221; and thought I&#8217;d share a word about this book. Not that there&#8217;s much to say, it&#8217;s absolutely a classic, and definitely worth a read&#8230; I&#8217;ve found the patterns applicable many places, and recently had the privilege of using one in my C# programming exam. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-178" style="padding-right: 5px; float: left;" title="design-patterns" src="http://jopsen.dk/blog/wp-content/uploads/2010/01/design-patterns-book-cover.png" alt="" width="302" height="394" />I recently finished reading &#8220;Design Patterns: Elements of Reusable Object-Oriented Software&#8221; and thought I&#8217;d share a word about this book. Not that there&#8217;s much to say, it&#8217;s absolutely a classic, and definitely worth a read&#8230;</p>
<p>I&#8217;ve found the patterns applicable many places, and recently had the privilege of using one in my C# programming exam. I previous mentioned this book when I discussed &#8220;<a href="http://jopsen.dk/blog/2009/08/framework-design-guidelines/">Framework Design Guidelines</a>&#8220;, which I wasn&#8217;t too happy about at the time&#8230; However, &#8220;Design Patterns&#8221; is definitely the book for writing reusable code, whereas &#8220;Framework Design Guidelines&#8221; is more concerned with the usability of the APIs.</p>
<p>Anyway, that was a word on &#8220;Design Patterns&#8221;, definitely worth a read&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2010/01/design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZBar bindings for C#</title>
		<link>http://jopsen.dk/blog/2009/12/zbar-bindings-for-c-sharp/</link>
		<comments>http://jopsen.dk/blog/2009/12/zbar-bindings-for-c-sharp/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 14:58:29 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[zbar-sharp]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=161</guid>
		<description><![CDATA[As part of the food management system my group made this semester, we wrote bindings for ZBar and based on those a bar scanning widget for Gtk#. Anyway, I figured it might be useful somebody else, so I&#8217;ve been using a few days cleaning up the ZBar bindings, extracting the Gtk# widget from our UI-mess [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-162 alignright" style="padding-left: 5px; float: right;" title="gtkzbar-sharp-example" src="http://jopsen.dk/blog/wp-content/uploads/2009/12/gtkzbar-sharp-example.png" alt="gtkzbar-sharp-example" width="403" height="584" />As part of the <a href="http://jopsen.dk/blog/2009/12/foodolini-a-food-management-system/">food management system</a> my group made this semester, we wrote bindings for <a href="http://zbar.sourceforge.net/">ZBar</a> and based on those a bar scanning widget for Gtk#. Anyway, I figured it might be useful somebody else, so I&#8217;ve been using a few days cleaning up the ZBar bindings, extracting the Gtk# widget from our UI-mess and writing a simple example of how to use it.</p>
<p>The result is bindings for a subset of ZBar and a Gtk# bar scanning widget. I don&#8217;t intend to maintain the source, but if you find any bugs etc. or wish to start a project for the bindings, please leave a comment&#8230;</p>
<ul>
<li><a title="Documentation for zbar-sharp." href="http://jopsen.github.com/zbar-sharp/docs/">zbar-sharp documentation</a></li>
<li><a href="http://github.com/jopsen/zbar-sharp/downloads">Download zbar-sharp</a></li>
</ul>
<p>The example application using the bar code scanning widget can be seen on to right. Note: this was a really lousy webcam <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . The check-mark appears when a bar code have been recognized and then fades away.</p>
<p>In <a title="The project I made these bindings for..." href="http://jopsen.dk/blog/2009/12/foodolini-a-food-management-system/">Foodolini</a> we used <a href="http://en.wikipedia.org/wiki/HAL_%28software%29">HAL</a> to detect webcams as they were plugged, however, having heard that Ubuntu will be deprecating HAL, I didn&#8217;t care to clean up the source for this feature. If you interested it can be found in the source for <a href="http://jopsen.dk/blog/2009/12/foodolini-a-food-management-system/">Foodolini</a>. And if anybody should happen to know how to detect webcams, distro independently, without HAL, please leave a comment&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2009/12/zbar-bindings-for-c-sharp/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Foodolini, A food management system</title>
		<link>http://jopsen.dk/blog/2009/12/foodolini-a-food-management-system/</link>
		<comments>http://jopsen.dk/blog/2009/12/foodolini-a-food-management-system/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 19:51:10 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=156</guid>
		<description><![CDATA[Now I&#8217;m done with my third semester at Aalborg University. The focus on this semester was software engineering with the Object-Oriented Analysis (OOA&#38;D). Personally I found this subject rather boring, I guess making pretty diagrams trying explain technical stuff in a manner &#8220;mortals&#8221; can understand maybe utterly uninteresting Anyway, for this project we analyzed, designed [...]]]></description>
			<content:encoded><![CDATA[<p>Now I&#8217;m done with my third semester at Aalborg University. The focus on this semester was software engineering with the Object-Oriented Analysis (OOA&amp;D). Personally I found this subject rather boring, I guess making pretty diagrams trying explain technical stuff in a manner &#8220;mortals&#8221; can understand maybe utterly uninteresting <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, for this project we analyzed, designed and implemented system for managing recipes and food in a common household. The system was suppose to compute nutritional intake and manage diets and exercises as well, however, these features were never fully designed and implemented. Nevertheless, it uses the <a href="http://www.ars.usda.gov/Services/docs.htm?docid=8964">USDA National Nutrient Database for Standard Reference</a>, to find the nutritional content of various groceries.</p>
<p>The system is called Foodolini and was implemented in C# on <a href="http://www.mono-project.com">Mono</a> using Gtk#, but also runs on .Net and <a href="http://www.mono-project.com/Gtk-Sharp_Installer_for_.NET_Framework">Gtk# for .Net</a>. Foodolini uses Sqlite as database, and we wrote a simple and neat ORM tool, inspired by <a href="http://subsonicproject.com/">SubSonic</a>&#8216;s <a href="http://subsonicproject.com/docs/Using_SimpleRepository">SimpleRepository</a>. However, the most interesting feature in my opinion is the bar code scanner used when registering groceries in the system. It&#8217;s implemented using a <a href="http://zbar.sourceforge.net/">ZBar</a> which captures and scans images from a webcam. I&#8217;ll be release C# bindings for ZBar and a Gtk# widget in an upcoming blog post, when I&#8217;ve cleaned it up a bit&#8230;</p>
<ul>
<li><a title="Sources and binaries for Linux and Windows, sort of large (100 MiB)..." href="http://jopsen.dk/blog/downloads/Foodolini.zip">Foodolini 1.0.0</a> (sources, binaries and documentation)</li>
<li><a title="A very long and boring report... :)" href="http://jopsen.dk/blog/downloads/Foodolini_Report.pdf">Report</a> (documenting the analysis, design and implementation of Foodolini)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2009/12/foodolini-a-food-management-system/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Musicplayer module for pluck</title>
		<link>http://jopsen.dk/blog/2009/10/musicplayer-module-for-pluck/</link>
		<comments>http://jopsen.dk/blog/2009/10/musicplayer-module-for-pluck/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 14:41:51 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=150</guid>
		<description><![CDATA[I&#8217;ve been working a bit on a website for a friend, not computer literate, so I took a look around for a simple, easy to use, content management system without a million useless  features and found pluck. It&#8217;s simple and yet supports modules to extend the functionality, though within limits&#8230; Anyway, I needed a MusicPlayer [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working a bit on a website for a friend, not computer literate, so I took a look around for a simple, easy to use, content management system without a million useless  features and found <a href="http://pluck-cms.org">pluck</a>. It&#8217;s simple and yet supports modules to extend the functionality, though within limits&#8230;</p>
<p>Anyway, I needed a MusicPlayer module that would make it easy to publish music in Flash based music player, so I wrote one. The <a href="http://pluck-cms.org/docs/dev:start">documentation</a> for pluck is fairly good, php on the other hand is horrible (it took me a while to figure out I had to enable error reporting). Nevertheless, the result allows the user to upload mp3s, choose player skin and settings. For playback I used <a href="http://blog.lacymorrow.com/projects/xspf-jukebox/">Xspf Jukebox</a> which has 20 skins included some of which are fairly good looking&#8230;</p>
<p>You can <a href="http://cloud.github.com/downloads/jopsen/pluckplayer/pluckplayer-1.1.tar.gz">download the module here&#8230;</a> It&#8217;s for pluck 4.6, tested with 4.6.3.</p>
<p><strong>Update:</strong> This plugin is now hosted at github: <a href="http://github.com/jopsen/pluckplayer">github.com/jopsen/pluckplayer</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2009/10/musicplayer-module-for-pluck/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Working on Pwytter in Google Summe of Code</title>
		<link>http://jopsen.dk/blog/2009/08/working-on-pwytter-in-google-summe-of-code/</link>
		<comments>http://jopsen.dk/blog/2009/08/working-on-pwytter-in-google-summe-of-code/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 08:44:32 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Pwytter]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=124</guid>
		<description><![CDATA[This summer I&#8217;ve been working on Pwytter as a part of Google Summer of Code. My project was to separate the backend from the frontend and make a new user interface with PyQt. In my original propsal, I also wanted to do a GTK frontend, however, this was dropped in exchange for a more polished [...]]]></description>
			<content:encoded><![CDATA[<p>This summer I&#8217;ve been working on <a href="http://code.google.com/p/pwytter/">Pwytter</a> as a part of <a title="Google Summer of Code" href="http://code.google.com/soc/">Google Summer of Code</a>. My project was to separate the backend from the frontend and make a new user interface with PyQt. In my original <a title="Abstract for my proposal" href="http://socghop.appspot.com/student_project/show/google/gsoc2009/winlibre/t124024903606">propsal</a>, I also wanted to do a GTK frontend, however, this was dropped in exchange for a more polished Qt frontend (I do have the basics for a GTK frontend lying around, if anybody is interested, but it&#8217;s far from usable).</p>
<p>While writing a backend for Pwytter I also created some abstractions for micro-blogging services, so that Pwytter supports multiple accounts and multiple services (currently <a href="http://twitter.com/">Twitter</a> and <a href="http://identi.ca/">Identi.ca</a>). With this new backend all the messages are also cached in an sqlite database, enabling Pwytter for work while offline.</p>
<p><img class="size-full wp-image-142 alignnone" title="pwytter" src="http://jopsen.dk/blog/wp-content/uploads/2009/08/pwytter.png" alt="pwytter" width="500" height="574" /></p>
<p>I also added theming support to the Qt frontend I wrote for Pwytter, above is a screenshot of Pwytter running the &#8220;Twitter-like&#8221; theme (as you can see have also be translated, so far only to Danish). Pwytter uses WebKit to display tweets, users and other types of content, thus themes can customize the GUI using HTML templates and Qt stylesheets. Documentation for writing such themes can be found in the <a title="Pwytter theme documentation" href="http://code.google.com/p/pwytter/wiki/PwytterThemeDocumentation">project wiki</a>, I plan to write an article on subject when this Pwytter branch is released. So far this Pwytter branch is still under development, and interested developers can find <a title="Install instructions for the Pwytter backend branch" href="http://code.google.com/p/pwytter/wiki/BackendBranchInstall">install instructions</a> in the project wiki.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2009/08/working-on-pwytter-in-google-summe-of-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Framework Design Guidelines</title>
		<link>http://jopsen.dk/blog/2009/08/framework-design-guidelines/</link>
		<comments>http://jopsen.dk/blog/2009/08/framework-design-guidelines/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:50:12 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/?p=130</guid>
		<description><![CDATA[A few months ago I felt like I needed to get better at writing clean reusable code, so I impulsively bought a book called Framework Design Guidelines, Conventions, Idioms, and Patterns for Reuable .NET Libraries. Now having read the thing I must admit that I found large parts of it rather boring. The book is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-131  alignleft" style="padding: 5px; float: left;" title="FrameworkDesignGuidelines" src="http://jopsen.dk/blog/wp-content/uploads/2009/08/FrameworkDesignGuidelines-220x300.jpg" alt="Framework Design Guidelines" width="214" height="281" /></p>
<p>A few months ago I felt like I needed to get better at writing clean reusable code, so I impulsively bought a book called Framework Design Guidelines, Conventions, Idioms, and Patterns for Reuable .NET Libraries. Now having read the thing I must admit that I found large parts of it rather boring. The book is mainly presented in &#8220;Do&#8221;/&#8221;Do not&#8221; form, however, interrupted by annotations that discusses these guidelines, and gives examples to where these are followed or forgotten in the .Net Framework.</p>
<p>Apart from the annotation this book is mainly about usability of .Net libraries, conventions and guidelines for the public interface of a .Net library. This book only briefly touches a few design patterns, but apart from these it&#8217;s all about the public interface and how to design this in order to facilitate extensibility. So if you&#8217;re look for coding guidelines on how to design the public interface for a .Net library this is the book. However, I was probably a bit to impulsive, so I&#8217;ll be reading <a href="httphttp://en.wikipedia.org/wiki/Design_Patterns_%28book%29">Design Patterns</a> next&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2009/08/framework-design-guidelines/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
