<?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>Trygve Vea is happy hacking :)</title>
	<atom:link href="http://trygvevea.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://trygvevea.com</link>
	<description></description>
	<lastBuildDate>Mon, 20 Feb 2012 13:09:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Munin-plugin for HP P2000 StorageWorks</title>
		<link>http://trygvevea.com/2012/02/20/new-munin-plugin-for-hp-p2000-storageworks/</link>
		<comments>http://trygvevea.com/2012/02/20/new-munin-plugin-for-hp-p2000-storageworks/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 13:09:23 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Planet Redpill-Linpro]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=520</guid>
		<description><![CDATA[I committed a new Munin-plugin for HP P2000 StorageWorks. It monitors through the HTTP XML-RPC interface. It detects all disks, vdisks and controllers automatically – all you need to provide is the username/password, IP-address, and set up some symlinks. It &#8230; <a href="http://trygvevea.com/2012/02/20/new-munin-plugin-for-hp-p2000-storageworks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://munin-monitoring.org/browser/trunk/plugins/node.d/hp2000_.in">I committed a new Munin-plugin for HP P2000 StorageWorks</a>. It monitors through the HTTP XML-RPC interface.  It detects all disks, vdisks and controllers automatically – all you need to provide is the username/password, IP-address, and set up some symlinks.</p>
<p>It produces 10 graphs, + subgraphs.</p>
<p>Graph-gallery:</p>
<p>VDISK:<br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/vdisk_bandwidth-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/vdisk_bandwidth-day.png" alt="" title="vdisk_bandwidth-day" width="497" height="335" class="alignnone size-full wp-image-530" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/vdisk_iops-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/vdisk_iops-day.png" alt="" title="vdisk_iops-day" width="497" height="335" class="alignnone size-full wp-image-521" /></a></p>
<p>Disk bandwidth and iops (rootgraphs provides enclosures, subgraphs provides disks): </p>
<p><a href="http://trygvevea.com/wp-content/uploads/2012/02/disk_iops-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/disk_iops-day.png" alt="" title="disk_iops-day" width="497" height="299" class="alignnone size-full wp-image-528" /></a></p>
<p><a href="http://trygvevea.com/wp-content/uploads/2012/02/disk_bandwidth-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/disk_bandwidth-day.png" alt="" title="disk_bandwidth-day" width="497" height="299" class="alignnone size-full wp-image-527" /></a></p>
<p>Controller bandwidth and iops:<br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/controller_bandwidth-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/controller_bandwidth-day.png" alt="" title="controller_bandwidth-day" width="497" height="287" class="alignnone size-full wp-image-524" /></a></p>
<p><a href="http://trygvevea.com/wp-content/uploads/2012/02/controller_iops-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/controller_iops-day.png" alt="" title="controller_iops-day" width="497" height="287" class="alignnone size-full wp-image-525" /></a></p>
<p>Controller Cache:<br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/controller_cache_misses-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/controller_cache_misses-day.png" alt="" title="controller_cache_misses-day" width="497" height="287" class="alignnone size-full wp-image-523" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/controller_cache_hits-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/controller_cache_hits-day.png" alt="" title="controller_cache_hits-day" width="497" height="287" class="alignnone size-full wp-image-522" /></a></p>
<p>Controller CPU-load:<br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/cpu_load-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/cpu_load-day.png" alt="" title="cpu_load-day" width="497" height="287" class="alignnone size-full wp-image-526" /></a></p>
<p>A sawtooth-graph to indicate uptime statistics for the controllers:<br />
<a href="http://trygvevea.com/wp-content/uploads/2012/02/uptime-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/02/uptime-day.png" alt="" title="uptime-day" width="497" height="287" class="alignnone size-full wp-image-529" /></a></p>
<p>Use Munin? Got a HP P2000 StorageWorks SAN?  <a href="http://munin-monitoring.org/browser/trunk/plugins/node.d/hp2000_.in">Why don&#8217;t you give it a try</a>? <img src='http://trygvevea.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/02/20/new-munin-plugin-for-hp-p2000-storageworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation: Writing modules for nginx</title>
		<link>http://trygvevea.com/2012/02/01/presentation-writing-modules-for-nginx/</link>
		<comments>http://trygvevea.com/2012/02/01/presentation-writing-modules-for-nginx/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 08:55:09 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Planet Redpill-Linpro]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=514</guid>
		<description><![CDATA[I held a presentation at Redpill Linpros &#8220;C / C++ / Embedded&#8221; Competence Group-meeting yesterday. It was about writing modules for nginx. It contains a lot of source code. I believe it&#8217;s an OK primer. Extending functionality in nginx, with &#8230; <a href="http://trygvevea.com/2012/02/01/presentation-writing-modules-for-nginx/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I held a presentation at Redpill Linpros &#8220;C / C++ / Embedded&#8221; Competence Group-meeting yesterday.</p>
<p>It was about writing modules for nginx.  It contains a lot of source code.  I believe it&#8217;s an OK primer.</p>
<div style="width:425px" id="__ss_11363830"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/trygvevea/extending-functionality-in-nginx-with-modules" title="Extending functionality in nginx, with modules!" target="_blank">Extending functionality in nginx, with modules!</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/11363830" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/trygvevea" target="_blank">Trygve Vea</a> </div>
</p></div>
<p>The example code can be found on github.</p>
<p><a href="https://github.com/kvisle/nginx_module_samples">https://github.com/kvisle/nginx_module_samples</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/02/01/presentation-writing-modules-for-nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Munin-plugin for HAProxy</title>
		<link>http://trygvevea.com/2012/01/23/new-munin-plugin-for-haproxy/</link>
		<comments>http://trygvevea.com/2012/01/23/new-munin-plugin-for-haproxy/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 06:00:44 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Munin]]></category>
		<category><![CDATA[Planet Redpill-Linpro]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=499</guid>
		<description><![CDATA[I committed a new Munin-plugin for HAProxy. It&#8217;s a multigraph plugin, it discovers all the configured frontends and backends automatically &#8211; all you need to provide is the username/password for the haproxy status page. It produces 8 graphs, + subgraphs &#8230; <a href="http://trygvevea.com/2012/01/23/new-munin-plugin-for-haproxy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://munin-monitoring.org/browser/trunk/plugins/node.d/haproxy_ng.in">I committed a new Munin-plugin for HAProxy</a>.  It&#8217;s a multigraph plugin, it discovers all the configured frontends and backends automatically &#8211; all you need to provide is the username/password for the haproxy status page.</p>
<p>It produces 8 graphs, + subgraphs for some of the backends, where it presents the same graphs, but with server-specific metrics.</p>
<p>Some of the root-graphs:</p>
<p><a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPActive-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPActive-day.png" alt="" title="HAPActive-day" width="497" height="311" class="alignleft size-full wp-image-507" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPUptime-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPUptime-day.png" alt="" title="HAPUptime-day" width="497" height="311" class="alignleft size-full wp-image-506" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPSessionsBack-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPSessionsBack-day.png" alt="" title="HAPSessionsBack-day" width="497" height="311" class="alignleft size-full wp-image-505" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPErrorsBack-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPErrorsBack-day.png" alt="" title="HAPErrorsBack-day" width="497" height="311" class="alignleft size-full wp-image-504" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPErrorsFront-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPErrorsFront-day.png" alt="" title="HAPErrorsFront-day" width="497" height="275" class="alignleft size-full wp-image-503" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPBandwidthBack-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPBandwidthBack-day.png" alt="" title="HAPBandwidthBack-day" width="497" height="359" class="alignleft size-full wp-image-502" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPBandwidthFront-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPBandwidthFront-day.png" alt="" title="HAPBandwidthFront-day" width="497" height="287" class="alignleft size-full wp-image-501" /></a><br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/HAPSessionsFront-day.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/HAPSessionsFront-day.png" alt="" title="HAPSessionsFront-day" width="497" height="275" class="alignleft size-full wp-image-500" /></a></p>
<p><br style="clear: both;" /></p>
<p>Do you use HAProxy and Munin? <a href="http://munin-monitoring.org/browser/trunk/plugins/node.d/haproxy_ng.in">Check it out</a>! </p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/01/23/new-munin-plugin-for-haproxy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Birthday boy.</title>
		<link>http://trygvevea.com/2012/01/19/birthday-boy/</link>
		<comments>http://trygvevea.com/2012/01/19/birthday-boy/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 05:00:58 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=471</guid>
		<description><![CDATA[I&#8217;m 28 now. Those people who invented the term &#8220;grownup&#8221; were weird. There&#8217;s no such thing.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m 28 now.</p>
<p>Those people who invented the term &#8220;grownup&#8221; were weird.  There&#8217;s no such thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/01/19/birthday-boy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experiment of the week: Bump mapping in OpenGL</title>
		<link>http://trygvevea.com/2012/01/16/experiment-of-the-week-bump-mapping-in-opengl/</link>
		<comments>http://trygvevea.com/2012/01/16/experiment-of-the-week-bump-mapping-in-opengl/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 00:07:42 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=487</guid>
		<description><![CDATA[With a lot of help from my friend Zerd, I finally managed to get bump mapping to work. I&#8217;ve been pondering on how bump mapping can be used with 2D graphics &#8211; and after playing around a bit, I don&#8217;t &#8230; <a href="http://trygvevea.com/2012/01/16/experiment-of-the-week-bump-mapping-in-opengl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>With a lot of help from my friend <a href="http://zerd.net/">Zerd</a>, I finally managed to get bump mapping to work.  I&#8217;ve been pondering on how bump mapping can be used with 2D graphics &#8211; and after playing around a bit, I don&#8217;t see any reason not to use this.</p>
<p>A built version for Windows can be downloaded here: <a href="http://dl.dropbox.com/u/1287557/bumptest.zip">http://dl.dropbox.com/u/1287557/bumptest.zip</a> &#8230; The source code is included, and it builds fine on Linux.  It also works just fine in wine if you don&#8217;t want to bother building it.  The code is fairly minimal.</p>
<p>A couple of screenshots with light illumination from different sides; (NOTE: This looks better in motion)</p>
<p><a href="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-4.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-4.png" alt="" title="Screenshot-4" width="240" height="480" class="alignleft size-full wp-image-492" /></a><a href="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-3.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-3.png" alt="" title="Screenshot-3" width="240" height="480" class="alignleft size-full wp-image-491" /></a><a href="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-6.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-6.png" alt="" title="Screenshot-6" width="330" height="360" class="alignleft size-full wp-image-490" /></a><a href="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-5.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/Screenshot-5.png" alt="" title="Screenshot-5" width="330" height="360" class="alignleft size-full wp-image-489" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/01/16/experiment-of-the-week-bump-mapping-in-opengl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WTF anno 2005: Secure File Downloading.</title>
		<link>http://trygvevea.com/2012/01/09/wtf-anno-2005-secure-file-downloading/</link>
		<comments>http://trygvevea.com/2012/01/09/wtf-anno-2005-secure-file-downloading/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 06:00:21 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=479</guid>
		<description><![CDATA[When I started as a system administration at my old job, one of my first tasks was to help a consultant &#8211; from a company I won&#8217;t name &#8211; with their proprietary solution for &#8220;Secure Internet&#8221;. My workplace needed a &#8230; <a href="http://trygvevea.com/2012/01/09/wtf-anno-2005-secure-file-downloading/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When I started as a system administration at my old job, one of my first tasks was to help a consultant &#8211; from a company I won&#8217;t name &#8211; with their proprietary solution for &#8220;Secure Internet&#8221;.  My workplace needed a secure way to download files, and their solution should cover all this&#8230; in various interpretations of &#8220;secure&#8221;.</p>
<p>The design was fairly simple:</p>
<ol>
<li>Clients connect to a terminal server (being Citrix or RDP, it doesn&#8217;t really matter).</li>
<li>The Internet connected session can&#8217;t access the secure network, but is able to store files on a temporary home directory in the DMZ.</li>
<li>The files in the DMZ are picked up and transmitted by email to a special account.</li>
<li>On the MS Exchange server, a trigger reacts on incoming emails to this particular account, and then writes the attachment to the user&#8217;s home directory.</li>
<li>The user can access the downloaded files inside the secure network.</li>
</ol>
<p>If we say that it&#8217;s acceptable for the user to deal with untrusted files downloaded from the Internet, this is a fair design.  It does the job.  However, this is not what I wanted to present to you.  I think it&#8217;s more interesting to look at how the file-transfer is performed.</p>
<p>When the user saves his file at his temporary home directory in the DMZ, a scheduled job runs and picks up the file.  The same job constructs an email formatted like this:</p>
<p><code>FROM: filelockaccount@acme.org<br />
TO: filelockaccount@acme.org<br />
SUBJECT: \\fileserver\home$\username\filelock\iloveyou.exe<br />
ATTACHMENT: iloveyou.exe<br />
</code></p>
<p>On the Exchange server, the trigger picks up the email, and writes the attachment to the path defined in the subject.  The Exchange server ran this job with administrative privileges.</p>
<p>To see whether this could be exploited, I used an Internet connected computer outside the network &#8211; just connected via ordinary ADSL.  I made Outlook Express use the ISP&#8217;s SMTP-server, and made an email formatted like this:</p>
<p><code>FROM: filelockaccount@acme.org<br />
TO: filelockaccount@acme.org<br />
SUBJECT: \\somewebserver\c$\OMGLOLZ.txt<br />
ATTACHMENT: OMGLOLZ.txt<br />
</code></p>
<p>A couple of minutes later, I could see OMGLOLZ.txt in the root of C:\ on somewebserver.  We also tested whether we had access to potentially execute malicious code&#8230; and since the magic process on the Exchange server ran with administrative privileges, we definitely could.</p>
<p>Turns out the secure way of downloading files from the Internet could be used to compromise server security in the entire network.</p>
<p>The hole were patched shortly after, and I got my attaboy.</p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/01/09/wtf-anno-2005-secure-file-downloading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goals for 2012</title>
		<link>http://trygvevea.com/2012/01/08/goals-for-2012/</link>
		<comments>http://trygvevea.com/2012/01/08/goals-for-2012/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 02:39:18 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=473</guid>
		<description><![CDATA[Get better at drawing. Make a chiptune. Participate in more competitions, more often. Co-create a game with someone (compo or not, whatever &#8211; it&#8217;s for fun). Post more stuff on this blog. Release more code. Release more tutorials. Enjoy life &#8230; <a href="http://trygvevea.com/2012/01/08/goals-for-2012/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<ul>
<li>Get better at drawing.</li>
<li>Make a chiptune.</li>
<li>Participate in more competitions, more often.</li>
<li>Co-create a game with someone (compo or not, whatever &#8211; it&#8217;s for fun).</li>
<li>Post more stuff on this blog.</li>
<li>Release more code.</li>
<li>Release more tutorials.</li>
<li>Enjoy life more.</li>
</ul>
<p>I drew a guy, he has weird proportions, but I&#8217;m happy with him.  I didn&#8217;t attempt to create Cody from Final Fight, but I was thinking about his colors.  I didn&#8217;t put a lot of work in it.<br />
<a href="http://trygvevea.com/wp-content/uploads/2012/01/08-guy2x.png"><img src="http://trygvevea.com/wp-content/uploads/2012/01/08-guy2x.png" alt="" title="08-guy2x" width="102" height="208" class="aligncenter size-full wp-image-474" /></a></p>
<p>(Looking at the ambitious-level of my own goals, it&#8217;s easy to understand why I&#8217;m usually not happy with my own effort.)</p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2012/01/08/goals-for-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links house, analyzed: Part 3 – The wall</title>
		<link>http://trygvevea.com/2011/09/16/links-house-analyzed-part-3-%e2%80%93-the-wall/</link>
		<comments>http://trygvevea.com/2011/09/16/links-house-analyzed-part-3-%e2%80%93-the-wall/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 15:00:25 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=402</guid>
		<description><![CDATA[The wall can be broken down into 3 parts, + the floor-edge, since it&#8217;s not technically a part of the wall. It always sticks next to the wall. The wainscot, the wallpaper and the crown-molding. I&#8217;m not 100% sure that &#8230; <a href="http://trygvevea.com/2011/09/16/links-house-analyzed-part-3-%e2%80%93-the-wall/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://trygvevea.com/wp-content/uploads/2011/08/house07-wall-brokendown.png"><img src="http://trygvevea.com/wp-content/uploads/2011/08/house07-wall-brokendown.png" alt="" title="house07-wall-brokendown" width="394" height="128" class="aligncenter size-full wp-image-403" /></a></p>
<p>The wall can be broken down into 3 parts, + the floor-edge, since it&#8217;s not technically a part of the wall.  It always sticks next to the wall.  The wainscot, the wallpaper and the crown-molding.  I&#8217;m not 100% sure that this is what it&#8217;s supposed to be &#8211; 16 bit graphics often leave some room to interpretation.</p>
<p><a href="http://trygvevea.com/wp-content/uploads/2011/08/house08-walltiles.png"><img src="http://trygvevea.com/wp-content/uploads/2011/08/house08-walltiles.png" alt="" title="house08-walltiles" width="96" height="224" class="aligncenter size-full wp-image-406" /></a></p>
<p>With the exception of the corner-area, the wall is built up by these 7 tiles (not 8, because the two tiles for the border are identical).  Looking up close, the tiles are fairly simple.  The detail here, is the combination of the tiles.</p>
<p><strong>The floor-edge</strong></p>
<p>Closest to the wall, it starts off with two pixels of dark color.  This gives us the impression of being in a corner next to the wall.<br />
Most of it is filled with a solid color fitting to the rest of the rooms palette.</p>
<p><strong>The wainscot</strong></p>
<p>Consisting of two tiles &#8211; together they could create a simple brick-wall pattern.  The reason it looks like wood, is because it&#8217;s brownish of color.  Fairly simple dithering; Not too much, not too little.  The corner-tile is just a few pixels marking the corner itself &#8211; without any additional dithering/shading in the area.</p>
<p><strong>The wallpaper</strong></p>
<p>When I look this closely at it, I get the feeling it&#8217;s stained.  These two tiles alone, proves how much detail a tiny amount of randomness can add to a scene.  The corner tile got extra &#8220;stains&#8221; added around the corner for shadowy effect.  This also adds to the illusion of perspective, as this tile is higher up than the wainscot.</p>
<p><strong>The crown-molding</strong></p>
<p>This is the most detailed of the four parts &#8211; yet, still fairly simple.  If you alternate the two tiles, you get perfect tiling.</p>
<p>So, the walls in Zelda are fairly detailed &#8211; yet, also fairly simple.  If one break down the wall into individual components, one can see what kind of tricks has gone into making of the wall.</p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2011/09/16/links-house-analyzed-part-3-%e2%80%93-the-wall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Links house, analyzed: Part 2 – Perspective of things</title>
		<link>http://trygvevea.com/2011/09/09/links-house-analyzed-part-2-%e2%80%93-perspective-of-things/</link>
		<comments>http://trygvevea.com/2011/09/09/links-house-analyzed-part-2-%e2%80%93-perspective-of-things/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 15:00:28 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Graphics]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=387</guid>
		<description><![CDATA[From a perspective point-of-view, this game fails when you&#8217;re indoors. The walls are treated differently when you&#8217;re indoors, than when you&#8217;re outside. Everything on the floor is still treated as if it was outdoors. One could have treated the entire &#8230; <a href="http://trygvevea.com/2011/09/09/links-house-analyzed-part-2-%e2%80%93-perspective-of-things/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>From a perspective point-of-view, this game fails when you&#8217;re indoors.  The walls are treated differently when you&#8217;re indoors, than when you&#8217;re outside.  Everything on the floor is still treated as if it was outdoors.</p>
<div id="attachment_388" class="wp-caption aligncenter" style="width: 458px"><a href="http://trygvevea.com/wp-content/uploads/2011/08/house03-wallperspective.png"><img src="http://trygvevea.com/wp-content/uploads/2011/08/house03-wallperspective.png" alt="" title="house03-wallperspective" width="448" height="352" class="size-full wp-image-388" /></a><p class="wp-caption-text">All walls are equally visible.  As if we were looking directly downwards.</p></div>
<div id="attachment_389" class="wp-caption aligncenter" style="width: 458px"><a href="http://trygvevea.com/wp-content/uploads/2011/08/house04-floorperspective.png"><img src="http://trygvevea.com/wp-content/uploads/2011/08/house04-floorperspective.png" alt="" title="house04-floorperspective" width="448" height="352" class="size-full wp-image-389" /></a><p class="wp-caption-text">You&#039;re not looking directly down anymore.  We&#039;re clearly looking at the scene from an angle.</p></div>
<p>One could have treated the entire game as if it was located outdoors.  However, Zelda without dungeons wouldn&#8217;t have been Zelda.  Adding the top-down view for just the walls, is most importantly done for navigational purposes &#8211; you will enter and exit doors on all four edges of the screen.  This is not a problem when we&#8217;re roaming around outdoors, as the screen will pan entirely when we touch the edges of it.  Entrances can be limited to be located pointing south.</p>
<p><a href="http://trygvevea.com/wp-content/uploads/2011/08/house05-largetosmall-brighttodark.png"><img src="http://trygvevea.com/wp-content/uploads/2011/08/house05-largetosmall-brighttodark.png" alt="" title="house05-largetosmall-brighttodark" width="384" height="256" class="aligncenter size-full wp-image-392" /></a></p>
<p>To add to the illusion of depth, one technique that you&#8217;ll see all over the place on Zelda is this; The tallest part of an object is brighter than its foot.  It will also appear larger than its foot.  The change in light and size gives us the illusion of distance.  The bricks on the entrance next to the floor is only 1&#215;2 large, while the topmost brick is clearly 2&#215;4 large.  Making the door wider on the top than its bottom also adds to this illusion.  The same concept is applied to three other items attached to the wall.  Note; I did flip the door upside-down from what it appears in the room for comparing purposes.</p>
<p><a href="http://trygvevea.com/wp-content/uploads/2011/08/house06-corner.png"><img src="http://trygvevea.com/wp-content/uploads/2011/08/house06-corner.png" alt="" title="house06-corner" width="120" height="120" class="aligncenter size-full wp-image-398" /></a></p>
<p>The corner is doing the &#8220;large on top&#8221;-technique, too &#8211; just not entirely as visible as on the other objects.  The corner-line has a thicker shadow on top, than on the bottom.  It is also fairly dark at the bottom of the entire wall &#8211; as it&#8217;s got a two pixel thick line close to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2011/09/09/links-house-analyzed-part-2-%e2%80%93-perspective-of-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detailed network metrics with Munin (Linux)</title>
		<link>http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/</link>
		<comments>http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 07:09:23 +0000</pubDate>
		<dc:creator>Trygve Vea</dc:creator>
				<category><![CDATA[Munin]]></category>
		<category><![CDATA[Planet Redpill-Linpro]]></category>

		<guid isPermaLink="false">http://trygvevea.com/?p=425</guid>
		<description><![CDATA[Munin already does a great job on graphing &#8211; but I noticed that there weren&#8217;t any plugins dealing with the metrics in /proc/net/snmp and /proc/net/netstat. I didn&#8217;t know what all the metrics could mean, so I made some generic code &#8230; <a href="http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Munin already does a great job on graphing &#8211; but I noticed that there weren&#8217;t any plugins dealing with the metrics in /proc/net/snmp and /proc/net/netstat.  I didn&#8217;t know what all the metrics could mean, so I made some generic code that gathers all the data &#8211; and asked a couple of bright coworkers to pitch in with what they know.  It doesn&#8217;t have any thresholds set, as we haven&#8217;t considered using it for alerting yet.  Patches and feedback are welcome.</p>
<p>The plugin creates 22 (!) new graphs.  A detail level of this magnitude is for most people too verbose, but if you have a large rig that pushes a lot of traffic &#8211; frontend nodes perhaps &#8211; you may want to learn more about what goes on.</p>
<p>This is a Multigraph plugin, it requires Munin 1.4, and it&#8217;s easy to extend.  It does not suggest to be enabled by default, because it&#8217;s so verbose.</p>
<p>I just committed it to the project &#8211; and it&#8217;s available here; <a href="http://munin-monitoring.org/browser/trunk/plugins/node.d.linux/netstat_multi.in">Trunk</a></p>
<p>I expect that it&#8217;s included in Munin 2.0, but I don&#8217;t know for sure.</p>
<p>The samples below shows one frontend node pushing a lot of traffic &#8211; the huge spike is a soccer-match (Norway and Denmark).</p>

<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/icmp-day/' title='ICMP-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/ICMP-day-150x150.png" class="attachment-thumbnail" alt="ICMP-day" title="ICMP-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/ipext-day/' title='IPEXT-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/IPEXT-day-150x150.png" class="attachment-thumbnail" alt="IPEXT-day" title="IPEXT-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/ipreassembly-day/' title='IPReassembly-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/IPReassembly-day-150x150.png" class="attachment-thumbnail" alt="IPReassembly-day" title="IPReassembly-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/sockbuferr-day/' title='SOCKBUFERR-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/SOCKBUFERR-day-150x150.png" class="attachment-thumbnail" alt="SOCKBUFERR-day" title="SOCKBUFERR-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpaborted-day/' title='TCPAborted-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPAborted-day-150x150.png" class="attachment-thumbnail" alt="TCPAborted-day" title="TCPAborted-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpcurrconn-day/' title='TCPCurrConn-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPCurrConn-day-150x150.png" class="attachment-thumbnail" alt="TCPCurrConn-day" title="TCPCurrConn-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpdatalossevents-day/' title='TCPDatalossEvents-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPDatalossEvents-day-150x150.png" class="attachment-thumbnail" alt="TCPDatalossEvents-day" title="TCPDatalossEvents-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpdelayedack-day/' title='TCPDelayedACK-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPDelayedACK-day-150x150.png" class="attachment-thumbnail" alt="TCPDelayedACK-day" title="TCPDelayedACK-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpdsack-day/' title='TCPDSACK-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPDSACK-day-150x150.png" class="attachment-thumbnail" alt="TCPDSACK-day" title="TCPDSACK-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcphp-day/' title='TCPHP-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPHP-day-150x150.png" class="attachment-thumbnail" alt="TCPHP-day" title="TCPHP-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcppaws-day/' title='TCPPAWS-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPPAWS-day-150x150.png" class="attachment-thumbnail" alt="TCPPAWS-day" title="TCPPAWS-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpqueueing-day/' title='TCPQueueing-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPQueueing-day-150x150.png" class="attachment-thumbnail" alt="TCPQueueing-day" title="TCPQueueing-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpreno-day/' title='TCPReno-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPReno-day-150x150.png" class="attachment-thumbnail" alt="TCPReno-day" title="TCPReno-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpreorder-day/' title='TCPReorder-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPReorder-day-150x150.png" class="attachment-thumbnail" alt="TCPReorder-day" title="TCPReorder-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpretrans-day/' title='TCPRetrans-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPRetrans-day-150x150.png" class="attachment-thumbnail" alt="TCPRetrans-day" title="TCPRetrans-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpsackfack-day/' title='TCPSACKFACK-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPSACKFACK-day-150x150.png" class="attachment-thumbnail" alt="TCPSACKFACK-day" title="TCPSACKFACK-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpsegments-day/' title='TCPSegments-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPSegments-day-150x150.png" class="attachment-thumbnail" alt="TCPSegments-day" title="TCPSegments-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpsockets-day/' title='TCPSockets-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPSockets-day-150x150.png" class="attachment-thumbnail" alt="TCPSockets-day" title="TCPSockets-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcpsyncookies-day/' title='TCPSynCookies-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPSynCookies-day-150x150.png" class="attachment-thumbnail" alt="TCPSynCookies-day" title="TCPSynCookies-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcptimeouts-day/' title='TCPTimeouts-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPTimeouts-day-150x150.png" class="attachment-thumbnail" alt="TCPTimeouts-day" title="TCPTimeouts-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/tcptimewait-day/' title='TCPTimeWait-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/TCPTimeWait-day-150x150.png" class="attachment-thumbnail" alt="TCPTimeWait-day" title="TCPTimeWait-day" /></a>
<a href='http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/udpdatagrams-day/' title='UDPDatagrams-day'><img width="150" height="150" src="http://trygvevea.com/wp-content/uploads/2011/09/UDPDatagrams-day-150x150.png" class="attachment-thumbnail" alt="UDPDatagrams-day" title="UDPDatagrams-day" /></a>

]]></content:encoded>
			<wfw:commentRss>http://trygvevea.com/2011/09/08/detailed-network-metrics-with-munin-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

