<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2078169344826312798</atom:id><lastBuildDate>Mon, 13 Apr 2009 04:03:05 +0000</lastBuildDate><title>A New Humble Blog</title><description>Discussion, code samples and video demos of new technologies; including Web 2.0 startups, Google AppEngine, Ruby on Rails, PHP, Visual Studio Team System, Team Foundation Server and .NET.</description><link>http://blogs.counterpunchsoftware.com/default.html</link><managingEditor>ericlee@wonderaffect.com (ericlee)</managingEditor><generator>Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/c11software" type="application/rss+xml" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-3539905008792056031</guid><pubDate>Wed, 13 Aug 2008 19:37:00 +0000</pubDate><atom:updated>2008-08-13T12:39:51.180-07:00</atom:updated><title>A new site - WonderAffect.com</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;As you might know, something I really enjoy doing in my business is helping my clients build technical demonstrations. In an effort to organize my business a little bit, I've spawned a new organization - WonderAffect - that is dedicated to my work building technical demonstrations, please check it out at http://www.wonderaffect.com.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-3539905008792056031?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/tNqyxHLVuUQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/tNqyxHLVuUQ/new-site-wonderaffectcom.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/08/new-site-wonderaffectcom.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-6962609913309079149</guid><pubDate>Tue, 29 Jul 2008 17:44:00 +0000</pubDate><atom:updated>2008-07-29T11:13:18.610-07:00</atom:updated><title>2 useful features in Vista</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I was reading about the new 'world is flat' &lt;a href="http://arstechnica.com/journals/microsoft.ars/2008/07/22/vista-ad-at-one-point-everyone-thought-the-world-was-flat"&gt;Vista ad campaign&lt;/a&gt; and was reminded of 2 features I had been meaning to blog about.&lt;br /&gt;&lt;br /&gt;I have to admit that I had a good chuckle when someone showed these two me since they are both from the command line. It seemed really ironic given the amount of attention give to the UI. In any case, irony or not, these are 2 pretty handy dandy features.&lt;br /&gt;&lt;br /&gt;The first feature is &lt;span style="font-weight: bold;"&gt;CLIP&lt;/span&gt; which redirects the output of command line tools onto the Windows clipboard. So you can do &lt;span style="font-weight: bold;"&gt;dir | clip &lt;/span&gt;and get the directory listing added to your clipboard.&lt;br /&gt;&lt;br /&gt;The second feature is &lt;span style="font-weight: bold;"&gt;robocopy&lt;/span&gt;, which is a familiar utility to many Windows Users. It is a robust way to copy files - so it can recover from network outages and things like that. This useful utility used to be part of the Windows Resource Kit, but now it comes with Vista. More information about this tool can be found &lt;a href="http://en.wikipedia.org/wiki/Robocopy"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As many of you know, Microsoft recently hired &lt;a href="http://www.fastcompany.com/magazine/126/believe-it-or-not-hes-a-pc.html"&gt;Crispin Porter + Bogusky&lt;/a&gt; presumably to revamp their advertising. That agency was responsible for a lot of really interesting work, including the recent Burger King and MINI ads. It seems reasonable to assume that they are responsible for the 'world is flat' Vista ads. I'm not sure how you feel about it, but those ads seem vaguely insulting to me. Not like the quirky, edgy stuff that they did for Burger King and MINI. But then again, it has us talking about Vista, so maybe they've done their job.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-6962609913309079149?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/u89r6Vw24dE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/u89r6Vw24dE/2-useful-features-in-vista.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/07/2-useful-features-in-vista.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-5087720000806615847</guid><pubDate>Wed, 18 Jun 2008 22:16:00 +0000</pubDate><atom:updated>2008-06-18T15:22:33.302-07:00</atom:updated><title>Sharing some tribal knowlege</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;Two totally unrelated things, but both bits of tribal knowledge that you may find useful.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;If you get a 1722 error when installing something on Windows XP/Vista&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I got one of these when trying to setup a Logitech QuickCam Pro webcam. I believe 1722 is a generic Installshield error, so you can get one of these in other cases as well. It seems like you get this error when certain DLLs are not properly registered. If you run regsvr32 on the DLLs listed below:&lt;br /&gt;&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 urlmon.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Shdocvw.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Msjava.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Actxprxy.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Oleaut32.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Mshtml.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Browseui.dll&lt;br /&gt;Start--&gt;Run--&gt;regsvr32 Shell32.dll&lt;br /&gt;&lt;br /&gt;These were taken from this post (&lt;a href="http://forum.java.sun.com/thread.jspa?threadID=553785"&gt;http://forum.java.sun.com/thread.jspa?threadID=553785&lt;/a&gt;). If  you don't have some of these DLLs that is probably OK. If this still doesn't work, do the same thing for vbscript.dll.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;If you start up a VM in Hyper-V and that VM cannot connect to the network&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;In the Hyper-V manager, select your VM, right-click and choose settings. In the resulting dialog box, go to the Add Hardware section (this is probably selected for you by default) and choose to add the Legacy Network Adapter (you will have to shutdown your VM first). Doing this should enable networking in your VM.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-5087720000806615847?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/yK1bLzTdAzM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/yK1bLzTdAzM/sharing-some-tribal-knowlege.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/sharing-some-tribal-knowlege.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-1950860824380205674</guid><pubDate>Wed, 18 Jun 2008 05:07:00 +0000</pubDate><atom:updated>2008-06-17T22:14:15.428-07:00</atom:updated><title>Windows Server 2008 Hyper-V</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;As you may already know, Microsoft entered the hypervisor-based virtualization market with their Hyper-V product; it is currently available as a Release Candidate.&lt;br /&gt;&lt;br /&gt;I've had a bit of a chance to play with Hyper-V and it kind of strikes me as really good bad medicine. I know it's good for me and I'll feel better in the long run, but it's kind of hard to get it down at first.&lt;br /&gt;&lt;br /&gt;There has been a fair bit written about Hyper-V already; what I struggled with, however , is their snapshot feature. This feature replaces the saved state and undo drives that you may have used with Virtual PC and Virtual Server.&lt;br /&gt;&lt;br /&gt;The video below illustrates how to use snapshots. It is a little bit long; I really wanted to be very explicit in explaining this feature since there are some subtle things that can trip you up.&lt;br /&gt;&lt;br /&gt;Click on the image below to start the video&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.c11software.com/videos/hyperv/hyperv.htm"&gt;&lt;img style="width: 423px; height: 321px;" src="http://www.c11software.com/videos/hyperv/hyper.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-1950860824380205674?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/zyv_VcssdY4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/zyv_VcssdY4/windows-server-2008-hyper-v.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/windows-server-2008-hyper-v.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-2849492833919000026</guid><pubDate>Mon, 16 Jun 2008 07:07:00 +0000</pubDate><atom:updated>2008-06-16T00:11:15.463-07:00</atom:updated><title>Sharing Blists</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I wrote about &lt;a href="http://www.blist.com"&gt;Blist&lt;/a&gt; earlier this year - they are a startup in Seattle building the world's easiest database. I wanted to have a closer look at their sharing feature. It is really useful, my contractors and I use it to track hours on a given project.&lt;br /&gt;&lt;br /&gt;This is also a chance for me to try a few new things with my videos. Please click the image below to view it.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.c11software.com/videos/blist_sharing/blist_sharing.htm'&gt;&lt;img src='http://www.c11software.com/videos/blist_sharing/cover.png'/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-2849492833919000026?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/xM0xhEzRcb0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/xM0xhEzRcb0/sharing-blists.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/sharing-blists.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-234306531170573794</guid><pubDate>Tue, 10 Jun 2008 16:57:00 +0000</pubDate><atom:updated>2008-06-10T10:03:13.236-07:00</atom:updated><title>Fun business card ideas</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I'm in the process of re-branding (again!) and stumbled across an interesting article about fun business card ideas:&lt;a href="http://inventorspot.com/articles/business_cards_best_12841"&gt; http://inventorspot.com/articles/business_cards_best_12841&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-234306531170573794?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/jN_aeUnzCa0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/jN_aeUnzCa0/fun-business-card-ideas.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/fun-business-card-ideas.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-1190820133598761957</guid><pubDate>Sat, 07 Jun 2008 17:38:00 +0000</pubDate><atom:updated>2008-06-07T11:05:09.292-07:00</atom:updated><title>Finally a new home for Hemi!</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;A long while ago, I wrote a tool that helped you move work items from one team project to another in Team Foundation Server. I've had a few requests for the source code for that tool, but the machine that I had it on had crashed. In going through some old backups, I finally was able to recover what looks like a reasonable version of that tool.&lt;br /&gt;&lt;br /&gt;I created a CodePlex project &lt;a href="http://www.codeplex.com/hemi"&gt;http://www.codeplex.com/hemi&lt;/a&gt; so that others can make enhancements and improvements.&lt;br /&gt;&lt;br /&gt;Thanks and apologies this took so long!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-1190820133598761957?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/tycah0M4u2I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/tycah0M4u2I/finally-new-home-for-hemi.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/finally-new-home-for-hemi.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-2921836212485180135</guid><pubDate>Thu, 05 Jun 2008 02:48:00 +0000</pubDate><atom:updated>2008-06-04T20:20:48.798-07:00</atom:updated><title>Animoto.com - no more boring slide shows</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;Animoto.com is a start-up you have to check out if one of the following apply to you:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You have been subjected to boring slide shows by your friends&lt;/li&gt;&lt;li&gt;You subject your friends to boring slide shows&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;These guys take your digital images and music that you pick and create a really unique video slide show out of them. That description really doesn't do their work justice, you really have to see the video that they produce.&lt;br /&gt;&lt;br /&gt;Check out a video of me using their service below, or just have a look at the end result &lt;a href="http://animoto.com/play/B07WsRgueYu91p0oerskGg"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="480"&gt; &lt;param name="movie" value="http://content.screencast.com/flvplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/media/d8911224-b44f-4fbd-a84b-4a8cb8f87298_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/f37e82d3-6927-46c4-a741-6c875100f131_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_animoto2.flv&amp;width=640&amp;height=480"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="640" height="480" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/media/d8911224-b44f-4fbd-a84b-4a8cb8f87298_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/f37e82d3-6927-46c4-a741-6c875100f131_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_animoto2.flv&amp;width=640&amp;height=480" allowFullScreen="true" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-2921836212485180135?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/4Le_WaOkOMY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/4Le_WaOkOMY/animotocom-no-more-boring-slide-shows.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/animotocom-no-more-boring-slide-shows.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-5436450257152203338</guid><pubDate>Tue, 03 Jun 2008 05:54:00 +0000</pubDate><atom:updated>2008-06-02T23:57:22.632-07:00</atom:updated><title>One more integrated ALM player in the market...</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;As you probably know, IBM Rational has been working on &lt;a href="http://www.jazz.net/"&gt;Jazz&lt;/a&gt;, a collaboration/ALM platform for quite some time.&lt;br /&gt;&lt;br /&gt;Today, at the Rational Developer Conference, an official announcement was made to outline the pricing and road map of Jazz and Rational Team Concert (the first commercial Jazz client).&lt;br /&gt;&lt;br /&gt;I've had a chance to experiment with some of the Jazz beta releases. I won't go into my opinions about them in this post. There is no Visual Studio client for Jazz so the choice between using TFS or VSTS is still really a platform decision (.NET vs J2EE).&lt;br /&gt;&lt;br /&gt;Here are a couple of articles that describe this latest addition to the integrate ALM market.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.infoworld.com/article/08/06/02/IBM-reveals-Jazz-product-launch-wave_1.html"&gt;http://www.infoworld.com/article/08/06/02/IBM-reveals-Jazz-product-launch-wave_1.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=208401008"&gt;http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=208401008&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In that second article, you'll find a description of how Jazz will be priced:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Team Concert will be available in a free Express-C edition for use by up to three developers and in the Express edition, aimed at departments or midsize companies with up to 50 developers and priced at $1,200 per developer. The Standard edition ($3,900 per developer) supports as many as 250 developers. A full-blown Enterprise edition is slated for next year."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I copied a table from the Jazz community site that describes how the features are distributed amongst the various editions. I noticed a slight discrepancy in the maximum number of users for the Express-C edition - the Jazz community site says 10 but the article above says 3.  I'm sure one of the two will get corrected shortly.&lt;br /&gt;&lt;b&gt;&lt;i&gt;Apologies, there is something odd with template, any table has a huge leading space added to it.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Features&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;h2&gt;Express-C&lt;/h2&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;h2&gt;Express&lt;/h2&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;h2&gt;Standard&lt;/h2&gt;&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Max User Limit&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;b&gt;10&lt;/b&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;50&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;250&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Database included (optional)&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;Derby only&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;Derby and DB2 Express (DB2, Oracle)&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;Derby and DB2 Express (DB2, Oracle)&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;App Server included (optional)&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;Tomcat only&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;Tomcat (WebSphere)&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;Tomcat (WebSphere)&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Source Code Management&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Work Item Tracking&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Build Management&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Agile Planning&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Subversion Integration&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Server Level Permissions&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;LDAP Authentication&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Customizable Process&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Customizable Work Item Attributes and Workflow&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Reports&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Dashboard&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;Role-based Process Permissions&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;ClearCase Connector&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;ClearQuest Connector&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;  &lt;td class="feature"&gt;LDAP Import&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td class="empty"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;  &lt;td align="center"&gt;yes&lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-5436450257152203338?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/0i47GEGGSc4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/0i47GEGGSc4/one-more-integrated-alm-player-in.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/06/one-more-integrated-alm-player-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-2094559277303707992</guid><pubDate>Sat, 31 May 2008 21:45:00 +0000</pubDate><atom:updated>2008-05-31T15:17:41.706-07:00</atom:updated><title>$3000 handbags, marketing and shared ownership...</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I'm sure I'm going to catch some crap for this, but whatever :) I took my girlfriend to the Sex and the City premier in Seattle on Thursday night. I never really watched the show, but I have to admit, it was a good movie :) it got me thinking about a few things actually...&lt;br /&gt;&lt;br /&gt;As you might know, I've held a number of roles in the software industry; I'll probably always think of myself as a developer at heart. But, I also did enjoy my stint in technical marketing.&lt;br /&gt;&lt;br /&gt;One of the trick questions in a Microsoft product manager interview is to ask the candidate to define 'marketing'. Invariably, the answer revolves around advertising. The definition that we're hoping to hear is really about defining/growing/identifying markets of customers. A friend and mentor of mine told me that in order to be good at marketing, you really have to have a deeply ingrained interest in how companies make money.&lt;br /&gt;&lt;br /&gt;Anyways, so all of this leads back to that Sex and the City movie :) as I'm sure you know, placing products in movies has been common since the 1980's. This is a great article on the subject (&lt;a href="http://www.washingtonpost.com/wp-srv/style/movies/features/aolinmail.htm"&gt;http://www.washingtonpost.com/wp-srv/style/movies/features/aolinmail.htm&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;When it is done too much, it can be really annoying. But when it is done right, it really isn't that bad. For example, it's hard to complain of the product placement in Rambo IV - if you watch the scene towards the end where they synchronize their watches, you'll see a Panerai and I believe a Breitling featured prominently.&lt;br /&gt;&lt;br /&gt;Sex and the City is rampant with product placement of course - one local Seattle company managed to get in there as well. The company is called &lt;a href="http://www.bagborroworsteal.com/"&gt;Bag, borrow or steal&lt;/a&gt; and what they do is quite interesting. For a fee, you can rent high-end purses, jewelry and other accessories. Before you scoff :) it maybe something to consider if you have a wife/girlfriend. For the next special occasion, you can purchase a gift card that they can spend with that company. Considering that these bags are in the $1000 - $3000 range, spending $50 bucks or so for an occasion might not be a bad idea.&lt;br /&gt;&lt;br /&gt;Renting high-end bags is probably not something that will appeal to everyone of course, but it's good to see a local Seattle startup get featured in a major movie. Good for them :)&lt;br /&gt;&lt;br /&gt;Fractional ownership itself is an interesting business. It really spans all different markets. For example, &lt;a href="http://www.yachtlease.com/"&gt;http://www.yachtlease.com/&lt;/a&gt; is a Seattle company that is basically a time share for boats. A lot of similar types of companies can be found in this article (&lt;a href="http://www.entrepreneur.com/management/operations/article185396.html"&gt;http://www.entrepreneur.com/management/operations/article185396.html&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;I wonder if this idea of fractional ownership/renting will catch on more? It's funny, in some sense, this wave of cloud-based services can be thought of as something similar. For example, you could look at Amazon EC2 and think of it as renting computational power and Amazon S3 as renting hard drive space. Why buy these costly, rapidly depreciating items when you can just rent them :) Maybe computers and $3000 Prada bags have something in common after all :)&lt;br /&gt;&lt;br /&gt;Anyways,  just a random post on a Saturday afternoon. Talk to you later.&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-2094559277303707992?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/7woYlGna_RU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/7woYlGna_RU/3000-handbags-marketing-and-shared.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/05/3000-handbags-marketing-and-shared.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-5529468673432945907</guid><pubDate>Thu, 29 May 2008 01:30:00 +0000</pubDate><atom:updated>2008-05-28T19:02:40.960-07:00</atom:updated><title>Sorry, no cashback from me for now...</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;As you know, Microsoft Live Search is offering advertisers a new paid search model - CPA (cost per acquisition). Instead of paying Microsoft when a potential customer clicks on your ad, you only pay Microsoft (who in turn pays your customer) if the potential customer makes a purchase.&lt;br /&gt;&lt;br /&gt;I was curious to understand how a vendor signs up for this program. All of the details are here &lt;a href="http://advertising.microsoft.com/advertising/cashback"&gt;http://advertising.microsoft.com/advertising/cashback&lt;/a&gt;, but the basic requirements are as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Headquartered in the United States &lt;/li&gt;&lt;li&gt;A retail site with e-commerce capabilities &lt;/li&gt;&lt;li&gt;Able to fulfill the physical shipment of a product &lt;/li&gt;&lt;li&gt;Able to create and maintain a product data feed &lt;/li&gt;&lt;li&gt;Able to implement a standard tracking pixel on your website’s order confirmation page &lt;/li&gt;&lt;/ul&gt;If you meet those criteria, you can get in touch with an account manager from Microsoft who will process your application. I was hoping for more of a self serve model like Google's AdWords, but I suppose that since the models are so drastically different, there has to be some manual process.&lt;br /&gt;&lt;br /&gt;I don't meet that criteria because I don't have a physical product, so sorry, no cashback from me for now :)&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-5529468673432945907?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/W7xkRPo-QKg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/W7xkRPo-QKg/sorry-no-cashback-from-me-for-now.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/05/sorry-no-cashback-from-me-for-now.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-5217025002249069007</guid><pubDate>Thu, 29 May 2008 00:59:00 +0000</pubDate><atom:updated>2008-05-28T18:01:25.389-07:00</atom:updated><title /><description>Hey guys,&lt;br /&gt;&lt;br /&gt;An email from a colleague of mine reminded me of a really handy presentation tool. It is called &lt;span style="font-weight: bold;"&gt;ZoomIt &lt;/span&gt;and as its name would suggest it lets you zoom in on parts of your screen during a presentation. You can get it from here&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx"&gt;http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can check out a video of it in action:&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="498" width="640"&gt; &lt;param name="movie" value="http://content.screencast.com/bootstrap.swf"&gt; &lt;param name="quality" value="high"&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/media/bc50bfa5-141c-4f17-a1c4-e7995f1ffa9a_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;amp;content=http://content.screencast.com/media/cd133730-d2e5-480b-8878-101429852310_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_zoomit.swf&amp;amp;width=640&amp;amp;height=498"&gt; &lt;param name="allowFullScreen" value="true"&gt; &lt;param name="scale" value="showall"&gt; &lt;param name="allowScriptAccess" value="always"&gt;  &lt;embed src="http://content.screencast.com/bootstrap.swf" quality="high" bgcolor="#FFFFFF" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="thumb=http://content.screencast.com/media/bc50bfa5-141c-4f17-a1c4-e7995f1ffa9a_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;amp;content=http://content.screencast.com/media/cd133730-d2e5-480b-8878-101429852310_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_zoomit.swf&amp;amp;width=640&amp;amp;height=498" allowfullscreen="true" scale="showall" height="498" width="640"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-5217025002249069007?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/4cAPiESeCOQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/4cAPiESeCOQ/hey-guys-email-from-colleague-of-mine.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/05/hey-guys-email-from-colleague-of-mine.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-7998468037585393072</guid><pubDate>Thu, 22 May 2008 20:12:00 +0000</pubDate><atom:updated>2008-05-22T13:17:09.280-07:00</atom:updated><title>Microsoft's LiveSearch cash payback scheme</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I thought this &lt;a href="http://www.marketwatch.com/news/story/microsoft-unveils-cash-back-search-service/story.aspx?guid=%7B6F299525-0098-4CDA-98F5-D2CD4B679612%7D&amp;amp;dist=msr_1"&gt;scheme&lt;/a&gt; was one big joke - Microsoft bribing customers to use their search. But, I believe it is the merchants that are paying the cash back.&lt;br /&gt;&lt;br /&gt;That is a subtle but really important change in how paid search is being done. What I think MS is doing (or is about to do) is not charge on a per click basis. Instead, they are letting the providers determine how much to pay back to the consumer. I would assume that Microsoft will skim a bit of that and rank paid (or I guess potential-paid) search results based on the amount the merchant chooses to pay back.&lt;br /&gt;&lt;br /&gt;I wonder if we are starting to see the peak of paying per click?&lt;br /&gt;&lt;br /&gt;Anecdotal evidence obviously, but a friend of mine does carpet cleaning in Seattle. I setup his AdWords for him and I was really surprised that I had to bid somewhere around $10/click for the good keywords related to carpet cleaning. Even at that high of a bid, I was only getting onto the 2nd page of search results. $10/click is such a huge risk for just a click.&lt;br /&gt;&lt;br /&gt;Flipping this model around really starts to add some value for the providers. It removes a lot of risk from the equation. I'm sure the affiliate marketing folks are really excited about this as well.&lt;br /&gt;Lastly, this conveniently side steps the nearly impossible-to-solve problem of click fraud.&lt;br /&gt;&lt;br /&gt;Anyways, I'm going to dig a bit deeper, I'll get back with more information as I find it.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-7998468037585393072?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/dhvaKYDr6DU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/dhvaKYDr6DU/microsofts-livesearch-cash-payback.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/05/microsofts-livesearch-cash-payback.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-371861105898569600</guid><pubDate>Mon, 05 May 2008 01:07:00 +0000</pubDate><atom:updated>2008-05-04T18:16:40.684-07:00</atom:updated><title>Postful API in action</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I posted last week about &lt;a href="http://www.postful.com/"&gt;Postful &lt;/a&gt;- the handy service that sends real mail on your behalf. They also have a handy API that enables you to automate their service.&lt;br /&gt;&lt;br /&gt;I could imagine products or services that work with receipts or financial data might be interested in integrating Postful. At .99 cents for a domestic letter and $1.49 for a letter to Canada, Postful seems like a great deal.&lt;br /&gt;&lt;br /&gt;I put together some videos on how to use their API. I've been doing a lot of Php, Python, etc lately, so I went back to traditional C# and Visual Basic this time.&lt;br /&gt;&lt;br /&gt;This first video shows how to do a simple query to see what orders you have with Postful. Each email you send them is processed the next day as real mail, so you have a chance to cancel an order before it is sent out.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="480" width="640"&gt; &lt;param name="movie" value="http://content.screencast.com/flvplayer.swf"&gt; &lt;param name="quality" value="high"&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/media/a0995ac5-3235-4a26-a58b-51e29cdd6ff1_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;amp;content=http://content.screencast.com/media/6d421807-8bd4-44f4-ad98-b69ef03834af_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_get.flv&amp;amp;width=640&amp;amp;height=480"&gt; &lt;param name="allowFullScreen" value="true"&gt; &lt;param name="scale" value="showall"&gt; &lt;param name="allowScriptAccess" value="always"&gt;  &lt;embed src="http://content.screencast.com/flvplayer.swf" quality="high" bgcolor="#FFFFFF" type="application/x-shockwave-flash" allowscriptaccess="always" flashvars="thumb=http://content.screencast.com/media/a0995ac5-3235-4a26-a58b-51e29cdd6ff1_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;amp;content=http://content.screencast.com/media/6d421807-8bd4-44f4-ad98-b69ef03834af_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_get.flv&amp;amp;width=640&amp;amp;height=480" allowfullscreen="true" scale="showall" height="480" width="640"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This second video shows how to send an email with Postful. I'm using Visual Studio 2008, so this is also an opportunity to show off how the new LINQ for XML features work. We can embed XML directly as a literal in the source code.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="480"&gt; &lt;param name="movie" value="http://content.screencast.com/flvplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/media/09561fba-42c1-4cd8-913c-9b1e567c7c65_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/f3663c23-4193-4f98-a51d-e243004fb126_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_post.flv&amp;width=640&amp;height=480"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="640" height="480" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/media/09561fba-42c1-4cd8-913c-9b1e567c7c65_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/f3663c23-4193-4f98-a51d-e243004fb126_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_post.flv&amp;width=640&amp;height=480" allowFullScreen="true" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;And lastly, this third video shows how a very simple example of integrating Postful with Word 2007 using Visual Studio Tools for Office.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="480"&gt; &lt;param name="movie" value="http://content.screencast.com/flvplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/media/6be48239-fce9-4d37-9ace-fbf06384fbb5_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/384258db-6a53-4d8c-9331-f95744e97492_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_OfficePostful.flv&amp;width=640&amp;height=480"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="640" height="480" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/media/6be48239-fce9-4d37-9ace-fbf06384fbb5_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/384258db-6a53-4d8c-9331-f95744e97492_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_OfficePostful.flv&amp;width=640&amp;height=480" allowFullScreen="true" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-371861105898569600?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/uMmP-XxCbJY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/uMmP-XxCbJY/postful-api-in-action.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/05/postful-api-in-action.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-3474962488789315111</guid><pubDate>Sat, 26 Apr 2008 00:28:00 +0000</pubDate><atom:updated>2008-04-25T17:36:55.710-07:00</atom:updated><title>Bridging 2 worlds</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I've always liked services or products that try to close the so-called digital divide between the people who use technology regularly and those who do not.&lt;br /&gt;&lt;br /&gt;My dad is one who falls into the latter category. Ironically, he was in a Masters of Computer Science program at the University of Waterloo in the 1970's. This was well before Waterloo became a favorite recruiting ground for Microsoft. I faintly remember boxes and boxes of punch cards we had at home :)&lt;br /&gt;&lt;br /&gt;Anyways, today my dad feels like that the Internet is too insecure, so he isn't online. That makes communication a bit of a burden between us.&lt;br /&gt;&lt;br /&gt;I found something really interesting today that I think is going to help us talk, so I wanted to share it.&lt;br /&gt;&lt;br /&gt;The service is called &lt;a href="http://www.postful.com"&gt;www.postful.com&lt;/a&gt;. After you sign up, you can send them an email with an address in the subject line (you can create favorites as well). When they get your email, they print it out and send a physical mail on your behalf.&lt;br /&gt;&lt;br /&gt;They also have an API to allow you to integrate this into other applications as well.&lt;br /&gt;&lt;br /&gt;Even if you don't have an Luddites in your family, this could be a really useful service. There are still times when you need to send a real mail message. If you're like most people I know, you don't usually have stamps and envelopes ready. Postful charges .99 cents for each message you send; that seems like a pretty good deal to me.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-3474962488789315111?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/ovadeFPLERY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/ovadeFPLERY/bridging-2-worlds.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/bridging-2-worlds.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-3337594445565262232</guid><pubDate>Wed, 23 Apr 2008 23:56:00 +0000</pubDate><atom:updated>2008-05-04T22:58:53.352-07:00</atom:updated><title>SproutBuilder, Google Docs and Facebook...</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;There is a really interesting new service called SproutBuilder (&lt;a href="http://sproutbuilder.com/"&gt;http://sproutbuilder.com/&lt;/a&gt;) that was profiled on &lt;a href="http://www.techcrunch.com/"&gt;TechCrunch&lt;/a&gt; the other day.&lt;br /&gt;&lt;br /&gt;Their service helps you create living content as Flash-based widgets. Their user experience is based around a RIA that is essentially an IDE.&lt;br /&gt;&lt;br /&gt;The Sprout folks have built some interesting partnerships, so they integrate with Google Docs and Facebook.&lt;br /&gt;&lt;br /&gt;Have a peek at my video below to see how you can use Sprout, Google Docs and Facebook to build an application. The '3 things' that I mention in the video is based on Guy Kawasaki's book - Art of the Start. There is an &lt;a href="http://www.managementconsultingnews.com/interviews/kawasaki_interview.php"&gt;exercise&lt;/a&gt; towards the end of the book where you are asked to write down 3 things that you want people to remember about you after you pass on.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="568" height="428"&gt; &lt;param name="movie" value="http://content.screencast.com/flvplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/media/122751b3-63fa-4fec-85bd-8f28c466f19b_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/80980598-4215-498c-84f7-a90ec15c3ed0_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_sprout_64.flv&amp;width=568&amp;height=428"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/flvplayer.swf" quality="high" bgcolor="#FFFFFF" width="568" height="428" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/media/122751b3-63fa-4fec-85bd-8f28c466f19b_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_Thumbnail.gif&amp;content=http://content.screencast.com/media/80980598-4215-498c-84f7-a90ec15c3ed0_39f0d44c-c0be-4c2a-a560-f355416ce378_static_0_0_sprout_64.flv&amp;width=568&amp;height=428" allowFullScreen="true" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;br /&gt;&lt;br /&gt;A bigger version of that same video can be found at&lt;br /&gt;&lt;a href="http://www.screencast.com/t/zFd6VsmgR1"&gt;http://www.screencast.com/t/zFd6VsmgR1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-3337594445565262232?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/mXs7-yQVGz4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/mXs7-yQVGz4/sproutbuilder-google-docs-and-facebook.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/sproutbuilder-google-docs-and-facebook.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-1795073275563831398</guid><pubDate>Wed, 23 Apr 2008 17:41:00 +0000</pubDate><atom:updated>2008-04-23T10:41:36.362-07:00</atom:updated><title>Bling is cheaper than you might think…</title><description>&lt;span xmlns=''&gt;&lt;p&gt;Hey guys,&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A gold-plated iPod is not for everyone obviously, but for those who are interested, a company called &lt;a href='http://www.computer-choppers.com/'&gt;Computer Choppers&lt;/a&gt; was profiled in a bunch of publications recently. They made a big splash for offer gold plated MacBook Air computers. At first blush, I would have thought the price for such a thing would be absolutely astronomical, but I contacted them and was pretty surprised. I won't share their prices, but I'll say that they are more within reach than one might think. So, if the regular iPod or MacBook just won't do, you might want to give them a shout, you might be surprised too.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Eric.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-1795073275563831398?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/IadXj8YNuyw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/IadXj8YNuyw/bling-is-cheaper-than-you-might-think.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/bling-is-cheaper-than-you-might-think.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-5043357673549729091</guid><pubDate>Wed, 23 Apr 2008 04:23:00 +0000</pubDate><atom:updated>2008-04-22T21:23:43.562-07:00</atom:updated><title>Good things come in small packages</title><description>&lt;span xmlns=''&gt;&lt;p&gt;Hey guys,&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Tonight, I was working on a project and was pretty amazed at some of the guidance and sample code that is available for Visual Studio, .NET 3.5 and ASP.NET. If you work with any of these technologies, it is definitely worth your time to go and check out the guidance bundles at:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='http://www.codeplex.com/websf/Wiki/View.aspx?title=bundles&amp;amp;referringTitle=Home'&gt;http://www.codeplex.com/websf/Wiki/View.aspx?title=bundles&amp;amp;referringTitle=Home&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;Thanks!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Eric.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-5043357673549729091?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/qGoyPbTIMX0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/qGoyPbTIMX0/good-things-come-in-small-packages.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/good-things-come-in-small-packages.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-986346213596548267</guid><pubDate>Thu, 17 Apr 2008 02:22:00 +0000</pubDate><atom:updated>2008-04-16T19:22:14.456-07:00</atom:updated><title>DeepTime – My First Google AppEngine Application</title><description>&lt;span xmlns=''&gt;&lt;p&gt;Hey guys,&lt;br /&gt;&lt;/p&gt;&lt;p&gt;If you get the chance, please check out my first Google AppEngine application. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href='http://dtime.appspot.com/'&gt;http://dtime.appspot.com/&lt;/a&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;&lt;img alt='' src='http://www.velvettbird.com/blog_images/041708_0221_DeepTimeMyF1.png'/&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;It is a work in progress, but basically it is a simple time tracking application. I would love to hear any feedback you might have.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Eric.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-986346213596548267?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/6I2R3uKyiW8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/6I2R3uKyiW8/deeptime-my-first-google-appengine.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/deeptime-my-first-google-appengine.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-1479450287540576415</guid><pubDate>Wed, 16 Apr 2008 00:55:00 +0000</pubDate><atom:updated>2008-04-15T17:55:40.792-07:00</atom:updated><title>Google AppEngine Data model</title><description>&lt;span xmlns=''&gt;&lt;p&gt;Hey guys,&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I've done a little experimenting with the data model that is part of Google AppEngine so far I've been pretty impressed. As you probably know, the underlying storage is done with Google's BigTable. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;From a programming model perspective, they have done a really nice job of making it easy to work with BigTable. For example, the following declaration will create your table and columns.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt='' src='http://www.velvettbird.com/blog_images/041608_0055_GoogleAppEn1.png'/&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;There are a couple of really interesting featuring in that simple bit of code. First, notice that my string property &lt;strong&gt;description &lt;/strong&gt;does not have a size associated with it. The StringProperty data type is good for data under 500K. They have a TextProperty for anything bigger than that. All of their data types are described &lt;a href='http://code.google.com/appengine/docs/datastore/typesandpropertyclasses.html'&gt;here&lt;/a&gt;. The noticeable one that I'm not using here is their &lt;strong&gt;key &lt;/strong&gt;property; this enables you to reference another table (or class, same thing really).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Also notice the &lt;strong&gt;required = True &lt;/strong&gt;statements. When these are added, the constructor for your class, &lt;strong&gt;TimeEntry&lt;/strong&gt;, in this case is parameterized with these values. This is an easy way to do some validation. Since these fields are required, you can't construct an instance of this class unless you specify these values.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Getting at your data is really simple. They support a structured query language called GQL (Google Query Language), or you can use methods. I like the latter method. The following code will give me a list of all my &lt;strong&gt;DeepTimeEntry &lt;/strong&gt;rows (or objects, same thing really) that match the user that I have specified, ordered by date.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt='' src='http://www.velvettbird.com/blog_images/041608_0055_GoogleAppEn2.png'/&gt;&lt;br /&gt;			&lt;/p&gt;&lt;p&gt;I was a bit leery of using this at first because if you read the order of the methods, it looks like you would get all the results, then filter them and then sort them. But in reading Google's documentation about &lt;a href='http://code.google.com/appengine/docs/datastore/creatinggettinganddeletingdata.html'&gt;this&lt;/a&gt; it looks like the data is not actually retrieved until you try to access it. So the underlying Google objects essentially optimize your query based on that constructs you have used. At least that is how I read the documentation – if that is not the case, I hope someone lets me know!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I won't admit how long I was stuck on this &lt;span style='font-family:Wingdings'&gt;J&lt;/span&gt; but the whitespace around 'user = ' is important. You have to have the spaces between the 'user' and the '=' , otherwise the filter is misinterpreted. For some reason or another, that wasn't immediately obvious to me.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Saving and deleting your data is pretty trivial – you basically call put() and delete() respectively.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;One thing that I could not find in the methods or query approach is a way to do a 'like' query. That seemed odd that Google wouldn't provide this.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I'm still getting used to Python, but the programming model that Google has for their data in AppEngine seems pretty easy to use; this makes AppEngine a really attractive platform choice.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Eric.&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-1479450287540576415?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/u1BkH9Tr3G8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/u1BkH9Tr3G8/google-appengine-data-model.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/google-appengine-data-model.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-8589320659539830704</guid><pubDate>Sun, 13 Apr 2008 23:55:00 +0000</pubDate><atom:updated>2008-04-21T12:22:37.425-07:00</atom:updated><title>Blistful blist!</title><description>&lt;div&gt;Hey guys,&lt;br /&gt;&lt;div&gt;&lt;br /&gt;I thought I would write about a Seattle startup that is just around the corner from me. I think they have a fantastic idea and I've been telling as many people as I can about it. &lt;/div&gt;&lt;br /&gt;&lt;a href="http://blogs.counterpunchsoftware.com/uploaded_images/blist5-715706.png"&gt;&lt;img style="" alt="" src="http://blogs.counterpunchsoftware.com/uploaded_images/blist5-715703.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The service is called &lt;a href="http://www.blist.com/"&gt;http://www.blist.com/&lt;/a&gt;. It bills itself as the easiest database in the world. Think of Microsoft Access with a slick user interface and hosted in the sky. The user experience is strictly Flash and it looks great. To start, you have 3 options for creating a blist (creating one from scratch, importing a file or creat from an existing one).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://blogs.counterpunchsoftware.com/uploaded_images/blist1-703988.png"&gt;&lt;img style="margin: 0px 10px 10px 0px; float: left;" alt="" src="http://blogs.counterpunchsoftware.com/uploaded_images/blist1-703981.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;From there on out, you are basically working with a table in a database. The folks at Blist have created some really thoughtful column types. Amongst the really good ones are:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;- Ratings (the list of stars that you can pick)&lt;/div&gt;- Checkboxes (easy way to do a boolean value)&lt;br /&gt;&lt;div&gt;- Documents (they support embedded documents which is really nice).&lt;/div&gt;&lt;br /&gt;You can work with your data in one of four views. The default is the table view; the other choices are page view, calendar and chart.&lt;br /&gt;&lt;br /&gt;One thing to look out for is that Blists are created by default as being public. That means other Blist users can see your data. That may or may not be what you really want. So far, in my limited use of Blist, I've found I'd rather just keep my data private.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;The Blist folks seem really serious about getting customer feedback. I emailed them about a little glitch that I saw and they were very fast in responding. Their product manager was kind enough to grab a coffee with me to discuss my thoughts on their service.&lt;br /&gt;&lt;br /&gt;Hosting things in the cloud seems to be all the rage right now. I've been really impressed with how easy Blist is to use. They sound like they have some really interesting features in the pipeline; check them out if you get the chance!&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-8589320659539830704?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/F_AhoLU_BtU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/F_AhoLU_BtU/blistful-blist.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/blistful-blist.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-813530727332861179</guid><pubDate>Fri, 11 Apr 2008 07:04:00 +0000</pubDate><atom:updated>2008-04-11T00:14:33.777-07:00</atom:updated><title>If you don't scale, you'd better look out!</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;A good friend of mine and former colleague at Microsoft,  Ian Knox just launched a new service called &lt;a href="http://www.skytap.com/"&gt;SkyTap.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SkyTap combines lab automation and virtualization with an on-demand, through-the-browser delivery model.&lt;br /&gt;&lt;br /&gt;What you get with SkyTap is the ability to pick and choose from a library of pre-built images. These  images range from the basic OS (i.e. Ubuntu, CentOS, Windows, etc) to pre-configured technology stacks (i.e. MySql on CentOS, SQL Server on Windows, IIS on Windows, etc).&lt;br /&gt;&lt;br /&gt;With literally a few clicks in your browser, you can assemble a set of machines and start them up; SkyTap manages all the hardware resources needed to run your configuration.&lt;br /&gt;&lt;br /&gt;Load testing is a perfect usage scenario for this sort of service. You can pick out your deployment configuration - maybe a IIS on Windows and a MySql on CentOS for example and then throw together a few machines that will act as test clients. There are a number of load testing frameworks you can use - Selenium Remote Control is a great open source one; and Visual Studio Team System is a great commercial solution.&lt;br /&gt;&lt;br /&gt;In any case, you can fire up the machines you need for your load test, get your results and then shut them down.&lt;br /&gt;&lt;br /&gt;Because all of the machines are virtual, you can save their states; or quickly re-image them if you mess them up.&lt;br /&gt;&lt;br /&gt;Anyways, congrats to the SkyTap team!&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-813530727332861179?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/WJ3PJ1fXIUY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/WJ3PJ1fXIUY/if-you-dont-scale-youd-better-look-out.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/if-you-dont-scale-youd-better-look-out.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-5536116504208787121</guid><pubDate>Wed, 09 Apr 2008 17:49:00 +0000</pubDate><atom:updated>2008-04-09T12:09:10.226-07:00</atom:updated><title>Yikes ... some bumps in the road for AppEngine</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;I noticed on &lt;a href="http://www.techcrunch.com"&gt;TechCrunch &lt;/a&gt;this morning that Google pulled down the HuddleChat application from AppEngine because 37Signals felt it was too similar to their application, &lt;a href="http://www.basecamphq.com/"&gt;BaseCamp&lt;/a&gt;. HuddleChat was developed by Google engineers in their spare time apparently.&lt;br /&gt;&lt;br /&gt;I'm not sure how I feel about that.&lt;br /&gt;&lt;br /&gt;I'm actually a big fan of Basecamp. I've been a paying customer for almost 2 years now and I've really enjoyed their application. It's easy to use and the price is pretty reasonable. The company - 37signals - is also known for creating the highly popular Ruby on Rails application framework.&lt;br /&gt;&lt;br /&gt;So, on one hand, I'm kind of glad that Google took the risk to pull down HuddleChat to avoid a conflict (real or perceived) with 37signals. That is a pretty significant thing for a monster-sized company like Google. Whether or not 37signals had a strong legal case or not, Google could have easily stretched out the legal proceedings until 37signals crumbled.&lt;br /&gt;&lt;br /&gt;But of course, on the other hand, this could be really concerning if you extrapolate Google's actions. HuddleChat was said not to be affiliated with Google, yet they pulled it down. Obviously there was some affiliation given that the developers behind it were Google employees. But, what happens when an application is published in AppEngine that is not developed by Google engineers, but causes a conflict with another company or group? Does Google reserve the right to censor these types of applications as well?&lt;br /&gt;&lt;br /&gt;That is probably extrapolating things way too much, but it does take a tiny bit of shine off the whole thing.&lt;br /&gt;&lt;br /&gt;There is a Facebook &lt;a href="http://www.facebook.com/group.php?gid=11166488639"&gt;group&lt;/a&gt; petitioning Google to bring HuddleChat back. I don't think I'll join that group right now. I'm going to wait a few days to see how Google reacts to the reaction they caused and hope for the best.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-5536116504208787121?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/kv25hX84tMM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/kv25hX84tMM/yikes-some-bumps-in-road-for-appengine.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/yikes-some-bumps-in-road-for-appengine.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-3040434182000569067</guid><pubDate>Tue, 08 Apr 2008 20:24:00 +0000</pubDate><atom:updated>2008-04-08T14:18:59.211-07:00</atom:updated><title>Google AppEngine - it's their world, we're just lucky they aren't charging rent (yet)...</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;Google joined cloud storage/application deployment players like &lt;a href="http://aws.amazon.com/"&gt;Amazon&lt;/a&gt;, &lt;a href="http://heroku.com/"&gt;Heroku&lt;/a&gt;, &lt;a href="http://www.zoho.com/"&gt;Zoho&lt;/a&gt;, &lt;a href="http://www.rollbase.com/home/index.shtml"&gt;Rollbase&lt;/a&gt;, &lt;a href="http://www.salesforce.com/platform/"&gt;Force.com (Salesforce.com)&lt;/a&gt; and others with the announcement of their &lt;a href="http://code.google.com/appengine/"&gt;AppEngine&lt;/a&gt; last night.&lt;br /&gt;&lt;br /&gt;AppEngine is pretty damn cool :)&lt;br /&gt;&lt;br /&gt;It is basically a platform/hosting environment for you to build applications on. As a platform, it provides:&lt;br /&gt;&lt;br /&gt;- storage (using their BigTable database)&lt;br /&gt;- web templates (a bunch are supported, the main one appears to be DJango)&lt;br /&gt;- user management (using Google accounts)&lt;br /&gt;- email (using Google Mail)&lt;br /&gt;&lt;br /&gt;The promise of AppEngine is that it will scale to meet the demands of your application - both in terms of processing web requests and data storage. The belief here is that AppEngine uses some or all of the massive data centers that Google has to do this. For now, however, AppEngine accounts are limited to 500MB and what they estimate to be the ability to serve about 5 million page views per month.&lt;br /&gt;&lt;br /&gt;So what does an AppEngine application look like? For now, it is Python. I'm not very familiar with Python. In terms of dynamic languages, I've really gotten to like Ruby and PHP. But, I know some big name sites like Pownce use Python, so I'm sure it is quite good. I believe that Google has plans to support a wider number of languages in the future.&lt;br /&gt;&lt;br /&gt;Google has an excellent getting started tutorial that is worth doing (http://code.google.com/appengine/docs/gettingstarted/). I'll point out a few things from that tutorial that illustrate what I think is really cool about AppEngine.&lt;br /&gt;&lt;br /&gt;The first thing is user management; not surprisingly, they give you access to Google accounts. So you automatically have user creation, password reminders, etc etc.&lt;br /&gt;&lt;br /&gt;The following line of Python&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.counterpunchsoftware.com/uploaded_images/appengine1-712287.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blogs.counterpunchsoftware.com/uploaded_images/appengine1-712286.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;img src="file:///C:/Users/ERICLE%7E1/AppData/Local/Temp/moz-screenshot-2.jpg" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Will generate a URL that you can use to direct a potential user to sign in with their Google Account:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.counterpunchsoftware.com/uploaded_images/appengine2-763167.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blogs.counterpunchsoftware.com/uploaded_images/appengine2-763163.png" alt="" border="0" /&gt;&lt;/a&gt;That is nothing spectacular per say. Passport has been doing that for years (though I don't think you can sign up as a Passport customer anymore), and ASP.NET authentication gives you that as a drag and drop control.&lt;br /&gt;&lt;br /&gt;But, it gets better.&lt;br /&gt;&lt;br /&gt;The storage behind AppEngine is Google's fabled &lt;a href="http://labs.google.com/papers/bigtable.html"&gt;BigTable&lt;/a&gt;. As an aside, I don't know if it is really 'fabled', but I read a description of Google's file system described that way :)&lt;br /&gt;&lt;br /&gt;BigTable is said to be a super-fast, super-scalable database that is built on top of the super-distributed file system that Google uses (GFS).&lt;br /&gt;&lt;br /&gt;This files system, database (big table) and parallel processing framework (map reduce) are the 'fabled' infrastructure that Google apparently uses as its IT backbone.&lt;br /&gt;&lt;br /&gt;Google has been kind enough to publish academic papers that detail how these systems were built. Based on these papers, the Apache Open Source Foundation has implemented their versions of them. They are Hadoop (i.e. MapReduce), Hadoop File System (i.e. GFS) and HBase (i.e. BigTable).&lt;br /&gt;&lt;br /&gt;Combine these with a few bazillion cheap computers, and you can be your own Google infrastructure - Hoogle I suppose :) All that's left to do is collect the billions in revenue :)&lt;br /&gt;&lt;br /&gt;Anways, back to AppEngine. So the storage. Really simple looking and really cool.&lt;br /&gt;&lt;br /&gt;The following Python class declaration establishes your database schema and provides your access class.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.counterpunchsoftware.com/uploaded_images/appengine3-769919.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blogs.counterpunchsoftware.com/uploaded_images/appengine3-769907.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once you have that, you can run your queries. Basic ones like 'get me all of them' are part of the object model.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.counterpunchsoftware.com/uploaded_images/appengine4-759929.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blogs.counterpunchsoftware.com/uploaded_images/appengine4-759927.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That one line gets me all the greetings, ordered by date. That's pretty clean and easy.&lt;br /&gt;&lt;br /&gt;This approach is kind of like the Model View Controller approach that Ruby on Rails made so popular; but it might be even easier. With a Ruby on Rails model, you define your table and a model class. As long as you follow some really reasonable naming conventions, Ruby on Rails can work with your model. With Google's approach, you just define your class with members that become columns in BigTable and the magic happens for you. Both are clean and easy to use - all the magic of LINQ with none of the weirdo syntax (no offence LINQ!)&lt;br /&gt;&lt;br /&gt;The AppEngine SDK comes with a development web server that you can use to do your local development and debugging. When you're ready, you can upload your application into AppEngine.&lt;br /&gt;&lt;br /&gt;With AppEngine, you work through a web interface to create an application. Basically you are creating a unique identifier and a URL. You can use your own domain for the URL, or a default one that Google provides.&lt;br /&gt;&lt;br /&gt;Be warned, the uploading takes a long time - about 3 minutes for my really simple application.&lt;br /&gt;&lt;br /&gt;The AppEngine 'dashboard' seems like it would be really useful. It tracks basic usage statistics.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.counterpunchsoftware.com/uploaded_images/appengine5-760640.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blogs.counterpunchsoftware.com/uploaded_images/appengine5-760637.png" alt="" border="0" /&gt;&lt;/a&gt;Obviously my hello world application has not exactly lit the world on fire like iLike or something :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;My first impression of AppEngine is really positive. Quite a compelling platform to say the least. There are a few things I'm hoping Google will add in the future.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;As mentioned earlier, more languages! Python is actually pretty cool, but it is not everyone's cup of tea. I would love to see PHP and Ruby in the near future&lt;/li&gt;&lt;li&gt;Add more to the API. So far we have web templates, users, mail and storage. I would love to see:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;a commerce solution with Google Checkout&lt;/li&gt;&lt;li&gt;ways of sending IM's with Google Talk&lt;/li&gt;&lt;li&gt;an enhancement to the Mail API to enable processing incoming email&lt;/li&gt;&lt;li&gt;maybe some programmatic ways of dealing with Google documents&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;When you upload an application to AppEngine, you automatically get assigned a version. I would love to see Google integrate this with some basic version control so you can revert/diff between versions.&lt;/li&gt;&lt;/ul&gt;All things said, AppEngine is really something you have to look at if you're thinking about building an application for the web.&lt;br /&gt;&lt;br /&gt;What I'm wondering now is how some of the more developer-centric web hosting companies are going to be affected? I'm a big fan of www.dreamhost.com. For something like $10/month, you get basic hosting along with Subversion, Jabber, MySQL, Joomla and more. While they can't obviously scale to inifinity like AppEngine, they do provide a lot of good infrastructure for you right off the bat.&lt;br /&gt;&lt;br /&gt;Anyways, time to go play with AppEngine some more...&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-3040434182000569067?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/pkf5L48rGDY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/pkf5L48rGDY/google-appengine-its-their-world-were.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/04/google-appengine-its-their-world-were.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2078169344826312798.post-4322660229906869693</guid><pubDate>Mon, 10 Mar 2008 22:47:00 +0000</pubDate><atom:updated>2008-03-10T16:54:09.490-07:00</atom:updated><title>Quick Thing with TFS and Excel Pivot Tables</title><description>Hey guys,&lt;br /&gt;&lt;br /&gt;Excel pivot tables are a great way to quickly pull data from a TFS data warehouse. I came across one for looking at code churn that I thought I would share. It's pretty simple, but I thought the information you get back could be really useful.&lt;br /&gt;&lt;br /&gt;Here is a link to the video: &lt;a href="http://www.screencast.com/t/5F8s9NvnelK"&gt;http://www.screencast.com/t/5F8s9NvnelK&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks!&lt;br /&gt;&lt;br /&gt;Eric.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='http://res1.blogblog.com/tracker/2078169344826312798-4322660229906869693?l=blogs.counterpunchsoftware.com%2Fdefault.html'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/c11software/~4/ygu4d7xhVXY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/c11software/~3/ygu4d7xhVXY/quick-thing-with-tfs-and-excel-pivot.html</link><author>ericlee@wonderaffect.com (ericlee)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blogs.counterpunchsoftware.com/2008/03/quick-thing-with-tfs-and-excel-pivot.html</feedburner:origLink></item></channel></rss>
