<?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>Powered by Anime &#187; Systems</title>
	<atom:link href="http://www.poweredbyanime.com/index.php/cat/systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.poweredbyanime.com</link>
	<description>Things I've discovered while doing what I do</description>
	<lastBuildDate>Thu, 20 Nov 2008 01:42:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Forcing package reinstall using yum</title>
		<link>http://www.poweredbyanime.com/index.php/2008/08/01/forcing-package-reinstall-using-yum/</link>
		<comments>http://www.poweredbyanime.com/index.php/2008/08/01/forcing-package-reinstall-using-yum/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 01:37:58 +0000</pubDate>
		<dc:creator>Martin Williams</dc:creator>
				<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://www.poweredbyanime.com/?p=34</guid>
		<description><![CDATA[Due to some unfortunate circumstances, I&#8217;ve recently had to reinstall a few packages onto a RHEL 5 server.  Specifically, some of the files provided by those packages had been accidentally deleted, and they weren&#8217;t included in any recent backup&#8230;
There is no option to tell yum to force the install of a package &#8211; if [...]]]></description>
			<content:encoded><![CDATA[<p>Due to some unfortunate circumstances, I&#8217;ve recently had to reinstall a few packages onto a RHEL 5 server.  Specifically, some of the files provided by those packages had been accidentally deleted, and they weren&#8217;t included in any recent backup&#8230;</p>
<p>There is no option to tell yum to force the install of a package &#8211; if it appears in the rpm database, yum won&#8217;t install it.  I was able to get around this by first removing the package from the db, using:</p>
<pre>rpm -e --justdb --nodeps PACKAGE</pre>
<p>Now that the package no longer appeared in the database, a simple:</p>
<pre>yum install PACKAGE</pre>
<p>Was enough to patch things up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poweredbyanime.com/index.php/2008/08/01/forcing-package-reinstall-using-yum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Virtual Machine from an old system</title>
		<link>http://www.poweredbyanime.com/index.php/2008/04/05/creating-a-virtual-machine-from-an-old-system/</link>
		<comments>http://www.poweredbyanime.com/index.php/2008/04/05/creating-a-virtual-machine-from-an-old-system/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 01:13:46 +0000</pubDate>
		<dc:creator>Martin Williams</dc:creator>
				<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://www.poweredbyanime.com/index.php/archives/14</guid>
		<description><![CDATA[My mother recently bought a Mac to replace her aging Dell.  She still needed to be able to use all her old applications though, and many of them were only available for Windows.
Virtual machines to the rescue! (almost)
VMWare has had a Mac version of their workstation product available for a while now, and I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>My mother recently bought a Mac to replace her aging Dell.  She still needed to be able to use all her old applications though, and many of them were only available for Windows.</p>
<p>Virtual machines to the rescue! (almost)</p>
<p>VMWare has had a <a href="http://www.VMware.com/mac">Mac version</a> of their workstation product available for a while now, and I&#8217;ve been using it on my Macbook with no issues, so I decided to try and get her old machine stuffed into a vm.  Some searching turned up <a href="http://www.robertpeaslee.com/index.php/converting-a-physical-disk-to-a-virtual-disk-for-free/trackback/">this article</a>, which explained how take the contents of the old computer&#8217;s hard drive and create a .vmdk file for use with VMWare.  I booted with <a href="http://www.knoppix.org">Knoppix</a>, and ran:</p>
<pre>qemu-img convert -f raw /dev/hda -O vmdk boot.vmdk</pre>
<p>which produced a file that VMWare was able to boot from &#8211; so far so good.  Unfortunately, Windows didn&#8217;t really like being transplanted like that, and refused to let anyone log-in until it had been activated again.  After a call to Microsoft, I was told that OEM installs of Windows &#8220;die with the computer they were shipped with&#8221;, and that we would need to buy a new license for the new computer, which is what my mother decided to do.</p>
<p>I will be trying this again with Linux in the near future, as I&#8217;ve got a few old machines acting as servers that could be consolidated into one box with virtualization, and they shouldn&#8217;t complain about anything but hardware changes (I hope&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poweredbyanime.com/index.php/2008/04/05/creating-a-virtual-machine-from-an-old-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu, apache2 and mod_auth_mysql</title>
		<link>http://www.poweredbyanime.com/index.php/2007/12/24/ubuntu-apache2-and-mod_auth_mysql/</link>
		<comments>http://www.poweredbyanime.com/index.php/2007/12/24/ubuntu-apache2-and-mod_auth_mysql/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 19:58:35 +0000</pubDate>
		<dc:creator>Martin Williams</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://www.poweredbyanime.com/index.php/archives/12</guid>
		<description><![CDATA[I&#8217;ve been moving a site I built for a client quite a while ago over to a new server.  The old server had been using versions of apache 1.3.x and mod_auth_mysql compiled from source, while the new server is running apache 2.x installed from Ubuntu&#8217;s packages.  Most of the migration has gone pretty [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been moving a site I built for a client quite a while ago over to a new server.  The old server had been using versions of apache 1.3.x and mod_auth_mysql compiled from source, while the new server is running apache 2.x installed from Ubuntu&#8217;s packages.  Most of the migration has gone pretty smoothly thus far, considering how different the versions of software are on the new server.</p>
<p>One difference that had me stuck for a while was getting mod_auth_mysql to authenticate users against the database on the new server.  I was able to install it as a package instead of compiling from source, and the new version seemed to use the same configuration directives as the old one, but I was getting 500 errors whenever I accessed a password protected page.  The web server log was reporting</p>
<pre>
Internal error: pcfg_openfile() called with NULL filename
[client 10.1.1.99] (9)Bad file descriptor: Could not open password file: (null)</pre>
<p>Additionally, the database server wasn&#8217;t logging any connections from the web server.  I finally came across <a href="http://ubuntuforums.org/showthread.php?t=572735" target="_blank">this thread</a> which explains the issue.  Apparently, apache2 wants to use the htpasswd file facilities to authenticate users, unless you explicitly tell it not to.  Adding</p>
<pre>AuthBasicAuthoritative Off</pre>
<p>to the .htaccess files allows mod_auth_mysql to perform authentications.  That was a step in the right direction, however apache was still recording errors whenever a password protected page was requested.  This seems to be another side effect of apache2 wanting to use htpasswd files.  If you add</p>
<pre>AuthUserFile /dev/null</pre>
<p>to the .htaccess file as well, it stops complaining.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poweredbyanime.com/index.php/2007/12/24/ubuntu-apache2-and-mod_auth_mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stack pointers are busy little things</title>
		<link>http://www.poweredbyanime.com/index.php/2007/11/07/stack-pointers-are-busy-little-things/</link>
		<comments>http://www.poweredbyanime.com/index.php/2007/11/07/stack-pointers-are-busy-little-things/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 02:58:29 +0000</pubDate>
		<dc:creator>Martin Williams</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://www.poweredbyanime.com/index.php/archives/4</guid>
		<description><![CDATA[I&#8217;m currently working with Angela Demke-Brown and Karen Reid on an extension to the sys161 operating system simulator to allow visualization of the current memory usage in the simulated system.   The intent is to help students in a 3rd year operating systems course with their understanding of virtual memory.   The visualizer now displays [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently working with <a href="http://www.cs.toronto.edu/~demke/">Angela Demke-Brown</a> and <a href="http://www.cs.toronto.edu/~reid/">Karen Reid</a> on an extension to the <a href="http://www.cdf.utoronto.ca/~csc369h/fall/handouts/System-161.html">sys161</a> operating system simulator to allow visualization of the current memory usage in the simulated system.   The intent is to help students in a <a href="http://www.cdf.utoronto.ca/~csc369h/fall/">3rd year operating systems course</a> with their understanding of virtual memory.   The visualizer now displays the used and unused pages, colour-coded according to the type of allocation.   The next step is to somehow visualize the contents of pages used for kernel stacks.</p>
<p>The current idea is to get the simulator to report whenever the stack pointer register changes value, and infer what happened from that.   Given that there is only one processor, the updated stack must be the one for the currently running thread (or an exception handler, but I&#8217;ll get to that later).  I know which thread this is because a modification to the os161 kernel starter code causes the simulator to report whenever there is a context switch.   Given this, and a dump of the symbol table for the running kernel, it should be possible to get the information I need.</p>
<p>So, I coded up a simple test that just sent a message from the simulator with the new value of the stack pointer every time it changed.   I figured it would be updated often, but I had no idea how often &#8211; the resulting system sends so many messages to the visualizer program that it can&#8217;t keep up.   I&#8217;ve determined that most of these messages aren&#8217;t really interesting, being the result of the timer interrupt.   I&#8217;m hoping that I can find a way to exclude these, and that the remaining messages will be more manageable.  If not, I&#8217;ll have to work out a way to turn this feature off when it isn&#8217;t needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.poweredbyanime.com/index.php/2007/11/07/stack-pointers-are-busy-little-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
