<?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>davemclain.com</title>
	<atom:link href="http://davemclain.com/feed" rel="self" type="application/rss+xml" />
	<link>http://davemclain.com</link>
	<description>my life dot com</description>
	<pubDate>Sun, 19 Apr 2009 06:10:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Christ, Jesus is calling the Austin Stone</title>
		<link>http://davemclain.com/archives/319</link>
		<comments>http://davemclain.com/archives/319#comments</comments>
		<pubDate>Sun, 19 Apr 2009 06:10:34 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=319</guid>
		<description><![CDATA[One of the most entertaining bugs I&#8217;ve ever witnessed is in the Caller ID system at the Austin Stone. I helped Doug roll out a voice over IP system when the church ran out of extensions on it&#8217;s legacy system. One of the neat things we did is write a perl script that would take [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most entertaining bugs I&#8217;ve ever witnessed is in the Caller ID system at the Austin Stone. I helped Doug roll out a voice over IP system when the church ran out of extensions on it&#8217;s legacy system. One of the neat things we did is write a perl script that would take each inbound call and do a database lookup that searched for any members who had that phone number. </p>
<p>The system worked great, and like all good systems was forgotten and people just learned to trust that we just had really accurate caller id. This was a problem for some people because they were in the habit of calling into the office to do occasional prank calls. The most famous of these was on a new ministry assistant&#8217;s first day, when one of the members of the church called in pretending to be Louie Giglio and asked for Chris Tomlin&#8217;s cell phone number. (For those not steeped in Christian culture, Chris Tomlin used to be the worship leader at the Stone and he is <a href='http://en.wikipedia.org/wiki/Chris_Tomlin'>fairly famous</a>, <a href='http://en.wikipedia.org/wiki/Louie_Giglio'>Louie Giglio</a> is also fairly famous and is close with Tomlin). This flustered the new worker, and Matt Carter got on the line to see why Louie needed Tomlin&#8217;s number, at which point the ruse unraveled. </p>
<p>The system was called into question one day when the office manager received a phone call from one &#8216;Christ, Jesus&#8217;, which for some reason they immediately thought was me playing a prank. I was offended, not because that kind of goofing around was beneath me, but rather because I wish I had thought of it. </p>
<p>As it turns out, several months after rolling out caller ID, we introduced a new web application for people to sign up for small groups, and one of the steps was for people to enter their contact information into the system. One young adult small group leader thought it would be hilarious to have Jesus in his group, so he signed him up; Jesus Christ, address: 2000 Salvation Drive, Jerusalem, TX 12345, phone: (000) 000-0000. That last part caused the issue, as there are some auto-dialers that send 000-000-0000 as their caller id, and our spiffy caller id system overrides the default message and tells the office that Our Lord and Savior is calling.</p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/319/feed</wfw:commentRss>
		</item>
		<item>
		<title>Backyard Evolution</title>
		<link>http://davemclain.com/archives/315</link>
		<comments>http://davemclain.com/archives/315#comments</comments>
		<pubDate>Wed, 18 Feb 2009 23:37:45 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=315</guid>
		<description><![CDATA[The previous owners of my little homestead were content to let the backyard (and front) grow as the plants saw fit, which is fine as a philosophy, but ends up with more chaos than I am apparently happy with. One of the results is that trees end up growing into some rather strange configurations, including [...]]]></description>
			<content:encoded><![CDATA[<p>The previous owners of my little homestead were content to let the backyard (and front) grow as the plants saw fit, which is fine as a philosophy, but ends up with more chaos than I am apparently happy with. One of the results is that trees end up growing into some rather strange configurations, including a live oak sapling that was growing at a 45 degree angle that would someday inevitably make the lower portion of my deck less than usable (somewhat like the much older oak that everybody demands I leave standing that is going to force the reconfiguration of the deck this summer). I mercilessly pruned (cut down) two of the trees that were choking this little sapling out and twined the tree up into a configuration that should hopefully get it more sun and not encroach on the deck as much. </p>
<p>Unfortunately it&#8217;s going to be years before the little guy looks anything less than pathetic compared to the rest of this forest in which I live. Luckily, I know a little bit about television sci-fi and my sisters gave me a delightful present for Christmas, so I <a href="http://en.wikipedia.org/wiki/Hang_a_lantern">hung a lantern on it</a>.</p>
<div id="attachment_316" class="wp-caption alignnone" style="width: 235px"><a href="http://davemclain.com/wp-content/uploads/2009/02/photo.jpg"><img src="http://davemclain.com/wp-content/uploads/2009/02/photo-225x300.jpg" alt="Lantern hanging off my small oak" title="baby-oak" width="225" height="300" class="size-medium wp-image-316" /></a><p class="wp-caption-text">Lantern hanging off my small oak</p></div>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/315/feed</wfw:commentRss>
		</item>
		<item>
		<title>Cisco crushes my dreams</title>
		<link>http://davemclain.com/archives/313</link>
		<comments>http://davemclain.com/archives/313#comments</comments>
		<pubDate>Tue, 17 Feb 2009 22:50:54 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=313</guid>
		<description><![CDATA[http://arstechnica.com/hardware/news/2009/02/cisco-bakes-software-security-into-new-linksys-routers.ars
Last week I was thinking/discussing with some people how there is a market for a router running custom firmware that monitors/restricts internet usage and has a user friendly web interface for a monthly fee. Guess Cisco was thinking and discussing that too.
At least it was just in the idea phase.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://arstechnica.com/hardware/news/2009/02/cisco-bakes-software-security-into-new-linksys-routers.ars">http://arstechnica.com/hardware/news/2009/02/cisco-bakes-software-security-into-new-linksys-routers.ars</a></p>
<p>Last week I was thinking/discussing with some people how there is a market for a router running custom firmware that monitors/restricts internet usage and has a user friendly web interface for a monthly fee. Guess Cisco was thinking and discussing that too.</p>
<p>At least it was just in the idea phase.</p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/313/feed</wfw:commentRss>
		</item>
		<item>
		<title>Winning a race, I&#8217;d prefer to lose</title>
		<link>http://davemclain.com/archives/306</link>
		<comments>http://davemclain.com/archives/306#comments</comments>
		<pubDate>Fri, 12 Dec 2008 00:04:23 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=306</guid>
		<description><![CDATA[Austin got snow before Seattle did this year. (So did Houston and New Orleans) Now we just need another few days above 70 before Christmas and I&#8217;ll be happy.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_307" class="wp-caption alignnone" style="width: 235px"><a href="http://davemclain.com/wp-content/uploads/2008/12/photo13.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/12/photo13-225x300.jpg" alt="Snow on my car and house" title="Snow" width="225" height="300" class="size-medium wp-image-307" /></a><p class="wp-caption-text">Snow on my car and house</p></div>
<p>Austin got snow before Seattle did this year. (So did Houston and New Orleans) Now we just need another few days above 70 before Christmas and I&#8217;ll be happy.</p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/306/feed</wfw:commentRss>
		</item>
		<item>
		<title>Laying hardwood down the hall</title>
		<link>http://davemclain.com/archives/293</link>
		<comments>http://davemclain.com/archives/293#comments</comments>
		<pubDate>Wed, 19 Nov 2008 01:55:11 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Housing]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=293</guid>
		<description><![CDATA[Obligatory: That&#8217;s what she said. I&#8217;m glad I&#8217;m done with this project because it was impossible to talk about it without getting those comments. I&#8217;m also glad because it looks freaking awesome.
  
The craziest thing about this project is I wasn&#8217;t planning on doing it in the first place. I just had so much [...]]]></description>
			<content:encoded><![CDATA[<p>Obligatory: That&#8217;s what she said. I&#8217;m glad I&#8217;m done with this project because it was impossible to talk about it without getting those comments. I&#8217;m also glad because it looks freaking awesome.</p>
<p><a href="http://davemclain.com/wp-content/uploads/2008/11/photo10.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo10-225x300.jpg" alt="" title="photo10" width="225" height="300" class="alignnone size-medium wp-image-294" /></a> <a href="http://davemclain.com/wp-content/uploads/2008/11/photo11.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo11-225x300.jpg" alt="" title="photo11" width="225" height="300" class="alignnone size-medium wp-image-295" /></a> </p>
<p>The craziest thing about this project is I wasn&#8217;t planning on doing it in the first place. I just had so much leftover wood that I couldn&#8217;t not do it. (yes, TWSS) I wanted to have that point at the edge of the living room be the boundary between public and private and have a wood to carpet boundary, but I guess since the guest bathroom is public this makes more sense. Of course, I still have extra flooring and no more floor to cover, but I think I&#8217;ll live.</p>
<p>Oh and here&#8217;s a side-by-side before and after:</p>
<p><a href="http://davemclain.com/wp-content/uploads/2008/11/img_0045.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/img_0045-225x300.jpg" alt="" title="img_0045" width="225" height="300" class="alignnone size-medium wp-image-300" /></a> <a href="http://davemclain.com/wp-content/uploads/2008/11/photo12.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo12-225x300.jpg" alt="" title="photo12" width="225" height="300" class="alignnone size-medium wp-image-304" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/293/feed</wfw:commentRss>
		</item>
		<item>
		<title>The tile I traded my knees for</title>
		<link>http://davemclain.com/archives/282</link>
		<comments>http://davemclain.com/archives/282#comments</comments>
		<pubDate>Sun, 16 Nov 2008 05:22:04 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Housing]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=282</guid>
		<description><![CDATA[Today, I (finally) laid some tile in the guest bathroom. Multi-colored slate in a basic grid pattern. There&#8217;s a part of me that wishes I had gone diagonal or used some smaller tiles, but my sister Susan pointed out to me that it&#8217;s already very visually interesting with the different colors and textures.
   [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I (finally) laid some tile in the guest bathroom. Multi-colored slate in a basic grid pattern. There&#8217;s a part of me that wishes I had gone diagonal or used some smaller tiles, but my sister Susan pointed out to me that it&#8217;s already very visually interesting with the different colors and textures.<br />
<a href="http://davemclain.com/wp-content/uploads/2008/11/photo6.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo6-225x300.jpg" alt="" title="photo6" width="225" height="300" class="alignnone size-medium wp-image-283" /></a> <a href="http://davemclain.com/wp-content/uploads/2008/11/photo7.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo7-225x300.jpg" alt="" title="photo7" width="225" height="300" class="alignnone size-medium wp-image-284" /></a> <a href="http://davemclain.com/wp-content/uploads/2008/11/photo8.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo8-225x300.jpg" alt="" title="photo8" width="225" height="300" class="alignnone size-medium wp-image-285" /></a> <a href="http://davemclain.com/wp-content/uploads/2008/11/photo9.jpg"><img src="http://davemclain.com/wp-content/uploads/2008/11/photo9-225x300.jpg" alt="" title="photo9" width="225" height="300" class="alignnone size-medium wp-image-286" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/282/feed</wfw:commentRss>
		</item>
		<item>
		<title>Stupid Sign Errors</title>
		<link>http://davemclain.com/archives/280</link>
		<comments>http://davemclain.com/archives/280#comments</comments>
		<pubDate>Wed, 05 Nov 2008 03:10:23 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Programming]]></category>

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

		<guid isPermaLink="false">http://davemclain.com/?p=280</guid>
		<description><![CDATA[
    if (lastCall != nil &#038;&#038; [lastCall timeIntervalSinceNow] < 300) {
        if ([cacheData valueForKey:scenario] == nil) return; //user double clicked update
        [self loadScenario:[cacheData valueForKey:scenario]];
        return;
    }

Turns out calling [...]]]></description>
			<content:encoded><![CDATA[<pre>
    if (lastCall != nil &#038;&#038; [lastCall timeIntervalSinceNow] < 300) {
        if ([cacheData valueForKey:scenario] == nil) return; //user double clicked update
        [self loadScenario:[cacheData valueForKey:scenario]];
        return;
    }
</pre>
<p>Turns out calling timeIntervalSinceNow on a date in the past gives you a negative number. And as now gets later and later it gets more and more negative. So, it will never be more than 300, and our app never lets users refresh the data. Thank God, I never wrote that number out to disk, so if you shut down the app and reopen it, the app will successfully load new results.</p>
<p>In other news I hate rich client apps. If this were a web app, or I had done what I planned on doing earlier and putting the timeout inside of the file, I could fix it. There&#8217;s basically no way I can fix it at this point. If anybody using the app reads this. I am sorry. My bad.</p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/280/feed</wfw:commentRss>
		</item>
		<item>
		<title>Earthquakes + Tornadoes = Just move, seriously</title>
		<link>http://davemclain.com/archives/278</link>
		<comments>http://davemclain.com/archives/278#comments</comments>
		<pubDate>Sat, 01 Nov 2008 05:49:19 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://davemclain.com/?p=278</guid>
		<description><![CDATA[Apparently, those durn Californians are so intent on making Texas like their old home they brang the earthquakes with &#8216;em.
http://www.statesman.com/news/content/gen/ap/TX_Texas_Earthquake.html?imw=Y&#038;plckCurrentPage=0&#038;sid=sitelife.statesman.com.
]]></description>
			<content:encoded><![CDATA[<p>Apparently, those durn Californians are so intent on making Texas like their old home they brang the earthquakes with &#8216;em.</p>
<p><a href="http://www.statesman.com/news/content/gen/ap/TX_Texas_Earthquake.html?imw=Y&#038;plckCurrentPage=0&#038;sid=sitelife.statesman.com.">http://www.statesman.com/news/content/gen/ap/TX_Texas_Earthquake.html?imw=Y&#038;plckCurrentPage=0&#038;sid=sitelife.statesman.com.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/278/feed</wfw:commentRss>
		</item>
		<item>
		<title>One of my Favorite Interview Questions</title>
		<link>http://davemclain.com/archives/269</link>
		<comments>http://davemclain.com/archives/269#comments</comments>
		<pubDate>Thu, 30 Oct 2008 18:34:13 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Programming]]></category>

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

		<guid isPermaLink="false">http://davemclain.com/?p=269</guid>
		<description><![CDATA[This was stolen from a hiring manager with Microsoft Office when I went through one of the strangest interview loops of my life. Maybe I&#8217;ll talk about that another time, but suffice it to say that if another multinational technology company tries to hire me they shouldn&#8217;t try to do it in an office park [...]]]></description>
			<content:encoded><![CDATA[<p>This was stolen from a hiring manager with Microsoft Office when I went through one of the strangest interview loops of my life. Maybe I&#8217;ll talk about that another time, but suffice it to say that if another multinational technology company tries to hire me they shouldn&#8217;t try to do it in an office park in Las Colinas (Dallas suburb) in a room with no windows under absurd &#8220;This offer expires at the door&#8221; conditions. But I don&#8217;t want to talk about the past, I want to share a pretty mind bending interview question. If you&#8217;ve found this because I&#8217;m going to be interviewing you, please mention that you found this entry. I will be impressed that you did research in advance on your interviewer.</p>
<p>As with all good interview questions this one is best done in C. Imagine a singly-linked list who&#8217;s data is a pointer to another node in the list or is null. So you&#8217;ve got something like:</p>
<pre>
struct Node {
	Node* next;
	Node* data;
}
</pre>
</p>
<p>Write a function that when passed a linked list makes a deep copy. By which I mean that if you had the following</p>
<table>
<tr>
<th>Node</th>
<th>Next</th>
<th>Data</th>
</tr>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>B</td>
<td>C</td>
<td>null</td>
</tr>
<tr>
<td>C</td>
<td>null</td>
<td>C</td>
</tr>
</table>
<p>the function would return:</p>
<table>
<tr>
<th>Node</th>
<th>Next</th>
<th>Data</th>
</tr>
<tr>
<td>D</td>
<td>E</td>
<td>F</td>
</tr>
<tr>
<td>E</td>
<td>F</td>
<td>null</td>
</tr>
<tr>
<td>F</td>
<td>null</td>
<td>F</td>
</tr>
</table>
<p>Well, a pointer to D, but you knew that already. Writing any function that successfully implements the problem description is passing, but the bonus points come when you do it without using any additional memory (with the obvious exception of the new Nodes that need to be created). To be considered all answers must be in linear time (multiple iterations of the list are acceptable, but it should be a constant number of times, but you knew that when I said linear time)</p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/269/feed</wfw:commentRss>
		</item>
		<item>
		<title>Polytechnical</title>
		<link>http://davemclain.com/archives/267</link>
		<comments>http://davemclain.com/archives/267#comments</comments>
		<pubDate>Thu, 30 Oct 2008 18:14:37 +0000</pubDate>
		<dc:creator>dave</dc:creator>
		
		<category><![CDATA[Programming]]></category>

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

		<guid isPermaLink="false">http://davemclain.com/?p=267</guid>
		<description><![CDATA[Operating Systems used in the last two weeks:

OS X (Leopard)
Windows (XP)
Linux (Ubuntu Silly Something)

Programming Languages used in the last two weeks:

Java
Objective-C (iPhone)
Python (dinky little script for Austin Stone, but still)
PHP (ASCC again)
Ruby
VB.NET (sorta, was used while conducting an interview)

I don&#8217;t know what the cost in depth is when trying to stay current in a number [...]]]></description>
			<content:encoded><![CDATA[<p>Operating Systems used in the last two weeks:</p>
<ul>
<li>OS X (Leopard)</li>
<li>Windows (XP)</li>
<li>Linux (Ubuntu Silly Something)</li>
</ul>
<p>Programming Languages used in the last two weeks:</p>
<ul>
<li>Java</li>
<li>Objective-C (iPhone)</li>
<li>Python (dinky little script for Austin Stone, but still)</li>
<li>PHP (ASCC again)</li>
<li>Ruby</li>
<li>VB.NET (sorta, was used while conducting an interview)</li>
</ul>
<p>I don&#8217;t know what the cost in depth is when trying to stay current in a number of different technologies, but it does make me keenly aware of which technology space I&#8217;m in. Objective-C ticks me off when I need to manage my own memory (especially when there&#8217;s so little of it). Java when I deal with hashtables or delegates which are so wonderful in other languages. PHP when I have to look at it. VB when I think about arrays.</p>
<p>I need to get some time in on C# here before too long. I&#8217;ve heard there&#8217;s a 800 character long regular expression that can convert Java 1.4 into C# 2.0 and vice versa, but there&#8217;s stuff like LINQ that I&#8217;d like to get my hands on.</p>
]]></content:encoded>
			<wfw:commentRss>http://davemclain.com/archives/267/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
