<?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>PropertyMaps Corporate Blog &#187; Technical</title>
	<atom:link href="http://www.propertymaps.com/blog/category/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.propertymaps.com/blog</link>
	<description>Keep up to date on PropertyMaps company news, site updates, real estate articles, and other helpful technical tidbits. We're always coming up with new ways to improve the site and make your real estate search easier, so check back often!</description>
	<lastBuildDate>Wed, 11 Nov 2009 04:08:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Database Optimizations</title>
		<link>http://www.propertymaps.com/blog/2008/06/25/database-optimizations/</link>
		<comments>http://www.propertymaps.com/blog/2008/06/25/database-optimizations/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 17:17:55 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/?p=119</guid>
		<description><![CDATA[Oh, around the end of April, we made some enhancements to our DB structure and our queries. This round of changes focused on the JOINS and UNIONS and COUNTS and some others, giving us a nice speed boast in our benchmarks. We thought not much of it and went on to other things. Logging in [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F" height="61" width="51" /></a></div><p>Oh, around the end of April, we made some enhancements to our DB structure and our queries. This round of changes focused on the JOINS and UNIONS and COUNTS and some others, giving us a nice speed boast in our benchmarks. We thought not much of it and went on to other things. Logging in to <a href="http://www.google.com/webmasters/">Google Webmaster Central</a> gave me quite a shock when I saw the chart for time spent downloading a page (in milliseconds). We&#8217;ve gone from an average of about 4,300 milliseconds to less than 400, an order of magnitude difference!</p>
<p>We have another trick up our sleeve, but need to do an intense code review and QA before pushing it out to production. This other trick is a tad more complicated, but watching the site run on the dev server is amazing. Hopefully, we can wrap that optimization up and get it live shortly. I&#8217;ll probably blog about it when we do.</p>
<p><img class="aligncenter" style="vertical-align: middle;" src="http://www.propertymaps.com/blog/images/20080625_speed.jpg" alt="Go Servers, Go" width="488" height="146" /></p>
<p style="text-align: center;"><em><strong>Go Servers, Go</strong></em></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F06%2F25%2Fdatabase-optimizations%2F&amp;title=Database+Optimizations" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2008/06/25/database-optimizations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamically populating &#8217;select&#8217; elements with javascript</title>
		<link>http://www.propertymaps.com/blog/2008/04/10/dynamically-populating-select-elements-with-javascript/</link>
		<comments>http://www.propertymaps.com/blog/2008/04/10/dynamically-populating-select-elements-with-javascript/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 21:42:27 +0000</pubDate>
		<dc:creator>nwhite</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/?p=109</guid>
		<description><![CDATA[
new Option(text,value);
As referenced in many javascript sources including &#8220;The Book&#8221; is bad, and should not be used. new Option forces browsers to use an older DOM model (0 or 1) instead of the now modern level 2.
The DOM does not mix and match so doing:
selectBox.appendChild(new Option(text,value));
fails in IE.
The fix is to use the DOM1 level [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F" height="61" width="51" /></a></div><div>
<pre>new Option(text,value);</pre>
<p>As referenced in many javascript sources including &#8220;The Book&#8221; is bad, and should not be used. new Option forces browsers to use an older DOM model (0 or 1) instead of the now modern level 2.</p>
<p>The DOM does not mix and match so doing:</p>
<pre>selectBox.appendChild(new Option(text,value));</pre>
<p>fails in IE.</p>
<p>The fix is to use the DOM1 level support which is the &#8216;add&#8217; method on the select element.</p>
<pre>selectBox.add(new Option(text,value));</pre>
<p>Problem with this is the way the spec was written for the &#8216;add&#8217; method. It takes 2 parameters.</p>
<ol>
<li>an option object.</li>
<li>the index position you want to insert it into your select element.</li>
</ol>
<p>The spec defines that the second parameter should be null instead of undefined in order to append to the end of the list. This means that in any browser that follow the spec the second parameter must be explicitly set. This is one rare example where I prefer IE&#8217;s implementation.</p>
<pre>// in FF or W3C compliant browser
selectBox.add(new Option(text,value),null);</pre>
<p>Problem with this is IE does not understand the null and fails. so you have to wrap this in a try catch.</p>
<pre>try {
selectBox.add(new Option(text,value),null);
} catch(ex){
selectBox.add(new Option(text,value));
}</pre>
<p>The solution is to use all DOM2 commands and stay far away from &#8216;new Option&#8217;.</p>
<pre>var option = document.createElement('option');
option.setAttribute('value','value');
option.appendChild(document.createTextNode('text'));
selectBox.appendChild(option);</pre>
<p>it is also important to note that using the DOM2 creation of the &#8216;option&#8217; element does not work with the &#8216;add&#8217; method on the &#8217;select&#8217; method in any browsers.</p>
<p>Totally compatible mootools shorthand, and my current accepted solution:</p>
<pre>selectBox.appendChild( new Element('option', {'value' : value }).appendText(text) );</pre>
</div>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F04%2F10%2Fdynamically-populating-select-elements-with-javascript%2F&amp;title=Dynamically+populating+%26%238217%3Bselect%26%238217%3B+elements+with+javascript" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2008/04/10/dynamically-populating-select-elements-with-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Deciphering Gmail IMAP Labels With getmail</title>
		<link>http://www.propertymaps.com/blog/2008/03/22/deciphering-gmail-imap-labels-with-getmail/</link>
		<comments>http://www.propertymaps.com/blog/2008/03/22/deciphering-gmail-imap-labels-with-getmail/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 21:46:47 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2008/03/22/deciphering-gmail-imap-labels-with-getmail/</guid>
		<description><![CDATA[We have outgrown Google Apps, (formerly GAFYD (formerly GFYD)), or something along those lines. The problem of exporting your mail from Gmail is not a trivial one. From discussions by Opera Software&#8217;s lead QA for Opera Mail&#8217;s posting on Gmail&#8217;s Buggy IMAP Implementation to Matt Cutts&#8217; posting on How to back up your Gmail on [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F" height="61" width="51" /></a></div><p>We have outgrown Google Apps, (formerly GAFYD (formerly GFYD)), or something along those lines. The problem of exporting your mail from Gmail is not a trivial one. From discussions by Opera Software&#8217;s lead QA for Opera Mail&#8217;s posting on <a href="http://weblog.timaltman.com/archive/2008/02/24/gmails-buggy-imap-implementation">Gmail&#8217;s Buggy IMAP Implementation</a> to Matt Cutts&#8217; posting on <a href="http://www.mattcutts.com/blog/backup-gmail-in-linux-with-getmail/">How to back up your Gmail on Linux in four easy steps</a> to LifeHacker&#8217;s posting on <a href="http://lifehacker.com/367985/back-up-gmail-on-linux-with-getmail">Back up Gmail on Linux with Getmail</a> to Wired&#8217;s recent wiki entry on <a href="http://howto.wired.com/wiki/Make_a_Local_Backup_Of_Your_Gmail_Account">Make a Local Backup Of Your Gmail Account</a>, it seems that there is no one definitive source on how to pull your mail and retain your labels.</p>
<p>So here is what we have done to solve this problem:</p>
<ol>
<li><strong>Use <a href="http://pyropus.ca/software/getmail/">getmail</a></strong> &#8211; this has been the best archiver we have run across. There are other applications &#8211; <a href="http://isync.sourceforge.net/">isync</a>, <a href="http://software.complete.org/software/wiki/offlineimap">OfflineIMAP</a>, <a href="http://fetchmail.berlios.de/index.html">Fetchmail</a>, etc. &#8211; that probably do a decent job, but getmail is still the best in my view. There are other hacks &#8211; use Mail.app to synch the Gmail IMAP directory, then convert emlx to maildir; same for Thunderbird and mbox; etc &#8211; but we wanted something a little more straightforward &#8211; Occam&#8217;s razor, right?</li>
<li><strong>Install getmail</strong> &#8211; On my dev machine, I used <a href="http://www.macports.org/">macports</a> (port install python25; port install getmail) to install the latest getmail which had dependencies on Python 2.5. After this was done, I set up the getmailrc config file and fired off an attempt using SimpleIMAPSSLRetriever&#8230; which failed due to a lack of SSL in the newly installed Python. I had to go back and install Readline (port install py25-readline), then install SSL for Python (port install py25-socket-ssl).</li>
<li><strong>Patch Python</strong> &#8211; There is <a href="http://bugs.python.org/issue1389051">malloc bug</a> in imaplib when fetching large documents using SSL. So open up imaplib.py from your Python lib dir (in my case /opt/local/lib/python2.5/) and replace:
<pre>data = self.sslobj.read(size-read)</pre>
<p>with</p>
<pre>data = self.sslobj.read(min(size-read, 16384))</pre>
<p>to maintain a 15MB memory block if necessary.</li>
<li><strong>Configure getmail</strong> &#8211; Now that most of the fun is taken care of, we need to set up a configuration file for getmail (~/.getmail/getmailrc) and create the proper local destination. First the getmailrc file:
<pre>[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
mailboxes = ("[Gmail]/Starred",)
username = username@yourdomain.com
password = xxx

[destination]
type = Maildir
path = ~/Maildir/

[options]
verbose = 2
message_log = ~/.getmail/gmail.log</pre>
<p>First of all, we are using IMAP to retrieve mail as POP has a limit of 99 documents per access and that would take forever.</p>
<p>Second, we are using the Maildir format for the destination so we need to make sure the target directories have been created (~/Maildir/cur, ~/Maildir/new, ~/Maildir/tmp).</p>
<p>Third, we need to specify a mailbox or mailboxes to download or the INBOX will be the default.</p>
<p>Fourth, we need a trailing comma on the list of mailboxes to download due to a parsing error in getmail (actually the mailboxes option needs to be a tuple, but the trailing comma negates that).</p>
<p>Fifth, we need to know the syntax of Gmail&#8217;s internal IMAP structure to pull down discrete folders. Non-label folders (Starred, Sent Mail, Drafts, etc.) are accessed with &#8220;[Gmail]/Starred&#8221; (as in the above config) and labels are accessed directly. For example, the label &#8220;Important Project&#8221; would have this in the config:</p>
<pre>mailboxes = ("Important Project",)</pre>
</li>
<li><strong>Download your Gmail</strong> &#8211; For every folder/label I had within Gmail, I downloaded to a separate folder so I could import into dovecot IMAP without hassle. This entailed changing the mailboxes option in getmailrc, running getmail, renaming Maildir to label/directory name, rinsing, repeating.</li>
</ol>
<p>If dovecot turns out to be a hassle, I&#8217;ll blog about that next. Or about bricking my iPhone with the 1.2 firmware because I didn&#8217;t read the instructions (yes, I got into the iPhone developer program).</p>
<p><strong>Update:</strong> Because maildir uses the modification time of every file to determine the sent date, all emails pulled by the above method will basically lose their sense of time. The below PHP script will restore the modification times:</p>
<pre>/* VARS ***********************************************************/
$box = '';
$stem = SITE_DIR.'Maildir/'.$box.'/new/';
/******************************************************************/

$dir_contents = scandir($stem);
foreach($dir_contents as $item) {
	if(!ListFind('.,..,.DS_Store',$item)) {
		$file = $stem.$item;
		$content = file_get_contents($file);
		$date = extractText($content,"\nDate: ","\n");
		$utime = strtotime($date);
		$converted = date('YmdHi.s',$utime);
		shell_exec('touch -mt '.$converted.' "'.$file.'"');
	}
}

function extractText($content,$start,$end) {
	if(strrpos($content,$start)===false) { return false; }
	$startpoint = strpos($content,$start)+strlen($start);
	$endpoint = strpos($content,$end,$startpoint);
	$length = $endpoint - $startpoint;
	return trim(substr($content,$startpoint,$length));
}

function ListDeleteAt($inList, $inPosition, $inDelim = ',') {
	$aryList = _listFuncs_PrepListAsArray($inList, $inDelim);
	array_splice($aryList, $inPosition-1, 1);
	$outList = join($inDelim, $aryList);
	return $outList;
}

function _listFuncs_PrepListAsArray($inList, $inDelim) {
	$inList = trim($inList);
	$inList = preg_replace('/^' . preg_quote($inDelim, '/') . '+/', '', $inList);
	$inList = preg_replace('/' . preg_quote($inDelim, '/') . '+$/', '', $inList);
	$outArray = preg_split('/' . preg_quote($inDelim, '/') . '+/', $inList);
	if(sizeof($outArray) == 1 &#038;&#038; $outArray[0] == '') {
		$outArray = array();
	}
	return $outArray;
}
</pre>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F22%2Fdeciphering-gmail-imap-labels-with-getmail%2F&amp;title=Deciphering+Gmail+IMAP+Labels+With+getmail" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2008/03/22/deciphering-gmail-imap-labels-with-getmail/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PropertyMaps Is Looking For A CSS/HTML Developer</title>
		<link>http://www.propertymaps.com/blog/2008/03/03/propertymaps-is-looking-for-a-csshtml-developer/</link>
		<comments>http://www.propertymaps.com/blog/2008/03/03/propertymaps-is-looking-for-a-csshtml-developer/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 15:52:51 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2008/03/03/propertymaps-is-looking-for-a-csshtml-developer/</guid>
		<description><![CDATA[We are looking to hire a CSS/HTML developer. If you want to work in a great, fast-paced startup environment and feel that you are the best in your field, please submit your resumé through our CSS/HTML Developer page.

PropertyMaps Is Hiring For CSS/HTML










]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F" height="61" width="51" /></a></div><p>We are looking to hire a CSS/HTML developer. If you want to work in a great, fast-paced startup environment and feel that you are the best in your field, please submit your resumé through our <a href="/corporate.careers_css">CSS/HTML Developer</a> page.</p>
<p align="center"><img src="http://www.propertymaps.com/blog/images/20080303_css.gif" alt="PropertyMaps Is Hiring For CSS/HTML" /><br />
<em><strong>PropertyMaps Is Hiring For CSS/HTML</strong></em></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F03%2F03%2Fpropertymaps-is-looking-for-a-csshtml-developer%2F&amp;title=PropertyMaps+Is+Looking+For+A+CSS%2FHTML+Developer" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2008/03/03/propertymaps-is-looking-for-a-csshtml-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Divide And Multiply</title>
		<link>http://www.propertymaps.com/blog/2008/02/06/divide-and-multiply/</link>
		<comments>http://www.propertymaps.com/blog/2008/02/06/divide-and-multiply/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 02:02:47 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2008/02/06/divide-and-multiply/</guid>
		<description><![CDATA[Not to start throwing numbers around, but with over 1,000,000 page views last month, we felt it time to further decentralize our infrastructure. Unlike the big buzzword of the day, viral growth, our server infrastructure growth feels more bacterial. As one system is scaled vertically to the breaking point, it is scaled horizontally until it [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F" height="61" width="51" /></a></div><p>Not to start throwing numbers around, but with over 1,000,000 page views last month, we felt it time to further decentralize our infrastructure. Unlike the big buzzword of the day, viral growth, our server infrastructure growth feels more bacterial. As one system is scaled vertically to the breaking point, it is scaled horizontally until it must divide again.</p>
<p>We feel very comfortable with this scaling methodology and are completely confident dividing a cell during business hours without disrupting the main website. That is exactly what we did today.</p>
<p>Once the system is completely decentralized, we can start throwing servers at it and see an almost immediate benefit throughout. Google sure knew what they were doing with MapReduce.</p>
<p align="center"><img src="http://www.propertymaps.com/blog/images/20080206_bacteria.jpg" alt="E. Coli" /><br />
<em><strong>Good ol&#8217; E. Coli</strong></em></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F02%2F06%2Fdivide-and-multiply%2F&amp;title=Divide+And+Multiply" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2008/02/06/divide-and-multiply/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Visualizing Zillow&#8217;s ESRI Neighborhood Shapefiles</title>
		<link>http://www.propertymaps.com/blog/2008/01/17/visualizing-zillows-esri-neighborhood-shapefiles/</link>
		<comments>http://www.propertymaps.com/blog/2008/01/17/visualizing-zillows-esri-neighborhood-shapefiles/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 02:00:07 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2008/01/17/visualizing-zillows-esri-neighborhood-shapefiles/</guid>
		<description><![CDATA[We whipped up a quick neighborhood finder with polygon overlays to display Zillow&#8217;s recently released ESRI neighborhood shapefiles. I applaud the effort to release this information under a Creative Commons license and the attempt to crowdsource future development.
I&#8217;ve been looking at neighborhood boundary information for ages and there really is no standardized classification of what [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F" height="61" width="51" /></a></div><p>We whipped up a quick neighborhood finder with polygon overlays to display Zillow&#8217;s recently released <a href="http://www.zillow.com/labs/NeighborhoodBoundaries.htm">ESRI neighborhood shapefiles</a>. I applaud the effort to release this information under a <a href="http://creativecommons.org/">Creative Commons</a> license and the attempt to crowdsource future development.</p>
<p>I&#8217;ve been looking at neighborhood boundary information for ages and there really is no standardized classification of what defines a &#8220;neighborhood&#8221;. The most common method of defining a neighborhood is to group tract data by subpopulation and aggregate data in an attempt to create homogenized areas. The NCDB (<a href="http://www.geolytics.com/USCensus,Neighborhood-Change-Database-1970-2000,Products.asp">Neighborhood Change Database</a>) by <a href="http://www.geolytics.com/">GeoLytics</a> does this. I&#8217;m not an expert in this area yet, so I&#8217;d be curious to find out what other methods are employed to define a neighborhood.</p>
<p>Check out the <a href="/maps/neighborhoods.php">Neighborhood Boundaries</a>.</p>
<p align="center"><img src="http://www.propertymaps.com/blog/images/20080117_neighborhoods.jpg" alt="Neighborhood Boundaries" /><br />
<em><strong>Neighborhood Boundaries</strong></em></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2008%2F01%2F17%2Fvisualizing-zillows-esri-neighborhood-shapefiles%2F&amp;title=Visualizing+Zillow%26%238217%3Bs+ESRI+Neighborhood+Shapefiles" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2008/01/17/visualizing-zillows-esri-neighborhood-shapefiles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analytics can save your website and SEO</title>
		<link>http://www.propertymaps.com/blog/2007/11/30/google-analytics-can-save-your-website-and-seo/</link>
		<comments>http://www.propertymaps.com/blog/2007/11/30/google-analytics-can-save-your-website-and-seo/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 21:25:17 +0000</pubDate>
		<dc:creator>nquam</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2007/11/30/google-analytics-can-save-your-website-and-seo/</guid>
		<description><![CDATA[I recently dove deep in Google Analytics. I found a wealth of information but something really caught my eye. Not just that, it improved our website. If you log into your analytics account and view your website stats, under the content section is something titled &#8220;Top Exit Pages&#8221;. I&#8217;m sure everyone understands the usefulness of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F" height="61" width="51" /></a></div><p>I recently dove deep in <a href="http://www.google.com/analytics">Google Analytics</a>. I found a wealth of information but something really caught my eye. Not just that, it improved our website. If you log into your analytics account and view your website stats, under the content section is something titled &#8220;Top Exit Pages&#8221;. I&#8217;m sure everyone understands the usefulness of this tool but not even I understood the full potential at first.</p>
<p>Obviously when viewing your top exit pages, you see the pages people leave from the most along with percentages and information. If you put two and two together you realize, this tells you what pages people dislike or what is wrong with your SEO strategy. A big light bulb went off in my head when I saw this. Our top exit pages were delisted properties. Then I looked up our SEO stats. Users were searching for specific MLS numbers and found our properties. Unfortunately some of those properties were no longer listed on our site either because they were sold or canceled. This made our potential customers become discouraged and leave. We had hundreds of exits from the delisted page a month. Did these people ever come back? I didn&#8217;t know, and that was a problem. All I knew was that the exit rate was over 85% and the bounce rate was over 90%. They come in via search engine, see our delisted page, then leave.</p>
<p>So we had two options. Either we can try and get our content more actively updated on Google, or we could change the delisted page to keep users from leaving. So we attempted both and now the number of users seeing the delisted page is zero. Without the analytics I would not have noticed this problem. Our problem was mostly due to Google&#8217;s cache of data no longer available. So in a way this both helped to make our site a little better and benefited our SEO. So take a look at your analytics. Sometimes those numbers can tell you a lot more than you think.</p>
<p style="text-align: center"><img src="/blog/images/20071130_propdelisted.jpg" title="Property Delisted" alt="Property Delisted" height="343" width="488" /></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F30%2Fgoogle-analytics-can-save-your-website-and-seo%2F&amp;title=Google+Analytics+can+save+your+website+and+SEO" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2007/11/30/google-analytics-can-save-your-website-and-seo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PropertyMaps Offers Free Reverse Geocoder</title>
		<link>http://www.propertymaps.com/blog/2007/11/27/propertymaps-offers-free-reverse-geocoder/</link>
		<comments>http://www.propertymaps.com/blog/2007/11/27/propertymaps-offers-free-reverse-geocoder/#comments</comments>
		<pubDate>Tue, 27 Nov 2007 16:20:38 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2007/11/27/propertymaps-offers-free-reverse-geocoder/</guid>
		<description><![CDATA[We have added a reverse geocoder along with our regular geocoder. This reverse geocoder scans our database of millions of addresses to pull back the proper location for the lat/lng coordinates you enter. As with the regular geocoder, the reverse geocoder requires an API key if you want to bypass the built-in four second delay. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F" height="61" width="51" /></a></div><p>We have added a <a href="/geocode.reverse">reverse geocoder</a> along with our <a href="/geocode.index">regular geocoder</a>. This reverse geocoder scans our database of millions of addresses to pull back the proper location for the lat/lng coordinates you enter. As with the regular geocoder, the reverse geocoder requires an API key if you want to bypass the built-in four second delay. If you want an API key, please <a href="/corporate.contact">contact us</a>.</p>
<p>With (or without) an API key, you can access the reverse geocoder directly with the following GET string: http://www.propertymaps.com/geocode.reverse?latitude=[LATITUDE] &amp;longitude=[LONGITUDE]&amp;api=[API Key]</p>
<p>Here is an example: <a href="/geocode.reverse?latitude=27.3397630&amp;longitude=-82.4063220&amp;api=">Click Here</a>.</p>
<p>You can also read our blog entry on the <a href="/blog/2007/09/02/propertymaps-offers-free-geocoder/">regular geocoder</a>.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F11%2F27%2Fpropertymaps-offers-free-reverse-geocoder%2F&amp;title=PropertyMaps+Offers+Free+Reverse+Geocoder" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2007/11/27/propertymaps-offers-free-reverse-geocoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working With RETS</title>
		<link>http://www.propertymaps.com/blog/2007/07/13/working-with-rets/</link>
		<comments>http://www.propertymaps.com/blog/2007/07/13/working-with-rets/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 02:09:56 +0000</pubDate>
		<dc:creator>Chris Latko</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.propertymaps.com/blog/2007/07/13/working-with-rets/</guid>
		<description><![CDATA[As we continue to add MLS data to the map, we are sometimes faced with the dreaded RETS format for retrieving said MLS data. The problem with RETS is that there are so many version standards and so many different interpretations of those standards. A script that works on one MLS system does not necessarily [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F" height="61" width="51" /></a></div><p>As we continue to add MLS data to the map, we are sometimes faced with the dreaded RETS format for retrieving said MLS data. The problem with RETS is that there are so many version standards and so many different interpretations of those standards. A script that works on one MLS system does not necessarily work on another system, even if both are using the same RETS specification.</p>
<p>With that said, our team faced a challenge in tackling an antiquated RETS/1.0 system that not only had a flakey implementation, but was often times returning corrupt XML due to the DB server hanging during the SQL query. We were finally able to get the data we wanted, but it wasn&#8217;t until two of us trial and errored out a script in five hours.</p>
<p>For anyone that wants to deal with a flakey RETS/1.0 implementation, you can have at our script. We had to bypass the usual nonce, cnonce, opaque, response rigamarole because the RETS server was not replying with the correct HTTP headers. Instead we initiated the RETS login, grabbed a plain cookie and used that to keep the session alive. The script is based on the fine work done over at <a href="http://www.thompsonbd.com/RETS/rets_example.php">http://www.thompsonbd.com/RETS/rets_example.php</a>.</p>
<p>Here is the <a href="http://www.propertymaps.com/blog/images/20070712_rets_blog.phps">RETS PHP Script</a>.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.propertymaps.com%2Fblog%2F2007%2F07%2F13%2Fworking-with-rets%2F&amp;title=Working+With+RETS" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.propertymaps.com/blog/2007/07/13/working-with-rets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
