summaryrefslogtreecommitdiffstats
path: root/articles/january-2014-status/index.html
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-03-28 15:36:42 +0200
committerLoïc Hoguin <[email protected]>2016-03-28 15:36:42 +0200
commitfe3492a98de29942477b061cd02c92246f4bf85a (patch)
tree2255b796a657e6e4dfb72beec1141258d17f1220 /articles/january-2014-status/index.html
downloadninenines.eu-fe3492a98de29942477b061cd02c92246f4bf85a.tar.gz
ninenines.eu-fe3492a98de29942477b061cd02c92246f4bf85a.tar.bz2
ninenines.eu-fe3492a98de29942477b061cd02c92246f4bf85a.zip
Initial commit, new website system
Diffstat (limited to 'articles/january-2014-status/index.html')
-rw-r--r--articles/january-2014-status/index.html299
1 files changed, 299 insertions, 0 deletions
diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html
new file mode 100644
index 00000000..8c10f522
--- /dev/null
+++ b/articles/january-2014-status/index.html
@@ -0,0 +1,299 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="Loïc Hoguin based on a design from (Soft10) Pol Cámara">
+
+ <meta name="generator" content="Hugo 0.15" />
+
+ <title>Nine Nines: January 2014 status</title>
+
+ <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic' rel='stylesheet' type='text/css'>
+
+ <link href="/css/bootstrap.min.css" rel="stylesheet">
+ <link href="/css/99s.css" rel="stylesheet">
+
+ <link rel="shortcut icon" href="/img/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/ico/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/ico/apple-touch-icon-72.png">
+ <link rel="apple-touch-icon-precomposed" href="/img/ico/apple-touch-icon-57.png">
+
+
+</head>
+
+
+<body class="">
+ <header id="page-head">
+ <div id="topbar" class="container">
+ <div class="row">
+ <div class="span2">
+ <h1 id="logo"><a href="/" title="99s">99s</a></h1>
+ </div>
+ <div class="span10">
+
+ <div id="side-header">
+ <nav>
+ <ul>
+ <li class="active"><a title="Hear my thoughts" href="/articles">Articles</a></li>
+ <li><a title="Watch my talks" href="/talks">Talks</a></li>
+ <li><a title="Read the docs" href="/docs">Documentation</a></li>
+ <li><a title="Request my services" href="/services">Consulting & Training</a></li>
+ </ul>
+ </nav>
+ <ul id="social">
+ <li>
+ <a href="https://github.com/ninenines" title="Check my Github repositories"><img src="/img/ico_github.png" data-hover="/img/ico_github_alt.png" alt="Github"></a>
+ </li>
+ <li>
+ <a title="Keep in touch!" href="http://twitter.com/lhoguin"><img src="/img/ico_microblog.png" data-hover="/img/ico_microblog_alt.png"></a>
+ </li>
+ <li>
+ <a title="Contact me" href="mailto:[email protected]"><img src="/img/ico_mail.png" data-hover="/img/ico_mail_alt.png"></a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+</header>
+
+<div id="contents">
+<div class="container">
+<div class="row">
+<div class="span9 maincol">
+
+<article class="blog_item">
+<header>
+ <h1 class="lined-header"><span>January 2014 status</span></h1>
+ <p class="date">
+ <span class="day">07</span>
+ <span class="month">Jan</span>
+ </p>
+</header>
+
+<div class="paragraph"><p>I will now be regularly writing posts about project status, plans
+and hopes for the future.</p></div>
+<div class="paragraph"><p>Before that though, there&#8217;s one important news to share.</p></div>
+<div class="paragraph"><p>Until a year ago all development was financed through consulting
+and development services. This worked alright but too much time was
+spent doing things that didn&#8217;t benefit the open source projects.
+And that didn&#8217;t make me happy at all. Because I like being happy
+I stopped that for the most part and spent the year figuring things
+out, experimenting and discussing with people about it.</p></div>
+<div class="paragraph"><p>What makes me happy is answering these "what if" questions.
+Ranch and Cowboy are a direct product of that, as they originate
+from the "what if we could have a server running different protocols
+on different ports but all part of the same application?"; Erlang.mk
+is a bit different: "this works great for me, what if it could
+become the standard solution for building Erlang applications?".</p></div>
+<div class="paragraph"><p>When I successfully answer the question, this becomes a project
+that may end up largely benefiting the Erlang community. I love
+Erlang and I love enabling people to build awesome products based
+on my projects. It&#8217;s a lot more rewarding than activities like
+consulting where you only help one company at a time. And it&#8217;s
+also a much better use of my time as this has a bigger impact on
+the community.</p></div>
+<div class="paragraph"><p>The hard part is to figure out how to be able to spend 100%
+of the time on projects that you basically give away for free,
+and still be able to afford living.</p></div>
+<div class="paragraph"><p>The immediate solution was getting work sponsored by the
+<a href="http://www.leofs.org/">LeoFS project</a>. LeoFS is a great
+distributed file storage that I can only recommend to anyone who
+needs to store files or large pieces of data. The sponsorship
+works pretty great, and spurred development of the SPDY code in
+Cowboy amongst other things, plus a couple upcoming projects
+done more recently and getting a final touch before release.</p></div>
+<div class="paragraph"><p>It turns out sponsoring works great. So I&#8217;m thinking of
+expanding on it and hopefully get enough sponsoring for fulltime
+open source development. So I figured out a few things that
+can give incentive to companies willing to sponsor.</p></div>
+<div class="paragraph"><p>Sponsors can <em>request that a particular version of Cowboy
+be maintained indefinitely</em> (as long as they&#8217;re sponsoring).
+This means fixes will be backported. This doesn&#8217;t include
+features although I can take requests depending on feasability.</p></div>
+<div class="paragraph"><p>Sponsors can <em>have a direct, private line of communication</em>,
+useful when they need help debugging or optimizing their product.</p></div>
+<div class="paragraph"><p>Sponsors can <em>get their name associated with one of the
+project</em> and get a good standing in the community thanks
+to this. They would be featured in the README of the project
+which is viewed by hundreds of developers daily.</p></div>
+<div class="paragraph"><p>Sponsors can <em>be listed on this website</em>. I will modify
+the front page when we get a few more sponsors, they will be
+featured below the carousel of projects.</p></div>
+<div class="paragraph"><p>Please <a href="mailto:[email protected]">contact us</a> if
+you are interested in sponsoring, and say how much you are willing
+to sponsor. The goal here is only to have enough money to make a
+living and attend a few conferences. There&#8217;s an upper limit in the
+amount needed per year, so the more sponsors there are the cheaper
+it becomes to everyone.</p></div>
+<div class="paragraph"><p>The upper limit stems from the new legal entity that will replace
+the current Nine Nines. This is mostly to lower the legal costs and
+simplify the administrative stuff and allow me to dedicate all my
+time on what&#8217;s important. From your point of view it&#8217;s business as
+usual.</p></div>
+<div class="paragraph"><p>Now on to project statuses and future works.</p></div>
+<div class="sect1">
+<h2 id="_cowboy">Cowboy</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Cowboy is getting ready for a 1.0 release. Once multipart support
+is in, all that&#8217;s left is finishing the guide, improving tests and
+finishing moving code to the cowlib project. I hope everything will
+be ready around the time R17B is released.</p></div>
+<div class="paragraph"><p>I already dream of some API breaking changes after 1.0, which
+would essentially become 2.0 when they&#8217;re done. An extensive survey
+will be setup after the 1.0 release to get more information on what
+people like and don&#8217;t like about the API.</p></div>
+<div class="paragraph"><p>And of course, when clients start implementing HTTP/2.0 then we
+will too.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_ranch">Ranch</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Ranch is also getting close to 1.0. I am currently writing a
+test suite for upgrades. After that I also would like to write
+a chaos_monkey test suite and add a getting started chapter to the
+guide.</p></div>
+<div class="paragraph"><p>Ranch is pretty solid otherwise, it&#8217;s hard to foresee new
+features at this point.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_erlang_mk">Erlang.mk</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>I didn&#8217;t expect this project to become popular. Glad it did though.</p></div>
+<div class="paragraph"><p>Windows support is planned, but will require GNU Make 4.
+Thankfully, it&#8217;s available at least through cygwin. Make,
+Git and Erlang will be the only required dependencies
+because the rest of the external calls will be converted to
+using Guile, a Scheme included since GNU Make 4. So it is
+Guile that will download the needed files, magically fill
+the list of modules in the <em>.app</em> file and so on, allowing
+us to provide a truly cross-platform solution without
+losing on the performance we benefit from using Make.</p></div>
+<div class="paragraph"><p>Also note that it is possible to check whether Guile
+is available so we will be able to fallback to the current
+code for older systems.</p></div>
+<div class="paragraph"><p>I am also thinking about adding an extra column to the package
+index, indicating the preferred tag or commit number to be used.
+This would allow us to skip the individual <code>dep</code> lines
+entirely if the information in the package index is good enough.
+And committing that file to your project would be the only thing
+needed to lock the dependencies. Of course if a <code>dep</code>
+line is specified this would instead override the file.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_alien_shaman">Alien Shaman</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This is the two-parts project requested by the LeoFS team.
+This is essentially a "distributed bigwig". I am hoping to
+have a prototype up in a few days.</p></div>
+<div class="paragraph"><p>Alien is the part that allows writing and enabling probes
+in your nodes. Probes send events which may get filtered before
+being forwarded to their destination. The events may be sent
+to a local process, a remote process, over UDP, TCP or SSL.
+Events may also be received by a process called a relay, which
+may be used to group or aggregate data before it is being sent
+over the network, reducing the footprint overall.</p></div>
+<div class="paragraph"><p>Shaman is the UI for it. It will ultimately be able to display
+any event as long as it&#8217;s configured to do so. Events may be logs,
+numeric values displayed on graphs updated in real time, lists of
+items like processes and so on.</p></div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_feedback">Feedback</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>That&#8217;s it for today! There will be another status update once
+Shaman is out. But for now I have to focus on it.</p></div>
+<div class="paragraph"><p>As always, please send feedback on the projects, this post,
+the sponsoring idea, anything really! Thanks.</p></div>
+</div>
+</div>
+
+</article>
+</div>
+
+<div class="span3 sidecol">
+<h3>More articles</h3>
+<ul id="articles-nav" class="extra_margin">
+
+ <li><a href="http://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li>
+
+ <li><a href="http://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li>
+
+ <li><a href="http://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li>
+
+ <li><a href="http://ninenines.eu/articles/on-open-source/">On open source</a></li>
+
+ <li><a href="http://ninenines.eu/articles/the-story-so-far/">The story so far</a></li>
+
+ <li><a href="http://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li>
+
+ <li><a href="http://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li>
+
+ <li><a href="http://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li>
+
+ <li><a href="http://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li>
+
+ <li><a href="http://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li>
+
+ <li><a href="http://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li>
+
+ <li><a href="http://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li>
+
+ <li><a href="http://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li>
+
+ <li><a href="http://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li>
+
+ <li><a href="http://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li>
+
+ <li><a href="http://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li>
+
+ <li><a href="http://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li>
+
+</ul>
+
+<h3>Feedback</h3>
+<p>Feel free to <a href="mailto:[email protected]">email us</a>
+if you found any mistake or need clarification on any of the
+articles.</p>
+
+</div>
+</div>
+</div>
+</div>
+
+ <footer>
+ <div class="container">
+ <div class="row">
+ <div class="span6">
+ <p id="scroll-top"><a href="#">↑ Scroll to top</a></p>
+ <nav>
+ <ul>
+ <li><a href="mailto:[email protected]" title="Contact us">Contact us</a></li><li><a href="https://github.com/ninenines/ninenines.github.io" title="Github repository">Contribute to this site</a></li>
+ </ul>
+ </nav>
+ </div>
+ <div class="span6 credits">
+ <p><img src="/img/footer_logo.png"></p>
+ <p>Copyright &copy; Loïc Hoguin 2012-2016</p>
+ </div>
+ </div>
+ </div>
+ </footer>
+
+
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
+ <script src="/js/bootstrap-carousel.js"></script>
+ <script src="/js/bootstrap-dropdown.js"></script>
+ <script src="/js/custom.js"></script>
+ </body>
+</html>
+