<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>numerical processing with javascript and json</description><title>cloudlab.io</title><generator>Tumblr (3.0; @cloudlab)</generator><link>http://blog.cloudlab.io/</link><item><title>Launch Lessons</title><description>&lt;p&gt;Since &lt;a href="http://blog.cloudlab.io/post/18006613122/reveal" target="_blank"&gt;launching cloudlab&lt;/a&gt; we&amp;#8217;ve gathered a wealth of lessons on what to do (and not to do). In this update, we&amp;#8217;re going to share some interesting analytics and some hard-learnt lessons with you in the hope you can see where we&amp;#8217;re going with cloudlab.&lt;/p&gt;

&lt;p&gt;We chose &lt;a href="http://news.ycombinator.com/item?id=3616308" target="_blank"&gt;Hacker News&lt;/a&gt; (HN) as our first point of release. HN is a great site to get brutally honest feedback and as far as prospective customers go, represents the scene we&amp;#8217;re primarily targeting. After a good half-day, it also showed up on &lt;a href="http://www.reddit.com/r/programming/comments/q0ebi/cloudlabio_numerical_processing_with_javascript/" target="_blank"&gt;Reddit&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Graphs &amp;amp; Numbers&lt;/h4&gt;

&lt;p&gt;Both of these sites (and the aggregators following them) generated a nice bit of traffic:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://media.tumblr.com/tumblr_m0ndogYfXL1r4wtck.png" target="_blank"&gt;
&lt;img src="http://media.tumblr.com/tumblr_m0ndogYfXL1r4wtck.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In terms of conversion (new users), if we take the number of visits as ~950 and the number of new users as ~50, roughly 5.2% of users who saw the landing page decided to sign up. Awesome!&lt;/p&gt;

&lt;p&gt;Looking a little deeper at user engagement the result was surprising:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://media.tumblr.com/tumblr_m0ndqh7y7P1r4wtck.png" target="_blank"&gt;
&lt;img src="http://media.tumblr.com/tumblr_m0ndqh7y7P1r4wtck.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Of the users who signed-up, only 25% of actually made it to the meat of the product, the IDE&lt;sup id="fnref:p19041075560-1"&gt;&lt;a href="#fn:p19041075560-1" rel="footnote" target="_blank"&gt;1&lt;/a&gt;&lt;/sup&gt;. This is the part of the product that is the most awesome, yet only one percent of all visitors made it there!&lt;/p&gt;

&lt;p&gt;Demographically, the U.S. and Europe represented the majority of visits which lines up with expectations:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://media.tumblr.com/tumblr_m0ndserEwS1r4wtck.png" target="_blank"&gt;
&lt;img src="http://media.tumblr.com/tumblr_m0ndserEwS1r4wtck.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nearly three quarters of the traffic directed at the server was from a WebKit browser, with the next ~25% being Mozilla-based:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://media.tumblr.com/tumblr_m0ndv48Pmv1r4wtck.png" target="_blank"&gt;
&lt;img src="http://media.tumblr.com/tumblr_m0ndv48Pmv1r4wtck.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Good news is that the server held-up and had no troubles with our provider &lt;a href="http://appharbor.com" target="_blank"&gt;AppHarbor&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;First Impressions Last&lt;/h4&gt;

&lt;blockquote style="margin-top:15px;"&gt;
&lt;p&gt;What a turd. Since they&amp;#8217;re apparently too good for their &amp;#8220;links&amp;#8221; to be actual links&lt;/p&gt;
&lt;pre&gt;&amp;lt;a data-target="#registerModal" data-toggle="modal" class="btn btn-large btn-success"&amp;gt;&lt;/pre&gt;
&lt;small&gt;a user with noscript&lt;/small&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Analysis&lt;/em&gt;: we use &lt;a href="http://twitter.github.com/bootstrap/" target="_blank"&gt;Bootstrap&lt;/a&gt; extensively&lt;sup id="fnref:p19041075560-2"&gt;&lt;a href="#fn:p19041075560-2" rel="footnote" target="_blank"&gt;2&lt;/a&gt;&lt;/sup&gt;. Opening modal dialogs can be done be done with a &lt;code&gt;href&lt;/code&gt; or a data attribute. This was a usability problem that was foreseen but put on the backburner - who cares about the landing page when the meat of the work is behind the scenes? &lt;strong&gt;USERS CARE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Solution&lt;/em&gt;: it sounds elementary - always make sure that you fallback for a browser without JavaScript enabled. If you don&amp;#8217;t support their choice then at least let them know that they need it enabled, preferably somewhere visible.&lt;/p&gt;

&lt;blockquote style="margin-top:15px;"&gt;
&lt;p&gt;Sign in&lt;/p&gt;
&lt;p&gt;Register&lt;/p&gt;
&lt;p&gt;x Leave&lt;/p&gt;
&lt;p&gt;(sorry, I&amp;#8217;m sure it&amp;#8217;s a cool project, but I&amp;#8217;m not signing in to anything just to test it, unless it&amp;#8217;s really, really worth my time)&lt;/p&gt;
&lt;small&gt;a user with a good point&lt;/small&gt;
&lt;/blockquote&gt;

&lt;blockquote style="margin-top:15px;"&gt;
&lt;p&gt;&amp;#8230; the fixed password policy isn&amp;#8217;t really amusing. I guess you guys will track it and see what happens, but I bet that you&amp;#8217;ll notice a way depressed return user rate, because every time I&amp;#8217;ll want to log back in I&amp;#8217;ll need to go search through my email first, and I&amp;#8217;ll never really &amp;#8220;activate&amp;#8221; as a user after the first time or two playing around.&lt;/p&gt;
&lt;small&gt;a user with a very good point&lt;/small&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Analysis&lt;/em&gt;: trying to make registration painless is something you want. We thought that by sending passwords out in the mail and logging you in immediately, this would be as painless as possible. The fixed-password policy which account recovery easy while ensuring robust security. &lt;strong&gt;WRONG&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Solution&lt;/em&gt;: use &lt;a href="https://browserid.org" target="_blank"&gt;BrowserID&lt;/a&gt;. Don&amp;#8217;t have to worry about passwords or email verification.&lt;/p&gt;

&lt;h4&gt;Crux of the Matter&lt;/h4&gt;

&lt;p&gt;There was one major piece of feedback that really struck home:&lt;/p&gt;

&lt;blockquote style="margin-top:15px;"&gt;
&lt;p&gt;What kinds of data formats do you support, and how big can the data get? I have something like 5 terabytes of data lying around waiting to be analyzed. JSON doesn&amp;#8217;t really sound compelling when I&amp;#8217;m talking about huge matrices or gigs of timeseries data. &lt;/p&gt;
&lt;p&gt;If your scripting environment makes lots of assumptions about your platform in a way that makes it nonportable code, and you don&amp;#8217;t open-source it, it&amp;#8217;ll be hard to get people to make the investment and move projects onto your platform now knowing it could disappear at any time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We agree. Going down that path of making all data JSON in a RDBMS was a road that ended up being a dead end. To date, less than ten new sets of data have been uploaded. It&amp;#8217;s a monumental failure. People don&amp;#8217;t want to have to convert their data to JSON and then back again. It&amp;#8217;s a transport language&lt;sup id="fnref:p19041075560-3"&gt;&lt;a href="#fn:p19041075560-3" rel="footnote" target="_blank"&gt;3&lt;/a&gt;&lt;/sup&gt; dummy!&lt;/p&gt;

&lt;p&gt;So now we&amp;#8217;re going down the Dropbox route&lt;sup id="fnref:p19041075560-4"&gt;&lt;a href="#fn:p19041075560-4" rel="footnote" target="_blank"&gt;4&lt;/a&gt;&lt;/sup&gt;. You link your account and we pull and push files from your favorite provider. If you don&amp;#8217;t have a Dropbox account, they give you a 2GB one for free.  To enable this different way of treating data, we&amp;#8217;ve partially implemented a number of &lt;a href="http://www.commonjs.org/" target="_blank"&gt;CommonJS&lt;/a&gt; specifications.&lt;/p&gt;

&lt;h4&gt;Rounding Up&lt;/h4&gt;

&lt;p&gt;No plan survives battle, and no launch goes according to plan. Feedback, no matter how harsh, is something that validates and disproves any preconceived notions you have about what you&amp;#8217;re trying to make. Revel in it and most importantly, &lt;em&gt;learn from it&lt;/em&gt;.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p19041075560-1"&gt;
&lt;p&gt;&lt;strong&gt;I&lt;/strong&gt;ntegrated &lt;strong&gt;D&lt;/strong&gt;evelopment &lt;strong&gt;E&lt;/strong&gt;nvironment &lt;a href="#fnref:p19041075560-1" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p19041075560-2"&gt;
&lt;p&gt;We need a designer/developer. More on that soon. &lt;a href="#fnref:p19041075560-2" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p19041075560-3"&gt;
&lt;p&gt;Yes, yes, strictly it is a superset of JavaScript. &lt;a href="#fnref:p19041075560-3" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p19041075560-4"&gt;
&lt;p&gt;If you&amp;#8217;re interested in testing out this new Dropbox/CommonJS functionality, &lt;a href="mailto:cloudlab.io@seditious-tech.com" target="_blank"&gt;drop us a line&lt;/a&gt; &lt;a href="#fnref:p19041075560-4" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://blog.cloudlab.io/post/19041075560</link><guid>http://blog.cloudlab.io/post/19041075560</guid><pubDate>Fri, 09 Mar 2012 23:23:52 -0500</pubDate><category>Roadmap</category><category>Feedback</category></item><item><title>
  

After many months of work, but we&amp;#8217;re ready to unveil our cloudlab.io alpha!

Cloudlab is...</title><description>&lt;div style="text-align:center"&gt;
  &lt;img src="http://media.tumblr.com/tumblr_lzqh0tXmEN1r4wtck.png"/&gt;&lt;/div&gt;

&lt;p&gt;After many months of work, but we&amp;#8217;re ready to unveil our &lt;a href="http://cloudlab.io" target="_blank"&gt;cloudlab.io&lt;/a&gt; alpha!&lt;/p&gt;

&lt;p&gt;Cloudlab is a numerical processing environment built around cloud storage and cloud computation, but without the nasty parts. You put your data in as JSON&lt;sup id="fnref:p18006613122-1"&gt;&lt;a href="#fn:p18006613122-1" rel="footnote" target="_blank"&gt;1&lt;/a&gt;&lt;/sup&gt; and process it using ES5 JS bound to native math routines. You can store your tools (scripts) with us, and even execute your tools remotely. Think of it as a hybrid between &lt;a href="http://wikipedia.org/wiki/MATLAB" target="_blank"&gt;Matlab&lt;/a&gt;, &lt;a href="http://parse.com" target="_blank"&gt;Parse&lt;/a&gt; and &lt;a href="http://jsfiddle.net" target="_blank"&gt;JSFiddle&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Right now, pricing is cheap (free&lt;sup id="fnref:p18006613122-2"&gt;&lt;a href="#fn:p18006613122-2" rel="footnote" target="_blank"&gt;2&lt;/a&gt;&lt;/sup&gt;). In the future we will price accounts according to a combination of physical storage, computational complexity and API requests.&lt;/p&gt;

&lt;h2&gt;Caveats&lt;/h2&gt;

&lt;p&gt;Be forewarned: this is a public alpha test. We&amp;#8217;re still working on many things and there are some bugs. If you have data that is essential to you, do not rely on cloudlab (just yet) to manage it for you. Additionally, the server&lt;sup id="fnref:p18006613122-3"&gt;&lt;a href="#fn:p18006613122-3" rel="footnote" target="_blank"&gt;3&lt;/a&gt;&lt;/sup&gt; may experience heavy periods of traffic and interactive sessions may reset more. This is natural and will go away once we can afford to scale it up.&lt;/p&gt;

&lt;p&gt;If you believe you want something like cloudlab.io to exist into the future, as a user you can donate to us&lt;sup id="fnref:p18006613122-4"&gt;&lt;a href="#fn:p18006613122-4" rel="footnote" target="_blank"&gt;4&lt;/a&gt;&lt;/sup&gt; which will fund future development of the software and hosting resources. If you are interested in investing in this operation, please contact &lt;a href="mailto://cloudlab.io@seditious-tech.com" target="_blank"&gt;this address&lt;/a&gt;.&lt;/p&gt;

&lt;div class="footnotes"&gt;
&lt;hr&gt;&lt;ol&gt;&lt;li id="fn:p18006613122-1"&gt;
&lt;p&gt;API is currently under development but will support more data formats in the future &lt;a href="#fnref:p18006613122-1" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p18006613122-2"&gt;
&lt;p&gt;A free account is for life and you get a megabyte of tools and data (each) &lt;a href="#fnref:p18006613122-2" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p18006613122-3"&gt;
&lt;p&gt;Yes, a single server &lt;a href="#fnref:p18006613122-3" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;li id="fn:p18006613122-4"&gt;
&lt;p&gt;Pinboard has &lt;a href="http://blog.pinboard.in/2011/12/don_t_be_a_free_user/" target="_blank"&gt;something to say on the matter&lt;/a&gt; &lt;a href="#fnref:p18006613122-4" rev="footnote" target="_blank"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;</description><link>http://blog.cloudlab.io/post/18006613122</link><guid>http://blog.cloudlab.io/post/18006613122</guid><pubDate>Tue, 21 Feb 2012 07:17:00 -0500</pubDate><category>news</category><category>announcement</category></item><item><title>Interfacing with Cloudlab</title><description>&lt;p&gt;Developing applications that do interesting things with the potential to make exciting things happen is the bread and butter of the hacker. So with that in mind, we&amp;#8217;ve been working on ways to allow our users the ability to fully harness the platform&amp;#8217;s capabilities by providing powerful yet simple developer tools.&lt;/p&gt;

&lt;p&gt;Just in the past few days we&amp;#8217;ve integrated our REST API into &lt;a href="http://cloudlab.io" target="_blank"&gt;cloudlab&lt;/a&gt;. This API provides an easy way to get your tools and data in and out of the system - basic &lt;a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete" target="_blank"&gt;CRUD&lt;/a&gt; stuff. Most excitingly, one final endpoint allows you to spawn a virtual instance of the cloudlab environment on the server side, which you can then integrate into your own numerical processing application using cloudlab as the service.&lt;/p&gt;

&lt;p&gt;Currently we&amp;#8217;ve only provided a simple .NET library that interfaces with cloudlab, which you can grab on &lt;a href="https://github.com/SeditiousTech/NCloudlab" target="_blank"&gt;GitHub&lt;/a&gt;. We haven&amp;#8217;t added serialisation / deserialization of the protocol data structures yet, as different JSON providers have different characteristics. This library was developed on Mono and should work in your cross-platform applications (Windows, Mac, Linux, iOS and Android via MonoTouch and Mono for Android).&lt;/p&gt;

&lt;p&gt;We&amp;#8217;ve also hacked-up a simple command line interface application that uses the aforementioned virtual instance to create a simple &lt;a href="http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop" target="_blank"&gt;REPL&lt;/a&gt;. This demonstration application was also developed using Mono and is available on &lt;a href="https://github.com/SeditiousTech/cloudlab-terminal" target="_blank"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For all of these features you will need your API key which can be found under the &lt;strong&gt;&lt;em&gt;Special&lt;/em&gt;&lt;/strong&gt; section of your &lt;a href="http://cloudlab.io/Account/" target="_blank"&gt;Account&lt;/a&gt;. We&amp;#8217;re very keen on getting this part right, so if you&amp;#8217;re a developer and you want to see something implemented or modified or want to create a binding to your favourite language of choice please contact us. We won&amp;#8217;t bite and we&amp;#8217;ll give you all the help you need to make it happen.&lt;/p&gt;</description><link>http://blog.cloudlab.io/post/16357856915</link><guid>http://blog.cloudlab.io/post/16357856915</guid><pubDate>Mon, 23 Jan 2012 13:46:38 -0500</pubDate><category>REST</category><category>API</category><category>Development</category></item><item><title>Benchmarking</title><description>&lt;p&gt;In trying to build a good replacement for other numerical processing applications, we&amp;#8217;ve needed to benchmark the performance of cloudlab versus other places in which JavaScript can be run to process numbers. The following table lists the result of five successive runs of &lt;code&gt;Benchmark.go&lt;/code&gt;&lt;/p&gt;

&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Browser&lt;/th&gt;
    &lt;th&gt;1&lt;/th&gt;
    &lt;th&gt;2&lt;/th&gt;
    &lt;th&gt;3&lt;/th&gt;
    &lt;th&gt;4&lt;/th&gt;
    &lt;th&gt;5&lt;/th&gt;
    &lt;th&gt;Avg&lt;/th&gt;
    &lt;th&gt;Total&lt;/th&gt;
    &lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Win7 Chrome 16&lt;/td&gt;        &lt;td&gt;8.44&lt;/td&gt;   &lt;td&gt;8.53&lt;/td&gt;   &lt;td&gt;8.33&lt;/td&gt;   &lt;td&gt;8.59&lt;/td&gt;   &lt;td&gt;8.44&lt;/td&gt;   &lt;td&gt;8.466&lt;/td&gt;   &lt;td&gt;42.33&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Win7 Safari 5.1&lt;/td&gt;      &lt;td&gt;11.51&lt;/td&gt;  &lt;td&gt;10.15&lt;/td&gt;  &lt;td&gt;10.19&lt;/td&gt;  &lt;td&gt;10.27&lt;/td&gt;  &lt;td&gt;10.51&lt;/td&gt;  &lt;td&gt;10.526&lt;/td&gt;   &lt;td&gt;52.63&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Win7 Firefox 9&lt;/td&gt;      &lt;td&gt;116.49&lt;/td&gt; &lt;td&gt;110.00&lt;/td&gt; &lt;td&gt;109.51&lt;/td&gt; &lt;td&gt;109.50&lt;/td&gt; &lt;td&gt;110.70&lt;/td&gt;  &lt;td&gt;111.24&lt;/td&gt;  &lt;td&gt;556.20&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mac 10.7 Chrome 16&lt;/td&gt;    &lt;td&gt;8.15&lt;/td&gt;   &lt;td&gt;8.08&lt;/td&gt;   &lt;td&gt;8.11&lt;/td&gt;   &lt;td&gt;8.12&lt;/td&gt;   &lt;td&gt;8.11&lt;/td&gt;   &lt;td&gt;8.114&lt;/td&gt;   &lt;td&gt;40.57&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mac 10.7 Safari 5.1&lt;/td&gt;   &lt;td&gt;7.04&lt;/td&gt;   &lt;td&gt;7.08&lt;/td&gt;   &lt;td&gt;7.04&lt;/td&gt;   &lt;td&gt;7.05&lt;/td&gt;   &lt;td&gt;7.06&lt;/td&gt;   &lt;td&gt;7.054&lt;/td&gt;   &lt;td&gt;35.27&lt;/td&gt; &lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Jurassic (2.2)&lt;/td&gt;   &lt;td&gt;566.12&lt;/td&gt; &lt;td&gt;563.16&lt;/td&gt; &lt;td&gt;563.31&lt;/td&gt; &lt;td&gt;566.12&lt;/td&gt; &lt;td&gt;565.50&lt;/td&gt; &lt;td&gt;564.842&lt;/td&gt; &lt;td&gt;2824.21&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pre&gt;&lt;code&gt;var Benchmark = {
  js: function() {
    'use strict';
    var _sts = (new Date()).getTime();

    var arr = [];
    for(var i = 0; i &amp;lt; 1000; i++) {
      arr[i] = i;
    }

    var _sum = 0;
    for(i = 0; i &amp;lt; 1000; i++) {
      for(var j = 0; j &amp;lt; 1000; j++) {
        _sum += arr[j];
      }
    }

    var _ets = (new Date()).getTime();
    return (_ets - _sts);
  },
  go: function() {
    'use strict';
    var _jsTotal = 0.0;
    var _start = (new Date()).getTime();

    for(var i = 0; i &amp;lt; 100; i++) {
      _jsTotal += this.js();
    }
    return {
      'Javascript': _jsTotal/100,
      'Total': (new Date()).getTime() - _start
    };
  }
};
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;No real surprises here, although we expected more from the latest Firefox. Now, if instead we use cloudlab&amp;#8217;s built-in &lt;code&gt;Vector&lt;/code&gt; type with it&amp;#8217;s native-backed math, we get a different result:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lx74j9ABil1r4wtck.png" alt="Graph Results" title="Native Math Results"/&gt;&lt;/p&gt;

&lt;p&gt;This graph represents 250 runs of &lt;code&gt;Benchmark.go&lt;/code&gt; using the native math provider we&amp;#8217;ve hooked-up to Jurassic. Performance is variable, but excluding the two outliers, it ranges from as fast as the browsers to ~33% faster. So it&amp;#8217;s mostly faster (we&amp;#8217;re working on that), but you also get some awesome math:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;native: function() {
    'use strict';
    var _sts = (new Date()).getTime();

    var vec = new Vector(1000);
    for(var i = 0; i &amp;lt; 1000; i++) {
      vec.v(i,i);
    }

    var _sum = 0;
    for(i = 0; i &amp;lt; 1000; i++) {
       _sum = vec.sum();
    }

    var _ets = (new Date()).getTime();
    return (_ets - _sts);
  },
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;We love math and Javascript sorely needs more of it. We&amp;#8217;re hoping to really make hard math easy and let you process &amp;#8216;Big Data&amp;#8217; using the tools of the web.&lt;/p&gt;</description><link>http://blog.cloudlab.io/post/15211899560</link><guid>http://blog.cloudlab.io/post/15211899560</guid><pubDate>Mon, 02 Jan 2012 19:35:23 -0500</pubDate><category>benchmarks</category><category>behind the scenes</category><category>javascript</category></item></channel></rss>

