Browse Source

Initial commit

master
Nicolas Petton 1 year ago
commit
efade97bd9
No known key found for this signature in database GPG Key ID: E8BCD7866AFCF978
445 changed files with 75631 additions and 0 deletions
  1. +297
    -0
      404.html
  2. +4
    -0
      README.md
  3. +440
    -0
      blog/__offline_interview-stef__.html
  4. +304
    -0
      blog/__offline_interview-stef__.xml
  5. +298
    -0
      blog/amber-0.10.0-released.html
  6. +52
    -0
      blog/amber-0.10.0-released.xml
  7. +345
    -0
      blog/amber-0.12.0-released.html
  8. +98
    -0
      blog/amber-0.12.0-released.xml
  9. +345
    -0
      blog/amber-0.12.2-released.html
  10. +98
    -0
      blog/amber-0.12.2-released.xml
  11. +376
    -0
      blog/amber-0.12.6-released.html
  12. +129
    -0
      blog/amber-0.12.6-released.xml
  13. +421
    -0
      blog/amber-0.13-released.html
  14. +174
    -0
      blog/amber-0.13-released.xml
  15. +334
    -0
      blog/amber-1.12.4-released.html
  16. +87
    -0
      blog/amber-1.12.4-released.xml
  17. +432
    -0
      blog/amber-compiler.html
  18. +185
    -0
      blog/amber-compiler.xml
  19. +318
    -0
      blog/amber-new-maintainer.html
  20. +71
    -0
      blog/amber-new-maintainer.xml
  21. +296
    -0
      blog/amber-poll.html
  22. +50
    -0
      blog/amber-poll.xml
  23. +301
    -0
      blog/arrived-buenos-aires.html
  24. +57
    -0
      blog/arrived-buenos-aires.xml
  25. +549
    -0
      blog/blog.xml
  26. +398
    -0
      blog/blogging-with-org-mode.html
  27. +151
    -0
      blog/blogging-with-org-mode.xml
  28. +346
    -0
      blog/buffer-watcher.html
  29. +99
    -0
      blog/buffer-watcher.xml
  30. +320
    -0
      blog/details-matter.html
  31. +73
    -0
      blog/details-matter.xml
  32. +349
    -0
      blog/discover-js2-refactor.html
  33. +104
    -0
      blog/discover-js2-refactor.xml
  34. +334
    -0
      blog/emacs-dark-window-decoration.html
  35. +87
    -0
      blog/emacs-dark-window-decoration.xml
  36. +324
    -0
      blog/emacs-meetup-orgmode.html
  37. +77
    -0
      blog/emacs-meetup-orgmode.xml
  38. +321
    -0
      blog/emacs-meetup.html
  39. +74
    -0
      blog/emacs-meetup.xml
  40. +330
    -0
      blog/farewell-rmod.html
  41. +83
    -0
      blog/farewell-rmod.xml
  42. +318
    -0
      blog/fourth-emacs-meetup.html
  43. +71
    -0
      blog/fourth-emacs-meetup.xml
  44. +321
    -0
      blog/helios-keybindings.html
  45. +75
    -0
      blog/helios-keybindings.xml
  46. +317
    -0
      blog/helios-sunit.html
  47. +70
    -0
      blog/helios-sunit.xml
  48. +310
    -0
      blog/help-amber-doc.html
  49. +63
    -0
      blog/help-amber-doc.xml
  50. +1763
    -0
      blog/index.html
  51. +1716
    -0
      blog/index.xml
  52. +324
    -0
      blog/installing-pharo-on-ubuntu.html
  53. +77
    -0
      blog/installing-pharo-on-ubuntu.xml
  54. +507
    -0
      blog/interview-ben.html
  55. +260
    -0
      blog/interview-ben.xml
  56. +435
    -0
      blog/interview-clara.html
  57. +188
    -0
      blog/interview-clara.xml
  58. +495
    -0
      blog/interview-damien-cassou.html
  59. +248
    -0
      blog/interview-damien-cassou.xml
  60. +439
    -0
      blog/interview-damien.html
  61. +192
    -0
      blog/interview-damien.xml
  62. +461
    -0
      blog/interview-esteban.html
  63. +214
    -0
      blog/interview-esteban.xml
  64. +463
    -0
      blog/interview-guille.html
  65. +216
    -0
      blog/interview-guille.xml
  66. +449
    -0
      blog/interview-jean-baptiste.html
  67. +202
    -0
      blog/interview-jean-baptiste.xml
  68. +508
    -0
      blog/interview-johan.html
  69. +261
    -0
      blog/interview-johan.xml
  70. +474
    -0
      blog/interview-louise.html
  71. +227
    -0
      blog/interview-louise.xml
  72. +488
    -0
      blog/interview-mikael.html
  73. +241
    -0
      blog/interview-mikael.xml
  74. +428
    -0
      blog/interview-seckin.html
  75. +181
    -0
      blog/interview-seckin.xml
  76. +536
    -0
      blog/interview-stef.html
  77. +289
    -0
      blog/interview-stef.xml
  78. +341
    -0
      blog/isearch-thing.html
  79. +95
    -0
      blog/isearch-thing.xml
  80. +362
    -0
      blog/mutli-occur-on-projects.html
  81. +115
    -0
      blog/mutli-occur-on-projects.xml
  82. +327
    -0
      blog/niflheim-theme.html
  83. +80
    -0
      blog/niflheim-theme.xml
  84. +341
    -0
      blog/no-more-smalltalk.html
  85. +94
    -0
      blog/no-more-smalltalk.xml
  86. +327
    -0
      blog/nw-helios.html
  87. +80
    -0
      blog/nw-helios.xml
  88. +559
    -0
      blog/objectjs-data-binding.html
  89. +312
    -0
      blog/objectjs-data-binding.xml
  90. +360
    -0
      blog/per-computer-emacs-settings.html
  91. +113
    -0
      blog/per-computer-emacs-settings.xml
  92. +384
    -0
      blog/proudly-self-hosted.html
  93. +415
    -0
      blog/simple-object-model-javascript-2.html
  94. +168
    -0
      blog/simple-object-model-javascript-2.xml
  95. +717
    -0
      blog/simple-object-model-javascript.html
  96. +470
    -0
      blog/simple-object-model-javascript.xml
  97. +290
    -0
      blog/slides-smalltalks-2013.html
  98. +46
    -0
      blog/slides-smalltalks-2013.xml
  99. +403
    -0
      blog/stream.html
  100. +156
    -0
      blog/stream.xml

+ 297
- 0
404.html View File

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2018-09-26 Wed 17:45 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Page not found</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Nicolas Petton" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link href='/images/favicon.ico' rel='shortcut icon' type='image/x-icon'>
<link rel='stylesheet' href='https://code.cdn.mozilla.net/fonts/fira.css'>
<link rel='stylesheet' href='css/site.css?v=3' type='text/css'/>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<script src='/js/jquery.js' type='text/javascript'></script>
<link href='https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css' rel='stylesheet'><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-2614862-2', 'nicolas-petton.fr');
ga('send', 'pageview');
</script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2018 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="preamble" class="status">
<div class='intro'>
<img src='/images/profile.jpg' alt='Nicolas Petton'/>
<h1>Nicolas Petton</h1>
<p>Web developer, Lisper, Smalltalker & Emacs maniac.</p>
</div>
<div class='nav'>
<ul>
<li><a href='/'>Home</a></li>
<li><a href='/blog/index.html'>Blog</a></li>
<li><a href='https://emacs.cafe'>Emacs Café</a></li>
<li><a href='/contact.html'>Contact</a></li>
<li><a href='http://github.com/NicolasPetton'><i class="fa fa-github"></i></a></li>
<li><a href='http://instagram.com/nicolas_petton'><i class="fa fa-instagram"></i></a></li>
<li><a href='http://twitter.com/NicolasPetton'><i class="fa fa-twitter"></i></a></li>
</ul>
</div>
</div>
<div id="content">
<h1 class="title">Page not found</h1>
<div id="outline-container-orgce3e7ad" class="outline-2">
<h2 id="orgce3e7ad">The page you requested wasn't found.</h2>
<div class="outline-text-2" id="text-orgce3e7ad">
<p>
You may want to go back to the <a href="index.html">homepage</a> or visit my <a href="blog/index.html">weblog</a>.
</p>
</div>
</div>
</div>
<div id="postamble" class="status">
<div class='footer'>
Copyright 2018 Nicolas Petton.<br>
Last updated 2018-04-23 Mon 16:26. <br>
Built with <a href="https://www.gnu.org/software/emacs/">Emacs</a> 26.1.50 (<a href="https://orgmode.org">Org</a> mode 9.1.14).
</div>
</div>
</body>
</html>

+ 4
- 0
README.md View File

@ -0,0 +1,4 @@
NicolasPetton.github.io
=======================
My website/blog

+ 440
- 0
blog/__offline_interview-stef__.html View File

@ -0,0 +1,440 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Interview RMoD #3: Stéphane Ducasse</title>
<!-- 2014-03-28 Fri 15:27 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="Org-mode" />
<meta name="author" content="Nicolas Petton" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center; }
.todo { font-family: monospace; color: red; }
.done { color: green; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.right { text-align: center; }
th.left { text-align: center; }
th.center { text-align: center; }
td.right { text-align: right; }
td.left { text-align: left; }
td.center { text-align: center; }
dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
/*]]>*/-->
</style>
<link href='http://fonts.googleapis.com/css?family=Libre+Baskerville:400,400italic' rel='stylesheet' type='text/css'>
<link rel='stylesheet' href='../css/site.css' type='text/css'/>
<link rel='stylesheet' href='../css/blog.css' type='text/css'/>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
<link href='http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css' rel='stylesheet'><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-2614862-2', 'nicolas-petton.fr');
ga('send', 'pageview');
</script>
<link rel="alternate" type="application/rss+xml"
href="http://nicolas-petton.fr/blog/index.xml"
title="RSS feed">
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="preamble" class="status">
<div class='nav'>
<ul>
<li><a href='/'>Home</a></li>
<li><a href='/blog/index.html'>Blog</a></li>
<li><a href='http://github.com/NicolasPetton'>GitHub</a></li>
<li><a href='http://twitter.com/NicolasPetton'>Twitter</a></li>
<li><a href='/contact.html'>Contact</a></li>
</ul>
</div>
</div>
<div id="content">
<h1 class="title">Interview RMoD #3: Stéphane Ducasse</h1>
<div id="outline-container-sec-1" class="outline-2">
<h2 id="sec-1"><a id="ID-40593d4c-184d-4bae-9839-619273cbc303" name="ID-40593d4c-184d-4bae-9839-619273cbc303"></a>Interview with Stéphane Ducasse&#xa0;&#xa0;&#xa0;<span class="tag"><span class="RMoD">RMoD</span>&#xa0;<span class="interview">interview</span></span></h2>
<div class="outline-text-2" id="text-1">
<div class="pubdate">
<p>
February 7, 2014
</p>
<i class="fa fa-calendar-o"></i>
</div>
<p>
<b>This is the third post of a series</b>, in which I <a href="working-at-rmod.html">interview my
colleagues</a> of the <a href="http://rmod.lille.inria.fr/web/">RMoD</a> team (in Lille, France), with the hope that I
can share part of what it really means to work here.
</p>
<p>
Here's the interview of <a href="http://stephane.ducasse.free.fr/">Stéphane Ducasse</a>. It would not be possible
to do an interview of the RMoD team without interviewing Stef: he's
not only our leader, he's the backbone of RMoD. Since I joined the
team, he managed to hire great people and build an awesome team
around research and <a href="http://pharo.org">Pharo</a>.
</p>
<p>
Stef shows so much enthousiasm and energy, he's always passionate
about work, and care deeply about his team and what we accomplish.
</p>
<div class="figure">
<p><img src="../images/stef-1.jpg" alt="Stef image" align="center" />
</p>
<p><span class="figure-number">Figure 1:</span> Stef in his office, always smiling</p>
</div>
<p>
<b><i>Hi Stef, thanks for taking this interview. Could you tell us a bit
about yourself?</i></b>
</p>
<p>
Let us what a biased introduction could interest people! Here is my
try: I hope you will find something interesting.
</p>
<p>
I'm a researcher. I did my PhD at Nice on language design. I lived
there for 30 years. I started programming in Lisp and I like
objects so I worked in CLOS and I was a CLOS expert MOPer. I
declined a job for the company building tools to develop 3d Objects
(they did for example the ones of The Lord of The Ring with the
software), because it was not research, in California and without
green card. So in 1996 I started to work on reengineeting after my
PhD as a postdoc at Bern (where I stayed there during 10 years) - I
knew nothing on it.
</p>
<p>
At Bern, in my office there was a big sun station (and I was living
in my office because my wife was working 900 km during 9 months) so
I stole the Smalltalk implementation of the University of Nice and
started to learn Smalltalk for real. Before I could not run a
smalltalk on my machine. I was shocked. The language was made for
me: dynamic + objects. So I decided to give a lecture and I read
everything I could learn. Then we bought a license for Smalltalk and
I started to build <a href="http://www.moosetechnology.org">Moose</a>. Then my wife arrived in Switzerland and
she had to teach math, physic and computer science. So in parallel
to my day job I started to look at what I could do to help her and I
designed <a href="http://rmod.lille.inria.fr/bostinc)">BotsInc</a>.
</p>
<p>
I looked at Squeak at that time and I started to program with it the
night and the day I was working in VisualWorks.
</p>
<p>
Around 2000 (I do not remember) I restarted to work on language
design and got a lot of fun around traits, classboxes and others. I
had a dream: a great open-source wonderful Smalltalk. Slowly I got
more and more involved into Squeak and I finished to be the release
master of Squeak 3.9. In 2008 I quitted the Squeak community because
I really wanted to get a real clean and lean Smalltalk of 2000 and
not something of the past. So I had a difficult decision: either I
quit Smalltalk and do something else, or I build a new one from
scratch or I fork. And I forked Squeak. I was not easy because I
wrote several (3 books on Squeak), videos, lectures&#x2026; but I decided
to build Pharo.
</p>
<p>
Now Pharo is not my dream it is what I have now and daily I improve
it and my dream is getting more and more a reality. To me Pharo is
like an autobus full of people and I want that it transforms itself
into a jet during our journey. I want to reinvent Smalltalk: I want
a minimal core, isolation, scripting syntax, full C integration,
bootstrap, vector graphics, new meta object protocol and much
more. We are getting there.
</p>
<p>
Now I created a company <a href="http://www.synectique.eu">Synectique</a> based on my research and I want
it to succeed. We are building specific analysis tools to help
managing large applications. I’m helping other guys to create
another company on web applications and I also want to push so that
it succeeds. I like the idea that people can feed their kids using
our system and their intelligence.
</p>
<p>
Finally I'm french, kind of important for me in this global world
where everybody is expected to speak perfect english but where
people judging others barely speak one language: their own. From my
naive perspective, I would like to build a better world. I’m a bit
sick of hyper consumerism, pollution, people making too much money,
exploitation of other people (and many other things that if you
really think about them you feel sick inside). May be one day I will
do politics to try to change our world because we only have one.
</p>
<div class="figure">
<p><img src="../images/stef-2.jpg" alt="Iznogoud" align="center" />
</p>
<p><span class="figure-number">Figure 2:</span> In front of Stef's office</p>
</div>
<p>
<b><i>You are leading the RMoD team in Inria. What kind of leader are
you?</i></b>
</p>
<p>
I do not know. My door is open all the time and people can come to
talk to me.
</p>
<p>
Now I hope that I help them to give the best of themselves and make
their dreams come true. I think that one part of my duties is to be
an enabler: make sure smart guys come in the team, expand and have
fun, building their life. May be I'm an umbrella or oak that
protects little plants to grow nicely around me.
</p>
<p>
I have a vision and usually I feel the direction where we should
go. Fuel is a nice example of a really successful idea that we built
step by step with Tristan, Martin, Mariano and now Max.
</p>
<p>
Now I can be a pain because I'm stubborn and I often thought a lot
about something and I'm often right. Now since I spent my time
flattening the road so that others can drive I frustrate that I
cannot drive a F1 on the same road (but to be a good driver people
need to practice and my practice time is too short). But this is
life.
</p>
<div class="figure">
<p><img src="../images/stef-3.jpg" alt="Stef's toys" align="center" />
</p>
<p><span class="figure-number">Figure 3:</span> Stef has the playful mind of a kid :)</p>
</div>
<p>
<b><i>What kind of relationship do you have with members of the team?</i></b>
</p>
<p>
My family?
</p>
<p>
Some people think that I’m too close. After some other people do not
understand that not all the bosses are that close. And they may make
mistake or be something crossing the borders but this is part of the
game.
</p>
<p>
I do not like to show my muscles to be respected. I do not need that
(even if I can show my muscles and teeth and bit hard).
</p>
<p>
<b><i>How does a typical day at RMoD look like for Stéphane Ducasse?</i></b>
</p>
<p>
I arrive and usually forget that I have a meeting somewhere with
Inria lab board (as part of the lab bosses). Then I run there.
</p>
<p>
Or I forgot and it this is too late. Depending on the year period I
plan budget, hiring, hardware, interns&#x2026; I love Excel, like Word
(should be called Characters because in 2014 crashing on copy and
paste and being so bad is an insult to our field).
</p>
<p>
Then I read, review articles, write articles - usually when I put my
name on a paper I worked a lot on it. Now lately with the community,
Synectique and other tasks, it happens that I just read the paper
(and this is a bit frustrating but this is the priviledge of the
age). I work on project proposals. And I talk talk talk with people,
listen listen listen to people, make sure information flow from x to
z, that k and t talk together. Then when nobody is around or when
people are on vacation I like to pair program on cleaning Pharo. I
got great coding sessions with Igor or Esteban cleaning boring code.
</p>
<p>
I write books the evenings. Or program my little stuff. I’m trying to
avoid to do boring administration at home but so far I failed because
else I would not interact with people.
</p>
<p>
<b><i>What question would you ask another member of the team?</i></b>
</p>
<p>
What do you want to invent?
</p>
<p>
<b><i>Thank you again Stef, it was really nice!</i></b>
</p>
<p>
Other RMoD members interviews:
</p>
<ul class="org-ul">
<li><a href="interview-esteban.html">Esteban Lorenzano</a>
</li>
<li><a href="interview-damien.html">Damien Cassou</a>
</li>
</ul>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'nicolas-petton'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
</div>
</div>
<div id="postamble" class="status">
<div class='footer'>
Copyright 2014 Nicolas Petton (<a href="http://validator.w3.org/check?uri=referer">Validate</a> HTML).<br>
Last updated 2014-03-28 Fri 15:25. <br>
Built with <a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.3.1 (<a href="http://orgmode.org">Org</a> mode 8.2.5h).
</div>
</div>
</body>
</html>

+ 304
- 0
blog/__offline_interview-stef__.xml View File

@ -0,0 +1,304 @@
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:georss="http://www.georss.org/georss"
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
xmlns:media="http://search.yahoo.com/mrss/"><channel>
<title>(Interview RMoD #3: Stéphane Ducasse)</title>
<atom:link href="http://nicolas-petton.fr/blog/__offline_interview-stef__.xml" rel="self" type="application/rss+xml" />
<link>http://nicolas-petton.fr/blog/</link>
<description><![CDATA[]]></description>
<language>en</language>
<pubDate>Fri, 28 Mar 2014 15:25:39 +0100</pubDate>
<lastBuildDate>Fri, 28 Mar 2014 15:25:39 +0100</lastBuildDate>
<generator>Emacs 24.3 Org-mode 8.2.5h</generator>
<webMaster>petton.nicolas@gmail.com (Nicolas Petton)</webMaster>
<image>
<url>http://nicolas-petton.fr/images/nicolas-petton.png</url>
<title>(Interview RMoD #3: Stéphane Ducasse)</title>
<link>http://nicolas-petton.fr/blog/</link>
</image>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">Interview with Stéphane Ducasse</a></li>
</ul>
</div>
</div>
<item>
<title>Interview with Stéphane Ducasse</title>
<link>http://nicolas-petton.fr/blog/__offline_interview-stef__.html#sec-1</link>
<author>Nicolas Petton</author>
<guid isPermaLink="false">http://nicolas-petton.fr/blog/__offline_interview-stef__.html#sec-1</guid>
<pubDate>Fri, 07 Feb 2014 10:24:00 +0100</pubDate>
<category><![CDATA[RMoD]]></category>
<category><![CDATA[interview]]></category>
<description><![CDATA[
<div class="pubdate">
<p>
February 7, 2014
</p>
<i class="fa fa-calendar-o"></i>
</div>
<p>
<b>This is the third post of a series</b>, in which I <a href="http://nicolas-petton.fr/blog/working-at-rmod.html">interview my
colleagues</a> of the <a href="http://rmod.lille.inria.fr/web/">RMoD</a> team (in Lille, France), with the hope that I
can share part of what it really means to work here.
</p>
<p>
Here&rsquo;s the interview of <a href="http://stephane.ducasse.free.fr/">Stéphane Ducasse</a>. It would not be possible
to do an interview of the RMoD team without interviewing Stef: he&rsquo;s
not only our leader, he&rsquo;s the backbone of RMoD. Since I joined the
team, he managed to hire great people and build an awesome team
around research and <a href="http://pharo.org">Pharo</a>.
</p>
<p>
Stef shows so much enthousiasm and energy, he&rsquo;s always passionate
about work, and care deeply about his team and what we accomplish.
</p>
<div class="figure">
<p><img src="http://nicolas-petton.fr/blog/../images/stef-1.jpg" alt="Stef image" align="center" />
</p>
<p><span class="figure-number">Figure 1:</span> Stef in his office, always smiling</p>
</div>
<p>
<b><i>Hi Stef, thanks for taking this interview. Could you tell us a bit
about yourself?</i></b>
</p>
<p>
Let us what a biased introduction could interest people! Here is my
try: I hope you will find something interesting.
</p>
<p>
I&rsquo;m a researcher. I did my PhD at Nice on language design. I lived
there for 30 years. I started programming in Lisp and I like
objects so I worked in CLOS and I was a CLOS expert MOPer. I
declined a job for the company building tools to develop 3d Objects
(they did for example the ones of The Lord of The Ring with the
software), because it was not research, in California and without
green card. So in 1996 I started to work on reengineeting after my
PhD as a postdoc at Bern (where I stayed there during 10 years) - I
knew nothing on it.
</p>
<p>
At Bern, in my office there was a big sun station (and I was living
in my office because my wife was working 900 km during 9 months) so
I stole the Smalltalk implementation of the University of Nice and
started to learn Smalltalk for real. Before I could not run a
smalltalk on my machine. I was shocked. The language was made for
me: dynamic + objects. So I decided to give a lecture and I read
everything I could learn. Then we bought a license for Smalltalk and
I started to build <a href="http://www.moosetechnology.org">Moose</a>. Then my wife arrived in Switzerland and
she had to teach math, physic and computer science. So in parallel
to my day job I started to look at what I could do to help her and I
designed <a href="http://rmod.lille.inria.fr/bostinc)">BotsInc</a>.
</p>
<p>
I looked at Squeak at that time and I started to program with it the
night and the day I was working in VisualWorks.
</p>
<p>
Around 2000 (I do not remember) I restarted to work on language
design and got a lot of fun around traits, classboxes and others. I
had a dream: a great open-source wonderful Smalltalk. Slowly I got
more and more involved into Squeak and I finished to be the release
master of Squeak 3.9. In 2008 I quitted the Squeak community because
I really wanted to get a real clean and lean Smalltalk of 2000 and
not something of the past. So I had a difficult decision: either I
quit Smalltalk and do something else, or I build a new one from
scratch or I fork. And I forked Squeak. I was not easy because I
wrote several (3 books on Squeak), videos, lectures... but I decided
to build Pharo.
</p>
<p>
Now Pharo is not my dream it is what I have now and daily I improve
it and my dream is getting more and more a reality. To me Pharo is
like an autobus full of people and I want that it transforms itself
into a jet during our journey. I want to reinvent Smalltalk: I want
a minimal core, isolation, scripting syntax, full C integration,
bootstrap, vector graphics, new meta object protocol and much
more. We are getting there.
</p>
<p>
Now I created a company <a href="http://www.synectique.eu">Synectique</a> based on my research and I want
it to succeed. We are building specific analysis tools to help
managing large applications. I’m helping other guys to create
another company on web applications and I also want to push so that
it succeeds. I like the idea that people can feed their kids using
our system and their intelligence.
</p>
<p>
Finally I&rsquo;m french, kind of important for me in this global world
where everybody is expected to speak perfect english but where
people judging others barely speak one language: their own. From my
naive perspective, I would like to build a better world. I’m a bit
sick of hyper consumerism, pollution, people making too much money,
exploitation of other people (and many other things that if you
really think about them you feel sick inside). May be one day I will
do politics to try to change our world because we only have one.
</p>
<div class="figure">
<p><img src="http://nicolas-petton.fr/blog/../images/stef-2.jpg" alt="Iznogoud" align="center" />
</p>
<p><span class="figure-number">Figure 2:</span> In front of Stef&rsquo;s office</p>
</div>
<p>
<b><i>You are leading the RMoD team in Inria. What kind of leader are
you?</i></b>
</p>
<p>
I do not know. My door is open all the time and people can come to
talk to me.
</p>
<p>
Now I hope that I help them to give the best of themselves and make
their dreams come true. I think that one part of my duties is to be
an enabler: make sure smart guys come in the team, expand and have
fun, building their life. May be I&rsquo;m an umbrella or oak that
protects little plants to grow nicely around me.
</p>
<p>
I have a vision and usually I feel the direction where we should
go. Fuel is a nice example of a really successful idea that we built
step by step with Tristan, Martin, Mariano and now Max.
</p>
<p>
Now I can be a pain because I&rsquo;m stubborn and I often thought a lot
about something and I&rsquo;m often right. Now since I spent my time
flattening the road so that others can drive I frustrate that I
cannot drive a F1 on the same road (but to be a good driver people
need to practice and my practice time is too short). But this is
life.
</p>
<div class="figure">
<p><img src="http://nicolas-petton.fr/blog/../images/stef-3.jpg" alt="Stef's toys" align="center" />
</p>
<p><span class="figure-number">Figure 3:</span> Stef has the playful mind of a kid :)</p>
</div>
<p>
<b><i>What kind of relationship do you have with members of the team?</i></b>
</p>
<p>
My family?
</p>
<p>
Some people think that I’m too close. After some other people do not
understand that not all the bosses are that close. And they may make
mistake or be something crossing the borders but this is part of the
game.
</p>
<p>
I do not like to show my muscles to be respected. I do not need that
(even if I can show my muscles and teeth and bit hard).
</p>
<p>
<b><i>How does a typical day at RMoD look like for Stéphane Ducasse?</i></b>
</p>
<p>
I arrive and usually forget that I have a meeting somewhere with
Inria lab board (as part of the lab bosses). Then I run there.
</p>
<p>
Or I forgot and it this is too late. Depending on the year period I
plan budget, hiring, hardware, interns... I love Excel, like Word
(should be called Characters because in 2014 crashing on copy and
paste and being so bad is an insult to our field).
</p>
<p>
Then I read, review articles, write articles - usually when I put my
name on a paper I worked a lot on it. Now lately with the community,
Synectique and other tasks, it happens that I just read the paper
(and this is a bit frustrating but this is the priviledge of the
age). I work on project proposals. And I talk talk talk with people,
listen listen listen to people, make sure information flow from x to
z, that k and t talk together. Then when nobody is around or when
people are on vacation I like to pair program on cleaning Pharo. I
got great coding sessions with Igor or Esteban cleaning boring code.
</p>
<p>
I write books the evenings. Or program my little stuff. I’m trying to
avoid to do boring administration at home but so far I failed because
else I would not interact with people.
</p>
<p>
<b><i>What question would you ask another member of the team?</i></b>
</p>
<p>
What do you want to invent?
</p>
<p>
<b><i>Thank you again Stef, it was really nice!</i></b>
</p>
<p>
Other RMoD members interviews:
</p>
<ul class="org-ul">
<li><a href="http://nicolas-petton.fr/blog/interview-esteban.html">Esteban Lorenzano</a>
</li>
<li><a href="http://nicolas-petton.fr/blog/interview-damien.html">Damien Cassou</a>
</li>
</ul>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'nicolas-petton'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
]]></description>
</item>
</channel>
</rss>

+ 298
- 0
blog/amber-0.10.0-released.html View File

@ -0,0 +1,298 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-08-02 Wed 09:55 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title><b>Amber</b> 0.10.0</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Nicolas Petton" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link href='/images/favicon.ico' rel='shortcut icon' type='image/x-icon'>
<link rel='stylesheet' href='https://code.cdn.mozilla.net/fonts/fira.css'>
<link rel='stylesheet' href='../css/site.css?v=2' type='text/css'/>
<link rel='stylesheet' href='../css/blog.css?v=2' type='text/css'/>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<script src='/js/jquery.js' type='text/javascript'></script>
<link href='http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css' rel='stylesheet'><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-2614862-2', 'nicolas-petton.fr');
ga('send', 'pageview');
</script>
<link rel="alternate" type="application/rss+xml"
href="http://nicolas-petton.fr/blog/index.xml"
title="RSS feed">
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="preamble" class="status">
<div class='intro'>
<img src='/images/profile.jpg' alt='Nicolas Petton'/>
<h1>Nicolas Petton</h1>
<p>Web developer, Lisper, Smalltalker & Emacs maniac.</p>
</div>
<div class='nav'>
<ul>
<li><a href='/'>Home</a></li>
<li><a href='/blog/index.html'>Blog</a></li>
<li><a href='https://emacs.cafe'>Emacs Café</a></li>
<li><a href='https://petton.fr/git/nico'>GitLab</a></li>
<li><a href='http://github.com/NicolasPetton'>GitHub</a></li>
<li><a href='http://twitter.com/NicolasPetton'>Twitter</a></li>
<li><a href='/contact.html'>Contact</a></li>
</ul>
</div>
</div>
<div id="content">
<h1 class="title"><b>Amber</b> 0.10.0</h1>
<div id="outline-container-org48a7215" class="outline-2">
<h2 id="org48a7215"><a id="ID-fd363beb-71e0-46ef-a50e-5db69addcef9"></a>Amber 0.10.0 released!&#xa0;&#xa0;&#xa0;<span class="tag"><span class="amber">amber</span>&#xa0;<span class="smalltalk">smalltalk</span></span></h2>
<div class="outline-text-2" id="text-org48a7215">
<div class="pubdate">
March 13, 2013
</div>
<p>
Today we released <a href="http://amber-lang.net">Amber 0.10.0</a>. After a year of work, we beleive this is a great release.
I'm especially glad to say that this release was a real community effort.
</p>
<p>
Read the <a href="https://groups.google.com/forum/#!searchin/amber-lang/0.10.0/amber-lang/RHEVegrCnJY/EfLzltER-XoJ">full announcement</a>.
</p>
</div>
</div>
</div>
<div id="postamble" class="status">
<div class='footer'>
Copyright 2017 Nicolas Petton.<br>
Last updated 2017-08-02 Wed 09:53. <br>
Built with <a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.2.1 (<a href="http://orgmode.org">Org</a> mode 9.0.9).
</div>
</div>
</body>
</html>

+ 52
- 0
blog/amber-0.10.0-released.xml View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:georss="http://www.georss.org/georss"
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
xmlns:media="http://search.yahoo.com/mrss/"><channel>
<title><b>Amber</b> 0.10.0</title>
<atom:link href="http://nicolas-petton.fr/blog/amber-0.10.0-released.xml" rel="self" type="application/rss+xml" />
<link>http://nicolas-petton.fr/blog/</link>
<description><![CDATA[]]></description>
<language>en</language>
<pubDate>Wed, 02 Aug 2017 10:02:08 +0200</pubDate>
<lastBuildDate>Wed, 02 Aug 2017 10:02:08 +0200</lastBuildDate>
<generator>Emacs 25.2 Org-mode 9.0.9</generator>
<webMaster>nicolas@petton.fr (Nicolas Petton)</webMaster>
<image>
<url>http://nicolas-petton.fr/images/nicolas-petton.png</url>
<title><b>Amber</b> 0.10.0</title>
<link>http://nicolas-petton.fr/blog/</link>
</image>
<item>
<title>Amber 0.10.0 released!</title>
<link>http://nicolas-petton.fr/blog/amber-0.10.0-released.html#orgb85a697</link>
<author>nicolas@petton.fr (Nicolas Petton)</author>
<guid isPermaLink="false">http://nicolas-petton.fr/blog/amber-0.10.0-released.html#orgb85a697</guid>
<pubDate>Wed, 13 Mar 2013 12:00:00 +0100</pubDate>
<category><![CDATA[amber]]></category>
<category><![CDATA[smalltalk]]></category>
<description><![CDATA[<div class="pubdate">
March 13, 2013
</div>
<p>
Today we released <a href="http://amber-lang.net">Amber 0.10.0</a>. After a year of work, we beleive this is a great release.
I'm especially glad to say that this release was a real community effort.
</p>
<p>
Read the <a href="https://groups.google.com/forum/#!searchin/amber-lang/0.10.0/amber-lang/RHEVegrCnJY/EfLzltER-XoJ">full announcement</a>.
</p>
]]></description>
</item>
</channel>
</rss>

+ 345
- 0
blog/amber-0.12.0-released.html View File

@ -0,0 +1,345 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2017-08-02 Wed 09:55 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title><b>Amber</b> 0.12.0</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Nicolas Petton" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link href='/images/favicon.ico' rel='shortcut icon' type='image/x-icon'>
<link rel='stylesheet' href='https://code.cdn.mozilla.net/fonts/fira.css'>
<link rel='stylesheet' href='../css/site.css?v=2' type='text/css'/>
<link rel='stylesheet' href='../css/blog.css?v=2' type='text/css'/>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<script src='/js/jquery.js' type='text/javascript'></script>
<link href='http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css' rel='stylesheet'><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-2614862-2', 'nicolas-petton.fr');
ga('send', 'pageview');
</script>
<link rel="alternate" type="application/rss+xml"
href="http://nicolas-petton.fr/blog/index.xml"
title="RSS feed">
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="preamble" class="status">
<div class='intro'>
<img src='/images/profile.jpg' alt='Nicolas Petton'/>
<h1>Nicolas Petton</h1>
<p>Web developer, Lisper, Smalltalker & Emacs maniac.</p>
</div>
<div class='nav'>
<ul>
<li><a href='/'>Home</a></li>
<li><a href='/blog/index.html'>Blog</a></li>
<li><a href='https://emacs.cafe'>Emacs Café</a></li>
<li><a href='https://petton.fr/git/nico'>GitLab</a></li>
<li><a href='http://github.com/NicolasPetton'>GitHub</a></li>
<li><a href='http://twitter.com/NicolasPetton'>Twitter</a></li>
<li><a href='/contact.html'>Contact</a></li>
</ul>
</div>
</div>
<div id="content">
<h1 class="title"><b>Amber</b> 0.12.0</h1>
<div id="outline-container-org286ea8c" class="outline-2">
<h2 id="org286ea8c"><a id="ID-5cff231c-e5df-4970-9268-6dda48619b17"></a><b>Amber</b> 0.12.0</h2>
<div class="outline-text-2" id="text-org286ea8c">
<div class="pubdate">
November 12, 2013
</div>
<p>
The last 3 months have been exciting in Amber-land!
</p>
<p>
The new release includes a lot of improvements, from the new package
management to the AST interpreter, as well as improvements in
Helios, the CLI tools and the compiler, among other changes.
</p>
<p>
This time we managed to release after 3 months of development, but
the goal is to shorten development cycles even more. Amber 1.0 isn't
that far away anymore, and with each new release it feels more
reliable and stable.
</p>
<p>
Even though the compiler may change in the future I hope that the JS
file format won't change much until 1.0, making the JavaScript
compiled files backward compatible.
</p>
<p>
Here are some numbers about this release:
</p>
<ul class="org-ul">
<li>660 commits</li>
<li>10 committers</li>
<li>66 unit tests added</li>
<li>152 issues were closed</li>
<li>379 unit tests in total</li>
</ul>
<p>
Read the <a href="https://groups.google.com/forum/#!topic/amber-lang/dv6lEYiKrAk">announcement</a> and grab Amber 0.12.0 from <a href="https://github.com/amber-smalltalk/amber/archive/0.12.0.zip">here</a>!
</p>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'nicolas-petton'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
</div>
</div>
<div id="postamble" class="status">
<div class='footer'>
Copyright 2017 Nicolas Petton.<br>
Last updated 2017-08-02 Wed 09:53. <br>
Built with <a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.2.1 (<a href="http://orgmode.org">Org</a> mode 9.0.9).
</div>
</div>