<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2486761724251097865</id><updated>2011-11-27T15:27:53.569-08:00</updated><category term='docs'/><category term='cross-site scripting'/><category term='sql injection'/><category term='security'/><title type='text'>ESXX - Friendly Server-side JavaScript</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-3346753533020776176</id><published>2009-11-19T12:39:00.000-08:00</published><updated>2009-11-19T13:00:05.080-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cross-site scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='sql injection'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>90% of all web apps are broken</title><summary type='text'>A couple of weeks ago, µ ran an article that stated that nice out of ten web applications are broken from a security standpoint. Half of the volunabilities were SQL injections and Cross-site scriping problems.A few days later, hackers break in to a Brazilian power grid operator, using, you guessed it, an SQL injection attack.Seriously, isn't is about time we stop accepting these kinds of failures</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/3346753533020776176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=3346753533020776176' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3346753533020776176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3346753533020776176'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/11/90-of-all-web-apps-are-broken.html' title='90% of all web apps are broken'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-9096750489126616857</id><published>2009-06-14T13:22:00.000-07:00</published><updated>2010-08-08T05:34:21.146-07:00</updated><title type='text'>Using Apache's HttpClient on Google App Engine</title><summary type='text'>If you, like me, have tried to use Google's URL Fetch Java API on the Google App Engine, you've probably been disappointed. Sure, it's a small, clean API, but it's totally feature-less. The most advanced thing it supports seems to be ... well, it can follow redirects automatically. Wow. Cookies? Authentication? Forget it.In ESXX, I use Apache's HttpClient 4, and it works really well. Wouldn't it </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/9096750489126616857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=9096750489126616857' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/9096750489126616857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/9096750489126616857'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/06/using-apaches-httpclient-on-google-app.html' title='Using Apache&apos;s HttpClient on Google App Engine'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-6797219199834970684</id><published>2009-06-06T16:37:00.000-07:00</published><updated>2009-06-06T16:47:15.105-07:00</updated><title type='text'>ESXX on Google App Engine</title><summary type='text'>I got most of ESXX running on Google App Engine today! How cool is that?Most of the code is in the subversion repository already. I'll try to finish the port as soon as possible and also add seamless support for Google's HTTP client APIs. Once fully checked in, you too can deploy ESXX + your custom JavaScript apps on GAE.In the meantime, have a look at http://esxx-demo.appspot.com/.The </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/6797219199834970684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=6797219199834970684' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6797219199834970684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6797219199834970684'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/06/esxx-on-google-app-engine.html' title='ESXX on Google App Engine'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-5920594001712940607</id><published>2009-06-06T05:33:00.000-07:00</published><updated>2009-06-06T06:36:06.986-07:00</updated><title type='text'>ThreadPoolExecutor deadlocks</title><summary type='text'>I'm currently trying to get ESXX running on Google's App Engine. One of the problems are that GAE won't let you create background threads or timers, something which most applications, including ESXX, often do.My initial plan was to switch from a plain ThreadPoolExecutor and Timers to a ScheduledExecutorService. Once done, I would write a GAE-specific, single-threaded version of that class tries </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/5920594001712940607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=5920594001712940607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5920594001712940607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5920594001712940607'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/06/threadpoolexecutor-deadlocks.html' title='ThreadPoolExecutor deadlocks'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-5944145308822804541</id><published>2009-05-24T05:05:00.000-07:00</published><updated>2009-05-24T05:35:44.476-07:00</updated><title type='text'>Scaling up with GoGrid</title><summary type='text'>My small GoGrid experiment the other day made me curios. Assume the blog I put online became really popular. How would my deployment cope, and how would I be able to increase capacity?So I figured I'd script a small benchmark. Assume all visitors land on the Blog's front page, and that half of the visitors click on the first post to read it comments. Finally, assume a third of those add a comment</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/5944145308822804541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=5944145308822804541' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5944145308822804541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5944145308822804541'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/05/scaling-up-with-gogrid.html' title='Scaling up with GoGrid'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yYD4eEpFer8/Shk-_EPYaPI/AAAAAAAAAAs/uWPjx0kmHMc/s72-c/AjaxBlogScaling.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-3986211177639023567</id><published>2009-05-22T09:04:00.000-07:00</published><updated>2009-05-24T03:09:13.434-07:00</updated><title type='text'>From localhost to live in 60 minutes using GoGrid</title><summary type='text'>I made an experiment today. The question I wanted to answer was this:Given a locally developed ESXX application, running on my laptop, how long would it take to go live, assuming you own no servers or Internet connection suitable for such deployment?For this, I turned to my favourite grid/cloud service, GoGrid. GoGrid is pretty amazing. With just a few clicks in their admin UI, you can create all</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/3986211177639023567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=3986211177639023567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3986211177639023567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3986211177639023567'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/05/from-localhost-to-live-in-60-minutes.html' title='From localhost to live in 60 minutes using GoGrid'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-5439078074087576887</id><published>2009-05-21T11:56:00.000-07:00</published><updated>2009-05-21T12:06:09.653-07:00</updated><title type='text'>ESXX advances into beta</title><summary type='text'>Whoo, long time, no see ... It's been a while since the last blog post, but today, we celebrate the fact that ESXX is no longer considered alpha quality with an all-new look of esxx.org.I've already blogged about some of the new features in this release, but I just want to mention that there are now two tutorials available in the Wiki. The first one is very basic, while the second one </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/5439078074087576887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=5439078074087576887' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5439078074087576887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5439078074087576887'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/05/esxx-advances-into-beta.html' title='ESXX advances into beta'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-9132283770841772097</id><published>2009-02-22T03:47:00.000-08:00</published><updated>2009-02-22T03:56:21.993-08:00</updated><title type='text'>JavaScript web applications/browser services, the ESXX way</title><summary type='text'>In ESXX, the difference between a web service (a program that produces XML or JSON intended for other programs) and a web application or browser service (a program that produces HTML documents intended to be viewed by a human using a web browser) is minimal. Basically, it's only the data format (XML/JSON vs HTML) that differs.It's a good idea to remember this when you build a web application. The</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/9132283770841772097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=9132283770841772097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/9132283770841772097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/9132283770841772097'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/javascript-web-applicationsbrowser.html' title='JavaScript web applications/browser services, the ESXX way'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-4302492850789255812</id><published>2009-02-21T05:32:00.000-08:00</published><updated>2009-02-21T05:47:41.671-08:00</updated><title type='text'>JavaScript request filters</title><summary type='text'>It's never to late to change your mind, and I'm happy to let you know that I checked in support for request filters in the trunk yesterday.Filters differ from handlers in that more than one filter may be executed for a given request. Before a request is serviced, a matching filter chain is built and all all matching filters are then executed in turn as part of the request handling.Each filter may</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/4302492850789255812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=4302492850789255812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/4302492850789255812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/4302492850789255812'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/javascript-request-filters.html' title='JavaScript request filters'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-204104575396380699</id><published>2009-02-15T15:24:00.000-08:00</published><updated>2009-02-15T15:47:27.253-08:00</updated><title type='text'>JavaScript servlets</title><summary type='text'>Today, I checked in support for running ESXX  as a  inside servlet a Java EE application server. Why, someone may ask, run an application server within another application server?Well, for starters, it allows you to use ESXX with your existing infrastructure and tool set. If you're already using an app server such as Glassfish or Tomcat, you can add modules powered by ESXX by rebuilding the war </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/204104575396380699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=204104575396380699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/204104575396380699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/204104575396380699'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/javascript-servlets.html' title='JavaScript servlets'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-5838881383986265203</id><published>2009-02-08T01:46:00.000-08:00</published><updated>2009-02-08T01:50:42.457-08:00</updated><title type='text'>JavaScript web services, the ESXX way</title><summary type='text'>By "web service", we mean a service that is intended to be used by a program, not directly by a human surfing the web with a web browser.To use ESXX as a web service engine, you first need to define what request handlers should be available. ESXX currently provides six kinds of handlers: HTTP, SOAP, stylesheet, timer, exit and error handlers. Handlers are defined using a section of the main </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/5838881383986265203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=5838881383986265203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5838881383986265203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5838881383986265203'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/javascript-web-services-esxx-way.html' title='JavaScript web services, the ESXX way'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-4121547927153525872</id><published>2009-02-06T12:57:00.000-08:00</published><updated>2009-02-06T13:44:30.997-08:00</updated><title type='text'>F-Script vs. JavaScript</title><summary type='text'>I read about F-Script on Ars Technica today and couldn't help wondering how the example might have looked like if written as an ESXX command line application. Something like this, perhaps?#!/usr/bin/env esxx-jswith (JavaImporter(java.awt, javax.swing)) {  function main() {    // Create the window    let window = new JFrame("TimeSetter");    window.setLayout(null);    window.setPreferredSize(new </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/4121547927153525872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=4121547927153525872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/4121547927153525872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/4121547927153525872'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/f-script-vs-javascript.html' title='F-Script vs. JavaScript'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yYD4eEpFer8/SYyuTrM8oaI/AAAAAAAAAAU/Trxj5BcNXEs/s72-c/TimeSetter.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-8578075952312156980</id><published>2009-02-05T14:19:00.000-08:00</published><updated>2009-02-06T12:04:02.292-08:00</updated><title type='text'>Server-side XML processing, the ESXX way</title><summary type='text'>I've continued to add more documentation to the wiki. Let's talk about server-side XML processing via XSL this time.With all due respect to command line applications, ESXX was designed for web applications.An ESXX web application is defined by an XML file and zero or more JavaScript handlers or XSLT stylesheets. The XML file may be any XML file, and it will be available as an E4X node in the </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/8578075952312156980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=8578075952312156980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/8578075952312156980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/8578075952312156980'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/server-side-xml-processing-esxx-way.html' title='Server-side XML processing, the ESXX way'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-6355109936685330198</id><published>2009-02-04T14:30:00.000-08:00</published><updated>2009-02-04T14:44:13.927-08:00</updated><title type='text'>JavaScript command line applications, the ESXX way</title><summary type='text'>Today, I added some documentation to the wiki about ESXX command line applications, and I though I'd post it here as well.An ESXX command line application is one or more JavaScript files that define a main() function in the global scope. It's common to also begin the main JavaScript with a shebang, and set the executable flag, so it can easily be executed from the Unix command line. /usr/bin/env </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/6355109936685330198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=6355109936685330198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6355109936685330198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6355109936685330198'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/javascript-command-line-applications.html' title='JavaScript command line applications, the ESXX way'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-6923460023271456123</id><published>2009-02-02T11:40:00.000-08:00</published><updated>2009-02-02T11:50:10.418-08:00</updated><title type='text'>What does "alpha" mean?</title><summary type='text'>You might wonder what the fact that ESXX is still in "alpha" stage means. Is it a constant crashing piece of crap?Far from it! ESXX has been used at a company (which shall remain unnamed for now) for almost six months, serving tens of thousands of user without problems.No, "alpha" simply means that the API's are not yet completely stable and might change slightly. For example, in the last release</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/6923460023271456123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=6923460023271456123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6923460023271456123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6923460023271456123'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/what-does-alpha-mean.html' title='What does &quot;alpha&quot; mean?'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-309257489099672468</id><published>2009-02-01T14:54:00.001-08:00</published><updated>2009-02-08T02:10:06.965-08:00</updated><title type='text'>Final alpha release?</title><summary type='text'>It's been quite a while, but a new release is finally available for download. This time, there are proper RPM and DEB packages, as well as Opensolaris IPS and Mac OSX PackageMaker packeges. And a Windows installer, as usual of course.Some of the highlights of the release include: Proper RPM (Fedora/RHEL), DEB (Debian/Ubuntu), PackageMaker (OSX) and IPS (Opensolaris) packages.dns, https URI </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/309257489099672468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=309257489099672468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/309257489099672468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/309257489099672468'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2009/02/final-alpha-release.html' title='Final alpha release?'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-8184279969271759307</id><published>2008-11-22T08:35:00.000-08:00</published><updated>2008-11-22T08:41:02.689-08:00</updated><title type='text'>Guns 'n Roses</title><summary type='text'>Chinese. Democracy. Is. Out.Just so you know. :-)PS. In that context, the lack of recent ESXX releases is not that bad, is it? But anyway, what will probably be the last alpha version will soon be available. Stay tuned.</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/8184279969271759307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=8184279969271759307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/8184279969271759307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/8184279969271759307'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/11/guns-n-roses.html' title='Guns &apos;n Roses'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-6368267286692946016</id><published>2008-09-27T02:03:00.000-07:00</published><updated>2008-09-27T02:06:06.391-07:00</updated><title type='text'>Minor release updated</title><summary type='text'>The last minor release unfortunately contained a bug that caused System.console() to return null in script mode, which is bad because I use it all the time to call the readPassword() method.I also fixed a problem with the internal HTTP server, which would mess up keep-alive connections when returning 1xx, 204 and 304 responses.Get it here.</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/6368267286692946016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=6368267286692946016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6368267286692946016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/6368267286692946016'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/09/minor-release-updated.html' title='Minor release updated'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-530132358287226473</id><published>2008-09-24T14:06:00.000-07:00</published><updated>2008-09-24T14:11:11.832-07:00</updated><title type='text'>New minor release</title><summary type='text'>I made a new minor release today, available here. There are not a lot of news, but I did fix some bugs and upgraded both HtmlCleaner and HttpClient.Unrelated, I also added some security information to the Wiki, ESXX — Security advantages. It's worth a read.</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/530132358287226473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=530132358287226473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/530132358287226473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/530132358287226473'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/09/new-minor-release.html' title='New minor release'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-5297530825336041510</id><published>2008-08-24T12:20:00.000-07:00</published><updated>2008-08-24T12:22:53.195-07:00</updated><title type='text'>More documentation</title><summary type='text'>More documentation has been added to the Wiki; specifically the Request, Response and URI classes have been (rudimentary) documented.</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/5297530825336041510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=5297530825336041510' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5297530825336041510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5297530825336041510'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/08/more-documentation.html' title='More documentation'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-964383077476664363</id><published>2008-08-21T09:02:00.001-07:00</published><updated>2008-08-24T12:24:21.612-07:00</updated><title type='text'>New binary release</title><summary type='text'>Today, I released the second binary release of ESXX. Go get your favourite server-side JavaScript platfrom while it is still hot!</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/964383077476664363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=964383077476664363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/964383077476664363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/964383077476664363'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/08/new-binary-release.html' title='New binary release'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-5020602297604538211</id><published>2008-08-07T08:50:00.000-07:00</published><updated>2008-08-07T12:00:24.295-07:00</updated><title type='text'>JMX support</title><summary type='text'>Today, I added initial JMX support to ESXX, which means that you can now use JConsole or VisualVM (with the MBeans plug-in) to view the loaded server-side Rhino-powered JavaScript applications, plus some statistics about them (when the app was (last re-) started, when it was last active, how many requests the app has handled and wall-clock execution time).Pretty neat. It's also possible to unload</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/5020602297604538211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=5020602297604538211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5020602297604538211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/5020602297604538211'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/08/jmx-support.html' title='JMX support'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-3125897046722742555</id><published>2008-08-05T05:52:00.000-07:00</published><updated>2008-08-05T14:27:30.324-07:00</updated><title type='text'>Using Apache's mod_cache with CGI or FastCGI</title><summary type='text'>I just though I would elaborate on the caching part in the last post, since I had a real hard time finding good information about this on the web.Scenario: You have a web application that produces static or semi-static content, and you'd like increase the performance and/or reduce the computing load.The first thing you need to do is to mark the produced content as cachable. This involves setting </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/3125897046722742555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=3125897046722742555' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3125897046722742555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3125897046722742555'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/08/using-apaches-modcache-with-cgi-or.html' title='Using Apache&apos;s mod_cache with CGI or FastCGI'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-1969513168912935880</id><published>2008-08-04T10:26:00.000-07:00</published><updated>2008-08-08T02:22:29.475-07:00</updated><title type='text'>Dog Food</title><summary type='text'>Time to eat my own dog food.I have finally converted esxx.org to use ESXX to generate the content, and it turned out more or less the way I expected it to. And not a single URL changed! Unless you knew, you couldn't tell that the pages are dynamically generated using JavaScript and XSLT.Except for the tiny configuration file and the XSLT stylesheet used, there are a few lines of code that loads </summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/1969513168912935880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=1969513168912935880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/1969513168912935880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/1969513168912935880'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/08/dog-food.html' title='Dog Food'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-3797665916468549398</id><published>2008-07-01T13:52:00.000-07:00</published><updated>2008-07-01T13:57:38.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><title type='text'>Documentation</title><summary type='text'>Today, I began adding some documentation on the Wiki. Rudimentary documentation about the runtime and the ESXX and Logger classes are now available.</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/3797665916468549398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=3797665916468549398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3797665916468549398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/3797665916468549398'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/07/documentation.html' title='Documentation'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2486761724251097865.post-732708807437619649</id><published>2008-07-01T13:27:00.000-07:00</published><updated>2008-07-01T13:37:23.966-07:00</updated><title type='text'>Welcome to the ESXX blog!</title><summary type='text'>This is a web log of interesting things that happens to ESXX, The friendly ECMAscript/XML Application Server. I'll try to write something whenever new features gets added, the document is updated or when a new release is made.Releases will (of course) also be announced as BerliOS Developer News.</summary><link rel='replies' type='application/atom+xml' href='http://esxx.blogspot.com/feeds/732708807437619649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2486761724251097865&amp;postID=732708807437619649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/732708807437619649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2486761724251097865/posts/default/732708807437619649'/><link rel='alternate' type='text/html' href='http://esxx.blogspot.com/2008/07/first-post.html' title='Welcome to the ESXX blog!'/><author><name>Leviticus</name><uri>http://www.blogger.com/profile/11934600432163494321</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
