<?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>dopefish.de</title>
	<atom:link href="http://www.dopefish.de/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dopefish.de</link>
	<description>Headquaters of the evil genius</description>
	<lastBuildDate>Mon, 07 May 2012 19:14:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>How to use Cluster SSH (cssh) and Mosh together</title>
		<link>http://www.dopefish.de/archives/1138</link>
		<comments>http://www.dopefish.de/archives/1138#comments</comments>
		<pubDate>Mon, 07 May 2012 16:52:46 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cssh]]></category>
		<category><![CDATA[mosh]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1138</guid>
		<description><![CDATA[A colleague told me about mosh today, just saying &#8220;it&#8217;s an alternative to SSH that addresses many of the problems&#8221; doesn&#8217;t do it credit. Go look at the page and have a look, don&#8217;t worry it&#8217;s a nice page and I&#8217;ll still be here waiting when you come back. I do a lot of work [...]]]></description>
			<content:encoded><![CDATA[<p>A colleague told me about <a title="mosh - mobile shell" href="http://mosh.mit.edu/" target="_blank">mosh</a> today, just saying &#8220;it&#8217;s an alternative to SSH that addresses many of the problems&#8221; doesn&#8217;t do it credit. Go look at the page and have a look, don&#8217;t worry it&#8217;s a nice page and I&#8217;ll still be here waiting when you come back. I do a lot of work on servers across the globe, and believe me, although subtle, the difference between a 10ms connection and a 100+ ms connection is definitely noticeable ;-) That lag all but disappears with mosh. Mosh doesn&#8217;t support X11/SSH-Agent forwarding yet, but it&#8217;s on their roadmap.</p>
<p>Back to topic, I also use <a title="Cluster SSH" href="http://sourceforge.net/apps/mediawiki/clusterssh/index.php?title=Main_Page" target="_blank">cssh</a> for working on multiple servers simultaneously. I&#8217;d recommend making a copy of your .cshrc file (<span style="color: #3366ff;">cp -a ~/.csshrc ~/.csshrc_mosh</span>) and working on the copy. Edit the  <span style="color: #3366ff;">~/.csshrc_mosh</span> and change the lines <span style="color: #3366ff;">ssh=</span> and <span style="color: #3366ff;">ssh_args=</span> (diff of my files):</p>

<div class="my_syntax_box"><span class="my_syntax_selecall"><a href="javascript:;" onclick="selectCode(this); return false;">Select All</a> </span><span class="my_syntax_Bar">Code:</span><div class="my_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">diff</span> .csshrc .csshrc_mosh 
<span style="color: #000000;">27</span>,28c27,<span style="color: #000000;">28</span>
<span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #007800;">ssh</span>=<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;">ssh</span>
<span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #007800;">ssh_args</span>= <span style="color: #660033;">-x</span> <span style="color: #660033;">-o</span> <span style="color: #007800;">ConnectTimeout</span>=<span style="color: #000000;">5</span>
<span style="color: #660033;">---</span>
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">ssh</span>=<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>mosh
<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">ssh_args</span>=</pre></div></div></div>

<p>You will have to remove any parameters in <span style="color: #3366ff;">ssh_args=</span> and move them to your <span style="color: #3366ff;">~/.ssh/config</span> due to the difference in command line parameters between mosh and ssh. Now all you have to do is call cssh with the new config file, e.g. with an alias to make things easier <span style="color: #3366ff;">alias mcssh=&#8221;cssh -C ${HOME}/.csshrc_mosh&#8221;</span> And your done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1138/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing around with Exim, Spamassassin, DKIM and SPF</title>
		<link>http://www.dopefish.de/archives/1129</link>
		<comments>http://www.dopefish.de/archives/1129#comments</comments>
		<pubDate>Fri, 30 Mar 2012 01:35:09 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Internet Stuff]]></category>
		<category><![CDATA[DKIM]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[intenet]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[spamassassin]]></category>
		<category><![CDATA[SPF]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1129</guid>
		<description><![CDATA[I was playing around with my mail server today and decided to have a look at DKIM and SPF. Jump to the bottom for some useful links. You will have to be able to change TXT entries for your domain/subdomains to do any of this. Sending a mail to check-auth@verifier.port25.com will generate an auto-reply with the [...]]]></description>
			<content:encoded><![CDATA[<p>I was playing around with my mail server today and decided to have a look at <a title="DomainKeys Identified Mail" href="http://en.wikipedia.org/wiki/DKIM" target="_blank">DKIM</a> and <a title="Sender Policy Framework" href="http://en.wikipedia.org/wiki/Sender_Policy_Framework" target="_blank">SPF</a>. Jump to the bottom for some useful links. You will have to be able to change TXT entries for your domain/subdomains to do any of this. Sending a mail to <a href="mailto:check-auth@verifier.port25.com" target="_blank">check-auth@verifier.port25.com</a> will generate an auto-reply with the result of your mail servers settings. I also noticed that Exim wasn&#8217;t listening to the IPv6 interface and promptly fixed that, and have received my first mail via IPv6.</p>
<p>Some spamassassin scores for your local/user settings:</p>

<div class="my_syntax_box"><span class="my_syntax_selecall"><a href="javascript:;" onclick="selectCode(this); return false;">Select All</a> </span><span class="my_syntax_Bar">Code:</span><div class="my_syntax"><div class="code"><pre class="text" style="font-family:monospace;">score SPF_PASS -1.0
score SPF_FAIL 3.5
score SPF_SOFTFAIL 1.0
score SPF_HELO_PASS -1.1
score SPF_HELO_FAIL 3.5
score SPF_HELO_SOFTFAIL 1.0</pre></div></div></div>

<p><strong>SPF:</strong><br />
Syntax: <a href="http://www.openspf.org/SPF_Record_Syntax">http://www.openspf.org/SPF_Record_Syntax<br />
</a>Wizard: <a href="http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx">http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx</a></p>
<p><strong>DKIM:</strong><br />
Exim walkthrough: <a href="http://mikepultz.com/2010/02/using-dkim-in-exim/">http://mikepultz.com/2010/02/using-dkim-in-exim/<br />
</a>Domain specific settings: <a href="http://www.debian-administration.org/users/lee/weblog/41">http://www.debian-administration.org/users/lee/weblog/41</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1129/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Virtualbox version, script for easy update of extension pack</title>
		<link>http://www.dopefish.de/archives/1124</link>
		<comments>http://www.dopefish.de/archives/1124#comments</comments>
		<pubDate>Wed, 14 Mar 2012 17:26:29 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[extpack]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1124</guid>
		<description><![CDATA[VirtualBox 4.1.10 was released yesterday with a few nice things in the changelog. Updating virtualbox itself is easy, just download the package and update it. Since I seem to stumble over the update of the extension pack every time (on my headless system) I thought I&#8217;d write a small script this time so I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>VirtualBox <a href="https://www.virtualbox.org/wiki/Downloads">4.1.10</a> was released yesterday with a few nice things in the <a href="https://www.virtualbox.org/wiki/Changelog">changelog</a>. Updating virtualbox itself is easy, just download the package and update it. Since I seem to stumble over the update of the extension pack every time (on my headless system) I thought I&#8217;d write a small script this time so I don&#8217;t have to rethink it next time (automatically downloads and installs the current extpack):</p>

<div class="my_syntax_box"><span class="my_syntax_selecall"><a href="javascript:;" onclick="selectCode(this); return false;">Select All</a> </span><span class="my_syntax_Bar">Code:</span><div class="my_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">URL</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$(wget -qO - https://www.virtualbox.org/wiki/Downloads|grep &quot;Oracle VM VirtualBox Extension Pack&quot;|sed &quot;s/.\+\(http:\/\/download.virtualbox.org.\+.vbox-extpack\)</span>.\+/\1/&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #ff0000;">&quot;
File=<span style="color: #007800;">${URL##*/}</span>
&nbsp;
if [[ &quot;</span><span style="color: #800000;">${URL}</span><span style="color: #ff0000;">&quot; != &quot;</span><span style="color: #ff0000;">&quot; &amp;&amp; &quot;</span><span style="color: #800000;">${File}</span><span style="color: #ff0000;">&quot; != &quot;</span><span style="color: #ff0000;">&quot; ]]
then
  echo &quot;</span>Downloading and installing <span style="color: #800000;">${File}</span><span style="color: #ff0000;">&quot; &amp;&amp; <span style="color: #000099; font-weight: bold;">\
</span>  wget -qO <span style="color: #007800;">${File}</span> <span style="color: #007800;">${URL}</span> &amp;&amp; <span style="color: #000099; font-weight: bold;">\
</span>  VBoxManage extpack install --replace <span style="color: #007800;">${File}</span>
fi</span></pre></td></tr></table></div></div>

<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1124/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Floor plans for PAYDAY Map &#8220;Diamond Heist&#8221;</title>
		<link>http://www.dopefish.de/archives/1116</link>
		<comments>http://www.dopefish.de/archives/1116#comments</comments>
		<pubDate>Sat, 03 Mar 2012 19:50:43 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[gfx]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1116</guid>
		<description><![CDATA[I&#8217;ve played PAYDAY the last few weeks, it is a 4 player CO-OP FPS (think of Left 4 Dead in a different setting). One of the maps has caused me a bit of difficulty (Diamond Heist). There is an achievement called &#8220;Are Those The Blue Ones?&#8221; where you have to collect all the sapphires before [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve played PAYDAY the last few weeks, it is a 4 player CO-OP FPS (think of Left 4 Dead in a different setting). One of the maps has caused me a bit of difficulty (Diamond Heist). There is an achievement called &#8220;Are Those The Blue Ones?&#8221; where you have to collect all the sapphires before the alarm goes off, and I kept forgetting where they were. Also keeping track of the cameras was a bit of a pain, so today I threw them all together on a map for easier reference (right-click &#8220;Save link as &#8230;&#8221; to download):</p>
<p><a href="http://www.dopefish.de/files/diamondheist.png" class="lightview" data-lightview-group="group-1116" data-lightview-options="skin: 'dark', controls: 'relative', padding: '8', shadow: { color: '#000000', opacity: 0.08, blur: 5 }" data-lightview-title="PAYDAY Diamond heist floor plans"><img class="aligncenter" title="PAYDAY Diamond heist floor plans" src="http://www.dopefish.de/files/diamondheist.jpg" alt="" width="600" height="600" /></a></p>
<p>Graphics sources:<br />
<a href="http://www.overkillsoftware.com/payday/">http://www.overkillsoftware.com/payday/<br />
</a><a href="http://openclipart.org/detail/125695/diamant--diamond-by-lmproulx">http://openclipart.org/detail/125695/diamant&#8211;diamond-by-lmproulx<br />
</a><a href="http://openclipart.org/detail/31891/surveillance-camera-by-maxim2">http://openclipart.org/detail/31891/surveillance-camera-by-maxim2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Server (with IPv6)</title>
		<link>http://www.dopefish.de/archives/1105</link>
		<comments>http://www.dopefish.de/archives/1105#comments</comments>
		<pubDate>Sat, 18 Feb 2012 17:11:12 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Internet Stuff]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[hetzner]]></category>
		<category><![CDATA[ipv6]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1105</guid>
		<description><![CDATA[I got a new server and I finished moving everything to the new hardware this week. If you notice anything behaving strange just drop me a note. I also set up IPv6 on all my VMs so will be playing around with that a bit. It&#8217;s a shame that hardly any providers give customers IPv6 addresses, [...]]]></description>
			<content:encoded><![CDATA[<p>I got a new server and I finished moving everything to the new hardware this week. If you notice anything behaving strange just drop me a note. I also set up IPv6 on all my VMs so will be playing around with that a bit. It&#8217;s a shame that hardly any providers give customers IPv6 addresses, migrating from IPv4 to IPv6 will take forever if none of the users can use them (and in the meantime IPv4 addresses are getting more and more expensive for me).</p>
<p>The new server is from <a href="http://www.hetzner.de/en/">hetzner</a> since I have been very satisfied with them in the past. Impressive hardware features for low prices and (what really makes me keep choosing them) fantastic technical support. I&#8217;ve been with a few companies in the past, but none have had as good support as hetzner. Sooner or later hardware will die, and having a hosting provider that responds promptly and knowledgeably to request is priceless.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1105/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add locking to a shell script (the easy way)</title>
		<link>http://www.dopefish.de/archives/1093</link>
		<comments>http://www.dopefish.de/archives/1093#comments</comments>
		<pubDate>Tue, 14 Feb 2012 15:58:03 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[flock]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1093</guid>
		<description><![CDATA[I haven&#8217;t posted anything with bash here for a while, so today I&#8217;ll throw in a little snippet to use flock to make sure a script is only running once.  This is very handy in cron jobs that you want to run often, but there shouldn&#8217;t be multiple instances of the script running at the same [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t posted anything with bash here for a while, so today I&#8217;ll throw in a little snippet to use flock to make sure a script is only running once.  This is very handy in cron jobs that you want to run often, but there shouldn&#8217;t be multiple instances of the script running at the same time.<br />
Since it is small and easy I&#8217;d recommend adding it to any code you don&#8217;t want running multiple times since &#8220;that script&#8221; you just wrote, that runs 10 minutes now, might turn into a monster in 6 months and run 45 minutes when things change (data grows, more stuff to do).  Better safe than sorry.</p>
<p>Basically we rely on <span style="color: #ff0000;">flock</span> to do the heavy lifting and we just add some logic around it:</p>

<div class="my_syntax_box"><span class="my_syntax_selecall"><a href="javascript:;" onclick="selectCode(this); return false;">Select All</a> </span><span class="my_syntax_Bar">Code:</span><div class="my_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">trap</span> cleanup INT TERM EXIT <span style="color: #666666; font-style: italic;"># call cleanup() if script exits</span>
&nbsp;
cleanup<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	  flock <span style="color: #660033;">-u</span> <span style="color: #000000;">200</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #000000;">200</span><span style="color: #000000; font-weight: bold;">&gt;/</span>var<span style="color: #000000; font-weight: bold;">/</span>lock<span style="color: #000000; font-weight: bold;">/</span>my_script.lock
&nbsp;
flock <span style="color: #660033;">-xn</span> <span style="color: #000000;">200</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span> <span style="color: #666666; font-style: italic;"># exit if a lock exists</span></pre></td></tr></table></div></div>

<p><span style="color: #ff0000;">man flock</span> will show you more details to the parameters used and even some examples. Basically it will use <span style="color: #ff0000;">trap</span> to make sure the lock is released if the script ends in any way. <span style="color: #ff0000;">200</span> is a random file descriptor I chose for this example, it can be anything numeric. <span style="color: #ff0000;">flock -xn</span> means it will attempt to acquire an exclusive lock, and if that fails it will exit with an error.</p>
<p>Putting this somewhere at the top of your script will simply end the script if it finds an existing lock. <span style="color: #ff0000;">flock</span> has a few other options like <span style="color: #ff0000;">-wait</span> or nor using <span style="color: #ff0000;">-n</span> that allow you to not exit but wait for the lock to end (with wait a variable amount of seconds). And thus with a bit of creativity enabling you to only lock specific parts of the code (e.g. database calls, file changes, &#8230;) and handling failed lock attempts more gracefully than an exit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1093/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing around with DD-WRT</title>
		<link>http://www.dopefish.de/archives/1088</link>
		<comments>http://www.dopefish.de/archives/1088#comments</comments>
		<pubDate>Sat, 24 Dec 2011 15:45:44 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[access point]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[dd-wrt]]></category>
		<category><![CDATA[IDS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wifi]]></category>
		<category><![CDATA[wlan]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1088</guid>
		<description><![CDATA[I&#8217;m currently playing around with my two WL-330GE Access points from asus (see an older posting). Since that posting I was a bit creative using the existing ethernet cabling and ports in the apartment to be able to retire the WiFi bridge without having any cable going through the apartment.
So I decided to use the two access [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently playing around with my two <a href="http://www.asus.com/Networks/Wireless_Routers/WL330gE/" target="_blank">WL-330GE Access points</a> from asus (see an <a title="Wireless bridge &amp; dd-wrt" href="http://www.dopefish.de/archives/814" target="_blank">older posting</a>). Since that posting I was a bit creative using the existing ethernet cabling and ports in the apartment to be able to retire the WiFi bridge without having any cable going through the apartment.</p>
<p>So I decided to use the two access points for something more useful. I&#8217;m playing around with <a href="http://www.dd-wrt.com/site/index" target="_blank">dd-wrt</a> to build configurations to use them as WiFi probes (for an IDS), or as Rouge Access Points (for demonstration purposes and to test wireless IDS solutions).  I might compile my own dd-wrt version for the rouge version, there are a few things I miss to build a truly evil device.</p>
<p>I like the size of the devices (very compact) and that you can power them with 5V (you can run them off any USB port, right now the one here is hooked up to the USB port of a printer intended for cameras) the only thing missing to make them perfect would be Power-over-Ethernet and maybe a GSM interface to upload data online.</p>
<p>Fun having a cheap and small device like this with Wifi and ethernet running linux. Provides lots of possibilities and fun.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1088/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make a wonderful cookie dessert in a skillet</title>
		<link>http://www.dopefish.de/archives/1082</link>
		<comments>http://www.dopefish.de/archives/1082#comments</comments>
		<pubDate>Mon, 12 Dec 2011 19:09:30 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[skillet]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1082</guid>
		<description><![CDATA[A few weeks ago I stumbled across this recipe for making a cookie in a skillet http://www.sophistimom.com/one-pan-skillet-cookie and shared it with a few people because I though it looked cool. My wonderful wife then put &#8220;skillet&#8221; on our shopping list because she knows I can&#8217;t resist cookies, and yesterday we tried out the recipe. It was easy and [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I stumbled across this recipe for making a cookie in a skillet <a href="http://www.sophistimom.com/one-pan-skillet-cookie/">http://www.sophistimom.com/one-pan-skillet-cookie</a> and shared it with a few people because I though it looked cool. My wonderful wife then put &#8220;skillet&#8221; on our shopping list because she knows I can&#8217;t resist cookies, and yesterday we tried out the recipe. It was easy and tasted wonderful <img src='http://www.dopefish.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Below are some pics of the treat.</p>

<div class="ngg-albumoverview">		

	<!-- List of galleries -->
		
	<div class="ngg-album-dopefish">
		<div class="ngg-album-dopefishbox">
			<div class="ngg-album-link">
				<a class="Link" href="http://www.dopefish.de/pictures-bilder/skilletcookie">
					<img class="Thumb" alt="Skillet Cookie" src="http://www.dopefish.de/wp-content/gallery/skilletcookie/thumbs/thumbs_dsc_1810.jpg"/>
				</a>
			</div>
		</div>
	</div>
	<div class="ngg-album-dopefishdescription">
	<h4><a class="ngg-album-dopefishdesc" title="Skillet Cookie" href="http://www.dopefish.de/pictures-bilder/skilletcookie" >Skillet Cookie</a></h4>
		<p><strong>10</strong> Photos</p>
		</div>

 	 	
	<!-- Pagination -->
 	<div class="ngg-clear"></div>
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1082/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to increase Fraps performance with a ramdisk</title>
		<link>http://www.dopefish.de/archives/1065</link>
		<comments>http://www.dopefish.de/archives/1065#comments</comments>
		<pubDate>Thu, 10 Nov 2011 02:30:54 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[battlefield 3]]></category>
		<category><![CDATA[fraps]]></category>
		<category><![CDATA[IO]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[ramdisk]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1065</guid>
		<description><![CDATA[I recently started playing Battlefield 3 and remembered that I have a Fraps license so I installed it and started recording some stuff. Unsurprisingly the performance made a big dip when I recorded. A glance at my PC told me the harddrive was at fault, probably bringing the whole system down due to IO.
Since my PC has [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started playing <a title="Battlefield 3" href="http://www.battlefield.com/battlefield3" target="_blank">Battlefield 3</a> and remembered that I have a <a title="Fraps" href="http://fraps.com/" target="_blank">Fraps</a> license so I installed it and started recording some stuff. Unsurprisingly the performance made a big dip when I recorded. A glance at my PC told me the harddrive was at fault, probably bringing the whole system down due to IO.</p>
<p>Since my PC has more than enough RAM I decided to set up a 5Gb <a href="http://www.ltr-data.se/opencode.html/#ImDisk" target="_blank">Ramdisk</a> to see if that helped. It did, when writing the video files to the ramdisk I hardly had any performance hit. Unfortunately 5GB isn&#8217;t going to last long while recording 1920&#215;1080 @ 40FPS (a few minutes footage at most).</p>
<p>Here is my little cmd file to create a 5GB ramdisk as drive J: and format it for usage:</p>

<div class="my_syntax_box"><span class="my_syntax_selecall"><a href="javascript:;" onclick="selectCode(this); return false;">Select All</a> </span><span class="my_syntax_Bar">Code:</span><div class="my_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">imdisk <span style="color: #66cc66;">-</span>d <span style="color: #66cc66;">-</span>m J<span style="color: #FF1010; font-weight: bold;">:</span>
imdisk <span style="color: #66cc66;">-</span>a <span style="color: #66cc66;">-</span>t vm <span style="color: #66cc66;">-</span>s 5G <span style="color: #66cc66;">-</span>o rw <span style="color: #66cc66;">-</span>m J<span style="color: #FF1010; font-weight: bold;">:</span>
format J<span style="color: #FF1010; font-weight: bold;">: /A:64k /V:Ramdisk /FS:NTFS /Q</span></pre></td></tr></table></div></div>

<p>So my next thought was to see if I could write a script to move files off the ramdisk when they were done being written to by Fraps. This obviously was going to cause IO load &#8230; the reason we were having performance issues in the first place, so I was skeptical about if this was going to help any. Especially since I also had to move the files away quick enough so that the drive wouldn&#8217;t fill up completely with the next file Fraps was writing. I wrote a little <a href="http://en.wikipedia.org/wiki/Windows_PowerShell" target="_blank">powershell</a> script for this (yeah, a *nix Sysadmin writing scripts in powershell &#8230;)</p>
<p>Here is my little powershell script to copy the finished files from my ramdisk to a normal HDD (please excuse  possible ugliness, I&#8217;m a powershell noob):</p>

<div class="my_syntax_box"><span class="my_syntax_selecall"><a href="javascript:;" onclick="selectCode(this); return false;">Select All</a> </span><span class="my_syntax_Bar">Code:</span><div class="my_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #800080;">$source</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;j:\*.avi&quot;</span>
<span style="color: #800080;">$target_dir</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;f:\fraps\movies\&quot;</span>
&nbsp;
<span style="color: #0000FF;">while</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$true</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
    <span style="color: #800080;">$files</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">gci</span> <span style="color: #800080;">$source</span>
    <span style="color: #0000FF;">foreach</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$file</span> <span style="color: #0000FF;">in</span> <span style="color: #800080;">$files</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#123;</span> 
        <span style="color: #800080;">$srcfile</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">echo</span> <span style="color: #800080;">$file</span>.fullname
        <span style="color: #800080;">$dstfile</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">echo</span> <span style="color: #800080;">$file</span>.basename
        <span style="color: #0000FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #800080;">$srcfile</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
            try <span style="color: #000000;">&#123;</span>
                <span style="color: #008080; font-weight: bold;">move-item</span> <span style="color: #800000;">&quot;$srcfile&quot;</span> <span style="color: #800000;">&quot;$target_dir$dstfile.avi&quot;</span> <span style="color: pink;">-</span>ea stop
                <span style="color: #800000;">&quot;$srcfile Moved&quot;</span>
            <span style="color: #000000;">&#125;</span>
            catch <span style="color: #000000;">&#123;</span>
                <span style="color: #800000;">&quot;$srcfile in use, cannot be copied right now&quot;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
    <span style="color: #008080; font-weight: bold;">sleep</span> <span style="color: #804000;">5</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div></div>

<p>The last little problem I noticed is that the 5GB ramdrive wasn&#8217;t big enough (Fraps seems to create some dummy files and fills them up). Forcing Fraps to make smaller files by toggeling the recording fixed that though -&gt; pressing F9 twice fast will drop a few frames though. I used my Logitech G13 for that, just had a key mapped to press F9 quickly every 60 seconds. The shortest gap I could get working reliably is 50ms.</p>
<p><img class="aligncenter size-full wp-image-1073" title="fraps settings" src="http://www.dopefish.de/wp-content/uploads/2011/11/20111110_fraps.jpg" alt="" width="400" height="533" /></p>
<p>This all probably sounds awfully complicated, but it works and solves my problem. Fraps is great software, but it would be immensly helpful if you could set the file size in the settings (instead of it defaulting to 4GB). Or, even better, if Fraps could rework their IO system to work more efficiently.</p>
<p>So to sum everything up:<br />
- create ramdrive<br />
- start script that copies files from the ramdrive to a normal HDD<br />
- set fraps to store videos on the ramdrive<br />
- start game, press F9 to start recording and then press the G13 key to toggle the F9 periodically</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1065/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Yellowstone and Grand Teton Parks</title>
		<link>http://www.dopefish.de/archives/1059</link>
		<comments>http://www.dopefish.de/archives/1059#comments</comments>
		<pubDate>Mon, 03 Oct 2011 21:41:33 +0000</pubDate>
		<dc:creator>dopefish</dc:creator>
				<category><![CDATA[Me]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Grand Teton]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[Yellowstone]]></category>

		<guid isPermaLink="false">http://www.dopefish.de/?p=1059</guid>
		<description><![CDATA[A few weeks ago we traveled a bit west and visited the Yellowstone and Grand Teton National Parks, I&#8217;ve finally gotten around to sorting through the pictures and uploading a few (well, actually a lot). 
I didn&#8217;t get around to editing and stitching the panorama photos together yet, or doing anything interesting with the GPS [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago we traveled a bit west and visited the Yellowstone and Grand Teton National Parks, I&#8217;ve finally gotten around to sorting through the pictures and uploading a few (well, actually a lot). </p>

<div class="ngg-albumoverview">		

	<!-- List of galleries -->
		
	<div class="ngg-album-dopefish">
		<div class="ngg-album-dopefishbox">
			<div class="ngg-album-link">
				<a class="Link" href="http://www.dopefish.de/pictures-bilder/yellowstone-and-grand-teton-national-parks">
					<img class="Thumb" alt="Yellowstone and Grand Teton" src="http://www.dopefish.de/wp-content/gallery/yellowstone/thumbs/thumbs_dsc_1695.jpg"/>
				</a>
			</div>
		</div>
	</div>
	<div class="ngg-album-dopefishdescription">
	<h4><a class="ngg-album-dopefishdesc" title="Yellowstone and Grand Teton" href="http://www.dopefish.de/pictures-bilder/yellowstone-and-grand-teton-national-parks" >Yellowstone and Grand Teton</a></h4>
		<p><strong>190</strong> Photos</p>
		</div>

 	 	
	<!-- Pagination -->
 	<div class="ngg-clear"></div>
</div>


<p>I didn&#8217;t get around to editing and stitching the panorama photos together yet, or doing anything interesting with the GPS data of our hikes yet. If I get that done I&#8217;ll probably update this posting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dopefish.de/archives/1059/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

