summaryrefslogtreecommitdiffstats
path: root/index.xml
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2016-08-29 12:39:49 +0200
committerLoïc Hoguin <[email protected]>2016-08-29 12:40:03 +0200
commitc807880f7ac73f813b2660ea81a00f7712a4e793 (patch)
treeba1d09e9b177f230665a80513b33fbd532000ce4 /index.xml
parentb1df25a7d9cda697513650659b781b55b40898f8 (diff)
downloadninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.tar.gz
ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.tar.bz2
ninenines.eu-c807880f7ac73f813b2660ea81a00f7712a4e793.zip
Add old mailing list archives
Diffstat (limited to 'index.xml')
-rw-r--r--index.xml142
1 files changed, 20 insertions, 122 deletions
diff --git a/index.xml b/index.xml
index 08782178..996171a5 100644
--- a/index.xml
+++ b/index.xml
@@ -6,10 +6,29 @@
<description>Recent content on Nine Nines</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
- <lastBuildDate>Sat, 02 Apr 2016 00:00:00 +0100</lastBuildDate>
+ <lastBuildDate>Mon, 29 Aug 2016 00:00:00 +0100</lastBuildDate>
<atom:link href="http://ninenines.eu/index.xml" rel="self" type="application/rss+xml" />
<item>
+ <title>Mailing list archived</title>
+ <link>http://ninenines.eu/articles/ml-archives/</link>
+ <pubDate>Mon, 29 Aug 2016 00:00:00 +0100</pubDate>
+
+ <guid>http://ninenines.eu/articles/ml-archives/</guid>
+ <description>&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;a href=&#34;http://ninenines.eu/archives/extend&#34;&gt;old mailing list archives&lt;/a&gt; have been
+added to the site, mainly for referencing purposes.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The mailing list has been shut down and all personal information
+has been deleted.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;If you need help with a project, consider either opening a ticket
+on that project&amp;#8217;s issues tracker or going through the community
+channels (erlang-questions, #ninenines or #erlang on Freenode).&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Prefer tickets; often when people have issues it highlights an
+underlying problem in the project or its documentation.&lt;/p&gt;&lt;/div&gt;
+&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Thanks.&lt;/p&gt;&lt;/div&gt;
+</description>
+ </item>
+
+ <item>
<title>Website update</title>
<link>http://ninenines.eu/articles/website-update/</link>
<pubDate>Sat, 02 Apr 2016 00:00:00 +0100</pubDate>
@@ -1240,126 +1259,5 @@ can help!&lt;/p&gt;&lt;/div&gt;
</description>
</item>
- <item>
- <title>Build Erlang releases with Erlang.mk and Relx</title>
- <link>http://ninenines.eu/articles/erlang.mk-and-relx/</link>
- <pubDate>Tue, 28 May 2013 00:00:00 +0100</pubDate>
-
- <guid>http://ninenines.eu/articles/erlang.mk-and-relx/</guid>
- <description>&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Building OTP releases has always been a difficult task. Tools like
-Reltool or Rebar have made this simpler, but
-it&amp;#8217;s no panacea. This article will show you an alternative and
-hopefully much simpler solution.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;There is two steps to building a release. First you need to build
-the various OTP applications you want to include in the release. Once
-done, you need to create the release itself, by including the Erlang
-runtime system alongside the applications, a boot script to start the
-node and all its applications, and some configuration files.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/extend/erlang.mk&#34;&gt;Erlang.mk&lt;/a&gt; solves
-the first step. It is an include file for GNU Make. Just
-including it in a Makefile is enough to allow building your project,
-fetching and building dependencies, building documentation, performing
-static analysis and more.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;&lt;a href=&#34;https://github.com/erlware/relx&#34;&gt;Relx&lt;/a&gt; solves the second
-step. It is a release creation tool, wrapped into a single executable
-file. It doesn&amp;#8217;t require a configuration file. And if you do need one,
-it will be a pretty small one.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Let&amp;#8217;s take a look at the smallest Erlang.mk powered
-Makefile. There is only one thing required: defining the project
-name.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite --&gt;
-&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;color: #009900&#34;&gt;PROJECT =&lt;/span&gt; my_project
-
-include erlang.mk&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Simply doing this allows you to build your application by typing
-&lt;code&gt;make&lt;/code&gt;, running tests using &lt;code&gt;make tests&lt;/code&gt;, and
-more. It will even compile your &lt;em&gt;.dtl&lt;/em&gt; files found in the
-&lt;em&gt;templates/&lt;/em&gt; directory if you are using ErlyDTL!&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Let&amp;#8217;s now take a look at a simplified version of the Makefile for
-this website. I only removed a few targets that were off-topic.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite --&gt;
-&lt;pre&gt;&lt;tt&gt;&lt;span style=&#34;color: #009900&#34;&gt;PROJECT =&lt;/span&gt; ninenines
-
-&lt;span style=&#34;color: #009900&#34;&gt;DEPS =&lt;/span&gt; cowboy erlydtl
-&lt;span style=&#34;color: #009900&#34;&gt;dep_cowboy =&lt;/span&gt; https&lt;span style=&#34;color: #990000&#34;&gt;:&lt;/span&gt;//github.com/extend/cowboy.git 0.8.5
-&lt;span style=&#34;color: #009900&#34;&gt;dep_erlydtl =&lt;/span&gt; https&lt;span style=&#34;color: #990000&#34;&gt;:&lt;/span&gt;//github.com/evanmiller/erlydtl.git 4d0dc8fb
-
-&lt;span style=&#34;font-weight: bold&#34;&gt;&lt;span style=&#34;color: #000080&#34;&gt;.PHONY:&lt;/span&gt;&lt;/span&gt; release clean-release
-
-&lt;span style=&#34;color: #990000&#34;&gt;release:&lt;/span&gt; clean-release all projects
- relx -o rel&lt;span style=&#34;color: #990000&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color: #009900&#34;&gt;$(PROJECT)&lt;/span&gt;
-
-&lt;span style=&#34;color: #990000&#34;&gt;clean-release:&lt;/span&gt; clean-projects
- rm -rf rel&lt;span style=&#34;color: #990000&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color: #009900&#34;&gt;$(PROJECT)&lt;/span&gt;
-
-include erlang.mk&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;You can see here how to define dependencies. First you list all
-the dependency names, then you have one line per dependency, giving
-the repository URL and the commit number, tag or branch you want.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Then you can see two targets defined, with &lt;code&gt;release&lt;/code&gt;
-becoming the default target, because it was defined first. You can
-override the default target &lt;code&gt;all&lt;/code&gt;, which builds the
-application and its dependencies, this way.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;And as you can see, the &lt;code&gt;release&lt;/code&gt; target uses
-Relx to build a release into the &lt;em&gt;rel/ninenines/&lt;/em&gt;
-directory. Let&amp;#8217;s take a look at the configuration file for this release.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;&lt;!-- Generator: GNU source-highlight 3.1.8
-by Lorenzo Bettini
-http://www.lorenzobettini.it
-http://www.gnu.org/software/src-highlite --&gt;
-&lt;pre&gt;&lt;tt&gt;{&lt;span style=&#34;color: #FF6600&#34;&gt;release&lt;/span&gt;, {&lt;span style=&#34;color: #FF6600&#34;&gt;ninenines&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;1&#34;&lt;/span&gt;}, [&lt;span style=&#34;color: #FF6600&#34;&gt;ninenines&lt;/span&gt;]}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;
-
-{&lt;span style=&#34;color: #FF6600&#34;&gt;extended_start_script&lt;/span&gt;, &lt;span style=&#34;color: #000080&#34;&gt;true&lt;/span&gt;}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;
-{&lt;span style=&#34;color: #FF6600&#34;&gt;sys_config&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;rel/sys.config&#34;&lt;/span&gt;}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;
-
-{&lt;span style=&#34;color: #FF6600&#34;&gt;overlay&lt;/span&gt;, [
- {&lt;span style=&#34;color: #FF6600&#34;&gt;mkdir&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;log&#34;&lt;/span&gt;},
- {&lt;span style=&#34;color: #FF6600&#34;&gt;copy&lt;/span&gt;, &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;rel/vm.args&#34;&lt;/span&gt;,
- &lt;span style=&#34;color: #FF0000&#34;&gt;&#34;releases/\{\{release_name\}\}-\{\{release_version\}\}/vm.args&#34;&lt;/span&gt;}
-]}&lt;span style=&#34;color: #990000&#34;&gt;.&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The first line defines a release named &lt;code&gt;ninenines&lt;/code&gt;, which
-has a version number &lt;code&gt;&#34;1&#34;&lt;/code&gt; and includes one application, also
-named &lt;code&gt;ninenines&lt;/code&gt;, although it doesn&amp;#8217;t have to.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;We then use the &lt;code&gt;extended_start_script&lt;/code&gt; option to tell
-Relx that we would like to have a start script that allows
-us to not only start the release, but do so with the node in the
-background, or also to allow us to connect to a running node, and so on.
-This start script has the same features as the one tools like
-Rebar generates.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The rest of the file just makes sure our configuration files are
-where we expect them. Relx will automatically take care
-of your &lt;em&gt;sys.config&lt;/em&gt; file as long as you tell it where to
-find it. The &lt;em&gt;vm.args&lt;/em&gt; file used by the extended start script
-needs to be handled more explicitly by using an overlay however.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;How does Relx find what applications to include?
-By looking at the application dependencies in the &lt;em&gt;.app&lt;/em&gt;
-file of each OTP application. Make sure you put all dependencies in
-there, &lt;em&gt;including&lt;/em&gt; library applications, and Relx
-will find everything for you.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;For example, this release includes the following applications.
-Only what&amp;#8217;s strictly required.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;listingblock&#34;&gt;
-&lt;div class=&#34;content&#34;&gt;
-&lt;pre&gt;&lt;code&gt;compiler-4.9.1 crypto-2.3 kernel-2.16.1 ranch-0.8.3 syntax_tools-1.6.11
-cowboy-0.8.5 erlydtl-0.7.0 ninenines-0.2.0 stdlib-1.19.1&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;The &lt;em&gt;sys.config&lt;/em&gt; file is standard and
-&lt;a href=&#34;http://www.erlang.org/doc/man/config.html&#34;&gt;well documented&lt;/a&gt;.
-The &lt;em&gt;vm.args&lt;/em&gt; file is just an optionally multiline file
-containing all the flags to pass to the Erlang VM, for example
-&lt;code&gt;-name [email protected] -heart&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
-&lt;div class=&#34;paragraph&#34;&gt;&lt;p&gt;Building OTP releases has always been a difficult task. Until now.&lt;/p&gt;&lt;/div&gt;
-</description>
- </item>
-
</channel>
</rss> \ No newline at end of file