<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.12-alpha" -->
<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/"
	>

<channel>
	<title>Daemian Mack</title>
	<link>http://daemianmack.com</link>
	<description>daemianmack.com</description>
	<pubDate>Fri, 27 Jun 2008 23:23:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.12-alpha</generator>
	<language>en</language>
			<item>
		<title>The Thing About Git</title>
		<link>http://daemianmack.com/2008/04/08/the-thing-about-git/</link>
		<comments>http://daemianmack.com/2008/04/08/the-thing-about-git/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 22:17:18 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/04/08/the-thing-about-git/</guid>
		<description><![CDATA[Gitcasts
The Thing About Git &#8212; One man&#8217;s workflow with some debate in the comments about the utility of the index.
Another man&#8217;s git workflow.
git awsome-ness [git rebase &#8211;interactive]  &#8212; All about git rebase &#8211;interactive.
Git merging by example.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gitcasts.com/">Gitcasts</a></p>
<p><a href="http://tomayko.com/writings/the-thing-about-git">The Thing About Git</a> &#8212; One man&#8217;s workflow with some debate in the comments about the utility of the index.</p>
<p><a href="http://osteele.com/archives/2008/05/my-git-workflow">Another man&#8217;s git workflow</a>.</p>
<p><a href="http://blog.madism.org/index.php/2007/09/09/138-git-awsome-ness-git-rebase-interactive#pnote-138-1">git awsome-ness [git rebase &#8211;interactive]</a>  &#8212; All about git rebase &#8211;interactive.</p>
<p><a href="http://blog.jrock.us/articles/Git%20merging%20by%20example.pod">Git merging by example</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/04/08/the-thing-about-git/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ruby + win32ole</title>
		<link>http://daemianmack.com/2008/04/03/ruby-win32ole/</link>
		<comments>http://daemianmack.com/2008/04/03/ruby-win32ole/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 00:24:17 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/04/03/ruby-win32ole/</guid>
		<description><![CDATA[# SAVING document
word.activedocument.saveas file_name, wdFormatText
# notice the 2nd parameter which is a numeric constant
# indicating the file format to save in thusly:
# I believe omitting 2nd parameter would save in native .doc)
#   wdFormatDocument = 0 (no conversion)
#   wdFormatTemplate = 1
#   wdFormatText = 2
#   wdFormatTextLineBreaks = 3
#  [...]]]></description>
			<content:encoded><![CDATA[<p># SAVING document<br />
word.activedocument.saveas file_name, wdFormatText<br />
# notice the 2nd parameter which is a numeric constant<br />
# indicating the file format to save in thusly:<br />
# I believe omitting 2nd parameter would save in native .doc)<br />
#   wdFormatDocument = 0 (no conversion)<br />
#   wdFormatTemplate = 1<br />
#   wdFormatText = 2<br />
#   wdFormatTextLineBreaks = 3<br />
#   wdFormatDOSText = 4<br />
#   wdFormatDOSTextLineBreaks = 5<br />
#   wdFormatRTF = 6<br />
#   wdFormatUnicodeText = 7  # it repeats!<br />
#   wdFormatEncodedText = 7<br />
#   wdFormatHTML = 8<br />
#   wdFormatWebArchive = 9<br />
#   wdFormatFilteredHTML = 10<br />
#   wdFormatXML = 11</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/04/03/ruby-win32ole/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ruby + XPath</title>
		<link>http://daemianmack.com/2008/03/28/ruby-xpath/</link>
		<comments>http://daemianmack.com/2008/03/28/ruby-xpath/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 18:20:15 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/03/28/ruby-xpath/</guid>
		<description><![CDATA[To document an annoying example&#8230;

require 'rexml/document'
include REXML #namespace convenience
doc = Document.new File.read("chiquita_shipments.xml")
doc.elements.each("//fruits/fruit/color") do &#124;el&#124;
  puts el.parent if el.texts[0].to_s == "yellow"
end

Let&#8217;s say chiquita_shipments.xml looks like&#8230;

&#60;pallet number='1'&#62;
&#60;fruits&#62;
  &#60;fruit&#62;
    &#60;name&#62;banana&#60;/name&#62;
    &#60;color&#62;yellow&#60;/color&#62;
    &#60;round&#62;no&#60;/round&#62;
  &#60;/fruit&#62;
&#60;fruits&#62;
&#60;pallet&#62;
]]></description>
			<content:encoded><![CDATA[<p>To document an annoying example&#8230;</p>
<p><code><br />
require 'rexml/document'<br />
include REXML #namespace convenience<br />
doc = Document.new File.read("chiquita_shipments.xml")<br />
doc.elements.each("//fruits/fruit/color") do |el|<br />
  puts el.parent if el.texts[0].to_s == "yellow"<br />
end<br />
</code></p>
<p>Let&#8217;s say chiquita_shipments.xml looks like&#8230;</p>
<pre>
&lt;pallet number='1'&gt;
&lt;fruits&gt;
  &lt;fruit&gt;
    &lt;name&gt;banana&lt;/name&gt;
    &lt;color&gt;yellow&lt;/color&gt;
    &lt;round&gt;no&lt;/round&gt;
  &lt;/fruit&gt;
&lt;fruits&gt;
&lt;pallet&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/03/28/ruby-xpath/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex and AIR</title>
		<link>http://daemianmack.com/2008/03/28/flex-and-air/</link>
		<comments>http://daemianmack.com/2008/03/28/flex-and-air/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 17:51:15 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/03/28/flex-and-air/</guid>
		<description><![CDATA[Every so often the VP of Ops drops in and gives me something awesome to do; last Monday I inherited a Flex/AIR app used to help convert what I&#8217;ll euphemise as &#8216;critical customer assets&#8217; from an old codeline to a new one. This gives me a chance to play with a whole bunch of new [...]]]></description>
			<content:encoded><![CDATA[<p>Every so often the VP of Ops drops in and gives me something awesome to do; last Monday I inherited a Flex/AIR app used to help convert what I&#8217;ll euphemise as &#8216;critical customer assets&#8217; from an old codeline to a new one. This gives me a chance to play with a whole bunch of new things I&#8217;ve never had the excuse to before&#8230;</p>
<ul>
<li>Flex</li>
<li>Adobe Illustrator</li>
<li>Eclipse (I&#8217;ve played with it occasionally, but I&#8217;ve never had a reason to leave VIM)</li>
<li>Our internal, uh, &#8216;asset format&#8217;</li>
</ul>
<p>Flex is particularly cool because bundled with AIR, it lets you take web-centric UI concepts and apply them to desktop applications. Out of the box, the GUI builder is easier to work with and creates prettier interfaces than just about any other GUI toolkit I&#8217;ve played with. You can use CSS rules to style the appearance and layout. </p>
<p>Flex/Eclipse tip. The following error&#8230;</p>
<p><code>initial content not found</code></p>
<p>is probably due to your having mucked up the <code>workspace\[PROJECT_NAME]\.actionScriptProperties</code> file. In my case, a libraryPathEntry had gone missing. (Google has yet to learn this trick, which would have saved a piece of my Friday.) </p>
<p>In short, restore from an Eclipse project backup or regenerate a new project.
</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/03/28/flex-and-air/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Futuristic Play by Andrew Chen: Facebook viral marketing: When and why do apps</title>
		<link>http://daemianmack.com/2008/03/06/futuristic-play-by-andrew-chen-facebook-viral-marketing-when-and-why-do-apps/</link>
		<comments>http://daemianmack.com/2008/03/06/futuristic-play-by-andrew-chen-facebook-viral-marketing-when-and-why-do-apps/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 12:47:34 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/03/06/futuristic-play-by-andrew-chen-facebook-viral-marketing-when-and-why-do-apps/</guid>
		<description><![CDATA[Futuristic Play by Andrew Chen: Facebook viral marketing: When and why do apps &#8220;jump the shark?&#8221;
]]></description>
			<content:encoded><![CDATA[<p><a href="http://andrewchen.typepad.com/andrew_chens_blog/2008/03/facebook-viral.html">Futuristic Play by Andrew Chen: Facebook viral marketing: When and why do apps &#8220;jump the shark?&#8221;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/03/06/futuristic-play-by-andrew-chen-facebook-viral-marketing-when-and-why-do-apps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rands In Repose: I Don&#8217;t Multitask</title>
		<link>http://daemianmack.com/2008/03/06/rands-in-repose-i-dont-multitask/</link>
		<comments>http://daemianmack.com/2008/03/06/rands-in-repose-i-dont-multitask/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 12:20:55 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/03/06/rands-in-repose-i-dont-multitask/</guid>
		<description><![CDATA[Rands In Repose: I Dont Multitask
When I see this guy pop up in my RSS feeds, I tend to stop everything else I&#8217;m doing.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.randsinrepose.com/archives/2008/03/06/i_dont_multitask.html">Rands In Repose: I Dont Multitask</a></p>
<p>When I see this guy pop up in my RSS feeds, I tend to stop everything else I&#8217;m doing.
</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/03/06/rands-in-repose-i-dont-multitask/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Design details of Audiogalaxy.com’s high performance MySQL search engine</title>
		<link>http://daemianmack.com/2008/02/29/design-details-of-audiogalaxycom%e2%80%99s-high-performance-mysql-search-engine-spitefulcom/</link>
		<comments>http://daemianmack.com/2008/02/29/design-details-of-audiogalaxycom%e2%80%99s-high-performance-mysql-search-engine-spitefulcom/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 00:15:19 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/2008/02/29/design-details-of-audiogalaxycom%e2%80%99s-high-performance-mysql-search-engine-spitefulcom/</guid>
		<description><![CDATA[&#8220;&#8230;search was one of most interesting problems I worked on at Audiogalaxy. It was one of the core functions of the site, and somewhere between 50 to 70 million searches were performed every day. At peak times, the search engine needed to handle 1500-2000 searches every second against a MySQL database with about 200 million [...]]]></description>
			<content:encoded><![CDATA[<p><I>&#8220;&#8230;search was one of most interesting problems I worked on at Audiogalaxy. It was one of the core functions of the site, and somewhere between 50 to 70 million searches were performed every day. At peak times, the search engine needed to handle 1500-2000 searches every second against a MySQL database with about 200 million rows. It was frequently hard to design for more than 10 or 100x our current traffic (and our growth was so dramatic that there wasn’t really ever time to spend more than a few weeks on the problem), so it wasn’t until the 4th major iteration on the cluster design that I really considered the scale problems to be solved.</p>
<p><a href="http://www.spiteful.com/2008/02/29/design-details-of-audiogalaxycoms-high-performance-mysql-search-engine/">Here is a diagram of the architecture I ended up with (component explanations are below)&#8230;</a>&#8220;</i>
</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/02/29/design-details-of-audiogalaxycom%e2%80%99s-high-performance-mysql-search-engine-spitefulcom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Protecting Journalistic Integrity Algorithmically</title>
		<link>http://daemianmack.com/2008/02/27/protecting-journalistic-integrity-algorithmically/</link>
		<comments>http://daemianmack.com/2008/02/27/protecting-journalistic-integrity-algorithmically/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 12:38:07 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/?p=4</guid>
		<description><![CDATA[Protecting Journalistic Integrity Algorithmically
Best of all this contains a sighting of the elusive hoverchuck&#8230;

&#8230;so you know it&#8217;s going to be a computational success.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://lemonodor.com/archives/2008/02/protecting_journalistic_integrity_algorithmically.html">Protecting Journalistic Integrity Algorithmically</a></p>
<p>Best of all this contains a sighting of the elusive hoverchuck&#8230;</p>
<p><img src="http://lemonodor.com/images/hoverchuck.jpg"></p>
<p>&#8230;so you know it&#8217;s going to be a computational success.
</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/02/27/protecting-journalistic-integrity-algorithmically/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The case of the 500-mile email</title>
		<link>http://daemianmack.com/2008/02/26/%e2%99%a0/</link>
		<comments>http://daemianmack.com/2008/02/26/%e2%99%a0/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 02:08:07 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false">http://daemianmack.com/?p=3</guid>
		<description><![CDATA[I love this kind of story.
The case of the 500-mile email
&#8220;What&#8217;s the problem?&#8221; I asked.
&#8220;We can&#8217;t send mail more than 500 miles,&#8221; the chairman explained.
I choked on my latte.  &#8220;Come again?&#8221;
]]></description>
			<content:encoded><![CDATA[<p>I love this kind of story.</p>
<blockquote><p><a href="http://www.ibiblio.org/harris/500milemail.html">The case of the 500-mile email</a></p>
<p>&#8220;What&#8217;s the problem?&#8221; I asked.</p>
<p>&#8220;We can&#8217;t send mail more than 500 miles,&#8221; the chairman explained.</p>
<p>I choked on my latte.  &#8220;Come again?&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/02/26/%e2%99%a0/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why does this exist?</title>
		<link>http://daemianmack.com/2008/02/20/hello-world/</link>
		<comments>http://daemianmack.com/2008/02/20/hello-world/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 20:08:21 +0000</pubDate>
		<dc:creator>daemianmack</dc:creator>
		
		<category>Uncategorized</category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This theme is, despite the reference to Hemingway &#8212; who I think is over-rated &#8212; and notwithstanding (or even perhaps aided by) the fact that it&#8217;s somehow slightly pretentious&#8230; totally sweet.
Wordpress has some neat little bits to it. If this weren&#8217;t mostly experimental, I might feel silly not using something more Rubyish, like Mephisto, except [...]]]></description>
			<content:encoded><![CDATA[<p>This theme is, despite the reference to Hemingway &#8212; who I think is over-rated &#8212; and notwithstanding (or even perhaps aided by) the fact that it&#8217;s somehow slightly pretentious&#8230; totally sweet.</p>
<p>Wordpress has some neat little bits to it. If this weren&#8217;t mostly experimental, I might feel silly not using something more Rubyish, like Mephisto, except I already maintain several mongrel clusters at work and frankly, I don&#8217;t want to do it here also. There&#8217;s a lot to be said for mod_php being just mod_php and not some terrible many-moving-part combination of [mod_proxy, mod_proxy_balancer, pen, pound, mongrel, thin, nginx, lighttpd]&#8230; each piece of which then requires an entry or routine in monit or whatever.<br />
<strong>To sum up</strong>: as demonstrated, <em>no</em>, there&#8217;s nothing of interest here.</p>
<p>I recently looked up an old friend and realized all over again how difficult it is to find people on the net. The name &#8216;Daemian&#8217; is unusual enough that it shouldn&#8217;t be impossible, assuming you&#8217;ve somehow managed to remember the actual spelling; on the other hand, Google shows a bunch of references to people who happen to spell their name similarly. Thus, this.</p>
<p>I plan, without any actual expectation of updating this ever again, to use this as a means for people to find me on the net, and while serving that noble purpose, there may be a couple semi-nifty search-related things I could do with it, like seducing Google into finally containing a few of the more obscure problems I end up researching multiple times, like this one&#8230;</p>
<p>Q: What does it mean when Apache reports</p>
<p><code>Unknown DAV provider: filesystem</code><br />
?</p>
<p>A: It probably means&#8230;</p>
<p><code>/etc/apache2/mods-available/dav_fs.conf:DAVLockDB /var/lock/apache2/DAVLock</code><br />
The file referenced there doesn&#8217;t exist. /var/ is mounted as tmpfs in at least Gentoo and Ubuntu, so it gets wiped out at every boot, which doesn&#8217;t make a lot of sense when you think about it.</p>
<p>Fascinating, yes. Stay tuned for further jaw-dropping excerpts.
</p>
]]></content:encoded>
			<wfw:commentRss>http://daemianmack.com/2008/02/20/hello-world/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
