<?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>Slowdog</title>
	<atom:link href="http://slowdog.net/feed" rel="self" type="application/rss+xml" />
	<link>http://slowdog.net</link>
	<description>There Will Be Code</description>
	<lastBuildDate>Fri, 13 Aug 2010 21:36:15 +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>Learn to Properly Coil Your MacBook&#8217;s Power Cord</title>
		<link>http://slowdog.net/archives/424</link>
		<comments>http://slowdog.net/archives/424#comments</comments>
		<pubDate>Fri, 13 Aug 2010 21:36:15 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://slowdog.net/?p=424</guid>
		<description><![CDATA[Nice little tip. Bonus is that by keeping the cord through the loop, it doesn&#8217;t come completely unraveled while on top of my desk (which it really likes to do otherwise).]]></description>
			<content:encoded><![CDATA[<p>Nice little tip. Bonus is that by keeping the cord through the loop, it doesn&#8217;t come completely unraveled while on top of my desk (which it really likes to do otherwise).</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/424/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RegExr</title>
		<link>http://slowdog.net/archives/422</link>
		<comments>http://slowdog.net/archives/422#comments</comments>
		<pubDate>Fri, 06 Aug 2010 17:45:43 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[geek]]></category>

		<guid isPermaLink="false">http://slowdog.net/?p=422</guid>
		<description><![CDATA[Awesome little tool for checking regular expressions (despite that it&#8217;s in flash ).]]></description>
			<content:encoded><![CDATA[<p>Awesome little tool for checking regular expressions (despite that it&#8217;s in flash <img src='http://slowdog.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/422/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Terminal Tips and Tricks For Mac OS X &#8211; Super User</title>
		<link>http://slowdog.net/archives/420</link>
		<comments>http://slowdog.net/archives/420#comments</comments>
		<pubDate>Wed, 28 Jul 2010 23:29:10 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://slowdog.net/?p=420</guid>
		<description><![CDATA[Something worth keeping an eye on as I&#8217;m sure there&#8217;s going to be some useful stuff from time to time.]]></description>
			<content:encoded><![CDATA[<p>Something worth keeping an eye on as I&#8217;m sure there&#8217;s going to be some useful stuff from time to time.</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/420/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roasted Apricot Ice Cream with Almond Praline Ripple</title>
		<link>http://slowdog.net/archives/407</link>
		<comments>http://slowdog.net/archives/407#comments</comments>
		<pubDate>Sun, 25 Jul 2010 03:09:23 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[food]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=407</guid>
		<description><![CDATA[Despite my denials, I&#8217;ve been getting increasingly more lactose intolerant. But I still like me some ice cream. Enter coconut milk. I&#8217;ve been enjoying it with my coffee for a while now, and, as it turns out, the ice cream (or &#8220;frozen non-dairy dessert&#8221;) is delicious. None of that weird soy taste (my son says [...]]]></description>
			<content:encoded><![CDATA[<p>Despite my denials, I&#8217;ve been getting increasingly more lactose intolerant. But I still like me some ice cream. Enter coconut milk. I&#8217;ve been enjoying it with my coffee for a while now, and, as it turns out, the ice cream (or &#8220;frozen non-dairy dessert&#8221;) is delicious. None of that weird soy taste (my son says he tastes the coconut, I can&#8217;t; maybe I&#8217;ve become immune). Anyway, I&#8217;ve been wondering about making it at home and did some looking. This recipe, by far, looked the best. Will update after I&#8217;ve had the chance to make it.</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/407/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 reasons why your company should be distributed &#171; toni.org</title>
		<link>http://slowdog.net/archives/405</link>
		<comments>http://slowdog.net/archives/405#comments</comments>
		<pubDate>Wed, 17 Mar 2010 22:46:37 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=405</guid>
		<description><![CDATA[Great post about the plusses of having a distributed company. I&#8217;ve worked remotely now for 5 years, so this hits home for me (so to speak). I&#8217;d dispute #3 somewhat as this certainly doesn&#8217;t force your team to use &#8220;better communication tools&#8221; (I have a founder who lives on the phone), but it&#8217;s certainly made [...]]]></description>
			<content:encoded><![CDATA[<p>Great post about the plusses of having a distributed company. I&#8217;ve worked remotely now for 5 years, so this hits home for me (so to speak). 
</p>

<p>I&#8217;d dispute #3 somewhat as this certainly doesn&#8217;t force your team to use &#8220;better communication tools&#8221; (I have a founder who lives on the phone), but it&#8217;s certainly made me better at recording things (either by wiki or email &#8211; none of use chat much).
</p>

<p>Really like idea #4, but currently all our developers are here in Portland, so there&#8217;s not much need (still think it&#8217;s a good idea, though).
</p>

<p>For #5, we all meet once a week in a coffee shop. I like the idea of having something more permanent, though, and especially using the space for meetups and such. </p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/405/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portland Architecture: Ecoroofs: for the birds?</title>
		<link>http://slowdog.net/archives/403</link>
		<comments>http://slowdog.net/archives/403#comments</comments>
		<pubDate>Wed, 17 Mar 2010 21:19:51 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[house]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=403</guid>
		<description><![CDATA[Our roof has so much lichen that I call it an living roof. Despite the joke, I&#8217;d really like to have a living roof, or ecoroof. Looks like the pitch of the roof must be under 25 degrees, so I don&#8217;t know if we&#8217;d qualify. But I need to follow up on this.]]></description>
			<content:encoded><![CDATA[<p>Our roof has so much lichen that I call it an living roof. Despite the joke, I&#8217;d really like to have a living roof, or ecoroof. Looks like the pitch of the roof must be under 25 degrees, so I don&#8217;t know if we&#8217;d qualify. But I need to follow up on this.</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/403/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gay marriage: the database engineering perspective @ Things Of Interest</title>
		<link>http://slowdog.net/archives/401</link>
		<comments>http://slowdog.net/archives/401#comments</comments>
		<pubDate>Wed, 17 Mar 2010 21:16:02 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[databases]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=401</guid>
		<description><![CDATA[Whoda thought that combining gay marriage and schema design would lead to an great post?]]></description>
			<content:encoded><![CDATA[<p>Whoda thought that combining gay marriage and schema design would lead to an great post?</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/401/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two MySQL Posts Which Make Me Secure In That I&#8217;ll Have Work For a While</title>
		<link>http://slowdog.net/archives/393</link>
		<comments>http://slowdog.net/archives/393#comments</comments>
		<pubDate>Wed, 17 Feb 2010 19:44:59 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[databases]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=393</guid>
		<description><![CDATA[This is going to make me sound like an old man (OK, right, I am old. So, suck it.), but these two posts alternately scare me and let me know that I&#8217;ll have work going into the future as a DB developer. In the first post, Chris Moos describes a problem he&#8217;s having with queries [...]]]></description>
			<content:encoded><![CDATA[<p>This is going to make me sound like an old man (OK, right, I <em>am</em> old. So, suck it.), but <a href="http://chrismoos.com/2010/01/31/mysql-partitioning-tables-with-millions-of-rows/">these</a> <a href="http://highscalability.com/blog/2010/2/3/nosql-means-never-having-to-store-blobs-again.html">two</a> posts alternately scare me and let me know that I&#8217;ll have work going into the future as a DB developer.<br />
<br />
In the first post, Chris Moos describes a problem he&#8217;s having with queries performing badly, doing full table scans over a 12M row table. His answer: partition the table. So, Chris, first off, let&#8217;s talk about this 12M row table. Does it really have to be so long? Can something be done (other than partitioning) to make it smaller. Second, um, have you heard of indexes? They work pretty well. (Not that our tables are all that big, but) We have tables well over twice that long (and they sound like they are much wider as well), and get good response on queries <em>using the indexes</em>. Why, why, would you go with something as complicated as partitioning, when there&#8217;s other approaches that should be tried first.<br />
<br />
The second post describes how, with the coming of more NoSQL solutions, MySQL doesn&#8217;t need to be used to store data objects as blobs anymore. A solution that earlier &#8220;made perfect sense.&#8221; There&#8217;s many arguments to the design of data objects, and I&#8217;ve been a part of many of them. I have big problems with the storing of objects as blobs which I won&#8217;t go into here. If that&#8217;s something you want to do, fine. But to do that using MySQL (or any relational DB is just plain stupid). And, it never made <em>any</em> sense, let alone perfect. When picking tools, familiarity with the tool is only one aspect. A much larger aspect is whether it&#8217;s the right tool for the job. MySQL has a lot of strengths, but the way it stores blobs is not one of them. And, the NoSQL solutions aren&#8217;t really new. Object-Relational, Object, and Document-based DB&#8217;s have been around for a long time. Not to mention, just using ye ole file system.<br />
<br />
My design steps? <br /></p>

<ol>
<li>Choose the right tools and be able to defend why you&#8217;re choosing them.</li>
<li>Keep things simple. Only get more complicated as the product/users dictate.</li>
<li>Think ahead, but not too much ahead. Are you designing for today, or the future? Don&#8217;t want to go crazy as who knows what the future holds, but try to at least think 3-6 months ahead.</li>
<li>Be ready to redesign something. Don&#8217;t hold onto a design for reasons of pride. It doesn&#8217;t work, then it doesn&#8217;t work. It&#8217;s only data, it&#8217;s movable.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/393/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to load large files safely into InnoDB tables</title>
		<link>http://slowdog.net/archives/389</link>
		<comments>http://slowdog.net/archives/389#comments</comments>
		<pubDate>Wed, 17 Feb 2010 02:41:33 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[databases]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=389</guid>
		<description><![CDATA[This is awesome! We&#8217;ve been having multiple issues with data loads recently. Especially one file we get monthly, which is not very wide (few columns, with small data types), but has over 27 millions rows. Even though our server is now huge, and I split the file into 7M row files, one of the &#8220;chunks&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>This is <em>awesome</em>! We&#8217;ve been having multiple issues with data loads recently. Especially one file we get monthly, which is not very wide (few columns, with small data types), but has over 27 millions rows. Even though our server is now huge, and I split the file into 7M row files, one of the &#8220;chunks&#8221; still almost brought down our database this month. About an hour into the load (the first two chunks, which loaded with no issues, took about 2.5 hours), all inserts started timing out. Looking at the monitoring graphs on RightScale, the cpu&#8217;s were pegged all waiting for disk response. Selects were still being returned, but all inserts had stopped. Weirdly, while new inserts were timing out, two inserts and one update were just hanging. Unfortunately, killing the load didn&#8217;t have any immediate affect as it needed to rollback the hour of changes it had made (don&#8217;t ask me why MySQL does a &#8220;load data infile&#8221; within a transaction; seems much smarter if it weren&#8217;t, but anyway &#8230;). Luckily, killing the three &#8220;hanging&#8221; processes did allow other inserts to start up again. And, after about 30 minutes, the data load process finally went away.</p>

<p>So, I went a-googling and found this article. We tried it on one file made up of the two remaining &#8220;chunks&#8221;, so around 13M rows (1.3GB). We set the fifo to 500K, and a delay of 30 seconds between each. Not only was the load on the db amazingly lower, but (most likely since memory wasn&#8217;t filling forcing the system to start swapping) the load was <em>amazingly</em> fast, loading everything in just over an hour. Yes, that&#8217;s right, from 2.5 hours for 7M rows to (I&#8217;ll round up and say) 1.5 hours for 13M rows.</p>

<p>Needless to say, I&#8217;m geeked-out about this.</p>

<p>Now, we just need to figure how to turn this into a repeatable monthly process.</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/389/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portland Transport: What Kind of Traveler are You?</title>
		<link>http://slowdog.net/archives/384</link>
		<comments>http://slowdog.net/archives/384#comments</comments>
		<pubDate>Wed, 17 Feb 2010 02:12:31 +0000</pubDate>
		<dc:creator>robl</dc:creator>
				<category><![CDATA[other]]></category>

		<guid isPermaLink="false">http://slowdog.net/wordpress/?p=384</guid>
		<description><![CDATA[From a survey originally done in Germany, five type of travelers are identified. Public transport rejecters. These believe public transport provides little sense of control or excitement. They are not open to change and see access to mobility as very important. Car individualists. Similar to public transport rejecters, but are open to change and consider [...]]]></description>
			<content:encoded><![CDATA[<p>From a survey originally done in Germany, five type of travelers are identified.</p>

<ol>
    <li>Public transport rejecters. These believe public transport provides little sense of control or excitement. They are not open to change and see access to mobility as very important.</li>
    <li>Car individualists. Similar to public transport rejecters, but are open to change and consider privacy more important.</li>
    <li>Weather-resistant cyclists. Positive towards bicycles and will cycle even in bad weather.</li>
    <li>Eco-sensitised public transport users. Positive towards public transport and are highly influenced by their environmental conscience.</li>
    <li>Self-determined mobile people. Perform the highest percentage of trips by foot; they do not consider mobility important and are not open to change. 
</li></ol>

<p>Among these, I guess I&#8217;d be closest to #5. Would much prefer to do my trips by foot. But, in no way do I &#8220;not consider mobility important&#8221;: in fact, it&#8217;s mainly for reasons of mobility that I prefer walking. Though, by mobility, I&#8217;m thinking versatility, and they may be thinking distance. Nor do I think I&#8217;m &#8220;not open to change&#8221;: though I used the bus a fair amount in Phila, I use it much more often here in Portland since distance if much more of an issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://slowdog.net/archives/384/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
