diff options
author | Loïc Hoguin <[email protected]> | 2017-10-03 13:39:41 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2017-10-03 13:39:41 +0200 |
commit | b5d4cb91f80c833795a2d87050c3674bb7aecdc5 (patch) | |
tree | 62bf0ad8326006fcd3407fcb7c34c844c0dc0874 /articles/january-2014-status/index.html | |
parent | 1f8d51dd2692fc3978080419987bbe4d49a41a90 (diff) | |
download | ninenines.eu-b5d4cb91f80c833795a2d87050c3674bb7aecdc5.tar.gz ninenines.eu-b5d4cb91f80c833795a2d87050c3674bb7aecdc5.tar.bz2 ninenines.eu-b5d4cb91f80c833795a2d87050c3674bb7aecdc5.zip |
Update Hugo, docs
Diffstat (limited to 'articles/january-2014-status/index.html')
-rw-r--r-- | articles/january-2014-status/index.html | 384 |
1 files changed, 218 insertions, 166 deletions
diff --git a/articles/january-2014-status/index.html b/articles/january-2014-status/index.html index aaaa0845..39a776ef 100644 --- a/articles/january-2014-status/index.html +++ b/articles/january-2014-status/index.html @@ -7,7 +7,7 @@ <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.17" /> + <meta name="generator" content="Hugo 0.26" /> <title>Nine Nines: January 2014 status</title> @@ -74,146 +74,146 @@ </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’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’t benefit the open source projects.
-And that didn’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’s a lot more rewarding than activities like
-consulting where you only help one company at a time. And it’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’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’re sponsoring).
-This means fixes will be backported. This doesn’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’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’s important. From your point of view it’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’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’re done. An extensive survey
-will be setup after the 1.0 release to get more information on what
-people like and don’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’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’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’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’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’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>
+<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’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’t benefit the open source projects. +And that didn’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’s a lot more rewarding than activities like +consulting where you only help one company at a time. And it’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’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’re sponsoring). +This means fixes will be backported. This doesn’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’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’s important. From your point of view it’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’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’re done. An extensive survey +will be setup after the 1.0 release to get more information on what +people like and don’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’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’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’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’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’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> @@ -222,55 +222,107 @@ the sponsoring idea, anything really! Thanks.</p></div> <h3>More articles</h3> <ul id="articles-nav" class="extra_margin"> - <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.2/">Cowboy 2.0 release candidate 2</a></li> + + + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li> + - <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-rc.1/">Cowboy 2.0 release candidate 1</a></li> + + <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li> + - <li><a href="https://ninenines.eu/articles/the-elephant-in-the-room/">The elephant in the room</a></li> + + <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></li> + - <li><a href="https://ninenines.eu/articles/dont-let-it-crash/">Don't let it crash</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li> + - <li><a href="https://ninenines.eu/articles/cowboy-2.0.0-pre.4/">Cowboy 2.0 pre-release 4</a></li> + + <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li> + - <li><a href="https://ninenines.eu/articles/ranch-1.3/">Ranch 1.3</a></li> + + <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li> + - <li><a href="https://ninenines.eu/articles/ml-archives/">Mailing list archived</a></li> + + <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li> + - <li><a href="https://ninenines.eu/articles/website-update/">Website update</a></li> + + <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li> + - <li><a href="https://ninenines.eu/articles/erlanger-playbook-september-2015-update/">The Erlanger Playbook September 2015 Update</a></li> + + <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li> + - <li><a href="https://ninenines.eu/articles/erlanger-playbook/">The Erlanger Playbook</a></li> + + <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li> + - <li><a href="https://ninenines.eu/articles/erlang-validate-utf8/">Validating UTF-8 binaries with Erlang</a></li> + + <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li> + - <li><a href="https://ninenines.eu/articles/on-open-source/">On open source</a></li> + + <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li> + - <li><a href="https://ninenines.eu/articles/the-story-so-far/">The story so far</a></li> + + <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li> + - <li><a href="https://ninenines.eu/articles/cowboy2-qs/">Cowboy 2.0 and query strings</a></li> + + <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li> + - <li><a href="https://ninenines.eu/articles/january-2014-status/">January 2014 status</a></li> + + <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li> + - <li><a href="https://ninenines.eu/articles/farwest-funded/">Farwest got funded!</a></li> + + <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li> + - <li><a href="https://ninenines.eu/articles/erlang.mk-and-relx/">Build Erlang releases with Erlang.mk and Relx</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.5-intermediate-module/">Xerl: intermediate module</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.4-expression-separator/">Xerl: expression separator</a></li> + + <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li> + - <li><a href="https://ninenines.eu/articles/erlang-scalability/">Erlang Scalability</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.3-atomic-expressions/">Xerl: atomic expressions</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.2-two-modules/">Xerl: two modules</a></li> + + <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li> + - <li><a href="https://ninenines.eu/articles/xerl-0.1-empty-modules/">Xerl: empty modules</a></li> + + <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li> + - <li><a href="https://ninenines.eu/articles/ranch-ftp/">Build an FTP Server with Ranch in 30 Minutes</a></li> + + <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li> + - <li><a href="https://ninenines.eu/articles/tictactoe/">Erlang Tic Tac Toe</a></li> + </ul> |