@ -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> |
@ -0,0 +1,4 @@ | |||
NicolasPetton.github.io | |||
======================= | |||
My website/blog |
@ -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   <span class="tag"><span class="RMoD">RMoD</span> <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… 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… 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> |
@ -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’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="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’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’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’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="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> |
@ -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!   <span class="tag"><span class="amber">amber</span> <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> |
@ -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> |
@ -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> | |||