<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Javascript on Bruno Pedro</title><link>https://brunopedro.com/tags/javascript/</link><description>Recent content in Javascript on Bruno Pedro</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 08 May 2018 10:00:15 -0700</lastBuildDate><atom:link href="https://brunopedro.com/tags/javascript/index.xml" rel="self" type="application/rss+xml"/><item><title>Speaking at the first BarcelonaJS meetup</title><link>https://brunopedro.com/2013/01/22/barcelonajs-meetup/</link><pubDate>Tue, 22 Jan 2013 17:53:10 +0000</pubDate><guid>https://brunopedro.com/2013/01/22/barcelonajs-meetup/</guid><description>&lt;p>I&amp;rsquo;ll be speaking at the first &lt;a href="http://barcelonajs.org/" title="BarcelonaJS">BarcelonaJS&lt;/a> meetup on January 30th in &lt;a href="http://www.mob-barcelona.com/" title="MOB">MOB&lt;/a>, [Barcelona](&lt;a href="http://maps.google.com/maps?ll=41.3833333333,2.18333333333&amp;amp;spn=0.1,0.1&amp;amp;q=41.3833333333,2.18333333333">http://maps.google.com/maps?ll=41.3833333333,2.18333333333&amp;amp;spn=0.1,0.1&amp;amp;q=41.3833333333,2.18333333333&lt;/a> (Barcelona)&amp;amp;t=h &amp;ldquo;Barcelona&amp;rdquo;).&lt;/p>
&lt;p>I&amp;rsquo;ll be presenting &lt;a href="http://brunopedro.com/2011/01/05/node-fs/" title="node-fs">node-fs&lt;/a> and talking about my experience trying to fix the common problem of recursive directory creation, failing to get it accepted into the core of &lt;a href="http://nodejs.org/" title="node.js">node.js&lt;/a>, and planned features for node-fs.&lt;/p>
&lt;p>&lt;img src="https://raw.github.com/voodootikigod/logo.js/master/barcelonajs/barcelona-js.png" alt="BarcelonaJS">&lt;/p>
&lt;p>Other speakers include &lt;a href="http://twitter.com/hardlifeofapo" title="Pablo Casado">Pablo Casado&lt;/a>, who will be talking about how to start with node.js, and also &lt;a href="http://twitter.com/jordiromero" title="Jordi Romero">Jordi Romero&lt;/a>, discussing a hybrid solution that leverages node.js and &lt;a href="http://rubyonrails.org/" title="Ruby on Rails">Rails&lt;/a>.&lt;/p></description></item><item><title>JavaScript filesystem database</title><link>https://brunopedro.com/2010/12/21/javascript-fs-db/</link><pubDate>Tue, 21 Dec 2010 18:33:00 +0000</pubDate><guid>https://brunopedro.com/2010/12/21/javascript-fs-db/</guid><description>&lt;p>I couldn&amp;rsquo;t resist and, after many conversations with &lt;a href="http://mvalente.eu/" title="Mário Valente">Mário Valente&lt;/a>, I challenged myself to build a complete JavaScript filesystem based database from scratch. In short, something like &lt;a href="http://couchdb.org" title="CouchDB">CouchDB&lt;/a> but written in JavaScript and using a filesystem approach for document storage.&lt;/p>
&lt;p>Some characteristics of this new database system:&lt;/p>
&lt;ul>
&lt;li>fully written in JavaScript: &lt;a href="http://nodejs.org/" title="nodeJS">nodeJS&lt;/a> is my choice for its architecture and portability;&lt;/li>
&lt;li>every document must contain only &lt;a href="http://www.json.org/" title="JSON">JSON&lt;/a> data;&lt;/li>
&lt;li>every document can be manipulated on the filesystem: the idea is to allow someone to edit a document using &lt;a href="http://www.vim.org/" title="vim">vim&lt;/a>, for instance, without breaking anything. It also lets you easily backup, move or replicate your data without creating a heavy load on the database;&lt;/li>
&lt;li>the underlying filesystem can be changed: changing the underlying filesystem offers numerous possibilities, like easy distribution (using &lt;a href="http://www.openafs.org/" title="OpenAFS">OpenAFS&lt;/a>, &lt;a href="http://www.xtreemfs.org/" title="XTREEMFS">XTREEMFS&lt;/a> or others), replication (using &lt;a href="http://code.google.com/p/finefs/" title="finefs">finefs&lt;/a> or others), and even attaching different backends (using &lt;a href="http://fuse.sourceforge.net/" title="FUSE">FUSE&lt;/a>, for example);&lt;/li>
&lt;li>the system must be available through an HTTP &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" title="REST">REST&lt;/a> interface: this makes it very easy to immediately integrate the system into any existing applications. Bonus points if the API is compatible with CouchDB;&lt;/li>
&lt;li>queries must be performed using a &lt;a href="http://en.wikipedia.org/wiki/MapReduce" title="MapReduce">MapReduce&lt;/a> approach: this should make it very easy to perform queries on a large dataset.&lt;/li>
&lt;/ul>
&lt;p>So, right now I&amp;rsquo;m half way through it. I managed to write the backend and I&amp;rsquo;m on my way to the HTTP REST interface. I&amp;rsquo;ll create a github repo after I have something functional that can be easily built and tested.&lt;/p></description></item><item><title>DecentralizedAddresses Chrome extension</title><link>https://brunopedro.com/2010/03/08/decentralizedaddresses/</link><pubDate>Mon, 08 Mar 2010 14:24:36 +0000</pubDate><guid>https://brunopedro.com/2010/03/08/decentralizedaddresses/</guid><description>&lt;p>After &lt;a href="https://brunopedro.com/2010/02/16/decentralized-replies/">much&lt;/a> &lt;a href="https://brunopedro.com/2010/02/15/google-buzz-synta/">discussion&lt;/a> around the @replies subject I started thinking about a system that could automatically resolve social network addresses no matter where they appear. I then decided to try the approach of writing a &lt;a href="http://www.google.com/chrome/">Chrome&lt;/a> extension that could do the job.&lt;/p>
&lt;p>The &lt;a href="http://github.com/bpedro/DecentralizedAddresses">DecentralizedAddresses&lt;/a> extension is in development and is available on &lt;a href="http://github.com">github&lt;/a> for anyone to contribute. As my JavaScript skills are not very good, any help would be highly appreciated.&lt;/p></description></item></channel></rss>