1. Sean Wilkinson
  2. qmachine


qmachine / index.html

<!DOCTYPE html>
    index.html ~~
                                                        ~~ (c) SRW, 27 Feb 2013
<html lang="en">
    <meta charset="utf-8"/>
    <meta name="author" content="Sean Wilkinson"/>
    <title>Project Description: QMachine</title>
    <link rel="stylesheet" href="./print.css" media="print"/>
    <link rel="stylesheet" href="./screen.css" media="screen"/>
    <link rel="shortcut icon" href="https://www.qmachine.org/favicon.ico"/>
    <noscript>This page requires JavaScript.</noscript>
    <a id="github_ribbon" href="https://github.com/wilkinson/qmachine">
      <span>Fork me on GitHub!</span>

<p><a href="https://www.qmachine.org">QMachine</a> (QM) is a web service that uses
<a href="http://wilkinson.github.com/quanah">Quanah</a> to create a distributed computer
that can use ordinary web browsers as ephemeral nodes. It contains three main
components: an API server, a web server, and a website. The API server and the
web server are both implemented in <a href="http://nodejs.org">Node.js</a> and available
for use in server environments via <a href="https://npmjs.org/package/qm">NPM</a>. The API
server supports <a href="http://www.w3.org/TR/cors/">CORS</a> and configurable persistent
storage for a variety of popular databases, including
<a href="http://couchdb.apache.org/">Apache CouchDB</a>,
<a href="http://www.mongodb.org/">MongoDB</a>, <a href="http://www.postgresql.org">PostgreSQL</a>,
<a href="http://redis.io">Redis</a>, and <a href="http://www.sqlite.org">SQLite</a>. The web server
exists only to serve the website. The website functions as an example browser
client for the QM API, and its implementation as static content written in
<a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">HTML5</a>,
<a href="http://www.w3.org/Style/CSS/Overview.en.html">CSS</a>, and
<a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf">JavaScript</a> allows it to be served out of memory by the web server for high
performance and used by ordinary web browsers for high portability. Parts of
the browser client are installable via Twitter&#39;s
<a href="http://twitter.github.com/bower/">Bower</a> package manager, but I have only
recently experimented with that. The analytical layer can also be used from
<a href="http://minervajs.org/site/index.html#!/view/qm">MinervaJS</a>.</p>

<p>There are several project &quot;mirrors&quot; available on
<a href="https://bitbucket.org/wilkinson/qmachine">Bitbucket</a>,
<a href="https://github.com/wilkinson/qmachine">GitHub</a>, and
<a href="https://qmachine.googlecode.com">Google Code</a>. Various project statistics are
available on <a href="https://github.com/wilkinson/qmachine/graphs">GitHub</a> and
<a href="https://www.ohloh.net/p/qm">Ohloh</a>, too.</p>

<p>I have done some preliminary investigation into app integration for</p>

<li>  <a href="https://chrome.google.com/webstore/detail/meagomakeegjimdibmlodmilfhplkjgp?utm_source=chrome-ntp-icon">Google Chrome</a></li>
<li>  <a href="http://apps.facebook.com/qmachine/">Facebook</a></li>
<li>  <a href="https://marketplace.firefox.com/app/qmachine/">Firefox Marketplace</a></li>
<li>  <a href="https://dev.twitter.com/apps/1755018/">Twitter</a></li>

<p>I am currently preparing several academic publications that explain some of the
design decisions behind QM, demonstrate the use of QM in a scientific workflow,
and elaborate on the future directions of QM. As in all my projects, the best
documentation is contained inline as comments within the source code. I have
written some tutorials recently, but I probably won&#39;t get around to releasing
them until early 2013.</p> 
    <script async src="https://www.qmachine.org/q.js"></script>