<?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>blog.ryara.net</title>
	<atom:link href="http://blog.ryara.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ryara.net</link>
	<description></description>
	<lastBuildDate>Thu, 01 Jul 2010 10:43:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=9507</generator>
		<item>
		<title>Patch for FiSH for irssi with recode</title>
		<link>http://blog.ryara.net/2010/06/14/patch-fish-irssi-with-recode/</link>
		<comments>http://blog.ryara.net/2010/06/14/patch-fish-irssi-with-recode/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 20:37:47 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=154</guid>
		<description><![CDATA[This patch fixes a buffer overflow (causing a segfault) that would happen if an ISO-8859-1 sent a string consisting of many instances of a single extended character (å, ä, ö etc). The patch is against FiSH v1.0-RC5, and is only &#8230; <a href="http://blog.ryara.net/2010/06/14/patch-fish-irssi-with-recode/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This patch fixes a buffer overflow (causing a segfault) that would happen if an ISO-8859-1 sent a string consisting of many instances of a single extended character (å, ä, ö etc).</p>
<p>The patch is against FiSH v1.0-RC5, and is only relevant if you use the recode support in FiSH.</p>
<p>The side effect of this patch is that lines that would previously make irssi segfault will now be cut off (due to limits with the structure of irssi modules).</p>
<p>You can download the patch here: <a href="http://blog.ryara.net/files/FiSH-irssi.v1.00-RC5-recode-segfault-fix.patch">FiSH-irssi.v1.00-RC5-recode-segfault-fix.patch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2010/06/14/patch-fish-irssi-with-recode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>libucfg</title>
		<link>http://blog.ryara.net/2010/04/29/libucfg/</link>
		<comments>http://blog.ryara.net/2010/04/29/libucfg/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:07:42 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=150</guid>
		<description><![CDATA[I just released libucfg, a small configuration library in ANSI C. You can find it here.]]></description>
			<content:encoded><![CDATA[<p>I just released libucfg, a small configuration library in ANSI C. You can find it <a href="http://github.com/tobbez/libucfg">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2010/04/29/libucfg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ld-preload-reverse</title>
		<link>http://blog.ryara.net/2009/12/22/ld-preload-reverse/</link>
		<comments>http://blog.ryara.net/2009/12/22/ld-preload-reverse/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 03:27:17 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=141</guid>
		<description><![CDATA[I though I would post this piece of code since it has been laying around for quite a while. ld-preload-reverse is a LD_PRELOAD library that overrides the most common functions for writing text to a terminal, and reverses their output: &#8230; <a href="http://blog.ryara.net/2009/12/22/ld-preload-reverse/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I though I would post this piece of code since it has been laying around for quite a while.</p>
<p>ld-preload-reverse is a LD_PRELOAD library that overrides the most common<br />
functions for writing text to a terminal, and reverses their output:</p>
<p>Looks like this:</p>
<pre>
tobbez@sagiri ~/dev/ld-preload-reverse $ LD_PRELOAD=./ld-preload-reverse.so bash
 $ esrever-daolerp-dl/ved/~ irigas@zebbotls
GNIYPOC  elifekaM  EMDAER  c.esrever-daolerp-dl  os.esrever-daolerp-dl
 $ esrever-daolerp-dl/ved/~ irigas@zebbotcat Ma elifek
os.esrever-daolerp-dl :lla

c.esrever-daolerp-dl :os.esrever-daolerp-dl
c.esrever-daolerp-dl os.esrever-daolerp-dl o- derahs- CIPf- ldl- llaW- ccg

:naelc YNOHP.
os.esrever-daolerp-dl f- mr
 $ esrever-daolerp-dl/ved/~ irigas@zebbottixe
</pre>
<p>It&#8217;s licensed under the Eiffel Forum License 2, and you can find the code <a href="http://github.com/tobbez/ld-preload-reverse/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/12/22/ld-preload-reverse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>lighttpd rewrite rules for Symphony CMS</title>
		<link>http://blog.ryara.net/2009/12/05/lighttpd-rewrite-rules-for-symphony-cms/</link>
		<comments>http://blog.ryara.net/2009/12/05/lighttpd-rewrite-rules-for-symphony-cms/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 16:46:08 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=135</guid>
		<description><![CDATA[For Symphony 2.0.6. url.rewrite-once += ( "^/symphony/favicon.ico$" => "$0", "^/symphony/symphony/(assets&#124;content&#124;lib&#124;template)/.*$" => "$0", "^/symphony/workspace/[^/]+/.*$" => "$0", "^/symphony/image/(.+\.(jpg&#124;gif&#124;jpeg&#124;png&#124;bmp))$" => "/symphony/extensions/jit_image_manipulation/lib/image.php?param=$1", "^/symphony/symphony/?(\?(.*))?$" => "/symphony/index.php?mode=administration&#038;$2", "^/symphony/symphony(/(.*/?))?(\?(.*))?$" => "/symphony/index.php?symphony-page=$1&#038;mode=administration&#038;$4", "^/symphony/([^?]*/?)(\?(.*))?$" => "/symphony/index.php?symphony-page=$1&#038;$3" ) Replace the first occurrence of &#8216;symphony&#8217; on every line with the location &#8230; <a href="http://blog.ryara.net/2009/12/05/lighttpd-rewrite-rules-for-symphony-cms/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For <a href="http://symphony-cms.com/">Symphony</a>  2.0.6.</p>
<pre>url.rewrite-once += ( "^/symphony/favicon.ico$" => "$0",
                      "^/symphony/symphony/(assets|content|lib|template)/.*$" => "$0",
                      "^/symphony/workspace/[^/]+/.*$" => "$0",
                      "^/symphony/image/(.+\.(jpg|gif|jpeg|png|bmp))$" => "/symphony/extensions/jit_image_manipulation/lib/image.php?param=$1",
                      "^/symphony/symphony/?(\?(.*))?$" => "/symphony/index.php?mode=administration&#038;$2",
                      "^/symphony/symphony(/(.*/?))?(\?(.*))?$" => "/symphony/index.php?symphony-page=$1&#038;mode=administration&#038;$4",
                      "^/symphony/([^?]*/?)(\?(.*))?$" => "/symphony/index.php?symphony-page=$1&#038;$3" )
</pre>
<p>Replace the first occurrence of &#8216;symphony&#8217; on every line with the location of your Symphony installation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/12/05/lighttpd-rewrite-rules-for-symphony-cms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google wave nominations</title>
		<link>http://blog.ryara.net/2009/11/25/google-wave-nominations/</link>
		<comments>http://blog.ryara.net/2009/11/25/google-wave-nominations/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 18:28:07 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Random stuff]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=125</guid>
		<description><![CDATA[Seeing as I now have 19 nominations left from the second and third batch I received, I&#8217;ll offer the same thing as Ax0n over at H-I-R did: be among the first 19 to post your email address as base64 in &#8230; <a href="http://blog.ryara.net/2009/11/25/google-wave-nominations/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.ryara.net/wp-content/uploads/2009/11/wave-invites.png" alt="wave-invites" title="wave-invites" width="474" height="362" class="alignnone size-full wp-image-129" /></p>
<p>Seeing as I now have 19 nominations left from the second and third batch I received, I&#8217;ll offer the same thing as <a href="http://www.h-i-r.net/2009/11/google-wave-invite-nominations.html">Ax0n over at H-I-R</a> did: be among the first 19 to post your email address as <a href="http://en.wikipedia.org/wiki/Base64">base64</a> in the comments, and I&#8217;ll send you one.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/11/25/google-wave-nominations/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Amsterdam &amp; beginnings of Hacking at Random</title>
		<link>http://blog.ryara.net/2009/08/11/amsterdam-beginnings-of-hacking-at-random/</link>
		<comments>http://blog.ryara.net/2009/08/11/amsterdam-beginnings-of-hacking-at-random/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 22:18:54 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Random stuff]]></category>
		<category><![CDATA[har2009]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=111</guid>
		<description><![CDATA[Just posting these few photos before I go to sleep today. Since I didn&#8217;t get my real camera with me all of them are taken with my mobile phone camera, so quality isn&#8217;t really that great (slight understatement). Anyway, most &#8230; <a href="http://blog.ryara.net/2009/08/11/amsterdam-beginnings-of-hacking-at-random/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just posting these few photos before I go to sleep today. Since I didn&#8217;t get my real camera with me all of them are taken with my mobile phone camera, so quality isn&#8217;t really that great (slight understatement). Anyway, most of them are from the way to, and in, Amsterdam, except the last one which is the not completely completed lounge @ HAR.<br />

<div class="ngg-galleryoverview" id="ngg-gallery-1-111">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://blog.ryara.net/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=1&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-1" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild232.jpg" title=" " class="shutterset_set_1" >
								<img title="bild232" alt="bild232" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild232.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-2" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild233.jpg" title=" " class="shutterset_set_1" >
								<img title="bild233" alt="bild233" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild233.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild234.jpg" title=" " class="shutterset_set_1" >
								<img title="bild234" alt="bild234" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild234.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild235.jpg" title=" " class="shutterset_set_1" >
								<img title="bild235" alt="bild235" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild235.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-5" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild236.jpg" title=" " class="shutterset_set_1" >
								<img title="bild236" alt="bild236" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild236.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-6" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild237.jpg" title=" " class="shutterset_set_1" >
								<img title="bild237" alt="bild237" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild237.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-7" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild238.jpg" title=" " class="shutterset_set_1" >
								<img title="bild238" alt="bild238" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild238.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-8" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild239.jpg" title=" " class="shutterset_set_1" >
								<img title="bild239" alt="bild239" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild239.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-9" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild240.jpg" title=" " class="shutterset_set_1" >
								<img title="bild240" alt="bild240" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild240.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-10" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild241.jpg" title=" " class="shutterset_set_1" >
								<img title="bild241" alt="bild241" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild241.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-11" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild242.jpg" title=" " class="shutterset_set_1" >
								<img title="bild242" alt="bild242" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild242.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-12" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild243.jpg" title=" " class="shutterset_set_1" >
								<img title="bild243" alt="bild243" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild243.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-13" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild245.jpg" title=" " class="shutterset_set_1" >
								<img title="bild245" alt="bild245" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild245.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-14" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild246.jpg" title=" " class="shutterset_set_1" >
								<img title="bild246" alt="bild246" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild246.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-15" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild247.jpg" title=" " class="shutterset_set_1" >
								<img title="bild247" alt="bild247" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild247.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://blog.ryara.net/wp-content/gallery/har2009-1/bild249.jpg" title=" " class="shutterset_set_1" >
								<img title="bild249" alt="bild249" src="http://blog.ryara.net/wp-content/gallery/har2009-1/thumbs/thumbs_bild249.jpg" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>
<p>If you want to see more photos from HAR, do check <a href="http://www.flickr.com/search/?q=HAR2009">flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/08/11/amsterdam-beginnings-of-hacking-at-random/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ebuild for libsummer</title>
		<link>http://blog.ryara.net/2009/03/28/ebuild-for-libsummer/</link>
		<comments>http://blog.ryara.net/2009/03/28/ebuild-for-libsummer/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 17:48:36 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=93</guid>
		<description><![CDATA[I wrote an ebuild for the broadcatching library libsummer, that recently released version 0.1.0: # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION="A broadcatching library" SRC_URI="http://flukkost.nu/libsummer/${P}.tar.bz2" HOMEPAGE="http://wrya.net/services/trac/summer/" KEYWORDS="~x86 &#8230; <a href="http://blog.ryara.net/2009/03/28/ebuild-for-libsummer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I wrote an ebuild for the broadcatching library <a href="http://wrya.net/services/trac/summer/">libsummer</a>, that recently <a href="http://wrya.net/services/mailman/pipermail/summer/2009-March/000001.html">released</a> version 0.1.0:<br />
<code>
<pre>
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

DESCRIPTION="A broadcatching library"
SRC_URI="http://flukkost.nu/libsummer/${P}.tar.bz2"
HOMEPAGE="http://wrya.net/services/trac/summer/"
KEYWORDS="~x86 ~amd64"
SLOT="0"
LICENSE="LGPL-2"
IUSE="bittorrent doc python"

DEPEND=">=dev-libs/glib-2.18.4
        >=net-libs/libsoup-2.24.3
        dev-libs/libxml2
        python? ( >=dev-python/pygobject-2.15.4 )
        bittorrent? ( >=net-libs/rb_libtorrent-0.14.1 )
        doc? ( dev-util/gtk-doc )"

RDEPEND="${DEPEND}"

RESTRICT="mirror"

src_compile() {
        econf $(use_enable bittorrent) $(use_enable python) $(use_enable doc gtk-doc) || die "econf failed"
        emake || die "emake failed"
}

src_install() {
        emake install DESTDIR="${D}" || die "Install failed"
        dodoc ChangeLog NEWS README AUTHORS
}</pre>
<p></code><br />
Download available <a href='http://blog.ryara.net/files/libsummer-0.1.0-ebuild.tar.bz2'>here</a>. To use unpack directly to your portage overlay.</p>
<p>Note: If you want the bittorrent functionaliy you will have to unmask net-libs/rb_libtorrent-0.14.1. It&#8217;s hard masked because it breaks a lot of packages relying on 0.13. Libsummer, however, was built on 0.14.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/03/28/ebuild-for-libsummer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mailman with lighttpd and Postfix on Gentoo</title>
		<link>http://blog.ryara.net/2009/03/27/mailman-with-lighttpd-and-postfix-on-gentoo/</link>
		<comments>http://blog.ryara.net/2009/03/27/mailman-with-lighttpd-and-postfix-on-gentoo/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 00:38:41 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[mailman]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=67</guid>
		<description><![CDATA[This post details how to setup mailman using lighttpd and postfix on gentoo. Before starting I assume that you have: * Lighttpd setup and working * Postfix setup to handle mail from one domain * MX records setup for the &#8230; <a href="http://blog.ryara.net/2009/03/27/mailman-with-lighttpd-and-postfix-on-gentoo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post details how to setup mailman using lighttpd and postfix on gentoo.</p>
<p>Before starting I assume that you have:<br />
* Lighttpd setup and working<br />
* Postfix setup to handle mail from one domain<br />
* MX records setup for the subdomain you want to use for lists</p>
<p>First, we need to install mailman, but before we do that we need to make sure it uses the right UID and GID (lighttpd) instead of apache, which is the default. To do this append </p>
<p><code>
<pre>MAILMAN_CGIGID="lighttpd"
MAILMAN_CGIUID="lighttpd"
</pre>
<p></code><br />
to <strong>/etc/make.conf</strong> and then proceed to install mailman:</p>
<p><code>
<pre># emerge mailman</pre>
<p></code></p>
<p>Now it&#8217;s time to configure lighttpd. This we do by adding the following to <strong>/etc/lighttpd/lighttpd.conf</strong>:</p>
<p><code>
<pre>alias.url += (
          "/services/mailman/mailman-icons" => "/usr/lib64/mailman/icons/",
          "/services/mailman/pipermail" => "/var/lib/mailman/archives/public/",
          "/services/mailman" => "/usr/lib64/mailman/cgi-bin/",
)

$HTTP["url"] =~ "^/services/mailman" {
        cgi.assign = (
                "/admin" => "",
                "/admindb" => "",
                "/confirm" => "",
                "/create" => "",
                "/edithtml" => "",
                "/listinfo" => "",
                "/options" => "",
                "/private" => "",
                "/rmlist" => "",
                "/roster" => "",
                "/subscribe" => "")
        server.indexfiles = ("listinfo", "index.html")
}
$HTTP["url"] =~ "^/services/mailman/pipermail/" {
             dir-listing.activate = "enable"
             dir-listing.hide-dotfiles = "enable"
             server.follow-symlink = "enable"
}
</pre>
<p></code><br />
I choose not to serve mailman from a vhost, if you want to do that you&#8217;ll need to change the above accordingly. Otherwise you&#8217;ll just have to change the url matches and aliases to reflect from where you want to host mailman. You will also need to make sure that the alias and cgi modules are enabled (located at the top of <strong>lighttpd.conf</strong>).</p>
<p>The next thing to configure is mailman itself. Append the following to <strong>/etc/mailman/mm_cfg.py</strong>:</p>
<p><code>
<pre>MTA = 'Postfix'
DEFAULT_EMAIL_HOST = 'lists.example.tld'
DEFAULT_URL_HOST = 'example.tld'
DEFAULT_URL_PATTERN = 'http://%s/services/mailman/'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
IMAGE_LOGOS = '/services/mailman/mailman-icons/' 

POSTFIX_STYLE_VIRTUAL_DOMAINS = [DEFAULT_EMAIL_HOST]

PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/services/mailman/pipermail/%(listname)s'
</pre>
<p></code><br />
You should set <code>DEFAULT_EMAIL_HOST</code> to the subdomain you want your lists to use, <code>DEFAULT_URL_HOST</code> to the host from which you will serve the mailman web pages, and change <code>DEFAULT_URL_PATTERN</code>, <code>IMAGE_LOGOS</code>, <code>PUBLIC_ARCHIVE_URL</code> so that they are consistent with your settings in <strong>lighttpd.conf</strong>. The call to <code>add_virtualhost</code> is need when you change either of the <code>_HOST</code> variables like this.</p>
<p>Continuing, there is a few things we need to do as the mailman user. First install the cron jobs:</p>
<p><code>
<pre># su - mailman
mailman $ cd cron
mailman $ crontab crontab.in
mailman $ cd ..
</pre>
<p></code><br />
Then set the site password:</p>
<p><code>
<pre>mailman $ bin/mmsitepass
</pre>
<p></code><br />
The site password works instead of any other password in the mailman installation, and is used to adminstrate it.</p>
<p>Next we create the site-wide mailing list, which is needed for proper operation of mailman:</p>
<p><code>
<pre>mailman $ bin/newlist mailman
</pre>
<p></code><br />
And logout from the mailman account and continue&#8230;</p>
<p>&#8230;with configuring postfix. This is as simple as adding the following two lines to <strong>/etc/postfix/main.cf</strong>:</p>
<p><code>
<pre>virtual_alias_domains = lists.example.tld
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman
</pre>
<p></code></p>
<p>Once again replacing lists.example.tld with the subdomain you want your lists to use.</p>
<p>Now we only need to reload postfix, start mailman and add it to the default runlevel:</p>
<p><code>
<pre># /etc/init.d/postfix reload
# /etc/init.d/mailman start
# rc-update add mailman default
</pre>
<p></code><br />
Congratulations, you should now have a working mailman install!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/03/27/mailman-with-lighttpd-and-postfix-on-gentoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quake Live</title>
		<link>http://blog.ryara.net/2009/02/27/quake-live/</link>
		<comments>http://blog.ryara.net/2009/02/27/quake-live/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 02:01:41 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/?p=56</guid>
		<description><![CDATA[So today I got around to trying out Quake Live, which went into open beta the other day. If you didn&#8217;t know already, Quake Live is very similiar to Quake 3, with the exception that it&#8217;s played in a browser. &#8230; <a href="http://blog.ryara.net/2009/02/27/quake-live/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So today I got around to trying out <a href="http://www.quakelive.com/">Quake Live</a>, which went into open beta the other day. If you didn&#8217;t know already, Quake Live is very similiar to Quake 3, with the exception that it&#8217;s played in a browser.</p>
<p>My first impression is that it seems to have quite some potential, however I won&#8217;t be playing it in the near future, as there&#8217;s too many bugs left to be able to enjoy it properly. For example, I couldn&#8217;t even play through the &#8220;warmup match&#8221;<sup>[1]</sup> without QL crashing several times (in both Firefox and IE7, which are the only supported browsers at the moment).</p>
<p>So now I&#8217;m looking forward to trying it again in a couple of months or so.</p>
<ol class="footnotes"><li id="footnote_0_56" class="footnote">You play against a bot to estimate your skill level, so QL can set you up against opponents with a similiar skill level.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/02/27/quake-live/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ebuild for yubikey pam auth</title>
		<link>http://blog.ryara.net/2009/01/13/ebuild-for-yubikey-pam-auth/</link>
		<comments>http://blog.ryara.net/2009/01/13/ebuild-for-yubikey-pam-auth/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 20:09:49 +0000</pubDate>
		<dc:creator>tobbez</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[yubikey]]></category>

		<guid isPermaLink="false">http://blog.ryara.net/2009/01/13/ebuild-for-yubikey-pam-auth/</guid>
		<description><![CDATA[(If you don&#8217;t know what a yubikey is, have a look here) So I wrote up ebuilds for yubico-pam and its dependency yubico-c-client. You can get them here. Just extract the tarball into your portage overlay and emerge pam_yubico. If &#8230; <a href="http://blog.ryara.net/2009/01/13/ebuild-for-yubikey-pam-auth/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(If you don&#8217;t know what a yubikey is, have a look <a href="http://yubico.com/products/yubikey/">here</a>)</p>
<p>So I wrote up ebuilds for <a href="http://code.google.com/p/yubico-pam/">yubico-pam</a> and its dependency <a href="http://code.google.com/p/yubico-c-client/">yubico-c-client</a>. You can get them <a href='http://blog.ryara.net/wp-content/uploads/2009/01/pam_yubico-ebuildstar.gz' title='Yubico PAM ebuilds'>here</a>.</p>
<p>Just extract the tarball into your portage overlay and emerge pam_yubico. If you don&#8217;t have an overlay, then just do this (as root):<br />
<code>
<pre>mkdir /usr/local/portage/
echo 'PORTDIR_OVERLAY="/usr/local/portage/"' >> /etc/make.conf
tar xvzf pam_yubico-ebuildstar.gz -C /usr/local/portage/
emerge pam_yubico
</pre>
<p></code></p>
<p>For myself I configured sshd to be able to login using either my yubikey or a normal password. I will describe how to do that &#8211; if you need some other configuration have a look at the PAM module&#8217;s site (mentioned above).</p>
<ol>
<li>You will need to get your yubico client id. The only way I know of to do this is through the <a href="https://api.yubico.com/yms/index.php">YMS</a>.
</li>
<li>Configure PAM to make ssh use the newly installed module. This by prepending <code>auth sufficient pam_yubico.so id=16 try_first_pass</code> to <code>/etc/pam.d/sshd</code>. Be sure to change 16 to the ID you aquired in step 1.
</li>
<li>Add your yubikey id to the file pam_yubico looks in, namely <code>~/.yubico/authorized_yubikeys</code>. Create the file with and add the line <code>user:yubikey_id</code>. The yubikey id is the first 12 characters from the OTPs it generates.</li>
</ol>
<p>And that&#8217;s it. You should now be able to log in over SSH using either your regular password or your yubikey.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ryara.net/2009/01/13/ebuild-for-yubikey-pam-auth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
