<?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>Linden LAN</title>
	<atom:link href="http://www.lindenlan.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lindenlan.net</link>
	<description></description>
	<lastBuildDate>Sat, 29 Nov 2014 04:54:20 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Vertically Align Arbitrary Length String Relative To Image</title>
		<link>http://www.lindenlan.net/2010/12/07/vertically-align-arbitrary-length-string-relative-to-image/</link>
		<comments>http://www.lindenlan.net/2010/12/07/vertically-align-arbitrary-length-string-relative-to-image/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 06:14:11 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=396</guid>
		<description><![CDATA[When coding web pages, a common problem is aligning (link) text vertically, often in relation to an icon. This is easily accomplished by setting height and line-height equal and by adding padding for the icon which is set as the background-image centered vertically. &#60;style&#62; a { background:url(&#039;16x16icon.png&#039;) no-repeat left center; display:block; height:16px; line-height:16px; padding-left:20px; } [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>When coding web pages, a common problem is aligning (link) text vertically, often in relation to an icon.  This is easily accomplished by setting <code>height</code> and <code>line-height</code> equal and by adding padding for the icon which is set as the <code>background-image</code> centered vertically.</p>
<pre class="brush: html">
&lt;style&gt;
a {
  background:url(&#039;16x16icon.png&#039;) no-repeat left center;
  display:block;
  height:16px;
  line-height:16px;
  padding-left:20px;
}
&lt;/style&gt;
&lt;a href=&quot;#&quot;&gt;Link Text&lt;/a&gt;
</pre>
<p>But what if the link text needs to span more than one line for the given width?  What if the icon is taller than the text height?</p>
<p><span id="more-396"></span><br />
This is where <code>display:inline-block</code> comes in.</p>
<pre class="brush: html">
&lt;style&gt;
.container {
  width:192px;
}

.container img {
  border:0;
  vertical-align:middle
}

.container span {
  display:inline-block;
  width:128px;
  vertical-align:middle;
}
&lt;/style&gt;

&lt;div class=&quot;container&quot;&gt;
  &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;64x64icon.png&quot; alt=&quot;an icon&quot; /&gt;&lt;span&gt;Link text that is really, really long that it takes up more than one line.&lt;/span&gt;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>Because the span is a block, text will wrap if longer than the width, but since the span is also inline, <code>vertical-align:middle</code> will align the img and the span.  The only bug I’ve noticed so far is that <code>text-decoration:underline</code> doesn’t render properly during the hover state.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/12/07/vertically-align-arbitrary-length-string-relative-to-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autodiscover Connection Failure for Exchange 2007/Outlook 2007</title>
		<link>http://www.lindenlan.net/2010/05/02/autodiscover-connection-failure-for-exchange-2007-outlook-2007/</link>
		<comments>http://www.lindenlan.net/2010/05/02/autodiscover-connection-failure-for-exchange-2007-outlook-2007/#comments</comments>
		<pubDate>Mon, 03 May 2010 03:37:44 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=392</guid>
		<description><![CDATA[The users for one of my clients started complaining about not being able to use the Out of Office Assistant for Outlook 2007. They recently upgraded to Office 2007 from Office XP. This was after they upgraded to Exchange 2007 about 6 months prior. I did not do the initial setup for Exchange 2007 and [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The users for one of my clients started complaining about not being able to use the Out of Office Assistant for Outlook 2007.  They recently upgraded to Office 2007 from Office XP.  This was after they upgraded to Exchange 2007 about 6 months prior.  I did not do the initial setup for Exchange 2007 and the other server upgrades, but I’ve been coming in now and again to cleanup problems.  </p>
<p><span id="more-392"></span></p>
<p>Initially, the problem was the autodiscover URL was not accessible.  That was an easy fix by adding a DNS entry.  The tough nut to crack, however, was a 401 error.  I went through the usual suspects of disabling the loopback check, setting back-connection host names, etc.  None of which had an effect.  It wasn’t until I tried logging into Remote Web Workplace directly did I get a huge clue:</p>
<blockquote><p>This user account does not have permissions to access your network remotely. Contact your network administrator to enable remote access for this user account.</p></blockquote>
<p>That was a very strange error indeed since users could access all other resources including Outlook Web Access.  I finally decided to look through Active Directory, specifically the Windows SBS Remote Web Workplace Users security group.  As soon as I added the main user group that contained all users, everything started to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/05/02/autodiscover-connection-failure-for-exchange-2007-outlook-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Should Grow A Pair</title>
		<link>http://www.lindenlan.net/2010/04/08/adobe-should-grow-a-pair/</link>
		<comments>http://www.lindenlan.net/2010/04/08/adobe-should-grow-a-pair/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 02:24:39 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=388</guid>
		<description><![CDATA[So according to Daring Fireball Apple’s new iPhone Developer Program License Agreement effectively bans Adobe’s Flash-to-iPhone compiler. CS5 is thisclose to release and the iPhone compiler is the flagship feature in this version of Flash. They’re pretty much royally fucked. Plus Apple has already made its position clear on Flash. Personally, since I’ve never been [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So according to <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">Daring Fireball</a> Apple’s new iPhone Developer Program License Agreement effectively bans Adobe’s Flash-to-iPhone compiler.  </p>
<blockquote><p>CS5 is <em>thisclose</em> to release and the iPhone compiler is the flagship feature in this version of Flash. They’re pretty much royally fucked.</p></blockquote>
<p>Plus Apple has already made its position clear on Flash.  Personally, since I’ve never been a slave to brands, I don’t have much of a stake in either company unless one of my mutual funds happens to invest in one. Yet, the way I see it, Adobe can really give Apple the big “Fuck You” if it wanted to, simply by no longer producing any of its Adobe software for OS X.  Now seeing how designers and design houses invest heavily in Macs simply to run Adobe software, should that platform no longer become available, what do you think is going to happen?  Is the entire graphic design, web, print, and publishing industries going to abandon all its invested know-how and simply pick a new defacto industry standard, or are they going to switch to  Windows?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/04/08/adobe-should-grow-a-pair/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spoof The iPad User-Agent And See The “AdLib” Framework In Action</title>
		<link>http://www.lindenlan.net/2010/04/08/spoof-the-ipad-user-agent-and-see-the-adlib-framework-in-action/</link>
		<comments>http://www.lindenlan.net/2010/04/08/spoof-the-ipad-user-agent-and-see-the-adlib-framework-in-action/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 07:19:45 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=382</guid>
		<description><![CDATA[As reported on Almost Done, Apple apparently has its own iPad-specific web framework, which Jim Hoskins has dubbed AdLib. If you don’t own an iPad, you can still have a look at it by spoofing the user-agent courtesy of LifeHacker. Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>As reported on Almost Done, Apple apparently has its own iPad-specific web framework, which Jim Hoskins has dubbed <a href="http://almost.done21.com/2010/04/adlib-apples-secret-ipad-web-framework/">AdLib</a>.  If you don’t own an iPad, you can still have a look at it by spoofing the user-agent courtesy of <a href="http://lifehacker.com/5508260/how-to-use-gmails-attractive-new-tablet+friendly-interface-on-your-regular-old-computer">LifeHacker</a>.</p>
<pre class="brush: bash">
Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10
</pre>
<p>I tried Firefox and Chrome using their respective user-agent switcher plugins, but didn’t get very far.  So go into Safari and select Develop-&gt;User Agent-&gt;Other…  Paste in the above string, click OK, and make sure it’s active.  Next navigate to <a href="http://help.apple.com/ipad/mobile/interface/">iPad User Guide</a> and check it out.  Here’s hoping Apple will be releasing it independently or as a part of the SDK.  Here’s also hoping it’s iPhone-compatible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/04/08/spoof-the-ipad-user-agent-and-see-the-adlib-framework-in-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Build An iPhoto Image Flipper Using The jQuery Cycle Plugin</title>
		<link>http://www.lindenlan.net/2010/04/07/how-to-build-an-iphoto-image-flipper-using-the-jquery-cycle-plugin/</link>
		<comments>http://www.lindenlan.net/2010/04/07/how-to-build-an-iphoto-image-flipper-using-the-jquery-cycle-plugin/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 06:13:57 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=375</guid>
		<description><![CDATA[My favorite jQuery plugin by far has to be the jQuery Cycle Plugin. It’s a generic slideshow plugin, but it’s versatile enough that I’ve used it to build a slider, a portfolio, and just recently, an iPhoto-like image flipper. This was inspired from the CJ Image FlipBox. Unfortunately, the way the plugin is designed, you [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>My favorite jQuery plugin by far has to be the <a href="http://malsup.com/jquery/cycle/">jQuery Cycle Plugin</a>.  It’s a generic slideshow plugin, but it’s versatile enough that I’ve used it to build a slider, a portfolio, and just recently, an iPhoto-like image flipper.  This was inspired from the <a href="http://www.cjboco.com/blog.cfm/post/a-nice-jquery-plug-in-that-mimics-apple-s-iphoto-app-to-display-a-group-of-images">CJ Image FlipBox</a>.  Unfortunately, the way the plugin is designed, you can’t mesh it with <a href="http://fancybox.net/">Fancybox</a> because the plugin creates an anchor and an image which intercept the mouseclicks preventing the Fancybox from activating.  So to get around the problem, I used the Cycle plugin to create my own.</p>
<p><span id="more-375"></span></p>
<pre class="brush: html">
&lt;div id=&quot;gallery1&quot; class=&quot;gallery&quot;&gt;
    &lt;a rel=&quot;gallery1&quot; href=&quot;/path/to/fullsize1.jpg&quot;&gt;&lt;img src=&quot;/path/to/thumbnail1.jpg&quot; width=&quot;50&quot; height=&quot;50&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;a rel=&quot;gallery1&quot; href=&quot;/path/to/fullsize2.jpg&quot;&gt;&lt;img src=&quot;/path/to/thumbnail2.jpg&quot; width=&quot;50&quot; height=&quot;50&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
    &lt;a rel=&quot;gallery1&quot; href=&quot;/path/to/fullsize3.jpg&quot;&gt;&lt;img src=&quot;/path/to/thumbnail3.jpg&quot; width=&quot;50&quot; height=&quot;50&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>The HTML is rather straight forward.  You’ve got a &lt;div&gt; as a container for a bunch of thumbnails, each linked to a matching fullsize image.   The CSS on the gallery has fixed dimensions matching the dimensions of the thumbnails with overflow set to hidden.  </p>
<pre class="brush: javascript">
$(&quot;.gallery&quot;).cycle({ 
    speed:      0,
    timeout:    0
});

$(&quot;.gallery&quot;).mousemove(function(e){
    var n = $(this).children().length;
    var w = $(this).width();
    var x = e.pageX - this.offsetLeft;
    var i = Math.floor(x/w * n);

    $(this).cycle(i);
}); 

$(&quot;.gallery a&quot;).fancybox();
</pre>
<p>As for the JavaScript, it’s refreshingly short, which just goes to show how much heavylifting jQuery and the two plugins do.  Let’s start with the Cycle activation.   The speed parameter is set to 0.  This means that the transition is instantaneous when an image flips.  Setting the timeout parameter to 0 prevents the Cycle plugin from auto-advancing.  So far nothing new for anyone who’s used the Cycle plugin.</p>
<p>The next part actually sets up the effect.  Just like when you mouseover an Event group in iPhoto, whenever the mouse moves within the gallery div, the position of the mouse determines the index of the image to display.  First we count the number of images within the gallery.  Next, we get the width of the gallery.  Then we get the horizontal position of the mouse within the gallery’s coordinate system.  Finally, we use those three values to calculate the index.  Using this index, we tell the Cycle plugin which image to display.</p>
<p>Now that the iPhoto effect is working, all that’s left is to activate the Fancybox plugin and we’re done. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/04/07/how-to-build-an-iphoto-image-flipper-using-the-jquery-cycle-plugin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Make Rails Play Nice With FLVPlayback Skin</title>
		<link>http://www.lindenlan.net/2010/04/03/make-rails-play-nice-with-flvplayback-skin/</link>
		<comments>http://www.lindenlan.net/2010/04/03/make-rails-play-nice-with-flvplayback-skin/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 08:11:02 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=372</guid>
		<description><![CDATA[Flash assets like an FLVPlayback skin will typically be located in your public folder. However, according to http://kb2.adobe.com/cps/608/608abffd.html, “in a loading scenario, the skin SWF for the FLVPlayback component must be relative to the loading HTML file containing the parent SWF on the server, not to the location of the loaded SWF.” This is bad, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Flash assets like an FLVPlayback skin will typically be located in your public folder.  However, according to <a href="http://kb2.adobe.com/cps/608/608abffd.html">http://kb2.adobe.com/cps/608/608abffd.html</a>, “in a loading scenario, the skin SWF for the FLVPlayback component must be relative to the loading HTML file containing the parent SWF on the server, not to the location of the loaded SWF.”  This is bad, since when you load a page, the URL will typically be /:controller/:action,  which means the FLVPlayback skin URL will be /:controller/myskin.swf even if your parent SWF is in /public.  You can verify this in Firebug on the Net tab.  The problem will manifest itself with a loaded Flash movie with no controls.  You can fix this by creating a rewrite rule in your .htaccess file.</p>
<pre class="brush: bash">
RewriteRule ^.*/myskin.swf$ /pathto/myskin.swf
</pre>
<p>Any request ending in myskin.swf will be redirected to /pathto/myskin.swf under the public folder.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/04/03/make-rails-play-nice-with-flvplayback-skin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome + XMonad on Karmic Koala</title>
		<link>http://www.lindenlan.net/2010/03/20/gnome-xmonad-on-karmic-koala/</link>
		<comments>http://www.lindenlan.net/2010/03/20/gnome-xmonad-on-karmic-koala/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 03:36:53 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=370</guid>
		<description><![CDATA[I tried integrating XMonad using the “recommended” way of setting up a gdm desktop profile to call a custom xmonad.start script which manually loads Gnome and then starts XMonad. I didn’t get very far. Here’s what finally worked. sudo apt-get install xmonad Create a file /usr/share/xsessions/xsession.desktop with the following [Desktop Entry] Name=Xsession Comment=This runs ~/.xsession [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I tried integrating XMonad using the “recommended” way of setting up a gdm desktop profile to call a custom xmonad.start script which manually loads Gnome and then starts XMonad.  I didn’t get very far.  Here’s what finally worked.</p>
<p><span id="more-370"></span></p>
<ol>
<li><code>sudo apt-get install xmonad</li>
<li>Create a file <code>/usr/share/xsessions/xsession.desktop</code> with the following
<pre class="brush: bash">
[Desktop Entry]
Name=Xsession
Comment=This runs ~/.xsession
Exec=/etc/X11/Xsession
</pre>
<p>The file can also go in <code>/etc/X11/sessions/</code>.</li>
<li>Create a file <code>~/.xsession</code> with the following
<pre class="brush: bash">
export WINDOW_MANAGER=&quot;/usr/bin/xmonad&quot;
exec gnome-session 
</pre>
</li>
<li>Using gconf-editor or gconftool, change <code>/desktop/gnome/session/required_components/windowmanager</code> from “metacity” to “gnome-wm”.  If you don’t do this, Gnome will ignore the WINDOW_MANAGER variable.</li>
</ol>
<p>I wanted to go with the recommended way, but the more I looked at it, the more it seemed like I was micro-managing Gnome, and I really didn’t care to do that.  I just wanted to have an easy way to use XMonad as a drop-in replacement for Metacity that was easily reversible.  This method should also make it easy to swap out other window managers.  Now that XMonad is installed, I get to finally play with the configuration settings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/03/20/gnome-xmonad-on-karmic-koala/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>On “Modern CSS Typography and Font Styling Examples”</title>
		<link>http://www.lindenlan.net/2010/01/21/on-modern-css-typography-and-font-styling-examples/</link>
		<comments>http://www.lindenlan.net/2010/01/21/on-modern-css-typography-and-font-styling-examples/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 14:28:36 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=367</guid>
		<description><![CDATA[I read an article titled, “Modern CSS Typography and Font Styling Examples”, and though mistakes and omissions weren’t major, I felt compelled to comment on them. My comment got so long, I figured a quick blog post would be better than a long-winded comment. Smallcaps is not the same as uppercase. Even if you can [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I read an article titled, “<a href="http://www.dlocc.com/articles/modern-css-typography-and-font-styling-examples/">Modern CSS Typography and Font Styling Examples</a>”, and though mistakes and omissions weren’t major, I felt compelled to comment on them.  My comment got so long, I figured a quick blog post would be better than a long-winded comment.</p>
<p><span id="more-367"></span></p>
<p>Smallcaps is not the same as uppercase.  Even if you can simulate smallcaps using uppercase letters (similar to simulating italics or bold), fonts that employ smallcaps are specifically created to maintain proper balance and weight.</p>
<p>Furthermore, it’s important to use glyphs as intended with proper formatting.  This is a small detail, but in the CNN example, a double-hyphen is incorrect.  An emdash should be used instead and without the spaces.  Many CMSes and blogging software, WordPress included, are able to convert typographic shorthand like double– and triple-hyphens and convert them to their proper glyphs.  An old but timeless article: <a href="http://www.alistapart.com/articles/typography/">Typography Matters</a> covers this topic.  Also it wouldn’t hurt to look at print style guides such as the Chicago Manual of Style.  </p>
<p>Also not mentioned but useful to know is to make sure that when using justified text (most everything is on the web is flush-left), that it should be used in combination with hyphenation.  See <a href="http://kingdesk.com/projects/wp-typography/">wp-Typography</a> for example.</p>
<p>As for the top-10 list (I disagree that Dreamweaver should be on the list), it’s important that the imagery is consistent.  The Photoshop icon sticks out like a sore thumb.  Also if the list is ordered, it would make sense to provide some way to indicate that it is ordered like numbers.  That sets it apart from an itemized list.</p>
<p>I like Georgia since it is one of the better looking serif fonts among the web core fonts.  However, since this is supposed to be a post about <em>modern</em> typography, the author should have mentioned upcoming font-embedding  technology that would allow the use of much better looking fonts than Georgia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2010/01/21/on-modern-css-typography-and-font-styling-examples/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To Watch Your Cat From Across The Country</title>
		<link>http://www.lindenlan.net/2009/12/28/how-to-watch-your-cat-from-across-the-country/</link>
		<comments>http://www.lindenlan.net/2009/12/28/how-to-watch-your-cat-from-across-the-country/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 03:27:13 +0000</pubDate>
		<dc:creator><![CDATA[Brian]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=364</guid>
		<description><![CDATA[I went to Florida for my Christmas holiday. In order to not stress out the cat too much, the cat stayed home rather than go to a kennel. No professional pet sitter was available where I live. So I opted to create a home surveillance system from hardware I had lying around and free software. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I went to Florida for my Christmas holiday.  In order to not stress out the cat too much, the cat stayed home rather than go to a kennel.  No professional pet sitter was available where I live.  So I opted to create a home surveillance system from hardware I had lying around and free software.</p>
<p><span id="more-364"></span></p>
<p>Obtained a dynamic DNS hostname from DynDNS.  Even though my IP address doesn’t change all that often, it is dynamic.  Therefore, there’s no guarantee that the IP would work.  This was an extra precaution I wanted to take.  Plus it gave me something easier to remember.</p>
<p>Installed LogMeIn.  I did not require any of the features you get in the pay version.  This allowed me to start/stop software as needed and manage the pictures captured by the webcam.  Other remote admin services would work as well.  VNC is a great alternative.</p>
<p>Flashed my router with the Tomato firmware.  The WRT54G stock firmware doesn’t let you forward the magic packet to use wake-on-LAN to turn on a computer.  Tomato lets you log into the admin interface and send the packet to any MAC address on the LAN side of the network.  I did this just in case the power went out and I needed to turn-on the computer again.</p>
<p>I tried out two different webcam servers for Windows, Broadcam and TinCam.  Broadcam is much easier to setup and will automatically setup port forwarding if your router supports UPnP, but it is limited to live video.  TinCam has a lot more features, but it isn’t as user-friendly and you have to manually open up a port on the router.  Both have trial periods, but are fully functional during the trial period.  I tried setting up a Linux webcam server, but a lack of GUI or an easy to use config file meant it was faster to use Windows.  I did not test any Mac webcam servers since my MacBook was coming with me.  I ultimately settled on using TinCam day-to-day because I could schedule it to record a pic every 5 minutes of every hour (e.g., 1:00, 1:05, 1:10, and so on).  Furthermore, the date and time of day is used for the filename.  TinCam won’t let you capture pictures and run the video server simultaneously.  You can run the image server though which updates every 5 seconds.  So if you need an image log and live video, neither will work for you.</p>
<p>With the image server, I was able to watch what was on the webcam currently.  In order to see the log, I installed Dropbox.  Then I configured TinCam to save the captured images in a Dropbox folder.  Now I can see a picture log not just on my laptop but also on my iPhone using the Dropbox app.  This was VERY convenient.  Furthermore, the app overlays the filename so I can see when the pic was taken.</p>
<p>Finally, I installed Skype on the computer with the webcam so I could occasionally talk to the cat.  I created an account specifically for this.  I configured Skype to auto-answer and maximize when video is initiated.  Though I think as comforting as a familiar sound is to a pet, the cat appeared both excited and confused hearing a disembodied voice. </p>
<p>That’s how I mashed up available hardware and software to keep an eye on my cat while I was gone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2009/12/28/how-to-watch-your-cat-from-across-the-country/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Portfolio</title>
		<link>http://www.lindenlan.net/2009/11/14/new-portfolio/</link>
		<comments>http://www.lindenlan.net/2009/11/14/new-portfolio/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 07:04:17 +0000</pubDate>
		<dc:creator><![CDATA[Admin]]></dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.lindenlan.net/?p=360</guid>
		<description><![CDATA[I launched my new portfolio to showcase some of the work I have accomplished over the past year. I technically launched it at the beginning of the week, but didn’t add the last item until today. I put it on a separate domain so that I can brand myself and have a site focused on [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I launched my new portfolio to showcase some of the work I have accomplished over the past year.  I technically launched it at the beginning of the week, but didn’t add the last item until today.   I put it on a separate domain so that I can brand myself and have a site focused on my work, plus any visitors would not be distracted by my blog posts.  </p>
<p>It’s built using WordPress, but you wouldn’t know it by looking at it.  This way I can add and remove samples easily.  I opted to go with a (mostly) single-page site.  There’s a second page for a contact form.   jQuery and various plugins handle the dynamic features.  I definitely prefer this over what I had before.</p>
<p>Feel free to check it out by clicking the Portfolio link above.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lindenlan.net/2009/11/14/new-portfolio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
