<?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>BenV&#039;s notes &#187; Morons</title>
	<atom:link href="http://notes.benv.junerules.com/category/all/morons/feed/" rel="self" type="application/rss+xml" />
	<link>http://notes.benv.junerules.com</link>
	<description>Rants and notes</description>
	<lastBuildDate>Wed, 28 Jul 2010 13:36:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>The Adobe Cancer</title>
		<link>http://notes.benv.junerules.com/all/software/the-adobe-cancer/</link>
		<comments>http://notes.benv.junerules.com/all/software/the-adobe-cancer/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:53:02 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=743</guid>
		<description><![CDATA[They&#8217;ve managed to piss me off once more. I had to do a windows reinstall (XP of course) for some idiots that fubar-ed their machine, so after the usual install, 5 million windows updates, service packs, reboots and firefox install I figured I should probably install flash for them. How hard can it be to [...]]]></description>
			<content:encoded><![CDATA[<p>They&#8217;ve managed to piss me off once more.<br />
I had to do a windows reinstall (XP of course) for some idiots that fubar-ed their machine, so after the usual install, 5 million windows updates, service packs, reboots and firefox install I figured I should probably install flash for them.<br />
How hard can it be to install Adobe Flash?<span id="more-743"></span></p>
<p>Well, apparently it&#8217;s almost impossible these days.<br />
First I went to some site that needed flash, which I pretty much why I thought of it in the first place. Firefox asks &#8220;Hey man, you need a plugin for this page, want me to fix it?&#8221;.<br />
So I told it &#8220;Amuse me&#8221;. Firefox responded with &#8220;I&#8217;m sorry, I automatically failed&#8221;. Nothing new there.<br />
&#8220;Do you want to do a manual install?&#8221;. Sure thing.<br />
So it sent me to the adobe flash installation page: http://get.adobe.com/flashplayer/</p>
<p>The first big scary thing you see if the DEFAULT ENABLED Mcafee installation which most users will ignore.<br />
So when you disable that checkbox and hit the &#8220;Agree to get abused and give all your children to Adobe as slaves&#8221; button, it gives you a big &#8220;THANK YOU!&#8221; page.<br />
This gives you a nice pop-up in firefox, asking you to allow the installation of a an addon.<br />
At first I was positive &#8220;Well, that&#8217;s easier than I expected&#8221;. How wrong I was.</p>
<p>The addon it tried to install was none other than &#8220;Adobe DLM&#8221;. Short for &#8220;Adobe Destroyer of Local Machine&#8221;. I DO NOT WANT THAT PIECE OF GARBAGE, I ONLY WANT THAT FSC!@#$(#4#%$<br />
Needless to say I was very annoyed. Not only that, but on that page (including the previous) I couldn&#8217;t find a normal download link to the flash installer.<br />
Fine fine, I&#8217;ll use the cancer DLM, after which I&#8217;ll uninstall it.</p>
<p>Next problem: the DLM can&#8217;t download files!<br />
Yes, it&#8217;s hard to believe, but the only thing the DLM can get right is installing that fscking piece of rubbish from McafayeeEEEEEEE (never mind that I already have a <a href="http://www.avast.com/">decent FREE virus scanner</a>). On the flash download it fails to check the integrity of the file. Repeatedly.<br />
<div id="attachment_744" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/03/adobe-cancer.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/03/adobe-cancer-300x240.png" alt="How would you like to be upset today?" title="Adobe Cancer Downloader" width="300" height="240" class="size-medium wp-image-744" /></a><p class="wp-caption-text">Adobe Cancer</p></div><br />
Next the DLM asks &#8220;Do you want to try again?&#8221;. Yeah, right, as if that ever works. And indeed, retry fails in the same way.</p>
<p>For those of you in the same situation, there&#8217;s still a place to get the normal installer:<br />
As described in <a href="http://kb2.adobe.com/cps/191/tn_19166.html">this article from adobe</a>, you can download it <a href="http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe">HERE (other browser flash installer for windows)</a>.</p>
<p>Now please die adobe. Take your habbrokrat reader with you, and your picture crap, and flash, and all the rubbish software you create these days. What&#8217;s next, Adobe Anti-virus? Just stick to photoshop, thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/the-adobe-cancer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bye bye Ubisoft</title>
		<link>http://notes.benv.junerules.com/all/software/bye-bye-ubisoft/</link>
		<comments>http://notes.benv.junerules.com/all/software/bye-bye-ubisoft/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 22:51:26 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[settlers]]></category>
		<category><![CDATA[ubisoft]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=740</guid>
		<description><![CDATA[How incredibly stupid can they possibly get&#8230; like a dumb user that keeps running virus infected &#8220;naked hot girls!!!&#8221; screensavers, they keep adding DRM. And now we&#8217;ve reached the point where they expect you to stay connected constantly to play a single player game. Aahahahaha. Bye bye Ubisoft, may the pirates laugh at you and [...]]]></description>
			<content:encoded><![CDATA[<p>How incredibly stupid can they possibly get&#8230; like a dumb user that keeps running virus infected &#8220;naked hot girls!!!&#8221; screensavers, they keep adding DRM.<br />
And now we&#8217;ve <a href="http://www.computerandvideogames.com/article.php?id=235290&#038;site=pcg">reached the point where they expect you to stay connected constantly to play a single player game</a>.<br />
Aahahahaha. Bye bye Ubisoft, may the pirates laugh at you and dance on your grave.<br />
Alas for Settlers 7.. could have been an interesting game.</p>
<p>However, I expect them to revert their plans when <a href="http://www.rockpapershotgun.com/2010/02/17/you-maniacs/">enough badmouthing</a> hits the <a href="http://games.slashdot.org/story/10/02/18/0719256/Ubisofts-Constant-Net-Connection-DRM-Confirmed">news</a> and make them &#8220;only&#8221; half as bad as they currently are.<br />
We&#8217;ll see.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/bye-bye-ubisoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMake issues</title>
		<link>http://notes.benv.junerules.com/all/software/cmake-issues/</link>
		<comments>http://notes.benv.junerules.com/all/software/cmake-issues/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 14:28:36 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[cmake]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=721</guid>
		<description><![CDATA[I can&#8217;t for the life of me begin to imagine why anyone would use cmake as an autoconf alternative. Actually, that&#8217;s a lie. I suppose when you&#8217;re too dumb to write an autoconf file (never heard of autoscan, etc), or perhaps when your system doesn&#8217;t support autoconf you might look at those alternatives. Personally I [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t for the life of me begin to imagine why anyone would use cmake as an autoconf alternative.<span id="more-721"></span> Actually, that&#8217;s a lie.<br />
I suppose when you&#8217;re too dumb to write an autoconf file (never heard of autoscan, etc), or perhaps when your system doesn&#8217;t support autoconf you might look at those alternatives.<br />
Personally I rather see a dir with only a Makefile in that case, because those are easier to fix than cmake.<br />
However, if you DO run into a CMake fuckup, you can put this in your environment to give it a prefix etc.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CMAKE_ARGS</span>=<span style="color: #ff0000;">&quot;-DCMAKE_INSTALL_PREFIX=/usr -DPREFIX=/usr -DSYSCONFDIR=/etc&quot;</span></div></div>
<p>(put it in a file in /etc/profile.d to have it loaded all the time).<br />
Unfortunately this won&#8217;t save you from all CMake builds. For instance I just tried to build <a href="http://awesome.naquadah.org">Awesome</a> (messing around with a new window manager can be fun sometimes) but when I saw that they use CMake I almost aborted instantly. To make the installation use proper paths you would have to add this to the CMAKE_ARGS for instance:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CMAKE_ARGS</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$CMAKE_ARGS</span> -DAWESOME_DOC_PATH=/usr/share/doc/awesome -DAWESOME_MAN_PATH=/usr/share/man -DAWESOME_XSESSION_PATH=/usr/share/xsessions &nbsp; -DXDG_CONFIG_HOME=/etc/xdg&quot;</span></div></div>
<p>Ridiculous.</p>
<p>Anyhow, if I still feel like messing around it once it finally compiles I might talk about it later.</p>
<p>Did you know that <a href="http://www.itk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F">CMake also fails to create an uninstall target</a>&#8230;. gah.<br />
Because oh dear, <em><span style="color:#FF00FF">it might remove useful files from the system</span></em>. NO SHIT SHERLOCK, WHY DO YOU THINK I WOULD WANT TO RUN AN UNINSTALL?!?!?!<br />
Fortunately it does support DESTDIR, so we can handle the uninstall through our package managers. Phew.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/cmake-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dragon Age: Origins</title>
		<link>http://notes.benv.junerules.com/all/software/dragon-age-origins/</link>
		<comments>http://notes.benv.junerules.com/all/software/dragon-age-origins/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 15:36:17 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[dragon age]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[manual install]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=558</guid>
		<description><![CDATA[This game has been released a couple of days ago, and if you&#8217;re a fan of Baldur&#8217;s Gate and such games (like Neverwinter Nights) I&#8217;m sure you&#8217;ll like this game. So when we heard it was released we immediately moved our computers together so we could play a game just like how we spent countless [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dragonage.bioware.com/">This game</a> has been released a couple of days ago, and if you&#8217;re a fan of Baldur&#8217;s Gate and such games (like Neverwinter Nights) I&#8217;m sure you&#8217;ll like this game. So when we heard it was released we immediately moved our computers together so we could play a game just like how we spent countless hours playing Baldur&#8217;s Gate.<span id="more-558"></span></p>
<h2>Dragon Age and Wine</h2>
<p>First I decided to check it if the game would run in Wine. The <a href="http://appdb.winehq.org/objectManager.php?sClass=application&#038;iId=10457" title="Dragon Age on the wine appdb">appdb has some info</a> that doesn&#8217;t sound too terrible, and since the latest git builds sometimes give better results I needed to test no matter what the test results said. So I built the latest git version of wine (which should be version 1.1.33 by now, but since they had WineConf it&#8217;s still labeled 1.1.32) and fired up the installer in a new prefix. I always install games in their own wine prefix so they don&#8217;t bug eachother with dlls and hacks needed to get them running. The game seems to need a few hacks from <a href="http://www.kegel.com/wine/winetricks">winetricks</a>, specifically <span style="color:#FF00FF">gecko</span> and <span style="color:#FF00FF">vcrun2005</span>. Without the gecko component the Dotnet part of the installer crashed for me (it takes forever to install though). You might also want to install <span style="color:#FF00FF">physx</span>, since the game uses that as well. (and a lot of ppl had the physx installer fail through wine, good thing it&#8217;s in winetricks now). Finally I also installed <span style="color:#FF00FF">d3dx9</span> just to be sure, since it needs DirectX to run.</p>
<h3>Installing using the Installer</h3>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">WINEPREFIX</span>=<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da<span style="color: #000000; font-weight: bold;">/</span>.wine<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ winecfg<br />
wine: created the configuration directory <span style="color: #ff0000;">'/storage/da/.wine'</span><br />
&nbsp;<span style="color: #000000; font-weight: bold;">*</span>check the path and sound tabs, <span style="color: #c20cb9; font-weight: bold;">make</span> sure they work <span style="color: #000000; font-weight: bold;">for</span> you<span style="color: #000000; font-weight: bold;">*</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ winetricks gecko<br />
&nbsp;<span style="color: #000000; font-weight: bold;">*</span>junk here<span style="color: #000000; font-weight: bold;">*</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ winetricks vcrun2005<br />
&nbsp;<span style="color: #000000; font-weight: bold;">*</span>junk here<span style="color: #000000; font-weight: bold;">*</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ winetricks physx<br />
&nbsp;<span style="color: #000000; font-weight: bold;">*</span>junk here<span style="color: #000000; font-weight: bold;">*</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ winetricks d3dx9<br />
&nbsp;<span style="color: #000000; font-weight: bold;">*</span>junk here<span style="color: #000000; font-weight: bold;">*</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da:<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">&gt;</span>wine <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>cdrom<span style="color: #000000; font-weight: bold;">/</span>setup.exe</div></div>
<p>The installer should now come up, like this.<br />
<div id="attachment_559" class="wp-caption alignnone" style="width: 298px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-installer.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-installer.png" alt="Dragon Age - Installer (wine)" title="Dragon Age - Installer (wine)" width="288" height="128" class="size-full wp-image-559" /></a><p class="wp-caption-text">Dragon Age - Installer (wine)</p></div><br />
Interestingly enough today&#8217;s git build of wine seems to have wrecked something since I now get this notice:<br />
<div id="attachment_561" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-installer-adminerror.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-installer-adminerror-300x72.png" alt="Dragon Age Installer Adminerror (wine)" title="Dragon Age Installer Adminerror (wine)" width="300" height="72" class="size-medium wp-image-561" /></a><p class="wp-caption-text">Dragon Age Installer Adminerror (wine)</p></div><br />
I reverted to and older git packge I made (version wine-1.1.32-402-gde00535) which doesn&#8217;t give that error.<br />
<div id="attachment_562" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-installer2.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-installer2-300x217.png" alt="Dragon Age Installer under wine (2)" title="Dragon Age Installer under wine (2)" width="300" height="217" class="size-medium wp-image-562" /></a><p class="wp-caption-text">Dragon Age Installer under wine (2)</p></div><br />
In case the installer crashes for you, you could try installing some more stuff from winetricks. As you can see I installed quite a bit, and had the installer crash several times before I had all the winetricks stuff installed. Don&#8217;t worry if the installer fails on the physx part, the game is installed if you get that far (mine crashed here every time I tried, we don&#8217;t care).</p>
<h3>Dragon Age &#8211; Manual installation</h3>
<p>Since the installer is pretty much a bitch, and I noticed it didn&#8217;t do much except for bitch and wine <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  and unrar some packages, I tried to see if I could get it to run <em>without needing the installer</em>. Here goes! (you need the <a href="http://www.rarlab.com/download.htm">rar</a> utility for this).<br />
I created a new wine prefix and installed the required winetricks parts as above, but instead of running the installer I did this:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ <span style="color: #c20cb9; font-weight: bold;">mkdir</span> Dragon\ Age<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da$ <span style="color: #7a0874; font-weight: bold;">cd</span> Dragon\ Age<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>storage<span style="color: #000000; font-weight: bold;">/</span>da<span style="color: #000000; font-weight: bold;">/</span>Dragon Age$ <span style="color: #000000; font-weight: bold;">for</span> k <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>cdrom<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/*</span>.rar ; <span style="color: #000000; font-weight: bold;">do</span> rar x <span style="color: #007800;">$k</span> ; <span style="color: #000000; font-weight: bold;">done</span><br />
&nbsp;<span style="color: #000000; font-weight: bold;">*</span>tons of rar output and your disk rattling like a snake<span style="color: #000000; font-weight: bold;">*</span></div></div>
<p>After this you should have a directory listing that looks very much like after using the official installer. The only worry I had was the game looking for registry entries, but it seems like those aren&#8217;t needed that much. (read, for me it started without asking stuff).<br />
In fact, what baffles me is: <span style="color:#FFFF00"><em>this way it doesn&#8217;t even ask about a CD key</em></span>. Very very interesting. However, I did need to use a no-cd patch to get it to run under wine (for both installation methods). Meh, nothing new there.</p>
<h3>Running it under wine</h3>
<p>Starting up the game will probably give you a black screen that does nothing until you click/bash your keyboard a few times. This is because the intro movies don&#8217;t work under wine at the moment.<br />
However, you can disable those movies in the .INI file:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:$ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-ie</span> <span style="color: #ff0000;">'s/DisableIntroMovies=0/DisableIntroMovies=1/g'</span> ~<span style="color: #000000; font-weight: bold;">/</span>BioWare<span style="color: #000000; font-weight: bold;">/</span>Dragon\ Age<span style="color: #000000; font-weight: bold;">/</span>Settings<span style="color: #000000; font-weight: bold;">/</span>DragonAge.ini</div></div>
<p>(or use a text editor).<br />
<div id="attachment_572" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-title-screen.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/11/da-title-screen-300x187.png" alt="Dragon Age Title Screen (wine)" title="Dragon Age Title Screen (wine)" width="300" height="187" class="size-medium wp-image-572" /></a><p class="wp-caption-text">Dragon Age Title Screen (wine)</p></div><br />
That solves the first problem, however, you might run into the next.<br />
Flickering.<br />
This doesn&#8217;t happen to all wine users it seems, but certainly to a lot of them. Might be related to the video card. I&#8217;m using an NVIDIA Geforce 8600GT with driver version 190.42.<br />
If you run into this you can change a few settings to make it a little better, but I haven&#8217;t found the perfect fix for it yet.<br />
There&#8217;s one settings that helps a ton for me, change it with this:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:$ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-ie</span> <span style="color: #ff0000;">'s/DisableMRT=0/DisableMRT=1/g'</span> ~<span style="color: #000000; font-weight: bold;">/</span>BioWare<span style="color: #000000; font-weight: bold;">/</span>Dragon\ Age<span style="color: #000000; font-weight: bold;">/</span>Settings<span style="color: #000000; font-weight: bold;">/</span>DragonAge.ini</div></div>
<p>For me the flickering was basically gone (during gameplay at least) when I reduced the graphics detail to &#8220;low&#8221;. (I could have Framebuffer effects enabled and also texture details set to high).<br />
What helps is basically lowering the graphics settings:</p>
<ul>
<li>Lower the resolution</li>
<li>Don&#8217;t run fullscreen</li>
</ul>
<p>Anyway, that makes it playable under wine.</p>
<h2>BenV&#8217;s opinion on the game</h2>
<p>It&#8217;s a very worthy game to play if you&#8217;re into Baldur&#8217;s gate etc. The graphics are very nice compared to what I&#8217;m used to (especially under windows <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) and the interface works properly.<br />
The intro story is completely different depending on the race, class, and background (noble or commoner) you pick. I played as a casteless dwarf rogue and had the intro story living in the slums of the city, my sister being a whore trying to marry her way up to the noble class, while thieving and robbing my way around myself. Needless I butchered my way through the intro, cheating my boss out of some money and fighting a lot.<br />
On the other hand my girlfriend started out as a human mage and had a lot less fighting and a lot more blabla and stuff from dreamworlds etc and could talk her way through a big part of the intro. (of course she also ran into the necessary fights, if it were only to teach the combat system of the game).<br />
Speaking of which, the combat system is also well done. The party can be told to hold ground and they will actually <em>stay there</em> instead of having your archers/mages being raped in the front. Stealthing around and backstabbing also works very nicely <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>No LAN games</h3>
<p>Anyway, I&#8217;m sure you can read enough reviews about the game that explain all that in much more detail.<br />
But the one thing that is <b>very very bad</b> is the lack of multiplayer LAN games.<br />
If there&#8217;s one thing we loved about Baldur&#8217;s Gate it was the ability to play the game with 3 computers all controlling the very same party, all players with their own character.<br />
So why is it not in this game? I&#8217;ve seen a lot of BS on slashdot and other sites where the basic arguments are:</p>
<ul>
<li>It would take too much time to implement and therefore reduce the quality of the single player game</li>
<li>It&#8217;s not possible without having a linear story / it would need a completely different story not geared to &#8220;the one&#8221;</li>
<li>UI must be more complex for multiplayer</li>
<li>I&#8217;m a fucking retard</li>
</ul>
<p>Well, I think:</p>
<ul>
<li>Adding multiplayer would require LAN support which is extra code (but they already need that pretty much because of the DLC garbage). However, it&#8217;s not THAT MUCH more. A few screens to setup a game and deal with permissions together with a few tweaks to deal with synchronisation. That&#8217;s all. Peanuts compared to the rest of the game.</li>
<li>See Baldur&#8217;s Gate, we -loved- that kind of multiplayer. Doesn&#8217;t need a different story at all, exactly the same story was excellent.</li>
<li>The UI can be exactly the same, worked fine for Baldur&#8217;s Gate. There are however a few details that are nice to have when doing a multiplayer game, like people still being able to walk around and do stuff while others talk to NPCs, but no major overhauls.</li>
<li>Yes, you are.</li>
</ul>
<p>I&#8217;m sure most people who scream &#8220;NO&#8221; to the multiplayer support (and I wonder why) assume that big changes are needed to the game to make it multiplayer. Perhaps they have the wrong idea about what kind of multiplayer makes us happy.<br />
However, since EA games got involved (see the whole <a href="http://www.penny-arcade.com/2009/11/6/">DLC fiasco</a>) there&#8217;s little hope that it&#8217;ll be changed.<br />
Pity. Anyway, it&#8217;s still a very nice game. Time to play!</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/dragon-age-origins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Qmail + Spamdyke and fail2ban</title>
		<link>http://notes.benv.junerules.com/all/software/qmail-spamdyke-and-fail2ban/</link>
		<comments>http://notes.benv.junerules.com/all/software/qmail-spamdyke-and-fail2ban/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 09:52:09 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[fail2ban]]></category>
		<category><![CDATA[qmail]]></category>
		<category><![CDATA[spamdyke]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=539</guid>
		<description><![CDATA[Yesterday evening I was curiously looking at some tcpdump traffic that went through our dom0 of Xenbro. There seemed to be a ton of weird DNS requests. And with weird I mean spamlike domains, like familiesfirstmedical.com. After wondering for a bit I realized they were coming from our service domU that runs mail for the [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening I was curiously looking at some tcpdump traffic that went through our dom0 of Xenbro. There seemed to be a ton of weird DNS requests. And with weird I mean spamlike domains, like familiesfirstmedical.com. After wondering for a bit I realized they were coming from our service domU that runs mail for the junerules.com domain.<span id="more-539"></span><br />
I logged in and was surprised to see more than 50 active connections busy trying to deliver mostly spam to us. Fortunately I have some anti spam things enabled like <a href="http://spamassassin.apache.org/">spamassassin</a> and reverse DNS checking (which is where the DNS requests came from) and some more things using <a href="http://www.spamdyke.org/">Spamdyke</a>. However, checking the maillog I noticed that there were over 300000 denied connections from a day earlier! Time to become a bit more agressive in getting rid of zombie machines trying to spam us.</p>
<p>As a side story, since we moved our junerules.com domain from our very kind previous host to our own Xenbro machine, the amount of spam we receive plummeted. Apparently not because they stopped spamming on the domain though. I&#8217;m sure our previous host is glad he doesn&#8217;t have to deal with all the attention and traffic anymore <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
The main reason for this spam drop seems to be spamdyke. I&#8217;m sure you have your own opinion about how nice or acceptable it is to run graylisting and reverse DNS checking and all that, but my opinion is that if you have a badly configured mailserver (read: windows zombie machine) you can die in a fire for all I care. Fix your mailserver and then I&#8217;ll accept your mail.<br />
Too bad for the few properly configured mailservers out there that now have to try twice to get through the graylisting&#8230;. then again, it&#8217;s a small price to pay.</p>
<p>Anyway, to get rid of assholes trying to bruteforce their way into my ssh daemon I run <a href="http://www.fail2ban.org/">fail2ban</a>, which lets you try to get in a few times and then blocks your IP for a week. That&#8217;s how much I like them. So I decided to add a new filter to fail2ban, which gets rid of asshole mailservers that will fail their next attempts anyway. Those are the mailservers that spamdyke denies with the following errors:</p>
<ul>
<li><span style="color:#FF00FF">DENIED_RDNS_MISSING</span> &#8211; in other words, the mailserver doesn&#8217;t have a reverse DNS entry. You can&#8217;t be serious, that has to be a zombie.</li>
<li><span style="color:#FF00FF">DENIED_IP_IN_CC_RDNS</span> &#8211; means the mailserver probably has a dynamic IP address from their local ISP. Mostly zombies. Sorry for the 2 mailservers our there that are legitimate that mail like this. I&#8217;ll whitelist you whenever I see complaints.</li>
<li><span style="color:#FF00FF">DENIED_RDNS_RESOLVE</span> &#8211; means the reverse DNS does not resolve to the IP address it connected from. Get lost. However, this one should be used with care, because if the DNS resolver fails for whatever reason spamdyke will also issue this. So make a real good consideration if you want to use this in the fail2ban filter.</li>
</ul>
<p>Since above failures will keep coming back if they retry, I block these asshole servers for a week.<br />
Here&#8217;s my <span style="color:#FFFF00">/etc/fail2ban/filter.d/spamdyke.conf</span>:<br />
<a href="http://notes.benv.junerules.com/wp-content/plugins/download-monitor/download.php?id=spamdyke.conf" title="Downloaded 119 times">Fail2ban spamdyke filter</a> - Version 0.1 - SHA: 1ee23545d87998d0314d2683eb8f2a099cf9fca9</p>
<p>Simply put it in /etc/fail2ban/filter.d and edit <span style="color:#00FFFF">/etc/fail2ban/jail.local</span> and add something like this:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#91;</span>spamdyke-rdns<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
enabled &nbsp;= <span style="color: #c20cb9; font-weight: bold;">true</span><br />
filter &nbsp; = spamdyke<br />
action &nbsp; = iptables-allports<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #007800;">name</span>=SPAM, <span style="color: #007800;">protocol</span>=all<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
logpath &nbsp;= <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>maillog<br />
maxretry = <span style="color: #000000;">2</span><br />
bantime &nbsp;= <span style="color: #000000;">604800</span></div></div>
<p>Then reload fail2ban:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># fail2ban-client reload</span></div></div>
<p>After enabling it about 12 hours ago, this is the result:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>service<span style="color: #666666; font-style: italic;"># fail2ban-client status spamdyke-rdns</span><br />
Status <span style="color: #000000; font-weight: bold;">for</span> the jail: spamdyke-rdns<br />
<span style="color: #000000; font-weight: bold;">|</span>- filter<br />
<span style="color: #000000; font-weight: bold;">|</span> &nbsp;<span style="color: #000000; font-weight: bold;">|</span>- File list: &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>maillog<br />
<span style="color: #000000; font-weight: bold;">|</span> &nbsp;<span style="color: #000000; font-weight: bold;">|</span>- Currently failed: <span style="color: #000000;">72</span><br />
<span style="color: #000000; font-weight: bold;">|</span> &nbsp;<span style="color: #000000; font-weight: bold;">`</span>- Total failed: &nbsp; &nbsp; <span style="color: #000000;">10065</span><br />
<span style="color: #000000; font-weight: bold;">`</span>- action<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">|</span>- Currently banned: <span style="color: #000000;">1987</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">|</span>- <span style="color: #000000; font-weight: bold;">&lt;</span>BenV<span style="color: #000000; font-weight: bold;">&gt;</span> too many to list<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">`</span>- Total banned: &nbsp; &nbsp; <span style="color: #000000;">1987</span></div></div>
<p>Simply amazing. We&#8217;ll end up blocking half the internet. Oh well, it&#8217;s only the bad part of internet anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/qmail-spamdyke-and-fail2ban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another wordpress update</title>
		<link>http://notes.benv.junerules.com/all/software/another-wordpress-update/</link>
		<comments>http://notes.benv.junerules.com/all/software/another-wordpress-update/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 15:23:53 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=504</guid>
		<description><![CDATA[Version 2.8.5 is here! Some important security hardening going on, fixing a trackback DoS attack (or so they claim). Some more details over here. As usualy the automatic update failed for me, so once again the fix for this error: Download failed.: Operation timed out after 60 seconds with 1538482 bytes received Either patch it [...]]]></description>
			<content:encoded><![CDATA[<p>Version 2.8.5 is here! Some important security hardening going on, fixing a trackback DoS attack (or so they claim). Some more details <a href="http://wordpress.org/development/2009/10/wordpress-2-8-5-hardening-release/" title="wordpress 2.8.5 release">over here</a>. As usualy the automatic update failed for me, so once again the fix for this error:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Download failed.: Operation timed out after <span style="color: #000000;">60</span> seconds with <span style="color: #000000;">1538482</span> bytes received</div></div>
<p>Either patch it manually:</p>
<ul>
<li>Edit <span style="color:#FF00FF">wp-admin/includes/file.php</span> and change line <span style="color:#FFFF11">448</span> to a more reasonable default.</li>
<li>The line sould become something like: <code class="codecolorer php vibrant"><span class="php"><span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> wp_remote_get<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'timeout'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">600</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></span></code></li>
</ul>
<p>Or use this patch:</p>
<div class="codecolorer-container diff vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="diff codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #888822;">--- wp-admin/includes/file.php.org &nbsp; &nbsp; &nbsp;2009-10-21 17:03:47.000000000 +0200</span><br />
<span style="color: #888822;">+++ wp-admin/includes/file.php &nbsp;2009-10-21 17:03:06.000000000 +0200</span><br />
<span style="color: #440088;">@@ -445,7 +445,7 @@</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; if <span style="">&#40;</span> ! $handle <span style="">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return new WP_Error<span style="">&#40;</span>'http_no_file', __<span style="">&#40;</span>'Could not create Temporary file'<span style="">&#41;</span><span style="">&#41;</span>;<br />
&nbsp;<br />
<span style="color: #991111;">- &nbsp; &nbsp; &nbsp; $response = wp_remote_get<span style="">&#40;</span>$url, array<span style="">&#40;</span>'timeout' =&gt; <span style="">60</span><span style="">&#41;</span><span style="">&#41;</span>;</span><br />
<span style="color: #00b000;">+ &nbsp; &nbsp; &nbsp; $response = wp_remote_get<span style="">&#40;</span>$url, array<span style="">&#40;</span>'timeout' =&gt; <span style="">600</span><span style="">&#41;</span><span style="">&#41;</span>;</span><br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; if <span style="">&#40;</span> is_wp_error<span style="">&#40;</span>$response<span style="">&#41;</span> <span style="">&#41;</span> <span style="">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fclose<span style="">&#40;</span>$handle<span style="">&#41;</span>;</div></div>
<a href="http://notes.benv.junerules.com/wp-content/plugins/download-monitor/download.php?id=wordpress-auto-update-timeout.diff" title="Downloaded 166 times">Wordpress auto updater timeout patch</a> - Version  - SHA: 9e89757f4b2e5536dbd9fe85a3befd00ab1c4a51
<p>When I tried adding the above patch as a download (using the download monitor plugin) I got this failure:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">File <span style="color: #7a0874; font-weight: bold;">type</span> does not meet security guidelines. Try another.</div></div>
<p>What the fuck guys, this is a TEXT file. Grepping through the sources I find the <span style="color:#00FFFF">wp-admin/includes/file.php</span> file to be the nazi. Apparently I&#8217;m not allowed (as site admin) to pass this <code class="codecolorer php vibrant"><span class="php">current_user_can<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'unfiltered_upload'</span> <span style="color: #009900;">&#41;</span></span></code>. Security hardening, yeah&#8230; against idiots perhaps.<br />
I&#8217;m expecting an update of either wordpress or <a href="http://wordpress.org/extend/plugins/download-monitor/" title="Download Monitor plugin">the download monitor plugin</a> soon.<br />
Meanwhile I simply uploaded the file manually and added an existing download. Pfffrt, the hassle.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/another-wordpress-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Widelands, settlers and scons</title>
		<link>http://notes.benv.junerules.com/all/software/widelands/</link>
		<comments>http://notes.benv.junerules.com/all/software/widelands/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 15:41:34 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=420</guid>
		<description><![CDATA[Today the project to try out is Widelands, apparently a Settlers clone. Since I loved the Settlers (the first one was the best) when the graphics were still acceptable, it is interesting enough to try it out. What I loved about the Settlers was the whole simulation concept. The construction of buildings, the little lemmings [...]]]></description>
			<content:encoded><![CDATA[<p>Today the project to try out is <a href="http://wl.widelands.org/" title="Widelands">Widelands</a>, apparently a <span style="color:#FF00FF">Settlers</span> clone.<br />
Since I loved <a href="http://en.wikipedia.org/wiki/The_Settlers">the Settlers</a> (the first one was the best) when the graphics were still acceptable, it is interesting enough to try it out. What I loved about the Settlers was the whole simulation concept. The construction of buildings, the little lemmings that moved the goods around, chopped down trees, fished, etc. The entire war aspect of the game was terrible (what do you mean my maximum level guy just got p0wnz3d by their new lowlevel rookie?!) . Therefore I liked the games that followed less and less. Settlers 2 was acceptable, a welcome upgrade in graphics and interface and stuff like that, but the war aspect&#8230; blegh. Then at 3 I had enough of the series. Why can&#8217;t it be a simulation where tribes co-exist in peace? I see how that might not attract many gamers, but how about an option huh? Another thing that was great about the Settlers 1 was the multiplayer multi-mouse splitscreen mode, where both players had a mouse on 1 PC and could control a single empire together. With SVGA mode it was great <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-420"></span><br />
Today you need dosbox to run the ancient Settlers 1 game, but that&#8217;s no problem. However, I would like to see a remake of that game (preferably without the combat element), because the ancient graphics etc are just agonizing now that I&#8217;m spoiled with high resolution and more advanced games.<br />
<div id="attachment_422" class="wp-caption alignleft" style="width: 210px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/settlers1.jpg"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/settlers1.jpg" alt="The Settlers 1" title="The Settlers 1" width="200" height="234" class="size-full wp-image-422" /></a><p class="wp-caption-text">The Settlers 1</p></div><br />
<div id="attachment_424" class="wp-caption alignright" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/settlers2.jpg"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/settlers2-300x225.jpg" alt="The Settlers 2" title="The Settlers 2" width="300" height="225" class="size-medium wp-image-424" /></a><p class="wp-caption-text">The Settlers 2</p></div><br />
It seems that they have arrived at Settlers VI these days. The graphics look impressive, but I wonder how the gameplay came along in all those years.</p>
<p>Anyway, today I decided to try out this free open source clone (that can even import Settlers II maps these days, isn&#8217;t that cute?).<br />
So on to the build process. I leeched the SVN version (you know me, official releases are for sissies) and took a look through the source. <span style="color:#FF1111"><b>Waaaah</b></span>! <span style="color:#00FFFF">SCONS</span>&#8230;. so much for getting my hopes up. Oh well, let&#8217;s see how well it does today.<br />
Running scons started with some notifications about not having optipng and pngrewrite and such (might get those later if I care about those 3 bytes they might shave off, I like the programs though) and then bailed out with this:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Could not <span style="color: #c20cb9; font-weight: bold;">find</span> the SDL_gfx library<span style="color: #000000; font-weight: bold;">!</span> Is it installed?</div></div>
<p>To which I told it &#8220;No, it is not.&#8221;. Guess I&#8217;ll have to fix that for you huh? Fine. (yeah, I don&#8217;t bother to check requirements these days&#8230; they&#8217;re all for pokemon OS anyway, I&#8217;ll just find out where the train stops by letting it derail).<br />
So I find the <span style="color:#33FF33">SDL_gfx</span> site from google and copy paste the latest release link to slackbuild.pl, which leeches it and starts compiling. Until:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">libtool: compile: &nbsp;<span style="color: #c20cb9; font-weight: bold;">gcc</span> -DPACKAGE_NAME=<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> -DPACKAGE_TARNAME=<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> -DPACKAGE_VERSION=<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> -DPACKAGE_STRING=<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> -DPACKAGE_BUGREPORT=<span style="color: #000000; font-weight: bold;">\&quot;</span><span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #660033;">-DPACKAGE</span>=<span style="color: #000000; font-weight: bold;">\&quot;</span>SDL_gfx<span style="color: #000000; font-weight: bold;">\&quot;</span> <span style="color: #660033;">-DVERSION</span>=<span style="color: #000000; font-weight: bold;">\&quot;</span>2.0.19<span style="color: #000000; font-weight: bold;">\&quot;</span> -DSTDC_HEADERS=<span style="color: #000000;">1</span> -DHAVE_SYS_TYPES_H=<span style="color: #000000;">1</span> -DHAVE_SYS_STAT_H=<span style="color: #000000;">1</span> -DHAVE_STDLIB_H=<span style="color: #000000;">1</span> -DHAVE_STRING_H=<span style="color: #000000;">1</span> -DHAVE_MEMORY_H=<span style="color: #000000;">1</span> -DHAVE_STRINGS_H=<span style="color: #000000;">1</span> -DHAVE_INTTYPES_H=<span style="color: #000000;">1</span> -DHAVE_STDINT_H=<span style="color: #000000;">1</span> -DHAVE_UNISTD_H=<span style="color: #000000;">1</span> -DHAVE_DLFCN_H=<span style="color: #000000;">1</span> -DLT_OBJDIR=<span style="color: #000000; font-weight: bold;">\&quot;</span>.libs<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000; font-weight: bold;">\&quot;</span> -DBUILD_DLL -I. <span style="color: #660033;">-g</span> <span style="color: #660033;">-O2</span> <span style="color: #660033;">-O</span> -DUSE_MMX -I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>SDL -D_GNU_SOURCE=<span style="color: #000000;">1</span> -D_REENTRANT <span style="color: #660033;">-MT</span> SDL_imageFilter.lo <span style="color: #660033;">-MD</span> <span style="color: #660033;">-MP</span> <span style="color: #660033;">-MF</span> .deps<span style="color: #000000; font-weight: bold;">/</span>SDL_imageFilter.Tpo <span style="color: #660033;">-c</span> SDL_imageFilter.c &nbsp;<span style="color: #660033;">-fPIC</span> <span style="color: #660033;">-DPIC</span> <span style="color: #660033;">-o</span> .libs<span style="color: #000000; font-weight: bold;">/</span>SDL_imageFilter.o<br />
SDL_imageFilter.c: Assembler messages:<br />
SDL_imageFilter.c:<span style="color: #000000;">34</span>: Error: <span style="color: #000000; font-weight: bold;">`</span>pusha<span style="color: #ff0000;">' is not supported in 64-bit mode<br />
SDL_imageFilter.c:38: Error: `popa'</span> is not supported <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">64</span>-bit mode<br />
SDL_imageFilter.c:<span style="color: #000000;">77</span>: Error: <span style="color: #000000; font-weight: bold;">`</span>pusha<span style="color: #ff0000;">' is not supported in 64-bit mode<br />
SDL_imageFilter.c:93: Error: `popa'</span> is not supported <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">64</span>-bit mode<br />
SDL_imageFilter.c:<span style="color: #000000;">152</span>: Error: <span style="color: #000000; font-weight: bold;">`</span>pusha<span style="color: #ff0000;">' is not supported in 64-bit mode<br />
SDL_imageFilter.c:176: Error: `popa'</span> is not supported <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">64</span>-bit mode</div></div>
<p>Oh really, asshole&#8230; mhm, maybe google did not give me the latest release page. Or maybe SDL_gfx fails. Let&#8217;s find out.<br />
So I run into <a href="http://www.ohloh.net/p/sdl-gfx">ohloh&#8217;s sdl-gfx page</a>, that has a button that made me slightly mad/angry/annoyed/I kill you.<br />
It looks like this: <a href="http://www.ohloh.net/p/sdl-gfx/download_teaser" title="Download teaser">Where&#8217;s the download?</a>. Yeah, where&#8217;s the fscking download, that&#8217;s what -<b>I</b>- want to know. So I follow the link and get the option to<br />
<blockquote>provide your users with downloads in 2 ways</p></blockquote>
<p>. *<span style="color:#FF3333">RAAAH</span>*. Do I look like a project manager to you? *<span style="color:#FF00FF">RAGE</span>*.<br />
The quickest way to fix these kind of issues is usually to forget about official sources and immediately walk to the pokemon OS repositories to get the patches. Funny how they are convenient sometimes. So I run to <a href="http://packages.ubuntu.com/source/karmic/sdlgfx">their latest repository version</a>, fetch their patches and check them out. Huh, no patches for this? After which I finally read the <span style="color:#00FFFF">README</span> from the official SDL_gfx source. *hehehe*, maybe I should have done that before I started ranting about this. The README mentions:</p>
<blockquote><p>To build without MMX code enabled (i.e. PPC or for AMD64 architecture<br />
which is missing pusha/popa):<br />
        ./configure &#8211;disable-mmx</p></blockquote>
<p>Aha! To be fair, it was kind of hidden in the README after a lot of blabla about stuff that I really don&#8217;t care about like what primitives it supports. Normally I do read the <span style="color:#00FFFF">INSTALL</span> file, but that contains the boilerplate GPL install file for this source. Makes me wonder why they don&#8217;t automagically disable MMX, that&#8217;s what configure is for after all. Oh well.<br />
With the <span style="color:#FFFF00">&#8211;disable-mmx</span> configure switch it compiled and I had a package. Back to Widelands:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Checking <span style="color: #000000; font-weight: bold;">for</span> ggzcore_conf_read_int<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">in</span> C library libggzcore... no<br />
Could not <span style="color: #c20cb9; font-weight: bold;">find</span> libggz or ggz-client-libs<span style="color: #000000; font-weight: bold;">!</span> Are they BOTH installed?</div></div>
<p>What the heck is libgigglez?<br />
<blockquote><a href="http://dev.ggzgamingzone.org/libraries/libggz/">libggz</a> wraps many common low-level functions which are often used in C programming.</p></blockquote>
<p>I see, another Boost wannabe. Or maybe libc. Or glib. You get the point.</p>
<blockquote><p>
 The first such group is memory handling, which offers functions such as ggz_strdup() or ggz_malloc(), which resemble their counterparts from libc but are more convenient to use. For instance, ggz_strdup(NULL) returns NULL instead of crashing, and ggz_malloc() includes a reference counter to be used for debugging in combination with ggz_free().
</p></blockquote>
<p>Ahaha, yeah, more convienient. Instead making sure you&#8217;re not trying to copy garbage in the first place you could simply copy NULL by using ggz_strdup and have your program end up with empty strings or a not working communication protocol. Much more convenient indeed <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
And obviously they haven&#8217;t heard of the <a href=""http://www.gnu.org/s/libc/manual/html_node/Allocation-Debugging.html>malloc debugging features</a> that are already present in the libc library. Hopefully their debugger is more easy to use and shows more info, but I don&#8217;t care for now. I&#8217;ll regard this ggz library as &#8220;More choice is always better&#8221;. Let&#8217;s see if it works on slackware64.<br />
I stashed <a href="http://ftp.belnet.be/mirror/ftp.ggzgamingzone.org/ggz/0.0.14.1/libggz-0.0.14.1.tar.gz">libggz-0.0.14.1.tar.gz</a> through slackbuild, which compiled it without any issues. Good. Scons also wanted <a href="http://ftp.belnet.be/mirror/ftp.ggzgamingzone.org/ggz/0.0.14.1/ggz-client-libs-0.0.14.1.tar.gz">ggz-client-libs</a> so I also ran it through slackbuild. Another win for slackbuild.</p>
<p>Back at Widelands scons finally agreed on the libraries and went on, then complained about my TERM variable since it was not equal to &#8220;xterm-color&#8221; or &#8220;dumb&#8221;&#8230; seriously, why bother checking if you&#8217;re going to act retarded anyway. Stick to terminfo/termcap for color support. After that it complained about me not having &#8216;krazy2&#8242; and<br />
<blockquote>you will submit code with i. a. spelling errors!</p></blockquote>
<p>Yeah, that&#8217;s just what I was planning to do. And they will quake in their boots when looking at my code.</p>
<p>After 5 million more &#8220;Checking for errors&#8221; checks it went on compiling. Finally it said:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">***</span> No errors detected<br />
scons: <span style="color: #000000; font-weight: bold;">done</span> building targets.</div></div>
<p>Time to play!</p>
<div id="attachment_435" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-menu.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-menu-300x240.png" alt="Widelands titlescreen" title="Widelands titlescreen" width="300" height="240" class="size-medium wp-image-435" /></a><p class="wp-caption-text">Widelands titlescreen</p></div><br />
The game indeed looks/feels like the Settlers 1-2:<br />
<div id="attachment_436" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-ingame1.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-ingame1-300x225.png" alt="Widelands ingame (1)" title="Widelands ingame (1)" width="300" height="225" class="size-medium wp-image-436" /></a><p class="wp-caption-text">Widelands ingame (1)</p></div><br />
<div id="attachment_437" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-ingame2.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-ingame2-300x225.png" alt="Widelands ingame (2)" title="Widelands ingame (2)" width="300" height="225" class="size-medium wp-image-437" /></a><p class="wp-caption-text">Widelands ingame (2)</p></div>
<p>While it&#8217;s still very much in development, it already is fun to play. You&#8217;ll recognize a bunch of stuff from the original game, but Widelands also changed some things like buildings and resource names. For example where Setllers 1 required a Sawmill, Widelands requires a &#8220;Wood hardener&#8221;. Convenient stuff like watch windows are implemented so you can keep track of a building, roads can be built piece by piece but also in 1 go like in the later Settler games, statistics about buildings and production, and there&#8217;s tons more. They included background music and sounds like birds singing etc, which is cute, but it&#8217;s a good thing they can be turned off as well.<br />
<div id="attachment_438" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-watch-window.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-watch-window-300x225.png" alt="Widelands with watch window" title="Widelands with watch window" width="300" height="225" class="size-medium wp-image-438" /></a><p class="wp-caption-text">Widelands with watch window</p></div><br />
Another thing in the game is the story stuff. An advisor will now and then tell you to do stuff or give background information on the land etc. Fun, but sometimes annoying when you&#8217;re doing something and the advisor suddenly feels the need to nag you.<br />
<div id="attachment_440" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-advisor.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-advisor-300x225.png" alt="Widelands ingame story stuff" title="Widelands ingame story stuff" width="300" height="225" class="size-medium wp-image-440" /></a><p class="wp-caption-text">Widelands ingame story stuff</p></div></p>
<p> So far I enjoyed playing the tutorial campaign. However, I haven&#8217;t done the combat part yet, I&#8217;m quite sure I&#8217;ll get bored of the game when I run into that&#8230;.. but don&#8217;t let that stop you!<br />
Go give the game a try, it&#8217;s fun <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="attachment_439" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-statistics.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/widelands-statistics-300x225.png" alt="Widelands ingame Statistics" title="Widelands ingame Statistics" width="300" height="225" class="size-medium wp-image-439" /></a><p class="wp-caption-text">Widelands ingame Statistics</p></div>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/widelands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NFS issues</title>
		<link>http://notes.benv.junerules.com/all/software/nfs-issues/</link>
		<comments>http://notes.benv.junerules.com/all/software/nfs-issues/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 18:54:04 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[nfs]]></category>
		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=379</guid>
		<description><![CDATA[Yesterday evening after getting tired of playing the Aion open beta (it was the last night of the open beta, so we felt like at least reaching level 10, which we did&#8230; and then we could ~FLYYYY) we decided to go downstairs to watch some series on our beamer. So we fire up the machine [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday evening after getting tired of playing the Aion open beta (it was the last night of the open beta, so we felt like at least reaching level 10, which we did&#8230; and then we could ~FLYYYY) we decided to go downstairs to watch some series on our beamer. So we fire up the machine connected to it, which runs everything from <a href="http://nl.wikipedia.org/wiki/Network_File_System">NFS</a>. It didn&#8217;t take long for the boot screen to come up and after the default selection was made for us it ran through the boot process spewing out the usual kernel messages&#8230;..<span id="more-379"></span><br />
Until it ran into this:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Looking up port of RPC <span style="color: #000000;">100003</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2</span> on 192.168.1.1<br />
Looking up port of RPC <span style="color: #000000;">100005</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1</span> on 192.168.1.1<br />
VFS: Mounted root <span style="color: #7a0874; font-weight: bold;">&#40;</span>nfs filesystem<span style="color: #7a0874; font-weight: bold;">&#41;</span> on device <span style="color: #000000;">0</span>:<span style="color: #000000;">14</span><br />
Freeing unused kernel memory: 412k freed<br />
INIT: version <span style="color: #000000;">2.86</span> booting<br />
nfs: server 192.168.1.1 not responding, still trying</div></div>
<p>&#8230; huh? What&#8217;s taking so long? Our server with issues? That&#8217;s unlikely since I still used it 5 minutes earlier. After checking out the NFS server and deciding nothing was wrong with it (or at least, it didn&#8217;t look like it) I got fed up with it and went to bed.<br />
Don&#8217;t you hate it when stuff stops working just when you&#8217;re tired and want to go to sleep? Fortunately for me this is our own internal problem so I could actually do so <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Today I decided to go find out what the hell was wrong with it. So again I booted the machine to find out the above kernel messages.<br />
Time for some tcpdump on the nfs server to see if that can shine some light on this situation. (needless to say there were no useful log entries anywhere).<br />
Tcpdump:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">18</span>:<span style="color: #000000;">27</span>:<span style="color: #000000;">51.931303</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">132</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 193.168.1.9.1304809574 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">104</span> getattr fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004014D00460054C8D81757072101679D7E1B000000000000000000000000<br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">27</span>:<span style="color: #000000;">51.931402</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">124</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.1.2049 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.9.1304809574: reply ok <span style="color: #000000;">96</span> getattr DIR <span style="color: #000000;">40755</span> ids <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span> sz <span style="color: #000000;">69632</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">27</span>:<span style="color: #000000;">55.725726</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">27</span>:<span style="color: #000000;">56.825633</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">27</span>:<span style="color: #000000;">59.025453</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">28</span>:<span style="color: #000000;">03.425078</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">28</span>:<span style="color: #000000;">12.224347</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">28</span>:<span style="color: #000000;">13.324257</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span><br />
<span style="color: #000000;">18</span>:<span style="color: #000000;">28</span>:<span style="color: #000000;">15.524071</span> IP <span style="color: #7a0874; font-weight: bold;">&#40;</span>tos 0x0, ttl <span style="color: #000000;">64</span>, <span style="color: #c20cb9; font-weight: bold;">id</span> <span style="color: #000000;">0</span>, offset <span style="color: #000000;">0</span>, flags <span style="color: #7a0874; font-weight: bold;">&#91;</span>DF<span style="color: #7a0874; font-weight: bold;">&#93;</span>, proto UDP <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">17</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, length <span style="color: #000000;">140</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp; &nbsp; 192.168.1.9.3787772006 <span style="color: #000000; font-weight: bold;">&gt;</span> 192.168.1.1.2049: <span style="color: #000000;">112</span> lookup fh Unknown<span style="color: #000000; font-weight: bold;">/</span>010004004D00460054C8D8170000000000000000000000000000000000000000 <span style="color: #ff0000;">&quot;proc&quot;</span></div></div>
<p>Hmm, interesting. The first request seems to &#8220;work&#8221; (read: it receives an answer) while the rest of the messages are somehow ignored. Wonder why&#8230;<br />
Just to make sure I checked the firewall on the server, which should allow pretty much everything:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>uil<span style="color: #666666; font-style: italic;"># iptables -L -v -n</span><br />
Chain INPUT <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT 198M packets, 89G bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp;pkts bytes target &nbsp; &nbsp; prot opt <span style="color: #000000; font-weight: bold;">in</span> &nbsp; &nbsp; out &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">source</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination<br />
<br />
Chain FORWARD <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT <span style="color: #000000;">0</span> packets, <span style="color: #000000;">0</span> bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp;pkts bytes target &nbsp; &nbsp; prot opt <span style="color: #000000; font-weight: bold;">in</span> &nbsp; &nbsp; out &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">source</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination<br />
<br />
Chain OUTPUT <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT 228M packets, 166G bytes<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
&nbsp;pkts bytes target &nbsp; &nbsp; prot opt <span style="color: #000000; font-weight: bold;">in</span> &nbsp; &nbsp; out &nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">source</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; destination</div></div>
<p>Well, that seems to be true. Maybe something weird in the mount options? Let&#8217;s see the <span style="color:#FF00FF">/etc/fstab</span> for the NFS client:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>teigetje<span style="color: #666666; font-style: italic;"># cat /etc/fstab</span><br />
192.168.1.1:<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>general_stores2<span style="color: #000000; font-weight: bold;">/</span>teigetje &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">/</span> &nbsp; &nbsp; &nbsp; nfs &nbsp; &nbsp; <span style="color: #007800;">rsize</span>=<span style="color: #000000;">8192</span>,<span style="color: #007800;">wsize</span>=<span style="color: #000000;">8192</span>,<span style="color: #007800;">nfsvers</span>=<span style="color: #000000;">3</span> <span style="color: #000000;">0</span> &nbsp; &nbsp; &nbsp; <span style="color: #000000;">0</span><br />
proc &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">/</span>proc &nbsp; proc &nbsp; &nbsp;defaults &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">0</span> &nbsp; &nbsp; &nbsp; <span style="color: #000000;">0</span><br />
tmpfs &nbsp; <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>shm &nbsp; &nbsp; &nbsp; &nbsp;tmpfs &nbsp; defaults &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">0</span> &nbsp; &nbsp; &nbsp; <span style="color: #000000;">0</span><br />
tmpfs &nbsp; <span style="color: #000000; font-weight: bold;">/</span>tmp &nbsp; &nbsp;tmpfs &nbsp; defaults &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000;">0</span> &nbsp; &nbsp; &nbsp; <span style="color: #000000;">0</span></div></div>
<p>Nothing weird&#8230; or is there? After messing around with it for a bit I decided it really wasn&#8217;t anything in there.<br />
Time to do a test on a different machine in the network. On my workstation I tried to mount the root path after giving myself permissions and re-exporting the nfs paths:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>mnt:<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-o</span> <span style="color: #007800;">rsize</span>=<span style="color: #000000;">8192</span>,<span style="color: #007800;">wsize</span>=<span style="color: #000000;">8192</span>,<span style="color: #007800;">nfsvers</span>=<span style="color: #000000;">3</span> 192.168.1.1:<span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>general_stores2<span style="color: #000000; font-weight: bold;">/</span>teigetje tmp<br />
root<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>mnt:<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-al</span> tmp<br />
<span style="color: #000000; font-weight: bold;">*</span>stuck<span style="color: #000000; font-weight: bold;">*</span></div></div>
<p>And there it was, being stuck for what seems to be forever. So in other words: the mount worked, but then it doesn&#8217;t respond for the ls command. What&#8230; the&#8230; fuck.<br />
Mind boggling, while the logs on the nfs server gave no hints at all. (as usual).<br />
To make this even more interesting, there is another export on that same nfs server that most workstation use, called <span style="color:#00FFFF">general_stores</span>. (to access the music collection etc).<br />
Can&#8217;t remember that being broken&#8230;. let&#8217;s test:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~:<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-lad</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>general_stores<span style="color: #000000; font-weight: bold;">/</span>.<br />
drwxr-xr-x <span style="color: #000000;">14</span> root root <span style="color: #000000;">4096</span> Aug <span style="color: #000000;">25</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">58</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>general_stores<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">/</span></div></div>
<p>How can this be?! This mount works fine while the other doesn&#8217;t? What the hell is so special about that NFS client&#8217;s export?</p>
<p>And then it hit me.</p>
<p>*<span style="color:#FF0011">WHACK</span>*<br />
(ouch)</p>
<p>The window that I had open with the <span style="color:#FFF011">ls -al tmp</span> suddenly decided to work. It gave this listing:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">ls</span>: cannot access tmp<span style="color: #000000; font-weight: bold;">/</span>proc: Input<span style="color: #000000; font-weight: bold;">/</span>output error<br />
total <span style="color: #000000;">164</span><br />
drwxr-xr-x <span style="color: #000000;">21</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">14</span> .<br />
drwxr-xr-x <span style="color: #000000;">12</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">26</span> &nbsp;<span style="color: #000000;">2006</span> ..<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">2</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">14</span> bin<br />
drwxr-xr-x <span style="color: #000000;">13</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:05 boot<br />
drwxr-xr-x <span style="color: #000000;">17</span> root root <span style="color: #000000;">69632</span> Oct &nbsp;<span style="color: #000000;">6</span> &nbsp;<span style="color: #000000;">1997</span> dev<br />
drwxr-xr-x <span style="color: #000000;">71</span> root root <span style="color: #000000;">12288</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">24</span> etc<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">5</span> root root &nbsp;<span style="color: #000000;">4096</span> Oct &nbsp;<span style="color: #000000;">6</span> &nbsp;<span style="color: #000000;">1997</span> home<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">6</span> root root <span style="color: #000000;">12288</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">11</span> lib<br />
drwxr-xr-x <span style="color: #000000;">16</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">47</span> media<br />
drwxr-xr-x <span style="color: #000000;">12</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">26</span> &nbsp;<span style="color: #000000;">2006</span> mnt<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">9</span> root root &nbsp;<span style="color: #000000;">4096</span> Jun <span style="color: #000000;">10</span> &nbsp;<span style="color: #000000;">2007</span> opt<br />
?????????? &nbsp;? ? &nbsp; &nbsp;? &nbsp; &nbsp; &nbsp; &nbsp;? &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;? proc<br />
drwx--x--- <span style="color: #000000;">28</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">24</span> root<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">2</span> root root &nbsp;<span style="color: #000000;">4096</span> Jun <span style="color: #000000;">14</span> 05:<span style="color: #000000;">35</span> sbin<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">2</span> root root &nbsp;<span style="color: #000000;">4096</span> Apr &nbsp;<span style="color: #000000;">8</span> &nbsp;<span style="color: #000000;">2007</span> srv<br />
drwxr-xr-x &nbsp;<span style="color: #000000;">2</span> root root &nbsp;<span style="color: #000000;">4096</span> May <span style="color: #000000;">12</span> &nbsp;<span style="color: #000000;">2004</span> sys<br />
drwxrwxrwt &nbsp;<span style="color: #000000;">4</span> root root &nbsp;<span style="color: #000000;">4096</span> Sep <span style="color: #000000;">14</span> <span style="color: #000000;">18</span>:<span style="color: #000000;">17</span> tmp<br />
drwxr-xr-x <span style="color: #000000;">19</span> root root &nbsp;<span style="color: #000000;">4096</span> Jul <span style="color: #000000;">16</span> 02:<span style="color: #000000;">22</span> usr<br />
drwxr-xr-x <span style="color: #000000;">19</span> root root &nbsp;<span style="color: #000000;">4096</span> Aug &nbsp;<span style="color: #000000;">4</span> 01:<span style="color: #000000;">52</span> var</div></div>
<p>Doh! /proc &#8230; of course that&#8217;s the problem! That&#8217;s why tcpdump showed the &#8220;proc&#8221; entries!</p>
<p>But why?</p>
<p>Well, recently I moved some disks around and added a &#8216;<span style="color:#F00FFF">crossmnt</span>&#8216; option in the <span style="color:#FF00FF">/etc/exports</span> file on the NFS server.<br />
This option gives the nfs clients the ability to cross mount borders, so for example if I have this on the nfs server:<br />
 * /mnt/disk with device /dev/sda1 mounted there<br />
 * /mnt/disk/stuff with device /dev/sdb1 mounted there<br />
And then export /mnt/disk and mount it on my nfs client, I can see /mnt/disk/stuff with its contents because of the crossmnt option. Without that option the directory would be empty on nfs clients.</p>
<p>So how does this relate to proc? Well, since proc is &#8220;special&#8221; it has a ton of special files that nfs can&#8217;t deal with and therefore can not export.<br />
Now normally this wouldn&#8217;t be an issue, since it shouldn&#8217;t be mounted in the first place (the nfs server has its own /proc, the nfs cilent mounts its own version so it only needs a  place to mount it on). However, a little earlier my girly friend mounted it &#8220;because she had to build <a href="http://www.enlightenment.org/">E</a>&#8220;. Don&#8217;t ask.<br />
E again&#8230;. always the same&#8230; <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
After unmounting the proc dir and rebooting the NFS client it had no more problems and booted fine.</p>
<p>Conclusion:<br />
NFS can&#8217;t deal with proc. Don&#8217;t hide a mounted procfs in your nfs exports.<br />
NFS sucks because of stuff like this, but I haven&#8217;t found anything better so far. Guess we&#8217;ll stick with it for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/nfs-issues/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aion</title>
		<link>http://notes.benv.junerules.com/all/software/aion/</link>
		<comments>http://notes.benv.junerules.com/all/software/aion/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 16:19:35 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Boring]]></category>
		<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=371</guid>
		<description><![CDATA[Lately I&#8217;ve heard some rumors about this new mmorhghhghg coming up called &#8220;Aion&#8220;. Fileplanet (you know, the cancer popup site you sometimes get when you need to download a game patch and then need to click through 23894723897 registration things etc&#8230; which is barred from bugmenot&#8230;. *sigh*) handed out open beta keys. So I got [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve heard some rumors about this new mmorhghhghg coming up called &#8220;<a href="http://us.ncsoft.com/en/aion/">Aion</a>&#8220;.<br />
Fileplanet (you know, the cancer popup site you sometimes get when you need to download a game patch and then need to click through 23894723897 registration things etc&#8230; which is barred from bugmenot&#8230;. *sigh*) handed out open beta keys. So I got one. And so did lotjuh.</p>
<p>Did I mention my machine doesn&#8217;t have windows? Makes it&#8230; interesting.<br />
First we obviously tried wine. Well, it installs without much hassle, which is a good thing.<br />
However, it doesn&#8217;t launch. Some piece of garbage called <span style="color:#FF00FF">GameGuard</span> <a href="http://appdb.winehq.org/objectManager.php?sClass=version&#038;iId=16284">doesn&#8217;t work on wine</a>. And because it doesn&#8217;t, neither does Aion.<br />
Great going Aion guys! Needless to say they couldn&#8217;t be arsed to write a linux binary for it, so they <b>SUCK</b> per default! They couldn&#8217;t even be arsed to write a Mac binary for it. Pffrt.</p>
<p>However, to make an interesting attempt to test out Virtualbox&#8217;s 3d acceleration support, I decided to install Aion in a virtualboxed windows xp that I &#8220;borrowed&#8221; from lotjuh.<br />
Virtualbox is at version 3.0.6 these days, so first I installed the latest version.<br />
The installation went fine:<br />
<div id="attachment_372" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-virtualbox-install.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-virtualbox-install-300x225.png" alt="Aion installation on XP in Virtualbox 3.0.6" title="Aion installation on XP in Virtualbox 3.0.6" width="300" height="225" class="size-medium wp-image-372" /></a><p class="wp-caption-text">Aion installation on XP in Virtualbox 3.0.6</p></div><br />
Not only the installation, but also the updater ran fine:<br />
<div id="attachment_374" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-launcher-updates.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-launcher-updates-300x188.png" alt="Aion Updater" title="Aion Updater" width="300" height="188" class="size-medium wp-image-374" /></a><p class="wp-caption-text">Aion Updater</p></div><br />
Then the gameguard part came, it looked promising:<br />
<div id="attachment_375" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-gameguard.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-gameguard-300x188.png" alt="Aion GameGuard part`" title="Aion GameGuard part" width="300" height="188" class="size-medium wp-image-375" /></a><p class="wp-caption-text">Aion GameGuard part`</p></div><br />
However, to all good things must come an end. So it dies because of hardware acceleration issues. No real surprise, but too bad for Virtualbox. Not there yet.<br />
<div id="attachment_376" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-died.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/aion-died-300x188.png" alt="Aion dies" title="Aion dies" width="300" height="188" class="size-medium wp-image-376" /></a><p class="wp-caption-text">Aion dies</p></div><br />
Maybe it&#8217;ll work one day when Virtualbox gets their direct3d working as well as wine has it working.</p>
<p>Anyway, from what I&#8217;ve seen of the game (it runs &#8216;fine&#8217; on lotjuh&#8217;s PC with her &#8220;Seven&#8221; failure install), it&#8217;s a World of Warcraft wannabe.<br />
Graphics are a lot better, they put in some cute stuff like when it rains and the character idles it&#8217;ll put a leave over their head. The movies are cute, the quests sometimes even show you stuff (like a little ingame movie of the target area) to go along with the text. But all in all it doesn&#8217;t look like a wow killer. No linux support (not even with wine), no mac support, and so far I haven&#8217;t seen a major reason for people to switch from wow to this game, except for the graphics. Then again, I&#8217;ve only looked at it for a short amount of time, maybe it&#8217;ll get better <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
I&#8217;m sure they&#8217;ll get a decent amount of players though, it&#8217;s a good wow clone.<br />
Story wise the game is fail, I could sum it up with &#8220;There were gods, and a planet, and now the planet is split in 2 half planets and the &#8216;people&#8217; on those halves fight eachother&#8221;.</p>
<p>It asks for a stellar converter if you ask me. (master of orion 2 reference, can&#8217;t find a good image/video on google)</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/aion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Boost, qBitTorrent and lib64</title>
		<link>http://notes.benv.junerules.com/all/software/boost-qbittorrent-and-lib64/</link>
		<comments>http://notes.benv.junerules.com/all/software/boost-qbittorrent-and-lib64/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 16:13:06 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=354</guid>
		<description><![CDATA[After toying around a bit on the news sites I decided it would be interesting to see if qBitTorrent would run on slackware 64. So we go to the download site, copy the url, and see if Slackbuild likes it. Slackbuild leeches, untars, gives the configure options (which are a bit buggy, I know, will [...]]]></description>
			<content:encoded><![CDATA[<p>After toying around a bit on the news sites I decided it would be interesting to see if <a href="http://qbittorrent.sourceforge.net">qBitTorrent</a> would run on slackware 64.<br />
So we go to the download site, copy the url, and see if Slackbuild likes it. Slackbuild leeches, untars, gives the configure options (which are a bit buggy, I know, will be fixed next release), runs configure. Configure crashes out with &#8220;blabla boost blabla&#8221;.<span id="more-354"></span></p>
<p>Oh. <span style="color:#FF0000">Boost</span>&#8230;.. that time of the month. If there&#8217;s one piece of trash I&#8217;ve run into very often on my compilation expeditions&#8230;. it&#8217;s boost. What a cancer piece of trash that is. You wouldn&#8217;t believe the amount of cursing I&#8217;ve gone through on my trails through &#8220;build from source&#8221; land because of boost. It never works, and when it does it&#8217;s limping on. They should have called it &#8220;blast&#8221; instead.<br />
These days boost is in the official slackware repositories. You&#8217;d think that would help, since I can&#8217;t mess up the paths etc anymore. (compiling boost is another disaster btw, don&#8217;t go there unless you like torture). But noo, as usual the programs that use boost (&#8220;because we can&#8217;t code &#8482;&#8221;, or at least, that&#8217;s what I think) are so good at coding stuff themselves that they fail the autoconf for it as well. Prutsers. Well, to be honest, if they can&#8217;t code it themselves it&#8217;s probably smart to use a library that handles it for them&#8230;.. but boost? :/</p>
<p>Anyway, back to qBitTorrent. Actually, it&#8217;s <span style="color:#FF00FF">libtorrent-rasterbar</span> that&#8217;s failing. Attempt 1, configure with only a prefix and no other options:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~<span style="color: #000000; font-weight: bold;">/</span>tmp$ <span style="color: #666666; font-style: italic;"># ./configure --prefix=/usr</span><br />
&nbsp; <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">*</span>blabla<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
checking whether the Boost::System library is available... <span style="color: #c20cb9; font-weight: bold;">yes</span><br />
configure: error: unable to <span style="color: #c20cb9; font-weight: bold;">find</span> Boost.System library, currently this is required.</div></div>
<p>WHat?! Do you ahve Boost::System? Yes. I mean no!<br />
&#8230; seriously, who comes up with this shit&#8230;.<br />
So we dig into config.log and find:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">configure:<span style="color: #000000;">21533</span>: checking whether the Boost::System library is available<br />
configure:<span style="color: #000000;">21567</span>: <span style="color: #c20cb9; font-weight: bold;">g++</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-O2</span> &nbsp;-I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include conftest.cpp <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">5</span><br />
configure:<span style="color: #000000;">21574</span>: <span style="color: #007800;">$?</span> = <span style="color: #000000;">0</span><br />
configure:<span style="color: #000000;">21597</span>: result: <span style="color: #c20cb9; font-weight: bold;">yes</span><br />
configure:<span style="color: #000000;">21865</span>: error: unable to <span style="color: #c20cb9; font-weight: bold;">find</span> Boost.System library, currently this is required.</div></div>
<p>Or in other words: nothing we didn&#8217;t already know. FUCK.<br />
Time for a trace.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~<span style="color: #000000; font-weight: bold;">/</span>tmp$ <span style="color: #c20cb9; font-weight: bold;">bash</span> <span style="color: #660033;">-x</span> .<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-ssl</span> <span style="color: #660033;">--with-boost-system</span>=boost_system <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">less</span><br />
&nbsp;<span style="color: #7a0874; font-weight: bold;">&#91;</span> shift-g, <span style="color: #7a0874; font-weight: bold;">wait</span>, search <span style="color: #000000; font-weight: bold;">for</span> Boost::System <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
++ <span style="color: #7a0874; font-weight: bold;">echo</span> -L<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/[^\/]*//'</span><br />
+ <span style="color: #007800;">BOOSTLIBDIR</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<br />
+ <span style="color: #007800;">LDFLAGS_SAVE</span>=<span style="color: #ff0000;">' -L/usr/lib'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> x = x<br />
++ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #ff0000;">'/usr/lib/libboost_system*.so*'</span> <span style="color: #ff0000;">'/usr/lib/libboost_system*.a*'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s,.*/,,'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^lib\(boost_system.*\)\.so.*$;\1;'</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^lib\(boost_system.*\)\.a*$;\1;'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> x <span style="color: #ff0000;">'!='</span> xyes<br />
++ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #ff0000;">'/usr/lib/boost_system*.dll*'</span> <span style="color: #ff0000;">'/usr/lib/boost_system*.a*'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s,.*/,,'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^\(boost_system.*\)\.dll.*$;\1;'</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^\(boost_system.*\)\.a*$;\1;'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> x = xno<br />
+ <span style="color: #007800;">CPPFLAGS</span>=<br />
+ <span style="color: #007800;">LDFLAGS</span>=<br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #660033;">-z</span> <span style="color: #ff0000;">''</span><br />
+ <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'%s\n'</span> <span style="color: #ff0000;">'configure:21865: error: unable to find Boost.System library, currently this is required.'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'%s\n'</span> <span style="color: #ff0000;">'configure: error: unable to find Boost.System library, currently this is required.'</span><br />
configure: error: unable to <span style="color: #c20cb9; font-weight: bold;">find</span> Boost.System library, currently this is required.</div></div>
<p>&#8230;. <span style="color:#FFFF00">/usr/lib</span>? Says who? Not me, that&#8217;s for sure. idiots.<br />
In fact, I&#8217;m quite sure that it&#8217;s in <span style="color:#FFFF00">/usr/lib64</span>.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~<span style="color: #000000; font-weight: bold;">/</span>tmp$ &nbsp;<span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>libboost_filesyste<span style="color: #000000; font-weight: bold;">*</span> <br />
<span style="color: #660033;">-rwxr-xr-x</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">83368</span> <span style="color: #000000;">2009</span>-08-<span style="color: #000000;">25</span> 04:<span style="color: #000000;">31</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>libboost_filesystem-mt.so<span style="color: #000000; font-weight: bold;">*</span><br />
<span style="color: #660033;">-rwxr-xr-x</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">83336</span> <span style="color: #000000;">2009</span>-08-<span style="color: #000000;">25</span> 04:<span style="color: #000000;">31</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>libboost_filesystem.so<span style="color: #000000; font-weight: bold;">*</span></div></div>
<p>Jup, as expected. Boost is kanker. Since boost doesn&#8217;t have the usual pkgconfig issues, we can only conclude that the reason is that either this configure.in was written by a moron, or that<br />
boost supplies invalid tests for finding itself through the autoconf system. I suspect the latter, but that&#8217;s just me <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In this case the solution is simple, since the configure script has an override option. Wonder why&#8230; maybe they ran into boost idiocies before? <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
The solution:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~<span style="color: #000000; font-weight: bold;">/</span>tmp$ .<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--with-boost-libdir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64</div></div>
<p>This runs through configure, it finds the boost garbage and runs through. And guess what? It even compiles! <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The gist of this rant: autoconf is pretty useless if you make assumptions that autoconf is supposed to detect. If you write software, don&#8217;t assume this stuff, try to detect it.<br />
Also: when it fails, give me an error message that is useful, not some generic error code. &#8220;Library not found&#8221; vs &#8220;library not found because libblabla.so doesn&#8217;t exist in /usr/lib&#8221;.</p>
<p>About qbittorrent: it&#8217;s a cute little torrent client for linux. Especially if you like faily lightweight stuff that does has a gui. The thing I like about those lightweight clients: they&#8217;re fast.<br />
This one even has an RSS reader these days&#8230;. cute.<br />
Here&#8217;s a screenie:<br />
<div id="attachment_355" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/qbittorrent-1.5.0.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/qbittorrent-1.5.0-300x184.png" alt="qbittorrent v1.5.0" title="qbittorrent-1.5.0" width="300" height="184" class="size-medium wp-image-355" /></a><p class="wp-caption-text">qbittorrent v1.5.0</p></div></p>
<p>So qBittorrent: keep up the good work, and get rid of boost <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/boost-qbittorrent-and-lib64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minor annoyance about linux</title>
		<link>http://notes.benv.junerules.com/all/software/minor-annoyance-about-linux/</link>
		<comments>http://notes.benv.junerules.com/all/software/minor-annoyance-about-linux/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 16:40:06 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[proc]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=309</guid>
		<description><![CDATA[So I&#8217;m working on a little info script (check out Infoscreen) so I can have a nice overview of my server when I look at console number one without having to log in etc. Simple question: &#8220;Where in /proc can I find a list of IP addresses with corresponding interfaces?&#8221; Simple answer: Try /proc/net/if_inet6! wouter@wouter-laptop:~:0&#62;cat [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m working on a little info script (check out <a href="http://notes.benv.junerules.com/infoscreen/">Infoscreen</a>) so I can have a nice overview<br />
of my server when I look at console number one without having to log in etc.</p>
<p>Simple question:<br />
&#8220;Where in /proc can I find a list of IP addresses with corresponding interfaces?&#8221;</p>
<p>Simple answer:<br />
Try <code class="codecolorer text vibrant"><span class="text">/proc/net/if_inet6</span></code>!</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wouter<span style="color: #000000; font-weight: bold;">@</span>wouter-laptop:~:<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>net<span style="color: #000000; font-weight: bold;">/</span>if_inet6 <br />
00000000000000000000000000000001 01 <span style="color: #000000;">80</span> <span style="color: #000000;">10</span> <span style="color: #000000;">80</span> &nbsp; &nbsp; &nbsp; lo<br />
20010888148d0000022100fffe221352 04 <span style="color: #000000;">40</span> 00 00 &nbsp; &nbsp;wlan1<br />
fe80000000000000022100fffe221352 04 <span style="color: #000000;">40</span> <span style="color: #000000;">20</span> <span style="color: #000000;">80</span> &nbsp; &nbsp;wlan1</div></div>
<p>&#8230; that&#8217;s great&#8230;. but I really wanted the IPv4 addresses as well.<br />
&#8220;/proc/net/if_inet4&#8243; or &#8220;/proc/net/if_inet&#8221;? Noooooo&#8230;.</p>
<p>Conclusion: KANKER LINUX!</p>
<p>Obviously I can get the address by calling &#8216;<span style="color:#FF00FF">ip addr show</span>&#8216;, &#8216;<span style="color:#FF00FF">ifconfig</span>&#8216; or a heap of other solution involving calling <span style="color:#FF00FF">ioctl</span> on sockets or using the <span style="color:#FF00FF">netlink interface</span>&#8230; but seriously, blegh.</p>
<p>The most retarded thing is that pretty much every other statistic about my network devices is there&#8230; including active connections and whatnot, but ipv4 addresses? Nooooo&#8230;.. *RAAH*</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/minor-annoyance-about-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dos2unix</title>
		<link>http://notes.benv.junerules.com/all/software/dos2unix/</link>
		<comments>http://notes.benv.junerules.com/all/software/dos2unix/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 17:41:37 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=237</guid>
		<description><![CDATA[Another annoying thing: morons that save their files with dos line endings. Also known as &#8220;I&#8217;ve got motherfucking ^M in my file, AAAIIEEEEYGGrrgrll&#8220;. I usually find out about this when bash complains about stuff like this: benv@janeman:~$ ./bla.pl -bash: ./bla.pl: /usr/bin/perl^M: bad interpreter: No such file or directory (HAAAAAT!!!) Solution: benv@janeman:~$ vim kankerfile :set fileformat=unix [...]]]></description>
			<content:encoded><![CDATA[<p>Another annoying thing: morons that save their files with dos line endings.<br />
Also known as &#8220;<span style="color:#FF0000">I&#8217;ve got motherfucking ^M in my file, AAAIIEEEEYGGrrgrll</span>&#8220;.<br />
I usually find out about this when bash complains about stuff like this:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ .<span style="color: #000000; font-weight: bold;">/</span>bla.pl <br />
-bash: .<span style="color: #000000; font-weight: bold;">/</span>bla.pl: <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">perl</span>^M: bad interpreter: No such <span style="color: #c20cb9; font-weight: bold;">file</span> or directory</div></div>
<p>(<span style="font-size: 200%; color:#FF0000">HAAAAAT!!!</span>)</p>
<p>Solution:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #c20cb9; font-weight: bold;">vim</span> kankerfile<br />
:<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">fileformat</span>=unix<br />
:wq</div></div>
<p>(Don&#8217;t confuse fileformat with filetype, one is used for encoding, the other for things as syntax highlighting)</p>
<p>Solution 2:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ dos2unix kankerfile</div></div>
<p>I never use this since I never have that piece of cancer called dos2unix, but some distros do.</p>
<p>Solution 3:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-ie</span> <span style="color: #ff0000;">'s/\r//g'</span> bla.pl</div></div>
<p>That should fix it. On to the &#8220;let&#8217;s trash my home directory with my fancy new perl script that I just converted&#8221; <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/dos2unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xen and booting domU using a vanilla kernel</title>
		<link>http://notes.benv.junerules.com/all/software/xen-and-booting-domu-using-a-vanilla-kernel/</link>
		<comments>http://notes.benv.junerules.com/all/software/xen-and-booting-domu-using-a-vanilla-kernel/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 21:13:23 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[xen]]></category>
		<category><![CDATA[xm]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=209</guid>
		<description><![CDATA[Our server in the datacenter is running slackware (duh) with a nice Xen installation on it. Still running with Xen 3 using PAE since the last time I updated/upgraded it without any major problems for over 2 years now (ignoring the time that the power supply let go of the the magic smoke) So after [...]]]></description>
			<content:encoded><![CDATA[<p>Our server in the datacenter is running slackware (duh) with a nice Xen installation on it.<br />
Still running with <a href="http://www.xen.org/">Xen 3</a> using PAE since the last time I updated/upgraded it without any major problems for over 2 years now <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
(ignoring the time that the power supply let go of the the magic smoke)</p>
<p>So after the latest local root exploit thing, and testing it on some machines during har2009, I figured it might be nice to get the <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e694958388c50148389b0e9b9e9e8945cf0f1b98">patch</a> into my kernels. Running a webserver usually means you&#8217;re at risk after all, especially when it&#8217;s running wordpress <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>So I grabbed the latest kernel that had that patch and went for the usual <code class="codecolorer text vibrant"><span class="text">make menuconfig</span></code> ordeal. After half an hour of selecting &#8220;yes&#8221;, &#8220;maybe&#8221;, &#8220;I guess so&#8221;, and<br />
some XEN options (<span style="color: #FFFF00">CONFIG_PARAVIRT_GUEST=y, CONFIG_XEN=y, CONFIG_HVC_DRIVER=y, CONFIG_XEN_BLKDEV_FRONTEND=y, CONFIG_XEN_NETDEV_FRONTEND=y, CONFIG_XEN_KBDDEV_FRONTEND=y, CONFIG_HVC_XEN=y, CONFIG_XEN_BALLOON=y, CONFIG_XEN_SCRUB_PAGES=y, CONFIG_XENFS=y, CONFIG_XEN_COMPAT_XENFS=y</span>) I built the thing.<br />
As I usually build bzImages I also did so here. <code class="codecolorer text vibrant"><span class="text">make bzImage modules modules_install</span></code>.<br />
Half an hour later I had a shiny bzImage. Let&#8217;s try it on a test domain!</p>
<p>I copied the bzImage to /boot, changed the <code class="codecolorer text vibrant"><span class="text">kernel = &quot;/boot/vmlinuz-xen-old&quot;</span></code> option to the new place, and GO!<br />
This is what it told me:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>iejoor:<span style="color: #000000; font-weight: bold;">/</span>xen<span style="color: #000000; font-weight: bold;">/</span>hosts<span style="color: #000000; font-weight: bold;">/</span>purple<span style="color: #666666; font-style: italic;"># xm create -c purple.cfg-newkernel</span><br />
Using config <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #ff0000;">&quot;./purple.cfg-newkernel&quot;</span>.<br />
Started domain purple<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;root<span style="color: #000000; font-weight: bold;">@</span>iejoor:<span style="color: #000000; font-weight: bold;">/</span>xen<span style="color: #000000; font-weight: bold;">/</span>hosts<span style="color: #000000; font-weight: bold;">/</span>purple<span style="color: #666666; font-style: italic;">#</span></div></div>
<p>Huh, where&#8217;s my console?<br />
Checking <code class="codecolorer text vibrant"><span class="text">xm list</span></code> it seemed to be there&#8230; but paused&#8230; and with constantly increasing ids. Waaait a minute!<br />
Checking the log files (<span style="color: #00FF00">xend.log</span> in this case) revealed a secret:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices irq.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices vkbd.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices vfb.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices console.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:167) Waiting for 0.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices pci.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices ioports.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices tap.<br />
[2009-08-18 16:40:01 16116] DEBUG (DevController:162) Waiting for devices vtpm.<br />
[2009-08-18 16:40:01 16116] INFO (XendDomain:1165) Domain purple (35) unpaused.<br />
[2009-08-18 16:40:01 16116] WARNING (XendDomainInfo:1240) Domain has crashed: name=purple id=35.<br />
[2009-08-18 16:40:01 16116] DEBUG (XendDomainInfo:1879) XendDomainInfo.destroy: domid=35<br />
[2009-08-18 16:40:01 16116] DEBUG (XendDomainInfo:1896) XendDomainInfo.destroyDomain(35)</div></div>
<p>Note the &#8216;WARNING&#8217; line. Crashed?!<br />
Gee, that&#8217;s &#8230; interesting. Why? Took me 5 minutes to find the other log file, but <span style="color: #FF0000">xend-debug.log</span> had a magic line:<br />
<code class="codecolorer bash vibrant"><span class="bash">ERROR Invalid kernel: xc_dom_find_loader: no loader found</span></code><br />
&#8230; great. Another why.<br />
In case you&#8217;re wondering, the increasing status in &#8216;xm list&#8217; was caused by the <code class="codecolorer bash vibrant"><span class="bash">on_crash = <span style="color: #ff0000;">'reboot'</span></span></code> line in the xen host config.<br />
I quickly destroyed the doman and changed it to a oneshot try: <code class="codecolorer bash vibrant"><span class="bash">on_crash = <span style="color: #ff0000;">'destroy'</span></span></code></p>
<p>After some searching another hint presented itself. Aren&#8217;t they nice?<br />
This hint was: &#8220;Xen is a retarded piece of cancer and can&#8217;t decypher the bzImage format, try vmlinux instead&#8221;. Aha!<br />
Back to the kernel, <code class="codecolorer text vibrant"><span class="text">make vmlinux</span></code>, copy, and another try to boot it. Obviously this was way too simple. It still crashed.<br />
Checking my old kernel that works for both dom0 and domU with file I noticed that gz should at least work.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># file /boot/vmlinuz-2.6*</span><br />
<span style="color: #000000; font-weight: bold;">/</span>boot<span style="color: #000000; font-weight: bold;">/</span>vmlinuz-2.6.18.8-xen: <span style="color: #c20cb9; font-weight: bold;">gzip</span> compressed data, from Unix, <span style="color: #c20cb9; font-weight: bold;">last</span> modified: Tue Nov <span style="color: #000000;">25</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">13</span>:<span style="color: #000000;">16</span> <span style="color: #000000;">2008</span>, max compression<br />
<span style="color: #000000; font-weight: bold;">/</span>boot<span style="color: #000000; font-weight: bold;">/</span>vmlinuz-new: ELF <span style="color: #000000;">32</span>-bit LSB executable, Intel <span style="color: #000000;">80386</span>, version <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>SYSV<span style="color: #7a0874; font-weight: bold;">&#41;</span>, statically linked, not stripped</div></div>
<p>Some more details about the crashing domains can be found using <code class="codecolorer text vibrant"><span class="text">xm dmesg</span></code><br />
It gave me something like:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> traps.c:<span style="color: #000000;">413</span>:d38 Unhandled general protection fault fault<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">trap</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #666666; font-style: italic;">#13] on VCPU 0 [ec=0000]</span><br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> domain_crash_sync called from entry.S <span style="color: #7a0874; font-weight: bold;">&#40;</span>ff18928e<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> Domain <span style="color: #000000;">38</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>vcpu<span style="color: #666666; font-style: italic;">#0) crashed on cpu#3:</span><br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> ----<span style="color: #7a0874; font-weight: bold;">&#91;</span> Xen-3.2.3 x86_32p &nbsp;<span style="color: #007800;">debug</span>=n &nbsp;Not tainted <span style="color: #7a0874; font-weight: bold;">&#93;</span>----<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> CPU: &nbsp; &nbsp;<span style="color: #000000;">3</span><br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> EIP: &nbsp; &nbsp;e019:<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">&lt;</span>c03e9e60<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> EFLAGS: 00000282 &nbsp; CONTEXT: guest<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> eax: 8000c068 &nbsp; ebx: c064c040 &nbsp; ecx: <span style="color: #000000;">80000000</span> &nbsp; edx: 00000cf8<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> esi: c0651f3c &nbsp; edi: c0651f30 &nbsp; ebp: c06981b8 &nbsp; esp: c0651f14<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> cr0: 8005003b &nbsp; cr4: 000006f0 &nbsp; cr3: 00bd5c80 &nbsp; cr2: 00000000<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> ds: e021 &nbsp; es: e021 &nbsp; fs: e021 &nbsp; <span style="color: #c20cb9; font-weight: bold;">gs</span>: e021 &nbsp; ss: e021 &nbsp; cs: e019<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> Guest stack trace from <span style="color: #007800;">esp</span>=c0651f14:<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;00000000 c03e9e60 0001e019 00010082 c04bd0cd 00000068 00000000 00000000<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;00002003 00000000 00003030 00000002 00000007 c064c07c c065dfd8 00000000<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c06423c0 c064c100 c0651fd8 c065a63f 00000005 00000000 00000000 00000000<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c065d02b 006faee4 00000000 00000000 c056dad4 00100000 00000000 00100000<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;00100000 00000000 006faee4 c065d27c 006faee4 00000000 00000000 c0651fe8<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;00000000 00000000 00000000 c0651fe8 00000000 00000000 c065756f c056dd50<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c04c5020 c0657073 c0651ff4 c065973e 00000000 <span style="color: #000000;">17898175</span> 00800001 03040800<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;00100f22 00000000 c08e0000 c04ba91b c04ba923 c0103371 c0103878 c0659a92<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c01039c7 c0103afc c0103d1a c0104004 c0104163 c01041eb c010451d c010457c<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c0659eb7 c0659ebf c04ba975 c04baa22 c0105536 c01055ae c0105781 c0105c5c<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c0105c9e c0106253 c0106345 c0106831 c010683d c0107b07 c010825e c0108333<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c065a45c c065a46a c0108e56 c065a982 c065a98a c0109bf0 c065af2c c065af93<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c065afe9 c065b042 c065b09b c065b0f4 c065b14d c065b1a6 c065b1ff c065b258<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c065b2b1 c065b32d c065b341 c065b397 c065b3f0 c065b449 c065c14f c065c157<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c010aee5 c010aef3 c010af77 c010af85 c065d7be c065d7d1 c010bdc3 c010be22<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c010c113 c010c14a c010c1c6 c010c2f3 c010c41a c010c443 c010c4dd c010d267<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c010d4cb c010d77b c010d782 c010de76 c010defd c010df0c c010df3f c010df49<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c010df84 c010df8c c010df94 c04bb1d7 c04bb466 c04bb4db c04bb5b9 c04bb60f<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c04bb62f c04bbb8b c04bbd60 c065de79 c065de81 c04bc041 c04bc46b c04bc50d<br />
<span style="color: #7a0874; font-weight: bold;">&#40;</span>XEN<span style="color: #7a0874; font-weight: bold;">&#41;</span> &nbsp; &nbsp;c04bc899 c04bc902 c065e012 c065e01a c065e028 c065e030 c065e038 c065e040</div></div>
<p>As you can see, that&#8217;s really useful&#8230;.. <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>A useful page with some info can be found <a href="http://wiki.xensource.com/xenwiki/XenParavirtOps">here</a>. It confirms that a gz kernel should work (but bz probably doesn&#8217;t) since I&#8217;m still running Xen 3.2. However, I can&#8217;t find a good reason for why it won&#8217;t work.</p>
<p>Google to the rescue! Hard to find a useful keyword, since most xen kernel issues seem to be similar, but eventually I found this tidbit:<br />
<a href="http://patchwork.kernel.org/patch/36570/">tiny kernel patch</a>.<br />
Weird that this should be needed, one would hope that basic shit like this would work after 8 kernel versions, but obviously they&#8217;re all retards when it comes to this.<br />
Thanks Jeremy Fitzhardinge for the patch!<br />
Just for quick reference, this is the actual patch:</p>
<div class="codecolorer-container diff vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="diff codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c<br />
index 28e5f59..e2485b0 <span style="">100644</span><br />
<span style="color: #888822;">--- a/arch/x86/kernel/cpu/amd.c</span><br />
<span style="color: #888822;">+++ b/arch/x86/kernel/cpu/amd.c</span><br />
<span style="color: #440088;">@@ -356,7 +356,7 @@ &nbsp;static void __cpuinit early_init_amd<span style="">&#40;</span>struct cpuinfo_x86 *c<span style="">&#41;</span></span><br />
&nbsp;#endif<br />
&nbsp;#if defined<span style="">&#40;</span>CONFIG_X86_LOCAL_APIC<span style="">&#41;</span> &amp;&amp; defined<span style="">&#40;</span>CONFIG_PCI<span style="">&#41;</span><br />
&nbsp; &nbsp; /* check CPU config space for extended APIC ID */<br />
<span style="color: #991111;">- &nbsp; if <span style="">&#40;</span>c-&gt;x86 &gt;= 0xf<span style="">&#41;</span> <span style="">&#123;</span></span><br />
<span style="color: #00b000;">+ &nbsp; if <span style="">&#40;</span>cpu_has_apic &amp;&amp; c-&gt;x86 &gt;= 0xf<span style="">&#41;</span> <span style="">&#123;</span></span><br />
&nbsp; &nbsp; &nbsp; &nbsp; unsigned int val;<br />
&nbsp; &nbsp; &nbsp; &nbsp; val = read_pci_config<span style="">&#40;</span><span style="">0</span>, <span style="">24</span>, <span style="">0</span>, 0x68<span style="">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; if <span style="">&#40;</span><span style="">&#40;</span>val &amp; <span style="">&#40;</span><span style="">&#40;</span><span style="">1</span> &lt;&lt; <span style="">17</span><span style="">&#41;</span> | <span style="">&#40;</span><span style="">1</span> &lt;&lt; <span style="">18</span><span style="">&#41;</span><span style="">&#41;</span><span style="">&#41;</span> == <span style="">&#40;</span><span style="">&#40;</span><span style="">1</span> &lt;&lt; <span style="">17</span><span style="">&#41;</span> | <span style="">&#40;</span><span style="">1</span> &lt;&lt; <span style="">18</span><span style="">&#41;</span><span style="">&#41;</span><span style="">&#41;</span></div></div>
<p>So much for &#8216;vanilla&#8217;.</p>
<p>However, it boots now:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>iejoor:<span style="color: #000000; font-weight: bold;">/</span>xen<span style="color: #000000; font-weight: bold;">/</span>hosts<span style="color: #000000; font-weight: bold;">/</span>purple<span style="color: #666666; font-style: italic;"># xm create -c purple.cfg-newkernel</span><br />
Using config <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #ff0000;">&quot;./purple.cfg-newkernel&quot;</span>.<br />
Started domain purple<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Reserving virtual address space above 0xf5800000<br />
Linux version 2.6.30.5-jemoeder <span style="color: #7a0874; font-weight: bold;">&#40;</span>root<span style="color: #000000; font-weight: bold;">@</span>iejoor<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">gcc</span> version 4.1.2<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #666666; font-style: italic;">#9 SMP Tue Aug 18 22:59:38 CEST 2009</span><br />
KERNEL supported cpus:<br />
&nbsp; Intel GenuineIntel<br />
&nbsp; AMD AuthenticAMD<br />
&nbsp; NSC Geode by NSC<br />
&nbsp; Cyrix CyrixInstead<br />
&nbsp; Centaur CentaurHauls &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; Transmeta GenuineTMx86 &nbsp; &nbsp; &nbsp; <br />
&nbsp; Transmeta TransmetaCPU &nbsp; &nbsp; &nbsp; <br />
&nbsp; UMC UMC UMC UMC &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
ACPI <span style="color: #000000; font-weight: bold;">in</span> unprivileged domain disabled</div></div>
<p>and a lot more yadieyada until it hits a new wall: root device.<br />
Well, that sounds solvable.</p>
<p>In fact, here&#8217;s a solution. What you say?<br />
&#8220;<span style="color: #FF00FF">AAAAH, I GET NOTHING, IT WON&#8217;T EVEN CRASH ANYMORE, JUST NO OUTPUT???!</span>&#8221;<br />
Ah yeah, I forgot to mention: they changed the console device as well as the block device. So here&#8217;s a solution for both issues:<br />
Edit your xen host config file and make it so:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root = <span style="color: #ff0000;">&quot;/dev/xvda1 ro&quot;</span><br />
extra = <span style="color: #ff0000;">&quot;xencons=hvc0&quot;</span></div></div>
<p>(xvda1 is what used to be sda1, you can figure out the rest).</p>
<p>And after all this: HAHA! Success is mine!<br />
Except of course for the undeniable fact that my domU has a fucked up fstab and all, but no issues there <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Now go mess up your own system! Oh, I see&#8230; you already did. Good luck fixing it <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Update</h2>
<p>I just tested a testing kernel &#8212; 2.6.31-rc8, and it seems like they fixed it. Probably has been fixed in the testing branch for quite a while now, but still not in stable 2.6.30 <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Let&#8217;s hope they release 2.6.31 soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/xen-and-booting-domu-using-a-vanilla-kernel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Record Companies? Ahahahaha, morons.</title>
		<link>http://notes.benv.junerules.com/all/morons/record-companies-ahahahaha-morons/</link>
		<comments>http://notes.benv.junerules.com/all/morons/record-companies-ahahahaha-morons/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 12:18:18 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Boring]]></category>
		<category><![CDATA[Morons]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=196</guid>
		<description><![CDATA[These guys are so stupid, they never stop to amuse me. Look what they&#8217;re coming up with now&#8230;. A new digital format. What is it with these guys and being completely out of whack? Why on earth would people want yet another format? (probably crippled too). MP3 files work fine for most, put them in [...]]]></description>
			<content:encoded><![CDATA[<p>These guys are so stupid, they never stop to amuse me.<br />
Look what they&#8217;re coming up with now&#8230;. <a href="http://www.guardian.co.uk/music/2009/aug/10/major-labels-new-digital-format">A new digital format</a>.<br />
What is it with these guys and being completely out of whack? Why on earth would people want yet another format? (probably crippled too).<br />
MP3 files work fine for most, put them in a nice little directory structure, add a picture file and a lyrics file, and you have what they propose. Only better since it doesn&#8217;t need a special decoder/player.</p>
<p>Record companies: please die. Now.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/morons/record-companies-ahahahaha-morons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(n)Curses magic: are you a magician?</title>
		<link>http://notes.benv.junerules.com/all/software/ncurses-magic-are-you-a-magician/</link>
		<comments>http://notes.benv.junerules.com/all/software/ncurses-magic-are-you-a-magician/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 14:39:13 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[curses]]></category>
		<category><![CDATA[ncurses]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[Slackbuild.pl]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=158</guid>
		<description><![CDATA[Hej readers, I decided to work on making slackbuild.pl a bit more acceptable in terms of usability and looks. The reason for this is that the dialog program doesn&#8217;t exactly do what I want. That is, it works&#8230;. but that&#8217;s pretty much all I can say about it. It doesn&#8217;t allow me to make a [...]]]></description>
			<content:encoded><![CDATA[<p>Hej readers,</p>
<p>I decided to work on making slackbuild.pl a bit more acceptable in terms of usability and looks. The reason for this is that the dialog program doesn&#8217;t exactly do what I want.<br />
That is, it works&#8230;. but that&#8217;s pretty much all I can say about it. It doesn&#8217;t allow me to make a comined checkbox/menu thing that I want for my configure options part. Next to that it&#8217;s tedious to fork and parse its output all the time, and let&#8217;s not even get started about looks and input issues.<br />
So I figured: hmm, dialog is made in ncurses, perl has a Curses lib&#8230;. let&#8217;s play!<span id="more-158"></span></p>
<p>First off I read through most of <a href="http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/" title="NCURSES programming howto">NCURSES Programming HOWTO</a>. Somehow it felt familiar, probably because I already went through it when messing with iotop. Next, I realized that google is pretty much useless when you try to search for &#8216;curses&#8217; and perl, probably because it&#8217;s the misspelled version of &#8216;cursus&#8217; which means &#8216;course&#8217; in dutch. However, ncurses is something you can search for and find -some- (but few) bits and pieces of information.</p>
<p>Time for a hello world.</p>
<div class="codecolorer-container perl vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="perl codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Curses<span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># init curses</span><br />
initscr<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
noecho<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
start_color<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
init_pair<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> COLOR_CYAN<span style="color: #339933;">,</span> COLOR_BLACK<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Print some stuff and wait for user input</span><br />
attron<span style="color: #009900;">&#40;</span>COLOR_PAIR<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
addstr<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Hello, world!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Cleanup and end</span><br />
endwin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>And we run this, and voila:<br />
<a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/curses1.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/curses1-300x150.png" alt="curses1" title="curses1" width="300" height="150" class="aligncenter size-medium wp-image-161" /></a></p>
<p>Well, that was easy enough. Of course I already knew all this shit, I made iotop after all&#8230;<br />
Now time for more advanced trickery: windows.<br />
What I want is simple: tailbox, yesnobox, checkboxconfigureoptionsthingy and all that with some good style.<br />
&#8220;<span style="color: #FF0000">YOU SAID SIMPLE!</span>&#8221;<br />
Well, I never said it would be easy <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>So my idea was to make the stdscr the backtitle, should be easy enough to always paint that the same way right?<br />
And then make the other things windows above that. Now the mysteries start.<br />
A little code to test the windowing concepts:</p>
<div class="codecolorer-container perl vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="perl codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl</span><br />
<span style="color: #000000; font-weight: bold;">use</span> Curses<span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># init again</span><br />
initscr<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
noecho<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
cbreak<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;"># no waiting for enter anymore on getch</span><br />
start_color<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
init_pair<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> COLOR_CYAN<span style="color: #339933;">,</span> COLOR_BLACK<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># make some windows that overlap</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$win</span> <span style="color: #339933;">=</span> newwin<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">40</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$win2</span> <span style="color: #339933;">=</span> newwin<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">40</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># some text in them</span><br />
addstr<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;World!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
addstr<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Hello&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># give them borders</span><br />
attrset<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #339933;">,</span> COLOR_PAIR<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
box<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'|'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'-'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
attroff<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #339933;">,</span> COLOR_PAIR<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
box<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win2</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'|'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'-'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Show them! (in correct overlapping order!)</span><br />
refresh<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
refresh<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># Make user press 'q' this time</span><br />
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$key</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">do</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$key</span> <span style="color: #339933;">=</span> getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">ne</span> ERR <span style="color: #339933;">&amp;&amp;</span> <span style="color: #0000ff;">$key</span> <span style="color: #b1b100;">ne</span> <span style="color: #ff0000;">'q'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;"># cleanup and exit</span><br />
delwin<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
delwin<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
endwin<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>And here&#8217;s our beautiful result:<br />
<a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/curses2.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/curses2-300x150.png" alt="curses2" title="curses2" width="300" height="150" class="aligncenter size-medium wp-image-166" /></a><br />
&#8230;. what the.<br />
Our window is empty?<br />
But how could this be?<br />
<span style="color: #FF00FF">M</span><span style="color: #FF5555">A</span><span style="color: #00FF55">G</span><span style="color: #55FFFF">I</span><span style="color: #77aaFF">C</span><span style="color: #9f00FF">!</span><span style="color: #33AA66">!</span><span style="color: #66AAFF">!</span><span style="color: #991155">!</span><br />
However, it does wait for the &#8216;q&#8217; button before exiting, so not everything failed&#8230;</p>
<p>This sort of nonsense is exactly the reason why I started this post. Right now I&#8217;m having some serious doubts about continuing this curse*COUGH*s project, but on the other hand, it&#8217;s a nice challenge. Probably one of the reasons dialog is such a piece of junk&#8230; the library is garbage! <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Note that there are a few other options, such as <a href="http://search.cpan.org/~mdxi/Curses-UI-0.9607/lib/Curses/UI.pm" title="Curses::UI">Curses::UI</a>, but they seem to be a bit more junk than I want, not to mention another depedency. Nah, I&#8217;ll figure it out using Curses for as long as I can manage to not go crazy.</p>
<p>Some pointers I found out:</p>
<ul>
<li>Printing stuff outside a window (because the window is too small) makes it go bonkers. It might not appear at all, overwrite other stuff&#8230; you name it.</li>
<li>A big pitfall is the y,x syntax. Where one would expect coordinates in the x,y format, curses makes you curse and reverse.</li>
<li>Another pitfall is forgetting the refresh, or messing up the order of the refreshes. I&#8217;m writing some wrappers for that in slackbuild.pl.</li>
<li>Overlapping windows are another source of fun, in order to make sure the overlapped window gets repainted properly you can use <code class="codecolorer perl vibrant"><span class="perl">touchwin<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$win</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></span></code> on it.</li>
</ul>
<p>Oh yeah, if you ever decide to write a curses program:<br />
Make sure to set a __DIE__ handler that RESTORES THE TERMINAL PROPERLY! If one thing annoys people it&#8217;s messing up their stuff&#8230;. and not closing Curses properly does exactly that.<br />
For those who wonder how to get out of such a broken terminal, type in &#8216;<span style="color: #00FFFF">reset</span>&#8216; and hit enter. (or twice if you&#8217;re a bad typist). No, this won&#8217;t reset your pc, it will simply reset your terminal to sanity.</p>
<p>&#8220;<span style="color:#FF0055">But what about the broken code in the second example?</span>&#8221;<br />
Oh yeah&#8230; another case of forgetting to call refresh. What we did there was to properly refresh the imaginary windows.<br />
However, we forgot to refresh the real stdscr window that contains them! So nothing was output to the screen. Lovely.<br />
It&#8217;s still a bit fuzzy here though, so don&#8217;t mind me if I screwed up the reasoning, but that&#8217;s what I understand about it now. It&#8217;ll get better <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Anyway, insert a <code class="codecolorer perl vibrant"><span class="perl">refresh<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></span></code> at line 25 and it&#8217;ll do what you&#8217;d expect. It&#8217;ll look like this:<br />
<a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/curses3.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/curses3-300x195.png" alt="curses3" title="curses3" width="300" height="195" class="aligncenter size-medium wp-image-172" /></a></p>
<p>Good luck with your cursed rabbits!</p>
<p>***<span style="color: #00FF00">followup here:</span><a href="http://notes.benv.junerules.com/software/ncurses-magic-part-2-magic/">ncurses magic part 2</a>***</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/ncurses-magic-are-you-a-magician/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update day!</title>
		<link>http://notes.benv.junerules.com/all/software/update-day/</link>
		<comments>http://notes.benv.junerules.com/all/software/update-day/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 16:11:15 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[Slackbuild.pl]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=124</guid>
		<description><![CDATA[It seems to be update day today&#8230;. I felt like updating my shit today. Somehow I enjoy updates so I do it whenever I see interesting stuff. So glancing through the slackware changelog I noticed a new Apache2 version (2.2.12 with a bunch of security updates). Meh, not my favorite piece of garbage to upgrade, [...]]]></description>
			<content:encoded><![CDATA[<p>It seems to be update day today&#8230;.</p>
<p>I felt like updating my shit today. Somehow I enjoy updates so I do it whenever I see interesting stuff.<br />
So glancing through the slackware changelog I noticed a new <span style="color: #ff0000;">Apache2</span> version (<a href="http://apache.mirror.versatel.nl/httpd/CHANGES_2.2.12">2.2.12 with a bunch of security updates</a>). Meh, not my favorite piece of garbage to upgrade, but local upgrades were easy enough and also the remote (slackware 11, custom builds) ones went without hickups.<span id="more-124"></span></p>
<p>Then there was a new version of <span style="color: #00ccff;">Irssi</span><span style="color: #00ccff;"> </span>- <a title="Irssi - the client of the future" href="http://irssi.org/" target="_self">0.8.14</a>. Fine, updated that too. Good to see it didn&#8217;t break my scripts <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Meanwhile I checked out if the apache upgrade broke my notes, but it didn&#8217;t. While on the notes page I decided to write this little snippet,<br />
and found out that also WordPress had a new release &#8211; <a href="http://wordpress.org/development/2009/08/wordpress-2-8-3-security-release/">2.8.3. More security stuff</a>.<br />
And the <span style="color: #800080;">codecolorer</span> plugin that I use for the code snippets also had an <a title="Codecolorer - wordpress plugin for syntax highlighting code blocks" href="http://wordpress.org/extend/plugins/codecolorer/" target="_self">update</a>.<br />
Updating wordpress was easy enough btw, just go to admin &#8211; tools &#8211; upgrade and hit the upgrade automatically button. I like features like that in a product.<br />
Note that this failed at least two times because of a 60 second timeout on the download. Guess they need to invest in faster servers <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
&#8220;Download failed.: Operation timed out after 60 seconds with 1226456 bytes received&#8221;&#8230;. too bad they don&#8217;t give me other options when that happens.<br />
And while I&#8217;m moaning about their &#8216;automagic upgrade&#8217;, how about some ajax progress indicators etc guys? <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
In case you also run into the timeout issue:<br />
Don&#8217;t bother downloading the file yourself and putting it in the /your/wordpress/path/wp-content/ dir. Hitting the button over and over will<br />
only swamp their servers even more and won&#8217;t make it any better either.<br />
I tried increasing the php timeout on the sockets, but that didn&#8217;t seem to help. Pity guys, real shame&#8230; in fact, it angers me. *grumble*morons*grumble*<br />
You might as well go for <a href="http://codex.wordpress.org/Upgrading_WordPress">the manual upgrade</a>.</p>
<p>At some point I got pissed enough to grep and read through the source for half an hour (AAARGH MY EYES) and distill this patch:<br />
Edit <span style="color: #00ccff;"><b>wp-admin/includes/file.php</b></span> with your favorite editor and change line 448 so it has a more reasonable timeout, I put it to 300:</p>
<div class="codecolorer-container php vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> wp_remote_get<span style="color: #009900;">&#40;</span><span style="color: #000088;">$url</span><span style="color: #339933;">,</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'timeout'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>Now it finally worked <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>While on the update tour I also updated my <a href="http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki">MPD</a> to version 0.15.1, although I&#8217;m running the git<br />
version of course, but that went fine (through slackbuild.pl of course).</p>
<p>Well, that&#8217;s enough updates for today. Time for some coding on slackbuild I think <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/update-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Screenlets, retarded downloads, and python</title>
		<link>http://notes.benv.junerules.com/all/software/screenlets-retarded-downloads-and-python/</link>
		<comments>http://notes.benv.junerules.com/all/software/screenlets-retarded-downloads-and-python/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 14:06:15 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Boring]]></category>
		<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=115</guid>
		<description><![CDATA[Somewhere in my mailbox I found a link to Impulse. I&#8217;ve messed around with pulseaudio and have it running on my server together with mpd which allows for some network audio fun, but that&#8217;s not the story now. Back then I wondered if it would be possible to have a VU meter and stuff like [...]]]></description>
			<content:encoded><![CDATA[<p>Somewhere in my mailbox I found a link to <a title="Impulse - Pulseaudio screenlet" href="http://www.gnome-look.org/content/show.php/Impulse+-+PulseAudio+visualizer?content=99383" target="_self">Impulse</a>. I&#8217;ve messed around with pulseaudio and have it running on my server together with mpd which allows for some network audio fun, but that&#8217;s not the story now. Back then I wondered if it would be possible to have a VU meter and stuff like that, but couldn&#8217;t find it. So when I ran into this I was curious (how implemented, is it any good, etc).</p>
<p>So what the fuck are <a title="Screenlets" href="http://www.screenlets.org/index.php/Information" target="_self">screenlets</a>? Looks cute, feels cute, and once you think about it for a bit you immediately realize that it&#8217;s cute for 10 minutes after which you&#8217;ll kill the thing because it slows down your PC and you never really look at it anyway, but regardless I feel like checking it out.<span id="more-115"></span></p>
<p>&#8220;&lt;BenV&gt; Download&#8230; &#8230; I thought this page said download&#8230; and fuck off with your .deb file, gimme the source Ah, there we go - <a title="Screenlets download page" href="http://www.screenlets.org/index.php/Download" target="_self">Source</a>&#8221;</p>
<p>It&#8217;s funny how some people write software that they don&#8217;t want anyone to use. How the shift-3 am I supposed to download that source thing? Log in? Are you insane? For a download?</p>
<p>(speaking of which, go to hell fileplanet, gamersheaven and all such &#8220;login to download&#8221; kanker sites).</p>
<p>So what they really want to change that download link into is this: <a title="Screenlets DOWNLOAD, the real thing." href="https://code.launchpad.net/screenlets/+download" target="_self">DOWNLOAD</a>.</p>
<p>Feeding a url from that page to slackbuild.pl gives you a &#8220;Self signed certificate, AAAARGH, I&#8217;m dying, je moeder&#8221; whining from wget, so stuff it a &#8211;no-check-certificate and patch my slackbuild, done. Wait a minute&#8230;. certificate? On a http:// link? Oooh, thanks for the redirection guys. Makes me wonder why opera doesn&#8217;t bitch about self signed certificate for that link&#8230;. while wget does&#8230; let&#8217;s try firefox&#8230; nope, no warning. WHAT THE FUCK, try opening a website and they scream bloody murder because of a self signed cert, but a download? Oooh, noo, nooo problem. Morons.</p>
<p>In case you&#8217;re wondering about the cert, either go there for yourself, or check what openssl thinks:</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv@janeman:~:0&gt; openssl s_client -connect code.launchpad.net:443<br />
CONNECTED(00000003)<br />
depth=3 /L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://www.valicert.com//emailAddress=info@valicert.com<br />
verify error:num=19:self signed certificate in certificate chain<br />
verify return:0<br />
---</div></div>
<p>Maybe it&#8217;s OK when &#8220;they&#8221; selfsign, but it&#8217;s not ok if -I- selfsign? Guess I&#8217;m clueless&#8230;</p>
<p>Anyway, back to screenlets:<br />
Untarring their &#8216;sourceball&#8217; gives me a retarded directoryname (no version number), which hints me that it&#8217;s probably no decent autoconf thing. Ok, it&#8217;s python, so no surprise there.<br />
Other than that it builds and install without issues. Note to self: have to add python setup.py support to slackbuild, they&#8217;re clean enough to support that.</p>
<p>So after installing, wondering what to do next&#8230; I type &#8220;screenlets&#8221; in my urxvt and hit enter.<br />
*suspense*<br />
Will it work?</p>
<p>&#8230;</p>
<p><strong>OF COURSE NOT!</strong><br />
 <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Big surprise, probably something I managed to not install, how stupid of me. So what does it say now?</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv@janeman:~:0&gt;screenlets<br />
cat: /etc/screenlets/prefix: No such file or directory<br />
No module RSVG , graphics will not be so good<br />
Traceback (most recent call last):<br />
&nbsp; File &quot;/usr/share/screenlets-manager/screenlets-manager.py&quot;, line 28, in &lt;module&gt;<br />
&nbsp; &nbsp; import screenlets<br />
&nbsp; File &quot;/usr/lib64/python2.6/site-packages/screenlets/__init__.py&quot;, line 51, in &lt;module&gt;<br />
&nbsp; &nbsp; from options import *<br />
&nbsp; File &quot;/usr/lib64/python2.6/site-packages/screenlets/options.py&quot;, line 30, in &lt;module&gt;<br />
&nbsp; &nbsp; import utils<br />
&nbsp; File &quot;/usr/lib64/python2.6/site-packages/screenlets/utils.py&quot;, line 286, in &lt;module&gt;<br />
&nbsp; &nbsp; import session<br />
&nbsp; File &quot;/usr/lib64/python2.6/site-packages/screenlets/session.py&quot;, line 38, in &lt;module&gt;<br />
&nbsp; &nbsp; from xdg import BaseDirectory<br />
ImportError: No module named xdg</div></div>
<p>Mhm, that&#8217;s cute&#8230;.<br />
Missing python-xdg then huh. Let&#8217;s see how easy_install handles that. Speaking of which, I don&#8217;t think I have installed that yet. Let&#8217;s go!</p>
<div class="codecolorer-container text vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root@janeman:/usr/src# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c9.tar.gz<br />
&nbsp; &nbsp;&lt;wget does its thing&gt;<br />
root@janeman:/usr/src# tar xf setuptools-0.6c9.tar.gz <br />
root@janeman:/usr/src# chown -R root:root setuptools-0.6c9 ; chmod -R o-w setuptools-0.6c9<br />
*peek in dir* -&gt; AU MY EYES... full of garbage junk and stuff. Fine, I'll just guess the install<br />
root@janeman:/usr/src/setuptools-0.6c9# python setup.py build<br />
root@janeman:/usr/src/setuptools-0.6c9# mkdir pkg ; python setup.py install --root `pwd`/pkg<br />
root@janeman:/usr/src/setuptools-0.6c9# cd pkg ; makepkg /usr/src/packages/setuptools-0.6c9-x86_64-1.tgz</div></div>
<p>And we have a package. Now for xdg:</p>
<p><code class="codecolorer text vibrant"><span class="text">easy_install http://www.freedesktop.org/~lanius/pyxdg-0.17.tar.gz</span></code><br />
That should fix it <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
However, the screenlets require more garbage, such as gnome-keyring (in case of missing GConf at least) so I ran <code class="codecolorer text vibrant"><span class="text">slackbuild.pl http://ftp.gnome.org/pub/gnome/sources/gnome-keyring/2.26/gnome-keyring-2.26.3.tar.bz2</span></code> but then also needed libtasn which was also handled by slackbuild.pl. Man I love that script. Especially the leech support <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
But the screenlets still didn&#8217;t function. &#8230; so I hunted for gnome-python-desktop, which had <a href="Yhttp://code.google.com/p/waf/">YET ANOTHER RETARDED BUILD SYSTEM CALLED &#8216;WAF&#8217;</a>. *sigh*. I hate it when 5 million people think they&#8217;re smarter than the other. They should simply all succumb to me. *adds another todo note in slackbuild.pl*</p>
<p>But then: finally, it worked!<br />
<a href="http://notes.benv.junerules.com/wp-content/uploads/2009/07/41.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/07/41-300x161.png" alt="Screenlets" title="Screenlets" width="300" height="161" class="aligncenter size-medium wp-image-116" /></a></p>
<p>*time passes*</p>
<p>Yep, I&#8217;ve messed around with it a bit&#8230;. and it&#8217;s cute&#8230; but fluxbox has its own mind about it. (giving the widgets a nice &#8220;you&#8217;re an application!&#8221; bar)&#8230; maybe I&#8217;ll reserve a desktop for it and<br />
see if I like it. A nice &#8216;widget&#8217; screen on desktop 10 or something <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
The good:</p>
<ul>
<li>It&#8217;s cute</li>
<li>Skinning support</li>
<li>Seems easy to build new screenlets, so many more will spawn</li>
</ul>
<p>The bad:</p>
<ul>
<li>Gnome based, so gnome deps and many screenlets assume too much</li>
<li>Young, so a bit buggy (mouse clicks through some screenlets, although that could be fluxbox related)</li>
<li> Eyecandy, while some could be useful it is just another resource hog.</li>
</ul>
<p>One thing though&#8230; where&#8217;s the auto-download-and-install support? Even firefox has it these days&#8230; <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/07/screenlets.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/07/screenlets-300x187.png" alt="screenlets" title="screenlets" width="300" height="187" class="aligncenter size-medium wp-image-118" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/screenlets-retarded-downloads-and-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emulators!</title>
		<link>http://notes.benv.junerules.com/all/software/emulators/</link>
		<comments>http://notes.benv.junerules.com/all/software/emulators/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 10:06:27 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Boring]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[dosbox]]></category>
		<category><![CDATA[emulators]]></category>
		<category><![CDATA[gamepad]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[x86_64]]></category>
		<category><![CDATA[zelda]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=97</guid>
		<description><![CDATA[Since I quit playing World of Warcraft again a while ago (seriously Blizzard, what are you doing to that game?) I find myself enjoyed playing tons of other things. Funny thing is, most of the games I play are ancient. Games from the DOS era (which means DOSBOX, I love that product) like Master of [...]]]></description>
			<content:encoded><![CDATA[<p>Since I quit playing World of Warcraft again a while ago (seriously Blizzard, what are you doing to that game?) I find myself enjoyed playing tons of other things. Funny thing is, most of the games I play are ancient. Games from the <span style="color: #ff6600;">DOS</span> era (which means <a title="DOSBox, an x86 emulator with DOS" href="http://www.dosbox.com/" target="_self">DOSBOX</a>, I love that product) like <a title="Wikipedia on Master of Orion" href="http://en.wikipedia.org/wiki/Master_of_Orion" target="_self">Master of Orion</a> (and it&#8217;s sequel), <a title="Wikipedia on Master of Magic" href="http://en.wikipedia.org/wiki/Master_of_Magic" target="_self">Master of Magic</a>, Paratrooper, <a title="Wikipedia on One Must Fall: 2097" href="http://en.wikipedia.org/wiki/One_Must_Fall:_2097" target="_self">One Must Fall: 2097</a> (which is freeware these days! Download it <a title="One Must Fall 2097" href="http://www.omfdownloads.com/2097/omf21cd.zip" target="_self">here</a>), X-Com, System Shock, and the list goes on and on. Yeah, come to think of it&#8230;. the games they made back then were pretty brilliant, and it&#8217;s not just nostalgia.<span id="more-97"></span></p>
<p>Not just the DOS stuff from back then was great, but also the console games.  We had a NES and later a SNES and games like Zelda, Mario, Mega Man and Double Dragon gave us a lot of education <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Somehow we missed the Final Fantasy series though, but one of the things I often play these days is one of the RPG genre.  In fact, I played Final Fantasy 2 on my laptop just a week ago <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8220;<span style="color: #00ccff;">But how, my stupid x86 machine doesn&#8217;t accept these cardridges!</span>&#8220;.</p>
<p>Well, you need a bigger hammer obviously. Try stuffing them into the PCMCIA slot if you have one, I hear they are twice as fast. Or if you strip the plastic casing you can maybe insert them into an ISA slot if you still have one. You might need an adapter for the PCI slots though.</p>
<p>&#8230;</p>
<p>Oh, you&#8217;re still here? Well, ok, try an emulator if your slot smashing skills aren&#8217;t up to par.</p>
<p><strong><span style="color: #ff0000;">&lt;rant alert&gt;</span></strong></p>
<p>So someone explain to me:</p>
<p>If you&#8217;re writing an emulator&#8230;. you know, a thing that has to waste tons of CPU cycles in order to play dress-up and imitate a console with a different architecture&#8230;</p>
<p>Why the # wouldn&#8217;t you make it as cross platform as possible? Yeah, sure, I understand that you want to make it fast and hack in some assembly code. In fact, I love assembly code <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>However,  that concept is getting more obsolete every day. So if you write an emulator, MAKE SURE IT COMPILES ON BenV&#8217;s MACHINE!</p>
<p>That means it should run on at least<em><span style="color: #0000ff;"> x86 AND x86_64</span></em>. Why write an emulator that&#8217;s obsolete even before you finish it? I&#8217;m looking at you pcsx2 -.-</p>
<p>Applaud to DOSBox for that matter, they get it right.</p>
<p><span style="color: #ff0000;"> &lt;/rant&gt;</span></p>
<p>So anyway, for the <span style="color: #ff6600;">NES</span> games I suggest using <a title="FCEUX: cross-platform NES emulator for professionals" href="http://fceux.com/web/htdocs/" target="_self">FCEUX</a> these days. It runs on both x86 and x86_64, and it runs my games on my new slackware 64 installation&#8230; which makes me happy <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For <span style="color: #ff6600;">SNES</span> I always used <a title="Good SNES emulator for x86 running DOS, obsolete for everything else" href="http://www.zsnes.com/" target="_self">ZSNES</a>, but they&#8217;re still stuck in the DOS era&#8230; trying to upgrade their obsolete assembly code to more generic stuff like the QT toolkit. It works great if you have an x86 installation, but it refuses my new slackware 64&#8230;. and I refuse to chroot back to my old slackware32 for an emulator like this. Puh, I&#8217;d sooner start it in dosbox :p. &#8220;But BenV, how do you play A Link to the Past then these days?&#8221;. Ahh, a good question, but it&#8217;s easy: I simply use <a title="byuu's snes emulator" href="http://byuu.org/bsnes/" target="_self">bsnes</a>. Runs all my snes games so far <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Then there&#8217;s the matter of the prutsstation, or <span style="color: #ff6600;">PSX</span>. Yeah, that&#8217;s another disaster area&#8230; let me know if you have a decent emulator. Guess I&#8217;m stuck to using <a title="ePSXe, needs an update" href="http://www.epsxe.com/" target="_self">epsxe</a> in a chroot environment for now.  Other than that it works pretty well once you get the plugins etc sorted, but I haven&#8217;t touched it lately. (guess why).</p>
<p>For <span style="color: #ff6600;">N64</span> we have another good emulator these days, called <a title="N64 emulator and plugins for Linux, Mac OSX, and FreeBSD" href="http://code.google.com/p/mupen64plus/" target="_self">Mupen64plus</a>. To my surprise a simple recompile worked on slack64, so no issues there (good coder <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). And it runs zelda, what more do you want? <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Then there&#8217;s the new PSX, or <span style="color: #ff6600;">PSX2</span>. Yeah&#8230;. that&#8217;s in the same (sinking) boat as the PSX. Only 1 reason to play: final fantasy. Only 1 somewhat decent emulator for this: <a title="pcsx2" href="http://pcsx2.net/" target="_blank">pcsx2</a>. Unfortunately it feels like they don&#8217;t give a damn about linux, and certainly not 64 bit linux. They &#8220;dropped the 64 bit build&#8221;&#8230;. idiots. So if you feel like it you can get it running on 32 bits, which I&#8217;ve done, and it runs ok. But you need a fast pc (multicore) and a decent graphics card and then it still runs like a garbagecan on wheels. (the wheels come off every 3 meters and you have to open the lid, shuffle the garbage around and close it again before it continues). Of course they are quite active, so that&#8217;s good, there&#8217;s still hope. For kicks lotjuh tried running this thing on windows, and it runs a bit better there, but they still have a lot of work to do. Let&#8217;s hope they consider dropping the 32 bitch port and switching to 64 before they&#8217;re even obsolete in windows land.</p>
<p>That&#8217;s all the emulators I can think of at the moment&#8230; or at least, that I want to talk about, this page is getting long enough. Yeah, there&#8217;s plenty more, like <a title="MAME | Multiple Arcade Machine Emulator" href="http://mamedev.org/" target="_self">mame</a>,  <a title="CCS64 - A Commodore 64 Emulator" href="http://www.ccs64.com/" target="_self">ccs64</a>, <a title="A multiplatform atari 2600 VCS emulator" href="http://stella.sourceforge.net/" target="_self">stella</a> and whatnot, but you can handle google yourself if you want to play those things.</p>
<p>Oh yeah, one more important thing: <strong><span style="color: #ffcc00;">Gamepads</span></strong><br />
If you want to play these console games, you want&#8230; I&#8217;d almost say -<strong>need</strong>- a gamepad. Final Fantasy and Zelda can be played with the keyboard just fine, but you&#8217;ll be crying me plenty of rivers if you attempt to complete Mega Man or Double Dragon with the keyboard. A little while ago I got myself a <a title="Logitech Rumblepad 2" href="http://www.logitech.com/index.cfm/gaming/pc_gaming/gamepads/devices/264&amp;cl=US,EN" target="_self">Logitech Rumblepad 2</a> which I&#8217;m quite happy with. Yeah, it&#8217;s not a rectangular box that&#8217;ll give you hernia and makes your skin come off after playing a few hours of mario like in the old days, so you&#8217;ll have to miss out on that nostalgia&#8230;.</p>
<p><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/07/NES_controller.jpg"><img class="alignnone size-full wp-image-98" title="NES_controller" src="http://notes.benv.junerules.com/wp-content/uploads/2009/07/NES_controller.jpg" alt="NES_controller" width="400" height="400" /></a></p>
<p>but like I say, I&#8217;m quite happy with it. It even vibrates if you push the right button <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Needless to say it works under linux&#8230;. although you will want to enable the kernel option for it. My kernel config has <span style="color: #00ff00;">CONFIG_LOGITECH_FF=y, CONFIG_LOGIRUMBLEPAD2_FF=y, and CONFIG_HID_LOGITECH=y</span>, and so far all decent emulators play with it without much hassle.</p>
<p>So if you&#8217;re bored, go get one of these emulators, a gamepad, and give it a shot! <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/emulators/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DNS entries</title>
		<link>http://notes.benv.junerules.com/all/morons/dns-entries/</link>
		<comments>http://notes.benv.junerules.com/all/morons/dns-entries/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 16:22:55 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/morons/dns-entries/</guid>
		<description><![CDATA[Stupid fscking @#$*$^(*@!%&#8230;. Why, oh why, do people leave out the A record for a domain without subdomains? Mutt.org, I&#8217;m looking at you!]]></description>
			<content:encoded><![CDATA[<p>Stupid fscking @#$*$^(*@!%&#8230;.</p>
<p>Why, oh why, do people leave out the A record for a domain without subdomains?<br />
<a href="http://mutt.org">Mutt.org</a>, I&#8217;m looking at you!</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/morons/dns-entries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
