<?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 &#187; TheLastRipper</title>
	<atom:link href="http://jopsen.dk/blog/category/computer/thelastripper/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>Announcing TheLastRipper development discussion group/list</title>
		<link>http://jopsen.dk/blog/2008/10/announcing-thelastripper-development-discission-grouplist/</link>
		<comments>http://jopsen.dk/blog/2008/10/announcing-thelastripper-development-discission-grouplist/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 21:04:46 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2008/10/announcing-thelastripper-development-discission-grouplist</guid>
		<description><![CDATA[It&#8217;s been quite a while since I&#8217;ve been actively developing TheLastRipper, even though I&#8217;ve been promising myself I&#8217;d find time for it over and over again&#8230; But since there&#8217;s other people who have shown interest for the project, I&#8217;ve decided that it&#8217;s probably best if project coordination happens in an open forum instead of just [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been quite a while since I&#8217;ve been actively developing TheLastRipper, even though I&#8217;ve been promising myself I&#8217;d find time for it over and over again&#8230;<br />
But since there&#8217;s other people who have shown interest for the project, I&#8217;ve decided that it&#8217;s probably best if project coordination happens in an open forum instead of just sending mails between developers. Therefore I&#8217;ve created a <a href="http://groups.google.com/group/thelastripper-dev">TheLastRipper development discussion group</a> for discussion of project direction, features, technical matters etc. without always having to create an issue in the <a href="http://code.google.com/p/thelastripper/issues/list">issue tracker</a>.<br />
I&#8217;m not leaving the project, just realizing that with my current activity or just in general, it&#8217;d probably be good for a project with multiple developers to have a development list for discussions of all the stuff we can&#8217;t fit in the <a href="http://code.google.com/p/thelastripper/issues/list">issue tracker</a>.</p>
<p>So if you&#8217;re interested in TheLastRipper development <a href="http://groups.google.com/group/thelastripper-dev">join today</a>&#8230;</p>
<p><strong>Update:</strong> I&#8217;m happy to announce that Andreas Langmann is also a project owner now, so that I&#8217;m not the only administrator&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2008/10/announcing-thelastripper-development-discission-grouplist/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Release of TheLastRipper 1.3.0 for Windows</title>
		<link>http://jopsen.dk/blog/2008/01/release-of-thelastripper-130-for-windows/</link>
		<comments>http://jopsen.dk/blog/2008/01/release-of-thelastripper-130-for-windows/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 19:35:59 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2008/01/release-of-thelastripper-130-for-windows</guid>
		<description><![CDATA[Development on TheLastRipper have been stalled for a while, but thanks to Andreas&#8217; work we&#8217;re now able to release TheLastRipper 1.3.0 for Windows. It features: New GUI station selection improvements. Using the new last.fm protocol version 1.2 (Skip now works!). Additional management features like skip songs already recorded. A few other minor details&#8230; This release [...]]]></description>
			<content:encoded><![CDATA[<p>Development on TheLastRipper have been stalled for a while, but thanks to Andreas&#8217; work we&#8217;re now able to release <a href="http://code.google.com/p/thelastripper/downloads/detail?name=TheLastInstaller_1.3.0.exe&#038;can=2&#038;q=#makechanges">TheLastRipper 1.3.0 for Windows</a>. It features:</p>
<ul>
<li>New GUI station selection improvements.</li>
<li>Using the new last.fm protocol version 1.2 (Skip now works!).</li>
<li>Additional management features like skip songs already recorded.</li>
<li>A few other minor details&#8230;</li>
</ul>
<p>This release is largely created by Andreas, since I haven&#8217;t really had time for it. Which is also why it&#8217;s not ported to Linux yet, though the executables with Windows.Forms GUI runs fine under Mono/Linux, we&#8217;d like a GTK# GUI because it&#8217;s much prettier. I hope I&#8217;ll find time to do a Linux port soon&#8230;</p>
<p>Now some might be wondering why it&#8217;s called version 1.3.0 and not 1.2.0 &#8211; well, what can I say: It&#8217;s a &#8220;known issue&#8221; <img src='http://jopsen.dk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I think I accidentally incremented it one too much, and since we can&#8217;t really delete downloads from GoogleCode it&#8217;s going to be version 1.3.0 instead. It would also look weird to have a version 1.2 featured and a version 1.3 deprecated.</p>
<p>Anyway I don&#8217;t think the version number thing is so bad either, I think I previously stated that there wouldn&#8217;t come a version 1.2.0, because I was going to rewrite the codebase. Because a rewrite would be needed to make a clean, easy portable and extendable backend implementation of the Last.fm protocol version 1.2. I started development of such a clean backend, but it&#8217;s still stuck in development, since I don&#8217;t have time for it at the moment.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2008/01/release-of-thelastripper-130-for-windows/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>First final OS X release, version 1.1.1</title>
		<link>http://jopsen.dk/blog/2007/09/first-final-os-x-release-version-111/</link>
		<comments>http://jopsen.dk/blog/2007/09/first-final-os-x-release-version-111/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 14:23:19 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/09/first-final-os-x-version-111</guid>
		<description><![CDATA[I&#8217;m happy to announce that we&#8217;ve finally ported the bugfix from the 1.1.1 release to OS X. As reported earlier all prior version of TheLastRipper are broken, due to minor changes on the serverside. This means that we haven&#8217;t had a working OS X version for about 2 weeks, the Windows and Linux versions were [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce that we&#8217;ve finally ported the bugfix from the 1.1.1 release to OS X. As reported earlier <a href="http://jopsen.dk/blog/2007/09/all-version-of-thelastripper-broken">all prior version of TheLastRipper are broken</a>, due to minor changes on the serverside. This means that we haven&#8217;t had a working OS X version for about 2 weeks, the Windows and Linux versions were patched within 3 days, but since we don&#8217;t really have an OS X developers on the team this took a while longer. Anyway, it should work now, we&#8217;ve also added menu entries linking to the <a href="http://code.google.com/p/thelastripper/wiki/Help">help pages</a> on our <a href="http://code.google.com/p/thelastripper/w/list">wiki</a>. Our beta was close, but not all done, now we think that we&#8217;ve got a fairly stable and feature complete version for OS X, therefore this release will be known as <a href="http://thelastripper.googlecode.com/files/TheLastRipper%20OS%20X%201.1.1.dmg">TheLastRipper for OS X version 1.1.1</a>, yes it&#8217;s final not a beta.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/09/first-final-os-x-release-version-111/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Last.fm protocol version 1.2, unofficial documentation</title>
		<link>http://jopsen.dk/blog/2007/09/lastfm-protocol-version-12-unofficial-documentation/</link>
		<comments>http://jopsen.dk/blog/2007/09/lastfm-protocol-version-12-unofficial-documentation/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 15:24:11 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/09/lastfm-protocol-version-12-unofficiel-documentation</guid>
		<description><![CDATA[As I promised a few days ago I&#8217;m releasing the unofficial Last.fm documentation that I&#8217;ve been developing in cooperation with Tobias Brennecke (tburny) and Matt Brown (blueboxed), two other Last.fm users. This new protocol for last.fm is very interesting, it offers a small playlist instead of one long audio stream, this is nice since metadata [...]]]></description>
			<content:encoded><![CDATA[<p>As I <a href="http://jopsen.dk/blog/2007/09/all-version-of-thelastripper-broken">promised</a> a few days ago I&#8217;m releasing <a href="http://code.google.com/p/thelastripper/wiki/LastFM12UnofficialDocumentation">the unofficial Last.fm documentation</a> that I&#8217;ve been developing in cooperation with Tobias Brennecke (tburny) and Matt Brown (blueboxed), two other <a href="http://last.fm">Last.fm</a> users. This new protocol for last.fm is very interesting, it offers a small playlist instead of one long audio stream, this is nice since metadata is included in this playlist. The unofficial documentation is available from TheLastRipper wiki, <a href="http://code.google.com/p/thelastripper/wiki/LastFM12UnofficialDocumentation">here</a>. All the operations should be possible to do with <a href="http://jopsen.dk/blog/www.mozilla.com/firefox/">Firefox</a>.</p>
<p>Anyone familiar with the <a href="http://gabistapler.de/blog/index.php?/archives/268-Play-last.fm-streams-without-the-player.html">old protocol</a> (version 1.1) knows that Last.fm gave you an mp3 stream, and a place to go if you wanted to request the metadata associated with the music currently playing. This wasn&#8217;t very nice, because you had to guess when a new song started, I know that the last metadata response contained information about how long the song was, but you didn&#8217;t know exactly when the song was started. Alternatively it was possible to search the stream for mp3 headers, which gave you precise information about when a new song started. But that required some computing. The new protocol just returns an <a href="http://www.xspf.org/">XSPF</a> playlist with mp3s and metadata, now that is very nice.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/09/lastfm-protocol-version-12-unofficial-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All prior versions of TheLastRipper broken!</title>
		<link>http://jopsen.dk/blog/2007/09/all-version-of-thelastripper-broken/</link>
		<comments>http://jopsen.dk/blog/2007/09/all-version-of-thelastripper-broken/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 15:33:47 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/09/all-version-of-thelastripper-broken</guid>
		<description><![CDATA[I regret to annonce that all current prior versions of TheLastRipper are broken. It seams that Last.fm dropped support for had a bug in their 1.1 protocol, this weekend. All streams optained from this protocol returns &#8220;HTTP/1.0 667 Not enough content left to play this station&#8221;. I think it&#8217;s a shame, considering the amount of [...]]]></description>
			<content:encoded><![CDATA[<p>I regret to annonce that all <strike>current</strike> <em>prior</em> versions of TheLastRipper are broken. It seams that Last.fm <strike>dropped support for</strike> <em>had a bug in</em> their 1.1 protocol, this weekend. All streams optained from this protocol returns  &#8220;HTTP/1.0 667 Not enough content left to play this station&#8221;. I think it&#8217;s a shame, considering the amount of opensource audio players out there with playback support for Last.fm version 1.1. Since all of these audio players, including TheLastRipper have been broken.</p>
<p>Nevertheless, I and some other last.fm users have developed an unofficial documentation of the new last.fm protocol version 1.2. I&#8217;ll release it shortly, and I&#8217;d expect a implementation of this new protocol for TheLastRipper to start rather shortly too. <strike>If you want to stay updated on this issue, you can subscribe to <a href="http://code.google.com/p/thelastripper/issues/detail?id=63">issue 63</a>. You do that by clicking on the star.</strike></p>
<p><strong>UPDATE:<br />
</strong>Last.fm didn&#8217;t drop support for 1.1 protocol it was just gone for the weekend + Monday. Though a minor change in the login scheme caused TheLastRipper to freeze, this issue have now been fixed, and latest release of <a href="http://code.google.com/p/thelastripper">TheLastRipper</a> works (Version 1.1.1). We&#8217;ll still be working on an opensource implementation of the Last.fm 1.2 protocol.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/09/all-version-of-thelastripper-broken/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Volume normalization with Amarok</title>
		<link>http://jopsen.dk/blog/2007/08/volume-normalization-with-amarok/</link>
		<comments>http://jopsen.dk/blog/2007/08/volume-normalization-with-amarok/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 20:08:25 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/08/volume-normalization-with-amarok</guid>
		<description><![CDATA[Some users of TheLastRipper has requested integrated volume nomalization (Issue 61). While I admit that I&#8217;ve noticed the volume changes between tracks, I&#8217;ve never really bordered to find a solution. But since others had similar issues, I decided to take a look at it. I ended up looking at ReplayGain, a project that aims to [...]]]></description>
			<content:encoded><![CDATA[<p>Some users of <a href="http://code.google.com/p/thelastripper">TheLastRipper</a> has requested integrated volume nomalization (<a href="http://code.google.com/p/thelastripper/issues/detail?id=61">Issue 61</a>). While I admit that I&#8217;ve noticed the volume changes between tracks, I&#8217;ve never really bordered to find a solution. But since others had similar issues, I decided to take a look at it. I ended up looking at ReplayGain, a project that aims to add a tag, containing volume information, to all songs. Then read the tag at playback and determine the volume. Though the value of the tag must be calculated first.</p>
<p>As this seams like a big feature, and as argued by Andreas in the issue tread, it&#8217;s probably not a feature for TheLastRipper. Nevertheless it doesn&#8217;t mean that the problem should be fixed, just that it should be done elsewhere. This is also good, since you entire music collection doesn&#8217;t necessarily origin from TheLastRipper. The solution is to implement this feature at playback level, meaning in your audio player.</p>
<p>For those of us running <a href="http://ubuntu.com">Ubuntu</a> and using <a href="http://amarok.kde.org/">Amarok</a>, this can be done easily. First open Amarok, choose &#8220;script-management&#8221;, Click download new scripts. This will open a dialog showing the newest, most popular and most downloaded script for Amarok. Just install the script called <a href="http://www.kde-apps.org/content/show.php?content=26073">ReplayGain</a>. Once this is installed you&#8217;ll have to install some dependencies with Synaptic. I&#8217;ll try to list those I think is needed: python-kde3, mp3gain, vorbisgain, flac, python-xml</p>
<p>If you enter the script-management in Amarok again, you can enable the ReplayGain script. Enable it, select it and click &#8220;Settings&#8221;, you can tweak the ReplayGain script a little here. Once your done with that leave the settings, and ReplayGain will print a small popup, telling you which optional dependencies you are missing. I&#8217;ve probably forgot to list some of them, you may find them in Synaptic if you think you need them. Though I haven&#8217;t found &#8220;aacgain&#8221; or &#8220;replaygain&#8221; in the Ubuntu repositories.</p>
<p>Well, you don&#8217;t need &#8220;replaygain&#8221; or &#8220;AACGain&#8221;, unless you, like me, have <a href="http://en.wikipedia.org/wiki/Advanced_Audio_Coding">AAC</a> music. Actually I&#8217;ve just bought my first AAC music from <a href="http://www.apple.com/itunes/">iTunes</a>. I haven&#8217;t used iTunes before, but I thought I&#8217;d give it a try since they started releasing DRM-free content. So I installed iTunes in my virtual machine, and copied the AAC files back to my Ubuntu system after they were downloaded. First I must say, the quality of iTunes plus files are very good, and the files has <a href="http://www.id3.org/">ID3v2</a> tags (other mp3&#8242;s I&#8217;ve bought online did!). It&#8217;s sad that iTunes doesn&#8217;t run on Linux, Apple could at least offer a web interface for iTunes plus.</p>
<p>Well, if you have AAC encoded music, you&#8217;ll need <a href="http://altosdesign.com/aacgain/">AACGain</a>, it&#8217;s not in Ubuntu or Debian repositories. Actually I couldn&#8217;t find any .deb packages for it anywhere. So I decided to make my own. You may <a href="http://jopsen.dk/blog/downloads/aacgain_1.7-1_i386.deb">download my ACCGain package here</a>. Feel free to <a href="http://jopsen.dk/en/Contact">contact</a> me if you want the source package.</p>
<p>Once you&#8217;re done installing dependencies, and have enabled the ReplayGain Amarok script, you can right click in your playlist and choose &#8220;Apply Replaygain tags&#8221;, I selected &#8220;To entire collection using album tags&#8221; it took a while but the volume was automatically determined by Amarok afterwards.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/08/volume-normalization-with-amarok/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Release of TheLastRipper 1.1.0 for Windows and Linux</title>
		<link>http://jopsen.dk/blog/2007/08/release-of-thelastripper-110-for-windows-and-linux/</link>
		<comments>http://jopsen.dk/blog/2007/08/release-of-thelastripper-110-for-windows-and-linux/#comments</comments>
		<pubDate>Sun, 19 Aug 2007 14:35:09 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/08/release-of-thelastripper-110-for-windows-and-linux</guid>
		<description><![CDATA[Like I wrote yesterday, a release of TheLastRipper have been in the workings for a while. Now the final details have finally been solved and I&#8217;ve released TheLastRipper for both Linux and Windows. Among some of the most interesting changes are: ID3v2 support (Issue 5) International characters (Issue 4) Perfect clipping of songs (Issue 6) [...]]]></description>
			<content:encoded><![CDATA[<p>Like I wrote yesterday, a release of TheLastRipper have been in the workings for a while. Now the final details have finally been solved and I&#8217;ve released TheLastRipper for both Linux and Windows. Among some of the most interesting changes are: <span class="blogbody" /></p>
<ul>
<li>ID3v2 support (<strike><a title="Ripper doesn't support ID3v2" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=5">Issue 5</a></strike>)</li>
<li>International characters (<strike><a title="International characters" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=4">Issue 4</a></strike>)</li>
<li><strong>Perfect clipping</strong> of songs (<strike><a title="Delay between metadata and sound" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=6">Issue 6</a></strike>)</li>
<li>Fix tab-index and improve UI (<strike><a title="Tab-Index in Preferences/Login-Button" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=41">Issue 41</a></strike>)</li>
<li>Handle exceptions when launching browser on windows (<strike><a title="Online Help Crashes App (Exception)" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=45">Issue 45</a></strike>)</li>
<li>General exception handling dialog (<strike><a title="General exception handling dialog" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=46">Issue 46</a></strike>)</li>
<li>Support for http proxies (<strike><a title="Proxyserver" class="closed_ref" href="http://code.google.com/p/thelastripper/issues/detail?id=44">Issue 44</a></strike>)</li>
<li>Better overall stability</li>
</ul>
<p>You may download the new release of TheLastRipper from our <a href="http://code.google.com/p/thelastripper">project page</a> now!</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/08/release-of-thelastripper-110-for-windows-and-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>TheLastRipper 0.9 Beta for Mac OS X, with Cocoa interface!</title>
		<link>http://jopsen.dk/blog/2007/08/thelastripper-09-beta-for-mac-os-x-with-cocoa-interface/</link>
		<comments>http://jopsen.dk/blog/2007/08/thelastripper-09-beta-for-mac-os-x-with-cocoa-interface/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 10:26:49 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/08/thelastripper-09-beta-for-mac-os-x-with-cocoa-interface</guid>
		<description><![CDATA[A new release of TheLastRipper have been in the workings for a while and now it just about to be done. Among some of the new features are: Perfect clipping of songs ID3v2 tag Support for proxy settings Better threading International character support Many minor bugfixes These features have been under development for a while [...]]]></description>
			<content:encoded><![CDATA[<p>A new release of TheLastRipper have been in the workings for a while and now it just about to be done. Among some of the new features are:</p>
<ul>
<li>Perfect clipping of songs</li>
<li>ID3v2 tag</li>
<li>Support for proxy settings</li>
<li>Better threading</li>
<li>International character support</li>
<li>Many minor bugfixes</li>
</ul>
<p>These features have been under development for a while and the Windows and Linux clients in SVN already have these features, they will be release as 1.1 very soon too. But last weekend me (Jonas) and Rene of TheLastRipper developer team, decided that it was time to get a beautiful port for OS X. So we started out with the 1.1 codebase from SVN and installed <a href="http://developer.apple.com/tools/xcode/">XCode</a>, <a href="http://www.mono-project.com/Downloads">Mono</a> and <a href="http://code.google.com/p/cocoa-sharp-dev/wiki/CSharpPlugin">CSharpXcodePlugin</a> on a Mac. Then we wrote one of those simple &#8220;hallo world&#8221; applications in Cocoa#, after becoming a little familiar with <a href="http://developer.apple.com/tools/interfacebuilder.html">Interface Builder</a> and Cocoa#, we started the development of a client using Cocoa#.</p>
<p>And even though the Cocoa# bindings aren&#8217;t complete, the weird behaviour of Interface Builder, minor bugs in Xcode and the fact that we wrote most of it during a hangover, the result compiles (sometimes), and works fine too. This version is now being released as <a href="http://code.google.com/p/thelastripper/downloads/detail?name=TheLastRipper%20OSX%200.9%20Beta.dmg">TheLastRipper for Mac version 0.9 Beta</a>, once it&#8217;s been tested a little more and the last details have been fixed it will be released as stable too.</p>
<p>Now a bit about Mac and Mono based development. First of I&#8217;d like to say that I&#8217;m not a Mac user and never have been, I&#8217;m a Linux user with years of Windows experience, now practiced in a virtual machine for legacy applications. Now getting <a href="http://code.google.com/p/cocoa-sharp-dev/wiki/CSharpPlugin">CSharpXcodePlugin</a> installed and doing the <a href="http://code.google.com/p/cocoa-sharp-dev/wiki/VideoTutorial">LetterCounter</a> video tutorial is definitively a good start. But it&#8217;s difficult to find documentation for Cocoa#, I had to go with what I could get from the assembly cocoa-sharp.dll using Monodocer. The result was that we copied the cocoa-sharp.dll to Windows and added it as reference to a SharpDevelop project to enable intelliSense, since that was basicly all the documentation we could find. But once that was done, developing the actual code on Windows and the interface on OS X was actually pretty easy. Especially with TheLastRipper since all the logic is in a platform independent .dll, which means we only had to write a little clue code. Of course you need to get hang of how Cocoa  and Interface Builder works, but once you&#8217;ve got that, it&#8217;s certainly possible to work with&#8230; Even though Mono on Mac isn&#8217;t as easy as it is on Windows or Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/08/thelastripper-09-beta-for-mac-os-x-with-cocoa-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Export Monodoc to GoogleCode Wiki</title>
		<link>http://jopsen.dk/blog/2007/04/howto-export-monodoc-to-googlecode-wiki/</link>
		<comments>http://jopsen.dk/blog/2007/04/howto-export-monodoc-to-googlecode-wiki/#comments</comments>
		<pubDate>Sat, 07 Apr 2007 22:39:46 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/04/howto-export-monodoc-to-googlecode-wiki</guid>
		<description><![CDATA[Lately I&#8217;ve been working on a small project called TheLastRipper, hosted on Code.google.com. A few days ago I started wondering about how to document a Mono/.Net application, not because there&#8217;s much to document in TheLastRipper or worth documenting for that matter. Anyway I ended up looking at some pages in the Mono wiki, it seams [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been working on a small project called <a title="TheLastRipper project page" href="http://code.google.com/p/thelastripper">TheLastRipper</a>, hosted on <a title="Google Code homepage" href="http://code.google.com">Code.google.com</a>. A few days ago I started wondering about how to document a Mono/.Net application, not because there&#8217;s much to document in TheLastRipper or worth documenting for that matter. Anyway I ended up looking at some pages in the <a title="Mono: Generating documentation" href="http://www.mono-project.com/Generating_Documentation">Mono wiki</a>, it seams the best way of generating documentation, wasn&#8217;t by using <a title="MSDN article about documentation comments" href="http://msdn.microsoft.com/msdnmag/issues/02/06/XMLC/">documentations comments</a> handled by the C# compilers <a title="Mono: Inline Xml documentation" href="http://www.mono-project.com/Generating_Documentation#Inline_XML_Documentation">/doc</a> argument. This is the method most (former) Windows developers are familiar with, once documentation comments have been exported to Xml by the C# compiler, it can be generate into a <a title="Wikipedia: Microsoft Compiled HTML Help" href="http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help">CHM file</a> using programs like <a title="ndoc's website at sourceforge" href="http://ndoc.sourceforge.net/">ndoc</a>. Instead the Mono project generates documentation from binaries, which gives them Xml files containing all methods, classes etc. Later on you&#8217;ll then be able to fill out the empty comments. This way documentation of code development have been completely separated.</p>
<p>You can read the discussion between the two different documentation formats in <a title="Mono: Generating documentation" href="http://www.mono-project.com/Generating_Documentation">Mono wiki</a>. I&#8217;ve chosen a middle path, by exporting my current documentation comments to monodoc. I won&#8217;t discuss the process of documenting an application using monodoc, the process is already well documented in the <a title="Mono: Generating documentation" href="http://www.mono-project.com/Generating_Documentation">Mono wiki</a> article I&#8217;ve linked to a few times. What I will discuss is how to parse you monodoc Xml to WikiMarkup that can be hosted on GoogleCode. Mono already comes with an application to parse monodoc to plain html, called monodocs2html. I&#8217;ve made a modification of the application, resulting in <a title="Download my modification" href="http://jopsen.dk/blog/downloads/monodocs2wiki.tar.gz">monodocs2wiki</a>. If you have your documentation as monodoc Xml you can parse it to WikiMarkup, by doing following:</p>
<ol>
<li>Download: <a title="Download monodocs2wiki" href="http://jopsen.dk/blog/downloads/monodocs2wiki.tar.gz">monodocs2wiki</a></li>
<li>Extract the</li>
<li>Checkout the /wiki/ directory from your GoogleCode svn repository</li>
<li>Run: ./monodocs2wiki -source:./docs/ -dest:./wiki/<br />
<blockquote><p>Where ./docs/ is the base path of your monodoc xml files (Containing an index.xml file). And ./wiki/ is the /wiki/ directory you checked out of svn.</p></blockquote>
</li>
<li>Commit your /wiki/ directory to svn, and view you documentation in you GoogleCode wiki.</li>
</ol>
<p>The /wiki/ directory of your GoogleCode svn repository, contains all the pages in your GoogleCode wiki. You may wish to change a few things in the template, perhaps using a different label than just Documentation. Take a look in the README file if you what to know more about customization. The current template in the <a title="Download monodocs2wiki" href="http://jopsen.dk/blog/downloads/monodocs2wiki.tar.gz">monodocs2wiki</a> application, uses the markup used in the wikies at Google Code. You may modify it, I think it would be easy to port it to another WikiMarkup. Any questions, feel free to leave a comment or mail me&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/04/howto-export-monodoc-to-googlecode-wiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2 bugfixes, closer to stable&#8230;</title>
		<link>http://jopsen.dk/blog/2007/03/2-bugfixes-closer-to-stable/</link>
		<comments>http://jopsen.dk/blog/2007/03/2-bugfixes-closer-to-stable/#comments</comments>
		<pubDate>Thu, 22 Mar 2007 19:22:11 +0000</pubDate>
		<dc:creator>Jonas Finnemann Jensen</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[TheLastRipper]]></category>

		<guid isPermaLink="false">http://jopsen.dk/blog/2007/03/2-bugfixes-closer-to-stable</guid>
		<description><![CDATA[It&#8217;s been a while since release 1.0.0, well short while at least. About a weeks ago we released a bugfix version 1.0.1 (Mac version 0.2), this was a rather big bugfix. Before 1.0.1 there was a lot of theading issues, that made the program practically broken on dual core Windows systems. We&#8217;ve fixed most of [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since release 1.0.0, well short while at least. About a weeks ago we released a bugfix version 1.0.1 (Mac version 0.2), this was a rather big bugfix. Before 1.0.1 there was a lot of theading issues, that made the program practically broken on dual core Windows systems. We&#8217;ve fixed most of these issues, and now both the Windows and Linux versions have become more stable. The issues fixed in version 1.0.1 was those listed on our known issues pages.</p>
<p>Well, today we&#8217;ve released a Linux version 1.0.2 and a Mac version 0.2.1, those are not very critical. Well the Mac release might be, since I discovered that the Mac version 0.2 didn&#8217;t start when the application was launched. It seams there was a typo in the packaging process, I fixed the typo and we&#8217;ve released Mac version 0.2.1. Which should be running now, requiring X11 and Mono. The problem with the Linux version was that the menu entry for playlist generation was dead, we&#8217;ve fixed, and the Linux version should now be capable of generating playlists. That&#8217;s the story behind the latest bugfixes, the Windows version 1.0.1 is still good.</p>
]]></content:encoded>
			<wfw:commentRss>http://jopsen.dk/blog/2007/03/2-bugfixes-closer-to-stable/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
