<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/2.4.5" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Simon Stelling</title>
		<link>http://blogs.gentoo.org/blubb</link>
		<description></description>
		<language>en-US</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=2.4.5"/>
		<ttl>60</ttl>
				<item>
			<title>Retiring</title>
			<link>http://blogs.gentoo.org/blubb/2007/04/08/retiring</link>
			<pubDate>Sun, 08 Apr 2007 11:48:51 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">1296@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Hi all,&lt;/p&gt;

&lt;p&gt;I'm retiring. The reason is quite simple: It's not fun anymore. I look&lt;br /&gt;
at Gentoo and I see no common spirit, no trust but lots of fighting and&lt;br /&gt;
cabal calling. I really don't feel like putting time in something so&lt;br /&gt;
horribly broken anymore.&lt;/p&gt;

&lt;p&gt;Have a nice day,&lt;/p&gt;

&lt;p&gt;Simon&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2007/04/08/retiring&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Hi all,</p>

<p>I'm retiring. The reason is quite simple: It's not fun anymore. I look<br />
at Gentoo and I see no common spirit, no trust but lots of fighting and<br />
cabal calling. I really don't feel like putting time in something so<br />
horribly broken anymore.</p>

<p>Have a nice day,</p>

<p>Simon</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2007/04/08/retiring">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2007/04/08/retiring#comments</comments>
		</item>
				<item>
			<title>Pushing the limits</title>
			<link>http://blogs.gentoo.org/blubb/2007/02/13/pushing_the_limits</link>
			<pubDate>Tue, 13 Feb 2007 00:06:42 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">1241@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;AMD64 has &lt;a href=&quot;http://tinyurl.com/2or2eb&quot;&gt;less then 100 bugs&lt;/a&gt;! Given that we had &gt;340 at the beginning of this month, that's quite good. Also, this is exactly the second time in my dev-career that I see so few bugs on my todo list. Worth celebrating it with a good beer. Cheers!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2007/02/13/pushing_the_limits&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>AMD64 has <a href="http://tinyurl.com/2or2eb">less then 100 bugs</a>! Given that we had >340 at the beginning of this month, that's quite good. Also, this is exactly the second time in my dev-career that I see so few bugs on my todo list. Worth celebrating it with a good beer. Cheers!</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2007/02/13/pushing_the_limits">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2007/02/13/pushing_the_limits#comments</comments>
		</item>
				<item>
			<title>Back in the land...</title>
			<link>http://blogs.gentoo.org/blubb/2007/02/03/back_in_the_land</link>
			<pubDate>Sat, 03 Feb 2007 21:10:19 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">1230@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Since Feb 1st I'm officially back in Gentooland, even if only for 1 1/2 months before I have to serve the Swiss army (yes, we DO have one). Time to squash lots of bugs, the AMD64 port is not exactly bleeding edge anymore: 346 bugs, among them 160 stablization requests on end of January! beandog and me spent the better part of yesterday and today fixing old bugs and marking java stuff stable, or getting rid of all these long-overdue keywording requests, so we're down to 227 bugs at the moment. So for all those poor maintainers that are waiting just for amd64 to get their work done (hi Flameeyes &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_wink.gif&quot; alt=&quot;&amp;#59;&amp;#41;&quot; class=&quot;middle&quot; /&gt;) there is some hope. That being said, we still could need some helping hands, so if you want to help, join us in #-amd64-dev.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2007/02/03/back_in_the_land&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Since Feb 1st I'm officially back in Gentooland, even if only for 1 1/2 months before I have to serve the Swiss army (yes, we DO have one). Time to squash lots of bugs, the AMD64 port is not exactly bleeding edge anymore: 346 bugs, among them 160 stablization requests on end of January! beandog and me spent the better part of yesterday and today fixing old bugs and marking java stuff stable, or getting rid of all these long-overdue keywording requests, so we're down to 227 bugs at the moment. So for all those poor maintainers that are waiting just for amd64 to get their work done (hi Flameeyes <img src="http://blogs.gentoo.org/rsc/smilies/icon_wink.gif" alt="&#59;&#41;" class="middle" />) there is some hope. That being said, we still could need some helping hands, so if you want to help, join us in #-amd64-dev.</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2007/02/03/back_in_the_land">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2007/02/03/back_in_the_land#comments</comments>
		</item>
				<item>
			<title>Brainfuck...</title>
			<link>http://blogs.gentoo.org/blubb/2006/09/19/brainfuck</link>
			<pubDate>Tue, 19 Sep 2006 21:41:20 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">945@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;...is a truly fascinating language. So simple, so sexy. It's Turing-complete, so there's literally nothing you can't do with it. Well, at least as far as theory goes. Sure, there's nothing you can't do with it, but there's nothing you can do &lt;b&gt;easily&lt;/b&gt; with it either, unfortunately. One thing that has always bothered me whenever I attempted to write an application in BF is that all the addresses are relative. Relative in the sense of that you can't say &quot;go to register 3&quot; but only &quot;go 2 registers up&quot;. Another thing that really bothered me is that all the addresses are absolute. Absolute in the sense of that they are all in the same array, that you can't have your seperate set of registers for a sub-program.&lt;/p&gt;

&lt;p&gt;So I tinkered a bit around and ended up with something I would call a &quot;functional brainfuck compiler&quot;. It lets you define functions and takes care of the variable&amp;lt;-&amp;gt;register mappings for the whole program. An example:&lt;/p&gt;

&lt;pre&gt;
main(0) {
	$0++
	$1+++
	power(0;1;2)
	asciify(2)
	$2.
}

power(3) {
	// a ^ b = c

	copy(0;2)
	copy(1;3)
	$3-[
		multiply(0;2;4)
		copy(4;2)
		$3-
	]
}

multiply(3) {
	// a * b = c
	
	clear(2)
	copy(1;3)
	$3[
		add(0;2)
		$3-
	]
}

copy(2) {
	// $0 = source
	// $1 = dest

	clear(1)
	add(0;1)
}

move(2) {
	// $0 = source
	// $1 = dest
	
	$0[-$1+$0]
}

add(2) {
	clear(2)
	$0[-$1+$2+$0]
	move(2;0)
}

clear(1) {
	$0[-]
}

asciify(1) {
	// only works for 0 &gt;= numbers &gt;= 9
	clear(1)
	clear(2)
	clear(3)
	$1+++++++
	copy(1;2)
	multiply(1;2;3)
	$3-
	add(3;0)
}
&lt;/pre&gt;

&lt;p&gt;You can see the language is pretty close to C in some ways. The syntax is roughly:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function-specifier(argc) { code block }&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;A main() function is required and must have zero arguments given (should be evident ;-)). Function definitions are the only thing that is allowed in global scope, C/C++-like comments are supported. Function calls are of the form&lt;/p&gt;

&lt;p&gt;&lt;code&gt;function-specifier(arg1;arg2;argN)&lt;/code&gt; where &lt;code&gt;arg1...argN&lt;/code&gt; are the numbers of the variables given as arguments. The character &lt;code&gt;$&lt;/code&gt; followed by a number is interpreted as a &quot;go to the register assigned to that variable&quot; and replaced with the necessary amount of &lt;code&gt;&amp;lt;&lt;/code&gt; or &lt;code&gt;&amp;gt;&lt;/code&gt; at compilation time.&lt;/p&gt;

&lt;p&gt;So, running the code above through the compiler gives you this:&lt;/p&gt;

&lt;pre&gt;$ ./fbf bf.b
++&amp;gt;+++&amp;gt;[-]&amp;gt;&amp;gt;&amp;gt;[-]&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;[-&amp;gt;&amp;gt;+&amp;gt;&amp;gt;&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;]&amp;lt;&amp;lt;[-]&amp;gt;&amp;gt;[-]&amp;lt;&amp;lt;&amp;lt;&amp;lt;[-&amp;gt;&amp;gt;+&amp;gt;&amp;gt;+
&amp;lt;&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;&amp;gt;]&amp;lt;&amp;lt;-[&amp;gt;[-]&amp;gt;[-]&amp;gt;[-]&amp;lt;&amp;lt;&amp;lt;&amp;lt;[-&amp;gt;&amp;gt;&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;&amp;gt;]&amp;lt;[&amp;gt;[-]&amp;lt;
&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;[-&amp;gt;&amp;gt;&amp;gt;&amp;gt;+&amp;gt;&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;]&amp;lt;-]&amp;lt;&amp;lt;&amp;lt;[-]&amp;gt;&amp;gt;&amp;gt;[-]&amp;lt;[-&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;+&amp;lt;]&amp;gt;[-&amp;lt;+&amp;gt;
]&amp;lt;&amp;lt;-][-]&amp;gt;[-]&amp;gt;[-]&amp;lt;&amp;lt;+++++++&amp;gt;[-]&amp;gt;&amp;gt;[-]&amp;lt;&amp;lt;&amp;lt;[-&amp;gt;+&amp;gt;&amp;gt;+&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;]&amp;lt;[-]&amp;gt;[-]&amp;gt;[-]&amp;lt;&amp;lt;&amp;lt;[
-&amp;gt;&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;]&amp;lt;[&amp;gt;[-]&amp;lt;&amp;lt;&amp;lt;&amp;lt;[-&amp;gt;&amp;gt;+&amp;gt;&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;]&amp;gt;&amp;gt;&amp;gt;&amp;gt;[-&amp;lt;&amp;lt;&amp;lt;&amp;lt;+&amp;gt;&amp;gt;&amp;gt;&amp;gt;]&amp;lt;-]&amp;lt;-&amp;gt;[-]&amp;lt;[-&amp;lt;&amp;lt;&amp;lt;
+&amp;gt;&amp;gt;&amp;gt;&amp;gt;+&amp;lt;]&amp;gt;[-&amp;lt;+&amp;gt;]&amp;lt;&amp;lt;&amp;lt;&amp;lt;.&lt;/pre&gt;

&lt;p&gt;This looks already whole dimensions more geeky. ;-) As you can see from the &lt;code&gt;main()&lt;/code&gt; above, it calculates &lt;code&gt;2^3&lt;/code&gt; and uses &lt;code&gt;asciify()&lt;/code&gt; to then print the result.&lt;/p&gt;

&lt;p&gt;To verify everything, i used &lt;a href=&quot;http://swapped.cc/bf/&quot;&gt;dev-lang/bff&lt;/a&gt;, the fastest BF interpreter I could find:&lt;/p&gt;

&lt;pre&gt;$ bff bf.bc
8&lt;/pre&gt;

&lt;p&gt;Now, if you have a closer look at the output, you see that there is quite a lot of crap that could be just left out. For example, the first two &lt;code&gt;[-]&lt;/code&gt;s are completely redundant. This comes from the fact that most functions &lt;code&gt;clear()&lt;/code&gt; their local variables prior to usage to ensure that the result is correct.&lt;/p&gt;

&lt;p&gt;So, the code could be optimized quite a bit, and I decided to write another app that cleans up the code the compiler throws out. It's still a bit buggy and doesn't work on every piece of code, but it's progressing. The really hard problem is to debug that beast, though. Currently it only drops code that is not needed, it does not rearrange nor re-write code, so the easiest method to verify that it works correctly is to replace the dropped code with blanks. The outcome happens to look rather funny:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blubb.ch/archive/bfo.png&quot;&gt;&lt;img src=&quot;http://blubb.ch/archive/bfo_mini.png&quot; alt=&quot;optimizer debugging&quot; title=&quot;click to enlarge&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cool, eh? &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_wink.gif&quot; alt=&quot;&amp;#59;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2006/09/19/brainfuck&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>...is a truly fascinating language. So simple, so sexy. It's Turing-complete, so there's literally nothing you can't do with it. Well, at least as far as theory goes. Sure, there's nothing you can't do with it, but there's nothing you can do <b>easily</b> with it either, unfortunately. One thing that has always bothered me whenever I attempted to write an application in BF is that all the addresses are relative. Relative in the sense of that you can't say "go to register 3" but only "go 2 registers up". Another thing that really bothered me is that all the addresses are absolute. Absolute in the sense of that they are all in the same array, that you can't have your seperate set of registers for a sub-program.</p>

<p>So I tinkered a bit around and ended up with something I would call a "functional brainfuck compiler". It lets you define functions and takes care of the variable&lt;-&gt;register mappings for the whole program. An example:</p>

<pre>
main(0) {
	$0++
	$1+++
	power(0;1;2)
	asciify(2)
	$2.
}

power(3) {
	// a ^ b = c

	copy(0;2)
	copy(1;3)
	$3-[
		multiply(0;2;4)
		copy(4;2)
		$3-
	]
}

multiply(3) {
	// a * b = c
	
	clear(2)
	copy(1;3)
	$3[
		add(0;2)
		$3-
	]
}

copy(2) {
	// $0 = source
	// $1 = dest

	clear(1)
	add(0;1)
}

move(2) {
	// $0 = source
	// $1 = dest
	
	$0[-$1+$0]
}

add(2) {
	clear(2)
	$0[-$1+$2+$0]
	move(2;0)
}

clear(1) {
	$0[-]
}

asciify(1) {
	// only works for 0 >= numbers >= 9
	clear(1)
	clear(2)
	clear(3)
	$1+++++++
	copy(1;2)
	multiply(1;2;3)
	$3-
	add(3;0)
}
</pre>

<p>You can see the language is pretty close to C in some ways. The syntax is roughly:</p>

<p><code>function-specifier(argc) { code block }</code></p>

<p>A main() function is required and must have zero arguments given (should be evident ;-)). Function definitions are the only thing that is allowed in global scope, C/C++-like comments are supported. Function calls are of the form</p>

<p><code>function-specifier(arg1;arg2;argN)</code> where <code>arg1...argN</code> are the numbers of the variables given as arguments. The character <code>$</code> followed by a number is interpreted as a "go to the register assigned to that variable" and replaced with the necessary amount of <code>&lt;</code> or <code>&gt;</code> at compilation time.</p>

<p>So, running the code above through the compiler gives you this:</p>

<pre>$ ./fbf bf.b
++&gt;+++&gt;[-]&gt;&gt;&gt;[-]&lt;&lt;&lt;&lt;&lt;[-&gt;&gt;+&gt;&gt;&gt;+&lt;&lt;&lt;&lt;&lt;]&gt;&gt;&gt;&gt;&gt;[-&lt;&lt;&lt;&lt;&lt;+&gt;&gt;&gt;&gt;&gt;]&lt;&lt;[-]&gt;&gt;[-]&lt;&lt;&lt;&lt;[-&gt;&gt;+&gt;&gt;+
&lt;&lt;&lt;&lt;]&gt;&gt;&gt;&gt;[-&lt;&lt;&lt;&lt;+&gt;&gt;&gt;&gt;]&lt;&lt;-[&gt;[-]&gt;[-]&gt;[-]&lt;&lt;&lt;&lt;[-&gt;&gt;&gt;+&gt;+&lt;&lt;&lt;&lt;]&gt;&gt;&gt;&gt;[-&lt;&lt;&lt;&lt;+&gt;&gt;&gt;&gt;]&lt;[&gt;[-]&lt;
&lt;&lt;&lt;&lt;&lt;[-&gt;&gt;&gt;&gt;+&gt;&gt;+&lt;&lt;&lt;&lt;&lt;&lt;]&gt;&gt;&gt;&gt;&gt;&gt;[-&lt;&lt;&lt;&lt;&lt;&lt;+&gt;&gt;&gt;&gt;&gt;&gt;]&lt;-]&lt;&lt;&lt;[-]&gt;&gt;&gt;[-]&lt;[-&lt;&lt;+&gt;&gt;&gt;+&lt;]&gt;[-&lt;+&gt;
]&lt;&lt;-][-]&gt;[-]&gt;[-]&lt;&lt;+++++++&gt;[-]&gt;&gt;[-]&lt;&lt;&lt;[-&gt;+&gt;&gt;+&lt;&lt;&lt;]&gt;&gt;&gt;[-&lt;&lt;&lt;+&gt;&gt;&gt;]&lt;[-]&gt;[-]&gt;[-]&lt;&lt;&lt;[
-&gt;&gt;+&gt;+&lt;&lt;&lt;]&gt;&gt;&gt;[-&lt;&lt;&lt;+&gt;&gt;&gt;]&lt;[&gt;[-]&lt;&lt;&lt;&lt;[-&gt;&gt;+&gt;&gt;+&lt;&lt;&lt;&lt;]&gt;&gt;&gt;&gt;[-&lt;&lt;&lt;&lt;+&gt;&gt;&gt;&gt;]&lt;-]&lt;-&gt;[-]&lt;[-&lt;&lt;&lt;
+&gt;&gt;&gt;&gt;+&lt;]&gt;[-&lt;+&gt;]&lt;&lt;&lt;&lt;.</pre>

<p>This looks already whole dimensions more geeky. ;-) As you can see from the <code>main()</code> above, it calculates <code>2^3</code> and uses <code>asciify()</code> to then print the result.</p>

<p>To verify everything, i used <a href="http://swapped.cc/bf/">dev-lang/bff</a>, the fastest BF interpreter I could find:</p>

<pre>$ bff bf.bc
8</pre>

<p>Now, if you have a closer look at the output, you see that there is quite a lot of crap that could be just left out. For example, the first two <code>[-]</code>s are completely redundant. This comes from the fact that most functions <code>clear()</code> their local variables prior to usage to ensure that the result is correct.</p>

<p>So, the code could be optimized quite a bit, and I decided to write another app that cleans up the code the compiler throws out. It's still a bit buggy and doesn't work on every piece of code, but it's progressing. The really hard problem is to debug that beast, though. Currently it only drops code that is not needed, it does not rearrange nor re-write code, so the easiest method to verify that it works correctly is to replace the dropped code with blanks. The outcome happens to look rather funny:</p>

<p><a href="http://blubb.ch/archive/bfo.png"><img src="http://blubb.ch/archive/bfo_mini.png" alt="optimizer debugging" title="click to enlarge" /></a></p>

<p>Cool, eh? <img src="http://blogs.gentoo.org/rsc/smilies/icon_wink.gif" alt="&#59;&#41;" class="middle" /></p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2006/09/19/brainfuck">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2006/09/19/brainfuck#comments</comments>
		</item>
				<item>
			<title>Nostalgic moments</title>
			<link>http://blogs.gentoo.org/blubb/2006/07/18/nostalgic_moments</link>
			<pubDate>Tue, 18 Jul 2006 13:18:03 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">838@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Just about half an hour ago a user entered #gentoo-portage and asked for old sources (portage 1.0 or so). So we've done some digging and found 1.5's sources. My god, what a world!&lt;/p&gt;

&lt;p&gt;Just for fun I've put together a snapshot of the tree from March 24 &lt;b&gt;2001&lt;/b&gt;, the day after drobbins added 1.5 to the tree. (It's in sys-apps/portage/files/1.5, btw.). &lt;a href=&quot;http://dev.gentoo.org/~blubb/gentoo-x86-2001-03-24.tar.bz2&quot;&gt;The tarball&lt;/a&gt; is 11M &quot;big&quot;, featuring &lt;b&gt;1134&lt;/b&gt; ebuilds and &lt;b&gt;648&lt;/b&gt; packages in &lt;b&gt;51&lt;/b&gt; categories. W00t!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2006/07/18/nostalgic_moments&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Just about half an hour ago a user entered #gentoo-portage and asked for old sources (portage 1.0 or so). So we've done some digging and found 1.5's sources. My god, what a world!</p>

<p>Just for fun I've put together a snapshot of the tree from March 24 <b>2001</b>, the day after drobbins added 1.5 to the tree. (It's in sys-apps/portage/files/1.5, btw.). <a href="http://dev.gentoo.org/~blubb/gentoo-x86-2001-03-24.tar.bz2">The tarball</a> is 11M "big", featuring <b>1134</b> ebuilds and <b>648</b> packages in <b>51</b> categories. W00t!</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2006/07/18/nostalgic_moments">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2006/07/18/nostalgic_moments#comments</comments>
		</item>
				<item>
			<title>Our logo needs an update</title>
			<link>http://blogs.gentoo.org/blubb/2006/06/14/our_logo_needs_an_update</link>
			<pubDate>Wed, 14 Jun 2006 12:16:57 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">787@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;&lt;img src=&quot;http://blubb.ch/g.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2006/06/14/our_logo_needs_an_update&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><img src="http://blubb.ch/g.png" alt="" title="" /></p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2006/06/14/our_logo_needs_an_update">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2006/06/14/our_logo_needs_an_update#comments</comments>
		</item>
				<item>
			<title>More eye-candy</title>
			<link>http://blogs.gentoo.org/blubb/2006/05/14/more_eye_candy</link>
			<pubDate>Sun, 14 May 2006 20:23:31 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">738@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Between all the preparations for my graduation I've finally found the time to xml-ify the &lt;a href=&quot;http://amd64.gentoo.org/emul/content.xml&quot;&gt;content listing for the emul-linux-x86-* packages&lt;/a&gt;. It looks far nicer than the &lt;a href=&quot;http://amd64.gentoo.org/emul/emul-content.txt&quot;&gt;old&lt;/a&gt; plain text file and makes it a lot easier to figure out what changed between the different versions. At least that's what I think ;)&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2006/05/14/more_eye_candy&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Between all the preparations for my graduation I've finally found the time to xml-ify the <a href="http://amd64.gentoo.org/emul/content.xml">content listing for the emul-linux-x86-* packages</a>. It looks far nicer than the <a href="http://amd64.gentoo.org/emul/emul-content.txt">old</a> plain text file and makes it a lot easier to figure out what changed between the different versions. At least that's what I think ;)</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2006/05/14/more_eye_candy">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2006/05/14/more_eye_candy#comments</comments>
		</item>
				<item>
			<title>Review of 2005</title>
			<link>http://blogs.gentoo.org/blubb/2006/01/05/review_of_2005</link>
			<pubDate>Thu, 05 Jan 2006 13:20:48 +0000</pubDate>			<dc:creator>blubb</dc:creator>
			<category domain="main">Gentoo</category>			<guid isPermaLink="false">536@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Inspired by the current discussion on the gentoo-dev mailing list about an overall vision, I took a short break to reflect what the Gentoo/AMD64 team did during the year 2005. As an arch team, it's our main job to just keep everything up to date -- nothing one would consider 'moving mountains'. However, there were far more things that kept us busy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We have fixed nearly 1500 bugs that were either assigned to &lt;a href=&quot;http://bugs.gentoo.org/buglist.cgi?query_format=advanced&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=&amp;amp;long_desc_type=substring&amp;amp;long_desc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;status_whiteboard_type=allwordssubstr&amp;amp;status_whiteboard=&amp;amp;keywords_type=allwords&amp;amp;keywords=&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=CLOSED&amp;amp;resolution=FIXED&amp;amp;resolution=TEST-REQUEST&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;email1=amd64%40gentoo.org&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;bugidtype=include&amp;amp;bug_id=&amp;amp;chfieldfrom=2005-01-01&amp;amp;chfieldto=2006-01-01&amp;amp;chfield=resolution&amp;amp;chfieldvalue=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=&quot;&gt;amd64@g.o&lt;/a&gt; or &lt;a href=&quot;http://bugs.gentoo.org/buglist.cgi?query_format=advanced&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=&amp;amp;long_desc_type=substring&amp;amp;long_desc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;status_whiteboard_type=allwordssubstr&amp;amp;status_whiteboard=&amp;amp;keywords_type=allwords&amp;amp;keywords=&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=CLOSED&amp;amp;resolution=FIXED&amp;amp;resolution=TEST-REQUEST&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;email1=amd64-test%40gentoo.org&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;bugidtype=include&amp;amp;bug_id=&amp;amp;chfieldfrom=2005-01-01&amp;amp;chfieldto=2006-01-01&amp;amp;chfield=resolution&amp;amp;chfieldvalue=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=&quot;&gt;amd64-test@g.o&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Beside those, there were (of course) plenty of stablization requests that were &quot;fixed&quot;.&lt;/li&gt;
&lt;li&gt;Thanks to the AT project, we managed to recruit 22 active ATs, of which 6 became devs&lt;/li&gt;
&lt;li&gt;We had two releases, 2005.0 and 2005.1, plus the bugfix-release 2005.1-r1, all beeing a success.&lt;/li&gt;
&lt;li&gt;With 2005.0, we introduced a complete new way of handling multilib, which allows to handle dependancies in a far easier way for the user. Yes, many had problems with the upgrade from 2004.x to 2005.0 as it was pretty complex, but after all, it was possible. Somewhen in the second half of the year, we finally deprecated 2004.3.&lt;/li&gt;
&lt;li&gt;The multilib-strict FEATURE helped us to find almost all packages that install libraries into the wrong directory. While it was really only usable for development in the beginning (I'd say every 4th package was broken), it turned into a very nice QA tool and only a few packages still fail because of multilib-strict.&lt;/li&gt;
&lt;li&gt;The stable tree was dramatically improved. I would say it is now possible to run a stable amd64 system without having a huge package.keywords filled up with ~amd64 entries: we're nearly as up to date as x86. The change of the keywording policy helped a lot to improve the situation: We're now notified through a bug whenever a maintainer thinks his package is stable enough to go stable.&lt;/li&gt;
&lt;li&gt;We got several boxes sponsored by different companies. With these boxes, we could provide accounts for other Gentoo developers that wanted to test their patches and/or new versions of their packages.&lt;/li&gt;
&lt;li&gt;Documentation has improved too of course: We got a FAQ and a HOWTO briefly explaining how to set up a 32bit chroot for those who still need one. Also, we put together a &lt;a href=&quot;http://www.gentoo.org/proj/en/base/amd64/emul/emul-content.txt&quot;&gt;list of libraries covered by the emul-x86-linux-* packages&lt;/a&gt;. With this list we can guarantee that vulnerabilities are not only fixed in the real packages but also in the emul packages. We also wrote new &lt;a href=&quot;http://dev.gentoo.org/~plasmaroo/devmanual/archs/amd64/&quot;&gt;documentation as part of the Unofficial Gentoo Development Guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Gentoo/AMD64 became easier to install! As a consequence of this, we were able to deprecate the now no-longer needed technotes. The handbook should be enough to cover everything a user wants to know at install time, multilib has become far easier and lots of packages were fixed so that the list of popular apps that don't run natively on amd64 was cut down to 'Flash &amp;amp; OpenOffice'.&lt;/li&gt;
&lt;li&gt;Last but not least, we've improved the user&amp;lt;-&amp;gt;developer communication a LOT. I can't show you any figures, this is just my personal impression :)&lt;/li&gt;
&lt;li&gt;But the most important of all: &lt;b&gt;We had lots of fun.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now have a look at this list and tell me that we didn't do anything exciting during the last year.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/blubb/2006/01/05/review_of_2005&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Inspired by the current discussion on the gentoo-dev mailing list about an overall vision, I took a short break to reflect what the Gentoo/AMD64 team did during the year 2005. As an arch team, it's our main job to just keep everything up to date -- nothing one would consider 'moving mountains'. However, there were far more things that kept us busy:</p>

<ul>
<li>We have fixed nearly 1500 bugs that were either assigned to <a href="http://bugs.gentoo.org/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;bug_status=CLOSED&amp;resolution=FIXED&amp;resolution=TEST-REQUEST&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=amd64%40gentoo.org&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;chfieldfrom=2005-01-01&amp;chfieldto=2006-01-01&amp;chfield=resolution&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">amd64@g.o</a> or <a href="http://bugs.gentoo.org/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=substring&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;bug_status=CLOSED&amp;resolution=FIXED&amp;resolution=TEST-REQUEST&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;email1=amd64-test%40gentoo.org&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;chfieldfrom=2005-01-01&amp;chfieldto=2006-01-01&amp;chfield=resolution&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">amd64-test@g.o</a></li> <li>Beside those, there were (of course) plenty of stablization requests that were "fixed".</li>
<li>Thanks to the AT project, we managed to recruit 22 active ATs, of which 6 became devs</li>
<li>We had two releases, 2005.0 and 2005.1, plus the bugfix-release 2005.1-r1, all beeing a success.</li>
<li>With 2005.0, we introduced a complete new way of handling multilib, which allows to handle dependancies in a far easier way for the user. Yes, many had problems with the upgrade from 2004.x to 2005.0 as it was pretty complex, but after all, it was possible. Somewhen in the second half of the year, we finally deprecated 2004.3.</li>
<li>The multilib-strict FEATURE helped us to find almost all packages that install libraries into the wrong directory. While it was really only usable for development in the beginning (I'd say every 4th package was broken), it turned into a very nice QA tool and only a few packages still fail because of multilib-strict.</li>
<li>The stable tree was dramatically improved. I would say it is now possible to run a stable amd64 system without having a huge package.keywords filled up with ~amd64 entries: we're nearly as up to date as x86. The change of the keywording policy helped a lot to improve the situation: We're now notified through a bug whenever a maintainer thinks his package is stable enough to go stable.</li>
<li>We got several boxes sponsored by different companies. With these boxes, we could provide accounts for other Gentoo developers that wanted to test their patches and/or new versions of their packages.</li>
<li>Documentation has improved too of course: We got a FAQ and a HOWTO briefly explaining how to set up a 32bit chroot for those who still need one. Also, we put together a <a href="http://www.gentoo.org/proj/en/base/amd64/emul/emul-content.txt">list of libraries covered by the emul-x86-linux-* packages</a>. With this list we can guarantee that vulnerabilities are not only fixed in the real packages but also in the emul packages. We also wrote new <a href="http://dev.gentoo.org/~plasmaroo/devmanual/archs/amd64/">documentation as part of the Unofficial Gentoo Development Guide</a>.</li>
<li>Gentoo/AMD64 became easier to install! As a consequence of this, we were able to deprecate the now no-longer needed technotes. The handbook should be enough to cover everything a user wants to know at install time, multilib has become far easier and lots of packages were fixed so that the list of popular apps that don't run natively on amd64 was cut down to 'Flash &amp; OpenOffice'.</li>
<li>Last but not least, we've improved the user&lt;-&gt;developer communication a LOT. I can't show you any figures, this is just my personal impression :)</li>
<li>But the most important of all: <b>We had lots of fun.</b></li>
</ul>
<p>Now have a look at this list and tell me that we didn't do anything exciting during the last year.</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/blubb/2006/01/05/review_of_2005">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/blubb/2006/01/05/review_of_2005#comments</comments>
		</item>
			</channel>
</rss>
