<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://lambda-the-ultimate.org">
<channel>
 <title>Lambda the Ultimate - Javascript</title>
 <link>http://lambda-the-ultimate.org/taxonomy/term/31/0</link>
 <description>Javascript and related developments (e.g., Links) </description>
 <language>en</language>
<item>
 <title>Mechanized Î»&lt;sub&gt;JS&lt;/sub&gt;</title>
 <link>http://lambda-the-ultimate.org/node/4555</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://brownplt.github.com/2012/06/04/lambdajs-coq.html&quot;&gt;Mechanized Î»&lt;sub &gt;JS&lt;/sub&gt;&lt;/a&gt;&lt;br &gt;
The Brown PLT Blog, 2012-06-04&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;
In an earlier post, we introduced Î»&lt;sub &gt;JS&lt;/sub&gt;, our operational semantics for JavaScript. Unlike many other operational semantics, Î»&lt;sub &gt;JS&lt;/sub&gt; is no toy, but strives to correctly model JavaScript&#039;s messy details. To validate these claims, we test Î»&lt;sub &gt;JS&lt;/sub&gt; with randomly generated tests and with portions of the Mozilla JavaScript test suite.&lt;/p&gt;
&lt;p &gt;Testing is not enough. Despite our work, other researchers found a missing case in Î»&lt;sub &gt;JS&lt;/sub&gt;. Today, we&#039;re introducing Mechanized Î»&lt;sub &gt;JS&lt;/sub&gt;, which comes with a machine-checked proof of correctness, using the Coq proof assistant.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;More work on mechanizing the actual, implemented semantics of a real language, rather than a toy.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/11">Functional</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/20">Lambda Calculus</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/29">Semantics</category>
 <pubDate>Wed, 27 Jun 2012 15:28:37 +0000</pubDate>
</item>
<item>
 <title>Interactive Tutorial of the Sequent Calculus</title>
 <link>http://lambda-the-ultimate.org/node/4529</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://logitext.ezyang.scripts.mit.edu/logitext.fcgi/tutorial&quot;&gt;Interactive Tutorial of the Sequent Calculus&lt;/a&gt; by Edward Z. Yang.&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;This interactive tutorial will teach you how to use the sequent calculus, a simple set of rules with which you can use to show the truth of statements in first order logic. It is geared towards anyone with some background in writing software for computers, with knowledge of basic boolean logic. ...&lt;/p&gt;
&lt;p &gt;Proving theorems is not for the mathematicians anymore: with theorem provers, it&#039;s now a job for the hacker. â€” Martin Rinard ...&lt;/p&gt;
&lt;p &gt;A common complaint with a formal systems like the sequent calculus is the &quot;I clicked around and managed to prove this, but I&#039;m not really sure what happened!&quot; This is what Martin means by the hacker mentality: it is now possible for people to prove things, even when they don&#039;t know what they&#039;re doing. The computer will ensure that, in the end, they will have gotten it right.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p &gt;The tool behind this nice tutorial is &lt;a href=&quot;http://logitext.ezyang.scripts.mit.edu/logitext.fcgi/main&quot;&gt;Logitext&lt;/a&gt;.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/5">Fun</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/13">Logic/Declarative</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/18">Teaching &amp; Learning</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/19">Theory</category>
 <pubDate>Thu, 31 May 2012 14:48:52 +0000</pubDate>
</item>
<item>
 <title>Google&#039;s &quot;The Future of JavaScript&quot; internal memo leaked</title>
 <link>http://lambda-the-ultimate.org/node/4355</link>
 <description>&lt;p &gt;Note: Saw this on Sunday (9/11), but waited for it to go viral before posting it here.&lt;/p&gt;
&lt;p &gt;A leaked Google memo, &lt;a href=&quot;http://pastebin.com/NUMTTrKj&quot;&gt;The Future of JavaScript&lt;/a&gt;, from November 2010 is being circulated around the Internet, outlining Google&#039;s supposed technical strategy for Web programming languages.  Google plans to improve JavaScript, while also creating a competitor to JavaScript, Dart (ex-Dash), that it hopes will be the new &lt;em &gt;lingua franca&lt;/em&gt; of the Web.&lt;/p&gt;
&lt;p &gt;Ironically, I saw this leak via a Google Alert keyword search.  It has propagated to at least &lt;a href=&quot;https://gist.github.com/1208618&quot;&gt;Github&lt;/a&gt;, the Dzone social network, &lt;em &gt;The Register&lt;/em&gt; and &lt;em &gt;Information Week&lt;/em&gt; since Sunday.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/4">Critiques</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Thu, 15 Sep 2011 14:25:34 +0000</pubDate>
</item>
<item>
 <title>Developer Guided Code Splitting</title>
 <link>http://lambda-the-ultimate.org/node/3707</link>
 <description>&lt;p &gt;Google Web Toolkit, which compiles Java to JavaScript for running code in the browser, now includes &lt;a href=&quot;http://code.google.com/webtoolkit/doc/latest/DevGuideCodeSplitting.html&quot;&gt;Code Splitting&lt;/a&gt;, for reducing application download time:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;
To split your code, simply insert calls to the method GWT.runAsync at the places where you want the program to be able to pause for downloading more code. These locations are called split points.&lt;/p&gt;
&lt;p &gt;A call to GWT.runAsync is just like a call to register any other event handler. The only difference is that the event being handled is somewhat unusual. Instead of being a mouse-click event or key-press event, the event is that the necessary code has downloaded for execution to proceed.
&lt;/p&gt;&lt;/blockquote&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/16">Parallel/Distributed</category>
 <pubDate>Wed, 09 Dec 2009 11:27:54 +0000</pubDate>
</item>
<item>
 <title>No more tail calls in Javascript?</title>
 <link>http://lambda-the-ultimate.org/node/3047</link>
 <description>&lt;p &gt;In very disappointing news &lt;a href=&quot;http://www.nabble.com/Re%3A-Generator-use-cases-p16370886.html&quot;&gt;proper tail calls are out of ES4&lt;/a&gt;.  It seems that a justification for tail calls could not be found.  For example, here is  &lt;a href=&quot;http://ejohn.org/files/Adobe_position_on_ES4_features.pdf&quot;&gt;Adobe&#039;s position on tail calls:&lt;/a&gt;&lt;/p&gt;

&lt;blockquote &gt;&lt;p &gt;A more serious point is that we can&#039;t avoid adding tail calls at some point if we cater to the functional 
programming crowd.  However, if we really intend to cater to them then we need to provide data structures that 
are functional too, like lists and operations on themâ€”unlike ES arrays, which are entirely imperative.  Of course 
users can implement those data structures themselves, if they have tail calls, but right now just adding tail calls 
â€œfor functional programmingâ€ seems like a half solution. &lt;/p&gt;
 
&lt;p &gt;Finally, tail calls preclude the use of straightforward implementation techniques for procedure calls.  To be sure 
they are less limiting than generators, as one-shot continuations or longjumps are sufficient to handle tail calls in 
a non-tail-calling implementation language, but implementations that want good-performance tail calls must 
necessarily switch to a code generation technique. &lt;/p&gt;&lt;/blockquote&gt;

&lt;p &gt;This seems misguided.  The user can implement functional data structures but not tail calls (without whole program transformation), so the later are much more valuable than the former.  Furthermore, as a functional programmer I&#039;m quite happy to use mutable data structures but I would certainly miss tail calls.  Finally, every JS implementation is already shifting to code generation because straightforward implementation techniques are too slow for the existing idioms used in JS code.&lt;/p&gt;

&lt;p &gt;The &lt;a href=&quot;http://wiki.ecmascript.org/doku.php?id=&quot;&gt;ES4 Wiki&lt;/a&gt; still indicates that tail calls are in, so perhaps they&#039;ll yet make it.  For laughs you might want to look at the &lt;a href=&quot;http://spreadsheets.google.com/pub?key=pFIHldY_CkszsFxMkQOReAQ&amp;amp;gid=2&quot;&gt;Ecmascript progress spreadsheet&lt;/a&gt;.  Apple sure don&#039;t like change.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Sun, 12 Oct 2008 07:57:14 +0000</pubDate>
</item>
<item>
 <title>Google V8 JavaScript Engine</title>
 <link>http://lambda-the-ultimate.org/node/2967</link>
 <description>&lt;p &gt;You can read the docs and download the C++ source &lt;a href=&quot;http://code.google.com/apis/v8/intro.html&quot;&gt;here&lt;/a&gt;.&lt;p &gt;
V8 is supposedly the main added value of &lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt;, the &lt;a href=&quot;http://lambda-the-ultimate.org/node/2963&quot;&gt;newly announced&lt;/a&gt; Google browser.&lt;p &gt;
Our &lt;a href=&quot;http://lambda-the-ultimate.org/node/2963&quot;&gt;discussion&lt;/a&gt; of the Chrome announcement enumerates some of the features of V8.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/23">Cross language runtimes</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/8">Implementation</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Wed, 03 Sep 2008 01:25:51 +0000</pubDate>
</item>
<item>
 <title>JavaScript harmony</title>
 <link>http://lambda-the-ultimate.org/node/2936</link>
 <description>&lt;p &gt;I guess we should note the attempts to smooth over the split amongst implementers that is going down in the JavaScript community with the &lt;a href=&#039;https://mail.mozilla.org/pipermail/es4-discuss/2008-August/003400.html&#039;&gt;Oslo Summit and Harmony&lt;/a&gt; trying to bring back peace.  All programming languages are politics.  The attempt to do the right things runs into competing interests and debates over what is the right thing to do.  The split in the JavaScript community has been apparent now for a while, with the incrementalists wrapped up in version 3.1 and the more ambitious wrapped up in 4.0.  Here&#039;s hoping that the wheels don&#039;t fall off.  From a programming language standpoint, the particulars aren&#039;t as interesting as observing how language evolution takes place.&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Thu, 14 Aug 2008 18:35:30 +0000</pubDate>
</item>
<item>
 <title>Back to the future</title>
 <link>http://lambda-the-ultimate.org/node/2842</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://www.tilestack.com/&quot;&gt;TileStack&lt;/a&gt; is an attempt to resurrect HyperCard and bring it to the web.&lt;p &gt;
Running online there are going to be &lt;a href=&quot;http://www.tilestack.com/community/faq/321&quot;&gt;limitations&lt;/a&gt; about which stacks can be ported, which may reduce the usefulness and impact of this project, but maybe a standalone version will come later.&lt;p &gt;
The system &lt;a href=&quot;http://www.tilestack.com/community/faq/311&quot;&gt;compiles&lt;/a&gt; Speak (the TileStack version of HyperTalk) to Javascript. If the result is not obfuscated, something I haven&#039;t verified, it may be possible to augment the output from TileStack with additional capabilities not supported or not yet implemented.&lt;p &gt;
From the compatibility angle it is interesting to note that they renamed the language and seem to imply they are going to extend it beyond HyperTalk, without giving any specific guarantee about future compatibility. I&#039;d suggest releasing the compiler that&#039;s as close to full HyperTalk compatibility as a separate product (or even, if they can bring themselves to do it, releasing it as open source).&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/24">DSL</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/7">History</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Sun, 08 Jun 2008 18:27:10 +0000</pubDate>
</item>
<item>
 <title>Processing.js</title>
 <link>http://lambda-the-ultimate.org/node/2815</link>
 <description>&lt;p &gt;John Resig (of &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt; fame) has ported the &lt;a href=&quot;http://processing.org/&quot;&gt;Processing visualization language&lt;/a&gt; to &lt;a href=&quot;http://ejohn.org/blog/processingjs/&quot;&gt;JavaScript&lt;/a&gt;.&lt;p &gt;
The examples are remarkable, check them out (but check the browser issues John discusses).&lt;p &gt;
John has a little &lt;a href=&quot;http://ejohn.org/blog/processingjs/&quot;&gt;confession&lt;/a&gt;:&lt;br &gt;
&lt;blockquote &gt;&lt;p &gt;The first portion of the project was writing a parser to dynamically convert code written in the Processing language, to JavaScript. This involves a lot of gnarly regular expressions chewing up the code, spitting it out in a format that the browser understands.
&lt;p &gt;
It works &quot;fairly well&quot; (in that it&#039;s able to handle anything that the processing.org web site throws at it) but I&#039;m sure its total scope is limited (until a proper parser is involved). I felt bad about tackling this using regular expressions until I found out that the original Processing code base did it in the same manner (they now use a real parser, naturally).&lt;/blockquote&gt;
&lt;p &gt;
Actually that&#039;s quite cool in itself (even if angels weep at this parsing code, I think we on LtU shouldn&#039;t cast the first stone). DSLs should be easily built and played with. Cleaning up the implementation comes later, if at all.&lt;p &gt;
Purists may not only object to the regular expression parsing, but also to the central line of code which ties things together, namely: &lt;b &gt;eval(parse(code, p))&lt;/b&gt;. But then, DSL lovers are not the sort of people to object to eval...&lt;p &gt;
In the old days of LtU we regularly posted links to cool small interpreters that people could play with. Some of the more amusing ones were javascript based, and the page contained a REPL form (Luke, I am talking to you!). It is a shame we don&#039;t post more stuff like this, in between the more highbrow discussions...&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/24">DSL</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Sun, 18 May 2008 01:13:28 +0000</pubDate>
</item>
<item>
 <title>Evolutionary Programming and Gradual Typing in ECMAScript 4</title>
 <link>http://lambda-the-ultimate.org/node/2550</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://www.ecmascript.org/es4/spec/evolutionary-programming-tutorial.pdf&quot;&gt;Evolutionary Programming and Gradual Typing in ECMAScript 4&lt;/a&gt;, by Lars T Hansen, Adobe Systems, is an 18 page tutorial detailing features of ECMAScript 4, and how they can be applied to existing ECMAScript code to improve it.&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;This tutorial uses a simple library as a running example to illustrate the evolution of a program from the ES3 &quot;script&quot; stage, via various levels of typing and rigor, to an ES4 package with greater guarantees of integrity and better performance potential than the original code. We then look at how union types, generic functions, and reflection can be used to work with a library whose code we can&#039;t modify.
&lt;/p&gt;&lt;/blockquote&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Sun, 02 Dec 2007 10:47:25 +0000</pubDate>
</item>
<item>
 <title>David Pollak on lift</title>
 <link>http://lambda-the-ultimate.org/node/2536</link>
 <description>&lt;p &gt;The video and slides of David Pollak&#039;s BayFP presentation on &lt;a href=&quot;http://demo.liftweb.net/lift/&quot;&gt;lift&lt;/a&gt; are available &lt;a href=&quot;http://www.bayfp.org/blog/2007/11/09/david-pollak-on-lift-videos-slides/&quot;&gt;online&lt;/a&gt;.&lt;p &gt;
While the thrust of the talk is on lift as a web framework, you get a very nice intro to Scala along the way, and David even mentions a quick way to get a PLT PhD, for those interested in that sort of thing...&lt;br &gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/30">Ruby</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/32">Scala</category>
 <pubDate>Thu, 15 Nov 2007 00:03:00 +0000</pubDate>
</item>
<item>
 <title>Caja: Capability Javascript</title>
 <link>http://lambda-the-ultimate.org/node/2530</link>
 <description>&lt;p &gt;&lt;a href=&quot;http://www.links.org/?p=271&quot;&gt;Ben Laurie&lt;/a&gt;:&lt;br &gt;
&lt;blockquote &gt;Iâ€™ve been running a team at Google for a while now, implementing capabilities in Javascript....a &lt;a href=&quot;http://code.google.com/p/google-caja/&quot;&gt;Caja&lt;/a&gt; program will run without modification on a standard Javascript interpreter - though it wonâ€™t be secure, of course! When it is compiled then, like &lt;a href=&quot;http://caperl.links.org/&quot;&gt;CaPerl&lt;/a&gt;, the result is standard Javascript that enforces capability security. What does this mean? It means that Web apps can embed untrusted third party code without concern that it might compromise either the applicationâ€™s or the userâ€™s security...Iâ€™m very excited about this project and the involvement of some world class capability experts, including Mark Miller (of E fame) who is a full-time member of the Caja development team.&lt;/blockquote&gt;
&lt;p &gt;
This could possibly be a very important development. I haven&#039;t delved into Caja, but I know some members know all there is to know, so perhaps they can enlighten us about the details... &lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Sat, 10 Nov 2007 02:16:30 +0000</pubDate>
</item>
<item>
 <title>ECMAScript Edition 4 and Backwards Compatibility</title>
 <link>http://lambda-the-ultimate.org/node/2524</link>
 <description>&lt;p &gt;There&#039;s a new document on the &lt;a href=&quot;http://www.ecmascript.org/es4/spec/incompatibilities.pdf&quot;&gt;incompatibilities between ECMAScript Edition 3 and the proposed Edition 4&lt;/a&gt;. Given the recent controversy in the blogosphere and the degree of interest in &lt;a href=&quot;http://lambda-the-ultimate.org/node/2504&quot;&gt;last week&#039;s discussion of the proposed ES4&lt;/a&gt;, this document may be of interest to LtUers.&lt;/p&gt;
&lt;p &gt;It&#039;s also interesting to think of conservative extension not as an all-or-nothing property, but to judge incompatibilities in terms of their impact. This document attempts to enumerate and classify the different ways the proposed ES4 spec conflicts with the specification of ES3.&lt;/p&gt;
&lt;p &gt;(One last note: there&#039;s a new pre-release of the &lt;a href=&quot;http://www.ecmascript.org/download.php&quot;&gt;reference implementation&lt;/a&gt; available, with binaries for all major platforms. Check it out!)&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Tue, 06 Nov 2007 05:59:58 +0000</pubDate>
</item>
<item>
 <title>Technometria: Google Web Toolkit</title>
 <link>http://lambda-the-ultimate.org/node/2518</link>
 <description>&lt;p &gt;Phil Windley &lt;a href=&quot;http://itc.conversationsnetwork.org/shows/detail3395.html&quot;&gt;Technometria podcast&lt;/a&gt; is dedicated to the Google Web Toolkit. The guest on the show is Bruce Johnson a Tech Lead of GWT.&lt;p &gt;
The show is very good, and more technical than usual. Many themes that are near and dear to LtU are discussed. Here are some pointers:&lt;p &gt;
Bruce talks at length about the advantages of compiling from Java to JS, many of which arise from Java&#039;s static typing. He mainly talks about optimizations, but also about how static typing helps with tools in general (IDEs etc.). This was a subject of long and stormy debates here in the past.&lt;p &gt;
The advantages, from a software engineering standpoint, of building in Java vs. JS are discussed. This is directly related to the ongoing discusison here on the new programming-in-the-large features added to JS2. I wonder if someone will write a compiler from Java/GWT to JS2  at some point, which will enable projects to move to JS2 and jump ship on Java all together.&lt;p &gt;
Bruce mentions that since JS isn&#039;t class-based, and thus doesn&#039;t directly support the OO style many people are used to, there are many ways of translating common OO idioms into JS. This is, of course, the same type of dilemma the Scheme community has about many high level features. Cast as a question on OOP support the questions becomes is it better to provide language constructs that allow various libraries to add OO support in different ways, or to provide language support for a specific style. The same can be asked about a variety of features and programming styles, of course.&lt;p &gt;
Finally, Bruce mentions that as far as he knows no one thought about something like GWT before they did. Well, I for one, and I don&#039;t think I was the only one, talked many times (probably on LtU) about Javascript as a VM/assembly language of the browser, clearly thinking about JS as a target language. I admint I wasn&#039;t thinking aobut compiling Java... But then, I am not into writing Java, so why would I think about Java as the source language...&lt;/p&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/23">Cross language runtimes</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/24">DSL</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/8">Implementation</category>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Mon, 29 Oct 2007 04:53:56 +0000</pubDate>
</item>
<item>
 <title>ECMAScript 4 overview paper</title>
 <link>http://lambda-the-ultimate.org/node/2504</link>
 <description>&lt;p &gt;An &lt;a href=&quot;http://www.ecmascript.org/es4/spec/overview.pdf&quot;&gt;overview paper describing ECMAScript 4&lt;/a&gt; has been added to the ECMAScript site. It was recently announced on the mailing list:&lt;/p&gt;
&lt;blockquote &gt;&lt;p &gt;I&#039;m pleased to present you with an overview paper describing ES4 as the language currently stands. TG1 is no longer accepting proposals, we&#039;re working on the ES4 reference implementation, and we&#039;re expecting the standard to be finished in October 2008.&lt;br &gt;
...&lt;br &gt;
This paper is not a spec, it is *just* a detailed overview. Some features may be cut, others may be changed, and numerous details remain to be worked out, but by and large this is what TG1 expects the language to look like. Your comments on the paper are very much welcome. Please send bug reports directly to me, everything else to the list.&lt;/p&gt;&lt;/blockquote&gt;</description>
 <category domain="http://lambda-the-ultimate.org/taxonomy/term/31">Javascript</category>
 <pubDate>Mon, 22 Oct 2007 21:19:46 +0000</pubDate>
</item>
</channel>
</rss>
