<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Weiqi Gao&#039;s Observations - ajax tag</title>
  <link>http://www.weiqigao.com/blog/tags/ajax/</link>
  <description>Sharing My Experience...</description>
  <language>en</language>
  <copyright>Weiqi Gao</copyright>
  <lastBuildDate>Fri, 11 May 2012 12:48:36 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://pebble.sourceforge.net/common/images/powered-by-pebble.gif</url>
    <title>Weiqi Gao&#039;s Observations</title>
    <link>http://www.weiqigao.com/blog/</link>
  </image>
  
  
  <item>
    <title>Kevin Nilson: Pushing Data To The Browser With Comet</title>
    <link>http://www.weiqigao.com/blog/2009/07/10/kevin_nilson_pushing_data_to_the_browser_with_comet.html</link>
    
      
        <description>
          &lt;p&gt;Last night&#039;s presenter at &lt;a href= &#034;http://www.ociweb.com/javasig/&#034; &gt;the St. Louis Java Users Group&lt;/a&gt; is &lt;a href= &#034;http://javaclimber.com/&#034; &gt;Kevin Nilson&lt;/a&gt; who gave a fascinating talk about &lt;a href= &#034;http://java.ociweb.com/javasig/knowledgebase/2009-07/index.html&#034; &gt;Pushing Data to the Browser with Comet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I came into the presentation not knowing what Comet is, exception what I heard on the internet.  Kevin did a great job explaining what Comet is.  The most valuable part of the presentation is the demonstrations Kevin did, which are fun and informative.&lt;/p&gt;

&lt;p&gt;I&#039;ll let you read an &lt;a href= &#034;http://www.developer.com/java/ent/article.php/3756841&#034; &gt;article by Kevin himself&lt;/a&gt; to get the gist of what the subject matter is.  I&#039;ll just show the words I wrote down during the talk:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jetty&lt;/li&gt;
&lt;li&gt;Pub/Sub&lt;/li&gt;
&lt;li&gt;Bayeux&lt;/li&gt;
&lt;li&gt;JASONp&lt;/li&gt;
&lt;li&gt;script tag&lt;/li&gt;
&lt;li&gt;XSS&lt;/li&gt;
&lt;li&gt;Cometd&lt;/li&gt;
&lt;li&gt;Long polling&lt;/li&gt;
&lt;li&gt;Channel&lt;/li&gt;
&lt;li&gt;Service channel&lt;/li&gt;
&lt;li&gt;Meta channel&lt;/li&gt;
&lt;li&gt;Server crash&lt;/li&gt;
&lt;li&gt;Client auto-reconnect&lt;/li&gt;
&lt;li&gt;JSON on the wire/HTTP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The background conversation at the JUG is also informative:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is Scala for real?  Kevin told us its the hottest thing at Silicon Valley.  Mark and I still have some lingering doubts.  Mark is focusing on something called persistent data structures.  I&#039;m more of a Luddite, fearing the years of learning that I have to go through to be proficient.&lt;/li&gt;
&lt;li&gt;At the end of the session, when Brian went up the stage to run the Birthday Selector application to give away the goodies, Kevin Nilson mentioned the Wheel of Fortune application that Jim Weaver wrote for his JUG.  Small world.&lt;/li&gt;
&lt;li&gt;Ken Totton (of OCI, where I work) is still looking for top notch Java architects and developers.  Send me an email at &#034;weiqigao at speakeasy dot com&#034; if you are interested.  A couple of other places are also recruiting.&lt;/li&gt;
&lt;li&gt;Brian asked a question about MigLayout.  He&#039;s reading the OCI May &lt;a href= &#034;http://jnb.ociweb.com/jnb/jnbMay2009.html&#034; &gt;Java News Brief on MigLayout&lt;/a&gt;.  I gave him an meta-answer: &#034;Just blog about how it doesn&#039;t work, and the MigLayout author will comment on your blog and show you the right answer.&#034;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coming back to Cometd, I do have one reservation: It&#039;s another messaging protocol.  This is the rare occasion when my Java duties intersect with my messaging protocol-watching duties.  It reminds me something Paul says around the office: &#034;You can always define a Pub/Sub protocol on top of a Request/Response protocol.  And you can always define a Request/Response protocol on top of a Pub/Sub protocol.&#034;&lt;/p&gt;

&lt;p&gt;That why this post will also be available under the title &#034;&lt;a href= &#034;http://www.weiqigao.com/blog/2009/07/10/another_jug_meeting_another_messaging_protocol.html&#034; &gt;Another JUG Meeting, Another Messaging Protocol&lt;/a&gt;&#034;. &lt;tt&gt;:)&lt;/tt&gt;&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2009/07/10/kevin_nilson_pushing_data_to_the_browser_with_comet.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2009/07/10/kevin_nilson_pushing_data_to_the_browser_with_comet.html</guid>
    <pubDate>Fri, 10 Jul 2009 13:40:08 GMT</pubDate>
  </item>
  
  <item>
    <title>Finding Your Lost Youth Through XQuery</title>
    <link>http://www.weiqigao.com/blog/2008/04/25/finding_your_lost_youth_through_xquery.html</link>
    
      
        <description>
          &lt;p&gt;This is going to be a weirdly convoluted post.  But you can skip all the details and go directly to the money link: &lt;a href= &#034;http://markmail.org/&#034; &gt;http://markmail.org/&lt;/a&gt;.  Here&#039;s a screenshot:&lt;/p&gt;

&lt;center&gt;
&lt;a href= &#034;./images/markmail.png&#034; &gt;
&lt;img src=&#034;http://www.weiqigao.com/blog/images/markmail-small.png&#034; title=&#034;MarkMail&#034; alt=&#034;MarkMail&#034;/&gt;
&lt;/a&gt;
&lt;/center&gt;

&lt;p&gt;Now, my story.&lt;/p&gt;

&lt;p&gt;A long time (1575 days) ago, I wrote an &lt;a href= &#034;http://ociweb.com/jnb/jnbJan2004.html&#034; &gt;article&lt;/a&gt; about &lt;a href= &#034;http://www.w3.org/XML/Query/&#034; &gt;XQuery&lt;/a&gt; for &lt;a href= &#034;http://ociweb.com/jnb/&#034; &gt;the JNB&lt;/a&gt;.  I joined the &lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/&#034; &gt;xquery-talk&lt;/a&gt; mailing list that was started by &lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200305/000005.html&#034; &gt;Jason Hunter&lt;/a&gt; and others a few months earlier to &lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200312/000184.html&#034; &gt;solicit&lt;/a&gt; (and &lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200312/000185.html&#034; &gt;received&lt;/a&gt;) &lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200312/000186.html&#034; &gt;feedback&lt;/a&gt; from the experts.  I kept myself subscribed to the mailing list.  And yesterday, I replied to a &lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200804/002646.html&#034; &gt;post&lt;/a&gt; by Daniela Florescu about XQuery and Web 2.0:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200804/002646.html&#034; &gt;Daniela Florescu&lt;/a&gt;: I just  came back from Web 2.0 Expo in SF. I listened through lots of
interesting presentations of various technologies for building mashups.&lt;/p&gt;

&lt;p&gt;Needless to say, *nobody* mentioned the name XQuery.&lt;/p&gt;

&lt;p&gt;Why !?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;with a message full of sarcasm:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200804/002647.html&#034; &gt;Me&lt;/a&gt;: The Web 2.0 crowd loves gimmicks.  And XQuery is the quintessential straight-faced academic + proprietary/big vendor specification.&lt;/p&gt;

&lt;p&gt;Here&#039;s something to try:&lt;/p&gt;

&lt;p&gt;1. The Web 2.0 crowd loves a catchy acronym.  They have LAMP, where the P originally referred to PHP, but can be substituted by Python, Perl, etc.  Why not rename XQuery PXQuery and claim a piece of the LAMP pie?&lt;/p&gt;

&lt;p&gt;2. The Web 2.0 crowd loves open source.  Everything they talk about is open source.  Why not make all XQuery implementations open source, at least free as in free beer?&lt;/p&gt;

&lt;p&gt;3. The Web 2.0 crowd loves a language that&#039;s deep and weird.  Nobody likes prototype based objects, yet JavaScript wins the day.  What does XQuery has that mystifies people?  FLOWR expressions just doesn&#039;t cut it.  Add something novel to XQuery, like Map-Reduce, or mandate tail call optimization.  Better yet, add REST support.  Ruby on Rails can add REST support, so can XQuery.&lt;/p&gt;

&lt;p&gt;4. The Web 2.0 crowd loves everything Google/Amazon/Yahoo! does.  Paul Graham wrote an online store with Lisp and made millions, and has been milking that fact ever since.  Have him, or someone like him, write a CMS or something in XQuery, and then *sell it to Google* to make millions of dollors.  And then say things like &#034;Google used XQuery to write their CMS.&#034;&lt;/p&gt;

&lt;p&gt;5. This one should be obvious: There is no way that the Web 2.0 crowd will love XQuery *1.0*.  1.0 is so 1990&#039;s.  Call the next update XQuery 2.0!&lt;/p&gt;

&lt;p&gt;Now, try these slogans out:&lt;/p&gt;

&lt;p&gt;BOSTON, APRIL 1, 2009---The W3C released XQuery 2.0 today.  This refresh of the venerable XQuery 1.0, three years in the making, brings major new functionality into the specification,  chief among them the full support for REST,  highly parallel  and concurrent programming  with Map-Reduce, and  the spec mandated  full tail-call optimization  that will guarantee scalability and performance.  Microsoft, IBM, Oracle, and fifteen XQuery engine vendors today also announced the Open Sourcing of their products.  Tim O&#039;Reilly, the father of the phrase &#034;Web 2.0&#034; welcomed the W3C&#039;s move today: &#034;With this release, XQuery is fully Web 2.0 buzzword compliant.&#034;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This lead to a post from John D. Mitchell:&lt;/p&gt;

&lt;blockquote&gt;
&lt;a href= &#034;http://www.stylusstudio.com/xquerytalk/200804/002661.html&#034; &gt;John D. Mitchell&lt;/a&gt;: [...]&lt;br/&gt;
&gt;  I think what your saying is that XQuery needs a killer app - and I agree with that.&lt;br/&gt;

I&#039;m way biased but check out http://markmail.org/.  Pure XQuery backend with the latest Ajax hotness for a UI.
&lt;/blockquote&gt;

&lt;p&gt;That lead me to the MarkMail site mentioned above.  MarkMail was covered by the &lt;a href= &#034;http://radar.oreilly.com/archives/2008/01/markmail-provides-amazing-sear.html&#034; &gt;O&#039;Reilly Radar&lt;/a&gt;.  It imports archives of mailing lists and offers a good UI for searching and browsing the contents of the mailing lists.  What is rarely mentioned is the fact that its backend is pure XQuery.&lt;/p&gt;

&lt;p&gt;In the screenshot, I searched for my posts to the ant mailing lists.  The results are shown in a Flash chart on the top left corner.  Here&#039;s a &lt;a href= &#034;./files/markmail.ogg&#034; &gt;silent screencast&lt;/a&gt; (in Ogg Theora format, you might want to download the &lt;a href= &#034;http://www.videolan.org/vlc/&#034; &gt;VLC Media Player&lt;/a&gt;) that shows how you can interact with it.&lt;/p&gt;

&lt;p&gt;It&#039;s sooooo much better than all the other mailing list archives that I had no problem finding &lt;a href= &#034;http://ant.markmail.org/search/?q=Weiqi%20Gao#query:Weiqi%20Gao%20date%3A200009-200011%20+page:1+mid:ivdhg6vgi7s3lydn+state:results&#034; &gt;this thread&lt;/a&gt; from 2706 days ago, which showed how the &lt;tt style=&#034;color:red&#034;&gt;${ant.project.name}&lt;/tt&gt; property was added to Ant in the span of 8 hours, starting with &lt;a href= &#034;http://ant.markmail.org/search/?q=Weiqi%20Gao#query:Weiqi%20Gao%20date%3A200009-200011%20+page:1+mid:tvo3vzanamci7obj+state:results&#034; &gt;Mark Volkmann&lt;/a&gt; asking the question to the &lt;a href= &#034;&#034; &gt;final commit&lt;/a&gt; of the patch.&lt;/p&gt;

&lt;p&gt;That&#039;s how I spent my time back then.  And thanks to MarkMail (and XQuery), I get to relive my youthful moments.&lt;/p&gt;

&lt;p&gt;MarkMail is a killer-app of XQuery indeed!&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2008/04/25/finding_your_lost_youth_through_xquery.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2008/04/25/finding_your_lost_youth_through_xquery.html</guid>
    <pubDate>Fri, 25 Apr 2008 12:50:04 GMT</pubDate>
  </item>
  
  <item>
    <title>Gmail Gives Me Choices: Ajax, POP3, and IMAP</title>
    <link>http://www.weiqigao.com/blog/2008/01/08/gmail_gives_me_choices_ajax_pop3_and_imap.html</link>
    
      
        <description>
          &lt;p&gt;Continuing with the &lt;a href= &#034;http://www.weiqigao.com/blog/2008/01/02/given_a_choice_between_a_web_ui_and_a_ria_ui.html&#034; &gt;&#034;Give me the choice!&#034;&lt;/a&gt; theme from 6 days ago, I am happy to discover that &lt;a href= &#034;http://gmail.com/&#034; &gt;Gmail&lt;/a&gt; can be used with regular email clients like &lt;a href= &#034;http://www.mozilla.com/en-US/thunderbird/&#034; &gt;Mozilla Thunderbird&lt;/a&gt; or &lt;a href= &#034;http://get.live.com/wlmail/overview?wa=wsignin1.0&#034; &gt;Windows Live Mail&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That Gmail supports POP3 and IMAP may be &lt;a href= &#034;http://gmailblog.blogspot.com/2007/10/sync-your-inbox-across-devices-with.html&#034; &gt;old news&lt;/a&gt; for some of you.  But it&#039;s new news to me.  I might have heard of the original announcement of Gmail&#039;s POP3 and IMAP support along with other computer news items, but it scrolled off my mind pretty quickly.&lt;/p&gt;

&lt;p&gt;I most recently rediscovered it a three days ago, when I was setting up my old IBM Thinkpad (you&#039;ve &lt;a href= &#034;http://www.weiqigao.com/blog/2003/07/21/slides_docbook_powerpoint_free.html&#034; &gt;seen it here&lt;/a&gt; 1643 days ago) as my wife&#039;s computer.  Being able to play CDs, DVDs and online videos, and being able to use email and some websites were the only requirements.&lt;/p&gt;

&lt;p&gt;So I &lt;a href= &#034;http://www.sluug.org/pipermail/discuss/2008-January/034833.html&#034; &gt;removed the Grub bootloader&lt;/a&gt; (login with discuss/freely) and &lt;a href= &#034;http://www.sysresccd.org/Main_Page&#034; &gt;the Linux partition&lt;/a&gt;, rebuilt Windows XP Pro, applied all patches, installed iTunes, RealPlayer and Windows Media Player, Firefox. and Thunderbird.  My plan is to setup the regular email with Thunderbird, and save a couple of bookmarks for Hotmail and Gmail.&lt;/p&gt;

&lt;p&gt;When I opened the Thunderbird account setup wizard, it gave me four options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;email&lt;/li&gt;
&lt;li&gt;feeds&lt;/li&gt;
&lt;li&gt;&lt;span style=&#034;color:blue&#034;&gt;G&lt;/span&gt;&lt;span style=&#034;color:red&#034;&gt;m&lt;/span&gt;&lt;span style=&#034;color:gold&#034;&gt;a&lt;/span&gt;&lt;span style=&#034;color:blue&#034;&gt;i&lt;/span&gt;&lt;span style=&#034;color:green&#034;&gt;l&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;newsgroups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That &#034;Gmail&#034; option grabbed my attention.  So I chose it, entered the username and password.  At that point, I was informed that I had to turn on POP support in Gmail.  When I went to Gmail to turn on POP support, I was informed that what I really want to do is to turn on IMAP.  So I did that.  And come back and configured a regualr IMAP account for Gmail.&lt;/p&gt;

&lt;p&gt;That got me to thinking: can Hotmail be accessed from a regular email client?  I vaguely remember that Outlook Express supported Hotmail.  So I did a Live search, which lead me to &lt;a href= &#034;http://support.microsoft.com/kb/220852&#034; &gt;this Microsoft page&lt;/a&gt;.  It essentially said that I need to upgrade the Hotmail account into a Windows Live account, and that Windows Live Mail is what I want.  I downloaded Windows Live Mail and setup the account there.&lt;/p&gt;

&lt;p&gt;Just for simplicity, I also set up the other two email accounts in Windows Live Mail.  So now my wife can access all three email accounts from the same Windows Live Mail client.&lt;/p&gt;

&lt;p&gt;I don&#039;t know what she&#039;ll think about the new email client.  But I&#039;ve heard enough complaints in the past about both Gmail and Hotmail that I believe Windows Live Mail will provide a better experience than both Hotmail and Gmail&#039;s web interfaces.&lt;/p&gt;

&lt;p&gt;If you&#039;ve followed this post to this point, I might as well waste a couple more minutes of your time to address an assertion that I heard uttered by Web fanatics, for example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;a href= &#034;http://www.tbray.org/ongoing/When/200x/2008/01/01/Predictions&#034; &gt;Tim Bray&lt;/a&gt;: This notion, that the Web GUI is insufficiently interactive and we need something richer, is widely held among developers and almost never among actual users of computers, and it’s entirely wrong.
&lt;/blockquote&gt;

&lt;p&gt;This seems completely backwards.  If by &#034;actual users of computers&#034; he means the non-programmer users of computers, then my experience is completely opposite.  They don&#039;t usually care whether an application is Ajax or RIA.  But they can tell which one is better.  At least in the email clients arena, the RIA is always better than their Ajax counterpart.&lt;/p&gt;

&lt;p&gt;As far as I can tell, the only people who are touting the merits of Ajax Web UIs are web fanatic developers and vendors who has a big stake in the continued dominance of the inferior Web UI.&lt;/p&gt;

&lt;p&gt;Once again:  Give us the choices!&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2008/01/08/gmail_gives_me_choices_ajax_pop3_and_imap.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2008/01/08/gmail_gives_me_choices_ajax_pop3_and_imap.html</guid>
    <pubDate>Tue, 08 Jan 2008 15:30:08 GMT</pubDate>
  </item>
  
  </channel>
</rss>

