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

<channel>
	<title>Victus Spiritus &#187; google appengine</title>
	<atom:link href="http://www.victusspiritus.com/tag/google-appengine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.victusspiritus.com</link>
	<description>a blog by Mark Essel on web technology, startups and design philosophy</description>
	<lastBuildDate>Mon, 30 Jan 2012 19:33:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='www.victusspiritus.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>14 million ways to skin a cat &#8211; web programming</title>
		<link>http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/</link>
		<comments>http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 11:43:12 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[FriendFeed]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google appengine]]></category>
		<category><![CDATA[java virtual machine]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=2001</guid>
		<description><![CDATA[<p>(note: I don&#8217;t support the  skinning of cats)</p>
<h1>Web Programming Languages</h1>
<p>While I&#8217;m relatively new to web programming, there is a fairly large barrier to entry to this wonderful world of creation for someone like myself. You see, I like &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>(note: I don&#8217;t support the  skinning of cats)</p>
<h1>Web Programming Languages</h1>
<p>While I&#8217;m relatively new to web programming, there is a fairly large barrier to entry to this wonderful world of creation for someone like myself. You see, I like to choose the best tool for a job and get to work. The problem is, there are too many damn good tools for web programming, and I&#8217;m not knowledgeable enough to decide on which is the right one to use for any given project.</p>
<p><span id="more-2001"></span></p>
<p>The short list of programming languages &amp; tools I&#8217;ve come across and used in the past few months:</p>
<ul>
<li><a href="http://www.w3schools.com/htmL/default.asp">html</a> (web hypertext markup language)</li>
<li><a href="http://php.net/index.php">php</a> (interpreted web programming language)</li>
<li><a href="http://www.greenteapress.com/thinkpython/thinkpython.html">python</a> (interpreted web programming language)</li>
<li><a href="http://www.w3schools.com/js/js_intro.asp">javascript</a> (scripting language for web programming)</li>
<li><a href="http://www.ruby-lang.org/en/">ruby</a> (scripting language for web programming)</li>
<li><a href="http://rubyonrails.org/documentation">rails</a> (web framework built on ruby)</li>
<li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK</a> (java developers kit)</li>
<li><a href="http://java.sun.com/docs/books/tutorial/">java</a> (virtual machine based language &#8211; JVM)</li>
<li><a href="http://www.scala-lang.org/">scala</a> (functional and object oriented language that compiles with the JVM)</li>
<li><a href="http://liftweb.net/">lift</a> (web framework built on scala)</li>
<li><a href="http://apiwiki.twitter.com/Twitter-API-Documentation">twitter search API</a> (interface to microblogging)</li>
<li><a href="http://apiwiki.twitter.com/">twitter account API</a> (interface to microblogging)</li>
<li><a href="http://friendfeed.com/api/documentation">friendfeed API</a> (interface to microblogging)</li>
<li><a href="http://code.google.com/appengine/">Google Application Engine</a> (framework for web hosting/programming, GAE)</li>
<li><a href="http://www.caucho.com/resin-3.0/quercus/">Quercus</a> (compiler for php on the java virtual machine since the GAE doesn&#8217;t support php)</li>
<li><a href="http://maven.apache.org/">maven</a> build and dependency/repository extraction tool (make on steroids)</li>
<li><a href="http://www.netbeans.org/">netbeans</a> (IDE for (web) programming languages)</li>
<li><a href="http://wiki.netbeans.org/Scala">netbeans scala plugi</a>n (plugin for scala)</li>
<li><a href="http://www.eclipse.org/">eclipse</a> (IDE for (web) programming languages)</li>
<li><a href="http://www.scala-lang.org/node/94">eclipse scala plugin</a> (plugin for scala)</li>
<li><a href="http://code.google.com/eclipse/">eclipse GAE plugin</a> (plugin for building GAE projects)</li>
<li><a href="http://dev.mysql.com/doc/">MYSQL</a> (relational database implementation for SQL)</li>
<li><a href="http://www.mongodb.org/display/DOCS/Home">MongoDB</a> (alternative database solution)</li>
<li><a href="http://code.google.com/appengine/docs/python/gettingstarted/usingdatastore.html">DataStore</a> ( or simple data store Googles database for GAE projects and others)</li>
</ul>
<p>Each of the above tools is complex in it&#8217;s own right. The sum of all these tools is dizzying in their combined intricacies. Any web based project may interact with many (or all) of the above tools, languages, APIs, and/or databases. These implementation choices are in addition to hosting options (dedicated server, virtual server, cloud scaled servers).</p>
<p>As an example, I spent a couple of weeks just tooling with the Friendfeed API v2. Then a few weeks later the business was purchased by Facebook. With an unclear future (Friendfeed is only receiving minimal developer resources/time) that time may have been ill spent, except for the fact that I was able to experience the Google Application Engine for the first time. Google should be around for a few more years at least <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<h2>The Specific Problem:</h2>
<p>To build a tool that:</p>
<ol>
<li>create a user profile to associate several different social media channels together (aggregator)</li>
<li>categorize social comments (microblogging, tweets, blog comments, blog posts) through automation, and user feedback</li>
<li>enter the extracted tags, any confidence or weights into a database associated with the original social media URL</li>
<li>allow users to adjust the tags, and any weights with an interface</li>
<li>provide personalized ads to the users from web hosts with a plugin/widget/adbox</li>
<li>provide utilities to the user
<ul>
<li>2-way search tools to the user</li>
<li>passive or active search for other users who share their interests</li>
<li>passive or active search within other microblog/blog posts related to their tags/topics of interest in a dynamic way (update in real time as folks naturally use social channels)</li>
<li>game like behavior must be fundamental to the process to aid user adoption and enjoyment. i.e. minigames based on semantic categorization</li>
</ul>
</li>
</ol>
<p>Of course this design may or may not be something users are even interested in. We plan on learning from people who play with the various product/tool versions.</p>
<p>I&#8217;d like to help develop additional tools to help me find information that&#8217;s relevant to my interests (a virtual personal assistant) without having to know what specific search terms to enter. I wouldn&#8217;t mind targeted/personal ads that are relevant to my interests, in fact I&#8217;d prefer them to banner (or completely inappropriate) ads.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.victusspiritus.com/2009/07/24/web-programming-foo/">Practical Web Programming with the friendfeed API &amp; Google App Engine</a> (victusspiritus.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/sullis/google-app-engine-september-17-2009">Google App Engine &#8211; September 17 2009</a> (slideshare.net)</li>
<li class="zemanta-article-ul-li"><a href="http://www.viget.com/extend/prototyping-java-processing-in-ruby-processing/">Prototyping Java-Processing in Ruby-Processing</a> (viget.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.readwriteweb.com/enterprise/2009/09/socialwok-is-a-friendfeed-for-google-apps.php">Socialwok is a FriendFeed for Google Apps</a> (readwriteweb.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/9bfa303b-065e-4da7-98fd-c6345a166a88/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=9bfa303b-065e-4da7-98fd-c6345a166a88" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Practical Web Programming with the friendfeed API &amp; Google App Engine</title>
		<link>http://www.victusspiritus.com/2009/07/24/web-programming-foo/</link>
		<comments>http://www.victusspiritus.com/2009/07/24/web-programming-foo/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 19:25:02 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google appengine]]></category>
		<category><![CDATA[startups]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=1159</guid>
		<description><![CDATA[<p></p>
<h2>Long Day Coding</h2>
<p>Had a helluva weird 17 hour coding spree yesterday. By setting up and slightly modifying the friendfeed application example, I nearly drove one of the super helpful friendfeed developers bonkers (yeah I&#8217;m that bad with questions). The &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/_MNyvs08x2U&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/_MNyvs08x2U&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>Long Day Coding</h2>
<p>Had a helluva weird 17 hour coding spree yesterday. By setting up and slightly modifying the friendfeed application example, I nearly drove one of the super helpful friendfeed developers bonkers (yeah I&#8217;m that bad with questions). The plus side, I have a basic handle on the Google App Engine (GAE), Python, Django html scripting and jury rigging eclipse projects to run php (why oh why doesn&#8217;t GAE support PHP).<span id="more-1159"></span></p>
<h2>Friendfeed Developers Rock</h2>
<p>First off a big thanks to <a href="http://friendfeed.com/bgolub">Benjamin Golub</a> of <a href="http://friendfeed.com/">friendfeed</a> for his patience yesterday. I owe you a debt of gratitude for supporting non-friendfeed related code. A tip of the hat to all the friendfeed development staff who went out of their way (<a href="http://friendfeed.com/bret">Bret Taylor</a>, <a href="http://friendfeed.com/gburd">Gary Burd</a>) the last couple of days to get eager developers using their new API.</p>
<p>The GAE is definitely worth learning, if Google is going to continue to support it. It&#8217;s basically free scalable hosting for your project (with some limitations) and you only pay for bandwidth plus storage needs over the free threshold (~5million pageviews a month). It was rolled out last year with Python support. Just recently they released java support, which enabled <a href="http://brian.brispace.net/2009/04/09/php-on-google-app-engine/">Quercus/PHP</a> to work. Incidentally <a href="http://www.caucho.com/resin-3.0/quercus/">Quercus</a> is much faster than normal php, but I do have an issue (hopefully something I can fix on my end).</p>
<p>The command line has become my friend, as I can&#8217;t seem to get a project in either Eclipse or Netbeans to play nice with all the web programming languages I&#8217;m using. I guess that&#8217;s good news for when I delve back into scala /lift using maven&#8217;s command build.</p>
<p>As powerful as some of these technologies are, I can&#8217;t help but feel that there&#8217;s no one trying to unify all these web languages into an easy to start/build/deploy package. Beyond the Integrated Development Environment I wrote about previously, there is a need for language developers to see outside of their own &#8220;walled garden&#8221; of development. It&#8217;s in our collective best interest to seamlessly bring these languages together into high level packages. The java virtual machine has been leveraged to produce byte code for several languages and is a good example of the direction we can head down. The cost to using the JVM is that specifically optimized local hardware compiled code can still outperform java for processing heavy apps.</p>
<p>It&#8217;s fascinating looking back at the evolution of programming, from assembly to high level web application environments. We are continually inventing new ways to organize our ideas into formats that computers and the Internet can understand. There&#8217;s still something to be desired in the experience of first learning new programming syntax. Without stretching my imagination too far, I envision a virtual programming assistant (VPA) tool that aids beginners and masters alike. The huge inefficiency in the design and learning of interfaces will be surprisingly expedient, as the VPA will handle most of the low level work. For star wars fans think of a C3PO (minus the body) focused on programming languages and you&#8217;ll have a good concept of the functionality of a VPA.</p>
<p>I look forward to the day we can finally say farewell to QWERTY, an inefficient vestigial throwback. The interface to the web and it&#8217;s windows will shift from mouse and keyboard to voice, optical and neural controls. Simulators and designers will have vast resources at their beck and call to create all manner of inventions.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://themindstorms.blogspot.com/2009/03/java-on-google-app-engine-techcrunch.html">Java on Google App Engine? Some Speculating, But There May Be Some Truth</a> (themindstorms.blogspot.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slumpedoverkeyboarddead.com/2009/05/15/grails-and-scala-support-googles-appengine/"> Grails and Scala support Googles AppEngine </a> (slumpedoverkeyboarddead.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/sausheong/ruby-and-the-cloud"> Ruby And The Cloud </a> (slideshare.net)</li>
<li class="zemanta-article-ul-li"><a href="http://www.mehmetalierturk.com/2009/04/27/software-development-deployment-with-google-app-engine/"> Software Development &amp; Deployment with Google App Engine </a> (mehmetalierturk.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/79289e71-492a-45ee-b0e6-c083702cb7bb/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=79289e71-492a-45ee-b0e6-c083702cb7bb" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/07/24/web-programming-foo/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/07/24/web-programming-foo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

