<?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>Greg and Kat's blog</title>
	<atom:link href="http://gregbaker.ca/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://gregbaker.ca/blog</link>
	<description>Tales from Greg and Kat, in NC and elsewhere.</description>
	<lastBuildDate>Fri, 03 Sep 2010 07:16:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>London, day 0.5</title>
		<link>http://gregbaker.ca/blog/2010/09/03/london-day-0-5/</link>
		<comments>http://gregbaker.ca/blog/2010/09/03/london-day-0-5/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 07:16:56 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1119</guid>
		<description><![CDATA[As I write this, it is the morning of our first full day in London. We got in yesterday mid-day. So far, so good. We are saying in a hotel just around the corner from Trafalgar Square, which is walking-distance to a lot of stuff. We found the hotel with not more than 10 minutes [...]]]></description>
			<content:encoded><![CDATA[<p>As I write this, it is the morning of our first full day in London.  We got in yesterday mid-day.</p>
<p>So far, so good.  We are saying in a hotel just around the corner from Trafalgar Square, which is walking-distance to a lot of stuff.</p>
<p>We found the hotel with not more than 10 minutes of walking in the wrong direction. After checking in, we walked the neighbourhood for a bit and walked by Buckingham Palace.</p>
<p>My initial impressions of London:</p>
<ul>
<li>I miss streets that meet at right-angles.  Take for example <a href="http://maps.google.com/maps?f=q&#038;source=s_q&#038;hl=en&#038;q=Trafalgar+Square,+Westminster,+London+SW1Y+5,+United+Kingdom&#038;sll=32.958033,-96.850511&#038;sspn=0.024342,0.055189&#038;g=trafalgar+square&#038;ie=UTF8&#038;cd=2&#038;geocode=FbL0EQMd3gn-_w&#038;split=0&#038;hq=&#038;hnear=Trafalgar+Square,+Westminster,+London+SW1Y+5,+United+Kingdom&#038;ll=51.507357,-0.127593&#038;spn=0.001129,0.003449&#038;z=18">this intersection</a> near our hotel.  It appears on our pocket map as five streets that come together, but when on the ground, is 100 m of roundabout where &#8220;we want to go straight&#8221; is not a useful thing to have deduced from the map.</li>
<li>When in China, the dominant feeling was &#8220;wow, everything&#8217;s big&#8221;.  Tienanmen Square, for example, is almost incomprehensibly huge.  Here: everything so far has been smaller than I imagined it. Buckingham palace: not all that big.  I think I should be more in the New York mindset: everything very dense and close together.</li>
<li>British pubs are funny places.  Need to investigate further.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/09/03/london-day-0-5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Europe!</title>
		<link>http://gregbaker.ca/blog/2010/08/31/europe/</link>
		<comments>http://gregbaker.ca/blog/2010/08/31/europe/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 18:09:11 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1116</guid>
		<description><![CDATA[Earlier this year, Kat got invited to speak at a conference in England, which is awesome. What&#8217;s more awesome (from my perspective, at least) is that I&#8217;m not teaching in the fall. If you put two and two together, you can see that we have half of our trip to England paid for, and time [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this year, Kat got invited to speak at a conference in England, which is awesome.  What&#8217;s more awesome (from my perspective, at least) is that I&#8217;m not teaching in the fall.  If you put two and two together, you can see that we have half of our trip to England paid for, and time to spend if we go.</p>
<p>So, we&#8217;re going.</p>
<p>We leave tomorrow, and are seeing London, Brighton (where the conference is), Barcelona, and a <a href="http://www.expediacruiseshipcenters.ca/Cruise/Itinerary.aspx-item-262578">Mediterranean cruise</a>.  On the way back, we&#8217;re making a pit stop in Ontario to see my parents.  All of that will take most of September: we return Sept 25.</p>
<p>I don&#8217;t have much to say about it at this point, other than this is why I haven&#8217;t been returning anybody&#8217;s emails: too much to get ready before we go, and no time to see anybody either.</p>
<p>We have given preference to hotels with internets, so there is some hope we&#8217;ll post some updates during the journey.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/08/31/europe/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CMPT 470: feedback wanted</title>
		<link>http://gregbaker.ca/blog/2010/08/26/cmpt-470-feedback-wanted/</link>
		<comments>http://gregbaker.ca/blog/2010/08/26/cmpt-470-feedback-wanted/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 23:21:06 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1109</guid>
		<description><![CDATA[Along with my first offering of CMPT 383, I just finished my 13th offering (!) of CMPT 470. I haven&#8217;t changed the backbone of the course much in that time: it mostly feels good to me, and other than moving with shifting web technologies, I haven&#8217;t felt the need to change the course style. But [...]]]></description>
			<content:encoded><![CDATA[<p>Along with my first offering of CMPT 383, I just finished my 13th offering (!) of CMPT 470.  I haven&#8217;t changed the backbone of the course much in that time: it mostly feels good to me, and other than moving with shifting web technologies, I haven&#8217;t felt the need to change the course style.</p>
<p>But now I&#8217;m taking a good hard look at the course.  I still like the overall flow, but there are some things I want to change.</p>
<p>I did a survey of the current students to get some feedback, but they lack perspective, having just finished the course.  I figure I can get some eyeballs from course alumni here and am looking for some more meaningful feedback.</p>
<h3>Question 1: Weekly Exercises and Grading Scheme</h3>
<p>When I did CMPT 383, I gave weekly exercises, thinking that they might feel a little bit hand-holdey for an upper-division course.  Much to my surprise, they worked better there than they do in 120 and 165: more-senior students are in a much better position to appreciate the micro-lessons that the exercises encapsulate and better understand why they are helpful.  It&#8217;s also a chance to give problems on <em>everything</em>, not just a few things in major assignments.</p>
<p>I have realized that I want to do weekly exercises in CMPT 470, replacing the three assignments.  The problem is: the assignments are worth 30% of the course.  The weekly exercises would receive minimal marking and feedback (likely marking scheme: 2=most/everything correct, 1=some stuff done, 0=little/nothing done).  With that little &#8220;grading&#8221;, 30% is too much to give to them: 20% is more reasonable.</p>
<p>So, I have 10% of the final grade to reallocate somewhere.  Any suggestions about where an extra 10% of weight should be distributed?  (The old <a href="http://www.cs.sfu.ca/CC/470/ggbaker/admin#grading">grading scheme</a> is online.)</p>
<p>[To give you an idea, I'm imagining that some of the exercises will be like "learn these three important CSS techniques and use each to style this sample page"; "find security holes in this sample mini-app I have created for you"; "pick Rails/Django/whatever and do the tutorial on their site"; "deploy your tutorial code on your group's web server"; "do something with jQuery"]</p>
<h3>Question 2: Content</h3>
<p>I have certainly done my best to keep with the times, and talk about new web-related topics as they have become relevant.  But like I said before: the overall backbone of the course has remained the same.</p>
<p>Are there things that I should have spent more lecture time on than I did?  Things that took up too much time?</p>
<p>I definitely want to move JavaScript stuff a little earlier in the course: it deserves to be at least a little more front-and-centre than it has been.</p>
<h3>Question 3: Other Stuff?</h3>
<p>I have a few other smaller tweaks in mind, and am open to other feedback.</p>
<p>In particular, I plan to (explicitly) open the technology evaluation to a wider array of technologies: JavaScript frameworks, databases.  This past semester, I started to realize that the server-side frameworks (Django, Rails, Cake, &hellip;) are all fundamentally the same (at the depth that&#8217;s possible in the techeval).  There are other pieces of technology that are more interesting choices at this point, and they might as well evaluate those.</p>
<p>I&#8217;m happy to take any half-baked thoughts on any of this here, or by email.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/08/26/cmpt-470-feedback-wanted/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>And that&#8217;s how you teach CMPT 383</title>
		<link>http://gregbaker.ca/blog/2010/08/22/and-thats-how-you-teach-cmpt-383/</link>
		<comments>http://gregbaker.ca/blog/2010/08/22/and-thats-how-you-teach-cmpt-383/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 05:48:43 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1100</guid>
		<description><![CDATA[I have now completed my first offering of CMPT 383, Comparative Programming Languages. I had forgotten how much work a new course prep is, particularly as I am anal-retentive enough to not be able to make much use of any other instructor&#8217;s course materials. Other instructors just do things&#8230; wrong. The only way for a [...]]]></description>
			<content:encoded><![CDATA[<p>I have now completed my first offering of CMPT 383, Comparative Programming Languages.</p>
<p>I had forgotten how much work a new course prep is, particularly as I am anal-retentive enough to not be able to make much use of any other instructor&#8217;s course materials.  Other instructors just do things&#8230; wrong.  The only way for a course to feel right is to do it my way, for myself.  Giving lectures from somebody else&#8217;s notes is like wearing somebody else&#8217;s underwear: technically probably just fine, but you just feel dirty.</p>
<p>That&#8217;s not to say other people who teach the same courses I do do a bad job: they are generally excellent instructors teaching excellent courses.  They just do it wrong, is all.</p>
<p>But, looking at my <a href="http://gregbaker.ca/blog/2010/04/19/cmpt-383-for-real-this-time/">plan for 383</a>, I came in pretty close to the plan.  The final balance of topics was more like 6 weeks, 4 weeks, 3 weeks, but that&#8217;s astonishingly close for somebody who usually just stops somewhere around the midterm and thinks &#8220;does that feel like about half of the material?  Okay good.&#8221;</p>
<p>Overall, I&#8217;m very happy with it.  First offerings of a course are supposed to be bumpy and full of things that you wish you could have done better.  Honestly, this was one of my favourite course offerings ever: there are tweaks I&#8217;d do for my next offering, but all are fairly minor.</p>
<p>Specifics:</p>
<ul>
<li>The <a href="http://www.cs.sfu.ca/CC/383/ggbaker/labs/">weekly exercises</a> were (to my mind, at least) a total win.  My goal throughout was basically to say &#8220;remember that thing I talked about this week?  Practice it&#8221; and I think it worked for the students.  I liked them to the point that I&#8217;m planning that every course I teach from now on will have weekly exercises, including 470. (More on 470 in a later post.)</li>
<li>Some of the more involved <a href="http://www.cs.sfu.ca/CC/383/ggbaker/examples/">examples I put together</a> were among my favourite learning objects ever.  (God, I can&#8217;t believe I just used the term &#8220;<a href="http://en.wikipedia.org/wiki/Learning_object">learning objects</a>&#8220;.  I have become everything I hate.)</li>
<li>I think I actually convinced them that Haskell was practical.  Was that irresponsible?</li>
<li>Prolog sucks, but I&#8217;m still convinced it&#8217;s a worthwhile exercise.</li>
<li>The &#8220;language concepts&#8221; section felt a bit like a laundry list of topics.  I don&#8217;t know that there&#8217;s really any way around that.  Maybe I could re-order things a bit so they flow together better.</li>
<li>The <a href="http://www.cs.sfu.ca/CC/383/ggbaker/project/">project</a> was interesting for all concerned.  I&#8217;d probably cut down to three or four language choices in the future, just to keep the TA from losing his mind.</li>
<li>I&#8217;m not particularly happy with the exams, but I&#8217;m never happy with my exams.</li>
<li><a href="http://ted376.wordpress.com/">Ted</a> was an invaluable sounding board throughout the semester, taking time he didn&#8217;t have to listen to my meanderings on the course.  Thanks be to Ted, who will do an excellent job teaching the course in the fall.  (Excellent, but wrong.)</li>
</ul>
<p>The feedback I have had from the student side has been very good so far (with the real teaching evaluations still outstanding).  I have never before had so many students who had <em>nothing to do with a course</em> talk to me about it.  Random students in the hall thought my project was a good idea; everybody and their dog knew about my first assignment; people with friends in the course want to know when I&#8217;m teaching it again.</p>
<p>I&#8217;ll take that as creating a &#8220;buzz&#8221; and call it a good thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/08/22/and-thats-how-you-teach-cmpt-383/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>P ≠ NP</title>
		<link>http://gregbaker.ca/blog/2010/08/07/p-n-np/</link>
		<comments>http://gregbaker.ca/blog/2010/08/07/p-n-np/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 03:21:15 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1084</guid>
		<description><![CDATA[An email I was recently forwarded (a couple of steps removed) from Vinay Deolalikar from HP Labs: Dear Fellow Researchers, I am pleased to announce a proof that P is not equal to NP, which is attached in 10pt and 12pt fonts. The proof required the piecing together of principles from multiple areas within mathematics. [...]]]></description>
			<content:encoded><![CDATA[<p>An email I was recently forwarded (a couple of steps removed) from <a href="http://www.hpl.hp.com/personal/Vinay_Deolalikar/">Vinay Deolalikar</a> from HP Labs:</p>
<blockquote><p>Dear Fellow Researchers,</p>
<p>I am pleased to announce a proof that P is not equal to NP, which is attached in 10pt and 12pt fonts.</p>
<p>The proof required the piecing together of principles from multiple areas within mathematics.  The major effort in constructing this proof was uncovering a chain of conceptual links between various fields and viewing them through a common lens.  Second to this were the technical hurdles faced at each stage in the proof.</p>
<p>This work builds upon fundamental contributions many esteemed researchers have made to their fields. In the presentation of this paper, it was my intention to provide the reader with an understanding of the global framework for this proof.  Technical and computational details within chapters were minimized as much as possible.</p>
<p>This work was pursued independently of my duties as a HP Labs researcher, and without the knowledge of others. I made several unsuccessful attempts these past two years trying other combinations of ideas before I began this work.</p>
<p>Comments and suggestions for improvements to the paper are highly welcomed.</p></blockquote>
<p>The paper is about 100 pages, and looks serious (but being a decade away from last thinking about complexity, I am unable to give any more useful evaluation than that).  I&#8217;ll refrain from posting the paper itself.</p>
<p>Deciding <a href="http://en.wikipedia.org/wiki/P_versus_NP_problem">P &ne; NP</a> is a <a href="http://www.claymath.org/millennium/">Millennium Prize Problem</a> and I don&#8217;t think I&#8217;d get much argument to say it is the biggest open problem in computing science.</p>
<p>Update: I see <del datetime="2010-08-10T04:06:59+00:00">someone else</del> <ins datetime="2010-08-10T04:06:59+00:00">Deolalikar</ins> has uploaded <a href="http://www.hpl.hp.com/personal/Vinay_Deolalikar/Papers/pnp12pt.pdf">the paper</a>. I should point out that in the email thread I got, <a href="http://en.wikipedia.org/wiki/Stephen_Cook">Stephen Cook</a> said &#8220;This appears to be a relatively serious claim to have solved P vs NP.&#8221;</p>
<p>Update: Huh, <a href="http://science.slashdot.org/story/10/08/08/226227/Claimed-Proof-That-P--NP">slashdotted</a>.  I think &#8220;broke&#8221; the story is a little strong, but anyway&hellip; any media wanting comment on this story, I&#8217;d suggest my colleagues <a href="http://www.cs.sfu.ca/people/Faculty/Profile/mitchell.html">David Mitchell</a> (whose work was cited by Deolalikar in this paper), <a href="http://www.cs.sfu.ca/people/Faculty/Profile/kabanets.html">Valentine Kabanets</a>, or <a href="http://www.cs.sfu.ca/people/Faculty/Profile/pavol.html">Pavol Hell</a> (who also do research in this area).</p>
<p>Update 08/09: <a href="http://en.wikipedia.org/wiki/Richard_J._Lipton">Richard Lipton</a> is posting <a href="http://rjlipton.wordpress.com/">excellent commentary in his blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/08/07/p-n-np/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Everything I know about databases is wrong.  Also, right.</title>
		<link>http://gregbaker.ca/blog/2010/06/24/everything-i-know-about-databases-is-wrong-also-right/</link>
		<comments>http://gregbaker.ca/blog/2010/06/24/everything-i-know-about-databases-is-wrong-also-right/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 19:48:44 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Teaching]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1047</guid>
		<description><![CDATA[I have been teaching CMPT 470 for six years now, with my 13th offering going on right now. Anybody doing that is going to pick up a thing or two about web systems. I was there for the rise of the MVC frameworks and greeted them with open arms. I watched Web 2.0 proclaim &#8220;screw [...]]]></description>
			<content:encoded><![CDATA[<p>I have been teaching <a href="http://www.cs.sfu.ca/CC/470/ggbaker/">CMPT 470</a> for six years now, with my 13th offering going on right now.  Anybody doing that is going to pick up a thing or two about web systems.</p>
<p>I was there for the rise of the MVC frameworks and greeted them with open arms.  I watched Web 2.0 proclaim &#8220;screw it, everything is JavaScript now&#8221; and listed with suspicion, but interest.  I am currently watching HTML5/CSS3 develop with excitement but wondering why nobody is asking whether IE will support any of it before the sun burns out.</p>
<p>There&#8217;s another thing on the horizon that is causing me great confusion: <a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a>.</p>
<p>The NoSQL idea is basically that relational databases (MySQL, Oracle, MSSQL, etc.) are not the best solution to every problem, and that there is a lot more to the data-storage landscape.  I can get behind that.</p>
<p>But then, the NoSQL aficionados keep talking.  &#8220;Relational databases are slow&#8221; they say.  &#8220;You should never JOIN.&#8221;  &#8220;Relational databases can&#8217;t scale.&#8221;  These things sound suspicious.  Relational databases have a long history of being very good at their job: these are big assertions that should be accompanied by equally-big evidence.</p>
<p>So, I&#8217;m going to try to talk some of this through.  Let&#8217;s start with the non-relational database types.  (I&#8217;ll stick to the ones getting a lot of NoSQL-related attention.)</p>
<dl>
<dt>Key-value stores</dt>
<dd>(e.g. <a href="http://cassandra.apache.org/">Cassandra</a>, <a href="http://memcachedb.org/">Memcachedb</a>) A key-value store sounds simple enough: it&#8217;s a collection of keys (that you lookup with) and each key has an associated value (which is the data you want).  For Memcachedb, that&#8217;s exactly what you get: keys (strings) and values (strings/binary blobs that you interpret to your whim).</p>
<p>Cassandra add another layer of indirection: each &#8220;value&#8221; can itself be a dictionary of key-value pairs.  So, the &#8220;value&#8221; associated with the key &#8220;ggbaker&#8221; might be <code>{"fname":"Greg", "mi":"G", "lname":"Baker"}</code>.  Each of those sub-key-values is called a &#8220;column&#8221;.  So, the record &#8220;ggbaker&#8221; has a column with name &#8220;fname&#8221; and value &#8220;Greg&#8221; (with a timestamp).  Each record can have whatever set of columns are appropriate.</dd>
<dt>Document stores</dt>
<dd>(e.g. <a href="http://couchdb.apache.org/">CouchDB</a>, <a href="http://www.mongodb.org/">MongoDB</a>) The idea here is that each &#8220;row&#8221; of your data is basically a collection of key-value pairs.  For example, one record might be <code>{"fname":"Greg", "mi":"G", "lname":"Baker"}</code>.  Some other records might be missing the middle initial, or have a phone number added: there is no fixed schema, just rows storing properties.  I choose to think of this as a &#8220;collection of JSON objects that you can query&#8221; (but of course the internal data format is probably not JSON).</p>
<p>Mongo has a useful <a href="http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart">SQL to Mongo</a> chart that summarizes things nicely.</dd>
<dt>Tabular</dt>
<dd>(e.g. <a href="http://labs.google.com/papers/bigtable.html">BigTable</a>, <a href="http://hbase.apache.org/">Hbase</a>)  The big difference here seems to be that the tabular databases use a <em>fixed schema</em>.  So, I have to declare ahead of time that I will have a &#8220;people&#8221; table and entries in there can have columns &#8220;fname&#8221;, &#8220;lname&#8221;, and &#8220;mi&#8221;.  Not every column has to be filled for each row, but there&#8217;s a fixed set.</p>
<p>There are typically many of these &#8220;tables&#8221;, each with their own schema.  </dd>
</dl>
<p>Summary:  There&#8217;s a lot of similarity here.  Things aren&#8217;t as different as I thought.  In fact, the big common thread is certainly less-structured data (compared to the relational style of foreign keys and rigid data definition).  Of course, I haven&#8217;t gotten into how you can actually <em>query</em> this data, but that&#8217;s a whole other thing.</p>
<p>Let&#8217;s see if I can summarize this (with Haskell-ish type notation, since that&#8217;s fresh in my head).</p>
<blockquote><pre><code>data Key,Data = String
memcacheDB :: Map Key Data
data CassandraRecord = Map Key (Data, Timestamp)
cassandraDB :: Map Key CassandraRecord</code>

data JSON = Map Key (String | Number | &hellip; | JSON)
mongoDB,couchDB :: [JSON]

data Schema = [Key]
data BigTable = (Schema, [Map Key Data]) -- where only keys from Schema are allowed in the map
bigTableDB :: Map Key BigTable -- key here is table name</pre>
</blockquote>
<p>The documentation for these projects is generally somewhere between poor and non-existent: there are a lot of claims of speed and efficiency and how they are <em>totally</em> faster than MySQL.  What&#8217;s in short supply are examples/descriptions of how to actually get things done.  (For example, somewhere in my searching, I saw the phrase &#8220;for examples of usage, see the unit tests.&#8221;)</p>
<p>That&#8217;s a good start. Hopefully I can get back to this and say something else useful on the topic.</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/06/24/everything-i-know-about-databases-is-wrong-also-right/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Computer Woes</title>
		<link>http://gregbaker.ca/blog/2010/06/10/computer-woes/</link>
		<comments>http://gregbaker.ca/blog/2010/06/10/computer-woes/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 17:32:46 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1040</guid>
		<description><![CDATA[My computer at home has been locking up occasionally for the last few weeks. This has been happening since my upgrade to Ubuntu 10.04/Lucid, but I suspect this is a coincidence. (1) The lockups are hard: even the SysRq magic doesn&#8217;t do anything, so I deduce that the problem is in the kernel or below. [...]]]></description>
			<content:encoded><![CDATA[<p>My computer at home has been locking up occasionally for the last few weeks.  This has been happening since my upgrade to Ubuntu 10.04/Lucid, but I suspect this is a coincidence.  (1) The lockups are hard: even the <a href="http://en.wikipedia.org/wiki/Magic_SysRq_key">SysRq</a> magic doesn&#8217;t do anything, so I deduce that the problem is in the kernel or below.  (2) I haven&#8217;t seen any reports of the new Linux kernels being flaky.  (3) I tried an upgrade from the i386 to amd46 (32-bit to 64-bit) system which I had been meaning to do anyway: no change even with a significantly different kernel.</p>
<p>Thus, I am of the opinion that I have a hardware problem.</p>
<p>As a computer scientist, I don&#8217;t enjoy hardware problems, so I&#8217;m thinking about buying my way out of them.  (Also, my current system is mostly 3 years old, so it&#8217;s not a crazy time to upgrade.)  My current thinking:</p>
<ul>
<li><a href="http://ark.intel.com/Product.aspx?id=41447">Intel i7 930</a></li>
<li><a href="http://www.asus.com/product.aspx?P_ID=t4yhK6y9W9o7iQ9E&#038;templete=2">ASUS P6T SE</a></li>
<li>some brand-name DDR3 RAM: 3 &times; 1GB 1333MHz</li>
</ul>
<p>For about $700, that would leave me with the same case and power supply (an Antec Sonata II, 450W), my video card (nVidia 7600GT, but don&#8217;t game so who cares), my Hauppauge PCI TV tuner, and my recently-upgraded hard disks.</p>
<p>So, the questions for the crowd:  Does my &#8220;it&#8217;s hardware&#8221; assessment sound right?  Is it likely that the processor/mobo/RAM swap will fix my problems?  Any other suggestions for hardware purchases?</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/06/10/computer-woes/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Future epic culinary journeys?</title>
		<link>http://gregbaker.ca/blog/2010/06/03/future-epic-culinary-journeys/</link>
		<comments>http://gregbaker.ca/blog/2010/06/03/future-epic-culinary-journeys/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 06:46:31 +0000</pubDate>
		<dc:creator>Kat</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1035</guid>
		<description><![CDATA[Now that me fried rice journey has ended, I find myself contemplating the next epic food journey. Having gone through one, I think I can handle another. The key is to only ask individual people, namely either my Aunt Daisy or my mom, very specific questions about whatever dish I am trying to make. I [...]]]></description>
			<content:encoded><![CDATA[<p>Now that me fried rice journey has ended, I find myself contemplating the next epic food journey. Having gone through one, I think I can handle another. The key is to only ask individual people, namely either my Aunt Daisy or my mom, very specific questions about whatever dish I am trying to make. I haven&#8217;t decided which dish will be next, but I thought I should write them down somewhere while they are fresh in my mind. So, here are some of the family dishes that I may want to try to make, and the person that I think knows how to make them:</p>
<p>My mom:<br />
<a href="http://en.wikipedia.org/wiki/Pancit">Pancit</a> <a href="http://en.wikipedia.org/wiki/Bihon">bihon</a>, which is a Filipino rice noodle dish<br />
<a href="http://en.wikipedia.org/wiki/Pancit">Pancit</a> <a href="http://en.wikipedia.org/wiki/Cellophane_noodles">sotanghon<em> </em></a>, which is more soupy than pancit bihon (I think) and made with a different type of noodle<br />
<a href="http://en.wikipedia.org/wiki/Lumpia">Lumpia</a> Shanghai (fried spring roll with meat in it)</p>
<p>My Ama:<br />
Chow mein (I made this once with my Aunt Belen, so I think I can make it again, but I&#8217;m not totally sure)<br />
Kiam pung (translation: salty rice), which is a form of fried rice that is brown (this one has soy sauce for sure!), and contains meat and sometimes hard-boiled eggs, and is flavored with spices like star anise and whole peppercorns. My Ama may have used adobo sauce from pork or chicken adobo to flavor the sauce. I think my Ama&#8217;s kiam pung is on the dry side compared to other people&#8217;s dishes (based on a Google image search of <a href="http://www.flickr.com/photos/manilaginger/3345926831/in/photostream/">kiam pung</a>). Also, it does not contain peanuts.<br />
Fried meatballs</p>
<p>My Aunt Daisy:<br />
<a href="http://en.wikipedia.org/wiki/Lumpia">Lumpia</a> prito (fried vegetable spring rolls). She learned how to make these from my Ama. Learning from my aunt will be more straightforward. The only down-side of this dish is that it is deep fried. That&#8217;s a lot of work, and I&#8217;m not sure I&#8217;d ever really make it on my own because of that.</p>
<p>My Aunt Edna:<br />
<a href="http://closetcooking.blogspot.com/2007/12/turkey-congee-rice-porridge.html">Kiam beh</a> (translation: salty rice, but in congee-form). I loved my Ama&#8217;s kiam beh but I really don&#8217;t think I&#8217;d ever be able to learn that recipe from her. Luckily, my Aunt Edna has been making kiam beh for my Ama, and I had some last night. It&#8217;s close enough to my Ama&#8217;s (my mom&#8217;s version was good, but never quite the same), so I&#8217;m going to ask her to teach me how to make it. The linked picture of it has a recipe from a guy in Toronto. Maybe I&#8217;ll try his version and see if it tastes like my Ama&#8217;s! <img src='http://gregbaker.ca/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The family in general:<br />
<a href="http://en.wikipedia.org/wiki/Lumpia">Lumpia</a> sariwa (fresh spring rolls). LOTS of work goes into making these. It&#8217;s more of a whole-family effort. I would just like to know the ratios of ingredients. I think that&#8217;s all I can really hope for.</p>
<p>That&#8217;s my list so far. Am I crazy for wanting to start what could be another soul-crushing experience?</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/06/03/future-epic-culinary-journeys/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How fried rice drove me insane (Part 3)</title>
		<link>http://gregbaker.ca/blog/2010/06/01/how-fried-rice-drove-me-insane-part-3/</link>
		<comments>http://gregbaker.ca/blog/2010/06/01/how-fried-rice-drove-me-insane-part-3/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 04:55:58 +0000</pubDate>
		<dc:creator>Kat</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1033</guid>
		<description><![CDATA[Following Saturday&#8217;s soul-crushing family conversation about my Ama&#8217;s fried rice, during which I was informed of additonal, never-before-mentioned fried rice ingredients and cooking techniques, I have to say that I was at my wit&#8217;s end. There may have been a few instances that I sat in a ball and ricked back and forth. However, Sunday [...]]]></description>
			<content:encoded><![CDATA[<p>Following Saturday&#8217;s soul-crushing family conversation about my Ama&#8217;s fried rice, during which I was informed of additonal, never-before-mentioned fried rice ingredients and cooking techniques, I have to say that I was at my wit&#8217;s end. There may have been a few instances that I sat in a ball and ricked back and forth. However, Sunday was a new day, and I was determined to take another shot at the rice on Tuesday, for Pam&#8217;s dinner night. This way I would have another set of taste buds to either confirm or reject my latest attempt.</p>
<p>Sunday almost killed me. We decided to start at the T&amp;T on 1st and Renfrew (or is it Rupert &#8211; anyways, one of the R-streets). After circling both the bottom and top parking lots a couple of times without any parking luck, we decided to try somewhere else. The nearby Superstore was our next stop. Ample parking, but we couldn&#8217;t find the Wing Wing Chinese sausage anywhere. After asking a few employees, we found other Chinese sausage, but no Wing Wing. What we failed to take into account was that Wing Wing sausage was on sale last weekend, so of course there wasn&#8217;t any left! I was starting to get a little nervous. I&#8217;ll admit that conspiracy theories involving my family, The Great Canadian Superstore corporation, and the company that owns T&amp;T were going through my head. I believe at one point I may have accused Greg of being in on it too. He pointed out that he voluntarily went to Superstore on a Sunday with me to buy the sausage. I thought that was a little suspicious, but I let it go with a warning that I was watching him. We then went to Metrotown which had both a Superstore and a T&amp;T &#8211; ended up buying the Wing Wings at T&amp;T (my family would be appalled that I didn&#8217;t save the 10 cents at Superstore, but I didn&#8217;t think I could get Greg to go into 2 Superstores on a Sunday). Sausages: check!</p>
<p>To deal with the meat drippings, I marinaded a couple pieces of chicken on Sunday night. Thank goodness I knew my Ama&#8217;s marinade recipe &#8211; again, not so much a recipe, more like mix stuff together and keep tasting it until it tastes right. Meat marinading: check!</p>
<p>On Monday night I roasted the chicken and collected the drippings. The meat doesn&#8217;t actually go into the fried rice &#8211; just the drippings! Anyone need two cooked chicken breasts for anything? Meat drippings: check!</p>
<p>Since you need cold cooked rice to make the fried rice, I also cooked the rice on Monday night so that it would have a chance to sit in the fridge for Tuesday night&#8217;s main event. Rice cooked and cooled: check.</p>
<p>So today was the big day. I had all of the ingredients (at least all of the ingredients that my family has chosen to tell me about). I have to admit I was a little scared to start cooking. I was seriously going to lose it if this rice tasted nothing like my Ama&#8217;s. I would be okay if it wasn&#8217;t perfect &#8211; I was just hoping to get closer than I had before. Yes, not such a lofty goal, but keep in mind, I&#8217;ve been doing this for almost 6 years &#8211; no point in getting my hopes up too high. So I started with the sausages in a large pan. I needed to get them to release their oil so that I would have oil to cook the eggs and fry the rice. They were cooking, but they weren&#8217;t giving up any oil. I was starting to panic. Pam called my Ama&#8217;s house and we were told to prick the sausage. So I made them into pincushions. After a while there was enough oil to barely cover the pan (it was a big pan though), so we pulled the sausage and I poured out the oil, leaving enough to scramble the eggs. I had a good feeling about the dish when I smelled the reserved sausage oil, and it instantly reminded me of my Ama&#8217;s kitchen. As Pam sliced the sausage and cut up the eggs, I added the rest of the oil back into the pan and added the rice. It didn&#8217;t seem like enough oil to fry the rice, but I wasn&#8217;t going to give up hope. We added the cut-up sausage and egg back into the pan, seasoned with only a little bit of salt (I think the sausage oil was pretty salty) and only 1/2 a teaspoon of sugar and&#8230;</p>
<p>&#8230;</p>
<p>&#8230;</p>
<p>&#8230;</p>
<p>&#8230; after almost 6 years, I, with the help of Pam and Greg, had finally done it. I made my Ama&#8217;s fried rice! The dish that has eluded me for so many years has finally  been conquered. I have to admit, I did do a little dance of joy.</p>
<p>In the end, the ingredient that I was missing was not something you could actually see. The pivotal ingredient was the oil from the Wing Wing Chinese sausage! Aunt Daisy said that if you use a different brand it doesn&#8217;t taste the same. I don&#8217;t know whether I believe that or not, but I&#8217;m not going to go out of my way to try it. My dislike of Chinese sausage had made it previously impossible for me to make her fried rice! I tried two slices of the sausage again today &#8211; *blech* I still don&#8217;t like it. So now whenever I make my Ama&#8217;s fried rice, Pam will be receiving cooked Chinese sausages.</p>
<p>As for the meat drippings, I figured my Ama probably used them when she didn&#8217;t have any sausage on hand, and therefore didn&#8217;t have any sausage oil. I made a second batch of rice with vegetable oil, some of the chicken drippings, rice, egg, salt and sugar. It tasted okay, but it wasn&#8217;t THE rice. It was actually closer in flavor to my fried rice and my Ama&#8217;s.</p>
<p>We decided that we&#8217;re going to make Ama&#8217;s fried rice again next week for dinner night. I will also make black (seaweed) soup to go with it, which was one of Ama&#8217;s staple soups. Pam and I are very excited. We called my Ama&#8217;s house to share the good news. My Aunt Daisy was happy and my Ama was too &#8211; especially when I said that I would go over and make some for her.</p>
<p>And so my epic fried rice journey has come to an end. I&#8217;m annoyed that it took this long, but in a way it&#8217;s probably for the best. I now fully appreciate this fried rice and will be extremely happy every time I make it. <img src='http://gregbaker.ca/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/06/01/how-fried-rice-drove-me-insane-part-3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How fried rice drove me insane (Part 2)</title>
		<link>http://gregbaker.ca/blog/2010/05/30/how-fried-rice-drove-me-insane-part-2/</link>
		<comments>http://gregbaker.ca/blog/2010/05/30/how-fried-rice-drove-me-insane-part-2/#comments</comments>
		<pubDate>Sun, 30 May 2010 18:20:30 +0000</pubDate>
		<dc:creator>Kat</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://gregbaker.ca/blog/?p=1026</guid>
		<description><![CDATA[My mom is in town, so Greg and I went to have dinner at my Ama&#8217;s house. Inevitably the conversation turned to food, which led me to ask about my Ama&#8217;s fried rice for the 100th time. This time there were more people around, and everyone had an opinion about what went into Ama&#8217;s fried [...]]]></description>
			<content:encoded><![CDATA[<p>My mom is in town, so Greg and I went to have dinner at my Ama&#8217;s house. Inevitably the conversation turned to food, which led me to ask about my Ama&#8217;s fried rice for the 100th time. This time there were more people around, and everyone had an opinion about what went into Ama&#8217;s fried rice and how it was prepared.</p>
<p>Me: My fried rice still doesn&#8217;t taste like Ama&#8217;s even though I added sugar.<br />
Aunt X: Oh yeah, of course you have to add sugar!<br />
Aunt Y: Ama adds a little bit of sugar to everything. Didn&#8217;t you know that?<br />
Me: *eye twitch* No, nobody tells me these things!!!<br />
Aunt Y: Did you scramble the eggs? Ama scambles eggs and adds them in.<br />
Aunt Z: No she adds them in raw and then they cook with the rice.<br />
Me: She&#8217;s done both. I know. I&#8217;ve asked and tried them both. I&#8217;m okay with the egg. I need to know what else I&#8217;m doing wrong.<br />
Pam: When we added sugar it tasted more like Ama&#8217;s rice, but the flavor faded.<br />
Aunt Y: Oh, it&#8217;s garlic! Did you add garlic?<br />
Me: I used garlic powder. Did Ama use fresh garlic?<br />
Aunt Y: Yes! Ama uses fresh garlic in everything. If you use fresh garlic the flavor won&#8217;t fade.<br />
Me: Okay, I will use fresh garlic. (see phone conversation below)<br />
Aunt X: It will taste good if you add adobo sauce.<br />
Me: NO! Ama&#8217;s rice is very pale. There&#8217;s no adobo sauce!<br />
Aunt X: But it would taste good with adobo sauce!<br />
Me: *eye twitches*<br />
My mom: When I make fried rice&#8230;<br />
Me: NO! I know how to make your fried rice! My fried rice IS your fried rice! I want to make AMA&#8217;s fried rice!<br />
My mom: I know how Ama makes her fried rice. I&#8217;ve cooked with her before.<br />
Me: Then why does your fried rice taste totally different?<br />
My mom: Mine is the simpler version.<br />
Me: Okay, how does she make it?<br />
My mom and aunts combined: You cook the sausage. Set it aside. Then you can use that oil from the sausage to scramble the egg. The you chop that up and add the garlic and rice. Then salt and soy sauce and sugar, and you add the sausage back.<br />
Me: You&#8217;re sure there&#8217;s soy sauce? Ama&#8217;s rice was very, very pale!!<br />
Them (without my Aunt Daisy, who had left the room): Yes, yes there&#8217;s soy sauce. It&#8217;s light soy sauce.<br />
Me: I&#8217;ve tried that &#8211; even the smallest dash turned it very, very pale brown. Ama&#8217;s rice was never brownish. *eye twitch*<br />
Them (without my Aunt Daisy): Yes! Yes! There&#8217;s soy sauce! (see phone conversation below)<br />
Me: That&#8217;s it, then, that&#8217;s all of the ingredients. Nothing else?!?!<br />
Them (without my Aunt Daisy): Yes, that&#8217;s it. It&#8217;s so easy.<br />
Me: *eye twitch*</p>
<p>So by then I was willing to try it again. Fresh garlic and the oil from the sausages may be the key, I thought. I was still not convinced about the soy sauce. There was no freaking way that there was soy in there &#8211; the color would be all wrong.</p>
<p>Later that night, I was saying goodbye to my Ama:</p>
<p>Me: Bye Ama.<br />
My Aunt Daisy: Wait, you know the liquid that comes off meat when you roast it? We collect that, skim off the fat, and then freeze it. Ama puts a bit of that in.<br />
Me: INTO THE FRIED RICE?! *eye twitches*<br />
My Aunt Daisy: Yes. That might be the flavor you&#8217;re missing. You know, the stuff you make gravy from.<br />
Pam (who had just walked into the room): What gravy?<br />
Me: *eye twitch* Ama adds roasted meat drippings &#8211; you know, the stuff you make gravy from.<br />
Pam: TO FRIED RICE?!<br />
Me: YES! *eye twitches*<br />
Pam: Crap, we don&#8217;t have that!</p>
<p>The whole time my Ama is sitting there smiling all cute and nodding her head yes.</p>
<p>The drippings from roasted meats.  They may or may not be an  essential ingredient of my Ama&#8217;s fried rice. I say may or may not  because sometimes she puts it in, and sometimes she doesn&#8217;t. *eye twitch* Apparently my family does not want me to learn how to make this  damned fried rice. After 5 years of being assured &#8220;yes you have all of  the ingredients&#8221;, a couple of months ago I was told there was a little  bit of sugar. Then from the above conversations that there is also fresh garlic. And now meat drippings!?! The problem: too many people think they know what is in the  rice, and they don&#8217;t.</p>
<p>The entire way home, in between eye twitches, I must have been muttering &#8220;garlic&#8221;, &#8220;sugar&#8221;, &#8220;chicken juice?!&#8221; because Greg was laughing the entire drive home. Surely, this must be the end to the story, right? If you think that, you don&#8217;t know my family.</p>
<p>When I got home, I called my Ama&#8217;s house to ask what brand of Chinese sausage they buy (it&#8217;s Wing Wing). I&#8217;m not taking any chances this time. I have to roast a chicken to make this right &#8211; I&#8217;m not buying the wrong kind of sausage and have that be the problem!</p>
<p>Aunt Daisy (who had left the room when others said that my Ama used soy sauce and fresh garlic): You know, Ama never used garlic in her fried rice.<br />
Me: Are you sure?!?! *eye twitch*<br />
A. Daisy: Yes, the last few years that she made it, I was the one helping her make the fried rice.<br />
Me: Okay, so no garlic at all?<br />
A. Daisy: No garlic at all. But she did marinade the meat with garlic before she roasted it. You know the marinage recipe, right?<br />
Me: YES! I do know the marinade recipe! She only has one, right?<br />
A. Daisy: Yes, there&#8217;s only one marinade. Oh, and she never used soy sauce in her fried rice.<br />
Me: YES! I knew it! Are you totally sure?<br />
A. Daisy: Yes, there was never soy sauce.<br />
Me: Okay, how much of the drippings? (for reference, my Ama often cooked for 10+ people daily, making enough food to have an additional leftover meal &#8211; for all 10 people!)<br />
A. Daisy: I don&#8217;t know, a bit.<br />
Me: *eye twitch* Okay, that&#8217;s fine. I&#8217;ll figure it out. So if I cook the sausage, use the sausage oil to scramble the eggs, chop up the eggs in the pan and then add the rice, &#8220;a bit&#8221; of the meat drippings, salt and sugar, and no soy sauce or garlic, I should get Ama&#8217;s fried rice?! *eye twitch* *eye twitch* *eye twitch*<br />
A. Daisy: Maybe&#8230;</p>
<p>So today I have chicken defrosting in my fridge. I have to marinade it overnight in THE marinade. Tomorrow I will roast the chicken and collect the drippings and skim off the fat. I also have to go out and buy the sausage today (My Aunt Daisy phoned me back 30 minutes after the above phone conversation to say that they were on sale at Superstore this week for $3 something. My entire family knows all of the weekly grocery sale prices every single week, but they have no clue what goes into fried rice!!! *eye twitch*) On Tuesday Pam, Greg and I will try this again. Seriously, in the fall it&#8217;ll be 6 years. 6 years!!! *eye twitch*</p>
<p>The saga continues&#8230; *eye twitch* *eye twitch* *eye twitch* *eye twitch*</p>
]]></content:encoded>
			<wfw:commentRss>http://gregbaker.ca/blog/2010/05/30/how-fried-rice-drove-me-insane-part-2/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
