<?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>Hung Truong: The Blog! &#187; MapsKrieg</title>
	<atom:link href="http://www.hung-truong.com/blog/category/mapskrieg/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hung-truong.com/blog</link>
	<description>I say potato, you say potato...</description>
	<lastBuildDate>Sun, 22 Jan 2012 18:10:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The Internet Is For&#8230; Downtime.</title>
		<link>http://www.hung-truong.com/blog/2011/04/25/the-internet-is-for-downtime/</link>
		<comments>http://www.hung-truong.com/blog/2011/04/25/the-internet-is-for-downtime/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 03:07:18 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Anime Nano]]></category>
		<category><![CDATA[Media Temple]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2428</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
These last few weeks have been really, really bad for the internet. I mean, in general. What with Media Temple going down due to their nameservers, Amazon EC2 going down, and also the Playstation Network refusing to let me log in&#8230; You&#8217;d think there was a cyberattack going on or something. My websites did not [...]]]></description>
			<content:encoded><![CDATA[<p>These last few weeks have been really, really bad for the internet. I mean, in general. What with Media Temple going down due to their <a href="https://twitter.com/#!/mediatemple/status/60348605478862849">nameservers</a>, <a href="http://newenterprise.allthingsd.com/20110421/amazons-cloud-crashed-overnight-and-brought-several-other-companies-down-too/">Amazon EC2 going down</a>, and also the <a href="http://blog.us.playstation.com/2011/04/23/latest-update-for-psnqriocity-services/">Playstation Network refusing to let me log in</a>&#8230; You&#8217;d think there was a cyberattack going on or something. </p>
<p>My websites did not manage to dodge all of the bullets either. A few sites were down from the Media Temple thing. I also inadvertently broke a few sites here and there. After the Media Temple downtime, I wanted to try updating a few Ruby Gems to get Passenger Phusion working. Unfortunately my rails apps hadn&#8217;t been updated in forever, so updating things broke backwards compatibility. I&#8217;ve been working on getting <a href="http://www.animenano.com">Anime Nano</a> back to full capacity on the newest version of Rails. I think the whole experience was a bit stressful, but probably ended up being good in the long run.</p>
<p>I was also surprised to see <a href="http://www.mapskrieg.com/">Mapskrieg</a> going down late last week. Apparently I hadn&#8217;t verified the domain for Google Apps and Google decided to close my account. The one that was serving Mapskrieg via App Engine. This was really annoying since all of the &#8220;act now or we&#8217;ll delete your account&#8221; emails were classified as spam in gmail and I am pretty sure I had verified the account previously. If Google doesn&#8217;t want my money then screw them. I figure I can actually serve the site for cheaper than App Engine since a few other apps live on the same server. The App Engine thing was a fun experiment but there are still too many limitations in the datastore to base a real app on it. Specifically, datastore writes cost way too much and indexes take way too much overhead in disk space (which you eventually need to pay for).</p>
<p>So now I&#8217;m back to running most sites on Media Temple, though I may diversify in case Media Temple continues to have downtime issues. It was a stressful few days, but at least I got to practice my sysadmin skills a bit and update my server in the process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/04/25/the-internet-is-for-downtime/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mapskrieg iPhone/iPad App Launch!</title>
		<link>http://www.hung-truong.com/blog/2011/04/08/mapskrieg-iphoneipad-app-launch/</link>
		<comments>http://www.hung-truong.com/blog/2011/04/08/mapskrieg-iphoneipad-app-launch/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 14:29:31 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=2403</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
It&#8217;s been about 4 years since I announced the launch of Mapskrieg, my Google Maps and craigslist mashup web app. Since then, I&#8217;ve gone to school (again), worked for Microsoft and quit, and made a few apps. Today, I&#8217;m happy to announce the launch of my newest app, Mapskrieg for iOS! I&#8217;ve been working on [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hung-truong.com/blog/wp-content/uploads/2011/04/iPadandiPhoneMapskrieg.png" rel="lightbox[2403]"><img src="http://www.hung-truong.com/blog/wp-content/uploads/2011/04/iPadandiPhoneMapskrieg-500x340.png" alt="" title="iPadandiPhoneMapskrieg" width="500" height="340" class="aligncenter size-medium wp-image-2420" /></a></p>
<p>It&#8217;s been about 4 years since <a href="http://www.hung-truong.com/blog/2007/05/06/mapskrieg-craigslist-google-maps-mashup-launch/">I announced the launch of Mapskrieg</a>, my Google Maps and craigslist mashup web app. Since then, I&#8217;ve gone to school (again), worked for Microsoft and quit, and made a few apps. Today, I&#8217;m happy to announce the launch of my newest app, <a href="http://itunes.apple.com/us/app/mapskrieg-apartment-search/id429360989?mt=8&#038;ls=1">Mapskrieg for iOS</a>!</p>
<p>I&#8217;ve been working on this app for a few weeks, and I think it&#8217;s ready for public consumption. It&#8217;s basically <a href="http://www.mapskrieg.com/">Mapskrieg</a>, but developed natively for the iPhone and iPad. In the past, I&#8217;ve taken a sort of iterative approach of releasing fairly minimal apps and improving on them. For example, I released Threadless as an iPhone only app and later added the iPad support. I wanted to release Mapskrieg on both platforms so the launch would have a little more bang. Plus I think the iPad app is the better of the two, and I really wanted that one to stand out for the release. I&#8217;ve been getting much more comfortable with mobile development, and I&#8217;m very happy with the rate at which I was able to conceive and release this app.</p>
<p>That&#8217;s not to say I didn&#8217;t struggle or learn anything new with it. While a lot of the concepts are borrowed from my Threadless iPad app, I had to do a lot of stuff I hadn&#8217;t done before. For example, since Mapskrieg is going to rely on iAds to make money, I decided that both the iPad and iPhone versions would support iAd. Apple, in their infinite wisdom, made the split view controller a very useful and now, standard, design paradigm. Unfortunately, they don&#8217;t provide any support for using it with iAd at all. What the fucking fuck, Apple!? So I had to basically recreate the Split View (well, the landscape mode at least) in order to support iAds. It&#8217;ll be well worth it if I can rake in some iAd dough, though!</p>
<p>This post also comes almost 1 year after I quit my job at Microsoft. That milestone probably deserves its own post, but I&#8217;ll just say that I have not yet regretted my decision in the very least so far. This is as fun as it gets, folks!</p>
<p>Edit: Oh, I forgot to link to a demo video that I recorded for a contest. Check it out in case you don&#8217;t have an iOS device:</p>
<p><iframe title="YouTube video player" width="500" height="311" src="http://www.youtube.com/embed/Ja9UcUkDPio?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2011/04/08/mapskrieg-iphoneipad-app-launch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MapsKrieg in a Mashup Contest &#8211; Vote For Me!</title>
		<link>http://www.hung-truong.com/blog/2008/05/04/mapskrieg-in-a-mashup-contest-vote-for-me/</link>
		<comments>http://www.hung-truong.com/blog/2008/05/04/mapskrieg-in-a-mashup-contest-vote-for-me/#comments</comments>
		<pubDate>Sun, 04 May 2008 17:43:51 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/?p=734</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
I keep forgetting to mention this. A while back there was this cryptic ad on Facebook about mashups and it led to a Dice.com sponsored contest. I figured I would enter MapsKrieg and I sort of forgot about it. Checking the visitor stats, I noticed some people were coming from a contest poll page. So [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-554" title="MapsKrieg" src="http://www.hung-truong.com/blog/wp-content/uploads/2007/05/logo.png" alt="" width="287" height="59" /></p>
<p>I keep forgetting to mention this. A while back there was this cryptic ad on Facebook about mashups and it led to a Dice.com sponsored contest. I figured I would enter MapsKrieg and I sort of forgot about it. Checking the visitor stats, I noticed some people were coming from a contest poll page. So MapsKrieg was chosen as a finalist in this contest!</p>
<p>The prize is $4000, which is pretty neat. So please <a href="http://career-resources.dice.com/tech_challenge/tech_chal_form.html">check out the finalists</a> and vote (preferably for me)! Mine is #2, &#8220;Home &amp; Apartments.&#8221; I wonder why they just didn&#8217;t label it &#8220;MapsKrieg?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2008/05/04/mapskrieg-in-a-mashup-contest-vote-for-me/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>MapsKrieg &#8211; Craigslist + Google Maps Mashup Launch!</title>
		<link>http://www.hung-truong.com/blog/2007/05/06/mapskrieg-craigslist-google-maps-mashup-launch/</link>
		<comments>http://www.hung-truong.com/blog/2007/05/06/mapskrieg-craigslist-google-maps-mashup-launch/#comments</comments>
		<pubDate>Sun, 06 May 2007 19:32:11 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/05/06/mapskrieg-craigslist-google-maps-mashup-launch/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
I did a bit more work on MapsKrieg (the official name of my craigslist and google maps mashup) in the past few days, and I think it&#8217;s ready for initial launch now. If you haven&#8217;t read my previous posts on MapsKrieg, it&#8217;s a mashup that scrapes craigslist apartment listings and displays them using the Google [...]]]></description>
			<content:encoded><![CDATA[<p><center><a href="http://www.mapskrieg.com/"><img src='http://www.hung-truong.com/blog/wp-content/uploads/2007/05/logo.png' alt='logo.png' /></a></center></p>
<p>I did a bit more work on <a href="http://www.mapskrieg.com/">MapsKrieg</a> (the official name of my craigslist and google maps mashup) in the past few days, and I think it&#8217;s ready for initial launch now.</p>
<p>If you haven&#8217;t read my previous posts on MapsKrieg, it&#8217;s a mashup that scrapes craigslist apartment listings and displays them using the Google Maps API. I&#8217;ve been on the hunt for an apartment in Ann Arbor, MI where I&#8217;m going to go to grad school. I had seen the coolness of <a href="http://www.housingmaps.com/">HousingMaps</a>, but I noticed that it only supported a very small number of cities. I figured I&#8217;d build a similar app that listed more cities, since craigslist has expanded quite a bit since that HousingMaps was created.</p>
<p>If you&#8217;re wondering about the name, here&#8217;s my thought process: I was originally calling the project &#8220;Craigsmaps&#8221; since that sort of made sense. But the domain name for that name is already taken. So I came up with a bunch of other stupid Web 2.0 names that didn&#8217;t really click (Abodr, apartment.icio.us (okay, just kidding)). So I switched the &#8220;craig&#8221; and the &#8220;maps&#8221; and it became &#8220;mapscraig&#8221; which reminded me of &#8220;blitzkrieg&#8221; which became &#8220;mapskrieg.&#8221; And there you have it.</p>
<p>Currently MapsKrieg supports 286 different craigslist locations. I haven&#8217;t added any areas outside the United States, though if I get requests, I&#8217;ll add them. And I&#8217;ll probably add new cities as their added to craigslist if people request them, too.</p>
<p>As far as technical stuff goes, I built the site on the CakePHP framework, which was a new experience for me since I had been doing stuff in Ruby on Rails for the past year. The app uses Google Maps&#8217; API for displaying the data that&#8217;s pulled directly from craigslist listings. Of course, all the data is cached in a MySQL database, so the site is decently fast.</p>
<p>MapsKrieg took about two &#8220;man weeks&#8221; worth of time to complete. It was developed over about a month, though I didn&#8217;t work on it every day, and I didn&#8217;t work all day on the days I did work on it. I&#8217;d say that&#8217;s pretty good, considering I hadn&#8217;t really done much programming in PHP/Javascript before, and I had to learn the Google Maps API (which was surprisingly easy).</p>
<p>Anyway, go ahead and try out <a href="http://www.mapskrieg.com/">MapsKrieg</a> and let me know what you think. The interface could probably use some tweaking, but I think the app &#8220;works&#8221; fairly well. But I&#8217;m open to any questions or comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/05/06/mapskrieg-craigslist-google-maps-mashup-launch/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Craigslist and Google Maps Mashup Thingy: Day 14 &#8211; Getting Jquery and Prototype to Work Together</title>
		<link>http://www.hung-truong.com/blog/2007/05/02/craigslist-and-google-maps-mashup-thingy-day-14-getting-jquery-and-prototype-to-work-together/</link>
		<comments>http://www.hung-truong.com/blog/2007/05/02/craigslist-and-google-maps-mashup-thingy-day-14-getting-jquery-and-prototype-to-work-together/#comments</comments>
		<pubDate>Thu, 03 May 2007 05:13:29 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/05/02/craigslist-and-google-maps-mashup-thingy-day-14-getting-jquery-and-prototype-to-work-together/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Whoa, that&#8217;s a doozy of a title! Anyway, today I was working on making the mashup look prettier and actually somewhat usable for human consumption. I was using thickbox to get some pretty snazzy ajax stuff going on for displaying the about page and whatnot. Today, I included prototype for some even more snazzy ajax [...]]]></description>
			<content:encoded><![CDATA[<p>Whoa, that&#8217;s a doozy of a title! Anyway, today I was working on making the mashup look prettier and actually somewhat usable for human consumption. I was using thickbox to get some pretty snazzy ajax stuff going on for displaying the about page and whatnot. Today, I included prototype for some even more snazzy ajax stuff. But apparently they clash.</p>
<p>I guess both of them like using the &#8216;$&#8217; character as a shortcut to make the code easier to read. Which means they have crazy namespace conflicts. Bad developers! Anyway, here&#8217;s how I got it to work. Right after the import of the jquery library, I set the &#8216;$&#8217; thing to be &#8216;$j&#8217; instead. Then I refactored thickbox to use the &#8216;$j&#8217; name instead. It worked. Here&#8217;s what the head looks like:</p>
<p><code><br />
...<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/jquery-latest.pack.js&quot;&gt;&lt;/script&gt;<br />
&lt;script&gt;var $j = jQuery.noConflict();&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/thickbox.js&quot;&gt;&lt;/script&gt;<br />
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/prototype.js&quot;&gt;&lt;/script&gt;<br />
...<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/05/02/craigslist-and-google-maps-mashup-thingy-day-14-getting-jquery-and-prototype-to-work-together/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Craigslist and Google Maps Mashup Thingy: Day 12+13 &#8211; Dot Com and Cities</title>
		<link>http://www.hung-truong.com/blog/2007/05/01/craigslist-and-google-maps-mashup-thingy-day-1213-dot-com-and-cities/</link>
		<comments>http://www.hung-truong.com/blog/2007/05/01/craigslist-and-google-maps-mashup-thingy-day-1213-dot-com-and-cities/#comments</comments>
		<pubDate>Wed, 02 May 2007 03:29:47 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/05/01/craigslist-and-google-maps-mashup-thingy-day-1213-dot-com-and-cities/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
So I worked on the mashup quite a bit yesterday. So much that when I was done, I was too tired to write a blog entry about it. I mostly spent yesterday buying the domain name, upgrading my server, and getting the project to work on my &#8220;production&#8221; server. It wasn&#8217;t too difficult; I just [...]]]></description>
			<content:encoded><![CDATA[<p>So I worked on the mashup quite a bit yesterday. So much that when I was done, I was too tired to write a blog entry about it. I mostly spent yesterday buying the domain name, upgrading my server, and getting the project to work on my &#8220;production&#8221; server. It wasn&#8217;t too difficult; I just needed to move the database, change some names, and make sure there weren&#8217;t any old names being used. I also started adding all of the cities on CraigsList to the database. At least, the US ones.</p>
<p>This took a lot of time to do manually. I had to figure out if the area was an actual city, or a bunch of cities, then figure out the geo coordinates, and stuff it into the database. I thought it might be faster to do it by hand than write a script. Nope.</p>
<p>Today I wrote a script that would make the entry faster by automagically getting the coordinates from Google Maps&#8217; http request service. It still took a while, but today I finished inserting almost all of the US cities (excluding the combination ones, since Google can&#8217;t do those).</p>
<p>Now all that&#8217;s left is for me to make the pop up windows a little prettier, and maybe add a list of the CraigsList listings to the side for easy browsing by price, # of bedrooms, etc. That shouldn&#8217;t take too long. Then I can launch the site!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/05/01/craigslist-and-google-maps-mashup-thingy-day-1213-dot-com-and-cities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Craigslist and Google Maps Mashup Thingy: Day 11 &#8211; More Random Code</title>
		<link>http://www.hung-truong.com/blog/2007/04/29/craigslist-and-google-maps-mashup-thingy-day-11-more-random-code/</link>
		<comments>http://www.hung-truong.com/blog/2007/04/29/craigslist-and-google-maps-mashup-thingy-day-11-more-random-code/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 07:30:21 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/04/29/craigslist-and-google-maps-mashup-thingy-day-11-more-random-code/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Today for the mashup thing, I did a bit of work on the main index page where each available city will show up as a marker. So when someone goes to the root of the website, they&#8217;ll see a bunch of cities. They can also pick the cities from a drop down menu, too. This [...]]]></description>
			<content:encoded><![CDATA[<p>Today for the mashup thing, I did a bit of work on the main index page where each available city will show up as a marker. So when someone goes to the root of the website, they&#8217;ll see a bunch of cities. They can also pick the cities from a drop down menu, too. This required a bit of more javascript and some template files, etc.</p>
<p>I did a little research on the person who did the Google Maps Craigslist mashup like two years ago. Apparently he got a job at Google! While that&#8217;s pretty awesome, I can&#8217;t see this project doing the same for me, since it&#8217;s something that&#8217;s already been done (and two years ago, which is an eternity in web time). Rather, I&#8217;m just building this for my own use and perhaps for other people who wish there were more cities available in that HousingMaps mashup.</p>
<p>I came up with a name for the application. I was going to call it CraigsMaps, but someone already has that domain name. I&#8217;m thinking I should buy the domain name pretty soon, but what if I come up with a cooler name later!? The app should be ready in a couple of days anyway. Depending on how much extra stuff I want to cram in before I &#8220;launch&#8221; it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/04/29/craigslist-and-google-maps-mashup-thingy-day-11-more-random-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Craigslist and Google Maps Mashup Thingy: Day 10 &#8211; Custom Controls and Housekeeping</title>
		<link>http://www.hung-truong.com/blog/2007/04/28/craigslist-and-google-maps-mashup-thingy-day-10-custom-controls-and-housekeeping/</link>
		<comments>http://www.hung-truong.com/blog/2007/04/28/craigslist-and-google-maps-mashup-thingy-day-10-custom-controls-and-housekeeping/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 07:47:01 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/04/28/craigslist-and-google-maps-mashup-thingy-day-10-custom-controls-and-housekeeping/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
I guess this should count as the project&#8217;s 10th and 11th day, though I didn&#8217;t really spend too much time on either day, so let&#8217;s just roll them into one. After doing some CSS to overlay some divs over the Google Map, I found out there&#8217;s another way to do this: with &#8220;custom controls.&#8221; The [...]]]></description>
			<content:encoded><![CDATA[<p>I guess this should count as the project&#8217;s 10th and 11th day, though I didn&#8217;t really spend too much time on either day, so let&#8217;s just roll them into one. After doing some CSS to overlay some divs over the Google Map, I found out there&#8217;s another way to do this: with &#8220;custom controls.&#8221; </p>
<p>The way that the custom controls work is both pretty sweet, and not that great. I don&#8217;t like having to add content to them by using javascript. It just doesn&#8217;t seem &#8220;correct&#8221; to do so, since I&#8217;m just overlaying normal html. So I&#8217;ll be using some custom controls, and some divs. The good thing about custom controls is that the map knows not to open infowindows under them when they&#8217;re opened up.</p>
<p>Besides that, I just did a lot of random work on getting the app to look a little better. Like showing the correct area based on which city&#8217;s listing you want to see. Overall, the project is coming along really smoothly, with very few roadblocks. I&#8217;m happy that it&#8217;s nearing completion. I really enjoy doing these one-man projects, since it lets me get experience in everything from database schema planning and optimizing, to php backend development, to designing the css for the content, and even maybe a little tweaking in the Apache server. I think once I add this project to my &#8220;real&#8221; server, I&#8217;ll need to get a ram upgrade.</p>
<p>I think the project should probably be ready to go live within a week. I dunno if I&#8217;ll actually try to get the word out, or just release it and see if people find it via Google or something. That&#8217;d be cool. Since there&#8217;s already a site that does a similar thing (though there&#8217;s a smaller number of supported cities), I don&#8217;t think what I&#8217;m doing is really that noteworthy. I think it&#8217;d be useful, though, so we&#8217;ll see if there&#8217;s any reaction at all to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/04/28/craigslist-and-google-maps-mashup-thingy-day-10-custom-controls-and-housekeeping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Craigslist and Google Maps Mashup Thingy: Day 9 &#8211; CSS Foo and CakePHP Helpers</title>
		<link>http://www.hung-truong.com/blog/2007/04/25/craigslist-and-google-maps-mashup-thingy-day-9-css-foo-and-cakephp-helpers/</link>
		<comments>http://www.hung-truong.com/blog/2007/04/25/craigslist-and-google-maps-mashup-thingy-day-9-css-foo-and-cakephp-helpers/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 06:20:39 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/04/25/craigslist-and-google-maps-mashup-thingy-day-9-css-foo-and-cakephp-helpers/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
Today I did a bunch of CSS, making the mashup thing actually look kind of nice. Later, I may add some more &#8220;Web 2.0&#8243; features such as drop shadows and gradients. I was having a hard time getting the map to show up in the div with a few of the css layouts I downloaded, [...]]]></description>
			<content:encoded><![CDATA[<p>Today I did a bunch of CSS, making the mashup thing actually look kind of nice. Later, I may add some more &#8220;Web 2.0&#8243; features such as drop shadows and gradients. I was having a hard time getting the map to show up in the div with a few of the css layouts I downloaded, so I just decided to code it by hand. I think it looks pretty neat; the map stretches across the whole screen and then the other content is shown in absolutely positioned divs.</p>
<p>I also did some stuff with the CakePHP helpers. CakePHP&#8217;s inferiority to Rails is really starting to show to me. I think it&#8217;s all a product of PHP having not been created for this kind of MVC design. CakePHP tries to follow the conventions of Rails, but it does so in a sort of copycat manner. As such, the result does not meet or exceed the original.</p>
<p>In the case of Helpers, Rails automagically links the named helper to the controller. In CakePHP, you must specify that a certain controller uses a certain helper. It&#8217;s kind of annoying. There also isn&#8217;t any support for the Rails convention of &#8220;partials,&#8221; which is why I&#8217;m using their helpers to begin with&#8230; It&#8217;s annoying.</p>
<p>Also, I find it annoying that CakePHP finds an objects associated objects by default when using &#8220;find()&#8221; or &#8220;findAll().&#8221; It&#8217;s useful when I want it, but when I don&#8217;t, it wastes a lot of memory! Now that I think of it, I&#8217;m not sure if Rails does this by default or not. The only reason I mention it is because I kept getting out of memory errors (or more accurately, memory limit errors) with my application. It&#8217;s a big waste when all I want is the name of the area and CakePHP fetches ALL of the associated listings for that area&#8230;</p>
<p>I must sound really whiny right now. I guess it&#8217;s just from some frustration in learning a new language/framework instead of using one that I&#8217;m used to. It&#8217;s good for me, I won&#8217;t argue against that. It&#8217;s just a bit disappointing to see all of these flaws when a framework is purported to be things like &#8220;stable&#8221; and &#8220;good.&#8221;</p>
<p>Oh, and also, I should say that I think my actual mashup is coming along pretty nicely. It should be ready in a few more &#8220;days,&#8221; where a &#8220;day&#8221; is one I am actively working on the mashup. I could probably &#8220;release&#8221; it pretty soon, but usually when I release something, it means I won&#8217;t work on it much anymore, moving to something else I find interesting. So I should probably actually have it done before I release it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/04/25/craigslist-and-google-maps-mashup-thingy-day-9-css-foo-and-cakephp-helpers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Craigslist and Google Maps Mashup Thingy: Day 8 &#8211; CakePHP Routing and Caching</title>
		<link>http://www.hung-truong.com/blog/2007/04/22/craigslist-and-google-maps-mashup-thingy-day-8-cakephp-routing-and-caching/</link>
		<comments>http://www.hung-truong.com/blog/2007/04/22/craigslist-and-google-maps-mashup-thingy-day-8-cakephp-routing-and-caching/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 06:24:55 +0000</pubDate>
		<dc:creator>Hung</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[MapsKrieg]]></category>
		<category><![CDATA[Mashup]]></category>

		<guid isPermaLink="false">http://www.hung-truong.com/blog/2007/04/22/craigslist-and-google-maps-mashup-thingy-day-8-cakephp-routing-and-caching/</guid>
		<description><![CDATA[<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>407</b><br />
<br />
<b>Warning</b>:  Division by zero in <b>/home/hungtruong/hung-truong.com/blog/wp-content/plugins/tla_49490.php</b> on line <b>415</b><br />
I spent a whole lotta time today trying to get caching working with CakePHP. Apparently, CakePHP doesn&#8217;t do caching quite as gracefully as Rails when it comes to custom routing, especially in the application root. Yeah, there&#8217;s a bug. I thought I was doing something wrong though, so it took me forever to find out [...]]]></description>
			<content:encoded><![CDATA[<p>I spent a whole lotta time today trying to get caching working with CakePHP. Apparently, CakePHP doesn&#8217;t do caching quite as gracefully as Rails when it comes to custom routing, especially in the application root. Yeah, there&#8217;s a bug. I thought I was doing something wrong though, so it took me forever to find out it was actually a bug (or is it a &#8220;feature?&#8221;).</p>
<p>Besides that, I got the interface to what it was previously, except with AJAX so that the Craigslist images are only downloaded when you click on a map marker. I also found that it takes a long time to put a week&#8217;s worth of listings (from Ann Arbor, at least) onto the map at once. I&#8217;m guessing there were at least 400 on there. I made a hard limit to the number of listings that show up, and it loads a lot faster now.</p>
<p>I&#8217;m sort of back into the mood for working on this project again. I finally beat the Scrin campaign (it was really short) in Command and Conquer 3, so I&#8217;ll definitely be more focused now. I think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hung-truong.com/blog/2007/04/22/craigslist-and-google-maps-mashup-thingy-day-8-cakephp-routing-and-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

