<?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>Wait till I come!</title>
	<atom:link href="http://www.wait-till-i.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wait-till-i.com</link>
	<description>Chris Heilmann - Accessibility, Web Development and Pragmatism - can talk, will travel</description>
	<lastBuildDate>Mon, 08 Mar 2010 21:44:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>TTMMHTM: Public data explorer, good weather, dogs with taches, and automated Twitter to delicious bookmarking</title>
		<link>http://www.wait-till-i.com/2010/03/08/ttmmhtm-public-data-explorer-good-weather-dogs-with-taches-and-automated-twitter-to-delicious-bookmarking/</link>
		<comments>http://www.wait-till-i.com/2010/03/08/ttmmhtm-public-data-explorer-good-weather-dogs-with-taches-and-automated-twitter-to-delicious-bookmarking/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 21:44:02 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[airtraffic]]></category>
		<category><![CDATA[del.icio.us]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[guardian]]></category>
		<category><![CDATA[planes]]></category>
		<category><![CDATA[publicdata]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1399</guid>
		<description><![CDATA[Things that made me happy this morning:

I just arrived in Atlanta for Georgia Tech University hack day and the weather is awesome. I spent the day in the sun in cafes writing my slides for the Mix10 conference next week and now I am going through my feeds. So time for another TTMMHTM: 



YouTube is [...]]]></description>
			<content:encoded><![CDATA[<p>Things that made me happy this morning:</p>

<p>I just arrived in Atlanta for Georgia Tech University hack day and the weather is awesome. I spent the day in the sun in cafes writing my slides for <a href="http://live.visitmix.com/MIX10/Sessions/EX34">the Mix10 conference</a> next week and now I am going through my feeds. So time for another <span class="caps">TTMMHTM</span>: </p>


<ul>
<li><a href="http://apiblog.youtube.com/2010/03/upcoming-change-to-youtube-video-page.html">YouTube is changing its <span class="caps">URL</span>s</a> &#8211; this didn&#8217;t really make me happy but it means I know why some people cannot use Easy YouTube at the moment and I know now that it is easy to fix.</li>
<li>Google released a <a href="http://www.google.com/publicdata/directory">Public Data Directory</a> taking government data and running it through the visualization <span class="caps">API </span>to allow you to directly embed charts into your pages. The Guardian&#8217;s <a href="http://www.guardian.co.uk/world-government-data">World Government Data collection</a> is still much more detailed but well done Google.</li>
<li>The <a href="http://dog-milk.com/humunga-stache-dog-toy/">Humunga Stache Dog Toy</a> makes me wish I had a dog to mess with. </li>
<li>Carsonified/ThinkVitamin released my <a href="http://carsonified.com/blog/dev/getting-started-with-yahoo-geoplanet-explorer/">article on GeoExplorer and using Yahoo&#8217;s geo technology</a></li>
<li>Creative people rock: <a href="http://speckyboy.com/2009/06/15/45-incredible-retro-robot-inventions-built-with-everyday-trash/">45 robots build with everyday trash</a></li>
<li><a href="http://packrati.us/">Packrati.us</a> is a service to automatically add <span class="caps">URL</span>s you tweet about to del.icio.us &#8211; this saves me some time!</li>
<li><a href="http://www.radarvirtuel.com/">RadarVirtuel</a> is a live map of aircraft and where they are right at this moment, where they came from and where they are headed.</li>
<li><a href="http://whatdoyousuggest.net/">What do you suggest?</a> takes a seed from you (or gives you something random) then guides you on a journey through language and the collective lives of Google users.</li>
<li><a href="http://gesturecons.com/">GestureCons</a> are a set of icons for touch-screen devices. My favourite is the two finger slide which in England doesn&#8217;t go down well as it also is the <a href="http://en.wikipedia.org/wiki/V_sign#V_sign_as_an_insult">two finger salute</a></li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/03/08/ttmmhtm-public-data-explorer-good-weather-dogs-with-taches-and-automated-twitter-to-delicious-bookmarking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome getting navigator.geolocation</title>
		<link>http://www.wait-till-i.com/2010/03/04/google-chrome-getting-navigator-geolocation/</link>
		<comments>http://www.wait-till-i.com/2010/03/04/google-chrome-getting-navigator-geolocation/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 22:41:50 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[geoawareness]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1397</guid>
		<description><![CDATA[Just when I was writing an article about geolocation and bemoaned the fact that only Firefox on the Desktop supports the W3C geolocation API (Safari only as the mobile version) there is a new beta out that stepped up and filled that hole.

Following the link on ReadWriteWeb to the Chrome Developer Blog I downloaded the [...]]]></description>
			<content:encoded><![CDATA[<p>Just when I was writing an article about geolocation and bemoaned the fact that only Firefox on the Desktop supports the <a href="http://dev.w3.org/geo/api/spec-source.html"><span class="caps">W3C </span>geolocation <span class="caps">API</span></a> (Safari only as the mobile version) there is a new beta out that stepped up and filled that hole.</p>

<p>Following the link on <a href="http://www.readwriteweb.com/archives/google_chrome_becomes_location_aware.php">ReadWriteWeb</a> to the <a href="http://googlechromereleases.blogspot.com/2010/03/dev-channel-update.html">Chrome Developer Blog</a> I downloaded the beta for Mac and tried it out.</p>

<p>The result, using the <a href="http://isithackday.com/geoplanet-explorer/geodrilldown.php">GeoPlanet Explorer</a> shows that navigator.geolocation works:</p>

<p><a href="http://www.flickr.com/photos/codepo8/4406737387/"><img src="http://farm5.static.flickr.com/4054/4406737387_919f49549b.jpg" alt="chrome with geolocation" /></a></p>

<p>In order to enable geolocation on Chrome you need to start it from the Terminal &#8211; for example in <span class="caps">OSX</span>:</p>



<pre><code>/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-geolocation</code></pre>



<p>Good times ahead. Now ship it, Google!</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/03/04/google-chrome-getting-navigator-geolocation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>H4xx0r3d! &#8211; how I found out that I am running a spam blog</title>
		<link>http://www.wait-till-i.com/2010/03/03/h4xx0r3d-how-i-found-out-that-i-am-running-a-spam-blog/</link>
		<comments>http://www.wait-till-i.com/2010/03/03/h4xx0r3d-how-i-found-out-that-i-am-running-a-spam-blog/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 12:12:12 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cracking]]></category>
		<category><![CDATA[folders]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1394</guid>
		<description><![CDATA[Yesterday, actually ten minutes before I had to leave for Kilburn to give my talk at ignite I had a shocking moment. I found in one of the sub-folders of my vast server a blog that offers cheap OEM software: 



All of these links sooner or later redirect to firemicrosoft.net which is owned by someone [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, actually ten minutes before I had to leave for Kilburn to give my talk at ignite I had a shocking moment. I found in one of the sub-folders of my vast server a blog that offers cheap <span class="caps">OEM </span>software: </p>

<p><img src="http://farm3.static.flickr.com/2800/4403882582_653fd9fac2.jpg" alt="Phantom OEM blog on my server" /></p>

<p>All of these links sooner or later redirect to firemicrosoft.net which is <a href="http://www.networksolutions.com/whois-search/firemicrosoft.net">owned by someone in Russia</a> and hosted by GoDaddy. </p>

<h2>Don&#8217;t make folders writable to the world</h2>

<p>What happened is that I had a very old guestbook script I had written once still running in this folder. The trick back then (and advocated by a lot of <span class="caps">PHP </span>tutorials as it is much easier that way) was to <code>chmod</code> a folder to 777 (read/write/execute permission for all) to store flat files in it. That was good enough for me back then (around 2000) and guess what? It was good enough for the spammers to store their blog. </p>

<h2>Static page generation &#8211; in bulk</h2>

<p>The blog was set up quite craftily in terms of <span class="caps">SEO</span>: Search Engines love static pages, so instead of accessing a DB &#8211; which wasn&#8217;t compromised &#8211; they simply created static pages for all the search queries that came in. After all this is about showing links and Google juice, not about delivering content. In the end, I found that I had 23487 <span class="caps">HTML </span>files advertising spam. Thank god for <span class="caps">SSH </span>access as this would have taken some time to delete over <span class="caps">SFTP. </span></p>

<p>I investigated last night and I am happy to say that this is all that happened. If I found a folder to store whatever I pleased into I&#8217;d have also tried to read other files, including the <code>wp_config.php</code> for example.</p>

<h2>Google Reader as a whistle blower</h2>

<p>The interesting part about this is how I came to find out about it: Google Reader. I have a <a href="http://blogsearch.google.com/blogsearch?hl=en&amp;scoring=d&amp;q=link%3Ahttp%3A%2F%2Fwww.wait-till-i.com%2F&amp;ie=utf-8">Google blog search <span class="caps">RSS </span>feed</a> in my reader that notifies me every time someone links to http://wait-till-i.com &#8211; I found this much more useful than trackbacks which seem only to be used by spammers these days anyways:</p>

<p>In this feed I got <strong>a lot</strong> of posts from http://vancouverisawesome.com/:</p>

<p><img src="http://farm5.static.flickr.com/4002/4403115811_a8eb75cc47.jpg" alt="lots of weird links back to my blog in Google Reader" /></p>

<p>I thought at first that this is because of http://winterolympicmedals.com &#8211; after all it is timely for that. When I looked at the source code of this site, however, I found that just before the closing <span class="caps">BODY </span>tag spammers had injected links to different sites advertising <span class="caps">OEM </span>software:</p>



<pre><code>&lt;b1&gt;&lt;div style=&quot;position:absolute; left:0px; top:0px; 
width:100%; height:20px; z-index:1; visibility: hidden&quot;&gt;   
[... lots of links interspersed with random HTML ...]
<!--aSZ1eMb-->&lt;/div&gt;&lt;/b1&gt;</code></pre>



<p>At first I sniggered about them linking to a folder on my site I know that doesn&#8217;t exist but when I clicked the link and found the blog my smile vanished quickly.</p>

<p>See the <a href="http://pastebin.org/100437">whole stuff on pastebin</a> &#8211; as you can see, all in all eight sites were attacked the same way. </p>

<p>What I find curious is that the links on vancouverisawesome are hidden and seem to still be indexed by Google &#8211; I remember being almost kicked out of AdSense once for absolutely positioning ads. Also, the links might be on the top of the screen but in the document are way down the tree, and vancouverisawesome is quite packed with links already.</p>

<p>I&#8217;ve cleaned up my server and I have contacted the maintainers of the other seven sites (and got a lot of &#8220;thank you&#8221; for that). I also contacted vancouverisawesome about them having spam links in the bottom. This is a pretty common attack (we had it on Ajaxian.com, too) targeted at Wordpress installs.</p>

<h2>How to avoid all this (and how to detect it)</h2>

<p>So in order to make sure that this doesn&#8217;t happen to you:</p>


<ul>
<li>Do <strong>not</strong> leave folders writable to the world &#8211; if a piece of software tells you that you need to do this tell them to change it &#8211; it is inviting spammers like a dog turd invites flies.</li>
<li>Do monitor your incoming links &#8211; if I hadn&#8217;t had the blog search <span class="caps">RSS </span>feed running I probably wouldn&#8217;t have found the blog until it really showed up in my traffic stats.</li>
<li>Always upgrade your WordPress install &#8211; this is automated now and takes a second &#8211; there is no excuse not to.</li>
<li>Redirect or &#8211; in the most extreme case &#8211; delete old things on your server that you don&#8217;t maintain any longer.</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/03/03/h4xx0r3d-how-i-found-out-that-i-am-running-a-spam-blog/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>GeoPlanet Explorer &#8211; another showcase for quick development with YQL and YUI</title>
		<link>http://www.wait-till-i.com/2010/02/26/geoplanet-explorer-another-showcase-for-quick-development-with-yql-and-yui/</link>
		<comments>http://www.wait-till-i.com/2010/02/26/geoplanet-explorer-another-showcase-for-quick-development-with-yql-and-yui/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 01:25:00 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[geoplanet]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yql]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1388</guid>
		<description><![CDATA[A few days ago Gary Gale pinged me on messenger and subsequently carried a cup of coffee to my desk to pester me with another challenge. This time he talked about just how rich and cool the GeoPlanet data is and that it is tough to show people this in a simple interface. Internally we [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago <a href="http://www.vicchi.org/">Gary Gale</a> pinged me on messenger and subsequently carried a cup of coffee to my desk to pester me with another challenge. This time he talked about just how rich and cool the <a href="http://developer.yahoo.com/geo/">GeoPlanet data</a> is and that it is tough to show people this in a simple interface. Internally we have a few pretty cool tools for testing and analyzing the data but most of them are too loaded with information only understandable for the geo folk out there. So in essence, the benevolent overlord of geo technologies in Yahoo was asking to build a simple interface to navigate the GeoPlanet data.</p>

<p>Well, this morning I got a chance to have a go at his request and here&#8217;s the <a href="http://isithackday.com/geoplanet-explorer/index.php?woeid=23689631">GeoPlanet Explorer</a> interface for you. Check the following screencast to see it in action:</p>

<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/0Mmmyx7Ms5o&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x234900&amp;color2=0x4e9e00"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/0Mmmyx7Ms5o&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x234900&amp;color2=0x4e9e00" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>

<p>Building the interface wasn&#8217;t magic &#8211; I used <span class="caps">YQL </span>to access the data, write a few lines of <span class="caps">PHP </span>to display it in a nested list and then added a few lines of <span class="caps">YUI3</span> JavaScript to collapse and expand the location details.</p>

<p>Notice that the whole interface uses progressive enhancement throughout. If you have no JavaScript at your disposal you get a static map and all the information in one single page. The lat/lon links open in Yahoo Maps and you can see the location there. </p>

<p>If you have JavaScript enabled the interface collapses and the map is Ajax and will be refreshed every time you click on a lat/lon link. </p>

<p>The <a href="http://github.com/codepo8/geoplanet-explorer">source code of the GeoPlanet Explorer</a> is available on GitHub and it can give you a few pointers how to use the GeoPlanet <span class="caps">API </span>with <span class="caps">YQL </span>for your own solutions.</p>]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/02/26/geoplanet-explorer-another-showcase-for-quick-development-with-yql-and-yui/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>TTMMHTM &#8211; BBC Web animals, two very cool APIs and there&#8217;s something about the LG logo</title>
		<link>http://www.wait-till-i.com/2010/02/23/ttmmhtm-bbc-web-animals-two-very-cool-apis-and-theres-something-about-the-lg-logo/</link>
		<comments>http://www.wait-till-i.com/2010/02/23/ttmmhtm-bbc-web-animals-two-very-cool-apis-and-theres-something-about-the-lg-logo/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 10:38:19 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[3dmodelling]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[comparing]]></category>
		<category><![CDATA[formula1]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[guardian]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie6funeral]]></category>
		<category><![CDATA[lg]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[medals]]></category>
		<category><![CDATA[missingkids]]></category>
		<category><![CDATA[msie]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[pacman]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[socialmedia]]></category>
		<category><![CDATA[survey]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[utf8]]></category>
		<category><![CDATA[winterolympics]]></category>

		<guid isPermaLink="false">http://www.wait-till-i.com/?p=1385</guid>
		<description><![CDATA[Things that made me happy this morning:



WinterOlympicsMedals.com is live &#8211; I was busy this weekend creating this search interface from the open data provided by the Guardian.
The LG logo has a hidden meaning that is full of win
The BBC have a great little test analyzing your web behaviour. Apparently I am a web ostrich, but [...]]]></description>
			<content:encoded><![CDATA[<p>Things that made me happy this morning:</p>


<ul>
<li><a href="http://winterolympicsmedals.com">WinterOlympicsMedals.com</a> is live &#8211; I was busy this weekend creating this search interface from the open data provided by the Guardian.</li>
<li>The LG logo has a <a href="http://pics.blameitonthevoices.com/022010/cannot_be_unseen_the_lg_logo.jpg">hidden meaning that is full of win</a></li>
<li>The <span class="caps">BBC </span>have a great little <a href="https://www.bbc.co.uk/labuk/experiments/webbehaviour/">test analyzing your web behaviour</a>. Apparently I am a web ostrich, but I also buggered the game with the chocolate bars as I was tweeting instead of reading the instructions properly.</li>
<li>On March the First, there will be a <a href="http://ie6funeral.com/">funeral procession for <span class="caps">IE6</span></a> in Mountain View, <span class="caps">CA.</span></li>
<li><a href="http://www.missingkidsmap.com/">Missing kids map</a> and <a href="http://missingadultsmap.com">Missing Adults Map</a> are both helping to find people who have been reported missing. Both have an <span class="caps">API </span>- if you call read.php with the state name you get the information as <span class="caps">XML </span>- for example <a href="http://www.missingkidsmap.com/read.php?state=CA">missing kids in California</a></li>
<li><a href="http://tools.geofabrik.de/mc/index.html">Map Compare</a> allows you to see different maps next to each other to compare their quality</li>
<li><a href="http://mi.eng.cam.ac.uk/~qp202/my_papers/BMVC09/">ProForma</a> is a paper to create 3D models rapidly from a video recording</li>
<li><a href="http://bradchoate.github.com/unicons/">Unicons</a> is a bookmarklet to add <span class="caps">UTF</span>-8 characters depicting images into any text field.</li>
<li>If you are building a racing site there is an <a href="http://ergast.com/mrd/">awesome free Formula One <span class="caps">API</span></a> available and its design puts the commercial ones to shame.</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.wait-till-i.com/2010/02/23/ttmmhtm-bbc-web-animals-two-very-cool-apis-and-theres-something-about-the-lg-logo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
