<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Wayne Pan</title>
	<atom:link href="http://waynepan.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://waynepan.com</link>
	<description>tech &#124; js &#124; ui &#124; ajax &#124; life &#124; mobile</description>
	<pubDate>Tue, 10 Jun 2008 02:07:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>$199 For 3g iPhone?</title>
		<link>http://waynepan.com/2008/06/09/199-for-3g-iphone/</link>
		<comments>http://waynepan.com/2008/06/09/199-for-3g-iphone/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 02:07:02 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://waynepan.com/?p=128</guid>
		<description><![CDATA[I just realized why Apple is willing to sell the iPhone for $199. No it&#8217;s not the kickback from AT&#38;T. It&#8217;s the apps! They&#8217;re undoubtedly losing money on the device and banking on the fact that people will purchase so many apps over the life of the device. Sound familiar? Yup, it&#8217;s the same business model as [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "$199 For 3g iPhone?", url: "http://waynepan.com/2008/06/09/199-for-3g-iphone/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I just realized why Apple is willing to sell the iPhone for $199. No it&#8217;s not the kickback from AT&amp;T. It&#8217;s the apps! They&#8217;re undoubtedly losing money on the device and banking on the fact that people will purchase so many apps over the life of the device. Sound familiar? Yup, it&#8217;s the same business model as the video game console market.</p>
<p>Maybe I&#8217;m the last one to realize this&#8230;</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=%24199+For+3g+iPhone%3F&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F06%2F09%2F199-for-3g-iphone%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/06/09/199-for-3g-iphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dissecting ShareThis Widget (BAD) Javascript Code</title>
		<link>http://waynepan.com/2008/04/21/dissecting-sharethis-widget-bad-javascript-code/</link>
		<comments>http://waynepan.com/2008/04/21/dissecting-sharethis-widget-bad-javascript-code/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 08:14:02 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://waynepan.com/?p=124</guid>
		<description><![CDATA[I just installed the ShareThis button on this blog so I cracked open the javascript payload. You can view it here. In short, it&#8217;s horrific! It pains me to see this because this is a widget which means this code is running a million times a day!
First, let&#8217;s get some basics out of the way.

Comments [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Dissecting ShareThis Widget (BAD) Javascript Code", url: "http://waynepan.com/2008/04/21/dissecting-sharethis-widget-bad-javascript-code/" });</script>]]></description>
			<content:encoded><![CDATA[<p><a href='http://sharethis.com'><img src="http://waynepan.com/wp-content/uploads/2008/04/sharethis_logo_tm.gif" alt="" title="sharethis_logo_tm" width="197" height="40" class="aright" /></a>I just installed the <a href="http://sharethis.com/">ShareThis</a> button on this blog so I cracked open the javascript payload. You can <a href="http://w.sharethis.com/widget/">view it here</a>. In short, it&#8217;s horrific! It pains me to see this because this is a widget which means this code is running a million times a day!</p>
<p>First, let&#8217;s get some basics out of the way.</p>
<ul>
<li>Comments and white-spaces are left in the code, increasing the payload size. I suggest using <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a> before posting the code.</li>
<li><i>Lines 1-3</i> - MooTools is included at the top of the script, PACKED. Thanks to <a href="http://jst.pbwiki.com/summary.php">PB Wiki&#8217;s Tests</a>, we now know this is bad for client side performance. Stop doing this, see above!</li>
<li><i>Lines 3-12</i> - They&#8217;ve included the FireBug Lite code to account for the 5 occurrences where they use console. Remove the 5 debug statements that don&#8217;t do squat and you can shave off ~350 bytes</li>
</ul>
<p>Doing the above netted a 6940 bytes savings or a script 65% the size of the original (not to mention the client side cycles shaved off by removing the packed mootools). Click the link below to view it.</p>
<blockquote><p>
13048 Apr 21 00:17 <a href="http://waynepan.com/wp-content/uploads/2008/04/sharethis_widget_better.js">sharethis_widget_better.js</a><br />
19988 Apr 21 00:18 <a href="http://waynepan.com/wp-content/uploads/2008/04/sharethis_widget_original.js">sharethis_widget_original.js</a>
</p></blockquote>
<p>Digging into the code further I found a lot of various space saving things that could be done in the code (using radix in parseInt, avoiding at least one try catch block <i>83-89</i>, etc). Also a few oddities like lines <i>329 - 332</i> (which looks like a bug), just asking for trouble by using _s in the global space, and wtf is going on with lines <i>460-464</i>? Declaring _query to be [] then passing it to the ShareThis object, which from what I can tell doesn&#8217;t do anything, then setting the query property again to _query (which is really []) and then pointlessly setting a variable st to the newly created ShareThis. </p>
<p>I know I&#8217;m guilty of writing bad javascript also, but if you&#8217;re a company distributing a widget you should at least clean up the code a tad&#8230; ironically the ShareThis widget appears immediately after this line. =|</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Dissecting+ShareThis+Widget+%28BAD%29+Javascript+Code&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F21%2Fdissecting-sharethis-widget-bad-javascript-code%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/21/dissecting-sharethis-widget-bad-javascript-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Report: First Javascript SF Meetup</title>
		<link>http://waynepan.com/2008/04/20/report-first-javascript-sf-meetup/</link>
		<comments>http://waynepan.com/2008/04/20/report-first-javascript-sf-meetup/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 06:44:07 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[280north]]></category>

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

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

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

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

		<guid isPermaLink="false">http://waynepan.com/?p=122</guid>
		<description><![CDATA[I had the pleasure of attending the first Javascript SF meetup at the Hi5 offices a couple days ago. It was a rather large turn out with some great demos. The main themes of the night were Canvas and Javascript frameworks to develop desktop apps. A few thoughts on the talks:
First up was SproutCore presented [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Report: First Javascript SF Meetup", url: "http://waynepan.com/2008/04/20/report-first-javascript-sf-meetup/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of attending the first <a href="http://javascript.meetup.com/4/calendar/7519957/">Javascript SF meetup</a> at the Hi5 offices a couple days ago. It was a rather large turn out with some great demos. The main themes of the night were Canvas and Javascript frameworks to develop desktop apps. A few thoughts on the talks:</p>
<p><a href="http://www.sproutcore.com/"><img src="http://waynepan.com/wp-content/uploads/2008/04/sproutcore.png" alt="" title="sproutcore" width="150" height="36" class="aright" /></a>First up was <a href="http://www.sproutcore.com/">SproutCore</a> presented by <a href="http://www.okito.net/">Charles Jolley</a> which is what I would imagine if Javascript and Ruby on Rails had a love child together. The basic premise is to allow you to develop desktop type apps with javascript and ruby. The best part of the app is the <a href="http://www.sproutcore.com/documentation/getting-started/">build system</a> which merges all your javascript and css, even spriting your images. </p>
<p><a href="http://www.amazon.com/gp/product/0596517742?ie=UTF8&#038;tag=wapasbl-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596517742"><img class='aright' border="0" src="http://ecx.images-amazon.com/images/I/51UHglbU2UL._SL160_.jpg"/></a>After SproutCore, <a href="http://www.crockford.com/">Douglas Crockford</a> came to pimp his new book <a href="http://www.amazon.com/gp/product/0596517742?ie=UTF8&#038;tag=wapasbl-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596517742">JavaScript: The Good Parts</a>. Ajaxian <a href="http://ajaxian.com/archives/javascript-the-good-parts">joked</a> that it would be a 2-pager at most <img src='http://waynepan.com/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' /> but Crockford said it would easily the densest book about javascript (weighing in 120 pages). A quote from the book:<br />
<blockquote>Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that’s more reliable, readable, and maintainable than the language as a whole-a subset you can use to create truly extensible and efficient code.</p></blockquote>
<p> I&#8217;ll definitely be picking this one up. <img src="http://www.assoc-amazon.com/e/ir?t=wapasbl-20&#038;l=as2&#038;o=1&#038;a=0596517742" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p><a href="http://www.solutoire.com/flotr"><img src="http://waynepan.com/wp-content/uploads/2008/04/flotr.png"class='aright' alt="" title="flotr" width="150" height="81" /></a>Somebody (I don&#8217;t recall who) mentioned <a href="http://www.solutoire.com/flotr">flotr</a>, a javascript charting library. It&#8217;s been around for a while but this is the first I&#8217;ve looked at it. There are definite benefits in doing charting in canvas versus flash but my worry is IE6 and 7 support. Even though IE 6/7 are supported through ExCanvas, I still don&#8217;t feel comfortable with the landscape.</p>
<p><a href='http://280slides.com/'><img src="http://waynepan.com/wp-content/uploads/2008/04/280northlogo5.png" alt="" title="280northlogo5" width="150" height="115" class="aright" /></a>Easily the best presso of the night was from the <a href="http://280north.com">280 North</a> founders showing off not only their upcoming app <a href="http://280slides.com/signup.php">280 Slides</a> but the framework that it is built on. <a href="http://blog.rossboucher.com/">Ross Boucher</a> and crew asked the folks to keep the wraps on what was shown at the meetup so I won&#8217;t delve into it much more. All I can say is the app is far superior to any of the current online slideshow offerings out there right now. It basically looked and functioned (very speedily too!) like a normal desktop application. The framework which has been in development for over 2 years is unlike anything out right now. I&#8217;m not sold on it yet but they stated that their plan is to open source it so I&#8217;m looking forward to getting my hands on it when they do.</p>
<p>By far the funniest moment of the night was when <a href="http://yehudakatz.com/">Yehuda Katz</a> was demoing <a href="http://code.google.com/p/ruby-spidermonkey/">ruby-spidermonkey</a>. Right before he showed an example using &#8216;with&#8217;, he turns to Crockford and says &#8220;Sorry Doug&#8221;. <img src='http://waynepan.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> The entire room started laughing which meant everybody in attendance was a bonafide javascript geek. Awesome.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Report%3A+First+Javascript+SF+Meetup&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F20%2Freport-first-javascript-sf-meetup%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/20/report-first-javascript-sf-meetup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AppEngine: First Impressions</title>
		<link>http://waynepan.com/2008/04/14/appengine-first-impressions/</link>
		<comments>http://waynepan.com/2008/04/14/appengine-first-impressions/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 05:35:47 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://waynepan.com/?p=118</guid>
		<description><![CDATA[I&#8217;ve been developing a small app using Google&#8217;s AppEngine. My first impression is that developing in the sandboxed python environment forces you to KISS. The SDK makes things dead simple in terms of templating, data access, and controlling which scripts map to which urls. 
The side affect of abstracting the data access layer is that [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "AppEngine: First Impressions", url: "http://waynepan.com/2008/04/14/appengine-first-impressions/" });</script>]]></description>
			<content:encoded><![CDATA[<p><img class='aright' src='http://waynepan.com/wp-content/uploads/2008/04/google_appengine1.png'/>I&#8217;ve been developing a small app using <a href="http://code.google.com/appengine/">Google&#8217;s AppEngine</a>. My first impression is that developing in the sandboxed python environment forces you to <a href="http://en.wikipedia.org/wiki/KISS_principle">KISS</a>. The SDK makes things dead simple in terms of templating, data access, and controlling which scripts map to which urls. </p>
<p>The side affect of abstracting the data access layer is that I no longer have to spend much time with database schema. That&#8217;s because AppEngine doesn&#8217;t run a traditional relational database and doesn&#8217;t allow you to run traditional SQL against the data store. I end up writing horribly un-optimized &#8216;queries&#8217; because I&#8217;m not able to write highly optimized SQL queries. The SDK is obviously geared to take full advantage of the instant look up and high throughput that BigTable excels at.</p>
<p>For example, for these 2 objects:</p>
<pre>
class Attribute(db.Model):
  author = db.UserProperty()
  content = db.StringProperty(multiline=True)
  date = db.DateTimeProperty(auto_now_add=True)

class UserAttribute(db.Model):
  attribute_key = db.ReferenceProperty(Attribute)
  user = db.UserProperty()
  date = db.DateTimeProperty(auto_now_add=True)
</pre>
<p>I can access all the Attributes that belong to the User with the following code:</p>
<pre>
    query = db.Query(UserAttribute)
    user_attributes = query.filter('user =', \
      users.get_current_user())
    attributes = [ua.attribute_key for ua in user_attributes]
</pre>
<p>I&#8217;ll keep updating as I dig into the SDK.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=AppEngine%3A+First+Impressions&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F14%2Fappengine-first-impressions%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/14/appengine-first-impressions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mowser&#8217;s Founder is Bitter, Thinks Mobile Web is Dead</title>
		<link>http://waynepan.com/2008/04/14/mowsers-founder-is-bitter-thinks-mobile-web-is-dead/</link>
		<comments>http://waynepan.com/2008/04/14/mowsers-founder-is-bitter-thinks-mobile-web-is-dead/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 04:19:52 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<guid isPermaLink="false">http://waynepan.com/?p=117</guid>
		<description><![CDATA[Russell Beattie&#8217;s Mowser is shutting down and boy is he bitter. 

&#8230; the general answer is that I don&#8217;t actually believe in the &#8220;Mobile Web&#8221; anymore, and therefore am less inclined to spend time and effort in a market I think is limited at best, and dying at worst.
&#8230;
In other words, I think anyone currently [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Mowser&#8217;s Founder is Bitter, Thinks Mobile Web is Dead", url: "http://waynepan.com/2008/04/14/mowsers-founder-is-bitter-thinks-mobile-web-is-dead/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Russell Beattie&#8217;s <a href="http://mowser.com">Mowser</a> is shutting down and <a href="http://www.russellbeattie.com/blog/the-end-of-mowser">boy is he bitter</a>. </p>
<blockquote><p>
&#8230; the general answer is that I don&#8217;t actually believe in the &#8220;Mobile Web&#8221; anymore, and therefore am less inclined to spend time and effort in a market I think is limited at best, and dying at worst.<br />
&#8230;<br />
In other words, I think anyone currently developing sites using XHTML-MP markup, no Javascript, geared towards cellular connections and two inch screens are simply wasting their time, and I&#8217;m tired of wasting my time.
</p></blockquote>
<p>According to <a href="http://www.admob.com/metrics">AdMob metrics</a> mobile web usage is far from dying. A trend you do see is that people who have internet enabled devices and all you can eat data plans are using the mobile web more and more. The main issue with current carriers is the confusing pricing for data plans. Do <b>you</b> know how much it would cost you browse the web?</p>
<p>I know for a fact that users with two inch screens regularly get online with their cell phones. There is a certain carrier, who we&#8217;ll call Carrier M, who bundles unlimited data with their plans but only offers very basic phones (no smartphones/iPhones). Customers of Carrier M make up a large amount of traffic on AdMob&#8217;s network disproportional to Carrier M&#8217;s market share.</p>
<p>I also believe that better browsers will eventually become the standard for mobile browsing. iPhone, Android, LiMo are all going to offer phones with WebKit. But at the same time there will still be mobile specific sites (see all the iPhone specific versions of webpages out there).</p>
<p>As for Russell&#8217;s rant, I just think he&#8217;s blowing off steam. I applaud <b>anybody</b> who takes the huge risk of trying to start their own company. I wish him the best of luck and hope he doesn&#8217;t give up on mobile.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Mowser%26%238217%3Bs+Founder+is+Bitter%2C+Thinks+Mobile+Web+is+Dead&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F14%2Fmowsers-founder-is-bitter-thinks-mobile-web-is-dead%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/14/mowsers-founder-is-bitter-thinks-mobile-web-is-dead/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Taking Advantage of iPhone&#8217;s Unique Control: Trism</title>
		<link>http://waynepan.com/2008/04/09/taking-advantage-of-iphones-unique-control-trism/</link>
		<comments>http://waynepan.com/2008/04/09/taking-advantage-of-iphones-unique-control-trism/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 00:48:31 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://waynepan.com/?p=116</guid>
		<description><![CDATA[
Simply watch the video above.. This is the first iPhone app I&#8217;ve seen that takes advantage of it&#8217;s unique abilities. Imagine this game with OTA multiplayer built in! I&#8217;m a sucker for good puzzlers so I just might have to pick up the non-existent iPhone 3g.
<script type="text/javascript">SHARETHIS.addEntry({ title: "Taking Advantage of iPhone&#8217;s Unique Control: Trism", url: "http://waynepan.com/2008/04/09/taking-advantage-of-iphones-unique-control-trism/" });</script>]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/hy0ptZisr70&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/hy0ptZisr70&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>Simply watch the video above.. This is the first iPhone app I&#8217;ve seen that takes advantage of it&#8217;s unique abilities. Imagine this game with OTA multiplayer built in! I&#8217;m a sucker for good puzzlers so I just might have to pick up the non-existent iPhone 3g.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Taking+Advantage+of+iPhone%26%238217%3Bs+Unique+Control%3A+Trism&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F09%2Ftaking-advantage-of-iphones-unique-control-trism%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/09/taking-advantage-of-iphones-unique-control-trism/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google App Engine: No AWS Killer, Python++</title>
		<link>http://waynepan.com/2008/04/07/google-app-engine-no-aws-killer-python/</link>
		<comments>http://waynepan.com/2008/04/07/google-app-engine-no-aws-killer-python/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 02:48:58 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://waynepan.com/2008/04/07/google-app-engine-no-aws-killer-python/</guid>
		<description><![CDATA[ Tonight Google releases Google App Engine and TechCrunch.com has the coverage.
The biggest news is that App Engine is free to use up to a certain amount, like all other Google developer services. (As I previously postulated.) Pricing after the free period has yet to be determined.
Applications cannot use more than 500 MB of total [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Google App Engine: No AWS Killer, Python++", url: "http://waynepan.com/2008/04/07/google-app-engine-no-aws-killer-python/" });</script>]]></description>
			<content:encoded><![CDATA[<p><img class="aright" src="http://waynepan.com/wp-content/uploads/2008/04/google_appengine1.png" alt="google_appengine1.png" /> Tonight Google releases <a href="http://code.google.com/appengine/">Google App Engine</a> and <a href="http://www.techcrunch.com/2008/04/07/google-jumps-head-first-into-web-services-with-google-app-engine/">TechCrunch.com</a> has the coverage.</p>
<p>The biggest news is that App Engine is free to use up to a certain amount, like all other Google developer services. (<a href="http://waynepan.com/2008/03/31/google-web-services-should-be-free/">As I previously postulated.</a>) Pricing after the free period has yet to be determined.</p>
<blockquote><p>Applications cannot use more than 500 MB of total storage, 200 million megacycles/day CPU time, and 10 GB bandwidth (both ways) per day.  </p></blockquote>
<p>The downside is that all the apps have to be written in Python. It&#8217;s a language that&#8217;s not as popular as PHP or as chic as Ruby but has been proven to scale and seems to be getting traction again as <a href="http://www.djangoproject.com/">django</a> matures.</p>
<p>I, for one, would love to be getting back into Python but Google App Engine won&#8217;t be a home run until they offer it in true services style. Any language and piecemeal. For example, as I read it, I can&#8217;t use BigTable and GFS for my self-hosted PHP application. Undoubtedly, this will eventually happen. I can also see Amazon firing back making portions of AWS free for small users.</p>
<p><b>Update:</b> <a href="http://highscalability.com/google-appengine-first-look">HighScalability.com</a> has a good technical overview of GAE&#8217;s sandboxed python environment.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Google+App+Engine%3A+No+AWS+Killer%2C+Python%2B%2B&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F07%2Fgoogle-app-engine-no-aws-killer-python%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/07/google-app-engine-no-aws-killer-python/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quirky mousemove Event Firing</title>
		<link>http://waynepan.com/2008/04/07/quirky-mousemove-event-firing/</link>
		<comments>http://waynepan.com/2008/04/07/quirky-mousemove-event-firing/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 18:46:07 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://waynepan.com/2008/04/07/quirky-mousemove-event-firing/</guid>
		<description><![CDATA[PPK, of quriksmode.org fame, has been busy updating his events compatibility table and has uncovered some interesting bugs in the mousemove event.
 When doing my new mousemove test I found a bug in IE5-7 that I was previously unaware of. When the user moves the mouse over the element, the mousemove event fires many times, as [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Quirky mousemove Event Firing", url: "http://waynepan.com/2008/04/07/quirky-mousemove-event-firing/" });</script>]]></description>
			<content:encoded><![CDATA[<p>PPK, of <a href="http://www.quirksmode.org/">quriksmode.org</a> fame, has been busy updating his events compatibility table and has uncovered some interesting bugs in the mousemove event.</p>
<blockquote><p> When doing my new mousemove test I found a bug in IE5-7 that I was previously unaware of. When the user moves the mouse over the element, the mousemove event fires many times, as it should. However, when the user stops moving the mouse, IE5-7 continues firing the event every once in a while. This stops only when the mouse leaves the target element entirely.This is obviously a bug: when the mouse does not move the mousemove event should not fire.  </p></blockquote>
<p>On top of that he&#8217;s stating that the bug has been copied by the Safari and Opera team. I think it has less to do with the browser implementations with more with operating system oddities.</p>
<p>For example, OS X Firefox 2 mousemove events are triggered when Firefox is brought back into focus (using cmd-tab, no mouse movement). However, on Windows XP sp2 Firefox does not display the same behavior! You can say this is a bug for Firefox&#8217;s mousemove event implementation or you can push that on the operating system for sending a mousemove event to firefox itself. Six in one hand, half dozen in the other.</p>
<p>Also interestingly, Safari 3 on OS X, the mousemove events are fired every time a key is depressed and then released! On Windows XPsp2 IE6, the mousemove events are triggered anytime the screen is redrawn. You can all sorts of fun yourself with PPK&#8217;s <a href="http://www.quirksmode.org/js/events/mousemove.html">test page</a>.</p>
<p>The bottom line is that if you happen to attach logic to the mousemove event just make sure it&#8217;s safe to call multiple times.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Quirky+mousemove+Event+Firing&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F04%2F07%2Fquirky-mousemove-event-firing%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/04/07/quirky-mousemove-event-firing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Web Services Should be Free?</title>
		<link>http://waynepan.com/2008/03/31/google-web-services-should-be-free/</link>
		<comments>http://waynepan.com/2008/03/31/google-web-services-should-be-free/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 05:51:05 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://waynepan.com/2008/03/31/google-web-services-should-be-free/</guid>
		<description><![CDATA[Dave Winer offers a compelling reason on why Google would offer it&#8217;s Web Services (AWS competitor) for free.  (That is if they actually release one like I predicted for this year.)
The basic premise is that if GWS were free, Google could reap the benefits of having a whole heap of developers tied into their [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Google Web Services Should be Free?", url: "http://waynepan.com/2008/03/31/google-web-services-should-be-free/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Dave Winer offers <a href="http://www.scripting.com/stories/2008/03/30/whyWouldGoogleWebServicesC.html">a compelling reason</a> on why Google would offer it&#8217;s Web Services (AWS competitor) for free.  (That is if they actually release one like I <a href="http://waynepan.com/2008/01/03/2008-predictions/">predicted for this year</a>.)</p>
<p>The basic premise is that if GWS were free, Google could reap the benefits of having a whole heap of developers tied into their platform. After which acquiring a company would be much less cheaper if they&#8217;re already tied into the Google cloud. I can see Google making a move like this for the normal user but they would eventually have to charge for larger customers. After all they already provide 6.5 gb of storage space for gmail users but providing unlimited GWS usage is a hit not even the mighty Google can take.</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=Google+Web+Services+Should+be+Free%3F&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F03%2F31%2Fgoogle-web-services-should-be-free%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/03/31/google-web-services-should-be-free/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IE8/FF3 Going To 6 Parallel Connections</title>
		<link>http://waynepan.com/2008/03/21/ie8ff3-going-to-6-parallel-connections/</link>
		<comments>http://waynepan.com/2008/03/21/ie8ff3-going-to-6-parallel-connections/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 00:50:58 +0000</pubDate>
		<dc:creator>Wayne</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://waynepan.com/2008/03/21/ie8ff3-going-to-6-parallel-connections/</guid>
		<description><![CDATA[As most everybody knows by now the IE team will increase IE8&#8217;s concurrent connections to 6 (from 2). Now there are rumblings that the next FF3 beta will follow suit and increase the default to 6.The HTTP/1.1 standard recommends 2 which at the time made sense.
In the world of broadband, limiting connections per host to [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "IE8/FF3 Going To 6 Parallel Connections", url: "http://waynepan.com/2008/03/21/ie8ff3-going-to-6-parallel-connections/" });</script>]]></description>
			<content:encoded><![CDATA[<p>As most everybody knows by now the IE team will increase IE8&#8217;s concurrent connections to 6 (from 2). Now there are rumblings that the next FF3 beta will follow suit and increase the default to 6.The HTTP/1.1 standard recommends 2 which at the time made sense.</p>
<p>In the world of broadband, limiting connections per host to 2 makes little sense. Us fronteers have been forced to do subdomain hacks, css sprites, etc to deal with this. I&#8217;m psyched.</p>
<p>Steve Souders also has a <a href="http://www.stevesouders.com/blog/2008/03/20/roundup-on-parallel-connections/#more-9">good wrap up</a> along trying to answer the question of will this break the internet?</p>
<p><a href="http://sharethis.com/item?&wp=2.5&amp;publisher=19797ae6-7507-4c5d-9532-65f729029d84&amp;title=IE8%2FFF3+Going+To+6+Parallel+Connections&amp;url=http%3A%2F%2Fwaynepan.com%2F2008%2F03%2F21%2Fie8ff3-going-to-6-parallel-connections%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://waynepan.com/2008/03/21/ie8ff3-going-to-6-parallel-connections/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
