<?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>pogma &#187; Uncategorized</title>
	<atom:link href="http://pogma.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://pogma.com</link>
	<description>Pogma&#039;s blog</description>
	<lastBuildDate>Sat, 05 Mar 2011 18:01:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>iBook G3, NetBSD and Linux</title>
		<link>http://pogma.com/2010/10/31/ibook-g3-netbsd-and-linux/</link>
		<comments>http://pogma.com/2010/10/31/ibook-g3-netbsd-and-linux/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 05:35:08 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=160</guid>
		<description><![CDATA[So, I have this old iBook, it has been doing nothing for a couple of years, so I decided to do something with it. not having any machine in the house with a BSD on it, I thought I would install NetBSD on it. The iBook is old. The CD drive doesn&#8217;t work, the airport [...]]]></description>
			<content:encoded><![CDATA[<p>So, I have this old iBook, it has been doing nothing for a couple of years, so I decided to do something with it. not having any machine in the house with a BSD on it, I thought I would install NetBSD on it.</p>
<p>The iBook is old. The CD drive doesn&#8217;t work, the airport card doesn&#8217;t work, but it does have a largish HD and 640MB RAM. Because of the broken CD drive, I figured that I&#8217;d net install whatever I was going to install on it. Yes, I know there are other options, I could have put an install image on a firewire disk, booted into target disk mode, and installed something that way, etc. I guess I really just wanted to try net installing something <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Reading the NetBSD docs that I could find made me think that I would need a TFTP server, NFS server, and to mess with my DHCP settings. So I installed TFTP on my Fedora 13 system, and went to my OpenWRT router and looked at changing the config for dnsmasq.</p>
<p>So I added to my /etc/config/dhcp:<br />
<code><br />
config boot linux<br />
        option filename         'ofwboot.xcf'<br />
        option serveraddress    '10.0.0.11'<br />
        option servername       'tw'<br />
</code><br />
(tw is the hostname of my Fedora system).</p>
<p>Getting the DHCP options was harder, the openwrt docs suggested &#8216;list dhcp_option
<list of options>&#8216;, but that didn&#8217;t work, nor did any of the other things I tried until, after reading the shell scripts in /etc/init.d, I added<br />
<code>option 'dhcp_option' '17,/export/client/root 42,10.0.0.4 66,tw 67,ofwboot.xcf 128,10.0.0.11'</code><br />
This seemed to work, with each space separated option being added to the dnsmasq command line (I was happy for /proc/[pid]/cmdline here &#8211; it made checking very easy).</p>
<p>Booted the iBook to openfirmware and tried to get it to boot the NetBSD installer kernel like this:<br />
<code>boot enet:0,\ofwboot.xcf</code></p>
<p>But that did not work, although the ofwboot.xcf boot loader loaded from TFTP, the netbsd kernel did not load from either TFTP or NFS. Eventually, after much messing about, I discovered that:<br />
<code>boot enet:0,\ofwboot.xcf enet:0,\/netbsd</code><br />
caused the ofwboot.xcf boot loader to load from TFTP and the netbsd kernel to load from NFS (server 10.0.0.11, path /export/client/root, as specified with DHCP).</p>
<p>WooHoo, so I ran the installer, said it should take the whole disk, etc. And installed everything.</p>
<p>It did not boot.</p>
<p>I was sad, and then went to read the INSTALL docs from the NetBSD macppc page. Indeed, it was quite clearly noted that with open firmware version 3.0 or later NetBSD would install an unbootable system if you just chose the installer defaults. The docs that I found on how to do it properly involved using your Mac OS system to partition the disk and so on prior to installing NetBSD. Of course, I had just overwritten the Mac OS system with a non bootable NetBSD. I was now mad. Mad enough to install Linux on what was supposed to be my BSD system.</p>
<p>I first went to install Fedora (because I am used to it), but discovered that Red Hat and powerpc are no longer friends, not that I can blame them for not supporting the architecture, but it meant I had to keep looking. The ubuntu netinstall kernel etc from <a href="http://ports.ubuntu.com/ubuntu-ports/dists/maverick/main/installer-powerpc/current/images/powerpc/netboot/">http://ports.ubuntu.com/ubuntu-ports/dists/maverick/main/installer-powerpc/current/images/powerpc/netboot/</a> did not boot (yaboot loaded, the kernel loaded, but did not run). So I tried debian. It booted (with the boot loader, kernel and other files all loading from TFTP, no need for an NFS server, or another argument for the boot loader. All that was required was<br />
<code>boot enet:0,yaboot</code></p>
<p>The installer did not ask me to set up the network (unlike the NetBSD installer), it got all the settings from DHCP. It seemed strange that both Open Firmware and the Debian installer was capable of getting my network settings from DHCP, but the NetBSD installer was not able to do so.</p>
<p>The Debian installer allowed me to partition my disk, and the resulting install booted. All in all it took me less than an hour to install a working debian system, where it had taken me significantly longer to install a non booting NetBSD. Still I did not give up. When installing debian I added a 2GB HFS+ partition, and left a large amount of free space. And I went to install NetBSD again.</p>
<p>This time, while carefully reading the INSTALL document, I was able to netboot the installer, mount an NFS directory with a pdisk binary, format the partitions I wanted, and eventually install NetBSD and have it boot.</p>
<p>Of course, X11 did not work. Why would it? &#8220;Working&#8221; and &#8220;NetBSD installation&#8221; don&#8217;t seem to be terms that go together. Yes, I was getting madder. However, rebooting the system into debian, installing kde, and running it, showed that X11 wasn&#8217;t all that happy on Linux either. Ok, so maybe that wasn&#8217;t NetBSD&#8217;s fault <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . A little google and a little guessing, led me to the following changes to my NetBSD 5.0.2 xorg.conf:</p>
<p>To the &#8220;Monitor&#8221; section, I added:<br />
<code><br />
        HorizSync     25-51<br />
        VertRefresh   43-60<br />
</code></p>
<p>To the &#8220;Device&#8221; section, I added:<br />
<code><br />
        Option      "UseFBDev" "False"<br />
</code></p>
<p>and to the &#8220;Screen&#8221; section, I removed everything but:<br />
<code><br />
Section "Screen"<br />
        Identifier "Screen0"<br />
        Device     "Card0"<br />
        Monitor    "Monitor0"<br />
        SubSection "Display"<br />
                Viewport   0 0<br />
                Depth     24<br />
                Modes   "1024x768"<br />
        EndSubSection<br />
EndSection<br />
</code></p>
<p>And viola, working NetBSD install with working X11. Finally, happy, I wondered what on earth I was going to use it for. I still don&#8217;t know, but I&#8217;m sure I will think of something. Like maybe letting it sit idle for another couple of years.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2010/10/31/ibook-g3-netbsd-and-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moved to prgmr.com</title>
		<link>http://pogma.com/2009/12/14/moved-to-prgmr-com/</link>
		<comments>http://pogma.com/2009/12/14/moved-to-prgmr-com/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:07:33 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=148</guid>
		<description><![CDATA[For nearly 9 years this site has been hosted at pair.com, and I have had no problems there. Any time I have contacted pair support, I have had excellent response, they host everything on FreeBSD, and have, in the past, made monetary contributions to the FreeBSD project. They seem to be very professional, and uptime [...]]]></description>
			<content:encoded><![CDATA[<p>For nearly 9 years this site has been hosted at <a href="http://pair.com">pair.com</a>, and I have had no problems there. Any time I have contacted pair support, I have had excellent response, they host everything on <a href="http://freebsd.org">FreeBSD</a>, and have, in the past, made monetary contributions to the FreeBSD project. They seem to be very professional, and uptime has been fantastic.</p>
<p>I have become more and more unhappy with their pricing though. I have been using pairs <a href="http://www.pair.com/services/web_hosting/">Advanced</a> account, which provides 1.5GB of disk space and 80GB/month bandwidth, and paying $20/month for it. A few years ago pair introduced a <a href="http://www.pairlite.com/hosting/">pairlite</a> service which would have suited my needs better, but I had already been a customer for years, and moving was harder than doing nothing, so I did nothing <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p> I kept an eye on webhost pricing though, and finally my stinginess exceeded my laziness, and I decided to move. I looked at <a href="http://dreamhost.com">dreamhost</a>, tried a trial, liked it, but wanted more control, so I began to look for a VPS. Eventually I stumbled on  <a href="http://prgmr.com">Prgmr.com</a>. I don&#8217;t care if uptime is a little lower than it has been, it&#8217;s only a blog, a collection of random crap, and email. Prgmr is cheap, dirt cheap. For my same $20, I get a VPS with 22GB of disk space, 1024MB of memory, and 160GB/month bandwidth. Of course, it is no longer managed hosting, it is entirely DIY hosting. And that&#8217;s just fine <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Not everything is moved to prgmr yet, web site is moved, so is DNS, email not yet. Will move that in a few days, and then finally cancel my account with pair.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2009/12/14/moved-to-prgmr-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alignment</title>
		<link>http://pogma.com/2009/04/05/alignment/</link>
		<comments>http://pogma.com/2009/04/05/alignment/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 04:20:17 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=95</guid>
		<description><![CDATA[Due to some recent bus errors, I have been thinking a bit about alignment lately. When the compiler lays out a struct it will generally ensure that the members of the struct are aligned on the required boundaries for the target architecture. For example, given: struct foo { int32_t a; int16_t b; }; A compiler [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Due to some recent bus errors, I have been thinking a bit about alignment lately.</p>
<p style="text-align: justify;">When the compiler lays out a struct it will generally ensure that the members of the struct are aligned on the required boundaries for the target architecture. For example, given:</p>
<p><code>struct foo {<br />
int32_t a;<br />
int16_t b;<br />
};</code><br />
A compiler may lay it out something like this:</p>
<table style="text-align: center; color: black; border: thin solid #000000;" border="0" cellspacing="0" cellpadding="0" width="200" align="center">
<tbody>
<tr>
<td style="background:green; border: thin solid #000000;" width="120">0x??????04</td>
<td style="background:orange; text-align: center;border: thin solid #000000;" rowspan="4">a</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????05</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????06</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????07</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????08</td>
<td style="background:red; text-align: center;border: thin solid #000000;" rowspan="2">b</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????09</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0A</td>
<td style="background: yellow; text-align: center;border: thin solid #000000;" rowspan="2">pad</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0B</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">The entire struct will likely be placed at an address aligned on a 4 byte boundary because the largest struct member is 4 bytes long, and the int16 type will be followed by a 2 byte pad. Why? So that an array of structs will have the &#8216;a&#8217; member for all array elements aligned on a 4 byte boundary. All is good, right?</p>
<p style="text-align: justify;">If we add a char to the struct:</p>
<p><code>struct foo {<br />
int32_t a;<br />
char c;<br />
int16_t b;<br />
};</code></p>
<table style="text-align: center; color: black; border: thin solid #000000;" border="0" cellspacing="0" cellpadding="0" width="200" align="center">
<tbody>
<tr>
<td style="background:green; border: thin solid #000000;" width="120">0x??????04</td>
<td style="background:orange; text-align: center;border: thin solid #000000;" rowspan="4">a</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????05</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????06</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????07</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????08</td>
<td style="background: pink; text-align: center;border: thin solid #000000;">c</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????09</td>
<td style="background: yellow; text-align: center;border: thin solid #000000;">pad</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0A</td>
<td style="background:red; text-align: center;border: thin solid #000000;" rowspan="2">b</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0B</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">Changing our char type to a 64 bit type may result in something like this:</p>
<p><code>struct foo {<br />
int32_t a;<br />
int64_t c;<br />
int16_t b;<br />
};</code></p>
<table style="text-align: center; color: black; border: thin solid #000000;" border="0" cellspacing="0" cellpadding="0" width="200" align="center">
<tbody>
<tr>
<td style="background:green; border: thin solid #000000;" width="120">0x??????00</td>
<td style="background:orange; text-align: center;border: thin solid #000000;" rowspan="4">a</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????01</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????02</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????03</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????04</td>
<td style="background: yellow; text-align: center;border: thin solid #000000;" rowspan="4">pad</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????05</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????06</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????07</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????08</td>
<td style="background: pink; text-align: center;border: thin solid #000000;" rowspan="8">c</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????09</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0A</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0B</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0C</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0D</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0E</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0F</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????10</td>
<td style="background:red; text-align: center;border: thin solid #000000;" rowspan="2">b</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????11</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????12</td>
<td style="background: yellow; text-align: center;border: thin solid #000000;" rowspan="6">pad</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????13</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????14</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????15</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????16</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????17</td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">In this case (for this imaginary compiler) the entire struct is aligned on an 8 byte boundary, with the 8 byte member also aligned on an 8 byte boundary. So we can still create an array of struct foo, and things will be properly aligned. Of course, even though the individual members of the structure are 4, 8 and 2 bytes long, the entire structure with padding is 24 bytes long, so 10 bytes are &#8220;wasted&#8221;, it is best to design structs with this in mind, so that my imaginary compiler does not waste space. In the above case, changing the order of the elements is helpful:</p>
<p><code>struct foo {<br />
int32_t a;<br />
int16_t b;<br />
int64_t c;<br />
};</code></p>
<table style="text-align: center; color: black; border: thin solid #000000;" border="0" cellspacing="0" cellpadding="0" width="200" align="center">
<tbody>
<tr>
<td style="background:green; border: thin solid #000000;" width="120">0x??????00</td>
<td style="background:orange; text-align: center;border: thin solid #000000;" rowspan="4">a</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????01</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????02</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????03</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????04</td>
<td style="background:red; text-align: center;border: thin solid #000000;" rowspan="2">b</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????05</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????06</td>
<td style="background: yellow; text-align: center;border: thin solid #000000;" rowspan="2">pad</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????07</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????08</td>
<td style="background: pink; text-align: center;border: thin solid #000000;" rowspan="8">c</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????09</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0A</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0B</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0C</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0D</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0E</td>
</tr>
<tr height="13">
<td style="background:green;border: thin solid #000000;">0x??????0F</td>
</tr>
</tbody>
</table>
<p>Now, on some systems a program will run faster if types are aligned &#8220;properly&#8221;, on others a bus error will occur for misaligned access. Misaligned access will often occur in cases like this:<code><br />
char array[1024];<br />
...<br />
struct foo * bar = (struct foo *)array;<br />
bar-&gt;c = 1;<br />
</code></p>
<p style="text-align: justify;">In the above case, although the array certainly is large enough to hold a foo structure, there is no guarantee that a char will be aligned on an 8 byte boundary, it is a 1 byte type, so there is no need for the compiler to align it. Because of this bar-&gt;c = 1; could cause a bus error. Other  bus errors can occur casting structs of the same size, but with different alignment requirements, etc.</p>
<p style="text-align: justify;">At least firefox works for us on HP-UX now <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Shantonu noted that for gcc, using -Wcast-align will at least warn about this issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2009/04/05/alignment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Have a magical day!</title>
		<link>http://pogma.com/2008/05/13/have-a-magical-day/</link>
		<comments>http://pogma.com/2008/05/13/have-a-magical-day/#comments</comments>
		<pubDate>Wed, 14 May 2008 02:37:54 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/2008/05/13/have-a-magical-day/</guid>
		<description><![CDATA[Well, at the end of a week in Disney we got tired of hearing &#8220;Have a magical day&#8221;, had very sore feet and legs, and were sunburned. We did have fun though, despite the heat and all the happy helpful people that we encountered. When we lived in Japan we went to Tokyo Disney once, [...]]]></description>
			<content:encoded><![CDATA[<p>Well, at the end of a week in Disney we got tired of hearing &#8220;Have a magical day&#8221;, had very sore feet and legs, and were sunburned. We did have fun though, despite the heat and all the happy helpful people that we encountered.</p>
<p>When we lived in Japan we went to Tokyo Disney once, and to Universal Studios Japan several times. At Tokyo Disney, even though we went in the off-season on a school day, the wait times for most rides were over 60 minutes. At Universal  Studios Japan (unless you purchase their  &#8220;Express Pass Booklet&#8221;  which allows you to go into a faster queue) we have seen wait times of 180 minutes for popular rides.  We also went to Disney Paris a couple of times in January, snow and freezing rain tend to keep the visitor numbers down, so we did not have to wait at all for most rides. My expectations for Florida&#8217;s Disney world were wait times similar to  Japan. I was very pleasantly surprised.  The longest wait times we saw were 60 minutes, and for those rides that did have longer wait times, we got the &#8220;Fast Pass&#8221; and went back to them. <img src="http://pogma.com/gallery/d/1015-2/DSC00339.JPG" alt="Jessica at a slide in " align="right" border="0" height="240" hspace="3" vspace="3" width="320" /></p>
<p>The flights were fine and we were able to get to the &#8220;All Star Music Resort&#8221; on the Disney coach fairly easily. Little did we realize that escape from Disney would be impossible for the next 7 days. This had us paying $14 for a six-pack of beer, and $2 for a bottle of water for the week. The $10 a day extra for a fridge in the room and $9.95 a day for internet access also made me feel that we were being gouged.</p>
<p>The food was better than I had expected. I had thought that we would be eating burgers and fries for a week, but there were delicious alternatives &#8211; the kids meals all came with a choice of 2 sides, Jessica usually chose carrot sticks to go along with her fries, and there were delicious salads available too.</p>
<p>Jessica loved the rides, especially the scarier, faster ones. Space Mountain 5 times, Thunder Mountain 4 times, Splash Mountain 3 times, Everest adventure 3 times, Tower of Terror 4 times, Fast Track twice and Mission: Space. Unfortunately she did not quite make the 48 inch height requirement for some of the water slides at Typhoon Lagoon.</p>
<p>I am glad to be back at work &#8211; now I do not have to walk miles every day in 90+ F temperatures <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Hopefully we can avoid theme parks for a couple of years.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2008/05/13/have-a-magical-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No News is really No News</title>
		<link>http://pogma.com/2005/11/09/no-news-is-really-no-news/</link>
		<comments>http://pogma.com/2005/11/09/no-news-is-really-no-news/#comments</comments>
		<pubDate>Thu, 10 Nov 2005 04:00:00 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=6</guid>
		<description><![CDATA[My niece asked for an update. This is an update. Really though, some things have happened, I got work building pacakges for The Written Word on a part time basis. It&#8217;s fairly interesting. My daughter is growing up, see some pictures at pic.pogma.com(slow!) Oh, yeah, almost 2 years without smoking, not too bad. Now if [...]]]></description>
			<content:encoded><![CDATA[<p>My niece asked for an update. This is an update.</p>
<p>Really though, some things have happened, I got work building pacakges<br />
for <a href="http://www.thewrittenword.com">The Written Word</a> on a part<br />
time basis. It&#8217;s fairly interesting.</p>
<p>My daughter is growing up, see some pictures at <a href="http://pic.pogma.com">pic.pogma.com</a>(slow!)</p>
<p>Oh, yeah, almost 2 years without smoking, not too bad. Now if only I<br />
could stop gaining weight. <img src='http://pogma.com/wordpress/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Well, that&#8217;s it for another year!</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2005/11/09/no-news-is-really-no-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1 Month without a smoke</title>
		<link>http://pogma.com/2004/01/21/1-month-without-a-smoke/</link>
		<comments>http://pogma.com/2004/01/21/1-month-without-a-smoke/#comments</comments>
		<pubDate>Thu, 22 Jan 2004 04:00:00 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=12</guid>
		<description><![CDATA[Wow! I surprised myself. I didn&#8217;t really believe that I could give up smoking for more than a day or two, having been a smoker most of my life. I smoked for 22 years, which I figure means I had about 200,000 cigarettes, spent nearly U.S. $20,000 and shortened my life. We&#8217;ll see if I [...]]]></description>
			<content:encoded><![CDATA[<p>
Wow! I surprised myself. I didn&#8217;t really believe that I could give up smoking for more than a day or two,<br />
having been a smoker most of my life. I smoked for 22 years, which I figure means I had about 200,000 cigarettes,<br />
spent nearly U.S. $20,000 and shortened my life.
</p>
<p>
We&#8217;ll see if I can continue, I still spend a large amount of time thinking about smoking, but am able to concentrate<br />
for more than 5 minutes at a time again (I couldn&#8217;t for a while, just kept thinking about how much I wanted to smoke).</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2004/01/21/1-month-without-a-smoke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sometimes it is better just to leak</title>
		<link>http://pogma.com/2003/09/22/sometimes-it-is-better-just-to-leak/</link>
		<comments>http://pogma.com/2003/09/22/sometimes-it-is-better-just-to-leak/#comments</comments>
		<pubDate>Mon, 22 Sep 2003 16:44:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=18</guid>
		<description><![CDATA[So I was always annoyed by the way dlcompat used to just leak. Then one day a couple of months ago, I said to myself &#8220;Hey, just add a call to atexit(3) and put in some cleanup code&#8221;. I figured that it would be safe to deallocate everything then, after all we are in exit(), [...]]]></description>
			<content:encoded><![CDATA[<p>So I was always annoyed by the way <a href="http://www.opendarwin.org/projects/dlcompat">dlcompat</a><br />
used to just leak. Then one day a couple of months ago, I said to myself &#8220;Hey, just add a call to atexit(3) and put in some cleanup code&#8221;.<br />
I figured that it would be safe to deallocate everything then, after all we are in exit(), nothing could possibly call dlopen/dlclose/dlerror/dlsym from there right?</p>
<p style="font-size: 18px; font-weight: bold; text-align: center; color: red"> WRONG!</p>
<p> I discovered today that it is indeed possible to call dl functions after exit() has been called.<br />
C++ static destructors can be called after I do my cleaning in dlcompat_cleanup. So, exit calls dlcompat_cleanup which deallocates all it&#8217;s malloc&#8217;d blocks and the pthread locks etc. exit then proceeds to call<br />
the c++ static destructors which call dlclose, at which point dlcompat barfs all kinds of ugly stuff before it dies rather vocally.</p>
<p>So now I guss I have to go patch dlcompat to leak again. Sometimes it is better to leak<br />
than have something squat on your head and do a big poop.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2003/09/22/sometimes-it-is-better-just-to-leak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got a working Jaguar again</title>
		<link>http://pogma.com/2003/09/21/got-a-working-jaguar-again/</link>
		<comments>http://pogma.com/2003/09/21/got-a-working-jaguar-again/#comments</comments>
		<pubDate>Sun, 21 Sep 2003 15:18:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=19</guid>
		<description><![CDATA[Well it has taken a little while, but I finally have a working Mac OS X 10.2 install again. Time to get fink up to date and update my packages this week, then with a bit of luck I will be able to help out drm and jfm with the gcc-3.3 fink updates.]]></description>
			<content:encoded><![CDATA[<p>Well it has taken a little while, but I finally have a working Mac OS X 10.2 install again.<br />
Time to get fink up to date and update my packages this week, then with a bit of luck<br />
I will be able to help out drm and jfm with the gcc-3.3 fink updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2003/09/21/got-a-working-jaguar-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Libtool Co-Maintainer</title>
		<link>http://pogma.com/2003/09/13/libtool-co-maintainer/</link>
		<comments>http://pogma.com/2003/09/13/libtool-co-maintainer/#comments</comments>
		<pubDate>Sat, 13 Sep 2003 16:10:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=20</guid>
		<description><![CDATA[I am now a libtool co-maintainer. That is pretty cool. I get a commit if approved by another maintainer or if 72 hours pass without comment on my patches. Beats the hell out of waiting for what certainly feels like forever for someone to commit my patches. On the downside, of course, is that I [...]]]></description>
			<content:encoded><![CDATA[<p>I am now a <a href="http://www.gnu.org/software/libtool">libtool</a> co-maintainer.<br />
That is pretty cool. I get a commit if approved by another maintainer or if 72 hours pass<br />
without comment on my patches. Beats the hell out of waiting for what certainly feels like forever for someone to commit my patches.</p>
<p>On the downside, of course, is that I am now one of the people that patch submitters<br />
are going to be mad at for not committing their patches as soon as they post them to the mailing list.<br />
I used to think that it was a relatively easy process, but it is a little harder than<br />
I originally thought.</p>
<p>Got to make sure the patch does what it says, try your best to ensure it breaks nothing,<br />
and, of course, test the thing on as many systems as possible.</p>
<p>No wonder it took forever for my patches to be applied.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2003/09/13/libtool-co-maintainer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dead hard drive</title>
		<link>http://pogma.com/2003/09/04/dead-hard-drive/</link>
		<comments>http://pogma.com/2003/09/04/dead-hard-drive/#comments</comments>
		<pubDate>Thu, 04 Sep 2003 15:15:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pogma.com/?p=21</guid>
		<description><![CDATA[Looks like my powerbook&#8217;s internal drive has died. I&#8217;ll be spending the next few days either taking the machine apart and putting in a replacement drive, or throwing the thing against the wall and getting a new one. I hope I have fairly recent backups of the important stuff, although I&#8217;ve a horrible feeling I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like my powerbook&#8217;s internal drive has died. I&#8217;ll be spending the next<br />
few days either taking the machine apart and putting in a replacement drive, or<br />
throwing the thing against the wall and getting a new one.</p>
<p>I hope I have fairly recent backups of the important stuff, although I&#8217;ve a<br />
horrible feeling I&#8217;m missing my gpg key.</p>
]]></content:encoded>
			<wfw:commentRss>http://pogma.com/2003/09/04/dead-hard-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

