<?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"
	>

<channel>
	<title>Donnie's Blog</title>
	<atom:link href="http://www.donniepinkston.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.donniepinkston.net</link>
	<description>(there are many more like it, but this one is mine)</description>
	<pubDate>Fri, 20 Jun 2008 17:04:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>NanoDB</title>
		<link>http://www.donniepinkston.net/2008-06-19/nanodb.html</link>
		<comments>http://www.donniepinkston.net/2008-06-19/nanodb.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 03:10:09 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Databases]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/?p=189</guid>
		<description><![CDATA[The summer break is finally here, and I for one am very excited about this summer.  This year I have a SURF student helping me out with the implementation of my &#8220;educational database system&#8221; in Java.  The working name is currently NanoDB, although I am certainly open to other suggestions.

The database is going [...]]]></description>
			<content:encoded><![CDATA[<p>The summer break is finally here, and I for one am very excited about this summer.  This year I have a SURF student helping me out with the implementation of my &#8220;educational database system&#8221; in Java.  The working name is currently NanoDB, although I am certainly open to other suggestions.</p>
<p><span id="more-189"></span></p>
<p>The database is going to be pretty simple, but even simple databases are pretty complex pieces of software.  NanoDB will initially support only a handful of data types, and it will lack most of the sophisticated schema-management features that modern databases typically offer.  Also, when we have an option to make something simple vs. making it fast, we&#8217;ll probably choose to make it simple, since that&#8217;s what will help students understand what&#8217;s going on.</p>
<p>Today I finished up the core file-storage functionality, which should allow us to start storing tuples in data files, traversing them (i.e. simple <code>SELECT</code> statements), and even deleting tuples!  I am using a <em>very</em> simple version of the slotted-page file format, partly to keep it simple for students, and partly because I don&#8217;t want my implementation to be too good!</p>
<p>One of the things that students always seem to enjoy is a competition.  So, at the end of the term I want to run a &#8220;Database Olympics,&#8221; where students can run their databases against a large set of queries and other operations.  The fastest databases will win&#8230; something?  (Probably not better chances with the ladies&#8230;)  Because of this, the base implementation I give them should not be the fastest possible implementation.</p>
<p>When implementing a database storage format, it is easy to think only about <code>SELECT</code> performance, without thinking about the performance and cost of <code>INSERT</code> or <code>DELETE</code> operations.  To improve <code>INSERT</code> operations, database files frequently store a linked-list of &#8220;non-full pages,&#8221; so that a page with enough free space can be found with only a few disk accesses.  Correspondingly, when <code>DELETE</code> operations are performed, this list of non-full pages needs to be updated properly so that the DB can easily find the space that just opened up.</p>
<p>My implementation doesn&#8217;t do any of that.  So, it will be slow for lots of <code>INSERT</code> operations, or a mix of <code>INSERT</code> and <code>DELETE</code> operations.  Not to mention that it will probably waste quite a bit of space on the disk as well.</p>
<p>But, it will be a good opportunity for students who want to dig into file-storage optimizations.  And a few relatively simple adjustments should produce a database with much faster <code>INSERT</code> and <code>DELETE</code> performance, not to mention a smaller data-file footprint.</p>
<p>I can&#8217;t believe there are people who think this stuff is boring!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-06-19/nanodb.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Back Up II</title>
		<link>http://www.donniepinkston.net/2008-06-18/back-up-ii.html</link>
		<comments>http://www.donniepinkston.net/2008-06-18/back-up-ii.html#comments</comments>
		<pubDate>Thu, 19 Jun 2008 01:16:02 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/?p=188</guid>
		<description><![CDATA[A few days ago my WordPress installation was hacked.  This is not a big surprise, since I haven&#8217;t been keeping up with the releases as they came out, and there have been a lot of security bugfixes along the way.
The hack was also very subtle, or it didn&#8217;t really accomplish a whole lot.  [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago my WordPress installation was hacked.  This is not a big surprise, since I haven&#8217;t been keeping up with the releases as they came out, and there have been a lot of security bugfixes along the way.</p>
<p>The hack was also very subtle, or it didn&#8217;t really accomplish a whole lot.  I am not entirely sure what to make of it.  But the exploit basically involved using the WordPress upload functionality to drop a PHP script into my <code>/tmp</code> directory, and also to ensure that it would always be run when a WordPress page was rendered.</p>
<p>Fortunately, when this happened, it broke certain parts of my website, so it became obvious pretty quickly.  Also, fortunately, I keep a week&#8217;s worth of backups around, so if I catch a problem right away then I can roll back my installation to the day before the problem.</p>
<p>So that&#8217;s what I did this time; I rolled back my website software to before the hack, then I applied the latest and greatest upgrades, and finally I went through some of the &#8220;site-hardening&#8221; guides for making it much harder to hack these pieces of software.</p>
<p>We shall see if it actually solves the problems!  And I for one will be much more diligent about applying upgrades when they come out&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-06-18/back-up-ii.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Back Up</title>
		<link>http://www.donniepinkston.net/2008-06-03/back-up.html</link>
		<comments>http://www.donniepinkston.net/2008-06-03/back-up.html#comments</comments>
		<pubDate>Tue, 03 Jun 2008 19:09:14 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Computers]]></category>

		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-06-03/back-up.html</guid>
		<description><![CDATA[Finally I have an Uninterruptible Power Supply on my server!  &#8220;Uninterruptible&#8221; is decidedly over the top, but at least I&#8217;ll get clean shutdowns now if the power carks it on me.
I went ahead and got one of the APC battery-backup systems, a Back-UPS ES 750VA model.  (This model is discontinued now; APC has [...]]]></description>
			<content:encoded><![CDATA[<p>Finally I have an Uninterruptible Power Supply on my server!  &#8220;Uninterruptible&#8221; is decidedly over the top, but at least I&#8217;ll get clean shutdowns now if the power carks it on me.</p>
<p>I went ahead and got one of the APC battery-backup systems, a Back-UPS ES 750VA model.  (This model is discontinued now; APC has a new, more streamlined version with the same general features.)  The UPS has a port that allows you to connect it to a USB port, so that the power supply can tell the computer that things are about to get ugly.  I still need to set up the power-monitoring software on my Linux box, but after that, I should be all set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-06-03/back-up.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Back to the Grind&#8230;</title>
		<link>http://www.donniepinkston.net/2008-06-02/back-to-the-grind.html</link>
		<comments>http://www.donniepinkston.net/2008-06-02/back-to-the-grind.html#comments</comments>
		<pubDate>Tue, 03 Jun 2008 00:22:13 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Telescopes]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-06-02/back-to-the-grind.html</guid>
		<description><![CDATA[At long last, I am finally getting back to building my 13.1&#8243; telescope!
The last time I did anything with that beast, I think I had just finished the 320-grit grinding.  The surface looked great; reflections from the wet mirror were really beginning to look sharp.  But, there was one little problem:  the [...]]]></description>
			<content:encoded><![CDATA[<p>At long last, I am <em>finally</em> getting back to building my 13.1&#8243; telescope!</p>
<p>The last time I did anything with that beast, I think I had just finished the 320-grit grinding.  The surface looked great; reflections from the wet mirror were really beginning to look sharp.  But, there was one little problem:  the mirror&#8217;s focal length was awfully long.  I was looking at a telescope that would probably be 6-7 feet tall, and for a 13.1&#8243; mirror that is a little silly.  I didn&#8217;t want to have to stand on a stool just to look through my little telescope.  For an 18&#8243; aperture, that might be completely reasonable, but for a 13&#8243; it&#8217;s just silly.  Going back over my mirror-grinding e-mails, I think my technique was causing the problem.  Regardless, at the time I was pretty frustrated with the thing so I wrapped it up and put it in a box for a future time.</p>
<p>Nearly five years passed&#8230; and in the meantime I decided that what I <em>really</em> needed to do was to just go back to the beginning and deepen the curve of my mirror, then go through the intermediate stages again with a little more care.  It took a while for me to warm up to the idea though.  Mirror-grinding is hard and painful work.  I think I needed to forget how bad it was before I went back to try again!  <img src='http://www.donniepinkston.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So, I finally got around to ordering more mirror-grinding grit from <a href="http://www.newportglass.com">Newport Glass Works</a>, a pretty cool company that I definitely want to use again once I get this telescope done and begin working on the <em>next</em> one.  I ordered a grit-kit that contains all of the different grit-sizes, along with cerium oxide and pitch.  The grit-kit showed up today (my last day of lectures, quite convenient), so I should be able to get back into the mirror-grinding pretty quickly.  This should be a lot of fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-06-02/back-to-the-grind.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Monty Hall Problem</title>
		<link>http://www.donniepinkston.net/2008-04-11/the-monty-hall-problem.html</link>
		<comments>http://www.donniepinkston.net/2008-04-11/the-monty-hall-problem.html#comments</comments>
		<pubDate>Fri, 11 Apr 2008 19:35:44 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-04-11/the-monty-hall-problem.html</guid>
		<description><![CDATA[For some reason, the &#8220;Monty Hall problem&#8221; has been coming up pretty frequently lately.  The basic idea is as follows:
You are on Let&#8217;s Make a Deal with Monty Hall.  You have three doors to choose from.  One of the doors has a NEW CAR behind it.  The other two doors have [...]]]></description>
			<content:encoded><![CDATA[<p>For some reason, the &#8220;Monty Hall problem&#8221; has been coming up pretty frequently lately.  The basic idea is as follows:</p>
<p>You are on Let&#8217;s Make a Deal with Monty Hall.  You have three doors to choose from.  One of the doors has a NEW CAR behind it.  The other two doors have goats.</p>
<ol>
<li>You choose one of the three doors.</li>
<li>Then, Monty Hall opens another of the three doors, revealing&#8230; A GOAT!</li>
<li>Then you have the opportunity to either change your choice to the remaining closed door, or to stick with your original choice.</li>
</ol>
<p>Is it in your best interest to stick with your original choice, or change your choice after finding out about the location of one of the goats?</p>
<p>Unless you are well-versed with basic probability theory, the correct answer is actually pretty counterintuitive.  I won&#8217;t go into that; Wikipedia has a <a href="http://en.wikipedia.org/wiki/Monty_hall_problem">great article</a> about it.</p>
<p>But I do have one complaint - who decided that you lose if you get a goat?  I think it would be pretty awesome to have a pet goat.  You could name him &#8220;Chewy&#8221; and keep him in the back yard.  Now how could anybody call that &#8220;losing&#8221;?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-04-11/the-monty-hall-problem.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Butterflies</title>
		<link>http://www.donniepinkston.net/2008-03-03/butterflies.html</link>
		<comments>http://www.donniepinkston.net/2008-03-03/butterflies.html#comments</comments>
		<pubDate>Tue, 04 Mar 2008 03:31:26 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Food]]></category>

		<category><![CDATA[TV &#038; Movies]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-03-03/butterflies.html</guid>
		<description><![CDATA[Some friends of mine recently received a food processor as a gift, and they were wondering what to make with it.  I suggested mayonnaise, since homemade mayo is always tasty, but they weren&#8217;t so excited about that.  Another good suggestion is cashew-nut butter or almond butter; the texture is just like peanut butter, [...]]]></description>
			<content:encoded><![CDATA[<p>Some friends of mine recently received a food processor as a gift, and they were wondering what to make with it.  I suggested mayonnaise, since homemade mayo is always tasty, but they weren&#8217;t so excited about that.  Another good suggestion is cashew-nut butter or almond butter; the texture is just like peanut butter, but the flavor is amazingly rich.</p>
<p>Every time I think of peanut butter, I remember this one episode of Mr. Rogers&#8217; Neighborhood where he made peanut butter.  Or, at least, he <em>tried</em> to make peanut butter.  His operating premise was that the name &#8220;peanut butter&#8221; was based on the <em>actual ingredients</em> for peanut butter.  So, he threw a bunch of peanuts into a bag, added a stick of butter, and then proceeded to bash the crap out of it.  The result wasn&#8217;t exactly peanut butter.  I distinctly remember the scene - that big traffic light and the aquarium&#8230;  I seem to recall him saying, &#8220;Well that didn&#8217;t work very well&#8230;&#8221;</p>
<p>I am glad that Mr. Rogers never tried to make butterflies.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-03-03/butterflies.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Science-Fair to Middling</title>
		<link>http://www.donniepinkston.net/2008-03-02/science-fair-to-middling.html</link>
		<comments>http://www.donniepinkston.net/2008-03-02/science-fair-to-middling.html#comments</comments>
		<pubDate>Mon, 03 Mar 2008 02:41:40 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-03-02/science-fair-to-middling.html</guid>
		<description><![CDATA[Last week I was a judge for a middle-school science fair.  It was mildly entertaining, seeing the traditional projects involving burning things and playing with blood.  Nothing really compelling though.  The most disappointing aspect of the fair was the lack of any really scientific hypotheses.  It was painful to read some [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was a judge for a middle-school science fair.  It was mildly entertaining, seeing the traditional projects involving burning things and playing with blood.  Nothing really compelling though.  The most disappointing aspect of the fair was the lack of any really scientific hypotheses.  It was painful to read some of these hypotheses.  In general, I was pretty sad about the students&#8217; lack of understanding of the scientific method.</p>
<p><span id="more-180"></span></p>
<p>&#8220;Ammonia is a better blood cleaner than X because ammonia is a popular household cleaning agent&#8221; is not a scientific hypothesis.  &#8220;Bottled Water X has more minerals in it than Bottled Water Y does,&#8221; is at least testable, but it doesn&#8217;t really tell you anything about physical processes.  And most of the students didn&#8217;t spend much time considering what controls to use in their experiments, so that they could verify whether their results actually meant anything.  If you are going to test two different blood cleaning agents, you might want to also try plain old water.  If you are going to measure the mineral content of water, you might want to also try distilled water, and water with a high mineral concentration, to see whether your measuring process behaves as you would expect.</p>
<p>I guess the reason this bums me out so much is that there is a really widespread lack of understanding of the scientific process, and both its strengths and its limitations.  Since this was a middle-school science fair, the students were acting on what the teacher had explained about the scientific process:  what is a valid and testable hypothesis, what controls would make sense for a given experiment, and so forth.</p>
<p>&#8220;Using metric units instead of Imperial units&#8221; does not make an experiment more scientific either.  You can do great science using furlongs, roods, and stones, as long as your measurements are accurate and well-documented!</p>
<p>Oh well.  Enough ranting about &#8220;kids these days&#8230;&#8221;  It <em>almost</em> makes me want to give a &#8220;What is science?&#8221; lecture to some people, but not quite&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-03-02/science-fair-to-middling.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Excitement</title>
		<link>http://www.donniepinkston.net/2008-02-12/excitement.html</link>
		<comments>http://www.donniepinkston.net/2008-02-12/excitement.html#comments</comments>
		<pubDate>Wed, 13 Feb 2008 00:35:35 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Hacking]]></category>

		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-02-12/excitement.html</guid>
		<description><![CDATA[A few days ago there was this Slashdot article about a serious Linux kernel security hole.  Since I was running a version of Linux that had the issue, I thought I had better patch it on my server ASAP.
My machine basically has nobody on it, so I am really not worried about somebody using [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago there was <a href="http://it.slashdot.org/article.pl?sid=08/02/10/2011257">this Slashdot article</a> about a serious Linux kernel security hole.  Since I was running a version of Linux that had the issue, I thought I had better patch it on my server ASAP.</p>
<p>My machine basically has nobody on it, so I am really not worried about somebody using the exploit directly.  But, I do have a number of network services, like my mailserver, webserver, SSH server - and if any of those has a vulnerability, I sure don&#8217;t want somebody using that to get root access on my box!</p>
<p>So, last night I manually patched my kernel source, rebuilt my kernel, and rebooted the machine.  It was exciting and nerve-wracking; since it&#8217;s been so long since I built a kernel myself (2000?  2001?  It was at DALi I am sure&#8230;), I didn&#8217;t know if I would get it right!  Then there&#8217;s the fact that I am running RAID1 on my boot partition, and I wasn&#8217;t sure how the kernel update would go with that.</p>
<p>But, everything went fine.  The machine rebooted fine, and when I tried the exploit on the patched system, nothing bad happened.  All my services started back up without a hitch.</p>
<p>It was kind of exciting!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-02-12/excitement.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Tasty Squash Soup</title>
		<link>http://www.donniepinkston.net/2008-01-27/tasty-squash-soup.html</link>
		<comments>http://www.donniepinkston.net/2008-01-27/tasty-squash-soup.html#comments</comments>
		<pubDate>Mon, 28 Jan 2008 06:49:28 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-01-27/tasty-squash-soup.html</guid>
		<description><![CDATA[About a week ago I tried some butternut squash soup from Trader Joe&#8217;s.  I was so uninspired by it; the flavor is very subtle and mild.  It couldn&#8217;t even stand up to the plain ol&#8217; grilled cheese sandwich I had with the soup.  Pitiful!
So, since there happen to be more than half [...]]]></description>
			<content:encoded><![CDATA[<p>About a week ago I tried some butternut squash soup from Trader Joe&#8217;s.  I was so uninspired by it; the flavor is very subtle and mild.  It couldn&#8217;t even stand up to the plain ol&#8217; grilled cheese sandwich I had with the soup.  Pitiful!</p>
<p>So, since there happen to be more than half a dozen whole butternut squashes around the house right now (stock up!), I decided to <a href="http://www.donniepinkston.net/pages/cooking-notes/butternut-squash-soup/">make my own</a>.</p>
<p>It&#8217;s <em>awesome</em>, and very garlicky, which is great by me!  <em>Very</em> easy to make, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-01-27/tasty-squash-soup.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Moodle Hatred</title>
		<link>http://www.donniepinkston.net/2008-01-24/moodle-hatred.html</link>
		<comments>http://www.donniepinkston.net/2008-01-24/moodle-hatred.html#comments</comments>
		<pubDate>Fri, 25 Jan 2008 01:30:53 +0000</pubDate>
		<dc:creator>donnie</dc:creator>
		
		<category><![CDATA[Caltech]]></category>

		<guid isPermaLink="false">http://www.donniepinkston.net/2008-01-24/moodle-hatred.html</guid>
		<description><![CDATA[This is my busiest term all school year, since I teach my database systems course this term.  I decided to try something new this term - instead of hand-coding the website for my database course, I have been using Moodle to manage the course.
So far, I really dislike it!
This is actually a step forward, [...]]]></description>
			<content:encoded><![CDATA[<p>This is my busiest term all school year, since I teach my database systems course this term.  I decided to try something new this term - instead of hand-coding the website for my database course, I have been using <a href="http://www.moodle.org">Moodle</a> to manage the course.</p>
<p>So far, I <em>really</em> dislike it!</p>
<p>This is actually a step forward, since I used to really hate it.  Now that I have used it a bit, I realize that Moodle really does have a <em>few</em> things going for it.  It&#8217;s easy to work on draft assignments and then make them available when they are ready.  It&#8217;s also really nice to be able to upload various peripheral files that the students will need; Moodle&#8217;s file management capabilities are quite nice.</p>
<p>The thing that I am totally annoyed with right now is that I can&#8217;t assign partial points to assignments!  I can create an assignment and say that it&#8217;s worth 45 points in total, but then I can&#8217;t give somebody 39.5 points for their work.  <em>What gives?!</em></p>
<p>The other thing that always annoys me when I use Moodle is that it&#8217;s not just a piece of software to help me do my job; it promotes certain alternative teaching philosophies.  I don&#8217;t want to use a piece of software that lectures me on how to teach; I want a piece of software that will let me publish assignments and other course-related materials, and let me track the students in the course.</p>
<p>Leave me alone, Moodle!  Just help me do my job.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.donniepinkston.net/2008-01-24/moodle-hatred.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
