<?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>Jon Nordby &#187; Software</title>
	<atom:link href="http://www.jonnor.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonnor.com</link>
	<description>My grassy patch in a world of walled gardens</description>
	<lastBuildDate>Wed, 02 Jun 2010 18:43:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hardware passthrough in LXC (or: running a desktop in a cgroup)</title>
		<link>http://www.jonnor.com/2010/03/hardware-passthrough-in-lxc-or-running-a-desktop-in-a-cgroup/</link>
		<comments>http://www.jonnor.com/2010/03/hardware-passthrough-in-lxc-or-running-a-desktop-in-a-cgroup/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 15:20:28 +0000</pubDate>
		<dc:creator>jonnor</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[cgroup]]></category>
		<category><![CDATA[hardware passthrough]]></category>
		<category><![CDATA[lxc]]></category>
		<category><![CDATA[multiseat]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=146</guid>
		<description><![CDATA[At home I have a physical server that runs as a virtualization host (with kvm, lxc, qemu, libvirt and nfs), while the actual services I use run in virtualized servers, mostly as LXC containers.
One of these runs MPD and outputs music to the sound card of the host in addition to a web stream that [...]]]></description>
			<content:encoded><![CDATA[<p>At home I have a physical server that runs as a virtualization host (with kvm, lxc, qemu, libvirt and nfs), while the actual services I use run in virtualized servers, mostly as LXC containers.</p>
<p>One of these runs MPD and outputs music to the sound card of the host in addition to a web stream that I can access from anywhere in the world. Since the host and guest are using the same kernel, passing the soundcard on to the guest was as simple as bind mounting /dev/snd of the host into the root filesystem of the guest. I&#8217;m not quite sure how ALSA handles concurrent access, but it could be that this also works if several guests (or the host+guests) are playing to the same device.</p>
<p>But what is required to have working Xorg inside a cgroup/lxc container? Can we just do something similar? Turns out we can. Basic Xorg with the vesa driver and the old style input (no hal input hotplugging) works if you bind mount in /dev/tty7 (or another tty), /dev/mem, /dev/dri and /dev/input. Here is the obligatory screenshot:</p>
<div id="attachment_148" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-148" title="2010-03-29-160851_1280x1024_scrot" src="http://www.jonnor.com/wp/files/2010-03-29-160851_1280x1024_scrot-300x240.png" alt="Xorg running on the host graphics card from within a cgroup" width="300" height="240" /><p class="wp-caption-text">Xorg running on the host graphics card from within a cgroup</p></div>
<p>So whats my motivation for trying this out? Curiosity mostly, but in a multi-seat system it could be nice to have each seat run as separate OS in a lxc container. It would allow each seat to run different distributions (within certain limits) and make sure that resources (CPU time, memory) are distributed evenly. And to provide isolation for security reasons.</p>
<p>That we need access to /dev/mem is currently a deal breaker as far as security goes, because it means that whoever gains root access in one of the guests will have control over the host (and thus the other guests) because they can modify the physical memory. There has been some interest in running Xorg as a unprivileged user, and that might address this issue. Locking it down with SELinux or similar might also be possible.</p>
<p>Obviously for multiseat you will need multiple screens somehow, either by using multiple cards or by sharing a single card (using one output each). I don&#8217;t immediately see any reason why the former should pose any problems, and with Dave Airlies recent work on <a href="http://airlied.livejournal.com/72187.html">multiple X servers on a single card</a> that might also be possible in combination with cgroups/lxc.</p>
<p>I plan to test that this also works with the Intel driver, and perhaps also the Nvidia propriatary one with time. And perhaps try to get input with hal hotplugging working.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/03/hardware-passthrough-in-lxc-or-running-a-desktop-in-a-cgroup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LVM snapshot merging avaliable</title>
		<link>http://www.jonnor.com/2010/02/lvm-snapshot-merging-avaliable/</link>
		<comments>http://www.jonnor.com/2010/02/lvm-snapshot-merging-avaliable/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 17:55:39 +0000</pubDate>
		<dc:creator>jonnor</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[LVM]]></category>
		<category><![CDATA[LVM2]]></category>
		<category><![CDATA[snapshots]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=138</guid>
		<description><![CDATA[After being asked by a user in #ubuntu-no on Freenode IRC if there was a method of restoring his system, I researched if the underlying things needed to implement this was present (always curious&#8230;). While LVM has had snapshots for a long time, being able to merge a snapshot back into its origin has been [...]]]></description>
			<content:encoded><![CDATA[<p>After being asked by a user in #ubuntu-no on Freenode IRC if there was a method of restoring his system, I researched if the underlying things needed to implement this was present (always curious&#8230;). While <a href="http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)">LVM</a> has had snapshots for a long time, being able to merge a snapshot back into its origin has been missing. Some 15 minutes of googling showed that initial work on this was done <a href="http://kerneltrap.org/mailarchive/linux-kernel/2008/8/4/2812934/thread">in August 2008</a>, so strange if it hasn&#8217;t been completed yet? Turns out it has, so the strange part is that none of the Linux news sites have written about it (that I&#8217;ve seen).</p>
<p>The required kernel bit, a &#8220;merge target&#8221; in the DM layer, was merged in the just released linux <a href="http://kernelnewbies.org/Linux_2_6_33#head-3c0fcd3c11814268252fcf6312feb6e953264011">2.6.33</a> and the lvm parts are there from <a href="ftp://sources.redhat.com/pub/lvm2/WHATS_NEW">2.02.58</a>.  LVM can now do snapshot merging with lvconvert &#8211;merge! I&#8217;m assuming here that the device-mapper code thats in between those two components has also been finished and released, which ought to be a safe assumption.</p>
<p>This makes me wonder why Fedora has chosen to base their <a href="http://fedoraproject.org/wiki/Features/SystemRollbackWithBtrfs">System Rollback feature</a> for Fedora 13 on btrfs instead of LVM, which would work on any file-system. There are probably good reasons.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/02/lvm-snapshot-merging-avaliable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mypaint, OpenRaster, et.c. update</title>
		<link>http://www.jonnor.com/2010/02/mypaint-openraster-et-c-update/</link>
		<comments>http://www.jonnor.com/2010/02/mypaint-openraster-et-c-update/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 20:38:50 +0000</pubDate>
		<dc:creator>jonnor</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[LGM]]></category>
		<category><![CDATA[LGM2010]]></category>
		<category><![CDATA[MyPaint]]></category>
		<category><![CDATA[OpenRaster]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=132</guid>
		<description><![CDATA[OpenRaster
I managed to the GIMP OpenRaster plug-in into mainline GIMP. This means that GIMP 2.7.1 and forward will have rudimentary saving and loading support out-of-the-box. Users of GIMP 2.6 or 2.7.0 can download and install the plug-in from here.
Luka Čehovin started work on a reference library (libora) for OpenRaster. Hopefully this will, along the way, [...]]]></description>
			<content:encoded><![CDATA[<h2>OpenRaster</h2>
<p>I managed to the GIMP OpenRaster plug-in into mainline GIMP. This means that GIMP 2.7.1 and forward will have rudimentary saving and loading support out-of-the-box. Users of GIMP 2.6 or 2.7.0 can download and install the plug-in from <a href="http://registry.gimp.org/node/18435">here</a>.</p>
<p><a href="http://luka.tnode.com/">Luka Čehovin</a> started work on a <a href="http://create.freedesktop.org/wiki/OpenRaster/Reference_Library">reference library (libora)</a> for OpenRaster. Hopefully this will, along the way, make it easier to provide OpenRaster support in applications. Perhaps it can also help solve some performance issues we currently have in MyPaint when saving large images.</p>
<h2>MyPaint</h2>
<p>In late January we <a href="http://mypaint.intilinux.com/?p=302">released MyPaint 0.8.0</a>. The release was delayed a couple of months from the initial planning, and we did not get to integrate as much as we&#8217;d like from external git branches, but it was about time to get the changes we do have out in a stable version.  It was very nice to have a Windows installer ready from day 1, and that we were able to translate it into 12 languages! This weekend we also <a href="http://mypaint.intilinux.com/?p=362">released MyPaint 0.8.1</a>, which fixed a nasty memory leak and some minor issues. No Windows installer or DEBs yet tho.</p>
<p>Just recently, MyPaint has also been <a href="http://forum.intilinux.com/mypaint-development-and-suggestions/mac-osx-port/msg5950/#msg5950">successfully built and run on Mac OSX</a>, pressure sensitivity and all. Hopefully we can make it solid and easily available to end users with time.</p>
<p>I&#8217;m also hoping that we&#8217;re able to get 0.8.1 into official Ubuntu Lucid repositories. Sadly we missed the deadline for being imported from Debian, and I&#8217;m not sure who or how to approach this, but at least we got an issue for it <a href="https://bugs.launchpad.net/ubuntu/+source/mypaint/+bug/515016">filed on Launchpad</a>. If we also got into the spring releases of Fedora, OpenSUSE, Mandriva et.c. that would be great, but thats of lesser importance.</p>
<p>More important is documentation, we are currently way behind on end-user documentation. I started a skeleton for a <a href="http://wiki.mypaint.info/Documentation/Manual">manual</a>, and I suspect that I&#8217;ll be the one to do finish it also as no-one else has shown an interest in working on it. If I get motivated I might also do some screen-casts showing and explaining some features. Another area of documentation is making sure potential contributors have the information they need to easily be able to contribute, and I&#8217;m hoping to make all the relevant information available from the <a href="http://wiki.mypaint.info/Development">Development page</a> on our wiki. And I&#8217;ll probably document up some of the code also, eventually. Lots of things to be done in a software project besides writing code!</p>
<p>As a side note, <a href="http://www.koffice.org/krita/">Krita</a> 2.2 (due in early May) will include a MyPaint brush-engine, which is very cool. And apparently a commercial OS X application (that I cant remember the name of) already uses the it!</p>
<h2>Going to Libre Graphics Meeting?</h2>
<p>I&#8217;m looking at going to LGM in Brussels this year, to meet with MyPaint, GIMP, Krita and developers of free and open source graphics software.  Sadly its on 27th to 30th of May, which really is a bad time for me; May 27th being the dead-line for my senior project report and on June 2nd is my first exam.  But we&#8217;ve planned completion of the report 2 weeks before that and I&#8217;m trying to prepare in advance for my exams, so I&#8217;m hoping that I can go.</p>
<p>To make this event happen and enable developers to go  a money-raising campaign has just been launched on Pledgie: http://pledgie.com/campaigns/8926  Please support this effort if you are able!<br />
<a href="http://www.pledgie.com/campaigns/8926"><img src="http://www.pledgie.com/campaigns/8926.png?skin_name=chrome" border="0" alt="Click here to lend your support to: Libre Graphics Meeting 2010 and make a donation at www.pledgie.com !" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/02/mypaint-openraster-et-c-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On the road to MyPaint 0.8</title>
		<link>http://www.jonnor.com/2009/12/on-the-road-to-mypaint-0-8/</link>
		<comments>http://www.jonnor.com/2009/12/on-the-road-to-mypaint-0-8/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 12:16:02 +0000</pubDate>
		<dc:creator>jonnor</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GIMP]]></category>
		<category><![CDATA[MyPaint]]></category>
		<category><![CDATA[OpenRaster]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=93</guid>
		<description><![CDATA[MyPaint popularity is continuing to grow, much thanks to publicity from the Durian Open Movie project. We&#8217;re now working on the v0.8 release, which hopefully will be out this year.  I wrote a small post on the official site about that here.  I&#8217;m responsible for the translations, and so far we have 11 of them, [...]]]></description>
			<content:encoded><![CDATA[<p>MyPaint popularity is continuing to grow, much thanks to publicity from the Durian Open Movie project. We&#8217;re now working on the v0.8 release, which hopefully will be out this year.  I wrote a small post on the official site about that <a href="http://mypaint.intilinux.com/?p=215">here</a>.  I&#8217;m responsible for the translations, and so far we have 11 of them, with a couple more in the works that I know of.  Packaging is also picking up, soon most of the major GNU/Linux distros will have MyPaint in the official repos! Even some talk about a Mac OSX version (using X11.app tho).</p>
<p>I also plan to do some OpenRaster / GIMP-integration improvements and perhaps a small statusbar. I&#8217;m even considering writing a C library (with Python wrappers ofc) for OpenRaster, mostly to sped up saving and loading. A reference implementation would of course be nice to have.<br />
But that is somewhat unknown territory for me and I&#8217;m not sure if I&#8217;m able to set aside the time necessary for such a task&#8230; We&#8217;ll see!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2009/12/on-the-road-to-mypaint-0-8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MoinMoin, MyPaint &amp; Me</title>
		<link>http://www.jonnor.com/2009/06/moinmoin-mypaint-me/</link>
		<comments>http://www.jonnor.com/2009/06/moinmoin-mypaint-me/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 19:58:29 +0000</pubDate>
		<dc:creator>jonnor</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[MoinMoin]]></category>
		<category><![CDATA[MyPaint]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=5</guid>
		<description><![CDATA[One of my latest addictions are wikis.  So much that writing a blogpost like this, without being able to use wiki markup syntax, is quite annoying. I might have to fix that some day. Specifically I’ve set up my own MoinMoin wiki, where I can put all my silly ideas and thoughts. Circumstances made [...]]]></description>
			<content:encoded><![CDATA[<p>One of my latest addictions are wikis.  So much that writing a blogpost like this, without being able to use wiki markup syntax, is quite annoying. I might have to fix that some day. Specifically I’ve set up my own <a href="http://www.moinmo.in/">MoinMoin</a> wiki, where I can put all my silly ideas and thoughts. Circumstances made it so that I fixed up the norwegian translation of the 1.8.3 version. Due to pure foolishness on my part I did not check if the translation for the upcoming 1.9, so now we have a lot of conflicting strings (circa 200). Yay… Hopefully it will turn out for the better as me and <a href="http://story.idi.ntnu.no/~cassens/blog/">Jørg Cassens</a>, the translator focusing on 1.9, get them in sync again.</p>
<p>Recently I’ve also become involved in <a href="http://mypaint.intilinux.com/">MyPaint</a> development. It’s “a fast and easy open-source graphics application for digital painters”. You can follow development over at <a href="http://www.gitorious.org/mypaint">gitorious</a>. Things fixed untill now:</p>
<p><a href="http://www.jonnor.com/wp/files/2009-06-16-205144_473x434_scrot.png"><img class="alignright" title="2009-06-16-205144_473x434_scrot" src="http://www.jonnor.com/wp/files/2009-06-16-205144_473x434_scrot-150x150.png" alt="MyPaint with filename in titlebar" width="150" height="150" /></a></p>
<ul>
<li>Filenames in the title bar!</li>
<li>Improved file handling; Nice and consistent error messages when trying to open a file that doesnt exist or you dont have permissions to read.</li>
</ul>
<p>My artistic skills are severly limited, and I’ve never used a tablet before but here is the obligatory screenshot.  Needless to say, I dont do this awesome program any justice at all. <a href="http://forum.intilinux.com/mypaint-finished-work/david-revoy-(-deevad-)-mypaint-sketchbook-gallery-brushes">Here</a> is someone who does (David Revay). But hey, I’m at least halfway there right?!</p>
<p>If you are on Arch Linux, packages are avaliable from AUR, both stable version and -git. Somehow I’m also the maintainer of those now… If you are on anything else, you will have to go to the homepage and get it there. Hopefully packages will be in Debian and Ubuntu official repos shortly.<br />
Do note that it currently does not build on Windows, or cygwin at the moment. So if you are the type of person that can make such magic happen, please step up for the task!</p>
<p>I hope to do some more adventurous coding on some of my own project ideas soon, but for now I expect to continue contributing bits and pieces on MyPaint to gain some experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2009/06/moinmoin-mypaint-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
