<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3705644882909734829</id><updated>2011-12-27T00:08:52.770+01:00</updated><category term='Safety'/><category term='Personal'/><category term='space'/><category term='Innovation'/><category term='Printing'/><category term='virtualization'/><category term='technology'/><category term='Microsoft'/><category term='computer history'/><category term='democracy'/><category term='Software freedom'/><category term='publications'/><category term='Family'/><category term='Voting'/><category term='Photos'/><category term='Global Warming'/><category term='Windows'/><category term='Apple'/><category term='Lisp'/><category term='Brain'/><category term='Open-Source'/><category term='Programming'/><category term='Politics'/><category term='Medical Science'/><category term='C++'/><category term='Environment'/><category term='Taodyne'/><category term='psychology'/><category term='UFOs'/><category term='theory of incomplete measurements'/><category term='HP Integrity VM'/><category term='Longhorn'/><category term='Blog Topics'/><category term='Relativity'/><category term='History'/><category term='Humor'/><category term='physics'/><category term='programming languages'/><category term='Religion'/><category term='intentional programming'/><category term='Funny'/><category term='IBM'/><category term='Macintosh'/><category term='HP'/><category term='Ecology'/><category term='dark matter'/><category term='MythTV'/><category term='fortran'/><category term='quantum measurements'/><category term='Music'/><category term='Digital Rights Management'/><category term='HPVM'/><category term='concept programming'/><category term='Patents'/><category term='Science'/><category term='Everything else'/><category term='Digital Entertainment'/><category term='photons'/><category term='cultural differences'/><category term='Teaching'/><category term='VMware'/><category term='XL'/><category term='Linux'/><category term='peer reviews'/><category term='languages'/><category term='Christianity'/><category term='mathematics'/><category term='3D graphics'/><category term='though recognition'/><category term='Computer collection'/><category term='quotes'/><category term='sustainable development'/><category term='user interfaces'/><category term='Education'/><category term='sociology'/><category term='Programming techniques'/><category term='Books'/><title type='text'>Grenouille Bouillie</title><subtitle type='html'>The personal blog of Christophe de Dinechin.&lt;br&gt;
Grenouille Bouillie means boiled frog in French.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default?start-index=101&amp;max-results=100'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>192</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6112965443226843661</id><published>2010-07-25T16:11:00.002+01:00</published><updated>2010-07-25T16:15:21.919+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blog Topics'/><title type='text'>Switching to Wordpress?</title><content type='html'>As my &lt;a href="http://grenouille-bouillie.blogspot.com/2010/07/hello-world-switching-to-wordpress.html"&gt;post yesterday&lt;/a&gt; alluded to, I'm switching to &lt;a href="http://grenouillebouillie.wordpress.com/"&gt;Wordpress&lt;/a&gt; (at least for the time being). The entire blog has been transferred over there thanks to the import mechanism.&lt;br/&gt;&lt;br/&gt;

I invite my reader(s) to try the new site and tell me what they think. I believe that for users, Wordpress is a big win, but your opinion matters. Please leave comments on either side, I will be monitoring both. I will, however, be posting mostly on the Wordpress side.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6112965443226843661?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6112965443226843661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6112965443226843661' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6112965443226843661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6112965443226843661'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/07/switching-to-wordpress.html' title='Switching to Wordpress?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-7547155249072491323</id><published>2010-07-24T16:04:00.004+01:00</published><updated>2010-07-25T16:11:14.867+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taodyne'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='XL'/><title type='text'>Hello World - Switching to Wordpress?</title><content type='html'>&lt;em&gt;This is a copy of my first blog post created on &lt;a href="http://grenouillebouillie.wordpress.com/2010/07/24/hello-world/"&gt;Wordpress&lt;/a&gt;&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;

Following a &lt;a href="http://perpetualbeta.com/release/2009/11/why-the-gpl-does-not-apply-to-premium-wordpress-themes/#comment-63947908"&gt;comment I made&lt;/a&gt; regarding the controversy about the applicability to Wordpress themes of GNU GPL (the license under which Wordpress is distributed), I was invited to switch to Wordpress by &lt;a title="Meet Matt" href="http://ma.tt/"&gt;its creator&lt;/a&gt;. It's hard to say no...

So I created a Wordpress account and a blog. Wordpress creates a first blog entry for you. The title of this first post is "Hello World!". For programmers, "Hello World" is a &lt;a title="Hello World Program" href="http://en.wikipedia.org/wiki/Hello_world_program" target="_blank"&gt;very special thing&lt;/a&gt;. It is this small little program that prints "Hello World" on the screen. In C, it looks like this:
&lt;pre&gt;#include &amp;lt;stdio.h&amp;gt;
int main(int argc, char *argv[])
{
    printf("Hello world!\n");
}&lt;/pre&gt;
The output of this wonderful little program on the console is the following:
&lt;pre&gt;Hello world!&lt;/pre&gt;
To achieve the same result with my own programming language, &lt;a href="http://xlr.sf.net"&gt;XL&lt;/a&gt;, you'd write something like:
&lt;pre&gt;use XL.UI.CONSOLE
WriteLn "Hello world!"&lt;/pre&gt;
The Hello World program is a small benchmark of what a programming language can do. For example, the team behind Google's Go programming language used Hello World to &lt;a title="Hello World in Go" href="http://golang.org/doc/go_tutorial.html" target="_blank"&gt;highlight their support for internationalization&lt;/a&gt;.
&lt;h4&gt;A 3D "Hello World!" in 23 lines of code...&lt;/h4&gt;
So with such an exciting blog post title, it's only fair that I would use this post to show what Hello World looks like in the stuff we are developing at &lt;a href="http://www.taodyne.com"&gt;Taodyne&lt;/a&gt;:

&lt;p align="center"&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/95zljDYHSqU&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/95zljDYHSqU&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

The video is a bit skippy, but it looks smoother in real life. Apparently, there's something wrong in the combination of grabbing the screen with Snapz Pro X, creating a movie with iMovie and publishing on YouTube. Don't ask me why, I'm just the computer guy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-7547155249072491323?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/7547155249072491323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=7547155249072491323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7547155249072491323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7547155249072491323'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/07/hello-world-switching-to-wordpress.html' title='Hello World - Switching to Wordpress?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8695305038656287334</id><published>2010-06-19T23:19:00.006+01:00</published><updated>2010-06-20T18:07:23.457+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='XL'/><title type='text'>The XL axioms: reconciling Lisp and C++ hackers</title><content type='html'>Re-reading &lt;a href="http://www.paulgraham.com/articles.html"&gt;Paul Graham&lt;/a&gt;, specifically &lt;a href="http://www.paulgraham.com/hundred.html"&gt;The Hundred-Year language&lt;/a&gt; helped me understand that I need to write down the axioms of XL. I need to describe XL's equivalent of lambda-calculus for Lisp. If there is such a thing.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Lisp inventions&lt;/h4&gt;
In &lt;a href="http://www.paulgraham.com/icad.html"&gt;Revenge of the Nerds&lt;/a&gt;, Paul Graham makes a list of the 9 things that Lisp invented

&lt;ol&gt;
&lt;li&gt;Conditionals&lt;/li&gt;
&lt;li&gt;Function types (i.e. functions as first-class items)&lt;/li&gt;
&lt;li&gt;Recursion&lt;/li&gt;
&lt;li&gt;Dynamic typing&lt;/li&gt;
&lt;li&gt;Garbage collection&lt;/li&gt;
&lt;li&gt;Programs composed of expressions (no statements)&lt;/li&gt;
&lt;li&gt;A symbol type&lt;/li&gt;
&lt;li&gt;A notation for code using trees of symbols and constants (programs as data).&lt;/li&gt;
&lt;li&gt;The whole language there all the time (no distinction between load time, compile time and run time).&lt;/li&gt;
&lt;/ol&gt;

Of these, many became part of mainstream languages over time. Some remain the exception rather than the norm.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;What makes XL unique&lt;/h4&gt;

Later in that same essay, however, Paul Graham unknowingly explains that makes XL unique in my opinion (emphasis mine):

&lt;blockquote&gt;
Macros (in the Lisp sense) are still, as far as I know, unique to Lisp. This is partly because &lt;em&gt;in order to have macros you probably have to make your language look as strange as Lisp&lt;/em&gt;. It may also be because if you do add that final increment of power, you can no longer claim to have invented a new language, but only a new dialect of Lisp.
&lt;/blockquote&gt;

What XL demonstrates is precisely that you can have Lisp-style macros (and in fact build a whole language on macros) without the hairy syntax. Here is how you use '&lt;tt&gt;if then else&lt;/tt&gt;' in XL (whether the imperative variant XL1 or the functionalish variant XLR):

&lt;pre&gt;
    if A &lt; 0 then
        write "A is negative"
    else
        write "A is positive or null"
&lt;/pre&gt;

This code should look really familiar to users of other languages, I would hope. Yet under the hood, it corresponds exactly to a simple parse tree similar to what Paul Graham refers to in his point #6. Here is what that parse tree will look like if you expand it:

&lt;pre&gt;
&lt;b&gt;% ./xl -parse ifthenelse.xl -style debug -show&lt;/b&gt;
(infix else
 (infix then
  (prefix
   if
   (infix &lt;
    A
    0))
  (block indent
   (prefix
    write
    "A is negative")))
 (block indent
  (prefix
   write
   "A is positive or null")))
&lt;/pre&gt;

The big difference with Lisp is that Lisp, as Paul Graham points it out, has no parser. XL has a simple parser, but a parser nonetheless.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Axiom #1: A simple parse tree improves code readability&lt;/h4&gt;

This leads to axiom #1 of XL: you can parse text with 8 node types or less. The 8 node types currently found in XLR are:

&lt;ol&gt;
&lt;li&gt;Integer: Numbers like &lt;tt&gt;1234&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Real: Numbers like &lt;tt&gt;3.1415&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Text: Literals such as &lt;tt&gt;"ABC"&lt;/tt&gt; or &lt;tt&gt;'X'&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Names and symbols: Names contain letters and digits, like &lt;tt&gt;HelloWorld&lt;/tt&gt; or &lt;tt&gt;X0&lt;/tt&gt;, symbols contain other characters such as &lt;tt&gt;;&lt;/tt&gt; or &lt;tt&gt;-&amp;gt;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Prefix: Adjacent nodes where the first one defines the operation, such as &lt;tt&gt;sin x&lt;/tt&gt; or &lt;tt&gt;-3&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;Postfix: Adjacent nodes where the second one defines the operation, such as &lt;tt&gt;3!&lt;/tt&gt; (factorial of 3) or &lt;tt&gt;24in&lt;/tt&gt; (24 inches)&lt;/li&gt;
&lt;li&gt;Infix: Adjacent nodes separated by a name or symbol which defines the operation, such as &lt;tt&gt;3+4&lt;/tt&gt; or &lt;tt&gt;X and Y&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Block: A node surrounded by separators, such as &lt;tt&gt;(24-3)&lt;/tt&gt; or the second half of the prefix &lt;tt&gt;A[3]&lt;/tt&gt;.&lt;/li&gt;
&lt;/ol&gt;

This can be reduced to less than 8 relatively easily: the real and integer types could be merged into a "number" type, the prefix and postfix could be merged into a "positional" operator, which could be made more general, for instance allowing "above" and "below" notations.&lt;br/&gt;&lt;br/&gt;

In practice however, the choice currently implemented in XL is a practical trade-off. For instance, the natural computer representation of integers and real numbers are different, so it makes sense to treat them as separate from the beginning.&lt;br/&gt;&lt;br/&gt;

Of note, in XL, indentation is represented by a block, and line separators are just another kind of infix.&lt;br/&gt;&lt;br/&gt;

The benefit of this representation compared to the Lisp representation is that it is only marginally more complex (4 constructed node types instead of one, the list), but allows us to parse things much closer to the way humans do. For instance, XL will parse &lt;tt&gt;2+3*6&lt;/tt&gt; the right way.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Axiom #2: Programs can be evaluated with macros&lt;/h4&gt;

Despite what Paul Graham says, Lisp really has two "modes" of operation: macros/compile-time and evaluation. The distinction is subtle: Macros (and compilers) evaluate one program to transform another program, whereas evaluation evaluates the program itself.&lt;br/&gt;&lt;br/&gt;

In the XL1 compiler (the XL imperative language), the distinction is more marked than in Lisp, whereas in XLR (the XL runtime language), it is less clearly visible. Let me illustrate with an example of each.&lt;br/&gt;

In XL1, you would define a recursive factorial as follows:
&lt;pre&gt;
function Factorial(N : integer) return integer written N! is
    if N = 0 then
        return 1
    else
        return N * (N-1)!
&lt;/pre&gt;

That example looks really similar to what you would write in C or Ada or whatever other imperative language you can think of. But the parse tree is there, not too far. One example is the notation &lt;tt&gt;written N!&lt;/tt&gt;. This allows the compiler to recognize that &lt;tt&gt;(N-1)!&lt;/tt&gt; is really a call to Factorial. This is called &lt;em&gt;expression reduction&lt;/em&gt;. This is already quite useful, but basically it's a compile-time only thing.&lt;br/&gt;&lt;br/&gt;

Under the hood, however, the XL1 compiler uses the exact same mechanism to recognize &lt;tt&gt;(N-1)!&lt;/tt&gt; and to recognize &lt;tt&gt;if-then-else&lt;/tt&gt;. The exact same macro rewrite mechanism is at play. In fact, you can extend the compiler easily with your own "macros", so that for example you could write &lt;tt&gt;d/dx(sin x)&lt;/tt&gt; and have the compiler rewrite it for you as &lt;tt&gt;cos x&lt;/tt&gt;. This particular differentiation plug-in has been in the compiler for several years now.&lt;br/&gt;&lt;br/&gt;

In short, the language looks imperative, but it's implemented as a big set of macros.&lt;/br&gt;&lt;br/&gt;

By contrast, in XLR, you would define the same function as:

&lt;pre&gt;0! -&amp;gt; 1
N! -&amp;gt; N * (N-1)! &lt;/pre&gt;

The code is much shorter, because XLR basically has only one built-in operator, which is the macro rewrite operator &lt;tt&gt;-&amp;gt;&lt;/tt&gt;. XLR is little more than a big macro pre-processor. Now, if XLR happens to dynamically generate machine code using LLVM to evaluate this quickly enough, it's just an &lt;em&gt;optimization&lt;/em&gt;, an evaluation strategy.&lt;br/&gt;&lt;br/&gt;

As a result, in XLR, evaluation and macros are practically the same thing, even more so than in Lisp in my opinion.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Axiom #3: C+ hackers and Lisp hackers are both right&lt;/h4&gt;

Depending on whether your favorite language is C or Lisp, Ada or Haskell, Java or Python, you may prefer the first or the second approach. It's really a matter of taste, and after years of healthy competition, the two camps are not any closer to being reconciled&lt;br/&gt;&lt;br/&gt;

What XL brings to the table is a single technology that demonstrably can do both.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Axiom #4: It works, almost&lt;/h4&gt;

Well, today, XL does neither too well, mostly because the technology is not finished. It has never stopped making progress in the years since the project began, though. If you want to contribute, go to &lt;a href="http://xlr.sf.net"&gt;the XL web site&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8695305038656287334?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8695305038656287334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8695305038656287334' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8695305038656287334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8695305038656287334'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/06/xl-axioms-reconciling-lisp-and-c.html' title='The XL axioms: reconciling Lisp and C++ hackers'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5839351353866857414</id><published>2010-06-19T13:42:00.012+01:00</published><updated>2010-06-19T16:08:11.439+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><category scheme='http://www.blogger.com/atom/ns#' term='XL'/><title type='text'>XL: Advancing the state of programming languages</title><content type='html'>This is the 200th post on this blog!&lt;br/&gt;&lt;br/&gt;

The &lt;a href="http://osl.iu.edu/wgp2010/doku.php"&gt;WGP2010 workshop&lt;/a&gt; was a good occasion for me to write a short summary of where we stand with XL. With &lt;a href="http://grenouille-bouillie.blogspot.com/2010/01/goodbye-hp-hello-taodyne.html"&gt;the creation of Taodyne&lt;/a&gt;, I'm spending much more time working on XL and &lt;em&gt;with&lt;/em&gt; XL. This may not be immediately visible, thought, because XL is only a tool to achieve Taodyne's objectives, it is not a goal in itself.&lt;br/&gt;&lt;br/&gt;

The article's title is "&lt;em&gt;Eliminating Newspeak in Programming language&lt;/em&gt;". Here is the abstract:

&lt;blockquote&gt;
    Programming languages provide us with numerous tools. But like the
    fictional language Newspeak in George Orwell's 1984, they also restrict
    what we can say, and in doing so, they shackle our minds. As a result,
    historical programming language all became an economic dead weight as
    soon as the hardware, fueled by Moore's law, passed them by.&lt;br/&gt;&lt;br/&gt;

    XL is a programming language designed to get rid of this Newspeak in
    programming. Its primary focus is to help programmers add their own
    concepts and their own notations to the language. To validate this
    approach, many of the traditional features that XL provides are
    constructed, not built in the compiler. The associated methodology is
    called ``concept programming''. It focuses on the transformation of ideas
    into programs.
&lt;/blockquote&gt;

Writing an article about XL made me realize two things and a half:

&lt;ol&gt;
&lt;li&gt;XL remains novel and relevant today. Ten years after I first shared code, the problems that XL addresses are still there, the solutions are still nowhere seen in other languages.&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;On the other hand, the language never caught on. But then, the article, if accepted, will be the first one I ever wrote about XL for academic circles. From that point of view, it's good to have left HP.&lt;/lI&gt;

&lt;li&gt;XL is still evolving, and the compilers are still far from being finished... Shame on me.&lt;/li&gt;

&lt;/ol&gt;

So I think that XL is really capable of advancing the state of programming languages, but I need to put some additional muscle to explain what it is. Or as a friend reminded me yesterday: "It goes without saying, but it goes better saying it."&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;From concept to code&lt;/h4&gt;

The first key idea behind XL is that the role of a programming language is to help us &lt;em&gt;transform ideas into code&lt;/em&gt;. The idea seems simple enough... until you dig deeper and realize just how hard this is. This &lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;presentation&lt;/a&gt; is a good starting point...&lt;br/&gt;&lt;br/&gt;

What does it mean to you, to &lt;em&gt;transform ideas into code&lt;/em&gt;? How well do the existing languages do that for you? Do you sometimes feel impaired in the way to write your code? Are there things that you simply can't say with your favorite programming language? Do you have funny horror stories about saying one thing and having the compiler understand an entirely different thing?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5839351353866857414?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5839351353866857414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5839351353866857414' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5839351353866857414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5839351353866857414'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/06/xl-advancing-state-of-programming.html' title='XL: Advancing the state of programming languages'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2259476107222316447</id><published>2010-06-18T06:35:00.002+01:00</published><updated>2010-06-18T06:46:58.111+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Religion'/><title type='text'>Linus Torvalds on religion</title><content type='html'>Linus Torvalds, original creator of Linux, &lt;a href="http://torvalds-family.blogspot.com/2010/02/demons-really.html"&gt;writes&lt;/a&gt; in his blog:

&lt;blockquote&gt;
One of them starts to seriously talk about praying demons away, and then after the prayer has driven the demon out of the person, you have to support the person so that the demon doesn't come back. And nobody laughs at him.&lt;br/&gt;&lt;br/&gt;

Seriously? What year is it again? I'm pretty sure they didn't have Costco foodcourts in the middle ages, but maybe there was some time warping going on.&lt;br/&gt;&lt;br/&gt;

What the hell is wrong with people?
&lt;/blockquote&gt;

There is a large number of comments (169 to this date). Very few of them are critical of Linus at the beginning, but then a few start voicing a different opinion. And Linus Torvalds answers with gems like:

&lt;blockquote&gt;
And yes, it is acceptable to ridicule people for their beliefs. If you meet a grown person who believes in the easter bunny, in santa claus, or in the tooth fairy, they're damn well fair game. 
&lt;/blockquote&gt;

Seriously, what's wrong with Linus Torvalds?&lt;br/&gt;&lt;br/&gt;

If someone doesn't know something, you &lt;em&gt;educate&lt;/em&gt; them. You don't run back home and cowardly post blog entries mocking your "opponent" to a friendly crowd! This is really not Linus Torvalds' most glorious moment...&lt;br/&gt;&lt;br/&gt;

What I find more annoying is just how religiously illiterate Torvalds is, and how that doesn't stop him from believing he knows everything about everything. He is &lt;a href="http://grenouille-bouillie.blogspot.com/2008/10/what-is-your-dangerous-idea.html"&gt;not alone&lt;/a&gt; in his belief that to be religious, you have to be stupid.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2259476107222316447?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2259476107222316447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2259476107222316447' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2259476107222316447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2259476107222316447'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/06/linus-torvalds-on-religion.html' title='Linus Torvalds on religion'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6873827154322909474</id><published>2010-05-20T13:28:00.002+01:00</published><updated>2010-05-20T13:29:28.248+01:00</updated><title type='text'>Facebook privacy policy</title><content type='html'>&lt;a href="http://mattmckeon.com/facebook-privacy/"&gt;This&lt;/a&gt; might be interesting for folks using Facebook...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6873827154322909474?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6873827154322909474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6873827154322909474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6873827154322909474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6873827154322909474'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/05/facebook-privacy-policy.html' title='Facebook privacy policy'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4730142758731927921</id><published>2010-05-01T18:10:00.004+01:00</published><updated>2010-05-01T18:21:02.871+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Patents'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Patents considered harmful...</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Tricorder"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/3/36/20071210-672_startrektosclassictricorder.jpg" width="200" align="right"/&gt;&lt;/a&gt;

In the wake of the HP's acquisition of Palm, Technologizer &lt;a href="http://technologizer.com/2010/04/29/palm-patents/"&gt;ran a story&lt;/a&gt; about some Palm patents showing Palm gizmos that could have happened. Except that they didn't.&lt;br/&gt;&lt;br/&gt;

Something bothers me about all these patents: the majority of them describe items that couldn't possibly have been built at the time the patent was granted. &lt;a href="http://technologizer.com/2010/04/29/palm-patents/5/"&gt;Video-conferencing on a Palm Pilot?&lt;/a&gt; Seriously?&lt;br/&gt;&lt;br/&gt;

To me, this begs the question of whether it is sufficient to describe something to be able to patent it, irrespective of whether you have the technical capability to built it. If so, then StarTrek writers probably have patents on a number of useful technologies.&lt;br/&gt;&lt;br/&gt;

If you don't have a safeguard against "innovation" that is little more than a wild idea about something that might exist some day, then you open the doors for patent trolls, since they don't need to ability to build the stuff, only the ability to talk about it.&lt;br/&gt;&lt;br/&gt;

Any engineer will tell you: anybody can have a good idea. It's building it that is hard. I believe that patents were intended to promote real innovation, not just random ideas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4730142758731927921?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4730142758731927921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4730142758731927921' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4730142758731927921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4730142758731927921'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/05/patents-considered-harmful.html' title='Patents considered harmful...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8605444179844813642</id><published>2010-04-30T18:23:00.001+01:00</published><updated>2010-05-01T18:33:52.524+01:00</updated><title type='text'>Dark matter as a proof of E.T. intelligence?</title><content type='html'>Here is a random thought... What if dark matter was a sign of intelligent extra-terrestrial life?&lt;br/&gt;&lt;br/&gt;

The idea is simply that a Type III civilization on the &lt;a href="http://en.wikipedia.org/wiki/Kardashev_scale"&gt;Kardashev scale&lt;/a&gt; would control the flows of energy escaping their galaxy. Many solar systems (the inhabitable or useful ones) would end up with mechanisms such as &lt;a href="http://en.wikipedia.org/wiki/Dyson_sphere"&gt;Dyson spheres&lt;/a&gt;, therefore lowering the amount of energy escaping these system, to the point where we would no longer be able to identify such systems as stars.&lt;br/&gt;&lt;br/&gt;

I don't know if the idea has any merit, but a quick Google search shows that I'm &lt;a href="http://www.abovetopsecret.com/forum/thread441754/pg1"&gt;not the first one to have it&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8605444179844813642?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8605444179844813642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8605444179844813642' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8605444179844813642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8605444179844813642'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/04/dark-matter-as-proof-of-et-intelligence.html' title='Dark matter as a proof of E.T. intelligence?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-888913613974461565</id><published>2010-04-21T08:32:00.005+01:00</published><updated>2010-04-21T08:38:23.233+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Where are the hackers gone?</title><content type='html'>Hackers, originally, didn't mean the young kid who breaks into a computer, but the raving geniuses who built the stuff that we take for granted today. Think "Dilbert", think über-geek.&lt;br/&gt;&lt;br/&gt;

&lt;p align="center"&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-t0aHIXuFrc&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-t0aHIXuFrc&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

This leads to the question: what did all these folks become, 25 years after the computer revolution  began? &lt;a href="http://www.wired.com/magazine/2010/04/ff_hackers"&gt;Wired answers the question&lt;/a&gt;:

&lt;blockquote&gt;
But it was the hackers themselves who inspired a generation of programmers, thinkers, and entrepreneurs — and not just fellow techies. Everyone who has ever used a computer has benefited. The Internet itself exists thanks to hacker ideals — its expansion was lubricated by a design that enabled free access. The word hacker entered the popular lexicon, although its meaning has changed: In the mid-’80s, following a rash of computer break-ins by teenagers with personal computers, true hackers stood by in horror as the general public began to equate the word — their word — with people who used computers not as instruments of innovation and creation but as tools of thievery and surveillance. The kind of hacker I wrote about was motivated by the desire to learn and build, not steal and destroy. On the positive side of the ledger, this friendly hacker type has also become a cultural icon — the fuzzy, genial whiz kid who wields a keyboard to get Jack Bauer out of a jam, or the brainy billionaire in a T-shirt — even if today he’s more likely to be called a geek.
&lt;/blockquote&gt;

In the end, some of them became rich, some became famous, some are still hacking in relative obscurity... I feel really fortunate to have seen these very early days when 8 bits and 16K of memory were considered quite respectable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-888913613974461565?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/888913613974461565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=888913613974461565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/888913613974461565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/888913613974461565'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/04/where-are-hackers-gone.html' title='Where are the hackers gone?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5720315107879834084</id><published>2010-04-21T08:13:00.006+01:00</published><updated>2010-04-21T08:46:01.098+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digital Rights Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Software freedom'/><category scheme='http://www.blogger.com/atom/ns#' term='Digital Entertainment'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>The Good and Bad of DRM defense</title><content type='html'>&lt;a href="http://www.crunchgear.com/2010/04/18/the-users-manifesto-in-defense-of-hacking-modding-and-jailbreaking/"&gt;&lt;img align="right" src="http://www.crunchgear.com/wp-content/uploads/2010/04/bluesky.jpg" width="250"/&gt;&lt;/a&gt;

Here is the &lt;a href="http://www.youtube.com/watch?v=PzUoWkbNLe8"&gt;right way&lt;/a&gt; to tell people about DRM and freedom. I'm sorry I can't embed it here, YouTube says "Embedding disabled by request" (who talks about DRM...) You should also read &lt;a href="http://www.eff.org/deeplinks/2010/04/everyone-who-s-made-hitler-parody-leave-room"&gt;the EFF original story&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

Unfortunately, the freedom fighters are not always that good. Here is an entirely &lt;a href="http://patentabsurdity.com/download.html"&gt;wrong way&lt;/a&gt; to attack the problem. Hint: don't watch that movie, it's boring. Instead of making simple points in a humorous way, we get a lot of talking heads, all on the same side of the story except for a few "bad guys". Only the analogy with music remotely hits a chord in that whole movie. Yawn...&lt;br/&gt;&lt;br/&gt;

Don't get fooled, though. There is a war going on, a war to grab land and power, a war to get more control. That war is currently being played &lt;a href="http://grenouille-bouillie.blogspot.com/2010/04/steve-jobs-and-iphone-lockdown.html"&gt;on your iPhone&lt;/a&gt; by Apple, on &lt;a href="http://www.thinq.co.uk/news/2010/4/14/sony-refuses-to-sanction-ps3-refunds/"&gt;your PS3&lt;/a&gt; by Sony. But it's all about &lt;a href="http://www.crunchgear.com/2010/04/18/the-users-manifesto-in-defense-of-hacking-modding-and-jailbreaking/"&gt;denying you rights&lt;/a&gt; that you have and that you should fight to keep. &lt;a href="http://gizmodo.com/5490310/its-time-to-declare-war-against-apples-censorship"&gt;Gizmodo says it quite well&lt;/a&gt;:

&lt;p align="center"&gt;&lt;a href="http://gizmodo.com/5490310/its-time-to-declare-war-against-apples-censorship"&gt;&lt;img src="http://cache.gawkerassets.com/assets/images/4/2010/03/500x_censorship.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5720315107879834084?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5720315107879834084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5720315107879834084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5720315107879834084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5720315107879834084'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/04/good-and-bad-of-drm-defense.html' title='The Good and Bad of DRM defense'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1550175635090206406</id><published>2010-04-15T08:28:00.002+01:00</published><updated>2010-04-21T08:31:36.904+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Virtual Windows</title><content type='html'>I think that this is really cool:

&lt;p align="center"&gt;
&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Vqu9NuINKbc&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Vqu9NuINKbc&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;

Of course, at the moment, only one viewer is allowed to enjoy the benefits of the technology, and he/she/it has to wear some special device that tells the windows where she/it/he is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1550175635090206406?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1550175635090206406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1550175635090206406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1550175635090206406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1550175635090206406'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/04/virtual-windows.html' title='Virtual Windows'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-9196594375136112290</id><published>2010-04-11T19:53:00.013+01:00</published><updated>2010-04-13T07:36:36.231+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Steve Jobs decided to knife the baby (oh no, not again!)</title><content type='html'>There has been some stir around a change in the software development kit for the iPhone. See &lt;a href="http://www.taoeffect.com/blog/2010/04/steve-jobs-response-on-section-3-3-1/"&gt;the Tao Effect Blog&lt;/a&gt; for an exchange between an iPhone developer and Steve Jobs on the topic.&lt;br/&gt;&lt;br/&gt;

Apple decided to change the wording of the license to forbid use of non-approved development tools. I believe that Steve Jobs is dead wrong on this one. Our own application requires an interpreter, which was pretty much already &lt;a href="http://reviews.cnet.com/8301-19512_7-10346635-233.html"&gt;verboten&lt;/a&gt;. The new language in the SDK makes it even worse, blocking some workarounds we could have considered. Well, there is no way I would go for a subpar solution and substandard user experience just because Steve Jobs happens to have a beef with Adobe at the moment. So we will skip the iPhone platform entirely.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://www.macobserver.com/columns/thisweek/2004/20040831.shtml"&gt;&lt;img src="http://www.macmothership.com/gallery/newads2/seriouslyIBM_l.jpg" width="250" align="right"/&gt;&lt;/a&gt;
I can only hope that our application will one day matter enough that people will make it a factor in their choice of mobile phone. But even if it doesn't (quite likely), I can't imagine that we are alone in this situation. It only takes a few killer apps that can't reach the iPhone due to Apple's control-freakness to tip the balance away to some other platform.&lt;br/&gt;&lt;br/&gt;

Steve Jobs should know, of all people. Apple was once so dominant in the field of personal computers it could &lt;a href="http://www.macobserver.com/columns/thisweek/2004/20040831.shtml"&gt;laugh at IBM&lt;/a&gt;, much like the iPhone in smartphones today. Well, guess what? A few years down the road, IBM's presence in the Macintosh core market was no longer laughing matter.&lt;br/&gt;&lt;br/&gt;

The parallel is striking. Back then, Steve Jobs wanted complete control on the Macintosh, to the point of &lt;a href="http://www.folklore.org/StoryView.py?project=Macintosh&amp;story=Diagnostic_Port.txt&amp;sortOrder=Sort%20by%20Date&amp;detail=medium"&gt;not allowing expansion slots&lt;/a&gt;. The iPhone has no expansion of any kind, no SD card, nothing, except for an Apple-proprietary connector. The Macintosh unique software would not be licensed to anybody. The iPhone OS only powers the iPhone. To program a Macintosh, you had to buy a Lisa. To program an iPhone you need a Macintosh. Apple told you what was OK and not OK on their platform (Inside Macintosh User Interface Guidelines), and still does (SDK license agreement and AppStore approval process). Microsoft got advance notice of the Macintosh, and they loved it. Google got advanced notice of the iPhone, and they loved it.&lt;br/&gt;&lt;br/&gt;

But Microsoft didn't want to become Steve Jobs' puppet, and after a while they walked, something which Jobs took as a betrayal. Years later, Google &lt;a href="http://gizmodo.com/5483662/how-apple-and-googles-romance-turned-to-hate"&gt;didn't want to become Steve Jobs' puppet either&lt;/a&gt;, and they too walked. And Steve Jobs felt betrayed again. Twenty five years ago, Microsoft ended up developing their own competing platform. Steve Jobs saw that as stealing their IP, and sued. Today, Google ended up developing their own competing platform, and Steve Jobs is suing (HTC).&lt;br/&gt;&lt;br/&gt;

I can't help but wonder if there's something that I'm missing. Steve Jobs must be smarter than this, after all he's contributed to our daily lives. Yet history is repeating itself. Steve Jobs seems to believe that he's entitled not just to benefit from his own creativity (perfectly legitimate) but also to control and limit the creativity of others (perfectly not legitimate). That's quite unfortunate, because the iPhone rocks and keeps getting better, like the original Macintosh did. Still, if the iPhone in a few years turns into a marginal platform with a shrinking market share, Steve Jobs will only need a mirror to look at the person to blame. No amount of suing will repair the predictable result of his own mistakes.&lt;br/&gt;&lt;br/&gt;

Nothing is irreversible at this point, though. Steve Jobs is smart, and the team at Apple is top-notch. Maybe someone at Apple can convince Steve Jobs that he should return to what he does best, winning by delivering insanely great products, rather than be at his worst by delivering inanely closed products. Please Steve, for the good of your own company, get rid of paragraph 3.3.1 in the iPhone SDK, and then work a plan to attack Android where it would hurt them, e.g. by licensing iPhoneOS (gasp) and allowing other teams to not just use your device but improve it (re-gasp). Otherwise, it's safe to predict that in a few years, I will be using an Android phone and regret the good old times when the iPhone had a shot, much like I was forced to use Windows for most of my professional life and hated it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-9196594375136112290?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/9196594375136112290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=9196594375136112290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/9196594375136112290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/9196594375136112290'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/04/steve-jobs-and-iphone-lockdown.html' title='Steve Jobs decided to knife the baby (oh no, not again!)'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5757104586130381703</id><published>2010-03-11T17:36:00.007+01:00</published><updated>2010-03-11T21:52:59.639+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taodyne'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><title type='text'>Eating my own dog food</title><content type='html'>This post was edited from within Tao, for the first time. This is looking really cool, but I can't really tell why just yet. It just makes me happy to see that we are making very significant progress.&lt;br/&gt;&lt;br/&gt;

More interesting general news: &lt;a href="http://www.cs.brown.edu/people/acb/codebubbles_site.htm"&gt;code bubbles&lt;/a&gt; are an interesting new paradigm for IDEs. It's a really nice looking user interface, both fancy and apparently usable. Worth taking a look at, IMHO.&lt;br/&gt;&lt;br/&gt;

&lt;p align="center"&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PsPX0nElJ0k&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PsPX0nElJ0k&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;

Now, I wonder why the Java programmers get all the fun and interesting tools... I have a theory that maybe they need so many tools because programming in Java is more difficult than in most other languages...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5757104586130381703?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5757104586130381703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5757104586130381703' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5757104586130381703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5757104586130381703'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/eating-my-own-dog-food.html' title='Eating my own dog food'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6728556856221671196</id><published>2010-03-10T23:02:00.005+01:00</published><updated>2010-03-10T23:15:37.350+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><title type='text'>The Reinvigorated Programmer</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/ZX-81"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/3/31/Sinclair_ZX81.jpg" width="150" align="right"/&gt;&lt;/a&gt;

Thanks to Slashdot, I just came across a blog I did not know, &lt;a href="http://reprog.wordpress.com/"&gt;The Reinvigorated Programmer&lt;/a&gt;. The last few posts I read there were all quite good:

&lt;ul&gt;

&lt;li&gt;&lt;a href="http://reprog.wordpress.com/2010/03/09/where-dijkstra-went-wrong-the-value-of-basic-as-a-first-programming-language/"&gt;The value of BASIC as a first programming language&lt;/a&gt; dwells into interesting educational aspects of a much criticized language. To his argument, I'd add that anybody who learned BASIC had to learn how to do interesting programs in 48K at best, but sometimes as little as 1K (like on the &lt;a href="http://en.wikipedia.org/wiki/ZX-81"&gt;ZX-81&lt;/a&gt;)&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://reprog.wordpress.com/2010/03/03/whatever-happened-to-programming/"&gt;Whatever happened to programming&lt;/a&gt;, quickly followed by &lt;a href="http://reprog.wordpress.com/2010/03/04/whatever-happened-to-programming-redux-it-may-not-be-as-bad-as-all-that/"&gt;a redux&lt;/a&gt;, discusses how programming has changed into a job where you mostly assemble software components. I'd say it's about time, but it's true that assembling components is sometimes less fun than creating your own.&lt;/li&gt;

&lt;/ul&gt;

In any case, all the posts I read interested me, despite being illustrated by strange pictures of &lt;a href="http://reprog.files.wordpress.com/2010/03/05_californiaroll3.jpg"&gt;cold dead fish&lt;/a&gt; or &lt;a href="http://reprog.files.wordpress.com/2010/03/buffy.jpg"&gt;cold dead humans&lt;/a&gt;. Well, the writing is good, and at least the guy understood that a few pictures here and there help.&lt;br/&gt;&lt;br/&gt;

Added to the side links.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6728556856221671196?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6728556856221671196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6728556856221671196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6728556856221671196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6728556856221671196'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/reinvigorated-programmer.html' title='The Reinvigorated Programmer'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3450263749781160278</id><published>2010-03-09T06:49:00.003+01:00</published><updated>2010-03-09T06:51:57.160+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='Medical Science'/><category scheme='http://www.blogger.com/atom/ns#' term='Brain'/><title type='text'>Making the best of your brain</title><content type='html'>A truly amazing &lt;a href="http://www.youtube.com/watch?v=XeJSXfXep4M"&gt;Google Talk&lt;/a&gt; presented by David Rock, author of the book &lt;em&gt;Your Brain at Work&lt;/em&gt;. And if the title of the book has at least two meanings, it's definitely intentional.

&lt;p align="center"&gt;
&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XeJSXfXep4M&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/XeJSXfXep4M&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3450263749781160278?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3450263749781160278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3450263749781160278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3450263749781160278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3450263749781160278'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/making-best-of-your-brain.html' title='Making the best of your brain'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2725380198272455376</id><published>2010-03-07T10:11:00.034+01:00</published><updated>2010-03-08T21:28:37.184+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><title type='text'>Why Go isn't my favourite programming language</title><content type='html'>&lt;a href="http://golang.org"&gt;&lt;img src="http://golang.org/doc/logo-153x55.png" align="right"/&gt;&lt;/a&gt;

In case you are wondering, the title of this post is a nod to Brian Kernighan's &lt;a href="http://azure.humbug.org.au/~aj/bwk_on_pascal.html"&gt;Why Pascal isn't my favourite programming language&lt;/a&gt;. I'm only showing my age here, not trying to compare myself to Kernighan :-)&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Summary&lt;/h4&gt;

There has been a lot of buzz recently about the Go programming language. There was an &lt;a href="http://developers.slashdot.org/story/10/03/01/1317228/Google-Go-Capturing-Developer-Interest"&gt;article on Slashdot&lt;/a&gt; recently, &lt;a href="http://www.youtube.com/watch?v=rKnDgT73v8s"&gt;videos of Google talks&lt;/a&gt; on YouTube (&lt;a href="http://golang.org/doc/talks/go_talk-20091030.pdf"&gt;slides&lt;/a&gt;), the works. And of course, there is the &lt;a href="http://golang.org/"&gt;Go web site&lt;/a&gt; itself. The YouTube video below has been viewed 183,000 times as of this writing, so the roll-out campaign had some success...&lt;br/&gt;&lt;br/&gt;

&lt;p align="center"&gt;
&lt;object width="400" height="240"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rKnDgT73v8s&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rKnDgT73v8s&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="240"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;

Of particular interest are the minds and forces behind the language. The initial contributors are Robert Griesemer, &lt;a href="http://en.wikipedia.org/wiki/Ken_Thompson"&gt;Ken Thompson&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Rob_Pike"&gt;Rob Pike&lt;/a&gt;, and the project was developed at Google over a time period of two years. With such a pedigree, expectations are high. And that's probably why I'm a little disappointed with what was presented so far. It's not that it's a bad language, it's more like as so-what language. There's nothing I find really compelling about it. In particular, I didn't find anything that would make me significantly revisit my own pet programming language, &lt;a href="http://xlr.sf.net"&gt;XL&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://xlr.sf.net"&gt;&lt;img src="http://cc3d.free.fr/taodyne/Welcome_files/shapeimage_2.jpg" width="200" align="right"/&gt;&lt;/a&gt;
The point of views below are indeed largely based on my own experience designing and implementing a programming language. So I would say that they are both educated and biased. Keep this in mind as you read on. Also, I tend to point out the negative aspects because the campaign discussed above did a rather good job at highlighting the strong points of Go.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;First impression&lt;/h4&gt;

My initial impression of the Go programming language, based on the material above, is that it has a few serious flaws:

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;No generics&lt;/b&gt;: Go is yet another language where generics will be bolted-on as an afterthought. As a direct consequence, Go includes many constructs (including maps or goroutines) that in my opinion rightfully belong to a library. This is important for programmers: the choices of the Go designers might not match the needs of the Go programmers. Worse yet, if you have some reason to use some kind of fancy container, Go is not the right language to implement it.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Not suitable for what I call "Systems"&lt;/b&gt;: The Go designers seem to consider that "Systems" equates writing applications such as web browsers. To me, "systems" implies that you can write programs that may talk directly to the hardware (as in operating systems or real-time systems). At first glance, Go seems ill-suited for such tasks. In particular, it does not just provides a concurrency or memory management model, but actively enforces it at the language level. In other words, if you want to write a real-time system in Go, you first need to implement the runtime support for goroutines or Go garbage collection. I ran into this problem in the early days of &lt;a href="http://en.wikipedia.org/wiki/HPVM"&gt;HPVM&lt;/a&gt;: implementing a C++ runtime on bare metal proved complicated enough that I had to rewrite my C++ binary translator in plain old C.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Orwellian Newspeak&lt;/b&gt;: The two examples above illustrate how, all too often, Go "knows what is good for you" and won't let you deviate from the party line. This goes as far as imposing where the braces go for rather bogus syntactic reasons, deciding when you can use upper-case letters, or formatting the code automatically when you submit it!&lt;br/&gt;&lt;/li&gt;

&lt;/ul&gt;

These three aspects of the design mean that I probably won't use the language seriously any time soon. I can't do meta-programming well because of the first issue. I can't do system software because of the second issue. And if I want to explore, I will be constrained in what I can do because of the third one. These issues may not mean as much to the majority of programmers, though. Just because Go is not a language for me doesn't mean that it won't work for you. Your mileage may vary.&lt;br/&gt;&lt;br/&gt;

In any case, there are a number of aspects to the Go language worth discussing, if only because of the publicity it received.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Stated Objectives&lt;/h4&gt;

The objectives of the team in creating the language are, according to &lt;a href="http://golang.org/doc/talks/go_talk-20091030.pdf"&gt;the slides&lt;/a&gt;:

&lt;a href="http://en.wikipedia.org/wiki/Flying_car_(fiction)"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/9/99/Kompas_Sofia.JPG" width="150" align="right"/&gt;&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;New&lt;/li&gt;
&lt;li&gt;Experimental&lt;/li&gt;
&lt;li&gt;Concurrent&lt;/li&gt;
&lt;li&gt;Garbage-collected&lt;/li&gt;
&lt;li&gt;Systems&lt;/li&gt;
&lt;li&gt;Language&lt;/li&gt;
&lt;/ul&gt;

In my humble opinion, these objectives lack a clear sense of direction and purpose. They include mere facts ("New"), low-level implementation details ("Garbage-collected"), usage models ("Systems") and actual design objectives ("Concurrent" and maybe "Experimental"). Specifically, "New" might be intended to mean innovative, but while there's little debate that Go is new, I didn't find much in it that wasn't already hammered elsewhere. "Experimental" should probably mean that it explores a few radical ideas, but it could also simply reveal that it's not fully cooked yet. Unfortunately, radical ideas are exactly what I didn't find.&lt;br/&gt;&lt;br/&gt;

Concurrency is the most interesting of these objectives. It is not exactly a novel idea, but there is still a lot of progress to be made in how languages support concurrency. Still, it's hard for me to see what Go adds compared to industrial languages like &lt;a href="http://en.wikipedia.org/wiki/Erlang_(programming_language)"&gt;Erlang&lt;/a&gt;. Sure, Rob Pike demonstrated 100,000 goroutines completing in 1s. At first sight, that might seem impressive. But according to &lt;a href="http://groups.google.com/group/comp.lang.functional/msg/33b7a62afb727a4f?dmode=source&amp;pli=1"&gt;this source&lt;/a&gt;, someone ran 20 million processes in Erlang as early as 2005. And apparently, run-time performance at the time were similar: 5.3μs + 6.3μs times 100,000 would be 1.16 second, very comparable to what Rob Pike demonstrated on presumably faster hardware.&lt;br/&gt;&lt;br/&gt;

The language prominently features garbage collection. Garbage collection for memory today is practically a given. You can't appeal to Java programmers without it. But collecting garbage is not about just memory objects. In real programs, there are many other forms of garbage to recycle: temporary files, open files, locks, threads, open network connections, ... Furthermore, the requirements placed on the garbage collector may vary from application to application. Providing a garbage collector by default is good, providing one that is implemented in the library, that you can taylor to your needs and [gasp] apply to non-memory objects would be so much better... In short, is Go's garbage collection worth the prominent position that its designers gave to it in the presentations? I don't think so personally.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Implicit Objectives&lt;/h4&gt;

It's even more interesting to analyze the implicit objectives of the language. I could find at least three such objectives that, while not explicitly stated, seemed quite important to the design team.

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Compilation speed&lt;/b&gt;: There were many demos of how fast Go compiles, and it's featured prominently on the front page of the web site, so this seems to be a rather important objective to the Go design team.&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Simplicity&lt;/b&gt;: Although it is being described as "slightly bigger than C", Go is clearly intended to remain simple, with a simplified syntax, no parsing ambiguities, ...&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Programmer comfort&lt;/b&gt;: Rob Pike stressed how the language is designed to make it easy to write tools, to compose software (there's a rather nice dependency checking mechanism), to reduce typing, and so on. And of course, not waiting for the compiler is comfortable too.&lt;/li&gt;

&lt;/ul&gt;

All these are rather noble objectives. But they also stress the kind of trade-offs that were made in the design of the language. For example, compilation speed does matter, nobody can dispute that. But in exchange for that speed, we pay 10% in execution speed, and more importantly we lose a number of features I consider essential for productivity, like templates. This may not matter much to software consumers, however. It is true that more and more, we simply compile someone else's code. In that case, compilation speed is practically the only metric that matters.&lt;br/&gt;&lt;br/&gt;

Tipping the balance the other way, why not push the reasoning to the limit, and ditch compilation entirely? A lot of recent work has been in the field of just-in-time compilers. &lt;a href="http://llvm.org/"&gt;LLVM&lt;/a&gt; has shown that it's possible to dynamically generate high-quality code in a portable way. The XLR runtime component of XL is now using LLVM, so that you can execute XLR programs (that is, the run-time language) without any explicit compilation. Compilation does happen, but entirely transparently, on the fly, as you execute the program. In that scenario, some heavier compilation remains possible once the program runs, to get better optimizations, faster execution or tighter verification of the code.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;

In conclusion, Go shows how difficult it is to design an innovative programming language for today's programming world. Many of the choices made by the design team seem rather old-fashioned to me. Go didn't rattle my brain the way Haskell, Erlang or Ada did in their time.&lt;br/&gt;&lt;br/&gt;

But ultimately, the bottom line for me is this: Go seems to be a solution in search of a problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2725380198272455376?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2725380198272455376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2725380198272455376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2725380198272455376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2725380198272455376'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/why-go-isnt-my-favourite-programming.html' title='Why Go isn&apos;t my favourite programming language'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2207307285121644284</id><published>2010-03-05T17:33:00.016+01:00</published><updated>2010-03-07T21:27:34.004+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dark matter'/><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><title type='text'>Dark matter, the modern aether</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Bullet_Cluster"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/e/ea/Bullet_cluster.jpg" width="200" align="right"/&gt;&lt;/a&gt;

Today, my 16-year old son asked me what dark matter was. I was surprised that he would even have heard about dark matter, but it turns out that even junior science magazines talk about the search for dark matter these days. I must say that I'm not too happy about that. The junior science article, like &lt;a href="http://en.wikipedia.org/wiki/Dark_matter"&gt;many other&lt;/a&gt;, present dark matter practically as a fact.&lt;br/&gt;&lt;br/&gt;

The reason this makes me rather nervous is because of the rather obvious parallel with aether. Just like the luminiferous aether, dark matter is something that was postulated when no physical evidence justified it, in order to preserve existing theory.&lt;br/&gt;&lt;br/&gt;

Those of you who were already dabbling in physics during the 1850s&lt;sup&gt;&lt;a href="#note1"&gt;1&lt;/a&gt;&lt;/sup&gt; may recall that luminiferous aether was hardly a ridiculous idea at the time. Aether was very simply the medium carrying light waves, much like air or water carry sound waves. It was initially postulated by Isaac Newton to explain things like refraction. According to &lt;a href="http://en.wikipedia.org/wiki/Timeline_of_luminiferous_aether"&gt;Wikipedia&lt;/a&gt;, Augustin Fresnel proposed in 1818 a theory of light as a transverse wave in aether. To quote Wikipedia, &lt;em&gt;from this point on, no one even seems to question its existence.&lt;/em&gt; In other words, the existence of aether was postulated in order to preserve the existing theory of waves. All existing waves required a medium, such as air or water, therefore it was natural to assume that light waves also needed a medium to carry them.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Luminiferous_aether"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/f/fc/AetherWind.svg" align="left" width="200"/&gt;&lt;/a&gt;

The key point to remember here is that the brightest minds of the time did not question aether at all. Some of them, like Newton or Fresnel invented it. Later, the vast majority of scientists were busy trying to refine the concept to make it work. Yet today, luminiferous aether is seen as the canonical example of an obsolete physics theory. Einstein's relativity made the very notion of aether not just useless, but actually wrong. Relativity simplified things by removing the need for a system of coordinates that would be special, but this simplification meant that aether could not exist, because otherwise aether itself would have defined a system of coordinates that was unique.&lt;br/&gt;&lt;br/&gt;

Back to dark matter. We find ourselves in a similar situation today. There's something about the universe that we very plainly, very visibly do not understand. The original problem, as identified by Fritz Zwicky, was that galaxies do not spin the way they should according to our best theory of gravitation, general relativity. They behave &lt;em&gt;as if&lt;/em&gt; there was more matter in them than we can see.&lt;br/&gt;&lt;br/&gt;

The operational keyword here is &lt;em&gt;as if&lt;/em&gt;. At the moment, we really have no idea whether it's the theory of gravitation that is flawed, or whether there really is 95% of the universe's mass that we can't detect. Talking about "dark matter" is choosing one option over the other. It's pretending that we know, when in reality we still lack a model that really explains all the evidence. In my humble opinion, &lt;a href="http://arxiv.org/pdf/astro-ph/0606216v1"&gt;the jury is still out&lt;/a&gt; on what this model will look like.&lt;br/&gt;&lt;br/&gt;

In short, I'm unhappy about references to dark matter made as if it was a settled topic, a known, validated scientific fact on a par with photons or Pluto. Maybe the problem is with the terminology. Talking about dark matter rather than, say, "gravitational anomaly in galaxies" (GAG) is a good way to preserve the illusion that we know what we are talking about. It makes it &lt;em&gt;sound&lt;/em&gt; real. But just because we gave it a fancy name doesn't make it more real than aether or the tooth fairy.&lt;br/&gt;&lt;br/&gt;

Let's be humble and honestly face the simple fact that our model of mass and gravitation breaks down in face of quite a bit of physical evidence. We find ourselves in the situation of physicists in 1850 whose aether-based theories predicted phenomena like aether drag and aether wind, which experiments repeatedly didn't find. It's exciting, it's fun. It's a good thing for physics, because it means there is something new to be found.&lt;br/&gt;&lt;br/&gt;

&lt;hr&gt;
&lt;a name="note1"&gt;Note 1&lt;/a&gt;: My editor tells me it's considered &lt;a href="http://en.wikipedia.org/wiki/Vampire"&gt;bad taste&lt;/a&gt; to live past 150 on this planet. My apologies to those of my readers I might have offended...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2207307285121644284?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2207307285121644284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2207307285121644284' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2207307285121644284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2207307285121644284'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/dark-matter-modern-aether.html' title='Dark matter, the modern aether'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5122866744832699524</id><published>2010-03-04T21:04:00.006+01:00</published><updated>2010-03-04T21:07:45.527+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taodyne'/><category scheme='http://www.blogger.com/atom/ns#' term='HPVM'/><title type='text'>LeMag IT article about HPVM</title><content type='html'>Sorry for my non-French readers, here is an article from LeMag IT &lt;a href="http://www.lemagit.fr/article/virtualisation-itanium-hyperviseur-projet-hp-ux/5747/1/la-mutualite-francaise-tire-bilan-deux-ans-demi-virtualisation-avec-hyperviseur-hp/"&gt;about HPVM&lt;/a&gt;, who several colleagues forwarded me.&lt;br/&gt;&lt;br/&gt;

This is also probably the first time someone links to the &lt;a href="http://www.taodyne.com"&gt;Taodyne&lt;/a&gt; web site.&lt;br/&gt;&lt;br/&gt;

Welcome to the readers of LeMag IT who decided to follow the link to my blog...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5122866744832699524?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5122866744832699524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5122866744832699524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5122866744832699524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5122866744832699524'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/lemag-it-article-about-hpvm.html' title='LeMag IT article about HPVM'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2710804131428026754</id><published>2010-03-02T18:46:00.000+01:00</published><updated>2010-03-04T21:03:37.711+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><title type='text'>ACM Sigplan Workshop on Generic Programming</title><content type='html'>I received a call for papers for the 6th ACM SIGPLAN &lt;a href="http://osl.iu.edu/wgp2010/"&gt;Workshop on Generic Programminng&lt;/a&gt;.

&lt;h3&gt;Goals of the workshop&lt;/h3&gt;

Generic programming is about making programs more adaptable by making
them more general. Generic programs often embody non-traditional kinds
of polymorphism; ordinary programs are obtained from them by suitably
instantiating their parameters. In contrast with normal programs, the
parameters of a generic program are often quite rich in structure; for
example they may be other programs, types or type constructors, class
hierarchies, or even programming paradigms.&lt;br/&gt;&lt;br/&gt;

Generic programming techniques have always been of interest, both to
practitioners and to theoreticians, and, for at least 20 years,
generic programming techniques have been a specific focus of research
in the functional and object-oriented programming communities. Generic
programming has gradually spread to more and more mainstream
languages, and today is widely used in industry. This workshop brings
together leading researchers and practitioners in generic programming
from around the world, and features papers capturing the state of the
art in this important area.&lt;br/&gt;&lt;br/&gt;

We welcome contributions on all aspects, theoretical as well as
practical, of

&lt;ul&gt;
&lt;li&gt;polytypic programming,&lt;/li&gt;
 &lt;li&gt;programming with dependent types,&lt;/li&gt;
 &lt;li&gt;programming with type classes,&lt;/li&gt;
 &lt;li&gt;programming with (C++) concepts,&lt;/li&gt;
 &lt;li&gt;generic programming,&lt;/li&gt;
 &lt;li&gt;programming with modules,&lt;/li&gt;
 &lt;li&gt;meta-programming,&lt;/li&gt;
 &lt;li&gt;adaptive object-oriented programming,&lt;/li&gt;
 &lt;li&gt;component-based programming,&lt;/li&gt;
 &lt;li&gt;strategic programming,&lt;/li&gt;
 &lt;li&gt;aspect-oriented programming,&lt;/li&gt;
 &lt;li&gt;family polymorphism,&lt;/li&gt;
 &lt;li&gt;object-oriented generic programming,&lt;/li&gt;
 &lt;li&gt;and so on.&lt;/li&gt;
&lt;/ul&gt;

More information can be found at the original web site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2710804131428026754?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2710804131428026754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2710804131428026754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2710804131428026754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2710804131428026754'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/03/acm-sigplan-workshop-on-generic.html' title='ACM Sigplan Workshop on Generic Programming'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1276644354968194553</id><published>2010-01-22T15:44:00.024+01:00</published><updated>2010-03-04T18:44:14.346+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taodyne'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><title type='text'>Goodbye HP, Hello Taodyne</title><content type='html'>After almost 16 years working for HP, almost half of which on &lt;a href= "http://en.wikipedia.org/wiki/HP_Integrity_Virtual_Machines"&gt;HPVM&lt;/a&gt;, I have decided to do something else. Please welcome my new little company, Taodyne, into the fierce world of software development startups. Taodyne is supported and funded by &lt;a href="http://www.pacaest.com"&gt;Incubateur PACA-Est&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_UnfX9_V6JCc/S22a0s3ewSI/AAAAAAAAAok/PW52amtEVhE/s1600-h/logo-v3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://4.bp.blogspot.com/_UnfX9_V6JCc/S22a0s3ewSI/AAAAAAAAAok/PW52amtEVhE/s400/logo-v3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435170555493794082" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;

For me, this is a pretty major change. So it was not an easy decision to make. Leaving behind the HPVM team, in particular, was tough. Still, the decision was the right one for a couple of reasons.&lt;br/&gt;

&lt;ul&gt;
&lt;li&gt;First, I had to face the fact that HP is not &lt;a href="http://grenouille-bouillie.blogspot.com/2009/03/hp-pay-cuts-unfair-act-of-economic.html"&gt;trying too hard&lt;/a&gt; to retain its employees. To be honest, in my case, they actually offered something at the last minute. But it was way too late. The decision had already been made over one year ago. There was no going back, as the creation of the new company commits other people who I could not simply leave behind.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;However, the primary reason for leaving HP was my desire to invent new stuff, something that I felt was less and less possible at HP. Don't get me wrong, it's still possible to "invent" at HP, but you have to do it on demand, it has to fit in the corporate agenda, to belong to the corporate portfolio. Nobody could invent a totally new business like the Inkjet or the calculator at HP nowadays. Well, at least I could not (and I tried).&lt;/li&gt;
&lt;/ul&gt;

The tipping point for me was probably when one of my past managers told me that I should feel content with my contributions to HPVM, that I "had been lucky" to have this as the "high point to my career". That manager probably meant his remark as a compliment. But I personally think sweat had more to do with the success of HPVM than luck, and I'm not sure how to take the "high point part" ("from there, you can only go down"?)&lt;br/&gt;&lt;br/&gt;

Ultimately, the choice was relatively obvious, if hard to make. Simply put, I didn't have a dream job at HP anymore, nor any hope that things would improve. I was working long hours (meetings from 5PM to 1AM 5 times a week, anyone?), more or less officially had two jobs for only one pay, only to be told year after year that the only way forward was down... I owed it to my family to look for a way out.&lt;br/&gt;&lt;br/&gt;

So really, for me, HPVM was hopefully not the high point in a career, it was hopefully just one step along the way. Taodyne is the next one. Let's hope I still have something to offer. When we deliver our first product, I hope that you will agree that I took the right decision. In the meantime, please check out our progress &lt;a href="http://xlr.sourceforge.net"&gt;on the XLR web site&lt;/a&gt;.

&lt;b&gt;Update&lt;/b&gt;: This entry was shortened compared to the original to remove useless material.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1276644354968194553?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1276644354968194553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1276644354968194553' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1276644354968194553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1276644354968194553'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/01/goodbye-hp-hello-taodyne.html' title='Goodbye HP, Hello Taodyne'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UnfX9_V6JCc/S22a0s3ewSI/AAAAAAAAAok/PW52amtEVhE/s72-c/logo-v3.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-463785162190659192</id><published>2009-12-08T16:54:00.002+01:00</published><updated>2010-02-09T16:56:59.546+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taodyne'/><title type='text'>Incubation - Accepted</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pacaest.com"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 201px; height: 173px;" src="http://2.bp.blogspot.com/_UnfX9_V6JCc/S3GCLnYA0JI/AAAAAAAAAos/9GNyNwmekH4/s400/Paca-Est-Small.jpg" border="0" alt="" /&gt;&lt;/a&gt;

Today was the real presentation to &lt;a href="http://www.pacaest.com"&gt;Incubateur PACA Est&lt;/a&gt;. The whole team was present. The presentation went mostly smoothly, except for one "Ooops" moment where my presentation crashed on me :-( But why should something that we rehearsed just a couple of days before successfully work smoothly a second time? Murphy's law practically forbids it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-463785162190659192?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/463785162190659192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=463785162190659192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/463785162190659192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/463785162190659192'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2009/12/incubation-accepted.html' title='Incubation - Accepted'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UnfX9_V6JCc/S3GCLnYA0JI/AAAAAAAAAos/9GNyNwmekH4/s72-c/Paca-Est-Small.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-524335816293114367</id><published>2009-12-04T16:35:00.007+01:00</published><updated>2010-02-09T16:54:28.347+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Taodyne'/><title type='text'>Incubation - Dry run talk</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pacaest.com"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 201px; height: 173px;" src="http://2.bp.blogspot.com/_UnfX9_V6JCc/S3GCLnYA0JI/AAAAAAAAAos/9GNyNwmekH4/s400/Paca-Est-Small.jpg" border="0" alt="" /&gt;&lt;/a&gt;

Today, I gave a dry-run talk about our project in front of representatives of "&lt;a href="http://www.pacaest.com/"&gt;Incubateur PACA Est&lt;/a&gt;". I think it went relatively well. We got interesting feedback from all the participants.&lt;br/&gt;&lt;br/&gt;

Incubation is a very interesting approach, where the French state has put in place special structures intended to help young companies succeed. The reasoning is that most companies fails for bad reasons, and might not have failed if given just enough help. This is particularly true for innovative companies, where the founders generally have a technical background, but no real knowledge of how to run a company. Incubation provides them with a safe and motivating environment, including consulting, basic amenities (e.g. network access), and frequent contacts with other people running into the same kind of issues. Not to mention some financial help.&lt;br/&gt;&lt;br/&gt;

The "real" talk is on December 8th.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-524335816293114367?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/524335816293114367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=524335816293114367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/524335816293114367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/524335816293114367'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2009/12/incubation-dry-run-talk.html' title='Incubation - Dry run talk'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UnfX9_V6JCc/S3GCLnYA0JI/AAAAAAAAAos/9GNyNwmekH4/s72-c/Paca-Est-Small.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8594777239654749808</id><published>2009-05-28T15:37:00.000+01:00</published><updated>2010-02-06T15:43:55.391+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Family'/><title type='text'>Welcome Marie...</title><content type='html'>Today, a little baby girl is born in our family. After three boys, I'm so thrilled!

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UnfX9_V6JCc/S21_RMCNmfI/AAAAAAAAAoc/vPXXL5nsjFE/s1600-h/Faire+Part+Naissance+de+Marie.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 278px;" src="http://1.bp.blogspot.com/_UnfX9_V6JCc/S21_RMCNmfI/AAAAAAAAAoc/vPXXL5nsjFE/s400/Faire+Part+Naissance+de+Marie.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435140258571065842" /&gt;&lt;/a&gt;

Now, don't be surprised if the blog becomes much less active. I won't have much sleep for a while.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8594777239654749808?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8594777239654749808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8594777239654749808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8594777239654749808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8594777239654749808'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2010/02/welcome-marie.html' title='Welcome Marie...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UnfX9_V6JCc/S21_RMCNmfI/AAAAAAAAAoc/vPXXL5nsjFE/s72-c/Faire+Part+Naissance+de+Marie.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4239238659087965128</id><published>2009-03-11T14:38:00.002+01:00</published><updated>2009-03-11T14:47:17.947+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><title type='text'>HP Pay Cuts - an unfair act of economic opportunism and greed.</title><content type='html'>Damian Saunders &lt;a href="http://www.damiansaunders.net/2009/02/26/commentary/hp-pay-cuts-an-unfair-act-of-economic-opportunism-and-greed/"&gt;writes&lt;/a&gt;:

&lt;blockquote&gt;
HP’s CEO, Mark Hurd announced, on the 20th February that he would be implementing a company wide cut in pay for all employees. Starting with a reduction in his own salary by 20%, followed by senior executives who would take a drop between ten and fifteen percent, regular employees 5 percent and exempt employees 2.5 percent. All this in reaction to a 13.5 percent fall in the company’s first quarter profit.&lt;br/&gt;&lt;br/&gt;

[...] First we need to put Mark Hurd’s 20% salary cut into perspective, remember he is only taking a cut to his base salary ($1,450,000) which amounts to a $290,000 drop. Seems quite reasonable until you examine the following, publicly available, information. Mark Hurd’s total compensation in 2008 was $42,514,524 [...] a 68% increase in the total package from 2007 to 2008. [...] So, the question is; what’s the significance of his stated 20% cut in base salary? I would suggest next to nothing. [...] Put bluntly, 6 people at the top of the HP pyramid accounted for $142,774,325 in compensation in 2008 alone. That is an obscene amount of money.&lt;br/&gt;&lt;br/&gt;

[...] Let’s look at the plight of the HP employee. The first thing we have to consider is that, unlike Mark Hurd, a 5% cut in salary is in fact a 5% cut in total compensation. Someone on a salary of $65,000 would be losing $3250 per year before tax, or $270.00 per month. Some would say this is a small price to pay for keeping your job but I think holding that gun to an employee’s head is outright exploitation and can not be condoned, especially when they have already been exploited enough for the sake of high profit margins and Mark Hurd’s stellar career performance. Ask a majority of HP employees about their current remuneration and you will be lifting a rock that you don’t want to look under.
&lt;/blockquote&gt;

I recommend you read the rest of the post, and spend some time browsing through the many comments. You will get a pretty good idea of the morale of HP employees these days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4239238659087965128?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.damiansaunders.net/2009/02/26/commentary/hp-pay-cuts-an-unfair-act-of-economic-opportunism-and-greed/' title='HP Pay Cuts - an unfair act of economic opportunism and greed.'/><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4239238659087965128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4239238659087965128' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4239238659087965128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4239238659087965128'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2009/03/hp-pay-cuts-unfair-act-of-economic.html' title='HP Pay Cuts - an unfair act of economic opportunism and greed.'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-7908044382710590056</id><published>2008-12-22T10:41:00.008+01:00</published><updated>2008-12-22T13:53:42.351+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MythTV'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Digital Entertainment'/><title type='text'>HP DE200C Digital Entertainment Center</title><content type='html'>I finally took some time to put back together my good old trusted HP DE200C Digital Entertainment Center, and I thought I would share the result:&lt;br/&gt;&lt;br/&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wmsLBirTPjQ&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/wmsLBirTPjQ&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;

In my opinion, this is a good illustration of the kind of innovation &lt;a href="http://grenouille-bouillie.blogspot.com/2008/11/genuine-open-source-innovation-is-hard.html"&gt;open-source brings&lt;/a&gt;. The software stack is pure free and open-source software. That allowed me to add my two cents contribution (driver for the Vacuum Fluorescent Display, support for the remote-control and front-panel keys).&lt;br/&gt;&lt;br/&gt;

But equally important, it shows the kind of innovative hardware that Hewlett-Packard was putting together back in 2001, seven years ago now... Kudos to &lt;a href="http://www.k0lee.com/"&gt;Lee Devlin&lt;/a&gt; and other people who gave us this great toy.&lt;br/&gt;&lt;br/&gt;

The source code for my little contributions can be found at &lt;a href="http://repo.or.cz"&gt;http://repo.or.cz&lt;/a&gt;: the &lt;a href="http://repo.or.cz/w/de200vfd.git"&gt;Noritake VFD driver&lt;/a&gt;, the &lt;a href="http://repo.or.cz/w/lcdproc-de200c.git"&gt;LCDproc changes&lt;/a&gt; and the &lt;a href="http://repo.or.cz/w/linux-de200c-remote.git"&gt;Linux kernel changes&lt;/a&gt;. I had some trouble pushing the git repository for the last one, so here is a &lt;a href="http://cc3d.free.fr/de200-front-panel.patch"&gt;patch against 2.6.26&lt;/a&gt;, which may be easier for most.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-7908044382710590056?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/7908044382710590056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=7908044382710590056' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7908044382710590056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7908044382710590056'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/12/hp-de200c-digital-entertainment-center.html' title='HP DE200C Digital Entertainment Center'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2966226645574442832</id><published>2008-11-28T17:54:00.003+01:00</published><updated>2008-11-28T18:00:20.139+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='peer reviews'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Science and the fear of innovation</title><content type='html'>Michael Nielsen &lt;a href="http://michaelnielsen.org/blog/?p=448"&gt;writes&lt;/a&gt;:

&lt;blockquote&gt;The disincentives facing scientists have led to a ludicrous situation where popular culture is open enough that people feel comfortable writing Pokemon reviews, yet scientific culture is so closed that people will not publicly share their opinions of scientific papers. Some people find this contrast curious or amusing; I believe it signifies something seriously amiss with science, something we need to understand and change.&lt;/blockquote&gt;

The whole article is worth reading. It suggests the same kind of innovation I am hoping for in science. Right now, scientists often &lt;a href="http://backreaction.blogspot.com/2008/11/peer-review-v.html?showComment=1227878100000#c1816576474104108971"&gt;congratulate themselves&lt;/a&gt; for open science. But as Michael and &lt;a href="http://www.google.fr/search?q=arxiv+blacklist"&gt;others&lt;/a&gt; point out, arXiv is not exactly a model of openness, at least relative to standards such as open-source software development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2966226645574442832?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2966226645574442832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2966226645574442832' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2966226645574442832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2966226645574442832'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/11/science-and-fear-of-innovation.html' title='Science and the fear of innovation'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6336663790490451695</id><published>2008-11-28T07:17:00.007+01:00</published><updated>2008-11-28T16:27:33.188+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Enough hot air...</title><content type='html'>I just came across &lt;a href="http://www.advogato.org/article/987.html"&gt;this article&lt;/a&gt; on Advogato:

&lt;blockquote&gt;
Once upon a time in the not-too-distant past, a hacker I know blogged about using object-oriented C to implement a lightweight imitation of some of C++'s features for his latest project; almost immediately, somebody saw fit to reward this charming piece of acceptably self-congratulatory writing with a stern and quite public deconstruction. Does this scene seem familiar? Why does this keep happening? And what, if anything, can we do about it? We can hardly hope to appease all of hackerdom's malcontent — but we can at least try to avoid stepping on each other's toes. &lt;/blockquote&gt;

Amen to that. Remember, a few days ago when I wrote an article indicating that &lt;a href="http://grenouille-bouillie.blogspot.com/2008/10/why-writing-proprietary-software-is-not.html"&gt;I agreed&lt;/a&gt; with an earlier &lt;a href="http://esr.ibiblio.org/?p=556"&gt;post&lt;/a&gt; by Eric Raymond. Only to discover, a couple of weeks later when I returned to read Raymond's blog that he had a &lt;a href="http://esr.ibiblio.org/?p=589"&gt;new piece&lt;/a&gt; that fell just short of calling me a "blithering idiot".&lt;br/&gt;&lt;br/&gt;

Had I done anything to merit that? Apparently, my sin was to remark that unless you are famous like Eric Raymond, it's hard to make a living purely from open-source, and that consequently, genuine open-source innovation is hard to find. Instead, I think that innovation generally attributed to "open-source" is still very much driven by corporate interests. I have personal reasons to hold that particular opinion (having put an innovative programming language in the open-source domain, being offered to work on open-source project multiple times, but never on my own project...) I find it surprising that it deserved being attacked by Eric Raymond so unnecessarily, even less so when I agreed so much with what he had written...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;There is a psychological explanation&lt;/h4&gt;

I read recently an explanation for that frequent behavior on the net. Apparently, the mechanisms that we use to throttle and moderate our social interactions are based very largely on visual cues, and they are very complex (they show up quite late in the human development, typically maturing in one's late teens). When we don't have these visual cues, our brain's moderation system doesn't quite work as it should, neither on the sender's nor on the receiver's side.&lt;br/&gt;&lt;br/&gt;

So, based on this explanation, it is likely that Eric Raymond read much more of an attack in my original post than I intended, whereas if we had been speaking face to face, he might have seen various expressions on my face that might have convinced some part of his brain that I was not that critical of open-source, that I was not implying open-source folks cannot innovate, that I was not downplaying his own intelligence.&lt;br/&gt;&lt;br/&gt;

Conversely, when he started writing, he used very scalding words like "blithering idiot" (even if he downplays that initial statement a few words later with "reasonably bright"). It is unlikely that he would have used such words in a face-to-face discussion, if only because our brains know very well how quickly a bad choice of words can lead to a non-verbal response or even physical harm... So when you talk to someone, you rarely say to anybody "you are an idiot", even if you really believe it.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;... or is there?&lt;/h4&gt;

When I first read that psychological explanation, it convinced me almost entirely. Since then, though, I noticed something interesting. Letters written on paper tend to be very polite, very nice.&lt;br/&gt;&lt;br/&gt;

So it seems that something else than just "not seeing the other guy" is at play. Writings between scientists of the early twentieth century, for example, are sometimes heated discussions between people who often squarely fall into the "genius" category. Yet I don't remember any "flame", any "hot air". Maybe that's just because I'm not familiar enough with these writings.&lt;br/&gt;&lt;br/&gt;

But the other possibility is that our modern society doesn't value politeness as much as it used to...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6336663790490451695?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6336663790490451695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6336663790490451695' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6336663790490451695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6336663790490451695'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/11/enough-hot-air.html' title='Enough hot air...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-7674727499316296188</id><published>2008-11-27T10:44:00.005+01:00</published><updated>2008-11-27T10:57:21.428+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><category scheme='http://www.blogger.com/atom/ns#' term='Innovation'/><title type='text'>Stability and innovation</title><content type='html'>Two days ago, I attended a &lt;a href="http://h41267.www4.hp.com/eventpage.aspx?&amp;eventid=MQAzADgAOAAxAA%3D%3D&amp;cc=fr&amp;lang=fr"&gt;conference&lt;/a&gt; in Paris on the future of virtualization in mission-critical environments. There was a presentation from Intel about the roadmap for Itanium and virtualization.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Stability vs. Innovation&lt;/h4&gt;
Two things in this presentation reminded me of what Martin Fink calls &lt;a href="http://www.communities.hp.com/online/blogs/musings-on-mcc/archive/2008/11/04/the-unix-paradox-innovation.aspx"&gt;the Unix paradox&lt;/a&gt;:

&lt;ol&gt;
&lt;li&gt;Intel pointed out that Itanium is mission-critical, so they tend to be more conservative. For example, they use processes for Itanium that have already been proven on the x86 side. Like for Unix, there is a similar paradox for mission-critical processors.&lt;/li&gt;

&lt;li&gt;The cost equation is very different for mission-critical systems. For commodity hardware, the acquisition cost tends to dominate your thinking; for mission-critical hardware, it's the (potential) cost of losing the system that drives you. So whereas in volume systems, you are ready to pay more for innovation, e.g. features or performance, in mission-critical systems, it's for &lt;em&gt;stability&lt;/em&gt; that you pay more.&lt;/li&gt;
&lt;/ol&gt;

Following the recent &lt;a href="http://grenouille-bouillie.blogspot.com/2008/11/genuine-open-source-innovation-is-hard.html"&gt;discussion with Eric Raymond&lt;/a&gt;, I thought that was yet another interesting angle about what "innovation" means to different people.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;One step at a time, or "TIC-TAC-TOC"&lt;/h4&gt;
Intel also reminded us of the &lt;a href="http://en.wikipedia.org/wiki/Intel_Tick-Tock"&gt;TIC-TOC&lt;/a&gt; model they now use to release CPUs:

&lt;ul&gt;
&lt;li&gt;TIC: change the process on a stable micro-architecture&lt;/li&gt;
&lt;li&gt;TOC: change the micro-architecture on a stable process&lt;/li&gt;
&lt;/ul&gt;

I think that a similar approach applies to how our customers want to upgrade their mission-critical software, something that I would call TIC-TAC-TOC:

&lt;ul&gt;
&lt;li&gt;TIC: Change the infrastructure (e.g. machines, disks), keep OS and applications the same&lt;/li&gt;
&lt;li&gt;TAC: Change the applications, keep infrastructure and OS the same&lt;/li&gt;
&lt;li&gt;TOC: Change the OS, keep infrastructure and applications the same&lt;/li&gt;
&lt;/ul&gt;

Customers may, at their discretion, decide to do multiple steps at the same time. For example, they may use an infrastructure change as an opportunity to also upgrade their OS and applications. But as a vendor, we should be careful not to force them to de-stabilize more than one thing at once. It should be their choice, not ours.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;When innovation is the problem&lt;/h4&gt;

Historically, HP has been good at this. TIC: You update from PA-RISC to Itanium, and you can still run the same OS, still run your PA-RISC applications. TAC: Upgrade the applications, keeping everything else the same, and you get a healthy speed boost. TOC: Upgrade to 11iv3, another speed boost; Install HP Integrity Virtual Machines and you get the latest in virtualization features, even on 2002-vintage Itanium hardware. As far as I know, you can't virtualize a POWER4, and you can't get Live Partition Mobility on a POWER5 system.&lt;br/&gt;&lt;br/&gt;

But TIC-TAC-TOC is not a perfect solution. That model is painless for customers only if we can convince them to stay reasonably current in two out of three dimensions at any given time. That model breaks down for a customer who runs HP-UX 10.20 on PA-RISC and obsolete applications. Such customers feel left behind, and the leap of faith to move to current technology is so big that they are an easy prey for competitors.&lt;br/&gt;&lt;br/&gt;

So here is my interpretation of Martin Fink's Unix paradox:

&lt;blockquote&gt;Stability + Innovation = Disruption&lt;/blockquote&gt;

How to solve that equation is left as an exercise for the reader :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-7674727499316296188?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/7674727499316296188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=7674727499316296188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7674727499316296188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7674727499316296188'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/11/stability-and-innovation.html' title='Stability and innovation'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-222028134718543538</id><published>2008-11-24T15:36:00.004+01:00</published><updated>2008-11-24T15:48:44.725+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open-Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Innovation'/><title type='text'>Genuine open-source innovation is hard to find...</title><content type='html'>Eric Raymond &lt;a href="http://www.opensource.org/node/375"&gt;responded&lt;/a&gt; to one of my &lt;a href="http://grenouille-bouillie.blogspot.com/2008/10/why-writing-proprietary-software-is-not.html"&gt;earlier posts&lt;/a&gt;. It was not one of his best days:

&lt;blockquote&gt;The easy, cheap reply would be to write the author off as a blithering idiot who has failed to notice that his entire environment has been drastically reshaped by open-source innovation, and the proof slaps him in the face every time he looks at a browser. The easy, cheap reply would be to write the author off as a blithering idiot who has failed to notice that his entire environment has been drastically reshaped by open-source innovation, and the proof slaps him in the face every time he looks at a browser. But, in fact, I think he (and others like him) are not idiots; they are reasonably bright people making a couple of serious and identifiable errors in their reasoning about open source, closed source, and innovation.&lt;/blockquote&gt;

Uh?&lt;br/&gt;&lt;br/&gt;

Eric Raymond makes a fool of himself with this post. To begin with, he quotes only a fraction of my “screed”, later makes fun of “M’sieu de Dinechin”, and barely avoids calling me a blithering idiot. I’m honored he later revises his judgment and ups me to “reasonably bright”…&lt;br/&gt;&lt;br/&gt;

Yet for all the name calling, ESR totally misses my point: developers need to eat, and corporations provide vast majority of the necessary funds, even to open-source contributors like ESR or myself. My &lt;a href="http://xlr.sf.net"&gt;XL work&lt;/a&gt; is all open-source, but I would not have been able to afford it without a regular source of income. That’s my point, and if ESR wrote a single word to address it, I didn’t see it.&lt;br/&gt;&lt;br/&gt;

As for claiming that open-source build the world-wide-web, sorry Eric, but that’s bollocks and you know it. I could not even find any evidence that Berners-Lee’s browser, WorldWideWeb, was open-source at the time. What everyone knows is that Berners-Lee worked for CERN at the time, in other words he had a stable revenue, and that only reinforces my point. The browser that ignited the web was not Berners-Lee’s (nobody could afford the incredibly expensive and closed-source NeXT machines that ran it) but Mosaic. And as I pointed out in my “screed”, the source code of Mosaic was public, but not open-source by any standard definition. More importantly, it is silly to ignore all the corporate contributions that made the web what it is today, from Netscape to Microsoft to Cisco to fiber-optics to ISPs…&lt;br/&gt;&lt;br/&gt;

It is legitimate to say that “Tim Berners-Lee invented the world-wide-web”. I think it is even OK to say that hackers built it. But that’s a far cry from “open-source built it”, which seems to be what ESR would want us to believe…&lt;br/&gt;&lt;br/&gt;

Ultimately, I’d say that Eric’s error number zero is to confuse “ideas” with “innovation”. Innovation is ideas made real.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-222028134718543538?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/222028134718543538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=222028134718543538' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/222028134718543538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/222028134718543538'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/11/genuine-open-source-innovation-is-hard.html' title='Genuine open-source innovation is hard to find...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1808805614623126066</id><published>2008-10-30T15:22:00.003+01:00</published><updated>2008-10-30T15:27:11.086+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><title type='text'>Factor, an interactive extensible programming language</title><content type='html'>An interesting overview of Factor, an interactive and extensible programming language:&lt;br/&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/f_0QlhYlS8g&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/f_0QlhYlS8g&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;

The language is available &lt;a href="http://www.factorcode.org/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1808805614623126066?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1808805614623126066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1808805614623126066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1808805614623126066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1808805614623126066'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/factor-interactive-extensible.html' title='Factor, an interactive extensible programming language'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-86387001132012501</id><published>2008-10-30T14:59:00.002+01:00</published><updated>2008-10-30T15:26:49.938+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><title type='text'>Cool high-level virtualization video</title><content type='html'>A good explanation of what my work is about:&lt;br/&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/57XDSrwEdRg&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/57XDSrwEdRg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-86387001132012501?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/86387001132012501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=86387001132012501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/86387001132012501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/86387001132012501'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/cool-high-level-virtualization-video.html' title='Cool high-level virtualization video'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1580790982914037565</id><published>2008-10-30T11:18:00.008+01:00</published><updated>2008-10-30T14:19:26.857+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Why writing proprietary software is not fun</title><content type='html'>Eric Raymond explained &lt;a href="http://esr.ibiblio.org/?p=556"&gt;why he hates proprietary software&lt;/a&gt;. And the reason is not with the software itself, but with how it is being written:

&lt;blockquote&gt;
In that world, the working programmer’s normal experience includes being forced to use broken tools for political reasons, insane specifications, and impossible deadlines. It means living in Dilbert-land, only without the irony. It means sweating blood through the forehead to do sound work only to have it trashed, mangled, or buried by people who couldn’t write a line of code to save their lives.&lt;br/&gt;&lt;br/&gt;

If you love programming, trying to do work you can be proud of in this situation is heartbreaking. You know you could do better work if they’d just goddamn give you room to &lt;em&gt;breathe&lt;/em&gt;. But there’s never time to do it right, and always another brain-dead idea for a feature nobody will ever actually use coming at you from a marketing department who thinks it will look good on the checklist. Long days, long nights and at the end of it all some guy in a suit owns all that work, owns the children of your mind, &lt;em&gt;owns a piece of you&lt;/em&gt;.
&lt;/blockquote&gt;

Raymond concludes with:

&lt;blockquote&gt;
 I will have no part of helping it do to the young, malleable, innocent programmers of today and tomorrow what was done to me and my peers.&lt;br/&gt;&lt;br/&gt;
Because two decades later, my scars still ache.&lt;/blockquote&gt;

Unfortunately, based on my own experience, I must admit that he is right on the mark. Writing software in a corporate environment is often painful: artificial deadlines, artificial constraints, artificial priorities, artificial pressure. But it has gotten a lot worse in the past decade, at least in the company I work for.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Why it's worse today than Raymond remembers&lt;/h4&gt;

In today's cost-saving business environment, there is even more than what Raymond identified based on an experience that is over two decades old now. These days, the tools are not just broken for political reasons, more and more they are broken for cost reasons.&lt;br/&gt;&lt;br/&gt;

My team and I work on several locations, in the US and in Europe. Three of these locations host our servers. On these three locations, in the past month alone, we had no less than &lt;em&gt;six&lt;/em&gt; electrical outages (!), five of which were unplanned, and no location was immune. You'd think that having backup power is really basic. But in one case, the backup generator itself was so old and so broken that it prevented power from being restored when the grid came back up! We also lost networking or primary infrastructure tools (e.g. bug tracking system or e-mail) on at least five occasions. These are not accessories, these are all critical tools that directly impact our work. If electricity or network or mail is down, there isn't much you can do to develop software.&lt;br/&gt;&lt;br/&gt;

Meanwhile, the release schedule itself tightens, for us it's now two releases a year. The team shrinks despite the increasing amount of work: we lost &lt;a href="http://grenouille-bouillie.blogspot.com/2008/03/there-can-be-only-one.html"&gt;key contributors&lt;/a&gt; and we don't even try to replace them. Servers break down because they are too old: my most recent machine was obsoleted in 2004, and it's a leftover from some other team. Travel is restricted and inconvenient: I once had to wait 12 hours in New-York on my way back from California, which practically doubled the length of an already exhausting trip; the corporate travel booking system chose that flight to save $28, which was not very smart when you know how much two meals in New-York cost...&lt;br/&gt;&lt;br/&gt;

And to top it off, we have all the small daily frustrations. Coffee machines are not repaired, or worse yet are removed, with explanations that a colleague called "soviet style communication", like "this coffee pot is not being used" (talk to the guy who's been filling it three-five times a day). Work PCs are replaced with the lowest-end model, and are already obsolete when you get them: you give employees what customers wouldn't buy anymore. Signs are posted in the restrooms asking us to be "green" and limit water usage, but the nearby toilets have been leaking for months, not to mention that they are clogged too. Raises are harder and harder to get, bonuses are recomputed with new formulas that make them smaller each year...&lt;br/&gt;&lt;br/&gt;

This is why I wrote recently to some of my colleagues that "&lt;em&gt;developing software for this company is like being asked to win a marathon while wearing ski boots and carrying three people&lt;/em&gt;"... which my colleagues apparently did not think was even strong enough, since the first response was "&lt;em&gt;... on one leg&lt;/em&gt;".&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Incompetent bosses were replaced by powerless bosses&lt;/h4&gt;

Raymond talks about incompetent bosses, and this is still the picture given by Dilbert. I was lucky enough that I did not have that many incompetent bosses. Sure, they all made a mistake here or there, but who doesn't. On the other hand, my bosses appeared to be less and less empowered, and more and more trapped into a system that dictates what they can do and cannot do.&lt;br/&gt;&lt;br/&gt;

For example, "standard" applications and processes have been made mandatory in the name of cost savings. It has become more and more difficult to not be punished for maintaining local applications that do what you need, something now called "&lt;em&gt;shadow IT&lt;/em&gt;". And too bad if the standard, centralized applications lack the capacity or features, if they don't scale, if they are hosted on servers that are too small, if there is practically no redundancy. In the name of cost savings, you accept that there will be several outages per month.&lt;br/&gt;&lt;br/&gt;

Again, what is really frightening these days is that you can talk to your manager about that problem, and he will talk to his manager, and so on, yet nothing will ever change. You never get any feedback like "we heard you, we will make this and that change". Instead, what you get is top-down self-congratulatory message explaining that our IT is now so good we could practically run another company with it! In short, whatever you ask your boss, chances are he can't do a thing about it, and chances are you won't get it.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Competing&lt;/h4&gt;

How can it be bad to reduce costs? Running a company is, after all, all about competing: competing for customers, competing for best costs, competing for highest revenues, competing for employees. So saving costs seems like a good way to get a competitive advantage.&lt;br/&gt;&lt;br/&gt;

But the key asset of a company is its employees. Everything else is really just support, tools to do the job. If you consider employees as an asset, you ultimately win, because employees work together to deliver great products. If you start considering them as a liability, as a cost center, as something that you need to eliminate rather than as something you want to optimize, you might get some short-term gains out of it. But I believe that in the long run, you can only lose. The only reason this strategy is so popular today is because most CxOs get more benefit from boosting short-term profits than they could from building a sustainable business model. It is more profitable to "cash out" on the accumulated assets of an existing big company than to solidify these assets for the future.&lt;br/&gt;&lt;br/&gt;

This is why right now, what I just described is too often the norm in the good old corporations, but not in companies still driven by their original founders. The founders of a company tend to have the same pride for their creation as Raymond has for his software. It is not a matter of scale: even large companies like Google &lt;a href="http://www.google.com/support/jobs/bin/static.py?page=benefits.html"&gt;still get it&lt;/a&gt;. Some corporations &lt;a href="http://grenouille-bouillie.blogspot.com/2008/05/where-did-hp-way-go.html"&gt;used to get it&lt;/a&gt; until their founders were replaced. But I think that we have enough evidence to know that companies can deliver a lot of good products and shareholder value while treating their employees really well.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Open-source vs. Corporate?&lt;/h4&gt;

There is still one point where I differ slightly from Raymond's point of view. I am not sure that there is anything mandatory about corporations crushing software developers. There is enough difference between one corporation and the next, enough difference even over the lifetime of a single corporation to believe that treating employees well has little relationship with how you distribute software.&lt;br/&gt;&lt;br/&gt;

On the contrary, I think that corporations who nurture their employees can provide the best possible environment to develop software, including FOSS. They can provide money, resources, financial safety that makes it easier to concentrate on the work, a sense of purpose or direction (like &lt;a href="http://www.markshuttleworth.com/archives/162"&gt;Mark Shuttleworth is trying to do with Canonical and Ubuntu&lt;/a&gt;). Linus Torvalds, &lt;em&gt;the&lt;/em&gt; icon of free software developers, has worked for various corporations. An alternative is foundations. In all cases, you can only work on free software if you have enough money to buy a computer.&lt;br/&gt;&lt;br/&gt;

Where Raymond is right is that open-source software gives developers a whole lot more freedom and control about what will happen with the software. All the work that I put in a product once called "TS/5470 - ECUTEST", a world-class real-time measurement and control software, was lost when Agilent (HP at the time) decided to shut it down. Nowadays, you can barely find this on Google. It's too bad, it was really useful. Before even being released, it found bugs in every single piece of car electronics we tested with it, including production ones that had been running car engines for years. Even today, I think there is still nothing like it. But as far as I know, it's lost.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Where FOSS falls short&lt;/h4&gt;

Still, FOSS is not the ultimate solution. It is generally very good at replicating infrastructure and commodity software, where cost becomes marginal. It is not so good at innovating. I can't think of any FOSS innovation similar in scope and impact to the iPhone, Google or Mosaic (which was a proprietary program, even if the source was available).&lt;br/&gt;&lt;br/&gt;

Even Linux, the poster child of FOSS software, a very innovative platform these days, started as a copycat of a proprietary product (Unix), and started making real progress only with the help of corporations. And as I wrote &lt;a href="http://www.osnews.com/story/3991/Interview_with_Christophe_de_Dinechin_HP-UX_Engineer/page2"&gt;several years ago&lt;/a&gt;, the OS itself is a commodity:

&lt;blockquote&gt;The OS itself will probably fade into the background where it belongs. You don't care much about the OS of a Palm Pilot or a network appliance or an ATM, and you shouldn't. The OS would probably have disappeared from the public consciousness five years ago, weren't it for Microsoft's insistence on making it its main source of profit&lt;/blockquote&gt;

This is exactly where Linux stands today: it is most successful in applications where you don't see it (e.g. cell phones or appliances.)&lt;br/&gt;&lt;br/&gt;

What I'd like to see happen is genuine open-source innovation. But I'm afraid this cannot happen, because real innovation requires a lot of money, and corporations remain the best way to fund such innovation, in general with high hopes to make even more money in return.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;We all need to eat&lt;/h4&gt;

This is personal experience too. In the past year, I have been contacted by three companies to develop open-source software. But it was always working on their own agenda. None of them offered to work on &lt;a href="http://xlr.sf.net"&gt;my personal open-source project&lt;/a&gt;. And that's the real problem. If, as Raymond points out, the pride you may have about &lt;em&gt;the children of your minds&lt;/em&gt; matters that much (and clearly, &lt;a href="http://grenouille-bouillie.blogspot.com/2008/10/virtual-machines-and-scalability.html"&gt;it does matter to me&lt;/a&gt;), do I really win by leaving a product I invented for one I did not invent, even if it's &lt;a href="http://en.wikipedia.org/wiki/Xen"&gt;an open-source one&lt;/a&gt;?&lt;br/&gt;&lt;br/&gt;

Eric Raymond may have a second income that allows him to do what he wants. I personally don't have this luxury. I would like nothing better than to work full time XL, on creating the most advanced programming language there is, but this is not going to happen. Unless someone, maybe me, suddenly realizes how much money they could make out of it, and decided to fund a company or to add this to an existing company's projects.&lt;br/&gt;&lt;br/&gt;

My point is that, in the end, corporations fund innovation based on their own objectives. And in the end, we all need to eat, we all need someone to pay us. It's not that different in the open-source world, except maybe for a few lucky stars that are about as representative of the open-source community as Bill Gates is representative of the corporate programmer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1580790982914037565?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1580790982914037565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1580790982914037565' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1580790982914037565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1580790982914037565'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/why-writing-proprietary-software-is-not.html' title='Why writing proprietary software is not fun'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-454052743414240528</id><published>2008-10-17T06:25:00.079+01:00</published><updated>2008-10-27T13:10:38.505+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><title type='text'>Virtual machines and scalability</title><content type='html'>I already &lt;A href="http://grenouille-bouillie.blogspot.com/2008/10/ibms-comparison-of-virtual-machines.html"&gt;pointed out&lt;/a&gt; many problems regarding the comparison of virtual machines &lt;a href="http://www.ibm.com/developerworks/aix/library/au-aixvirtualization/?ca=dgr-lnxw07CompareFeatures&amp;S_TACT=105AGX59&amp;S_cmp=GRsitelnxw07"&gt;recently posted by IBM&lt;/a&gt;. But there is one topic which I thought required a separate post, namely &lt;em&gt;scalability&lt;/em&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;What is scalability?&lt;/h4&gt;

Simply put, scalability is the ability to take advantage of having more CPUs, more memory, more disk, more bandwidth. If I put two CPUs to the task, do I get twice the power? It is not generally true. As Fred Brooks said, no matter how many women you put to the task, it still takes nine months to make a baby. On the other hand, with nine women, you can make nine babies in nine months. In computer terminology, we would say that making babies is a task where &lt;em&gt;throughput&lt;/em&gt; (the total amount of work per time unit) scales well with the number of baby-carrying women, whereas &lt;em&gt;latency&lt;/em&gt; (the time it takes to complete a request) does not.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Sorcerer's_Apprentice_Syndrome"&gt;
&lt;img src="http://www.filmreference.com/images/sjff_01_img0173.jpg" align="right" width="200"/&gt;
&lt;/a&gt;

Computer scalability is very similar. Different applications will care about bandwidth or latency in different ways. For example, if you connect to &lt;a href="http://maps.google.com/"&gt;Google Maps&lt;/a&gt;, latency is the time it takes for Google to show the map, but in that case (unlike for pregnant women), it is presumably improved because Google Maps sends many small chunks of the map in parallel.&lt;br/&gt;&lt;br/&gt;

I have already written in &lt;a href="http://grenouille-bouillie.blogspot.com/2008/10/ibms-comparison-of-virtual-machines.html"&gt;an earlier post&lt;/a&gt; why I believe HP has a good track record with respect to partitioning and scalability.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Scalability of virtual machines&lt;/h4&gt;

However, IBM has very harsh words against &lt;a href="http://en.wikipedia.org/wiki/HPVM"&gt;HP Integrity Virtual Machines&lt;/a&gt; (aka HPVM), and describes HPVM scalability as a "downside" of the product:

&lt;blockquote&gt;The downside here is scalability. With HP's virtual machines, there is a 4 CPU limitation and RAM limitation of 64GB. Reboots are also required to add processors or memory. There is no support for features such as uncapped partitions or shared processor pools. Finally, it's important to note that HP PA RISC servers are not supported; only Integrity servers are supported. Virtual storage adapters also cannot be moved, unless the virtual machines are shut down. You also cannot dedicate processing resources to single partitions.&lt;/blockquote&gt;

&lt;a href="http://en.wikipedia.org/wiki/HPVM"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/1/11/IntegrityVM.png" width="150" align="right"/&gt;&lt;/a&gt;

I &lt;a href="http://grenouille-bouillie.blogspot.com/2008/10/ibms-comparison-of-virtual-machines.html"&gt;already pointed out factual errors&lt;/a&gt; in every sentence of this paragraph. But scalability is a more subtle problem, and it takes more explaining just to describe what the problems are, not to mention possible solutions... What matters is not just the performance of a single virtual machine when nothing else is running on the system. You also care about performance under competition, about fairness and balance between workloads, about response time to changes in demand.&lt;br/&gt;&lt;br/&gt;

The problem is that these are all contradictory goals. You cannot increase the performance of one virtual machine without taking something away from the others. Obviously, the CPU time that you give to one VM cannot be given to another one at the same time. Similarly, increasing the reactivity to fast-changing workloads also increases the risk of instability, as for any &lt;a href="http://en.wikipedia.org/wiki/Feedback"&gt;feedback loop&lt;/a&gt;. Finally, in a server, there is generally no privileged workload, which makes the selection of the "correct" answers harder to make than for workstation virtualization products.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Checkmark features vs. usefulness&lt;/h4&gt;

Delivering good VM performance is a complex problem. It is not just a matter of lining up virtual CPUs. HPVM implements various safeguards to help ensure that a VM configuration will not just run, but run well. I don't have as much experience with IBM micro-partitions, but it seems much easier to create configurations that are inefficient by construction. What IBM calls a "downside" of HPVM is, I believe, a feature.&lt;br/&gt;&lt;br/&gt;

Here is a very simple example. On a system with, say, 4 physical CPUs, HPVM will warn you if you try to configure more than 4 virtual CPUs:

&lt;blockquote&gt;&lt;pre&gt;bash-2.05b# hpvmmodify -P vm7 -c 8
HPVM guest vm7 configuration problems:
    Warning 1: The number of guest VCPUS exceeds server's physical cpus.
    Warning 2: Insufficient cpu resource for guest.
These problems may prevent HPVM guest vm7 from starting.
hpvmmodify: The modification process is continuing.&lt;/pre&gt;&lt;/blockquote&gt;

&lt;a href="http://2007.kinnernet.com/simulators"&gt;&lt;img src="http://2007.kinnernet.com/_att/893/contraption.jpg" width="150" align="right"/&gt;&lt;/a&gt;
It seems like a sensible thing to do. After all, if you only have 4 physical CPUs, you will not get more power by adding more virtual CPUs. There are, however, good chances that you will get less performance, in any case where one virtual CPU waits on another. Why? Because you increased the chances that the virtual CPU you are waiting on is not actually running at the time you request its help, independently of the synchronization mechanism that you are using. So instead of getting a response in a matter of microseconds (the typical wait time for, say, spinlocks), you will get it in a matter of milliseconds (the typical time slice on most modern systems).&lt;br/&gt;&lt;br/&gt;

Now, the virtual machine monitor might be able to do something smart about some of the synchronization mechanisms (notably kernel-level ones). But there are just too many ways to synchronize threads in user-space. In other words, by configuring more virtual CPUs than physical CPUs, you simply increased the chances of performing sub-optimally. How is that a good idea?&lt;br/&gt;&lt;br/&gt;

IBM doesn't seem to agree with me. First, in their article, they complain about HP vPars implementing a similar restriction: &lt;em&gt;The scalability is also restricted to the nPartition that the vPar is created on&lt;/em&gt;. Also, the IBM user-interface lets you create micro-partitions that have too many virtual CPUs with nary a peep.  You can create a micro-partition with 16 virtual CPUs on a 2-way host, as illustrated below. Actually, 16 virtual CPUs is almost the maximum on a two way host for another reason: there is a minimum of 0.1 physical CPU per virtual CPU in the IBM technology, and 16 * 0.1 is 1.6, which only leaves a meager 0.4 CPU for the virtual I/O server.

&lt;p align="center"&gt;
&lt;table align="center"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UnfX9_V6JCc/SQMu8pzBnOI/AAAAAAAAAXU/vpuWzIkC7Kw/s1600-h/IBM+host.png"&gt;&lt;img src="http://1.bp.blogspot.com/_UnfX9_V6JCc/SQMu8pzBnOI/AAAAAAAAAXU/vpuWzIkC7Kw/s400/IBM+host.png" border="0" width="200" alt="IBM Host configuration" id="BLOGGER_PHOTO_ID_5261100409245768930" /&gt;&lt;/a&gt;
&lt;/td&gt;

&lt;td&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UnfX9_V6JCc/SQMvHxEezsI/AAAAAAAAAXc/k8T0Ps9DKc0/s1600-h/Too+many+CPUs.png"&gt;&lt;img src="http://3.bp.blogspot.com/_UnfX9_V6JCc/SQMvHxEezsI/AAAAAAAAAXc/k8T0Ps9DKc0/s400/Too+many+CPUs.png" border="0" alt="Too many CPUs" id="BLOGGER_PHOTO_ID_5261100600176594626" width="200"/&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

The problem is that no matter how I look at it, I can't imagine how it would be a good thing to run 16 virtual CPUs on a 2-CPU system. To me, this approach sounds a lot like the &lt;a href="http://en.wikipedia.org/wiki/Fantasia_(movie)"&gt;Fantasia&lt;/a&gt; school of scalability. If you remember, in that movie, Mickey Mouse plays a sorcerer apprentice who casts a spell so that his broom will do his chores in his stead. But things rapidly get wildly out of control. When Mickey tries to ax the brooms to stop the whole thing, each fragment rapidly grows back into a full grown broom, and things go from bad to worse. CPUs, unfortunately, are not magic brooms: cutting a CPU in half will not magically make two full-size CPUs.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Performing well in degraded configurations&lt;/h4&gt;

Now, I don't want you to believe that I went all defensive because IBM found a clever way to do something that HPVM can't do. Actually, even if HPVM warns you by default, you can still force it to start a guest in such a "stupid" configuration, using the &lt;tt&gt;-F&lt;/tt&gt; switch of &lt;a href="http://docs.hp.com/en/T2767-90067/rn01re14.html"&gt;hpvmstart&lt;/a&gt;. And it's not like HPVM systematically performs really badly in this case either.&lt;br/&gt;&lt;br/&gt;

For example, below are the build times for a Linux 2.6.25 kernel in a variety of configurations.

&lt;blockquote&gt;
4-way guest running on a 4-way host, 5 jobs
&lt;blockquote&gt;&lt;pre&gt;[linux-2.6.26.5]# gmake -j5
real    5m25.544s
user    18m46.979s
sys     1m41.009s&lt;/pre&gt;&lt;/blockquote&gt;

8-way guest running on a 4-way host, 9 jobs
&lt;blockquote&gt;&lt;pre&gt;[linux-2.6.26.5]# time gmake -j9
real    5m38.680s
user    36m23.662s
sys     3m52.764s&lt;/pre&gt;&lt;/blockquote&gt;

8-way guest running on a 4-way host, 5 jobs
&lt;blockquote&gt; &lt;pre&gt;[linux-2.6.26.5]# time gmake -j5
real    5m35.500s
user    22m25.501s
sys     2m6.003s&lt;/pre&gt; &lt;/blockquote&gt;
&lt;/blockquote&gt;

As you can verify, the build time is almost exactly the same, whether the guest has 4 our 8 virtual CPUs. As expected, the additional virtual CPUs do not bring any benefit. In that case, the degradation exists, but it is minor. It is however relatively easy to build cases where the degradation would be much larger. Another observation is that running only enough jobs to keep 4 virtual CPUs busy actually improves performance: less time is spent for the virtual CPUs to wait on one another.&lt;br/&gt;&lt;br/&gt;

So, why do we even test such configurations or allow them to run, then? Well, there is always the possibility that a CPU goes bad, in which case the host operating system is most likely to disable it. When that happens, we may end up running with an insufficient number of CPUs. Even so, this is no reason to kill the guest. We still want to perform as well as we can, until the failed CPU is replaced with a good one.&lt;br/&gt;&lt;br/&gt;

In short, I think that HPVM is doing the right thing by telling you if you are about to do something that will not be efficient. However, in case you found yourself in that situation due to some unplanned event, such as a hardware failure, it still does the hard work to keep you up and running with the best possible performance.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Remaining balanced and fair&lt;/h4&gt;

There is another important point to consider regarding the performance of virtual machines. You don't want virtual machines to just perform well, you also care a lot about maintaining balance between the various workloads, both inside the virtual machine itself, and between virtual machines. This is actually very relevant to scalability, because multi-threaded or multi-processor software often scales worse when some CPUs run markedly slower than others.&lt;br/&gt;&lt;br/&gt;

Consider for example that you have 4 CPUs, and divide a task into four approximately equal-sized chunks. The task will only complete when all 4 sub-tasks are done. If one CPU is significantly slower, all other CPUs will have to wait for it. In some cases, such as ray-tracing, it may be easy enough for another CPU to pick up some of the extra work. For other more complicated algorithms, however, the cost of partitioning may be significant, and it may not pay off to re-partition the task in flight. And even when re-partitioning on the fly is possible, software is unlikely to have implemented it if it did not bring any benefit on non-virtual hardware.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Loading virtual machines little by little...&lt;/h4&gt;

In order to get a better feeling for all these points, readers are invited to do the following very simple experiment with their favorite virtual machine technology. To maximize chances that you can run the experiment yourself, I will not base my experiment on some 128-way machine with 1TB of memory running 200 16-way virtual machines or anything über-expensive like that. Instead, I will consider the simplest of all cases involving SMP guests:  two virtual machines VM1 and VM2, each with two virtual CPUs, running concurrently on a 2-CPU machine. What could possibly go wrong with &lt;em&gt;that&lt;/em&gt;? Nowadays, this is something you can try on most laptops...&lt;br/&gt;&lt;br/&gt;

The experiment is equally simple. We will simply incrementally load the virtual machines with more and more jobs, and see what happens. When I ran the experiment, I used a simple CPU spinner program written in C that counts how many loops per second it can perform. The baseline, which I will refer to as "100%", is the number of iterations that the program makes on a virtual machine, with another virtual machine sitting idle. This is illustrated below, with the process &lt;tt&gt;Process 1&lt;/tt&gt; running in VM1, colored in orange.

&lt;p align="center" width="80%"&gt;
&lt;table align="center" width="300"&gt;
&lt;tr&gt;&lt;th&gt;CPU 1&lt;/th&gt;&lt;th&gt;CPU 2&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="80"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="lightgray" width="50%" align="center"&gt;Idle&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

Now, let's say that you start another identical process in VM2. The ideal situation is that one virtual CPU for each virtual machine gets loaded at 100%, so that each process gets a 100% score. In other words, each physical CPU is dedicated to running a virtual CPU, but the virtual CPUs belong to different virtual machines. The sum of the scores is 200%, which is the maximum you can get on the machine, and the average is 100%. This is both optimal and fair. As far as I can tell, both HPVM and IBM micro-partitions implement this behavior. This is illustrated below, with VM1 in orange and VM2 in green.

&lt;p align="center" width="80%"&gt;
&lt;table align="center" width="300"&gt;
&lt;tr&gt;&lt;th&gt;CPU 1&lt;/th&gt;&lt;th&gt;CPU 2&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="80"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="green" width="50%" align="center"&gt;Process 2&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

However, this behavior is not the only choice. Versions of &lt;a href="http://www.vmware.com"&gt;VMware&lt;/a&gt; up to version 3 used about a mechanism called &lt;a href="http://communities.vmware.com/docs/DOC-4960.pdf;jsessionid=04AE38F6289DAE9AD95CE3710AEDEA91"&gt;co-scheduling&lt;/a&gt;, where all virtual CPUs must run together. As the document linked above shows, VMware was boasting about that technique, but the result was that as soon as one virtual CPU was busy, the other physical CPU had to be reserved as well. As a result, in our little experiment, each process would get 50% of its baseline, not 100%. This approach is fair, but hardly optimal since you waste half of the available CPU power. VMware apparently chose that approach to avoid dealing with the more complicated cases where one virtual CPU would wait for another virtual CPU that was not running at the time.

&lt;p align="center" width="80%"&gt;
&lt;table align="center" width="300"&gt;
&lt;tr&gt;&lt;th&gt;CPU 1&lt;/th&gt;&lt;th&gt;CPU 2&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="40"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="lightgray" width="50%" align="center"&gt;Idle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="40"&gt;
&lt;td bgcolor="lightgray" width="50%" align="center"&gt;Idle&lt;/td&gt;
&lt;td bgcolor="green" width="50%" align="center"&gt;Process 2&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

Now, let's fire a second process in VM1. This is where things get interesting. In that situation, VM1 has both its virtual CPUs busy, but VM2 has only one virtual CPU busy, the other being idle. There are many choices here. One is to schedule the two CPUs of VM1, then the two CPUs of VM2 (even if one is idle). This method is fair between the two virtual machines, but it reserves a physical CPU for an idle virtual CPU half of the time. As a result, all processes will get a score of 50%. This is fair, but suboptimal, since you get a total score of 150% when you could get 200%.

&lt;p align="center" width="80%"&gt;
&lt;table align="center" width="300"&gt;
&lt;tr&gt;&lt;th&gt;CPU 1&lt;/th&gt;&lt;th&gt;CPU 2&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="40"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="40"&gt;
&lt;td bgcolor="green" width="50%" align="center"&gt;Process 2&lt;/td&gt;
&lt;td bgcolor="lightgray" width="50%" align="center"&gt;Idle&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

In order to optimize things, you have to take advantage of that 'idle' spot, but that creates imbalance. For example, you may want to allocate CPU resources as follows:

&lt;p align="center" width="80%"&gt;
&lt;table align="center" width="300"&gt;
&lt;tr&gt;&lt;th&gt;CPU 1&lt;/th&gt;&lt;th&gt;CPU 2&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="40"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="green" width="50%" align="center"&gt;Process 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="40"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 3&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

This scenario is optimal, since the total CPU bandwidth available is 200%, but it is not fair: process 1 now gets twice as much CPU bandwidth as processes 2 and 3. In the worst case, the guest operating system may end up being confused by what is going on. So one solution is to balance things out over longer periods of time:

&lt;p align="center" width="80%"&gt;
&lt;table align="center" width="300"&gt;
&lt;tr&gt;&lt;th&gt;CPU 1&lt;/th&gt;&lt;th&gt;CPU 2&lt;/th&gt;&lt;/tr&gt;
&lt;tr height="26"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="green" width="50%" align="center"&gt;Process 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="26"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 1&lt;/td&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr height="26"&gt;
&lt;td bgcolor="orange" width="50%" align="center"&gt;Process 3&lt;/td&gt;
&lt;td bgcolor="green" width="50%" align="center"&gt;Process 2&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

This solution is again optimal and fair: process 1, 2 and 3 each get 66% of a CPU, for a total of 200%. But other important performance considerations come into play. One is that we cannot keep all processes on a single CPU. Keeping processes bound to a given CPU improves cache and &lt;a href="http://en.wikipedia.org/wiki/Translation_lookaside_buffer"&gt;TLB&lt;/a&gt; usage. But in this example, one of the processes (at least) will have to jump from one CPU to the other, even if the guest operating system thinks that it's bound to a single CPU.&lt;br/&gt;&lt;br/&gt;

Another big downside as far as scalability is concerned is with respect to inter-process communication. If processes 1 and 3 want to talk to one another in VM1, they can do so without waiting only half of the time, since during the other half, the other CPU is actually running a process that belongs to another virtual machine. A consequence is that the latency of this inter-process communication increase very significantly. As far as I can tell, this particular problem is the primary issue with the scalability of virtual machines. VMware tried to address it with co-scheduling, but we have seen why it is not a perfect solution. Statistically speaking, adding virtual CPUs increases the chances that the CPU you need will not be running, in particular when other virtual machines are competing for CPU time.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Actual scalability vs. simple metrics&lt;/h4&gt;

This class of problems is the primary reason why HPVM limits the size of virtual machines. It is not that it doesn't work. There are even workloads that scale really well, Linux kernel builds or ray-tracing being good examples. But even workloads that scale OK with a single virtual machine will no longer scale as well under competition. Again, virtual machine scalability is nowhere as simple as "add more virtual CPUs and it works".&lt;br/&gt;&lt;br/&gt;

This is not just theory. We have tested the theory. Consider the graph below, which shows the results of the same benchmark run into a variety of configurations. The top blue line, which is almost straight, is perfect scalability, which you practically get on native hardware. The red line is HPVM under light competition, i.e. with other virtual machines running but mostly idle. In that case, HPVM scales well up to 16-way. The blue line below is HPVM under heavy competition. If memory serves me right, the purple line is fully-virtualized Xen... under no competition.

&lt;p align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s1600-h/Xen+vs.+HPVM+-+Public.gif"&gt;&lt;img align="center" src="http://bp1.blogger.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s320/Xen+vs.+HPVM+-+Public.gif" alt="" id="BLOGGER_PHOTO_ID_5173813765365107634" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

In other words, if HPVM supports 8 virtual CPUs today, it is because we believe that we can maintain useful scalability on demanding workloads and even under competition. We know, for having tested and measured it, that going beyond 8-way will usually not result in increased performance, only in increasing CPU churn.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;One picture is worth 2&lt;sup&gt;10&lt;/sup&gt; words&lt;/h4&gt;

As we have shown, making the right decisions for virtual machines is not simple. Interestingly, even the very simple experiment I just described highlights important differences between various virtual machine technologies. After launching 10 processes on each guest, here is the performance of the various processes when running under HPVM. In that case, the guest is a Linux RedHat 4 server competing against an HP-UX partition running the same kind of workload. You can see the Linux scheduler granting time to all processes almost exactly fairly, although there is some noise. I suspect that this noise is the result of the feedback loop that Linux puts in place to &lt;a href="http://kerneltrap.org/node/8059"&gt;ensure fairness between processes&lt;/a&gt;.

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UnfX9_V6JCc/SQSIVVlFYKI/AAAAAAAAAX0/NxIIsf01eKY/s1600-h/HPVM+-+Linux.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 254px;" src="http://1.bp.blogspot.com/_UnfX9_V6JCc/SQSIVVlFYKI/AAAAAAAAAX0/NxIIsf01eKY/s400/HPVM+-+Linux.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5261480164826898594" /&gt;&lt;/a&gt;

By contrast, here is how AIX 6.1 performs when running the same workload. As far as I can tell, IBM implements what looks like a much simpler algorithm, probably without any feedback loop. It's possible that there is an option to enable fair share scheduling on AIX (I am much less familiar with that system, obviously). The clear benefit is that it is very stable over time. The downside is that it seems quite a bit unfair compared to what we see in Linux. Some processes are getting a lot more CPU time than others, and this over an extended period of time (the graph spans about 5 minutes).

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UnfX9_V6JCc/SQSIU_BwGPI/AAAAAAAAAXs/vEUk2oPWieY/s1600-h/IBM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_UnfX9_V6JCc/SQSIU_BwGPI/AAAAAAAAAXs/vEUk2oPWieY/s400/IBM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5261480158773123314" /&gt;&lt;/a&gt;

The result shown in the graphs is actually a combination of the effect of the operating system and virtual machine schedulers. In the case of IBM servers, I must say that I'm not entirely sure about how the partition and process schedulers interact. I'm not even sure that they are distinct: partitions seem to behave much like processes in AIX. In the case of HPVM, you can see the effect of the host HP-UX scheduler on the total amount allocated to the virtual machine.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;

Naturally, this is a very simple test, not even a realistic benchmark. It is not intended to demonstrate the superiority of one approach over the other. Instead, it demonstrates that virtual machine scalability and performance is not as simple as counting how many CPUs your virtual machine software can allocate. There are large numbers of complicated trade-offs, and what works for one class of workloads might not work so well for others.&lt;br/&gt;&lt;br/&gt;

I would not be surprised if someone shows benchmarks where IBM scales better than HPVM. Actually, it should be expected: after all, micro-partitions are almost built into the processor to start with; the operating system has been rewritten to delegate a number of tasks to the firmware; AIX really runs &lt;a href="http://en.wikipedia.org/wiki/Paravirtualization"&gt;paravirtualized&lt;/a&gt;. HPVM, on the other hand, is full virtualization, which implies higher virtualization costs. It doesn't get any help from Linux or Windows, and only very limited help from HP-UX. So if anything, I expect IBM micro-partitions to scale better than HPVM.&lt;br/&gt;&lt;br/&gt;

Yet I must say that my experience has not confirmed that expectation. In the few tests I made, differences, if any, were in HPVM's favor. Therefore, my recommendation is to benchmark your application and see which solution performs best for you. Don't let others tell you what the result should be, not even me...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-454052743414240528?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/454052743414240528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=454052743414240528' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/454052743414240528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/454052743414240528'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/virtual-machines-and-scalability.html' title='Virtual machines and scalability'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UnfX9_V6JCc/SQMu8pzBnOI/AAAAAAAAAXU/vpuWzIkC7Kw/s72-c/IBM+host.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6950670756847847081</id><published>2008-10-16T21:53:00.025+01:00</published><updated>2008-11-03T08:16:24.004+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><title type='text'>IBM's comparison of virtual machines...</title><content type='html'>IBM just posted a &lt;a href="http://www.ibm.com/developerworks/aix/library/au-aixvirtualization/?ca=dgr-lnxw07CompareFeatures&amp;S_TACT=105AGX59&amp;S_cmp=GRsitelnxw07"&gt;comparison of virtual machines&lt;/a&gt; that I find annoyingly flawed. Fortunately, &lt;a href="http://osnews.com/story/20393/A_Comparison_of_Virtualization_Features_of_HP-UX_Solaris_AIX"&gt;discussion on OSnews &lt;/a&gt; showed that technical people don't buy this kind of "data". Still, I thought that there was some value in pointing out some of the problems with IBM's paper.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;nPartitions are tougher than logical partitions&lt;/h4&gt;

What HP calls 'nPartitions' are electrically isolated partitions. IBM correctly indicates that &lt;em&gt;nPartitions offers true electrical isolation&lt;/em&gt;. The key benefit, using IBM's own words, is that &lt;em&gt;nPartitions allow you to service one partition while others are online&lt;/em&gt;. You can for example extract a cell, replace or upgrade CPUs or memory, and re-insert the cell without downtime.&lt;br/&gt;&lt;br/&gt;

&lt;img src="http://feedroom.speedera.net/static.feedroom.com/t_assets/20070924/b7606aeeee735af6d1cbba9833c6c760390d4907.jpg" align="right"/&gt;

The problem is when IBM states that this is &lt;em&gt;similar to IBM logical partitioning&lt;/em&gt;. In reality, &lt;a href="http://h71028.www7.hp.com/ERC/cache/115737-0-0-225-121.html"&gt;electrically-isolated partitions are tougher&lt;/a&gt;. Like on IBM systems, CPUs can be &lt;a href="http://docs.hp.com/en/B9073-90183/ch04s12.html"&gt;replaced in case of failure&lt;/a&gt;. But you can replace &lt;a href="http://docs.hp.com/en/10907/dynamic_nPars_WP.pdf"&gt;entire cells without shutting down the system&lt;/a&gt;, contrary to IBM's claim that &lt;em&gt;systems require a reboot when moving cells from one partition to another&lt;/em&gt;.&lt;br/&gt;&lt;br/&gt;

Finally, IBM remarks that &lt;em&gt;Another downside is that entry-level servers do not support this technology, only HP9000 and Integrity High End and Midrange servers&lt;/em&gt;. Highly redundant, electrically isolated partitions have a cost, so they don't make so much sense on entry level systems. But it's not a downside of HP that they only have partitioning technologies similar to IBM's on entry level systems, it's a downside of IBM not to have anything similar to nPartitions on their high-end servers.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Integrity servers support more operating systems&lt;/h4&gt;

IBM writes: &lt;em&gt;It's important to note that while nPartitions support HP-UX, Windows®, VMS, and Linux, they only do so on the Itanium processor, not on the HP9000 PA Risc architecture&lt;/em&gt;. It is true that HP (Microsoft, really) doesn't support Windows on PA-RISC, a long obsolete architecture, but what is more relevant is that IBM doesn't support Windows on POWER even today. This is the same kind of spin as for electrically-isolated partitions: IBM tries to divert attention from a missing feature in their product line by pointing out that there was a time when HP didn't have the feature either.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/HPVM"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/thumb/1/11/IntegrityVM.png/800px-IntegrityVM.png" align="right" width="150"/&gt;&lt;/a&gt;

IBM writes that &lt;em&gt;Partition scalability also depends on the operating system running in the nPartition,&lt;/em&gt;. Again, this is true... on any platform. But the obvious innuendo here is that the scalability of Integrity servers is inconsistent across operating systems. A quick visit to the &lt;a href="http://www.tpc.org/tpch/results/tpch_perf_results.asp"&gt;TPC-H&lt;/a&gt; and and &lt;a href="http://www.tpc.org/tpcc/results/tpcc_perf_results.asp"&gt;TPC-C&lt;/a&gt; result pages will demonstrate that this is false.  HP posts world-class results with HP-UX and Windows, and other Itanium vendors demonstrate the scalability of Linux on Itanium.&lt;br/&gt;&lt;br/&gt;

By contrast, the Power systems from IBM or Bull all run AIX. And if you want to talk about scalability, IBM as of today has no 30TB TPC-H results, and it often takes &lt;a href="http://h71028.www7.hp.com/ERC/cache/115737-0-0-225-121.html"&gt;several IBM machines to compete with a single HP system.&lt;/a&gt; &lt;br/&gt;&lt;br/&gt;

Regarding scalability of other operating systems, HP engineers have put a lot of effort early into Linux scalability. I would go as far as saying that 64-way scalability of Linux is probably something that HP engineers &lt;a href="http://www.uwsg.iu.edu/hypermail/linux/kernel/0212.2/1190.html"&gt;tested seriously before anybody else&lt;/a&gt;, and they got some &lt;a href="http://linux.slashdot.org/article.pl?sid=05/01/19/019232"&gt;recognition for this work&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;HP offers &lt;em&gt;both&lt;/em&gt; isolation and flexibility&lt;/h4&gt;

IBM also tries to minimize the flexibility of hard partitions. If this is electrically isolated, it can't be flexible, right? That's exactly what IBM wants you to believe: &lt;em&gt;They also do not support moving resources to and from other partitions without a reboot.&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://docs.hp.com/en/vsemgmt/gwlm.html"&gt;&lt;img src="http://docs.hp.com/en/vsemgmt/img/NestedSRD.png" align="right" width="150"/&gt;&lt;/a&gt;

However, HP has found a clever way to provide both flexibility and electrical isolation. With &lt;a href="http://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=B9073BA"&gt;HP's Instant Capacity (iCap)&lt;/a&gt;, you can move "right to use" CPUs around. On such a high-end machine, it is a good idea to have a few spare CPUs, either in case of CPU failure or in case of a sudden peak in demand. HP recognized that, so you can buy machines with CPUs installed, but disabled. You pay less for these CPUs, you do not pay software licenses, and so on.&lt;br/&gt;&lt;br/&gt;

The neat trick that iCap enables is to transfer a CPU from one nPartition to another without breaking electrical isolation: you simply shut it down in one partition, which gives you the right to use it in another partition without paying anything for it. All this can be done without any downtime, and again, it preserved electrical isolation between the partitions.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Shared vs. dedicated&lt;/h4&gt;

Regarding virtual partitions, IBM is quick to point out the "drawbacks": &lt;em&gt;What you can't do with vPars is share resources, because there is no virtualized layer in which to manage the interface between the hardware and the operating systems&lt;/em&gt;. Of course, you cannot do that with dedicated resources on IBM systems either, that's the &lt;em&gt;point&lt;/em&gt; of having a partitioning system with dedicated resources! If you want shared resources, HP offers virtual machines, see below. So when IBM claims that &lt;em&gt;This is one reason why performance overhead is limited, a feature that HP will market without discussing its clear limitations&lt;/em&gt;, the same also holds for dedicated resources on IBM systems.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://www.ibm.com/developerworks/aix/library/au-aixoptimization/index.html"&gt;&lt;img src="http://www.ibm.com/developerworks/aix/library/au-aixoptimization/fig01.gif" align="right" width="150"/&gt;&lt;/a&gt;

What is true is that IBM has attempted to deliver in a single product what HP offers in two different products, virtual partitions (vPars) and virtual machines (HPVM). The apparent benefit is that you can configure systems that have a mix of dedicated and shared resources. For example, you can have in the same partition some disks directly attached to a partition like they would be in HP's vPars, and other disks served through the VIO in a way similar to HPVM. In reality, though, the difference between the way IBM partitions and HPVM virtual machines work is not that big, and if anything, is going to diminish over time.&lt;br/&gt;&lt;br/&gt;

A more puzzling statement is that &lt;em&gt;The scalability is also restricted to the nPartition that the vPar is created on&lt;/em&gt;. Is IBM really presenting as a limitation the fact that you can't put more than 16 CPUs in a partition on a 16-CPU system? So I tested that idea. And to my surprise, IBM does indeed allow you to create for example a system with 4 virtual CPUs on a host with 2 physical CPUs. Interestingly, I know how to create such configurations with HPVM, but I also know that they invariably run like crap when put under heavy stress, so HPVM will refuse to run them if you don't twist its arm with some special "force" option. I believe that it's the correct thing to do. My quick experiments with IBM systems in such configurations confirms my opinion.&lt;br/&gt;&lt;br/&gt;

IBM also comments that &lt;em&gt;There is also limited workload support; resources cannot be added or removed&lt;/em&gt;. Resources can be added or removed to a vPar, or moved between vPars, so I'm not sure what IBM refers to. Similarly, when IBM writes: &lt;em&gt;Finally, vPars don't allow you to share resources between partitions, nor can you dynamically allocate processing resources between partitions,&lt;/em&gt; I invite readers to check the &lt;a href="http://h71028.www7.hp.com/enterprise/cache/109845-0-0-0-121.html"&gt;transcript of a 3-years old demo&lt;/a&gt; to see for how long (at least) that statement has been false...&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Virtual Machines&lt;/h4&gt;

Finally, IBM also gives false or outdated information regarding &lt;a href="http://en.wikipedia.org/wiki/Integrity_Virtual_Machines"&gt;HP Integrity Virtual Machines, aka HPVM&lt;/a&gt; (not "IVM", which is &lt;a href="http://www.ibm.com/developerworks/systems/library/es-ivm/"&gt;an IBM product&lt;/a&gt;.)

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s1600-h/Xen+vs.+HPVM+-+Public.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s320/Xen+vs.+HPVM+-+Public.gif" alt="" id="BLOGGER_PHOTO_ID_5173813765365107634" border="0" /&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;

HPVM now supports 8 virtual CPUs, not 4, and it has always been able to take advantage of the much large numbers of physical CPUs HP-UX supports (128 today). Please note that 8 virtual CPUs is what is &lt;em&gt;supported&lt;/em&gt;, not what &lt;em&gt;&lt;a href="http://grenouille-bouillie.blogspot.com/2008/03/nice-graph.html"&gt;works&lt;/a&gt;&lt;/em&gt; (the red line in the graph shows 16-way scalability of an HPVM virtual machine under moderate competition using a &lt;a href="http://www.gelato.unsw.edu.au/IA64wiki/reaim7"&gt;Linux scalability benchmark&lt;/a&gt;; the top blue line is the scalability on native hardware; the bottom curves are HPVM under maximal competition and Xen under no competition.)&lt;br/&gt;&lt;br/&gt;

IBM also states that &lt;em&gt;Reboots are also required to add processors or memory. &lt;/em&gt;, but this is actually not very different from their own micropartitions. In a Linux partition with a kernel supporting &lt;a href="http://www.kernel.org/doc/Documentation/cpu-hotplug.txt"&gt;CPU hotplug&lt;/a&gt;, for example, you can disable CPU3 under HPVM by typing &lt;tt&gt;echo 0 &gt; /sys/devices/system/cpu/cpu3/online&lt;/tt&gt;, just like  you would on a real system (on HP-UX, you would use &lt;tt&gt;hpvmmgmt -c 3&lt;/tt&gt; to keep only 3 CPUs). HPVM also features &lt;a href="http://docs.hp.com/en/T2767-90067/rn01re09.html"&gt;dynamic memory&lt;/a&gt; in a virtual machine, meaning that you can add or remove memory while the guest is running. You need to reboot a virtual machine only to change the maximum number of CPUs or the maximum amount of memory, but then that's also the case on IBM systems: to change the maximum number of CPUs, you need to modify a "profile", but to apply that profile, you need to reboot. However, IBM micro-partitions have a real advantage (probably not for long) which is that you can boot with less than the maximum, whereas HPVM requires that the maximum resources be available at boot time.&lt;br/&gt;&lt;br/&gt;

IBM wants you to believe that &lt;em&gt;There is no support for features such as uncapped partitions or shared processor pools&lt;/em&gt;. In reality, HPVM has always worked in uncapped mode by default. Until recently, you needed &lt;a href="http://docs.hp.com/en/vsemgmt/gwlm.html"&gt;HP's Global Workload Manager&lt;/a&gt; to enable capping, because we thought that it was a little too cumbersome to configure manually. Our customers told us otherwise, so you can now directly create virtual machines with capped CPU allocation. As for &lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzait/rzaitshareproc.htm"&gt;shared processor pools&lt;/a&gt;, I think that this is an IBM configuration concept that is entirely unnecessary on HP systems, as HPVM computes CPU placement dynamically for you. Let me know if you think otherwise...&lt;br/&gt;&lt;br/&gt;

The statement IBM made that &lt;em&gt;Virtual storage adapters also cannot be moved, unless the virtual machines are shut down.&lt;/em&gt; is also untrue. All you need is to use &lt;a href="http://docs.hp.com/en/T2767-90024/rn01re08.html"&gt;hpvmmodify&lt;/a&gt; to add or remove virtual I/O devices. There are limits. For example, HPVM only provisions a limited number of spare PCI slots and busses, based on how many devices you started with. So if you start with one disk controller, you might have an issue going to the maximum supported configuration of 158 I/O devices without rebooting the partition. But if you know ahead of time that you will need that kind of growth, we even provide "null" backing stores that can be used for that purpose.&lt;br/&gt;&lt;br/&gt;

But the core argument IBM has against HP Virtual Machines is: &lt;em&gt;The downside here is scalability&lt;/em&gt;. Scalability is a complex enough topic that it deserves a separate post, with some actual data...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Preserving the investment matters&lt;/h4&gt;

Let me conclude by pointing out an important fact: HP has a much better track record at preserving the investment of their customers. For example, on cell-based systems, &lt;a href="http://www.itjungle.com/tug/tug060205-story02.html"&gt;HP allowed mixed PA-RISC and Itanium cells&lt;/a&gt; to facilitate the transition.&lt;br/&gt;&lt;br/&gt;

This is particularly true for virtual machines. HPVM is software, that HP supports on any Integrity server running the required HP-UX (including systems by other vendors). By contrast, IBM micropartitions are firmware, with a lot of hardware dependency. Why does it matter? Because firmware only applies to recent hardware, whereas software can be designed to run on older hardware. As an illustration, my development and test environments consists in severely outdated &lt;a href="http://www.openpa.net/systems/hp_zx2000.html"&gt;zx2000&lt;/a&gt; and &lt;a href="http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00274438"&gt;rx5670&lt;/a&gt; (the old 900MHz version). These machines were &lt;a href="http://h20338.www2.hp.com/hpux11i/downloads/public_hp-ux_systems_support.pdf"&gt;introduced in 2002 and discontinued in 2003 or 2004&lt;/a&gt;. In other words, I develop HPVM on hardware that was discontinued before HPVM was even introduced...&lt;br/&gt;&lt;br/&gt;

By contrast, you cannot run IBM micro-partitions &lt;a href="http://www-03.ibm.com/systems/resources/systems_p_os_aix_whitepapers_pdf_aix_support.pdf"&gt;on any POWER-4&lt;/a&gt; system, and &lt;a href="http://www.redbooks.ibm.com/redbooks/SG247460/3-1.htm "&gt;you need new POWER-6 systems&lt;/a&gt; in order to take advantage of new features such as Live Partition Mobility (the ability to transfer virtual machines from one host to another). HP customers who purchased hardware five years ago can use it to evaluate the equivalent HPVM feature today, without having to purchase brand new hardware.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Update: About history&lt;/h4&gt;

The IBM paper boasts about IBM's &lt;em&gt;40-plus year history of virtualization&lt;/em&gt;, trying to suggest that they have been in the virtualization market longer than anybody else. In reality, the PowerVM solution is really recent (less than 5 years old). Earlier partitioning solutions (LPARs) were comparable to HP's vPars, and both technologies were introduced in 2001.&lt;br/&gt;&lt;br/&gt;

But a friend and colleague at HP pointed out that a lot of these more modern partitioning technologies actually &lt;a href="http://www.patentgenius.com/inventedby/NoelKarenLPembrokeNH.html"&gt;originated at Digital Equipment&lt;/a&gt;, under the name &lt;a href="http://www.openvms.compaq.com/availability/openvms-galaxy-overview.ppt"&gt;OpenVMS Galaxy&lt;/a&gt;. And the Galaxy implementation actually offered features that have not entirely been matched yet, like APIs to share memory between partitions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6950670756847847081?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6950670756847847081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6950670756847847081' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6950670756847847081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6950670756847847081'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/ibms-comparison-of-virtual-machines.html' title='IBM&apos;s comparison of virtual machines...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s72-c/Xen+vs.+HPVM+-+Public.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5621365638841650362</id><published>2008-10-15T06:25:00.028+01:00</published><updated>2008-10-15T18:08:20.099+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='Religion'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='Everything else'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>What is your dangerous idea?</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/What_Is_Your_Dangerous_Idea%3F"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/9/9a/Rename.jpg" align="right" width="150"/&gt;&lt;/a&gt;

I've just finished reading John Brockman's &lt;a href="http://en.wikipedia.org/wiki/What_Is_Your_Dangerous_Idea%3F"&gt;What is your Dangerous Idea?&lt;/a&gt;. This book is a collection of short essays (108 of them, I believe) by various authors selected by &lt;a href="http://www.edge.org/"&gt;the Edge foundation&lt;/a&gt;. This makes it a book that is difficult to summarize or even analyze, but I'll try. If you want to read the essays on-line, you can find them &lt;a href="http://www.edge.org/q2006/q06_print.html"&gt; on the Edge site&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;An impressionist painting of today's intellectual landscape&lt;/h4&gt;

One thing can be said upfront: this is a book worth reading, even if you are unlikely to like all of it. It's worth reading, because it exposes the viewpoint of various smart thinkers on a large number of topics. You are unlikely to like all of it, because in this long list of idea, one is bound to trigger disagreement, angst, anger, or some other kind of negative sentiment.&lt;br/&gt;&lt;br/&gt;

The book covers a large range of topics, largely circling around science (physics, biology, neurophysiology, computer science), with peeks at sociology, religion or morality. Trying to talk about each and every individual idea would be quite pointless. It's clear that the "Dangerous idea" question leaves things quite open, and so there is no real central theme. Some ideas appear quite insightful, others frightening, other depressing, some even seem clearly wrong or overly simplistic to me. But the general impression remains that of an impressionist painting of today's intellectual landscape: it's made of many little strokes, yet you can see trends and general shapes emerging from all these dots.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;The dangerous uniformity of bland gray matter&lt;/h4&gt;

Unfortunately, compared to real impressionists, the picture surprisingly lacks color and intensity, in my humble opinion. This was really the first impression I had after the few chapters of the book: "&lt;em&gt;Hey, why are they all saying the same thing?&lt;/em&gt;" Now, to be honest, some of that may be a result of the subtle editorial work of John Brockman, who did a remarkable job of grouping writers who happened to be covering a similar theme together, which seems to give the book a kind of gentle flow.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Impressionism"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/a/a5/Sisley-Bridge_at_Villeneuve-la-Garenne.jpg" align="left" width="150"/&gt;&lt;/a&gt;

But still, from such an honorable audience, I expected a lot more: more fire, more contrast, more debate, more disagreement. Oh, sure, many of the ideas are bound to shock a large fraction of the readers, in particular in the US, by claiming for example that &lt;a href="http://www.edge.org/q2006/q06_print.html#horgan"&gt;we have no soul&lt;/a&gt; (John Horgan), that &lt;a href="http://www.edge.org/q2006/q06_print.html#anderson"&gt;the probability of God is small&lt;/a&gt; (Philip W. Anderson), even that &lt;a href="http://www.edge.org/q2006/q06_print.html#harriss"&gt;science must destroy religion&lt;/a&gt; (Sam Harris), that the &lt;a href="http://www.edge.org/q2006/q06_print.html#davies"&gt;fight against global warming is lost&lt;/a&gt; (Paul C.W. Davies), and so on.&lt;br/&gt;&lt;br/&gt;

However, while all these thinkers might liken themselves more or less consciously to Galileo or Darwin for their revolutionary ideas, for going against majority thinking, they are still nowhere close to these role models, because they largely agree among themselves and with their peers. The true honor of Galileo or &lt;a href="http://en.wikipedia.org/wiki/Pasteur"&gt;Louis Pasteur&lt;/a&gt; was to go against the &lt;em&gt;scientific establishment&lt;/em&gt; of the time. By contrast, &lt;em&gt;What is your Dangerous Idea&lt;/em&gt; shows an unfortunate uniformity in the thinking of our present scientific establishment.&lt;br/&gt;&lt;br/&gt;

To illustrate this, it is sufficient to take the first three essays in the print edition: &lt;a href="http://www.edge.org/q2006/q06_print.html#horgan"&gt;&lt;em&gt;We Have No Souls&lt;/em&gt;&lt;/a&gt; (John Horgan), &lt;a href="http://www.edge.org/q2006/q06_print.html#bloom"&gt;&lt;em&gt;The Rejection of Soul&lt;/em&gt;&lt;/a&gt; (Paul Bloom), and &lt;a href="http://www.edge.org/q2006/q06_print.html#buss"&gt;&lt;em&gt;The Evolution of Evil&lt;/em&gt;&lt;/a&gt;(David Buss). All three talk about a topic that is central to religious thinking, and all three go straight against conventional religious wisdom. Worse yet, they present their ideas under the authority of science, as if the ideas they present were scientific.&lt;br/&gt;&lt;br/&gt;

For example, John Horgan writes:

&lt;blockquote&gt;The dangerous (probably true) idea I'd like to dwell on is that we humans have no souls.&lt;/blockquote&gt;

Paul Bloom confirms:

&lt;blockquote&gt;If what you mean by "soul" is something immaterial and immortal, something that exists independently of the brain, then souls do not exist.&lt;/blockquote&gt;

and David Buss, on a different topic, similarly defines evil in a way that entirely ignores traditional morality:

&lt;blockquote&gt;At a rough approximation, we view as evil people who inflict massive evolutionary fitness costs on us, our families, or our allies.&lt;/blockquote&gt;

Now, maybe you think that this is just the theme for essays at the beginning of the book? Not really. There is even an essay dedicated to that same ever-present idea, &lt;a href="http://www.edge.org/q2006/q06_print.html#provine"&gt;&lt;em&gt;This Is All There Is&lt;/em&gt;&lt;/a&gt;, written by Robert R. Provine. And in one of the last essays on an unrelated topic, &lt;a href="http://www.edge.org/q2006/q06_print.html#smith"&gt;&lt;em&gt;What We Know May Not Change Us&lt;/em&gt;&lt;/a&gt; (link apparently broken), Barry C. Smith finds it useful to begin his work by echoing exactly the same sentiment:

&lt;blockquote&gt;Human beings, like everything else, are part of the natural world. The natural world is all there is.&lt;/blockquote&gt;

This would not be so dramatic if there was, in all this loud concert of consensual voices, at least one lone dissenter daring to proclaim a dangerous idea that would go against that flow, something like: &lt;em&gt;Science has nothing to say about religion&lt;/em&gt;, or &lt;em&gt;There may be something else after all.&lt;/em&gt; This would be the expected high-contrast picture of healthy scientific skepticism. Instead, what we have is bland gray matter, pun intended.&lt;br/&gt;&lt;br/&gt;

Somehow this all reminds me of a cartoon by French cartoonist &lt;a href="http://images.google.com/images?q=Sempé"&gt;Sempé&lt;/a&gt;, which unfortunately I can't find on the web, where dozens of characters in a building were all saying &lt;em&gt;I'm fortunate not to have seen that happen in my lifetime, but I'm afraid that you kids will live in a world where everybody believes the same thing.&lt;/em&gt; Hilarious, and so true...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;How could you tell if you are in the Matrix?&lt;/h4&gt;

The irony is that there is, actually, one essay that explains very well why the general consensus expressed by all these thinkers is, in reality, illogical, and why it should quickly appear untenable to such bright minds. The essay I'm referring to is: &lt;a href="http://www.edge.org/q2006/q06_print.html#pickover"&gt;&lt;em&gt;We Are All Virtual&lt;/em&gt;&lt;/a&gt;, by Clifford Pickover. In it, Pickover argues that there are more chances for us to be virtual than real. The idea is that we are building ever more realistic virtual worlds, and that at one point, we will certainly be able to make them appear as realistic to us as our own dreams. Since there will be more such virtual environments than real ones, chances are that you are currently in one.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/The_Matrix"&gt;&lt;img src="http://www.dan-dare.org/FreeFun/Images/TheMatrixWallpaper800.jpg" align="right" width="150"/&gt;&lt;/a&gt;

I should know about virtualization. As the original designer of &lt;a href="http://en.wikipedia.org/wiki/HPVM"&gt;HP Integrity Virtual Machines&lt;/a&gt;, HP's virtualization technology for servers, I am acutely aware that it's possible to fool the most "reality-aware" form of software, the only form of software that routinely interacts with real, physical devices, namely operating systems. In other words, we can make an operating system such as Linux, Windows, HP-UX or OpenVMS believe that it's running on some real hardware, with real disks, real network cards, a real console, and so on, when in reality, everything is pure software. This is why I'm often &lt;a href="http://rogue.colorado.edu/EPIC7/ItaniumVirtualMachines.pdf"&gt;describing my own job&lt;/a&gt; by saying that I'm coding &lt;a href="http://en.wikipedia.org/wiki/The_Matrix"&gt;The Matrix&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

Is there any reason the brain's "software" can't be fooled that way? If there is one, I don't know it. It is certainly not widely known. Consequently, claims that there is nothing beyond natural reality, beyond the sum of our sense, are vacuous at best and fraudulent at worst. They are a &lt;em&gt;belief&lt;/em&gt;, not science. Worse yet, from a scientific point of view, these claims fly in the face of simple technological and scientific evidence, from virtual machines to the psychology of dreams.&lt;br/&gt;&lt;br/&gt;

Ernst Pöppel also makes a similar point about the limits of what we can know in &lt;a href="http://www.edge.org/q2006/q06_print.html#poppel"&gt;&lt;em&gt;How Can I Trust, in the Face of So Many Unknownables&lt;/em&gt;&lt;/a&gt; (the on-line version differs somewhat from the print version). So that viewpoint is somewhat common, and as well it should. But to get back to my initial comment about uniformity of thought, what I find unfortunate is that both Pöppel and Pickover carefully wrap this simple point in a consensual, conflict-avoiding shroud of anything-but-religion. In today's scientific community, it is apparently acceptable to write &lt;em&gt;We are all virtual&lt;/em&gt;, but Gödel forbids that you'd write &lt;em&gt;Chances are that the natural world is &lt;u&gt;not&lt;/u&gt; all there is&lt;/em&gt;... even if the two sentences are essentially equivalent&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;My dangerous idea: there is a supernatural world&lt;/h4&gt;

Now, from the reasoning above, you probably understand that what I truly believe is that we really can't tell if there is something beyond the natural world or not. This is not exactly new philosophy. After all, it's quite similar to &lt;a href="http://en.wikipedia.org/wiki/Pascals_wager"&gt;Pascal's Wager&lt;/a&gt;. But the obvious next question is: is there any way to tilt the balance one way or another?&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://urbanlegends.about.com/library/bl_eye_of_god.htm"&gt;&lt;img src="http://z.about.com/d/urbanlegends/1/0/-/7/eye_of_god.jpg" align="left" width="150"/&gt;&lt;/a&gt;

In order to address this question, I need to point out that everything we "know" is really something we believe more strongly than the rest. Pöppel's essay doesn't say anything else, actually. In order to "know", we must trust in a number of things, in general simply because we have been told about them, or because our senses report them. Sometimes, this approach leads us to hold as self-evident beliefs that are &lt;a href="http://grenouille-bouillie.blogspot.com/2008/09/self-evident.html"&gt;spectacularly false&lt;/a&gt;. But in general, it is a good working model we can use to drive our own actions. Trust in our own beliefs is the main driver that guides everyone of our actions.&lt;br/&gt;&lt;br/&gt;

Now, where do religions come from? They come from a testimony. According to the scriptures common to the majority of religious people on Earth today, someone once told a guy named Moses that reports of his nonexistence were vastly exaggerated. As I wrote earlier in this blog, &lt;a href="http://en.wikipedia.org/wiki/I_am_that_I_am"&gt;I am that I am&lt;/a&gt; is actually quite profound: someone claims to exist without the need for anything else. This is definitely not the case for us: can we ascertain that we can exist without a brain or a physical body? Someone out there, allegedly, once said that He can.&lt;br/&gt;&lt;br/&gt;

Everything considered, monotheist religions are nothing but faith in such testimony. Unlike the characterization of religion given incorrectly at various places in &lt;em&gt;Dangerous Idea&lt;/em&gt;, truly religious people do not claim that they know God, only that they know God &lt;em&gt;spoke to us&lt;/em&gt; (Catholics often refer to God as "The Word" for that very reason.) In that respect, there is very little difference between believing that God exists and believing that George Bush exists, there is little difference between believing that God wants us to love one another and believing that George Bush wants to eradicate the axis of evil. In both cases, it's mostly hearsay, testimony from someone who heard about something that someone else once heard, or indirect testimony through the Bible or newspapers.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Answering the Question Personally&lt;/h4&gt;

There is one big difference, though. At least in the Catholic Faith (I'm not too sure about others), it is possible to speak to God directly, something called "prayer". All things considered, this is probably much easier than speaking to George Bush directly. What the Church tells us is that we have some inner sense that allows us to listen to God. It is more subtle than hearing or seeing. It takes some faith to believe that it works. But thousands of people speak to God &lt;em&gt;today&lt;/em&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://www.wassup.info/prayernets.htm#WHY_PRAY_"&gt;&lt;img src="http://www.wassup.info/PrayerConversation.jpg" align="right" width="150"/&gt;&lt;/a&gt;

To them, saying that God doesn't exist is like saying that their parents don't exist. Try this with your friends: "&lt;em&gt;I'm sorry, Sir, but my computer has no trace of your father, so he doesn't exist.&lt;/em&gt;" Of course, many believers will acknowledge that their faith may be a fluke in their brain, that the answers to their prayers may just be chance and random coincidence.&lt;br/&gt;&lt;br/&gt;

But in that respect, if we are all virtual, George Bush may also be a fluke in my brain for all I know, and the fact that my wife cooks a delicious dinner may also be a pure coincidence totally unrelated to her love for me. Still, in both cases, scientists beloved Ockam's razor recommends that I act under the hypothesis that both George Bush and my wife's love are "real", whatever that word means. And believing in God is not more stupid than this belief, no matter what too many scientists in &lt;em&gt;Dangerous Idea&lt;/em&gt; proclaim.&lt;br/&gt;&lt;br/&gt;

So here is why the idea that there is a supernatural reality is dangerous: if this person named God is real, and if He is who He claims to be, then we'd better listen carefully. After all, His message is not so bad, it's all about love. Aren't we lucky not to be in a world where the creator constantly yells "How can I make you miserable, you unworthy pieces of carbon-based junk"? Granted, the message is all garbled and difficult to comprehend. But then, my virtual machines probably also have a very poor understanding of my "reality".&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Other gems in the book&lt;/h4&gt;

I can't finish this review without mentioning that there are a number of essays in this book that stand out for a reason or another. The usual suspects talk about physics (e.g. &lt;a href="http://www.edge.org/q2006/q06_print.html#susskind"&gt;Leonard Suskind&lt;/a&gt;, &lt;a href="http://www.edge.org/q2006/q06_print.html#smolin"&gt;Lee Smolin&lt;/a&gt;, &lt;a href="http://www.edge.org/q2006/q06_print.html#greene"&gt;Brian Greene&lt;/a&gt; and &lt;a href="http://www.edge.org/q2006/q06_print.html#rovelli"&gt;Carlo Rovelli&lt;/a&gt;), and defend their now relatively well known core ideas with the usual brio.&lt;br/&gt;&lt;br/&gt;

As usual, I find &lt;a href="http://www.cpt.univ-mrs.fr/~rovelli/"&gt;Carlo Rovelli&lt;/a&gt; to be the most insightful of the bunch, pointing out that somehow, the two core discoveries of twentieth century physics have not yet been assimilated by most, including by physicists:

&lt;blockquote&gt;Many of today's audacious scientific speculations - about extra dimensions, the multiverse and hte like - are not only unsupported experimentally, but also quite often formulated within a worldview that has not even fully digested quantum mechanics and relativity&lt;/blockquote&gt;

&lt;a href="http://www.cpt.univ-mrs.fr/~rovelli"&gt;&lt;img src="http://www.cpt.univ-mrs.fr/~rovelli/loop_quantum_gravity.jpg" align="left" width="150"/&gt;&lt;/a&gt;

Unfortunately, for most readers, it may not be entirely clear what he means by that, even if he does a good job at explaining it in the rest of the essay. Rovelli's core idea, I believe, is that Relativity demonstrated that the notion of "fixed background" where events play out is a persistent illusion, one that is appropriate from our low-energy, low-speed environment, but totally wrong in general. As Brian Greene explains in one of his books, if you walk towards Andromeda or away from it, the "now" in the Andromeda galaxy shifts backward or forward by a few thousand years...&lt;br/&gt;&lt;br/&gt;

Yet, what Rovelli complains about is that some theories today are still written on some absolute background. This is certainly not the case for &lt;a href="http://physics.dinechin.org/tim.pdf"&gt;my own pet theory&lt;/a&gt;, which removes yet another "absolute background" (in my case, absolute variables such as &lt;em&gt;x&lt;/em&gt;, &lt;em&gt;t&lt;/em&gt; or &lt;em&gt;m&lt;/em&gt;, as opposed to relative &lt;em&gt;measurements&lt;/em&gt; of the corresponding physical entities, length, time or mass). But in general, I believe that he has a point. It's a shame that relativity or quantum mechanics are still presented as dangerous ideas.&lt;br/&gt;&lt;br/&gt;

&lt;a name="krause"&gt;
&lt;h4&gt;Computer geeks rule!&lt;/h4&gt;
&lt;/a&gt;

&lt;a href="http://www.edge.org/q2006/q06_print.html#krause"&gt;&lt;img src="http://www.edge.org/q2006/images/krause100.jpg" align="right"/&gt;&lt;/a&gt;

But the pearl of wisdom in the whole book, in my opinion, goes to &lt;a href="http://en.wikipedia.org/wiki/Kai_Krause"&gt;Kai Krause&lt;/a&gt; for the strangely titled &lt;a href="http://www.edge.org/q2006/q06_print.html#krause"&gt;&lt;em&gt;Anty Gravity: Chaos theory in an All-To-Practical Sense&lt;/em&gt;&lt;/a&gt;, probably in large part because it feels so "original" compared to all other essays. The Anty spelling is not a typo: it's both in the title and in the contents table, and the essay does talk about ants. Kai's essay is about what he calls "Super Individualism", the need for every single one of us (myself included) to feel unique and special, and how this goes against the need of the many:


&lt;blockquote&gt;What if each ant suddenly wants to be the queen? What if soldiering and nest building and cleaning chores are just not cool enough anymore? If AntTV shows them, every day, nothing but un-Ant behavior...?&lt;/blockquote&gt;

He concludes with:

&lt;blockquote&gt;Next year, let's ask for &lt;em&gt;good&lt;/em&gt; ideas, not dangerous ones. Really, practical, serious, &lt;em&gt;good ideas&lt;/em&gt;, like: "What is the most immediate positive global impact of any kind that can be achieved within one year?"&lt;/blockquote&gt;

And when I read that, I was proud to be a computer geek: in this large collection of essays from a large pool of bright minds, the one that really stood out from the rest was from a fellow geek...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5621365638841650362?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5621365638841650362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5621365638841650362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5621365638841650362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5621365638841650362'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/what-is-your-dangerous-idea.html' title='What is your dangerous idea?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1182468216463969127</id><published>2008-10-14T06:26:00.004+01:00</published><updated>2008-10-14T07:03:01.262+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Everything else'/><title type='text'>Links and Links</title><content type='html'>Here is a semi-random collection of links about various topics I have covered on this blog at some point in time:

&lt;ul&gt;
&lt;li&gt;John Timmer on Ars Technica discusses how &lt;a href="http://arstechnica.com/news.ars/post/20081013-scientific-publishing-might-create-a-winners-curse.html"&gt;Scientific publishing might create a winner's curse&lt;/a&gt;, according to a recently published paper. The economic angle should not have us forget that about the bigger problem of information overload and &lt;a href="http://grenouille-bouillie.blogspot.com/2007/03/advocating-non-anonymous-peer-review.html"&gt;intelligent content filtering&lt;/a&gt; (which anonymous review certainly isn't).&lt;/li&gt;

&lt;li&gt;Machines have &lt;a href="http://technology.timesonline.co.uk/tol/news/tech_and_web/article4934858.ece"&gt;never been so close&lt;/a&gt; to fooling humans and passing the Turing test. But then, conversations held over chat always seem a little bit "disconnected", without real substance, even with real humans. Fooling 30% of the audience is a good first step, but that's definitely not enough.&lt;/li&gt;

&lt;li&gt;NeuroSky and Square Enix announced the first &lt;a href="http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&amp;newsId=20081007005343&amp;newsLang=en"&gt;"brainwave-controlled game"&lt;/a&gt;. Much like &lt;a href="http://en.wikipedia.org/wiki/Alpha_Waves"&gt;Alpha Waves&lt;/a&gt; (in my biased opinion the first real 3D game) looks quite crude today, these brainwave-controlled games are probably only the very beginning...&lt;/li&gt;

&lt;li&gt;There has been a lot of buzz about the &lt;a href="http://weblog.infoworld.com/fatalexception/archives/2008/10/microsofts_touc.html"&gt;Microsoft Touchless SDK&lt;/a&gt;, but watching the videos, one can't help but notice a rather blatant rip-off of &lt;a href="http://www.camspace.com/"&gt;CamSpace&lt;/a&gt;...&lt;/li&gt;

&lt;li&gt;Debate about C++ rages on, with Eric Raymond announcing an upcoming article about &lt;a href="http://esr.ibiblio.org/?p=532"&gt;C++ considered harmful&lt;/a&gt;, to which Indogo Jo replies that &lt;a href="http://www.blogistan.co.uk/blog/mt.php/2008/10/10/the_enduring_appeal_of_c"&gt;C++ is the ugly useful language&lt;/a&gt;. It's interesting that Eric Raymond's earlier post is a &lt;a href="http://esr.ibiblio.org/?p=538"&gt;cristicism of the Unix Hater's Handbook&lt;/a&gt; which, I think, applies fittingly well to the little he showed of the C++ article...&lt;/li&gt;

&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1182468216463969127?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1182468216463969127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1182468216463969127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1182468216463969127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1182468216463969127'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/10/links-and-links.html' title='Links and Links'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1848120451435415076</id><published>2008-09-26T10:10:00.025+01:00</published><updated>2008-10-15T18:16:11.355+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>The new C++ standard</title><content type='html'>&lt;img src="http://upload.wikimedia.org/wikipedia/commons/d/da/BjarneStroustrup.jpg" align="right" width="150"/&gt;

DevX.com has a &lt;a href="http://www.devx.com/SpecialReports/Door/38865"&gt;special report&lt;/a&gt; on the new C++ standard, currently referred to as &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B0x"&gt;C++ 0x&lt;/a&gt; because it was due sometime between 2000 and 2009. Well, the standard was quite late compared to early expectations, so an easy joke was that we might end up with &lt;tt&gt;0xA&lt;/tt&gt; or &lt;tt&gt;0xB&lt;/tt&gt;, the C++ hexadecimal notation for 10 or 11. Ultimately, chances are that the standard will make it for 2009, so we will probably refer to it as C++ 09...&lt;br/&gt;&lt;br/&gt;

This new iteration of the language is of interest to all programmers, because it brings a number of major changes to one of the most popular programming languages today, and one that is already very complex (and therefore hard to extend). But for me in particular, it is all the more interesting to consider how various "innovations" in that new standard compare to features that play the same role in &lt;a href="http://xlr.sf.net"&gt;XL&lt;/a&gt;.

&lt;h4&gt;Concepts?&lt;/h4&gt;

One of the major features in C++ is &lt;em&gt;concepts&lt;/em&gt;. DevX has a &lt;a href="http://www.devx.com/SpecialReports/Article/38864"&gt;dedicated article&lt;/a&gt; about concepts. In short, concepts in C++ are a way to describe categories of templates, and to help the compiler figure out what the programmer intended for a given template. This new aspect of the language makes it easier to define a real contract between the users of a template and its implementers.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/d/d4/Brain_090407.jpg" align="left" width="150"/&gt;&lt;/a&gt;

C++ concepts, however, are somewhat annoying to me. One reason is that XL has been for a long time based on an approach that I dubbed &lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;concept programming&lt;/a&gt;. Concept programming, in the XL sense, is about the relationship between &lt;em&gt;concepts&lt;/em&gt; that exist only in our head, and concept &lt;em&gt;representations&lt;/em&gt; that exist in the computer. The key idea is to make sure that implementations look and feel like the concepts they represent.&lt;br/&gt;&lt;br/&gt;

One key consequence of that idea is that a programming language should comfortably support arbitrary concepts, not some finite set (e.g. functions or objects), because the set of concepts we manipulate is not a-priori limited. This is the key reason so much effort was put into making XL extensible.&lt;br/&gt;&lt;br/&gt;

To summarize, "concepts" in XL are only very remotely related to "concepts" in C++, although, arguably, the XL usage of the word is closer to the standard meaning.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;XL generic validation = C++ concepts&lt;/h4&gt;

&lt;img src="http://blogs.voices.com/voxdaily/square-peg-round-hole.jpg" align="right" width="150"/&gt;

Many aspects of XL are a direct consequence of the concept programming design philosophy. For example, XL implemented, since &lt;a href="http://mozart-dev.cvs.sourceforge.net/viewvc/mozart-dev/mozart/lx/TESTS/instantiation/generic_validation.lx?revision=1.1&amp;view=markup"&gt;at least 2002&lt;/a&gt;, the idea that one can describe how a generic type can be used. This feature is called &lt;em&gt;generic validation&lt;/em&gt; in XL terminology. I invite the reader to compare the &lt;a href="http://xlr.svn.sourceforge.net/viewvc/xlr/trunk/xl2/native/TESTS/10.Generics/minimax_vararg_generic.xl?view=markup"&gt;XL implementation of a &lt;em&gt;minimum&lt;/em&gt; function&lt;/a&gt; with the C++-with-concepts &lt;a href="http://www.devx.com/SpecialReports/Article/38864/1763?supportItem=1"&gt;implementation of the same&lt;/a&gt;. This should convince you that the two ideas are basically almost identical.&lt;br/&gt;&lt;br/&gt;

So where are the differences between C++ concepts and XL generic validation? One of them is how the contract is being specified. In C++, you specify the kind of operators and functions that define the concept. For example, you would write something like the following to indicate that a &lt;tt&gt;min&lt;/tt&gt; function requires a less-than operator:

&lt;blockquote&gt;&lt;pre&gt;
concept LessThanComparable&amp;lt;typename T&amp;gt; {
  bool operator&amp;lt;(const T&amp; x, const T&amp; y);
}

template&amp;lt;typename T&amp;gt;
requires LessThanComparable&amp;lt;T&amp;gt;
const T&amp; min(const T&amp; x, const T&amp; y) {
  return x &amp;lt; y? x : y;
}&lt;/pre&gt;&lt;/blockquote&gt;

In XL, by contrast, you give an example of code that has to compile with the generic type you want to validate. For example, in XL, you would write something like:

&lt;blockquote&gt;&lt;pre&gt;
generic type ordered where
    A, B : ordered
    Test : boolean := A &amp;lt; B

function Min (X, Y : ordered) return ordered is
    if X &amp;lt; Y then
        return X
    else
        return Y
&lt;/pre&gt;&lt;/blockquote&gt;

Now, as you can see from this simple example, a significant difference is that XL considers the validation to be tied to a generic type, which can then be used to declare a function like &lt;tt&gt;Min&lt;/tt&gt; directly. In other words, since you declared that &lt;tt&gt;ordered&lt;/tt&gt; is generic, &lt;tt&gt;Min&lt;/tt&gt; becomes implicitly generic. By contrast, in C++, &lt;tt&gt;LessThanComparable&lt;/tt&gt; is a kind of &lt;em&gt;predicate&lt;/em&gt; that applies to template classes, so you need one additional "connection" using the &lt;tt&gt;require&lt;/tt&gt; statement, to let the compiler relate the &lt;tt&gt;T&lt;/tt&gt; in the definition of &lt;tt&gt;min&lt;/tt&gt; with the &lt;tt&gt;T&lt;/tt&gt; in &lt;tt&gt;LessThanComparable&lt;/tt&gt;. As a result, the C++ code for that example is more verbose and more convoluted. This becomes more visible as the code becomes more complex.&lt;br/&gt;&lt;br/&gt;

Another drawback is that the C++ concept specification as written doesn't work for, say, &lt;tt&gt;int&lt;/tt&gt; because the less-than operator in that case doesn't have the right signature. So you need an additional &lt;tt&gt;concept_map&lt;/tt&gt; in that case, making the code even more verbose, as shown below:

&lt;blockquote&gt;&lt;pre&gt;
concept_map LessThanComparable&amp;lt;int&amp;gt; { }
&lt;/pre&gt;&lt;/blockquote&gt;


One benefit of the C++ approach, however, is that the specification of the concept makes it easier to validate early that the implementation actually doesn't require anything besides what is declared in the concept. For example, if the body of &lt;tt&gt;min&lt;/tt&gt; attempts to refer to an operator that is not present in the concept specification, the compiler may detect this. Doing this with the kind of specification given in XL is much more complicated. I am considering various ways to fix this problem, which is much easier in XL since practically nobody uses it yet.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Multitasking and Threads&lt;/h4&gt;

&lt;a href="http://images.businessweek.com/ss/05/12/bestideas/source/14.htm"&gt;&lt;img src="http://images.businessweek.com/ss/05/12/bestideas/image/mmedia.jpg" width="150" align="right"/&gt;&lt;/a&gt;

C++ 0x also adds &lt;a href="http://www.devx.com/SpecialReports/Article/38883"&gt;standard support for threads&lt;/a&gt;. In my opinion, it is ironic that they manage to shoe-in support for a thread model that is so "last century". Today, the difficult problem is not threading on a SMP system, but threading on non-uniform architectures, for example threading between a CPU and a GPU, or between the components of a &lt;a href="http://en.wikipedia.org/wiki/Cell_(microprocessor)"&gt;Cell microprocessor&lt;/a&gt;, or threads that cooperate on machines with different architectures across the Internet.&lt;br/&gt;&lt;br/&gt;

This kind of problem is much more complicated, and is already, to some extent, solved by other languages such as &lt;a href="http://en.wikipedia.org/wiki/Java_(programming_language)#Servlet"&gt;Java&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Erlang_(programming_language)#Concurrency_and_distribution_oriented_language"&gt;Erlang&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

At this point, XL has little to offer in that space, because what is needed is not coded yet. However, I am confident that XL's extensibility will make it easy to implement not one, but a multitude of tasking models. Among the top candidates are &lt;a href="http://www.seas.gwu.edu/~csci51/fall99/ada_task.html"&gt;rendez-vous based mechanisms&lt;/a&gt; similar to Ada, message-passing protocols similar to Erlang, or data-driven parallelism similar to several functional languages. Stay tuned.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Variadic templates&lt;/h4&gt;

C++ 0x will, at long last, implement &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Variadic_templates"&gt;variadic templates&lt;/a&gt;. This feature will make it possible to write functions that take a variable number of arguments, yet are type-safe.&lt;br/&gt;&lt;br/&gt;

This is, again, something that existed in XL since &lt;a href="http://mozart-dev.cvs.sourceforge.net/viewvc/*checkout*/mozart-dev/mozart/lx/TESTS/expr_rdn/writeln.lx?revision=1.1"&gt;2001&lt;/a&gt; or earlier. You can see that XL implementation of the &lt;tt&gt;Max&lt;/tt&gt; function &lt;a href="http://xlr.svn.sourceforge.net/viewvc/xlr/trunk/xl2/native/TESTS/10.Generics/minimax_vararg_generic.xl"&gt;takes advantage of this feature&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

The C++ implementation is more complete, however, as it makes it possible to create not just variadic functions, but also variadic classes. This is something that is planned, but not currently implemented in XL.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Range-based iterations&lt;/h4&gt;

A new &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Range-based_for-loop"&gt;range-based iteration&lt;/a&gt; mechanism was also added to C++ 0x. XL has a more general form of iteration, that already covers this specific case. Here is for example how &lt;a href="http://xlr.svn.sourceforge.net/viewvc/xlr/trunk/xl2/native/TESTS/08.Aggregates/for_loops.xl"&gt;for loops&lt;/a&gt; are declared in XL:

&lt;blockquote&gt;&lt;pre&gt;
iterator IntegerIterator(
    var It : integer;
    Low, High : integer
  ) written It in Low..High is
    It := Low
    while It &amp;lt;= High loop
        yield
        It := It + 1
&lt;/pre&gt;&lt;/blockquote&gt;

The notation &lt;tt&gt;It in Low..High&lt;/tt&gt; is how you will invoke the iterator, and the &lt;tt&gt;yield&lt;/tt&gt; statement in the iterator is where the body of the loop will go. The usage of the iterator is very natural:

&lt;blockquote&gt;&lt;pre&gt;
for I in 1..5 loop
    for J in 1..I loop
        WriteLn "I=", I, " and J=", J
&lt;/pre&gt;&lt;/blockquote&gt;

The benefit of this more general approach is that you can for example define two-variable iterators:

&lt;blockquote&gt;&lt;pre&gt;
iterator MatrixIterator (
    var I : integer; LI, HI : integer;
    var J : integer; LJ, HJ : integer
  ) written I,J in [LI..HI, LJ..HJ] is
    I := LI
    while I &amp;lt;= HI loop
        J := LJ
        while J &amp;lt;= HJ loop
            yield
            J := J + 1
        I := I + 1

for A, B in [3..5, 7..9] loop
    WriteLn "A=", A, " and B=", B
&lt;/pre&gt;&lt;/blockquote&gt;

You can also define iterators over any kind of data structure, using any syntax you need for this particular data structure.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Constant Expressions&lt;/h4&gt;

C++ 0x introduces the notion of &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Generalized_constant_expressions"&gt;generalized constant expression&lt;/a&gt;. This makes it possible to declare functions that the compiler will be able to evaluate at compile time.&lt;br/&gt;&lt;br/&gt;

Once again, the XL approach is very different. The XL compiler has various phases, implemented as "plug-ins" for the compiler. One of them deals with constant folding (i.e. evaluation of constant expressions). Here is an &lt;a href="http://xlr.svn.sourceforge.net/viewvc/xlr/trunk/xl2/native/TESTS/11.Preprocessor/constant_evaluation.xl?view=markup"&gt;example&lt;/a&gt; showing how to compute factorials at compile-time using that technique.&lt;br/&gt;&lt;br/&gt;

The XL pre-processor also makes it easy to implement &lt;a href="http://xlr.svn.sourceforge.net/viewvc/xlr/trunk/xl2/native/TESTS/11.Preprocessor/assert_macro_compile_time_failure.xl?view=markup"&gt;compile-time assertions&lt;/a&gt;, something that is also a &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Static_assertions"&gt;new feature&lt;/a&gt; of C++ 0x. The XL implementation, however, will automatically optimize a static assertion if it can evaluate the argument at compile time, instead of requiring a specific keyword.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;

C++ is an extremely complex language, and extending it took a lot of effort. Many of the new features have already existed in XL for a while, and are much easier to implement. However, the implementation in C++ points out some weaknesses in the way things are currently done in XL, something that is fortunately still easy to change that early in the language's life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1848120451435415076?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1848120451435415076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1848120451435415076' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1848120451435415076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1848120451435415076'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/09/new-c-standard.html' title='The new C++ standard'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-7487989468320011526</id><published>2008-09-13T08:56:00.005+01:00</published><updated>2008-09-13T09:19:29.167+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Funny'/><title type='text'>Multiple operating systems on a single tomato</title><content type='html'>If you want to learn something about virtualization, &lt;a href="http://h30423.www3.hp.com/index.jsp?fr_story=20d0a54def83ec796eb2b0348e90d8c7fabeee35"&gt;this video&lt;/a&gt; is not necessarily the most extensive technical explanation you might get, but it's short and it's funny. And Debbie is &lt;em&gt;really&lt;/em&gt; our program manager.&lt;/br&gt;&lt;br/&gt;

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UnfX9_V6JCc/SMt3Us_bx1I/AAAAAAAAAVw/zqPOQitUZGY/s1600-h/SafariScreenSnapz001.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_UnfX9_V6JCc/SMt3Us_bx1I/AAAAAAAAAVw/zqPOQitUZGY/s400/SafariScreenSnapz001.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5245417388561385298" /&gt;&lt;/a&gt;

There are many other videos &lt;a href="http://www.hp.com/go/hpengineers"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-7487989468320011526?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/7487989468320011526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=7487989468320011526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7487989468320011526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7487989468320011526'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/09/multiple-operating-systems-on-single.html' title='Multiple operating systems on a single tomato'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UnfX9_V6JCc/SMt3Us_bx1I/AAAAAAAAAVw/zqPOQitUZGY/s72-c/SafariScreenSnapz001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4051279978771110631</id><published>2008-09-10T19:39:00.007+01:00</published><updated>2008-09-10T19:47:50.723+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><title type='text'>It's alive!</title><content type='html'>&lt;a href="http://news.bbc.co.uk/2/hi/science/nature/7604293.stm"&gt;&lt;img src="http://newsimg.bbc.co.uk/media/images/44999000/jpg/_44999320_-1.jpg" align="right"&gt;&lt;/a&gt;

Every single blog or web site that vaguely talks about physics is going to tell you &lt;a href="http://news.bbc.co.uk/2/hi/science/nature/7604293.stm"&gt;about the LHC&lt;/a&gt; today... And nobody else has found the Higgs Boson yet... As Bee &lt;a href="http://backreaction.blogspot.com/"&gt;noticed&lt;/a&gt;, this has some people frightened.&lt;br/&gt;&lt;br/&gt;

There is no reason to worry, most physicists would tell you, the LHC is orders of magnitude to puny to be really dangerous... To create a really dangerous black-hole machine, physicsists would really need a few trillion dollars more... Or whatever the unit is above trillion...&lt;br/&gt;&lt;br/&gt;

Still, if we were going into a singularity, &lt;a href="http://grenouille-bouillie.blogspot.com/2008/06/singularity-has-already-happened.html"&gt;would we even see it&lt;/a&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4051279978771110631?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4051279978771110631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4051279978771110631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4051279978771110631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4051279978771110631'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/09/its-alive.html' title='It&apos;s alive!'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4534686431520087545</id><published>2008-09-08T08:01:00.010+01:00</published><updated>2008-09-08T08:57:32.974+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='mathematics'/><category scheme='http://www.blogger.com/atom/ns#' term='Education'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Really bad math in a sci-fi book...</title><content type='html'>&lt;a href="http://www.ianwatson.info/news.html"&gt;&lt;img src="http://www.ianwatson.info/graphics/alien_embassy_cover_b.jpg" align="right" width="100"&gt;&lt;/a&gt;

I have just been reading &lt;a href="http://www.amazon.ca/Alien-Embassy-Ian-Watson/dp/057505607X"&gt;Alien Embassy&lt;/a&gt; by Ian Watson (in the French translation published by Presses Pocket). This is a somewhat esoteric book, and I can't say that I'm really fond of that genre. But it is an interesting story, it's well written, and I enjoyed it.&lt;br/&gt;&lt;br/&gt;

Howewer, something really puzzled me, and it has to do with what seems to be the deep (mis)understanding of relatively fundamental mathematics, namely irrational or imaginary numbers, somewhere in the first third of the book.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Irrational numbers&lt;/h4&gt;

Unfortunately, I can't quote the original text, only back-translate from French, which may be hard to map on the original text. It reads something like that (I'd appreciate if some reader could give me the actual original text):

&lt;blockquote&gt;- He's talking about mathematics, whispered the voice of Klimt. Irrational numbers are numbers like pi, the constant ratio between the circumference and the diameter of a circle, you must know that.&lt;br/&gt;&lt;br/&gt;
- That's about twenty two seventh, I added; I knew at least that!&lt;br/&gt;&lt;br/&gt;
- It's a very important number. Without it, geometry could not exist, Klimt commented. It represents a true geometrical relation. Pi appears as soon as you draw a circle. Yet it is totally irrational. There is no explanation to the sum "tweny two seventh". You can divide twenty two by seventh as long as you want, you will never get a really definitive answer. [...]
&lt;/blockquote&gt;

This is bogus twice.
&lt;ul&gt;
&lt;li&gt;First, the author reasons about 22/7 instead of reasoning about pi. The two numbers are really not that close. To the fourth decimal, 22/7 is 3.1428 whereas pi is 3.1415. It's really bizarre to talk about the irrational nature of pi by using the different number 22/7 that just happens to share 3 digits with it...&lt;/li&gt;
&lt;li&gt;But second, and more importantly, &lt;em&gt;irrational&lt;/em&gt; in mathematics means precisely that the number cannot be identified to the ratio of any two integers. That seems to have eluded the author entirely, as he seems to think that 22/7 itself is irrational, and that "irrational" denotes a number with an infinite number of decimals, like 1/3 = 0.33333...&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Imaginary numbers&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Pi"&gt;&lt;img src="http://www.maths.mq.edu.au/pi.png" align="right" width="120"/&gt;&lt;/a&gt;

There is a similar issue a couple of pages later:

&lt;blockquote&gt;
- From what I know, our scientists consider mathematics as imaginary dimensions, said Klimt
- &lt;em&gt;Imaginary&lt;/em&gt; dimensions? the Azuran fluttered. Imaginary? Ah, but that's where you got it wrong. These other dimensions are all but imaginary. They really exist. [...]
&lt;/blockquote&gt;

Here, multiple layers of a very strange understanding of mathematics and physics mix up. I don't think any scientist ever considered &lt;em&gt;mathematics&lt;/em&gt; as a whole to be imaginary dimensions. Mathematics use symbols and relations between symbols, and I think that most mathematicians would consider the mathematics we can ever talk about as a countable set. There are imaginary &lt;em&gt;numbers&lt;/em&gt;, a terminology that refers to a &lt;a href="http://en.wikipedia.org/wiki/Imaginary_number"&gt;class of complex numbers&lt;/a&gt; like &lt;em&gt;i&lt;/em&gt; that have a negative square (e.g. &lt;em&gt;i&lt;sup&gt;2&lt;/sup&gt;=-1&lt;/em&gt;).&lt;br/&gt;&lt;br/&gt;

Where imaginary &lt;em&gt;dimensions&lt;/em&gt; show up is for example in some &lt;a href="http://en.wikipedia.org/wiki/Wick_rotation"&gt;explanations&lt;/a&gt; of Einstein's special relativity, where time is considered as an imaginary dimension, as opposed to three real spatial dimensions. This is a mathematical trick to account for the form of distance in space-time, which has three squares with the same sign and one with a different sign (&lt;i&gt;d&lt;/i&gt;&lt;i&gt;s&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; = − (&lt;i&gt;d&lt;/i&gt;&lt;i&gt;t&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) + &lt;i&gt;d&lt;/i&gt;&lt;i&gt;x&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; + &lt;i&gt;d&lt;/i&gt;&lt;i&gt;y&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; + &lt;i&gt;d&lt;/i&gt;&lt;i&gt;z&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;).&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Why does it matter?&lt;/h4&gt;

&lt;a href="http://www.hellofriend.org/learning/mis_child.html"&gt;&lt;img src="http://www.hellofriend.org/art/faceofmis2.gif" align="right" width="200"/&gt;&lt;/a&gt;

Why bother about two little errors in what is, after all, simply intended to be entertainment? Well, it shows the limits of terminology when we cross domain boundaries. What seems to have confused the author in both cases is that a terminology in mathematics has a very precise meaning that happens to be really far from the everyday meaning of the same word.&lt;br/&gt;&lt;br/&gt;

The problem is that this gave the author, and possibly his readers, a false sense of understanding. Curiously, this echoes in my mind a number of issues I had with popular science books, some of which were written by well known names in physics. And it is also a problem with the operating systems people use on computers all the time: we tend to forget that a "desktop" or a "window" has nothing to do with the common acceptation of the term, which may confuse beginners quite a bit.&lt;br/&gt;&lt;br/&gt;

I'm not sure there is much to do about it, though, but to gently correct the mistakes when you see them. After all, short of inventing new terminology all the time (like "quarks" or "widgets"), we just have to proceed by analogy (e.g. "mouse", "complex numbers") and then stick with that wording. We consciously forget that the word is the same, the concepts end up being quite different in our brain.&lt;br/&gt;&lt;br/&gt;

But this has implication in another area I am interested in, &lt;a href="xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;concept programming&lt;/a&gt;. We give names to concepts, but these names overlap. Our brains know very well how to sort it out, but &lt;em&gt;only after we have been trained&lt;/em&gt;. As a result, the big simplification I was expecting from concept programming might not happen, after all...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4534686431520087545?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4534686431520087545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4534686431520087545' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4534686431520087545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4534686431520087545'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/09/really-bad-math-in-sci-fi-book.html' title='Really bad math in a sci-fi book...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-7286267354387101324</id><published>2008-09-08T07:54:00.002+01:00</published><updated>2008-09-08T08:01:11.670+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><title type='text'>Page charges...</title><content type='html'>Part of the problem I ran into for getting a physics article published was that you have to pay to get published. This is something that physicists usually accept, because they don't directly pay for it: their institution does. For me, this was a problem, though: I could hardly justify to my family to pay a few hundred bucks or more just for the "vanity" of getting published, even less so when  Internet gives me a perfectly &lt;a href="http://physics.dinechin.org/tim.pdf"&gt;good outlet&lt;/a&gt; to reach a wider audience at no incremental cost.&lt;br/&gt;&lt;br/&gt;

But I just discovered that there is another category of people that is hurt by these page charges: &lt;a href="http://groups.google.com/group/sci.physics.research/browse_frm/thread/2c39c5526a2b6b7b/3f95eb31a5903cba?hl=en&amp;tvc=1#3f95eb31a5903cba"&gt;retired physicists&lt;/a&gt;... Retired = can't publish? That's odd...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-7286267354387101324?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/7286267354387101324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=7286267354387101324' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7286267354387101324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7286267354387101324'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/09/page-charges.html' title='Page charges...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4622453876929152964</id><published>2008-09-07T17:43:00.012+01:00</published><updated>2008-10-15T11:09:48.805+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Self-evident?</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Sense"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/6/65/1668_Gérard_de_Lairesse_-_Allegory_of_the_Five_Senses.jpg" align="right" width="200"/&gt;&lt;/a&gt;

There are a number of things that we have heard so often that we simply take them for granted. They become absolute truths. One of these is that we have five senses. This is so "true" that we use an expression like &lt;a href="http://en.wikipedia.org/wiki/Sixth_sense"&gt;The Sixth Sense&lt;/a&gt; to refer to some extraordinary sense, typically extra-sensory perception (e.g. telepathy, or in the case of the movie, the ability to see dead people.)&lt;br/&gt;&lt;br/&gt;

And then today, for some reason, I started counting my senses. Sight, that's one. Hearing, that's two. Touch, that's three. Smell, that's four. Taste, that's five. Good so far. And then, I thought: "but my sense of balance, where does it fit? Is that touch?" And then "What about hot and cold?" That can't be touch: I don't need to touch something to feel that it's hot, the radiations it emits are enough...&lt;br/&gt;&lt;br/&gt;

 That got me thinking. How many senses do we &lt;em&gt;really&lt;/em&gt; possess?&lt;br/&gt;&lt;br/&gt;

It turns out that this "truth" that there are five senses is entirely wrong. According to the &lt;a href="http://en.wikipedia.org/wiki/Sense"&gt;Wikipedia article on senses&lt;/a&gt;, we have no less than 11 different senses: 

&lt;blockquote&gt;
The traditional five senses are sight, hearing, touch, smell, taste: a classification attributed to Aristotle. Humans also have at least six additional senses (a total of eleven including interoceptive senses) that include: nociception (pain), equilibrioception (balance), proprioception &amp; kinesthesia (joint motion and acceleration), sense of time, thermoception (temperature differences), and in some a weak magnetoception (direction).
&lt;/blockquote&gt;

You may draw your own conclusion... Mine is this: some conceptions may be very widespread, and yet entirely wrong when give even a moderate amount of thought. A corollary is that our species seems to be very uncritical of what we hear, of what is asserted by some authority. It took me nearly 40 years to "discover" that we did not have five senses. Clearly, I had all the knowledge it takes to know it, or at least discover it, yet it had never materialized in my brain, for some reason. In retrospect, that makes it much easier for me to understand very negative reactions to innovation or "thinking different" I have witnessed in the past.&lt;br/&gt;&lt;br/&gt;

But here is the &lt;em&gt;real&lt;/em&gt; question that follows from this experience: &lt;em&gt;how much knowledge do we bury under conventional wisdom&lt;/em&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4622453876929152964?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4622453876929152964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4622453876929152964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4622453876929152964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4622453876929152964'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/09/self-evident.html' title='Self-evident?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4775504040938916223</id><published>2008-06-09T13:02:00.007+01:00</published><updated>2008-06-09T13:32:28.978+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='peer reviews'/><title type='text'>Slashdot on the relevance of academic journals</title><content type='html'>&lt;a href="http://scitation.aip.org/journals/doc/PHTOAD-ft/vol_58/iss_9/43_1.shtml"&gt;
&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Albert_Einstein_Head.jpg/460px-Albert_Einstein_Head.jpg" width="150" align="right"/&gt;&lt;/a&gt;

I've &lt;a href="http://grenouille-bouillie.blogspot.com/search?q=peer+review"&gt;written a few times about peer reviews&lt;/a&gt;, in particular &lt;a href="http://grenouille-bouillie.blogspot.com/2007/03/advocating-non-anonymous-peer-review.html"&gt;advocating non-anonymous peer reviews&lt;/a&gt;. The idea is not popular.&lt;br/&gt;&lt;br/&gt;

That's why I was so interested to see &lt;a href="http://ask.slashdot.org/article.pl?sid=08/06/08/2132254"&gt;an article on Slashdot asking if academic journals are still relevant&lt;/a&gt;. Do they still ensure quality? Are they nimble enough? Can they compete with the information glut on the Internet? All these are really relevant questions. One reader &lt;a href="http://ask.slashdot.org/comments.pl?sid=577621&amp;cid=23704841"&gt;expresses some of my own thoughts about anonymous peer reviews&lt;/a&gt;:

&lt;blockquote&gt;
There are certainly parts of the peer review process that are less than ideal--reviewers don't take the time to understand what they're reviewing, or they have an emotional reaction to something that seems to undercut their fond hopes for how something will turn out and make stupid, picky attacks on a paper, or they realize that they're about to get scooped and so ask for every pedantic little thing so they gain more time for their own work. But even with these flaws, the process does a pretty good job at rejecting junk; it just rejects a little too much non-junk, too, or at least makes the process more painful than necessary.
&lt;/blockquote&gt;

Interestingly, Slashdot itself has some of the properties one might want in a modern-age on-line academic journal: quick to respond to news, filtering data with the help of its readers, offering support for anonymous as well as non-anonymous comments (and favoring non-anonymous ones slightly). In that sense, it is also similar to &lt;a href="http://en.wikipedia.org/wiki/Main_Page"&gt;Wikipedia&lt;/a&gt;, or in a different direction, the &lt;a href="http://www.arxiv.org"&gt;ArXiv&lt;/a&gt;, which both share much of these properties.&lt;br/&gt;&lt;br/&gt;

Yet all these examples also show the limits of the system. They are not recognized as offering the highest quality information (even if, in reality, they do most of the time), because bad information is shoved through them all the time and there is no guarantee that what you read will not be garbage. And, paradoxically, while they are openly democratic by construction, these outlets give enormous power (censorship, favoring certain view, or even rewriting contents) to a small circle of individuals.&lt;br/&gt;&lt;br/&gt;

So the question is: how would you fix these flaws? I have ideas, but I'm interested in hearing yours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4775504040938916223?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4775504040938916223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4775504040938916223' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4775504040938916223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4775504040938916223'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/06/slashdot-on-relevance-of-academic.html' title='Slashdot on the relevance of academic journals'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2209730895584501138</id><published>2008-06-04T06:56:00.009+01:00</published><updated>2008-06-09T12:59:48.209+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='Medical Science'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><category scheme='http://www.blogger.com/atom/ns#' term='computer history'/><title type='text'>The Singularity has already happened...</title><content type='html'>&lt;a href="http://spectrum.ieee.org/singularity"&gt;&lt;img src="http://m1.2mdn.net/viewad/1554909/07.250px.BannerAd.gif" width="150" align="right"/&gt;&lt;/a&gt;

IEEE Spectrum has a &lt;a href="http://www.spectrum.ieee.org/singularity"&gt;special report about the Singularity&lt;/a&gt;, that &lt;a href="http://en.wikipedia.org/wiki/Technological_singularity"&gt;point in our future where predictions fall apart&lt;/a&gt; because major technical changes make any extrapolation we may make based on today's trends essentially obsolete. Even the New-York Times has an article, entitled &lt;a href="http://www.nytimes.com/2008/06/03/science/03tier.html?em&amp;ex=1212724800&amp;en=8f7eabdb7e5ce8d3&amp;ei=5087%0A"&gt;The Future Is Now? Pretty Soon, at Least&lt;/a&gt;, which quickly brushes up some of the ideas.&lt;br/&gt;&lt;br/&gt;

The special issue in IEEE is more extensive. There are many interesting articles. In one of them, &lt;a href="http://en.wikipedia.org/wiki/Ray_Kurzweil"&gt;Ray Kurzweil&lt;/a&gt;, arguably the inventor of the concept of Singularity, &lt;a href="http://spectrum.ieee.org/jun08/6313"&gt;debates with Neil Gershenfeld&lt;/a&gt;, and Vernor Vinge shares what he sees as &lt;a href="http://www.spectrum.ieee.org/jun08/6306"&gt;the signs of the Singularity&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

One important point, I believe, is that "&lt;em&gt;there will be a singularity at time t&lt;/em&gt;" is a proposition that might depend on the time it's being enunciated. It seems very likely to me that when you are in the middle of a singularity, you have no idea that it's there. That's why I am a bit wary of the use of a singular noun, &lt;em&gt;the&lt;/em&gt; singularity, when I think really that there have been many singularities over the course of history.&lt;br/&gt;&lt;br/&gt;

How could someone from the middle-age, for example, predict the structure of a society after motorized personal transportation became not only possible, but mainstream and relatively cheap (I know, I know, gas prices...)? In other words, seen from the middle-age, the invention of the automobile or, even more so, the airplane, were singularities that might be predicted (e.g. by Leonardo da Vinci), but whose impact on society was really difficult to grasp. The same is true for remote communication, from the telephone to television to the Internet.&lt;br/&gt;&lt;br/&gt;

Now, one singularity is somewhat special, and it's when we started building enhancements to our intelligence, and not just our physical abilities. That's the very definition Vernor Vinge uses when &lt;a href="http://www.spectrum.ieee.org/jun08/6306"&gt;he writes&lt;/a&gt;:

&lt;blockquote&gt;I think it's likely that with technology we can in the fairly near future create or become creatures of more than human intelligence. Such a technological singularity would revolutionize our world, ushering in a posthuman epoch.&lt;/blockquote&gt;

But that already happened. The first modest &lt;a href="http://en.wikipedia.org/wiki/HP-35"&gt;pocket calculators&lt;/a&gt; enabled computations so complex that they completely changed the course of engineering. Any engineer with a calculator has "more than human intelligence", for he can compute faster than any human being without a calculator can. It's only recently that we redefined intelligence to exclude the ability to perform computations, and the only reason we did that is because computers were so much better at it than we are.&lt;br/&gt;&lt;br/&gt;

So that's my personal view on that question: the most important singularity, the one that Ray Kurzweil sees sometime in the future, has already happened, and we are right in the middle of seeing its effects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2209730895584501138?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2209730895584501138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2209730895584501138' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2209730895584501138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2209730895584501138'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/06/singularity-has-already-happened.html' title='The Singularity has already happened...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3151422472503946426</id><published>2008-06-04T06:28:00.005+01:00</published><updated>2008-06-04T06:51:02.238+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer history'/><title type='text'>Inside a TRS-80 model 100</title><content type='html'>&lt;a href="http://www.pcworld.com/article/146496-2/inside_a_classic_the_trs80_model_100.html"&gt;&lt;img src="http://images.pcworld.com/reviews/graphics/146496-trs80-model100-01.jpg" align="right" width="150"/&gt; &lt;/a&gt;

PC World &lt;a href="http://www.pcworld.com/article/146496-2/inside_a_classic_the_trs80_model_100.html"&gt;opens the guts of a TRS-80 model 100&lt;/a&gt;, a vintage computer that was one of the first truly portable computers. Unfortunately, that's not one I have in my collection, so if you happen to have one... There is also a link in this story to the &lt;a href="http://www.pcworld.com/article/136242-1/the_most_collectible_pcs_of_all_time.html"&gt;most collectible PCs of all time&lt;/a&gt;, and it turns out I have only three of them, not counting pieces of some as yet unidentified Cray which I doubt is a Cray 1.&lt;br/&gt;&lt;br/&gt;

I remember seeing the TRS-80 model 100, and beeing unimpressed. What made it so popular among journalists, the set of built-in applications, to some extent lowered its value to young geeks. To me at the time, it looked way too much like a largely oversized business thingie. I was much more impressed by the &lt;a href="http://www.old-computers.com/museum/computer.asp?c=258"&gt;Canon XO-7&lt;/a&gt; at the time. It was not quite as "big" in terms of features (who needs 32K of memory or all these built-in applications?), but it could be connected to a TV and had this very cool plotter.&lt;br/&gt;&lt;br/&gt;

Back to the TRS model 100, I think that the most interesting part of the story is that this is the last time &lt;a href="http://americanhistory.si.edu/collections/comphist/gates.htm#tc35"&gt;Bill Gates wrote a significant fraction of the software for a prodduct&lt;/a&gt;. And you can hear from the way he describes it that he was really excited about the business uses, about what you could do with the product. Of course, &lt;a href="http://www.pcworld.com/article/146496-4/inside_a_classic_the_trs80_model_100.html"&gt;that software crashed from time to time...&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;

Another thing to remember in these days of "green" is that this machine ran for 20 hours on 4 standard AA batteries!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3151422472503946426?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3151422472503946426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3151422472503946426' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3151422472503946426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3151422472503946426'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/06/inside-trs-80-model-100.html' title='Inside a TRS-80 model 100'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2325075038868705307</id><published>2008-05-28T20:30:00.002+01:00</published><updated>2008-05-28T20:50:37.210+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='History'/><title type='text'>Palais de la Découverte...</title><content type='html'>&lt;a href="http://www.myparisnet.com/index.php/le-grand-palais-et-le-palais-de-la-decouverte.html"&gt;&lt;img src="http://www.myparisnet.com/wp-content/images/Palais-De-La-Decouverte-029.JPG" align="right" width="150"/&gt;&lt;/a&gt;

The &lt;a href="http://www.palais-decouverte.fr/index.php"&gt;Palais de la Découverte&lt;/a&gt; in Paris is one of these lovely spots where science and fun mix. There is a &lt;a href="http://www.sauvonslepalaisdeladecouverte.fr"&gt;a rumor&lt;/a&gt; that the French government might be planning to close it down (sign the petition to save the place).&lt;br/&gt;&lt;br/&gt;

This is too bad: this may be the only place in the world that has an entire room that is dedicated to a number that is almost, but &lt;a href="http://30ans.bpi.fr/surprise.php?id_article=249&amp;id_rubrique=85"&gt;not quite&lt;/a&gt;, entirely unlike π. More specifically, a mathematician named &lt;a href="http://en.wikipedia.org/wiki/William_Shanks"&gt;William Shanks&lt;/a&gt; spent 20 years of his life computing 707 decimals of π, but only 528 were correct. In 1937, the bogus result was cast in stone in the Palais de la Découverte. The mistake was only discovered in 1945.&lt;br/&gt;&lt;br/&gt;

In any case, if you think a place like this is worth saving, just &lt;a href="http://www.sauvonslepalaisdeladecouverte.fr"&gt;click here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2325075038868705307?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2325075038868705307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2325075038868705307' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2325075038868705307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2325075038868705307'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/palais-de-la-dcouverte.html' title='Palais de la Découverte...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8843955795990280541</id><published>2008-05-24T08:25:00.056+01:00</published><updated>2008-06-05T07:08:45.838+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='computer history'/><title type='text'>Where did the HP Way go?</title><content type='html'>&lt;a href="http://web.archive.org/web/19961220154758/www.hp.com/abouthp/corpobj.htm"&gt;&lt;img src="http://web.archive.org/web/19961220203130/www.hp.com/abouthp/obj.gif" align="right" /&gt;&lt;/a&gt;

Recently, I discussed with some HP colleagues about the old "HP Way". This happens a lot, actually. I'd say that this is a topic of discussion during lunch at HP maybe once a week, in one form or another. &lt;br/&gt;&lt;br/&gt;

Employees who were at Hewlett-Packard before the &lt;a href="http://www.hp.com/hpinfo/abouthp/histnfacts/timeline/hist_00s.html"&gt;merger with Compaq&lt;/a&gt;, more specifically before &lt;a href="http://en.wikipedia.org/wiki/Carly_Fiorina"&gt;Carly Fiorina&lt;/a&gt; decided to overhaul the corporate culture, will often comment about the "good old days". Employees from companies that HP acquired later, most notably &lt;a href="http://en.wikipedia.org/wiki/Compaq"&gt;Compaq&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Digital_Equipment_Corporation"&gt;DEC&lt;/a&gt;, are obviously much less passionate about the HP Way, but they generally show some interest if only because of the role it used to play in making HP employees so passionate about their company.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Oh, look, the HP Way is gone!&lt;/h4&gt;

One thing I had noticed was that the "HP Way" was nowhere to be found on any HP web site that I know of. It is not on the corporate &lt;a href="http://www.hp.com/hpinfo/abouthp/histnfacts/index.html"&gt;HP History&lt;/a&gt; web site, nor does a &lt;a href="http://search.hp.com/search/?ctry=us&amp;lang=eng&amp;hps=HP+About+us&amp;hpn=Return+to+the+HP+About+us&amp;qp=url%3Awww.hp.com%2Fhpinfo%2Fabouthp%2F&amp;hpr=http%3A%2F%2Fwww.hp.com%2Fhpinfo%2Fabouthp%2F&amp;hpa=http%3A%2F%2Fwww.hp.com%2Fcountry%2Fus%2Fen%2Fcontact.htm&amp;qt=hp+way&amp;I1.x=0&amp;I1.y=0&amp;hpl=1"&gt;search for "HP Way"&lt;/a&gt; on that site get any meaningful result. It's possible that there is a better search string that would get the result, it may even be somewhere I did not look, but my point is that it's not very easy to find. (&lt;b&gt;Update&lt;/b&gt;: Since one reader got confused, I want to make clear that I'm looking for the &lt;em&gt;text&lt;/em&gt; of the HP Way, the description of the values that used to be given to employees, which I quote below. I am not looking for the words "HP Way", which are present at a number of places.)&lt;br/&gt;&lt;br/&gt;


Contrast this with the &lt;a href="http://web.archive.org/web/19961026204058/hpcc998.external.hp.com/abouthp/AboutHP.html"&gt;About HP&lt;/a&gt; corporate page in 1996, and what do you see here as the last link? Sure thing: the &lt;a href="http://web.archive.org/web/19961220154758/www.hp.com/abouthp/corpobj.htm"&gt;HP way&lt;/a&gt; is prominently displayed as an essential component of the HP culture. Every HP employee was "brainwashed" with the HP Way from his or her first day in the company. No wonder that years later, they still ask where it's gone. Back then, the HP way even had &lt;a href="http://web.archive.org/web/19970216032316/www.hp.com/abouthp/hpway.htm"&gt;its own dedicated web page&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Did someone rewrite HP corporate history?&lt;/h4&gt;

&lt;a href="http://www.computerhistory.org/fellowawards/index.php?id=68"&gt;&lt;img src="http://www.computerhistory.org/fellowawards/assets/images/1996_ken_olsen.jpg" align="right" width="100"/&gt;&lt;/a&gt;

So the fact that there is no reference to it anywhere on today's corporate web site seems odd. It almost looks like history has been rewritten. It get the same feeling when I enter the &lt;a href="http://www.journaldunet.com/solutions/0605/060529-hp-sophia-antipolis/1.shtml"&gt;HP building in Sophia-Antipolis&lt;/a&gt;. Why? Because there are two portraits in the lobby: Bill Hewlett and Dave Packard. That building was initially purchased and built by &lt;a href="http://en.wikipedia.org/wiki/Digital_Equipment_Corporation"&gt;Digital Equipment Corporation&lt;/a&gt;. If any picture should be there, it should show &lt;a href="http://www.computerhistory.org/fellowawards/index.php?id=6"&gt;Ken Olsen&lt;/a&gt;, not Hewlett or Packard, nor &lt;a href="http://en.wikipedia.org/wiki/Rod_Canion"&gt;Rod Canion&lt;/a&gt; for that matter.&lt;br/&gt;&lt;br/&gt;

I would personally hate to have built a company that left &lt;a href="http://www.google.com/search?client=safari&amp;rls=en&amp;q=%22digital+equipment%22"&gt;the kind of imprint in computer history DEC left&lt;/a&gt;, only to see it vanish from corporate memory almost overnight... Erasing the pictures of the past sounds much more like &lt;a href="http://en.wikipedia.org/wiki/Vae_victis"&gt;Vae Victis&lt;/a&gt; or the work of George Orwell's &lt;a href="http://en.wikipedia.org/wiki/Ministry_of_Truth"&gt;Minitrue&lt;/a&gt; than the kind of fair and balanced rendition of corporate history you would naively expect from a well-meaning corporate communication department.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Google can't find the HP Way either...&lt;/h4&gt;

&lt;a href="http://blogs.zdnet.com/ip-telephony/?p=1117"&gt;&lt;img src="http://blogs.zdnet.com/images/davidpackard.jpg" width="150" align="right"/&gt;&lt;/a&gt;

But the truth is, I don't think there is any evil intended here. One reason is that &lt;a href="http://www.google.com/search?client=safari&amp;rls=en&amp;q=hp+way&amp;ie=UTF-8&amp;oe=UTF-8"&gt;Google sometimes has troube finding the HP Way too&lt;/a&gt;. Actually, your mileage may vary. I once got a link on the &lt;a href="http://www.hpalumni.org/hp_way.htm"&gt;HP alumni&lt;/a&gt; as the second result. But usually, you are much more likely to find &lt;a href="http://baetzler.de/humor/lunch_the_hp_way.html"&gt;Lunch, the HP way&lt;/a&gt;, an extremely funny story for those who were at HP in those days (because it is &lt;em&gt;sooo&lt;/em&gt; true).&lt;br/&gt;&lt;br/&gt;

As the saying goes, "&lt;em&gt;never ascribe to malice that which is adequately explained by studidity&lt;/em&gt;". As an aside, this is sometimes attributed to &lt;a href="http://en.wikiquote.org/wiki/Napoleon_Bonaparte"&gt;Napoleon Bonaparte&lt;/a&gt;, but I can't find any French source that would confirm it. I think that the closest confirmed equivalent from Bonaparte would be "&lt;em&gt;N'interrompez jamais un ennemi qui est en train de faire une erreur&lt;/em&gt;" (never interrupt an enemy while he's making a mistake), but that is not even close.&lt;br/&gt;&lt;br/&gt;

Back on topic, I'm tempted to think that it's simply a case where the HP Way was no longer considered relevant, and nobody bothered to keep a tab on it in the HP corporate web site. As a result, when looking for "HP Way" on the web today, it's become much easier to find &lt;a href="http://blogs.zdnet.com/ip-telephony/?p=1117 "&gt;highly&lt;/a&gt; &lt;a href="http://www.paloaltoonline.com/weekly/morgue/2002/2002_04_10.hpway10.html"&gt;critical&lt;/a&gt; &lt;a href="http://dir.salon.com/story/tech/feature/2002/03/22/hp/"&gt;accounts&lt;/a&gt; &lt;a href="http://www.computerworld.com/printthis/2005/0,4814,100179,00.html"&gt;of&lt;/a&gt; &lt;a href="http://news.cnet.com/Bring-back-the-HP-Way,-Mr.-Hurd/2010-1014_3-6118307.html"&gt;HP&lt;/a&gt; than a description of what the HP Way really represented. Obviously, that can't be too good for HP's image...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Where can we find the HP Way today?&lt;/h4&gt;

To finally find a reference to the HP way as I remembered it being described to HP employees, I had to search Google for a comparison with Carly Fiorina's "Rules of the garage". And I finally found &lt;a href="http://www.smallbusinessnotes.com/history/hewlett.html"&gt;a tribute to Bill Hewlett&lt;/a&gt; that quotes both texts exactly as I remembered them.&lt;br/&gt;&lt;br/&gt;

As the link to the &lt;a href="http://web.archive.org/web/19970216032316/www.hp.com/abouthp/hpway.htm"&gt;historical HP way page on the HP web site&lt;/a&gt; shows, another option is to use the excellent &lt;a href="http://web.archive.org"&gt;Wayback Machine&lt;/a&gt; to look at the web they way it used to be at some point in the past.  But that's something you will do only if you remember that there once was something to be searched for. Again, the point here is not that you cannot find it, it's that finding the original HP Way has become so much more difficult...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The original HP Way: It's all about employees&lt;/h4&gt;

&lt;a href="http://www.motivational-posters.co.uk/cgi/products.pl?poster=Cogwheels%20Poster"&gt;&lt;img src="http://www.motivational-posters.co.uk/productimages/cogs_fs.jpg" align="right" width="150"/&gt;&lt;/a&gt;

The original HP Way was not so much about a company as it was about its employees:

&lt;blockquote&gt;&lt;b&gt;The HP Way&lt;/b&gt;&lt;br/&gt;
We have trust and respect for individuals.&lt;br/&gt;
We focus on a high level of achievement and contribution.&lt;br/&gt;
We conduct our business with uncompromising integrity.&lt;br/&gt;
We achieve our common objectives through teamwork.&lt;br/&gt;
We encourage flexibility and innovation.&lt;br/&gt;
&lt;/blockquote&gt;

There are only five points and very few words. It's a highly condensed way to express the corporate policy, which trusts the employees to understand not just the rules, but most importantly their intent and spirit. There is no redundancy, each point is about a different topic. These rules have been written by engineers for engineers. It's almost a computer program...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The rules of the garage: What was &lt;em&gt;that&lt;/em&gt; all about?&lt;/h4&gt;

&lt;a href="http://www.codinghorror.com/blog/archives/000255.html"&gt;&lt;img src="http://www.codinghorror.com/blog/images/the-incredible-machine.png" align="right" width="200"/&gt;&lt;/a&gt;

By contrast, the so-called "Rules of the Garage" introduced by Carly Fiorina, look really weak:

&lt;blockquote&gt;&lt;b&gt;Rules of the Garage&lt;/b&gt;&lt;br/&gt;
Believe you can change the world.&lt;br/&gt;
Work quickly, keep the tools unlocked, work whenever.&lt;br/&gt;
Know when to work alone and when to work together.&lt;br/&gt;
Share - tools, ideas.&lt;br/&gt;
Trust your colleagues.&lt;br/&gt;
No politics. No bureaucracy. (These are ridiculous in a garage.)&lt;br/&gt;
The customer defines a job well done.&lt;br/&gt;
Radical ideas are not bad ideas.&lt;br/&gt;
Invent different ways of working.&lt;br/&gt;
Make a contribution every day.&lt;br/&gt;
If it doesn't contribute, it doesn't leave the garage.&lt;br/&gt;
Believe that together we can do anything.
&lt;/blockquote&gt;

To me, it sounds much more like the kind of routine you'd give to little kids in kindergarden... It's not precise, highly redundant. More importantly, the relationship between the company and the employee is no longer bi-directional as it was in the HP Way. Notice how "we" changed into "you" except in the last one. If I were cynical, I'd say that this new set of rules is: "you do this, and we'll get the reward"... Isn't that exactly what happened in the years that followed?&lt;br/&gt;&lt;br/&gt;

The Rules of the Garage did not last long. They quietly went the way of the dodo, but I don't think it was ever intended for them to last decades as the HP Way had. Instead, I believe that the problem was to evict the HP Way without giving the impression that nothing replaced it. But in reality, &lt;em&gt;nothing&lt;/em&gt; replaced the HP Way: the Rules of the Garage were essentially empty, and after the Rules of the Garage, there was nothing...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;How is that relevant today?&lt;/h4&gt;

&lt;a href="http://www.sanjosemagazine.com/main/?p=376"&gt;&lt;img src="http://www.sanjosemagazine.com/main/wp-content/2007/11/best_places_to_work.jpg" align="right" width="150"/&gt;&lt;/a&gt;

Despite its long absence on the HP Corporate web site, the HP Way is still &lt;a href="http://www.sanjosemagazine.com/main/?p=376"&gt;seen as the reference for a successful corporate culture&lt;/a&gt; nowadays. It's widely recognized that HP and the HP culture ignited the Silicon Valley. There is a good reason for that: highly creative people are what makes this economy thrive. See &lt;a href="http://www.philmckinney.com/2008/04/creative_economy.html"&gt;Phil McKinney's ideas on the creative economy&lt;/a&gt; to see just how relevant this remains today. But guess what: creativity is motivated by the confident belief that there will be a reward.&lt;br/&gt;&lt;br/&gt;

The HP Way was about the various aspects of that reward: &lt;em&gt;respect, achievement, integrity, teamwork, innovation&lt;/em&gt;. I can't think of much beyond that in terms of recognition. I can't think of better reasons to work hard. Now, I don't care much about calling it the HP Way, but I do care about these values being at the core of what my company does. This is not by accident if the top technology companies in the world, including a large fraction of the Silicon Valley, have applied the HP Way in one form or another. It's not charity, it's simply the most efficient way to do business when the majority of your employees are highly creative individuals.&lt;br/&gt;&lt;br/&gt;

With all the &lt;a href="http://www.bizjournals.com/eastbay/stories/2008/05/19/daily28.html"&gt;respect that I have for HP's current management&lt;/a&gt;, as far as corporate culture is concerned, they could still learn a thing of two from such history-certified business geniuses as Hewlett and Packard. About eight years after having been actively erased from corporate communication, the HP Way is still very much being talked about; it is still regarded as a reference. Maybe that's a sign that there is something timeless about it...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Update: HP Way 2.0?&lt;/h4&gt;

Today, Google "HP Way" and HP's corporate values show as the second entry. No &lt;a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=66358"&gt;keyword stuffing&lt;/a&gt; here (I checked), but Google apparently decided that the page was relevant to the topic somehow. It's a good thing: the keywords in &lt;a href="http://www.hp.com/hpinfo/abouthp/corpobj.html"&gt;HP's corporate objectives&lt;/a&gt; are much closer to the old HP Way than to the Rules of the Garage. The five original keywords, respect, achievement, integrity, teamwork, innovation, are all there. New keywords have been added, including agility or passion. But the style is the same, very terse, very dense. The HP web site labels this as "our shared values", but it wouldn't be unfair to call it "HP Way 2.0".&lt;br/&gt;&lt;br/&gt;

The next step is to make employees (and from there, outside observers) really believe that these values are back. People outside HP may not realize just how hard it was to turn HP around. Reorganizations were frequent. A number of good people, colleagues and friends, lost their jobs. This left scars. Many employees don't feel valued or safe anymore. Many will no longer believe that "trust or respect for individuals" applies to them. This can be fixed, and for the long term of HP, this has to be fixed. Not because HP should be a charity, but precisely because the HP Way is what made HP such a successful business.&lt;br/&gt;&lt;br/&gt;

&lt;p align="right"&gt;&lt;em&gt;Il est dans le caractère français d'exagérer,&lt;br/&gt;de se plaindre et de tout défigurer&lt;br/&gt;dès qu'on est mécontent.&lt;/em&gt;&lt;br/&gt;Napoléon Bonaparte&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8843955795990280541?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8843955795990280541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8843955795990280541' title='50 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8843955795990280541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8843955795990280541'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/where-did-hp-way-go.html' title='Where did the HP Way go?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>50</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6149662018799964221</id><published>2008-05-14T20:22:00.006+01:00</published><updated>2008-05-14T20:50:39.864+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='user interfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='Teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='sustainable development'/><category scheme='http://www.blogger.com/atom/ns#' term='Politics'/><title type='text'>The woes of the "One laptop per child" project</title><content type='html'>&lt;a href="http://radian.org/notebook/sic-transit-gloria-laptopi"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/5/56/OLPC_pilot_Thailand_-_Ban_Samkha_05.jpg" align="right" width="150" /&gt;&lt;/a&gt;

Ivan Krstić writes in &lt;a href="http://radian.org/notebook/sic-transit-gloria-laptopi"&gt;Sic Transit Gloria Laptopi&lt;/a&gt; about the woes of the &lt;a href="http://en.wikipedia.org/wiki/OLPC"&gt;One Laptop Per Child (OLPC)&lt;/a&gt; project.&lt;br/&gt;&lt;br/&gt;

The whole essay is a bit long, but definitely worth reading. It goes through the history of the OLPC project (including its roots in early experiments), through musings about the best choice of operating system, to suggestions on how to move the project forward successfully, after what appears to have been a severe crisis.&lt;br/&gt;&lt;br/&gt;

No matter what, Krstić is right that the whole experience will not have been in vain. But it's too bad that a project like this can die for purely political reasons. On one hand, OLPC could not have seen the light of day without the efficient support of someone like &lt;a href="http://en.wikipedia.org/wiki/Nicholas_Negroponte"&gt;Nicholas Negroponte&lt;/a&gt;. On the other hand, if we are to trust Krstić earlier essay, &lt;a href="http://radian.org/notebook/this-too-shall-pass"&gt;Things to remember when reading news about OLPC&lt;/a&gt;, he's now almost a liability to the project:

&lt;blockquote&gt;To those on the outside and looking in: remember that, though he takes the liberty of speaking in its name, Nicholas is not OLPC. OLPC is Walter Bender, Scott Ananian, Chris Ball, Mitch Bradley, Mark Foster, Marco Pesenti Gritti, Mary Lou Jepsen, Andres Salomon, Richard Smith, Michael Stone, Tomeu Vizoso, John Watlington, Dan Williams, Dave Woodhouse, and the community, and the rest of the people who worked days, nights, and weekends without end, fighting like warrior poets to make this project work. Nicholas wasn’t the one who built the hardware, or wrote the software, or deployed the machines. Nicholas talks, but these people’s work walks.&lt;/blockquote&gt;

Makes you wonder who really "invented" the OLPC... Two earlier posts may be relevant to this topic:

&lt;ul&gt;
&lt;li&gt;Another earlier discussion of &lt;a href="http://grenouille-bouillie.blogspot.com/2007/11/group-dynamics.html"&gt;Group Dynamics&lt;/a&gt;, which seems to apply quite well here&lt;/li&gt;
&lt;li&gt;Maybe we should hear &lt;a href="http://grenouille-bouillie.blogspot.com/2007/11/other-side.html"&gt;the other side&lt;/a&gt; of the story.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6149662018799964221?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6149662018799964221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6149662018799964221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6149662018799964221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6149662018799964221'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/woes-of-one-laptop-per-child-project.html' title='The woes of the &quot;One laptop per child&quot; project'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3453930059153551289</id><published>2008-05-13T19:44:00.008+01:00</published><updated>2008-05-13T20:07:48.172+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>The Perimeter Institude hit by the Slashdot effect</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Sheeps#Behavior_and_intelligence"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Sheep_herding%2C_Arkansas.jpg/250px-Sheep_herding%2C_Arkansas.jpg" align="right" /&gt;&lt;/a&gt;
The &lt;a href="http://en.wikipedia.org/wiki/Slashdot_effect"&gt;Slashdot effect&lt;/a&gt; is what happens to a web site when it is referenced on &lt;a href="http://www.slashdot.org"&gt;Slashdot&lt;/a&gt;. Many web sites are unable to handle the load correctly, as the very large readership of Slashdot tries to connect to the linked site.&lt;br/&gt;&lt;br/&gt;

I thought that the Slashdot effect was more or less a thing of the past, but this just happened to the &lt;a href="http://perimeterinstitute.ca/"&gt;Perimeter Institute (PI)&lt;/a&gt;, following the publication of a &lt;a href="http://news.slashdot.org/article.pl?sid=08/05/13/0350215"&gt;post entitled "Lectures on the Frontier of Physics"&lt;/a&gt;. Currently, the PI web site only displays the following:

&lt;blockquote&gt;Thank you for visiting Perimeter Institute.&lt;br/&gt;&lt;br/&gt;

The website is under heavy load at present due to the popularity of announcements regarding the appointment of Neil Turok as Executive Director of PI, as well as awareness of PI's online public lecture series - as reported on Slashdot and other sources.&lt;br/&gt;&lt;br/&gt;

Please visit again when traffic is back to normal.&lt;br/&gt;&lt;br/&gt;

Thank you.&lt;/blockquote&gt;

Hopefully, traffic will soon return to normal, because the agenda looked quite promising. The Slashdot story cites:

&lt;blockquote&gt;Presentations include Neil Turok's 'What Banged?,' John Ellis with 'The Large Hadron Collider,' Nima Arkani-Hamed with 'Fundamental Physics in 2010,' Paul Steinhardt with 'Impossible Crystals,' Edward Witten with 'The Quest for Supersymmetry,' Seth Lloyd with 'Programming the Universe,' Anton Zeilinger with 'From Einstein to Quantum Information,' Raymond Laflamme with 'Harnessing the Quantum World,' and many other talks. The presentations feature a split-screen presentation with the guest speaker in one frame and their full-frame graphics in the other.&lt;/blockquote&gt;

&lt;h4&gt;Can we improve HTTP?&lt;/h4&gt;
This kind of experience is a reminder that HTTP is a really simple protocol, one where no attempt whatsoever is made to offer some kind of proximity caching. I wonder if it's possible to retrofit &lt;a href="http://www.cse.msu.edu/icdcs/posters/final/05_p.pdf"&gt;P2P proximity caching technologies&lt;/a&gt; into the more bare-bones HTTP? Does anybody know of any such research? The idea, obviously, would be to have nodes that are closer to the client act as content proxies, thereby offloading the original server.&lt;br/&gt;&lt;br/&gt;

 The problem, of course, is that much of the content on the Internet is dynamic and hard to cache. That's the reason it's an interesting question :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3453930059153551289?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3453930059153551289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3453930059153551289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3453930059153551289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3453930059153551289'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/perimeter-institude-hit-by-slashdot.html' title='The Perimeter Institude hit by the Slashdot effect'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3611191405326491595</id><published>2008-05-12T02:32:00.007+01:00</published><updated>2008-05-13T08:49:21.556+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photos'/><title type='text'>Too much travel...</title><content type='html'>There is such a thing as too much travel, but I will certainly not complain about the &lt;a href="http://cc3d.free.fr/USTravels2008/index.html"&gt;sightseeing&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;p align="center"&gt;&lt;a href="http://cc3d.free.fr/USTravels2008/Pages/33.html"&gt;&lt;img src="http://cc3d.free.fr/USTravels2008/Thumbnails/33.jpg"/&gt; &lt;/a&gt; 

&lt;a href="http://cc3d.free.fr/USTravels2008/Pages/29.html"&gt;&lt;img src="http://cc3d.free.fr/USTravels2008/Thumbnails/29.jpg"/&gt; &lt;/a&gt; &lt;/p&gt;

&lt;p align="center"&gt;&lt;a href="http://cc3d.free.fr/USTravels2008/Pages/42.html"&gt;&lt;img src="http://cc3d.free.fr/USTravels2008/Thumbnails/42.jpg"/&gt; &lt;/a&gt; 

&lt;a href="http://cc3d.free.fr/USTravels2008/Pages/58.html"&gt;&lt;img src="http://cc3d.free.fr/USTravels2008/Thumbnails/58.jpg"/&gt; &lt;/a&gt; &lt;/p&gt;

&lt;p align="center"&gt;&lt;a href="http://cc3d.free.fr/USTravels2008/Pages/81.html"&gt;&lt;img src="http://cc3d.free.fr/USTravels2008/Thumbnails/81.jpg"/&gt; &lt;/a&gt; 

&lt;a href="http://cc3d.free.fr/USTravels2008/Pages/109.html"&gt;&lt;img src="http://cc3d.free.fr/USTravels2008/Thumbnails/109.jpg"/&gt; &lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3611191405326491595?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3611191405326491595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3611191405326491595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3611191405326491595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3611191405326491595'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/too-much-travel_12.html' title='Too much travel...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8208396223744595468</id><published>2008-05-07T13:55:00.037+01:00</published><updated>2008-05-13T13:20:55.263+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='HP'/><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>HP TechCon 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_UnfX9_V6JCc/SCXEiq3nckI/AAAAAAAAABs/qX2gjQ5CFHk/s1600-h/Boston+2008.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_UnfX9_V6JCc/SCXEiq3nckI/AAAAAAAAABs/qX2gjQ5CFHk/s400/Boston+2008.JPG" border="0" alt="TechCon 2008 in Boston" id="BLOGGER_PHOTO_ID_5198777444771263042" width="150"/&gt;&lt;/a&gt;
I just came back from &lt;a href="http://www.google.com/search?client=safari&amp;amp;rls=en-us&amp;amp;q=hp+techcon"&gt;HP TechCon&lt;/a&gt; 2008, Hewlett-Packard's internal conference for technologists, which was held in Boston this year.&lt;br/&gt;&lt;br/&gt;

HP TechCon is something serious. It works like a real conference: you have to submit papers to be invited, there is a formal selection process, and technologists end up presenting their work to a wide audience.&lt;br/&gt;&lt;br/&gt;


The two differences with other conferences are what makes it very interesting:
&lt;ul&gt;
&lt;li&gt;it's internal to HP, so we get to see and talk about stuff that is confidential or really far out.&lt;/li&gt;
&lt;li&gt;It's all about HP, which is a big company, so there are a lot of different topics. Most conferences are really monolithic by comparison.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Meeting great people&lt;/h4&gt;
Obviously, there is a lot I can't talk about. But I can at least say that it was the occasion for me to meet many amazing people. Below are some public links telling you more about some people I met there:&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://www.hp.com/united-states/personal-again/press/pdf/phil_mckinney_bio.pdf"&gt;&lt;img align="left" src="http://www.hp.com/united-states/personal-again/press/img/speaker_mcKinney.jpg" /&gt;&lt;/a&gt;

&lt;a href="http://www.philmckinney.com/blog.html"&gt;Phil McKinney&lt;/a&gt; is the VP and CTO of HP's Personal Systems Group. He has a &lt;a href="http://www.philmckinney.com/blog.html"&gt;blog&lt;/a&gt;, a &lt;a href="http://www.facebook.com/people/Phil_McKinney/588051079"&gt;Facebook profile&lt;/a&gt;, a &lt;a href="http://en.wikipedia.org/wiki/Phil_McKinney"&gt;Wikipedia entry&lt;/a&gt;, publishes &lt;a href="http://www.killerinnovations.com/blog/index.html"&gt;podcasts&lt;/a&gt;, has more than 500 &lt;a href="http://www.linkedin.com/pub/0/23/965"&gt;LinkedIn connections&lt;/a&gt;, and even a &lt;a href="http://www.google.com/search?q=%22(phil+OR+phillip+OR+philip)+mckinney%22+podcast+OR+(CTO+OR+%22chief+technology%22)&amp;amp;hl=en&amp;amp;lr=&amp;amp;rls=GGLD,GGLD:2004-06,GGLD:en&amp;amp;start=0&amp;amp;sa=N"&gt;Google Phil&lt;/a&gt; entry on his web pages. Recommended reading.&lt;br/&gt;&lt;br/&gt;

Exploring the web around Phil's blog and comments, I discovered a number of things, like &lt;a href="http://www.mscapers.com/"&gt;mscape&lt;/a&gt; and the &lt;a href="http://www.youtube.com/results?search_query=hp+game+on&amp;amp;search_type="&gt;HP Game On&lt;/a&gt; series of ads. And for serious gamers, the &lt;a href="http://h20435.www2.hp.com/"&gt;Blackbird 002&lt;/a&gt; game system (adding "002" to the name is, by itself, a really cool piece of serious geekery.)&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://www.hpl.hp.com/news/2002/oct-dec/duncan_stewart.html"&gt;&lt;img src="http://www.hpl.hp.com/news/2002/oct-dec/QSRimages/stewart148.jpg" align="left"/&gt;&lt;/a&gt;

Duncan Stewart is a physics researcher at HP Labs. You need to add "memristor" to &lt;a href="http://www.google.com/search?q=duncan+stewart+memristor"&gt;Google Duncan&lt;/a&gt;, because there are other people with the same name. Occasional readers of my blog may know that physics is a topic I'm quite interested in. He's one of the researchers behind the memristor, which I will talk about below.&lt;br/&gt;&lt;br/&gt;

There are a number of pages about Duncan Stewart, including &lt;a href="http://www.hpl.hp.com/news/2002/oct-dec/duncan_stewart.html"&gt;this one&lt;/a&gt; on the HP Labs web site. I really enjoyed talking to him.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The memristor&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Memristor"&gt;&lt;img align="right" src="http://upload.wikimedia.org/wikipedia/en/9/9f/Memristor.jpg" width="150" /&gt;&lt;/a&gt;

In case you did not hear about it, the &lt;a href="http://en.wikipedia.org/wiki/Memristor"&gt;memristor&lt;/a&gt; is the fourth passive device, after the resistor, the capacitor and the inductor. But it would be surprising if you had not heard about it. The number of papers and articles on such a recent topic is really amazing. Here is a link at &lt;a href="http://www.hpl.hp.com/news/2008/apr-jun/memristor.html"&gt;HP Labs&lt;/a&gt;, the &lt;a href="http://www.nature.com/nature/journal/v453/n7191/abs/nature06932.html"&gt;article in Nature&lt;/a&gt; that I think started it all, or the &lt;a href="http://en.wikipedia.org/wiki/Memristor"&gt;Wikipedia entry&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

To explain what the memristor is, a little &lt;a href="http://en.wikipedia.org/wiki/Hydraulic_analogy"&gt;hydraulic analogy&lt;/a&gt; is in order. As you know, a good way to think about electricity is to see "voltage" as the height of water (the pressure, really), and "current' as the flow of water.
&lt;ul&gt;

&lt;li&gt;A resistor is like a grid or something that blocks the flow: to get more water to flow through (more current), you will need a higher level of water (more voltage). This is expressed as &lt;a href="http://en.wikipedia.org/wiki/Ohm's_law"&gt;Ohm's law &lt;/a&gt;, &lt;img src="http://www.texify.com/img/%5Cnormalsize%5C%21U%3DR I.gif" align="absmiddle" /&gt;.&lt;/li&gt;

&lt;li&gt;A capacitor is like a tank, where inbound current elevates the level of water, and outbound current depletes the contents of the tank and therefore the level of water. Therefore, it relates a &lt;em&gt;change&lt;/em&gt; in voltage to a current, &lt;img src="http://www.texify.com/img/%5Cnormalsize%5C%21I%20%3D%20C%5Cfrac%7BdV%7D%7Bdt%7D.gif" align="absmiddle" /&gt;, which you can also write as &lt;img src="http://www.texify.com/img/%5Cnormalsize%5C%21%5Cint%20I%5C%2Cdt%3DC%20V.gif" align="absmiddle" /&gt;&lt;/li&gt;

&lt;li&gt;An inductor is like a heavy paddle wheel in a current, which prevents it from changing quickly. In that case, changes in current are related to the height of water: if you try to reverse the current for example, water will accumulate until the paddle wheel changes direction. This is traditionally expressed as &lt;img src="http://www.texify.com/img/%5Cnormalsize%5C%21V%3DL%5Cfrac%7BdI%7D%7Bdt%7D.gif" align="absmiddle" /&gt;, but you can also write it as &lt;img src="http://www.texify.com/img/%5Cnormalsize%5C%21%5Cint%20V%5C%2Cdt%3DL%20I.gif" align="absmiddle" /&gt;&lt;/li&gt;

&lt;li&gt;Finally, a memristor is like a gravel-filled pipe near a constriction. If flow brings the gravel towards the constriction, the gravel blocks the pipe and the resistance to flow will increase. On the other hand, if the flow brings the gravel away from the constriction, water can flow freely. This relates a change in current to a change in voltage, which you can write as &lt;img src="http://www.texify.com/img/%5Cnormalsize%5C%21M%20%5Cint%20I%5C%2Cdt%3D%5Cint%20V%5C%2Cdt.gif" align="absmiddle" /&gt;.
&lt;/li&gt;&lt;/ul&gt;

The equations show why this is the "fourth passive element": if you consider current and voltage, and accumulated current and voltage, there are four ways to combine them.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Fine, so... what do you do with it?&lt;/h4&gt;

So... why does it matter, what's the big deal? Well, very simply put, the memristor looks, among other things, like a very cheap and dense way to build memory devices. There are still a good number of questions to be addressed before this unseats Flash memory and other persistent storage, and to be honest, there is even a small chance that it never will (the hard disk is still with us, no matter how many times its death was predicted.)&lt;br/&gt;&lt;br/&gt;

There are many other applications as well. One of them, "artificial intelligence", looks a bit overhyped to me at the moment. What seems true, however, is that memristors might enable cheap neural-like circuits to be mass-produced efficiently.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Conclusion&lt;/h4&gt;

This was overall a great TechCon. Still, I'm glad to be back, it was exhausting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8208396223744595468?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8208396223744595468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8208396223744595468' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8208396223744595468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8208396223744595468'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/hp-techcon-2008.html' title='HP TechCon 2008'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UnfX9_V6JCc/SCXEiq3nckI/AAAAAAAAABs/qX2gjQ5CFHk/s72-c/Boston+2008.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1108411979033550175</id><published>2008-05-01T21:28:00.008+01:00</published><updated>2008-05-11T21:48:15.644+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer collection'/><category scheme='http://www.blogger.com/atom/ns#' term='computer history'/><title type='text'>Added an Amstrad CPC-464 to my collection</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UnfX9_V6JCc/SCdY-b5ALZI/AAAAAAAAAB0/4FUbXfqmh3U/s1600-h/Amstrad.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_UnfX9_V6JCc/SCdY-b5ALZI/AAAAAAAAAB0/4FUbXfqmh3U/s400/Amstrad.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5199222124484504978" /&gt;&lt;/a&gt;

My brother Matthieu just offered me an &lt;a href="http://en.wikipedia.org/wiki/Amstrad_CPC"&gt;Amstrad CPC-464&lt;/a&gt; for my computer collection.&lt;br/&gt;&lt;br/&gt;

Writing this, I realized that this may be the first time that I actually mention this collection on the blog. I have about 25 computers, and about the same number of calculators, the vast majority more or less in working order. I have to write &lt;em&gt;more or less&lt;/em&gt;, unfortunately, because it's not infrequent for one of these old machines to break.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;It works, but it's so slow&lt;/h4&gt;

Anyway, the Amstrad is in perfect working order, as you can see on the picture above. I had forgotten just how fast these machines booted, and just how slow the BASIC was after that. Old memories kicked in, as I tried to practice the horrid program editor of these machines "&lt;tt&gt;EDIT 30&lt;/tt&gt;" would bring a line editor for line 30. You could also move the cursor around, and it looked like you were editing, but you really weren't. You had to use the magic "COPY" key to copy one character at a time for editing. Totally idiotic if you look at it from today's perspective.&lt;br/&gt;&lt;br/&gt;

My kids were unimpressed. We tried to load a few games, but it was really boring, even to me. Load the cassette tape, wait 5 minutes for something to load, that asks you whether you want to play part 1 or part 2 or part 3 of the game, then load again for 5 minutes, and so on. Today's kids just have no idea how lucky they are to have instant access to a gigantic library of games from the Internet. But even if I grew up with this kind of boxes, I must admit that my memory of how bad this was had somewhat faded.&lt;br/&gt;&lt;br/&gt;

At some point, I tried to write a little program to draw a &lt;a href="http://en.wikipedia.org/wiki/Lissajous_curve"&gt;Lissajous curve&lt;/a&gt;. This was the kind of thing that we thought were cool at the time. Except that it took &lt;em&gt;minutes&lt;/em&gt; to draw the curve! I simply had forgotten that. My oldest son, Tanguy, looked at this, and while the curve interested him, I can't say that the BASIC moved him a bit. We ended up discussing Lissajous curves on the remarkable &lt;a href="http://en.wikipedia.org/wiki/Grapher"&gt;Apple Grapher&lt;/a&gt; application. So much for old times...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;On the lookout for other machines...&lt;/h4&gt;

At some point, I have to spend a little time on e-Bay trying to look for the missing pieces in the collection, but for the moment, I'm simply looking at random, and picking up things when I think they are interesting. Right now, one of the few pieces left that I'd really like to have is a &lt;a href="http://en.wikipedia.org/wiki/TI-99/4A"&gt;TI-99/4A&lt;/a&gt;. That's just because I spent so many hours programming it at a friend's house as a kid...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1108411979033550175?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1108411979033550175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1108411979033550175' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1108411979033550175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1108411979033550175'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/05/added-amstrad-cpc-464-to-my-collection.html' title='Added an Amstrad CPC-464 to my collection'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UnfX9_V6JCc/SCdY-b5ALZI/AAAAAAAAAB0/4FUbXfqmh3U/s72-c/Amstrad.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5269299168933530371</id><published>2008-04-29T07:12:00.008+01:00</published><updated>2008-04-29T13:25:57.178+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Antisocial punishment</title><content type='html'>A  recent &lt;a href="http://www.sciencemag.org/cgi/content/abstract/319/5868/1362"&gt;article&lt;/a&gt; in Science documents what the authors call "&lt;em&gt;antisocial punishment&lt;/em&gt;". Specifically, they demonstrated that society punishes those who contribute the least or try to abuse the system, but also that there is a tendency to punish those who contribute the most.&lt;br/&gt;&lt;br&gt;

This will not come as a surprise to anybody who remembers Honore de Balzac stating that &lt;em&gt;Behind every great fortune, there is a crime&lt;/em&gt;. For the curious, the actual quotation in French is from &lt;em&gt;Le Père Goriot&lt;/em&gt;:

&lt;blockquote&gt;Le secret des grandes fortunes sans cause apparente est un crime oublié, parce qu' il a été proprement fait.&lt;/blockquote&gt;

which I could translate approximately into:

&lt;blockquote&gt;The secret of great fortunes without apparent cause is a forgotten crime, because it was nicely done&lt;/blockquote&gt;

This reminds me of the &lt;a href="http://www.clubdelhorloge.fr/einstein_poincare.htm"&gt;debate&lt;/a&gt; about whether &lt;a href="http://en.wikipedia.org/wiki/Henri_Poincaré"&gt;Poincaré&lt;/a&gt; or Einstein invented relativity. According to Jules Leveugle, this was nothing less than a "german conspiracy" to promote "german science" at the expense of Poincaré. I don't have enough data at that point. But even if Leveugle seems to have some information to back his claims, he asserts a number of things about the motivations of people a century ago that are quite hard to prove one way or another. Anyway, if the conspiracy theorists are right on this one, Poincaré would have been a victim of exactly the kind of antisocial punishment the Science article demonstrates...&lt;br/&gt;&lt;br/&gt;

As an aside, while &lt;a href="http://en.wikipedia.org/wiki/Henri_Poincaré#Poincar.C3.A9_and_Einstein"&gt;everybody&lt;/a&gt; nowadays agrees that Poincaré published the core of special relativity and even invented the term "relativity" shortly before Einstein, Leveugle's assertions that Poincaré also invented general relativity before Einstein is much less &lt;a href="http://fr.wikipedia.org/wiki/Controverse_sur_la_paternité_de_la_relativité"&gt;widely believed&lt;/a&gt;. He mentions some document having been more or less willfully damaged by later scientists, this becomes a little bit harder to prove. In any case, I could not find references on the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5269299168933530371?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5269299168933530371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5269299168933530371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5269299168933530371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5269299168933530371'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/04/antisocial-punishment.html' title='Antisocial punishment'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3819956392517957230</id><published>2008-04-26T18:59:00.002+01:00</published><updated>2008-05-25T15:11:15.594+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Family'/><title type='text'>André Vignon, beloved grandfather, passed away</title><content type='html'>My grandfather, André Vignon, passed away today, at the age of 96. This remarkable man had 13 children, more than 50 grandchildren, and currently just shy of 80 grand-grandchildren. He was awarded the &lt;a href="http://fr.wikipedia.org/wiki/Croix_de_guerre_1939-1945"&gt;Croix de Guerre 39-45&lt;/a&gt;, but he was so modest that almost nobody in the family can tell you why. For years, he was the &lt;a href="http://www.favrichon.com/histoire1960.html"&gt;CEO&lt;/a&gt; of &lt;a href="http://www.favrichon.com/"&gt;Favrichon&lt;/a&gt;, a company specialized in healthy foods, particularly cereals. We grew up testing the prototypes of various cereal products, and I suppose that our enthusiasm for this or that new flavor decided its fate.&lt;br/&gt;&lt;br/&gt;

It's very hard to describe what a loss this is to the whole family. We all grew up among dozens of cousins. It always felt perfectly normal to me to go on vacation during summer time with half a dozen cousins my age to play with, until I realized much later in life just how exceptional this experience was. Love was completely central to this family, and years later, we still see each others regularly and with great pleasure.&lt;br/&gt;&lt;br/&gt;

Big families: recommended...&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://cc3d.free.fr/Enterrement%20de%20Père/"&gt;Pictures for the family&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3819956392517957230?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3819956392517957230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3819956392517957230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3819956392517957230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3819956392517957230'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/04/andr-vignon-beloved-grandfather-passed.html' title='André Vignon, beloved grandfather, passed away'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2371124549303221543</id><published>2008-04-20T18:25:00.003+01:00</published><updated>2008-05-11T21:50:02.406+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Macintosh'/><title type='text'>MacOSX Leopard: disappointed...</title><content type='html'>I finally purchased MacOSX Leopard. For a long time, I had purchased every single update of MacOSX as soon as I could, because they were generally worth it. This was the first time I had some second thoughts. There were a number of mixed reviews over the net, like the excellent &lt;a href="http://arstechnica.com/reviews/os/mac-os-x-10-5.ars"&gt;Ars Technica&lt;/a&gt; review.&lt;br/&gt;&lt;Br/&gt;

The main problems that these reviews were reporting were drops in looks and usability. Looks: folder icons that look bad, inconsistent shadows, translucent menu bar, overly bright window widgets, and so on. Usability: initially, folders placed in the dock would show as "stacks", in other words a big pile of stuff, and fan out in a way that made it quite hard to pick up anything in the folder. Overall, the new OS was also reported to be much more resource hungry than the older ones, not a big surprise here...&lt;br/&gt;&lt;br/&gt;

To me, it was annoying to have a trade-off between features I'd get, like &lt;a href="http://www.apple.com/macosx/features/timemachine.html"&gt;Time Machine&lt;/a&gt; or &lt;a href="http://www.apple.com/macosx/features/parentalcontrols.html"&gt;Parental Controls&lt;/a&gt;, and features I'd lose (something Apple does not advertise much), like &lt;a href="http://discussions.apple.com/thread.jspa?messageID=5898005"&gt;Classic&lt;/a&gt; (the environment to run MacOS9 applications). In previous releases, there was a net gain in functionality, but the loss of Classic was a pretty big deal to me. In particular, I wanted to have Parental Controls on the kids Mac, an old Dual G4 which contains tons of MacOS9 games.&lt;br/&gt;&lt;br/&gt;

But a few weeks ago, having learned that 10.5.2 was finally giving users options about the dock icons and  menu bar, I thought that it was safe to jump, at least for my Intel-based Powerbook, which can't run Classic anyways, and which was acting weird lately. In particular, it jut can't run straight any time I have run any virtual machine with &lt;a href="http://www.parallels.com"&gt;Parallels Desktop&lt;/a&gt;. That was most likely a problem with Parallels, not with Apple, but I thought that the latest Apple OS might help. Another problem I kept hitting was that the machine would lock-up when I tried to unlock the screen saver. Hoping to get rid of these annoyances, I went ahead, purchased it and installed it.&lt;br/&gt;&lt;br/&gt;

The first thing I noticed is that my machine had become quite slower than before. Starting applications, in particular, seems to take quite a bit longer. This is particularly noticeable at login time. I now need something like one minute to log-in, which is too long for my taste. Unfortunately, the problems I had before were both still there: crashes or hangs after running Parallels, and even without running it, I still have the "black screen of death" way too often when I try to get out of the screen saver.&lt;br/&gt;&lt;br/&gt;

So I decided to try it on another machine, see if the experience would be any better: on the kids computer. Here, the experience is nothing but miserable. First, the installer forced my screen resolution to 640x480 on a flat-panel LCD that normally runs at 1280x1024. No big deal, it's just the installer, right? Wrong! The screens &lt;em&gt;do not fit&lt;/em&gt; at that resolution, so to get anything you have to hit "tab" at random and hope to hit the "Continue" button with the space bar (you can't reach it with the mouse, since it's out of the screen...)&lt;br/&gt;&lt;br/&gt;

Once you went through the whole installation routine, you are greeted with a screen that looks like this:

&lt;p align="center"&gt;&lt;a href="http://cc3d.free.fr/PinkLeopard.png"&gt;&lt;img src="http://cc3d.free.fr/PinkLeopard.png" width="60%"&gt;&lt;/a&gt;&lt;/p&gt;

That's right: the menu bar is a bright pink, and the background image is pink colored more or less at random. Performance is abysmal, my kids had to downgrade the various tunable parameters of World of Warcraft by a couple of notches. And I got at least one lock-up.&lt;br/&gt;&lt;br/&gt;

The upgrade process is not smooth either. To install 6 updates on the G4 took me 3 or 4 attempts. It seems to install, but after the install-and-reboot, it still wants to install the same thing. On the Intel PowerBook, I have been unable to update so far, it tells me that it "cannot write to /". Repairing disk permissions failed. One of my disks, that reads fine with 10.4, appears as "unrepairable" with 10.5. Granted, it was probably damaged in some way, but I'd like to avoid losing 350GB of data, please?&lt;br/&gt;&lt;br/&gt;

So, overall, MacOSX 10.5 is a disappointment. Apple is probably focusing a lot of energy on the iPhone right now... Or something else happened. Regardless, the quality of that product is not what I am ready to pay for.&lt;br/&gt;&lt;br/&gt;

&lt;b&gt;Update&lt;/b&gt;: I had the same kind of color problem on my MacBook with an external HP monitor. The colors just looked way off, and trying to adjust the ColorSync profile only made things worse. This monitor used to work really well with this machine. What's going on here?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2371124549303221543?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2371124549303221543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2371124549303221543' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2371124549303221543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2371124549303221543'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/04/macosx-leopard-disappointed.html' title='MacOSX Leopard: disappointed...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4679851505944502774</id><published>2008-04-12T08:05:00.004+01:00</published><updated>2008-05-02T08:33:51.178+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><title type='text'>Oh, the joy of not being remote...</title><content type='html'>Following my &lt;a href="http://grenouille-bouillie.blogspot.com/2008/04/cgo-epic-7.html"&gt;CGO talk&lt;/a&gt;, I went to visit my colleagues in Nashua, New-Hampshire.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Nashua ZKO site shutting down&lt;/h4&gt;
The so-called ZKO building is a historical landmark in the history of &lt;a href="http://en.wikipedia.org/wiki/Digital_Equipment_Corporation"&gt;DEC&lt;/a&gt;. For the old-timers in computer science, &lt;tt&gt;@zko.dec.com&lt;/tt&gt; was a pretty healthy thing to have in your e-mail address... Its walls are layered with pictures of early &lt;a href="http://en.wikipedia.org/wiki/OpenVMS"&gt;VMS&lt;/a&gt; luminaries. The Integrity VM project was fortunate to inherit some of this historical expertise that DEC (don't say "Compaq" to these folks...) had built in operating systems. We have in the team people who not only know what &lt;a href="http://en.wikipedia.org/wiki/TOPS-10"&gt;TOPS-10&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/TOPS-20"&gt;TOPS-20&lt;/a&gt; were, but actually wrote or maintained parts of it.&lt;br/&gt;&lt;br/&gt;

But after so many years, Hewlett-Packard will be closing ZKO soon, and transferring people to another HP building in &lt;a href="http://www.marlborough-ma.gov/Home/"&gt;Marlborough&lt;/a&gt;. As a result, many of my colleagues will have to move to new offices, and others decided to work from home. So I thought this was a good time to visit and meet the team in one place, while this was still possible.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Working remotely is hard&lt;/h4&gt;
I have strong reservations about working from home or remotely, however. This is much harder than corporations seem to think. I've been doing it occasionally for almost 5 years now. Of course, part of the problem is that the HP VPN is sized for people doing PowerPoint and Outlook e-mail. It's easily overloaded when too many people at once try to do something interactive, like a &lt;a href="http://en.wikipedia.org/wiki/Terminal_Services"&gt;Remote Desktop&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/VNC"&gt;VNC&lt;/a&gt; session. So whenever I try to work from home, two days out of three, I end up returning to the office to be able to work in decent conditions. I hope that our team will not be impacted the same way.&lt;br/&gt;&lt;br/&gt;

There is also a whole dimension of face-to-face interaction that no amount of phone conversation or chat or e-mail can compensate for. Face to face, you become friends. Over e-mail, you are at best acquaintances. This is something that the proponents of teleworking fail to realize: just how many friends did you make over e-mail? how many over a beer, or a coffee, or just chatting face to face?&lt;br/&gt;&lt;br/&gt;

Another factor in my case is time zone differences. When the Nashua team starts working, it's 3PM in France. When the Cupertino team starts working, it's 6PM. I have regular meetings after 6PM two or three days a week, and a weekly meeting on Thursdays that finishes at 9PM and is killing me. No amount of technology really helps with that.&lt;br/&gt;&lt;br/&gt;

In any case, I was so happy to spend some quality time with the team. I met for the first time several people I had been working with for years! This was a treat.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4679851505944502774?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4679851505944502774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4679851505944502774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4679851505944502774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4679851505944502774'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/04/oh-joy-of-not-being-remote.html' title='Oh, the joy of not being remote...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-848255351420428873</id><published>2008-04-10T07:14:00.006+01:00</published><updated>2008-05-02T08:03:15.339+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Book review: The trouble with physics</title><content type='html'>Until now, I had not read Lee Smolin's famous &lt;a href="http://www.thetroublewithphysics.com/"&gt;The Trouble with Physics&lt;/a&gt;.  Having recently written a &lt;a href="http://grenouille-bouillie.blogspot.com/2008/03/lequation-bogdanov-salvator-dali-school.html"&gt;rather negative review&lt;/a&gt; about a book written by someone who can't stand Smolin, I thought that I should read both sides.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;A pleasure to read&lt;/h4&gt;
Lee Smolin writes very well, and it is clear why his book had a lot of success. He presents a simple thesis, and backs it with a well-constructed reasoning illustrated with dozens of examples. Like any good book, there are dozens of sub-plots, twists and turns, recurring themes and characters, but more importantly, what makes this book interesting is, very simply, that it has a point. Lee Smolin seems to have a single and clear objective with this book, which is to explain why physics research is no longer working as well as it should. And to be honest, I find the point pretty convincing myself. It's hard to not have a deep sense of sadness when a researcher like Smolin begins a book with "&lt;em&gt;we have failed&lt;/em&gt;", but to reuse one of his expressions, this has the ring of truth...&lt;br/&gt;&lt;br/&gt;

One interesting twist and recurring theme is Smolin's own role in this grand saga, how he views himself in the small community of hard core physicists. Clearly, Smolin is an insider, but a relatively atypical one. I would say that the reason is because he recognizes failure early, and is ready to switch horses and try something else when failure happens. Smolin also makes an interesting distinction between seers, who invent new techniques, and physicists who are more adept at applying existing techniques. It is clear that he sees himself more as a seer, and that he believes that we are at a turn where seers are what physics science needs the most. One of the key subplots is how today's academia favors technicians much more than seers. Smolin advocates for academia to be more open to ideas that seem strange to the mainstream.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Limits of the book&lt;/h4&gt;
However, this is also the limit of the book in my view. Reading it, one cannot escape a feeling that Smolin essentially argues in favor of himself and his own research. I do not believe that he's being dishonest at all, but rather that it somewhat distorts his judgement and weakens his argument. For example, he argues that scientists should have an open mind and be ready to find ideas where they don't expect it. But he immediately slashed that openness with a note at the end of the book that, naturally, you have to be serious and that you can't extend the privilege to people without a PhD in physics and other crackpots. In that case, how is that different qualitatively from Lubos Motl's argument that physics should be closed to anybody not doing string theory? The only difference in "open mindedness" seems to be a quantitative one, where the bar is set.&lt;br/&gt;&lt;br/&gt;

History records a number of people who contributed science simply because they loved it or had a talent for it. Education often came &lt;em&gt;after&lt;/em&gt; their major insight. We all know that Einstein did not have an academic career when he first published his special relativity papers, but he's hardly the exception among those that Smolin calls seers. &lt;a href="http://en.wikipedia.org/wiki/Srinivasa_Ramanujan"&gt;Ramanujan&lt;/a&gt;, for example, did not have any high-level formal education. This is a bit of an extreme case, naturally, and I would not go as far as saying that you should &lt;em&gt;avoid&lt;/em&gt; high-level education. But what this proves (one example being enough for this proof) is that there are people without a PhD who made major contributions, and consequently, that Smolin's proposal to put the limit there is inconsistent with the rest of his argument about welcoming ideas in physics.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Information overload: the big missing topic&lt;/h4&gt;
Furthermore, I believe that he fails to say anything about another major issue physicists face, the "information glut", and which most physicists would recognize in &lt;a href="http://en.wikipedia.org/wiki/Sokal_affair"&gt;the Sokal affair&lt;/a&gt; or the &lt;a href="http://en.wikipedia.org/wiki/Bogdanov_affair"&gt;Bogdanov affair&lt;/a&gt;. The problem is that there is simply too much to read, including e-mails, books, blogs, articles, and no human being can be on top of everything nowadays. In an ideal world, Smolin would have time to make an informed opinion about everything there is out there, including ideas from people who don't have a PhD. In an ideal world, Smolin would be able to teach those people who got it wrong why they got it wrong, and maybe to pick up the occasional gem. But this is not an ideal world. Setting the bar at the PhD level is the simplest kind of filter you can put in place to reduce the information flow to manageable levels.&lt;br/&gt;&lt;br/&gt;

Specialization, this trend in academia that Smolin dislikes because it doesn't favor seers like him, is just another simple-minded attempt to reduce the amount of data. When Lubos Motl calls "crackpot" anybody who isn't interested in string theory, he has, in a sense, the same objective as Smolin, which is to reduce his world view to manageable amounts of data.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;What I would try if I had time...&lt;/h4&gt;
This is the reason I think that it's now time to put some technology in the mix. It's time to move beyond &lt;a href="http://www.arxiv.org"&gt;arXiv&lt;/a&gt; and e-mail and newsgroups. It's time to create some tool to help scientists find the data they need. For this to work, it has to be based on social networks (where others with similar tastes help you filter things). I've a pretty good idea of what it would look like, but so little time... And we are back to square one: time, bandwidth, information overload, these are the problems. PhDs aren't.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-848255351420428873?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/848255351420428873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=848255351420428873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/848255351420428873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/848255351420428873'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/04/book-review-trouble-with-physics.html' title='Book review: The trouble with physics'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-7072679940082931153</id><published>2008-04-06T18:44:00.005+01:00</published><updated>2008-05-02T08:36:19.705+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><title type='text'>CGO / EPIC-7</title><content type='html'>Today, I gave a &lt;a href="http://rogue.colorado.edu/EPIC7/ItaniumVirtualMachines.pdf"&gt;talk&lt;/a&gt; about Integrity Virtual Machines at the &lt;a href="http://rogue.colorado.edu/EPIC7/"&gt;EPIC-7&lt;/a&gt; workshop of the &lt;a href="http://www.cgo.org/cgo2008/html/tutorials.html"&gt;CGO-2008&lt;/a&gt; conference. The audience was smaller than I hoped, but quite interesting. This was a good occasion to make new contacts, and to renew contacts with old friends. After 7 years working on Integrity VM, this was actually the first time I talked publicly about it outside of HP (although Todd Kjos gave a &lt;a href="http://www.ice.gelato.org/about/apr07_presentations.php#pres75"&gt;talk&lt;/a&gt; at Gelato in April 2007).&lt;br/&gt;&lt;br/&gt;

There were a number of other interesting talks. Rohit Bhatia presented &lt;a href="http://rogue.colorado.edu/EPIC7/TukwilaKeynote.pdf"&gt;Tukwila&lt;/a&gt;, the next generation Itanium. I did not learn much during this talk, but it was interesting to see the Intel take on this processor (I usually only hear the HP side of the story). This somewhat renewed my confidence about this platform. It's a very interesting processor for a programmer, but that alone has never been a guarantee of success. Clearly, the initial expectations for Itanium were set a little bit too high, but it's interesting to see that Intel doesn't give up. And hearing them boast about Tukwila as "the fastest processor in the industry" opens some perspectives.&lt;br/&gt;&lt;br/&gt;

One thing that I'm still wondering about is how we can explain customers why Itanium will stick at relatively modest number of cores (e.g. four), whereas &lt;a href="http://en.wikipedia.org/wiki/Larrabee_%28GPU%29"&gt;Larrabee&lt;/a&gt; will feature a much larger number (16 or 24 according to Wikipedia). Hmmm...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-7072679940082931153?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/7072679940082931153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=7072679940082931153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7072679940082931153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/7072679940082931153'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/04/cgo-epic-7.html' title='CGO / EPIC-7'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8402545645748826118</id><published>2008-03-28T21:39:00.003+01:00</published><updated>2008-03-28T21:44:53.006+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><title type='text'>Parallelism: the new new thing</title><content type='html'>Bill McColl writes about &lt;a href="http://www.computingatscale.com/?p=54"&gt;parallelism&lt;/a&gt; and how this is the next big thing. I agree, and I would add that what makes it newly new is its non-homogeneous nature. We have examples of this with the &lt;a href="http://en.wikipedia.org/wiki/Cell_%28microprocessor%29"&gt;Cell microprocessor&lt;/a&gt; and its coprocessing elements. But a network of heterogeneous machines such as cell phones are another instance.&lt;br/&gt;&lt;br/&gt;

And guess what?
&lt;blockquote&gt;Only around 1% of the world’s software developers have any experience of parallel programming. The percentage that has significant experience in the design, analysis and implementation of highly parallel systems is perhaps as low as 0.01% (1 in 10,000).&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8402545645748826118?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8402545645748826118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8402545645748826118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8402545645748826118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8402545645748826118'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/parallelism-new-new-thing.html' title='Parallelism: the new new thing'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2801455089787636545</id><published>2008-03-23T10:03:00.005+01:00</published><updated>2008-10-15T19:00:54.046+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Hyper-V: Linux or not Linux?</title><content type='html'>A recent &lt;a href="http://www.networkworld.com/community/node/26165"&gt;column&lt;/a&gt; by &lt;a href="http://www.networkworld.com/community/user/4200"&gt;Mitchell Ashley&lt;/a&gt; argues that Microsoft's upcoming &lt;a href="http://en.wikipedia.org/wiki/Hyper-V"&gt;Hyper-V&lt;/a&gt; virtualization platform (formerly known as Viridian) "&lt;em&gt;leaves out Linux in the cold&lt;/em&gt;", because it only supports SuSE Linux and not the bigger contenders like RedHat and Ubuntu.&lt;br/&gt;&lt;br/&gt;

I believe that Mitchell Ashley misses two important points in his analysis:

&lt;ul&gt;
&lt;li&gt;The US market, where RedHat and Ubuntu dominate, is not the market where Microsoft has the most trouble with Windows. In Europe and Asia, their dominance is not as clear. SuSE is a key player in Europe, in particular in Germany, and these are also the locations where governments threaten to standardize on "open platforms". So instead of focusing on markets where it has little to gain, Microsoft may be after markets where Windows is threatened.&lt;/li&gt;

&lt;li&gt;The relative cost of software has gone up tremendously, and now is the majority of the purchase cost of any IT infrastructure. Long gone are the days when IBM simply gave the software for free when you purchased its hardware. So Microsoft may be playing catch-up, but as long as they can offer deals you can't refuse regarding the licenses of Microsoft Windows (e.g. it's much cheaper to run 4 Windows VMs under Hyper-V than under VMware), they have the possibility to tie rocks to the other guys' ankles...&lt;/li&gt;
&lt;/ul&gt;

On a different topic, one of the comments suggests that SuSE only runs thanks to a binary-only kernel module. That would prove interesting if this is indeed the case. While binary kernel modules have been used for specific proprietary hardware such as 3D graphics cards, I don't think it's ever been the case before that you needed one for the kernel itself.&lt;br/&gt;&lt;br/&gt;

If it's some kind of paravirtualization or acceleration as I suspect (another comment about someone running other kernels tends to confirm that viewpoint), then it's a bit different. But if you need some proprietary binary simply to run Linux, I believe that this will cause some backlash from the Free Software community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2801455089787636545?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2801455089787636545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2801455089787636545' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2801455089787636545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2801455089787636545'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/hyper-v-linux-or-not-linux.html' title='Hyper-V: Linux or not Linux?'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6236715745542605702</id><published>2008-03-21T15:02:00.001+01:00</published><updated>2008-03-21T15:03:49.823+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Everything else'/><title type='text'>Developing the security mindset</title><content type='html'>An interesting &lt;a href="http://www.wired.com/politics/security/commentary/securitymatters/2008/03/securitymatters_0320"&gt;commentary&lt;/a&gt; on Wired about the security mindset:

&lt;blockquote&gt;SmartWater is a liquid with a unique identifier linked to a particular owner. "The idea is for me to paint this stuff on my valuables as proof of ownership," I wrote when I first learned about the idea. "I think a better idea would be for me to paint it on your valuables, and then call the police."&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6236715745542605702?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6236715745542605702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6236715745542605702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6236715745542605702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6236715745542605702'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/developing-security-mindset.html' title='Developing the security mindset'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8471008971441402713</id><published>2008-03-15T11:12:00.002+01:00</published><updated>2008-03-15T11:19:28.494+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><title type='text'>Superlanguages</title><content type='html'>Christopher Diggins talks about &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=226766"&gt;superlanguages&lt;/a&gt; to describe more or less what I tried to achieve with &lt;a href="http://xlr.sf.net"&gt;XL&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

While they are related, &lt;a href="http://en.wikipedia.org/wiki/Language-oriented_programming"&gt;language-oriented programming&lt;/a&gt; and &lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;concept programming&lt;/a&gt; are not exactly the same thing. Concept programming uses the techniques of language-oriented programming, but the objective is different (although it may be implicit to most practitioners of LOP). In concept programming, what really matters is how the code looks, and how that relates to the way we think about it and represent the related concepts outside of the programming community.&lt;br/&gt;&lt;br/&gt;

That implies reuse of LOP techniques, because you cannot represent arbitrary concepts without a good dose of metaprogramming. But the reverse is not true. You can use LOP techniques without caring at all about how this "looks and feels". Lisp is a good example of that: in Lisp, nobody cares if you write &lt;tt&gt;(+ 1 2)&lt;/tt&gt; instead of &lt;tt&gt;1+2&lt;/tt&gt;. That's why the "pseudo-metrics" in concept programming are a truly distinguishing feature.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8471008971441402713?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8471008971441402713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8471008971441402713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8471008971441402713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8471008971441402713'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/superlanguages.html' title='Superlanguages'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-132176502553032864</id><published>2008-03-13T23:05:00.007+01:00</published><updated>2008-03-14T06:43:45.206+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Everything else'/><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><title type='text'>There can be only one...</title><content type='html'>There has to be a last guy.&lt;br/&gt;&lt;br/&gt;

Yesterday, the last French soldier in World War I, &lt;a href="http://www.lemonde.fr/carnet/article/2008/03/12/lazare-ponticelli-le-dernier-poilu-francais-est-mort_1022139_3382.html"&gt;Lazare Ponticelli&lt;/a&gt;, died at age 110.&lt;br/&gt;&lt;br/&gt;

In a totally different context, I find myself feeling a little bit like the "last guy standing" today. Todd Kjos found some new technical challenge to tackle and decided to move on. He was one of the three fathers of HPVM, and his contributions were invaluable.&lt;br/&gt;&lt;br/&gt;

Nothing lasts forever. We knew this was coming. Still, this is a sad day. What else to expect from a 13&lt;sup&gt;th&lt;/sup&gt;... But it was a privilege working with guys like Todd and Jonathan Ross.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-132176502553032864?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/132176502553032864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=132176502553032864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/132176502553032864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/132176502553032864'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/there-can-be-only-one.html' title='There can be only one...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6619374688611982906</id><published>2008-03-13T22:02:00.005+01:00</published><updated>2008-03-13T23:05:19.389+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='intentional programming'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><title type='text'>Multicore panic...</title><content type='html'>According to &lt;a href="http://www.eetimes.com/showArticle.jhtml;?articleID=206105179"&gt;this article&lt;/a&gt;:

&lt;blockquote&gt;Chuck Moore, an AMD senior fellow, made the case for the shift to a new software model based on heterogeneous collections of cores optimized for various tasks. He suggested computers should be more like cellphones, using a variety of specialty cores to run modular software scheduled by a high-level applications programming interface.&lt;/blockquote&gt;

I second that entirely. When silicon is cheap, you tend to specialize. Today, we specialize entire machines. This is why it is OK to have in any cell phone today the power of a good top-of-the-line personal computer of the early to mid 1990s. Specialized designs can be &lt;a href="http://prunel.ccsd.cnrs.fr/ensl-00174627/fr/"&gt;much faster and economical&lt;/a&gt; than specialized ones. But I'm not sure that we'll ever see thousands and thousands of pre-wired cores. The reason is that we are beginning to understand how to build &lt;a href="http://www.ens-lyon.fr/LIP/Arenaire/Ware/FloPoCo/"&gt;customized floating-point circuits&lt;/a&gt; on a per-application basis (If the name in these papers rings a bell, it's because the guy writing them is my brother...)&lt;br/&gt;&lt;br/&gt;

But even if you have a plethora of cores, the problem still remains of &lt;a href="http://developers.slashdot.org/article.pl?sid=08/03/11/068231"&gt;how to develop&lt;/a&gt; for these cores:

&lt;blockquote&gt; The only emerging consensus seems to be that multicore computing is facing a major crisis. In a recent EE Times article titled 'Multicore puts screws to parallel-programming models', AMD's Chuck Moore is reported to have said that 'the industry is in a little bit of a panic about how to program multicore processors, especially heterogeneous ones.&lt;/blockquote&gt;


That's where something like &lt;A href="http://xlr.sf.net"&gt;XL&lt;/a&gt;, &lt;a href="http://xlr.sf.net/Concept%20Programming%20Presentation.pdf"&gt;concept programming&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Intentional_programming"&gt;Intentional Programming&lt;/a&gt; may turn out to be indispensable. Why? Because these new techniques allow programmer to describe custom conceps, not just obsolete CPU models of the 1970s as we still find them in C and C++ ("memory accesses are cheap", "every CPU knows about the C operators and only them", and so on).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6619374688611982906?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6619374688611982906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6619374688611982906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6619374688611982906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6619374688611982906'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/multicore-panic.html' title='Multicore panic...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4671208257878491390</id><published>2008-03-08T10:10:00.005+01:00</published><updated>2008-03-08T10:14:32.041+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Medical Science'/><title type='text'>Brain scanner</title><content type='html'>Another progress made on &lt;a href="http://www.wired.com/science/discoveries/news/2008/03/mri_vision"&gt;brain scanning technology&lt;/a&gt;. I predict that in a few years, the interface to computers will probably no longer use keyboards as much. But programming such interfaces will take some &lt;a href="http://xlr.sf.net"&gt;innovative programming techniques&lt;/a&gt;.

&lt;p align="center"&gt;&lt;a href="http://www.wired.com/science/discoveries/news/2008/03/mri_vision"&gt;&lt;img src="http://www.wired.com/images/index/2008/03/brainpatterns.jpg" align="center" width="300"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4671208257878491390?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4671208257878491390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4671208257878491390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4671208257878491390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4671208257878491390'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/brain-scanner.html' title='Brain scanner'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2599864966729123769</id><published>2008-03-08T09:34:00.005+01:00</published><updated>2008-03-08T10:05:16.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>Carlo Rovelli's "dialogue" on LQG and strings</title><content type='html'>You may remember that I recently read &lt;a href="http://grenouille-bouillie.blogspot.com/2008/03/lequation-bogdanov-salvator-dali-school.html"&gt;L'equation Bogdanov&lt;/a&gt;, and did not find it very good.&lt;br/&gt;&lt;br/&gt;

So it felt refreshing to come across a more interesting discussion of these problems, namely a &lt;a href="http://arxiv.org/abs/hep-th/0310077"&gt;dialogue&lt;/a&gt; written by &lt;a href="http://en.wikipedia.org/wiki/Carlo_Rovelli"&gt;Carlo Rovelli&lt;/a&gt;. Carlo Rovelli is one of the leading researchers in &lt;a href="http://en.wikipedia.org/wiki/Loop_quantum_gravity"&gt;loop quantum gravity&lt;/a&gt;, that Lubos Motl so incorrectly describes as trying to reinvent aether with "atoms of space". The dialogue is not new, but it was apparently refreshed in February 2008, despite what the ArXiv web site indicates.&lt;br/&gt;&lt;br/&gt;

I won't take sides between string theory and loop quantum gravity. I'm not entirely comfortable in either approach, which may be because I don't know enough (that's clearly what Lubos Motl thinks), or maybe because the &lt;a href="http://cc3d.free.fr/English/TIM/422C8049-B79B-4DCC-B986-42FB1D6B4A18.html"&gt;questions&lt;/a&gt; I'm interested in are not resolved by either.&lt;br/&gt;&lt;br/&gt;

Still, I feel conceptually slightly closer to LQG. For example, through a different line of reasoning, my approach also suggests that there is no "background", i.e. some sort of fixed space-time where you play physical events. The existence of such a background (and of properties I really cannot subscribe to, like the fact that it is continuous) are, to the best of my knowledge, essential for string theory.&lt;br/&gt;&lt;br/&gt;

And obviously, on the form, I much prefer the calm, short, yet substantiated and verifiable approach to the debate that Carlo Rovelli gives us here to the endless, abusive approach Lubos Motl represents. Of course, that means that Carlo Rovelli is not as loud, and possibly is heard less. But &lt;em&gt;he's&lt;/em&gt; the smart guy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2599864966729123769?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2599864966729123769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2599864966729123769' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2599864966729123769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2599864966729123769'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/carlo-rovellis-dialogue-on-lqg-and.html' title='Carlo Rovelli&apos;s &quot;dialogue&quot; on LQG and strings'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3575961286848204791</id><published>2008-03-05T19:39:00.009+01:00</published><updated>2008-03-05T23:28:57.256+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mathematics'/><title type='text'>The number you can't compute...</title><content type='html'>One of my respected colleagues at Hewlett-Packard is a guy named &lt;a href="http://primes.utm.edu/bios/page.php?id=14"&gt;Patrick Demichel&lt;/a&gt;. He's one of the "&lt;a href="http://primes.utm.edu/glossary/page.php?sort=TitanicPrime"&gt;titans&lt;/a&gt;", having held various world records on the number of digits of π and things like that.&lt;br/&gt;&lt;br/&gt;

But a couple of weeks ago, he talked to me about something really intriguing. During a conference on high-performance computing, he told me about a number he had computed, and that even if he was not sure that the value was right, he considered it highly unlikely that anybody could prove him wrong, because there weren't enough atoms in the universe to do so. How does that sound?&lt;br/&gt;&lt;br/&gt;

Well, it turns out that he was talking about the &lt;a href="http://en.wikipedia.org/wiki/Skewes'_number"&gt;Skewes numbers&lt;/a&gt;. More specifically, he has computed the first Skewes number to be most probably equal to 1.397162914×10&lt;sup&gt;316&lt;/sup&gt;. See another reference in &lt;a href="http://mathworld.wolfram.com/SkewesNumber.html"&gt;Wolfram's MathWorld&lt;/a&gt;.

&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_UnfX9_V6JCc/R872earVcyI/AAAAAAAAABE/tuFzykPtAak/s1600-h/Picture+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_UnfX9_V6JCc/R872earVcyI/AAAAAAAAABE/tuFzykPtAak/s400/Picture+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5174344024312869666" /&gt;&lt;/a&gt;

You can find the complete presentation of that research &lt;a href="http://www.mybloop.com/dmlpat/maths/li_crossover_pi.pdf"&gt;here&lt;/a&gt;. The general idea is that we have something that is extremely difficult to compute, so we compute it at reduced precision, skipping through large ranges of numbers. In doing so, we do a probabilistic estimate of the risk that we miss the right values. It's really low, to the point that finding a counter example would take more computations than what can have been done in the entire universe since the Big Bang. However, we clearly have not tested all possible values (which would take even more power).&lt;br/&gt;&lt;br/&gt;

OK, in reality, this depends on the behavior of the &lt;a href="http://en.wikipedia.org/wiki/Riemann_zeta_function"&gt;Zeta function&lt;/a&gt;, more specifically on the &lt;a href="http://en.wikipedia.org/wiki/Riemann_hypothesis"&gt;Riemann hypothesis&lt;/a&gt;. So there is still an infinitesimal chance that all this huge computing power went to waste, and that 1.397162914×10&lt;sup&gt;316&lt;/sup&gt; is actually not the first Skewes number. Time will tell...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3575961286848204791?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3575961286848204791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3575961286848204791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3575961286848204791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3575961286848204791'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/number-you-cant-compute.html' title='The number you can&apos;t compute...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UnfX9_V6JCc/R872earVcyI/AAAAAAAAABE/tuFzykPtAak/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8570919462777539772</id><published>2008-03-05T06:06:00.063+01:00</published><updated>2008-03-10T10:01:59.351+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><title type='text'>L'equation Bogdanov: The Salvador Dali school of physics</title><content type='html'>&lt;a href="http://motls.blogspot.com/2008/01/lequation-bogdanov.html"&gt;&lt;img src="http://1.bp.blogspot.com/_4ruQ7t4zrFA/R5ngPZQMryI/AAAAAAAAAQc/CUrfUfeykBs/s400/9782750903862.jpg" align="right" height="150"/&gt;&lt;/a&gt;

Two days ago, I stumbled across &lt;a href="http://motls.blogspot.com/2008/01/lequation-bogdanov.html"&gt;L'equation Bogdanov&lt;/a&gt; at the local bookstore in &lt;a href="http://www.grasse.fr/article.php3?id_rubrique=21"&gt;Grasse&lt;/a&gt;, France. That was a surprise, since that particular store is where I go to buy gifts or kids school books. It is generally not too strong on science books. That means that the book is intended for a rather wide distribution. &lt;a href="http://en.wikipedia.org/wiki/Luboš_Motl"&gt;Lubos Motl&lt;/a&gt;, writing an introductory book? About the &lt;a href="http://en.wikipedia.org/wiki/Bogdanov_Affair"&gt;Bogdanovs&lt;/a&gt;? That was sure to pique my curiosity!&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Well, call me biased, but...&lt;/h4&gt;

If you occasionally read my blog, you may know that I have reasons to not really like Motl too much, after he wrote a rather &lt;a href="http://motls.blogspot.com/2007/09/bad-physicists-and-populism.html"&gt;silly and inflamatory&lt;/a&gt; column about one of my &lt;a href="http://grenouille-bouillie.blogspot.com/2007/09/shrug-of-resignation-in-physics.html"&gt;posts&lt;/a&gt;. If you have some time, read my post, then Lubos', and try to find any correlation between the two. For example, Lubos' first point presents me as supporting the idea that "&lt;em&gt;The goal of science is to wait for a "new Einstein" or a savior&lt;/em&gt;," when my own text precisely criticizes Lee Smolin's famous question &lt;a href="http://www.everythingimportant.org/relativity/no-new-einstein.pdf"&gt;Why is there no new Einstein&lt;/a&gt;. I'm still wondering how he could attribute me any of the ideas he seems to claim were mine in his ten bullets list...&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Salvador_Dalí"&gt;
&lt;img src="http://upload.wikimedia.org/wikipedia/en/d/df/Dream_Caused_by_the_Flight_of_a_Bumblebee_around_a_Pomegranate_a_Second_Before_Awakening.jpg" align="left" width="160"/&gt;&lt;/a&gt;

The first pages of the book left me with the same kind of feeling, the feeling you get when looking at a picture from Salvador Dali, that some people care more about their interpretation of beauty than about mundane things like reality or truth. It sure makes for great art, impossible visions of what could almost be, stuff that is &lt;a href="http://en.wikipedia.org/wiki/Notable_phrases_from_The_Hitchhiker's_Guide_to_the_Galaxy"&gt;almost, but not quite, entirely unlike tea&lt;/a&gt;. But in science, I don't think that it has as much value. I will illustrate this shortly.&lt;br/&gt;&lt;br/&gt;

Still, I refrained from writing this post immediately after reading the introduction (an ode to Lubos the Great that is in itself "worth its weight in peanuts", as we say in French). Instead, I chose to remain focused and read the book to the end. Although, for the first time in years, I read a book while scribbling all over it with a pencil. Ultimately, reading it through was the right thing to do, as some parts of the book are not entirely worthless.&lt;br/&gt;&lt;br/&gt;

However,  if you are interested in something else than Lubos' &lt;a href="http://motls.blogspot.com/2007/06/lee-smolin-vs-thibault-damour.html"&gt;passionate&lt;/a&gt; yet &lt;a href="http://backreaction.blogspot.com/2007/08/lubo-motl.html#c3330988792220739419"&gt;sterile&lt;/a&gt; debate about &lt;a href="http://en.wikipedia.org/wiki/String_theory"&gt;strings&lt;/a&gt; vs. the &lt;a href="http://motls.blogspot.com/2006/08/time-magazine-physics-is-sin.html"&gt;rest of the universe&lt;/a&gt;, I unfortunately have to recommend spending your 19€ elsewhere. And if Lubos' point of view interests you, there isn't much in the book that you won't find on &lt;a href="motls.blogspot.com"&gt;his blog&lt;/a&gt;. But since I realize I'm biased, I'll try to support this opinion with facts. And I'll try to keep these facts simple and verifiable, including by the "layman".&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The good&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/3/39/GodfreyKneller-IsaacNewton-1689.jpg" width="150" align="right"/&gt;&lt;/a&gt;
There are some relatively good things in this book if you are willing to sift through mud. The mandatory review of physics history in chapter 2 is much less intertwined with the primary topic of the book than, say, in Brian Greene's &lt;a href="http://en.wikipedia.org/wiki/The_Fabric_of_the_Cosmos"&gt;The Fabric of the Cosmos&lt;/a&gt;. But it has the redeeming quality that it shows the relationships between various physicists, illustrating "&lt;a href="http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants"&gt;standing on the shoulders of giants&lt;/a&gt;" better than many other "histories of physics".&lt;br/&gt;&lt;br/&gt;

Chapter 6, "&lt;em&gt;The strange adventure of the Bogdanovs&lt;/em&gt;", is probably the most interesting part in the book. It appeared slightly less surrealist than the rest of the work. It essentially argue that the Bogdanovs did not deserve the attacks they received, because even if their work is hard to follow (Lubos himself grants that he had trouble following it), their efforts seem a genuine attempt to contribute to physics rather than a malicious attempt to play some elaborate hoax on physicists. I'll refer the reader to what has been written on the subject. The &lt;a href="http://en.wikipedia.org/wiki/Bogdanov_Affair"&gt;Bogdanov affair&lt;/a&gt;, as it is now called, is a complex case of the sociology of science, and tempers certainly flared more than they should have.&lt;br/&gt;&lt;br/&gt;

Anyway, this chapter is especially good coming from Lubos, as it illustrates that he can sometimes show some balance and moderation in his writings.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The mediocre&lt;/h4&gt;

&lt;a href="http://blog.lib.umn.edu/perry032/impossible/cat_research_notes.html"&gt;&lt;img src="http://blog.lib.umn.edu/perry032/impossible/dummies2.png" width="150" align="left"&gt;&lt;/a&gt;
Unfortunately, these few nuggets are hard to find in a book that is, overall, mediocre, mostly because Lubos never seems to have decided who the target audience was. Is this an introductory book intended for laymen, as seems to be indicated by multiple footnotes like on page 61, explaining what a wave is, or a very vague explanation of what complex numbers are on page 156? Actually, Lubos himself calls his book the "100th vulgarization book on supergravity" on page 165...&lt;br/&gt;&lt;br/&gt;

But then, if it's an introductory book, the order is all wrong for this target audience. Lubos talk about topics such as black holes entropy and horizons on page 55 and 56, and again about information loss in black holes on page 89, and at several other places. And then, on page 125, a footnote finally tells us what a black hole is. Huh? Ah but wait, there's another such explanation on page 75! Confusing enough?&lt;br/&gt;&lt;br/&gt;

Similarly, Lie groups are introduced by a footnote on page 29 that finds it useful to illustrate this with "the Lorentz group SO(3,1)" and "SU(2)"... How can the layman have any idea what SO(3,1) or SU(2) might be? If at least there was a forward-reference to the page 165, where Lubos attempts to explain the importance of symmetries and Noether's theorem, but nope... One last example: why explain complex numbers on page 156 if the introduction insists on "imaginary time measured by imaginary numbers" and the lack of total order on the complex plane on... page 14!?!&lt;br/&gt;&lt;br/&gt;

And if the book is for a wide audience, some topics are pretty advanced for someone who would not know what waves or complex number are. For instance, how can such a person feel about the argument given on page 102, that there's a problem in &lt;a href="http://en.wikipedia.org/wiki/Loop_quantum_gravity"&gt;LQG&lt;/a&gt; because spectra of surface operators are not gauge invariant? Seriously?&lt;br/&gt;&lt;br/&gt;

The book also does not do a very good job at explaining anything. I invite the interested readers to contrast Lubos' explanation of the importance of correlated systems and (even if the name is not given) the EPR paradox on page 67 with that given by Brian Greene around pages 107-109 of "The Fabric of the Cosmos", and you will understand what I mean.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The bad&lt;/h4&gt;

&lt;a href="http://algo.inria.fr/AofA/Research/06-00.html"&gt;&lt;img src="http://algo.inria.fr/AofA/Research/src/wszpa-slices.jpg" height="150" align="left"/&gt;&lt;/a&gt;
So in general, the book does a very poor job addressing the layman. For someone with a little bit more knowledge, it's irritating to see various comments that are either overly simplistic or just plain wrong.  For instance, on page 157, another footnote argues that you need imaginary numbers to build a circuit breaker!&lt;br/&gt;&lt;br/&gt;

All too often, a moderately educated person like myself might expect to learn something, only to realize that he's been fooled once more. For example, on page 156, there is a footnote on Hopf algebra, that doesn't even begin to explain what they are, but basically tells us that Hopf played music with Einstein! Similarly, on page 103, the footnote about the hamiltonian constraint only vaguely tells us what the Hamiltonian is, but nothing about the constraint which seems to be the heart of the discussion. Fooled again!&lt;br/&gt;&lt;br/&gt;

And then, there are way too many plain errors. There's one I can't help but laugh about, because of Motl's insistence on calling me a "&lt;a href="http://motls.blogspot.com/2007/09/bad-physicists-and-populism.html"&gt;French programmer&lt;/a&gt;" in his blog, apparently with the intent to ridicule my ability to say anything about physics. On page 103, in a discussion about separable and non-separable Hilbert spaces, Lubos states that a bit can hold 256 values. Well, "everyone" knows that a bit contains 2 values, usually represented as 0 and 1, and that it takes 8 bits to make a byte, which does indeed represent 2&lt;sup&gt;8&lt;/sup&gt;=256 values. But then, being able to work on computers is apparently a bad thing for Motl, who describes &lt;a hre="http://en.wikipedia.org/wiki/Peter_Woit"&gt;Peter Woit&lt;/a&gt; as being merely "in charge of computer systems" at Columbia University, on page 33...&lt;br/&gt;&lt;br/&gt;

That's not the only such major error. On page 55, he writes that if you ever see a cup of cold coffee warm up while the table cools down, you can immediately call the French Academy of Science. Well, maybe I should, because that's exactly what happens whenever the table is hotter than the coffee cup. I did not add the word "cold" before "coffee", Lubos did, but I strongly suspect he intended to write "hot coffee". On page 72, Lubos states that Einstein should in no way be held responsible for nuclear weapons. This is simply not true: Einstein's &lt;a href="http://hypertextbook.com/eworld/einstein.shtml"&gt;letters&lt;/a&gt; were highly influential on the decision to develop the first A-bomb, irrespective of Einstein's later regrets (he called this his "greatest mistake"). There is a mention of "the european GPS and Galileo" on page 77 (&lt;a href="http://en.wikipedia.org/wiki/Galileo_positioning_system"&gt;Galileo&lt;/a&gt; &lt;em&gt;is&lt;/em&gt; the european GPS). On page 157, Lubos apparently attributes the invention of complex numbers to &lt;a href="http://en.wikipedia.org/wiki/Hero_of_Alexandria"&gt;Hero of Alexandria&lt;/a&gt;, which is &lt;a href="http://en.wikipedia.org/wiki/Complex_number#History"&gt;stretching the truth&lt;/a&gt;, to say the least.&lt;br/&gt;&lt;br/&gt;

This leaves the impression of a book that was barely proofread, an impression in stark contrast with the surprising self-promoting tidbit Lubos gives us on page 122, that for his greatest pleasure, he had reported 120 errors in a book by &lt;a href="http://en.wikipedia.org/wiki/Joseph_Polchinski"&gt;Joe Polchinski&lt;/a&gt;, who he essentially describes as a failed perfectionist. Instead of embarassing Polchinski, Lubos might have wanted to spend a little more time improving the quality of his own writings!&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The ugly&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Troll_%28Internet%29"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/2/23/Troll.jpg" width="150" align="right"&gt;&lt;/a&gt;
But the worst aspect of the book is, without a doubt, that it seems to be a barely disguised excuse to attack other physicists and indulge in more of the sterile debate that opposes Lubos Motl and people like Peter Woit or Lee Smolin. Living in France, I hoped I might have a chance to evade that dispute. Too bad. Most of chapter 4, for example, is dedicated to this. This would be legitimate if it was on topic. But it's not, and Motl instead resorts to sneak tactics, name calling, all techniques that made him a &lt;em&gt;&lt;a href="http://backreaction.blogspot.com/2007/08/lubo-motl.html"&gt;persona non grata&lt;/a&gt;&lt;/em&gt; in so many places.&lt;br/&gt;&lt;br/&gt;

Let me put it this way: I like the Bogdanov brothers, not for their self-promotion or for their theories, but because I loved their TV shows. And I feel almost sorry for them that Lubos Motl used their names and pictures. With the Bogdanovs on the front cover, the book is almost guaranteed to sell at least a little in France, since the Bogdanov entertained so many of today's adults back when they were kids.&lt;br/&gt;&lt;br/&gt;

But for what? A book in which Lubos Motl talks less about the Bogdanovs than about the alleged damage that Lee Smolin or Peter Woit made to physics, and why all these folks are (in Motl's view) idiots. I mean: who cares? If a book was ever going to restore the scientific credit of the Bogdanovs, that's certainly not it, and it's too bad, because on that point, Lubos might be right. But if he wanted to support to the Bogdanovs, he would have been well inspired to focus on their work and very temporarily put aside his personal griefs, at least for the time it took him to write the book. But even that was apparently too much to ask!&lt;br/&gt;&lt;br/&gt;

&lt;b&gt;Update&lt;/b&gt;: For the french readers who would be tempted to believe the arguments of Lubos Motl that loop quantum gravity is reintroducing aether, there's an excellent answer to this very question from Prof. Rovelli (in French) in this &lt;a href="http://www.cite-sciences.fr/francais/ala_cite/college/04-05/conferences/01-05-einstein/03-rovelli/index.htm"&gt;conference&lt;/a&gt;. The question is asked from the audience at 1h08m15s into the video.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;All kinds of invalid proofs&lt;/h4&gt;
Another thing that I find particularly ugly is the vast collection of &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html"&gt;invalid techniques of proof&lt;/a&gt; Professor Lubos managed to accumulate in a single book. This is particularly annoying for someone who, to do his job well, is supposed to be capable of some seriously solid reasoning. But even the average "layman" is going to be annoyed by all the bogus arguments. Here are a few examples:

&lt;ul&gt;
&lt;li&gt;On page 28, we have a pretty long &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html#1.10Proofbyeminentauthority"&gt;proof by eminent authority&lt;/a&gt;, citing names like &lt;a href="http://en.wikipedia.org/wiki/André_Lichnerowicz"&gt;André Lichnerowicz&lt;/a&gt; (and, as if this was not enough, &lt;a href="http://en.wikipedia.org/wiki/Élie_Cartan"&gt;Élie Cartan&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Sophus_Lie"&gt;Sophus Lie&lt;/a&gt;) to give credit to the Bogdanovs. I do not dispute that having a guy like Lichnerowicz recommend the Bogdanovs to their advisor, Moshe Flato, is probably a good sign for them. But you have to remember that this is not enough, in particular in a French context where both Lichnerowicz and the Bogdanovs were celebrities. This reverence to names is spread throughout, including in the way he calls the everyday scale of things the "Planck-Einstein scale", by averaging the "Planck scale" of very small things with the "Einstein scale" of very big stuff.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;On page 94, a &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html#3.8Proofbypartialenumeration"&gt;proof by partial enumeration&lt;/a&gt;, namely that candidate theories fall into the theories that have not been proven and the theories that have been proven false. This eliminates the most important category, theories where people are still debating. And whether Lubos likes it or not, both string theory and the "atoms of space theories" (to use his bizarre terminology) fall into that category more than in others.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;On page 97, we have both a &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html#1.17Proofbymutualreference"&gt;proof by mutual reference&lt;/a&gt; (since Lubos cites his own blog to make a point), and a good case of &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html#1.20Proofbyvehementassertion"&gt;proof by vehement assertion&lt;/a&gt; (quoted directly &lt;a href="http://motls.blogspot.com/2004/10/lee-smolin-trouble-with-physics-review.html"&gt;from the blog&lt;/a&gt;, rather than translated back from French): 

&lt;blockquote&gt;First of all, Lee reveals his intense hostility against all of modern physics, not just string theory. He believes that quantum mechanics must be wrong at some fundamental level and many people should try to prove it. He also believes that the attempts to falsify the theory of relativity are among the most important topics to work on.&lt;/blockquote&gt;

This attack is all the more surprising because Motl himself writes on page 83, about general relativity: "&lt;em&gt;the existence of infinities reminds us that we may not have learned our lesson well&lt;/em&gt;, and then suggests that either &lt;em&gt;we asked the wrong question&lt;/em&gt;, or &lt;em&gt;our theory is wrong&lt;/em&gt;. He then follows on to point similar problems in quantum mechanics. So how is that different from this bad attitude Lee Smolin allegedly has towards "&lt;em&gt;modern physics&lt;/em&gt;"? Are the two guys in violent agreement here or what?&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;On page 111, we have a &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html#1.24Proofbyappealtointuition"&gt;proof by appeal to intuition&lt;/a&gt;, where we are supposed to believe that LQG is an invention, as opposed to a discovery, making the LQG researchers roughly comparable to a Thomas Edison, complete with a footnote about who Thomas Edison is, in case anybody on Earth doesn't know! So... LQG is much like Thomas Edison's inventions? Says who? Why? How?&lt;/li&gt;

&lt;/ul&gt;

These are only examples. Finding more is left as an exercise for the reader...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;True lies&lt;/h4&gt;

&lt;a href="http://politalk1.blogspot.com/2006/04/lies-damn-lies-and-george-w-bush.html"&gt;&lt;img src="http://tropicalboy.m6blog.fr/images/medium_true-lies.jpg" width="150" align="right"/&gt;&lt;/a&gt;
If this was not enough to completely bury that book, there is more, unfortunately. There are various statements in the book that cannot be mere errors, but can only be considered willful &lt;em&gt;lies&lt;/em&gt;. The best illustration is a quote on page 151. In the context, the quote, from a referees, is clearly intended to give some credence to the Bogdanov's idea that a topological field theory is just the thing to describe the early universe. Here is Lubos Motl's version:

&lt;blockquote&gt;I can accept that in the limit of infinite temperature, 
contact can be made with a  topological phase of some field theory&lt;/blockquote&gt; 

Doesn't this sound as if the guy agreed with the Bogdanovs? Well, fortunately, I have a relatively good memory, and even if the quote is in French in the book, I remembered reading that sentence, so it was just a matter of tracking it down. You can find the complete referee report, helpfully not provided by Lubos Motl, &lt;a href="http://math.ucr.edu/home/baez/bogdanoff/bogdanof3.pdf"&gt;here&lt;/a&gt;. And here is the non-truncated version, which you probably would agree sounds much less supportive of the Bogdanovs:

&lt;blockquote&gt;(5) I can accept that in the limit of infinite temperature, 
contact can be made with a  topological phase of some field theory 
(the type of field theory needs to be elaborated on however). The 
crucial question, however, is how does the initial topological phase 
break down to a universe we see today. It would be of great interest 
if the authors' could at least worry about this issue. &lt;/blockquote&gt;

&lt;h4&gt;And the little things&lt;/h4&gt;

Is there more? Well, I think that the rest goes without saying, knowing Motl. There are insults, for example on page 134, where Motl says that he spoke with Lee Smolin numerous times, and that they always had "interesting and peaceful discussions" (&lt;a href="http://nige.wordpress.com/2006/08/31/assistant-professor-lubos-motls-disgraceful-attack-on-lee-smolin/"&gt;sic&lt;/a&gt;!), but that "each time we were getting close to the answer to a crucial question, his spirit evaporated in the clouds". Uh oh! I picked up this one because I thought it was funny, but there are others.&lt;br/&gt;&lt;br/&gt;

There's also a rather usual dose of self-promotion (and Lubos is in good company with the Bogdanovs here, if I may give a personal opinion). On page 105, Lubos calls himself a messiah. On page 134, he compares himself to Einstein, specifically referring to himself as another guy from the patent office. On page 143, he mentions the IQ of the "Zweistein", which they allege is about 210, in a sentence where he presents himself as the new Max Planck. Literally, it reads: &lt;em&gt;By the way, if you bought this book in the hope that a new Max Planck - me in that case - would present the two new Einsteins (the "Zweistein" if you will), well, too bad&lt;/em&gt;". So much modesty in so little space!&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Getting physics out of the hole&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Black_hole"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/c/cd/Black_Hole_Milkyway.jpg" align="right" width="200"&gt;&lt;/a&gt;

Let me finish this review on a slightly less negative note. On page 188, there is a nice long note about the right processes to follow to identify truly innovative ideas in physics. It's actually not from Motl, he simply quotes &lt;a href="http://www.mail-archive.com/everything-list@eskimo.com/msg04066.html"&gt;Dr Osher Doctorow&lt;/a&gt;, but there are interesting things in there. One I found particularly interesting, is that true creativity is identified by looking at folks who do not just follow, but go one step ahead of the pack. OK, I realize it sounds obvious, but the point being made is really that it's hard for the pack to judge those who are already ahead. This is one reason why I &lt;a href="http://grenouille-bouillie.blogspot.com/2007/03/advocating-non-anonymous-peer-review.html"&gt;advocate&lt;/a&gt; a more "open-source" approach to peer reviews.&lt;br/&gt;&lt;br/&gt;

This question interests me. Readers of this blog, if there is any, may know that I have my own &lt;a href="http://physics.dinechin.org/tim.pdf"&gt;pet theory&lt;/a&gt;, and that even if I believe it's dead simple compared to the kind of ideas the Bogdanovs are working on, I still seem to have an extraordinarily &lt;a href="http://grenouille-bouillie.blogspot.com/2008/02/intelligent-review-of-tim.html"&gt;hard time&lt;/a&gt; getting the point across to any physicist. For example, if Lubos seems to have no problem with the idea that near the singularity, the description of space-time is entirely topological (i.e. there is no "distance"), or even that space-time reduces to "pure information", whatever that means (page 25), or that there is a lower physical limit to distance (the Planck scale), he still insists that any theory where space-time is not continuous is absurd, for instance on page 102. In my experience, that kind of "historical" position is frequent among physicists.&lt;br/&gt;&lt;br/&gt;

I hold the exactly opposite view. If there is a minimum length in physics, and if all our physical measurements give results that are not even countable, but actually finite, don't we need to build that into physics? Isn't there a clear contradiction between "continuous" and "smallest physical distance"? In other words, if it's truly a continuum, shouldn't we be able to find a physical meaning for a distance of 10&lt;sup&gt;-250&lt;/sup&gt;m? That question is essentially the foundation of my "&lt;a href="http://physics.dinechin.org/tim.pdf"&gt;theory&lt;/a&gt;".&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;A non-local theory of creativity&lt;/h4&gt;
But since I'm an outsider, I keep asking myself the question: do my ideas make sense, or am I just delusional. In other words, do I have problems getting the point across because I'm ahead of the pack, or because I'm lost in the woods? As Lubos points out, it's easy to tell in retrospect, but when you are in the middle, it's much harder. Related question: assuming my ideas &lt;em&gt;do&lt;/em&gt; make sense, do I stand a chance of getting the point across someday? Lubos argues on pages 197 and 198 that being an outsider is not necessarily a bad thing. He also reminds us, on pages 177-179, that big guys like Einstein or Heisenberg, had to fight initially. Of course, it would be better if this call for an open-minded approach to physics was not so clearly &lt;a href="http://motls.blogspot.com/2007/09/bad-physicists-and-populism.html"&gt;contradicted&lt;/a&gt; by Lubos' attitude...&lt;br/&gt;&lt;br/&gt;

Anyway, Lubos and I share at least two things: the same birthdate, and a desire to contribute something to physics. Of course, it's obvious that just thinking you have something to say is not enough. To paraphrase the Calvin cartoon characters, "&lt;em&gt;You know Einstein had bad grades in math? Well, mine are even worse!&lt;/em&gt;" So it's entirely possible, and not even improbable, that my ideas about physics are simply bogus. However, for the moment, I'm still waiting for any solid rebuttal of what I already wrote. From what I can tell, it looks more like I'm in the "&lt;em&gt;nobody cares&lt;/em&gt;" category rather than in the "&lt;em&gt;patently idiotic&lt;/em&gt;" category. Ah, delusion... That's what keeps me alive.&lt;br/&gt;&lt;br/&gt;

Actually, another thing that gives me hope is that, in my own field, I think it is fair to say that I have shown some creativity, both &lt;a href="http://grenouille-bouillie.blogspot.com/2007/10/dawn-of-3d-games.html"&gt;when I was young&lt;/a&gt; and &lt;a href="http://grenouille-bouillie.blogspot.com/2008/02/concept-programming-article.html"&gt;more recently&lt;/a&gt;. Maybe, just maybe, having shown some creativity in one field means you might be able to show the same creativity at another place. And if I have &lt;a href="http://en.wikipedia.org/wiki/Alpha_Waves"&gt;beaten&lt;/a&gt; someone like &lt;a href="http://en.wikipedia.org/wiki/John_D._Carmack"&gt;John Carmack&lt;/a&gt; in the race to the &lt;a href="http://www.idsoftware.com/games/vintage/hovertank/"&gt;first 3D videogame&lt;/a&gt;, maybe I can beat someone like Lubos Motl in the race to the next big idea in physics...&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;The KISS principle (Keep It Simple, Stupid!)&lt;/h4&gt;

But the key thing in my ideas which, I think, is in sharp contrast with Lubos' approach to physics, the key thing that differentiates the Salvador Dali school of physics in which Lubos excels from the Thomas Edison school of physics that I'd much rather belong to, it's the clarity of the questions and answers.&lt;br/&gt;&lt;br/&gt;

As Einstein once &lt;a href="http://www.quotedb.com/quotes/1360"&gt;said&lt;/a&gt;: &lt;em&gt;Make everything as simple as possible, but not simpler&lt;/em&gt;. A good test is: do your questions and answers make sense to the layman? Einstein or Feynman were really good at that game. It's a point I &lt;a href="http://grenouille-bouillie.blogspot.com/2007/09/why-are-there-no-computer-science.html"&gt;already made earlier on this blog&lt;/a&gt;. In the present case, I think it strongly speaks in my favor:

&lt;ul&gt;
&lt;li&gt;Lubos asks questions like "can the signature of the metric fluctuate around the Planck scale", or "are homology cycles in the moduli space of gravitational instantons the right way to represent observables at the beginning of the universe". He answers things like: "who can say this won't be the right answer in 2030" (page 144), and he calls that "research". I'm really tempted to call that a &lt;a href="http://www.maths.uwa.edu.au/~berwin/humour/invalid.proofs.html#1.7Proofbyobfuscation"&gt;proof by obfuscation&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;

&lt;li&gt;At least from my own biased point of view, my own questions seem much simpler. Things like: "&lt;em&gt;why would an invert square law like gravitation or electromagnetism remain an inverse square law when we change the definition of distance&lt;/em&gt;" (specifically, from measuring it with &lt;a href="http://en.wikipedia.org/wiki/Metre#Prototype_metre_bar"&gt;solid rods&lt;/a&gt; to measuring it with &lt;a href="http://en.wikipedia.org/wiki/Metre#Standard_wavelength_of_helium-neon_laser_light"&gt;light waves&lt;/a&gt;). And my &lt;a href="http://cc3d.free.fr/tim.pdf"&gt;answer&lt;/a&gt; is: "because we calibrate the two definitions to match", which raises another question: "does that calibration hold for all values, at all scales". No part of these questions or answers is something that the laymen can't understand. I'm not trying to obscure things behind layers and layers of jargon.&lt;/li&gt;

&lt;/ul&gt;

Now, I believe that my questions and answers may hold a key to putting physics back in shape in the coming century. And I believe that Lubos' questions and answers only confuse things a little further. Again, that's the difference between the Salvator Dali and the Thomas Edison schools of physics. Of course, I may be wrong, but I'm afraid you'll have to prove it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8570919462777539772?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8570919462777539772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8570919462777539772' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8570919462777539772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8570919462777539772'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/lequation-bogdanov-salvator-dali-school.html' title='L&apos;equation Bogdanov: The Salvador Dali school of physics'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4ruQ7t4zrFA/R5ngPZQMryI/AAAAAAAAAQc/CUrfUfeykBs/s72-c/9782750903862.jpg' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8964994634269031395</id><published>2008-03-03T10:11:00.003+01:00</published><updated>2008-03-05T14:02:01.708+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='HP Integrity VM'/><title type='text'>A nice graph...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s1600-h/Xen+vs.+HPVM+-+Public.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s320/Xen+vs.+HPVM+-+Public.gif" alt="" id="BLOGGER_PHOTO_ID_5173813765365107634" border="0" /&gt;&lt;/a&gt;

It's not often that I post about &lt;a href="http://www.hp.com/go/integrityvm"&gt;my work&lt;/a&gt;, in part because this is a personal blog, in part because I don't want to leak any information that would benefit our competitors, or be incorrectly interpreted by our customers.&lt;br/&gt;&lt;br/&gt;

But the graph on the right is an exception, because I was really happy to get that result. I am not really at liberty to tell what the graph represents, except that it's a performance benchmark testing the behavior of &lt;a href="http://www.hp.com/go/integrityvm"&gt;HP Integrity VM&lt;/a&gt; and comparing it against a native machine and two variants of a competiting product generally praised (including inside HP) for its superior performance. Well, Integrity VM is the set of reddish curves, which means we behave pretty well, and that makes me quite happy. Hey, sometimes killing hype with hard data is all it takes to make my day...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8964994634269031395?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8964994634269031395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8964994634269031395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8964994634269031395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8964994634269031395'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/03/nice-graph.html' title='A nice graph...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UnfX9_V6JCc/R80UNSKdC7I/AAAAAAAAAA0/nejytuWJzRc/s72-c/Xen+vs.+HPVM+-+Public.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2525797292859457348</id><published>2008-02-18T18:42:00.005+01:00</published><updated>2008-02-18T18:52:22.282+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><title type='text'>Concept Programming Article</title><content type='html'>There is an &lt;a href="http://www.regdeveloper.co.uk/2008/01/16/concept_programming/"&gt;article about concept programming&lt;/a&gt; at El Register. Not only that, but Phil Manchester did a pretty good job of summarizing our conversation. I thought I was speaking too quickly, and I sort of expected him to call back and ask a few questions. Since he had not done so, I thought he had simply given up on the idea for the moment.&lt;br/&gt;&lt;br/&gt;

Some comments are interesting. I'll start with the positive ones, it's good for the morale. James Anderson wrote:

&lt;blockquote&gt;I read the article expecting the usual Computer Science giberish and the usual calling old ideas with new names.&lt;br/&gt;&lt;br/&gt;

But actually I was rather impressed. First of there is a real appreciation of what was good in C, Algol, Pascal and a serious attempt to hold on to the good stuff and improve it. Also a serious look at what went wrong with the C++ Java etc.&lt;br/&gt;&lt;br/&gt;

The resulting XL language looks nice and whats more it looks usable.&lt;br/&gt;&lt;br/&gt;

The bit people seem to have trouble getting thier head around is the generics and the IMHO very wonderful "written as" syntax. But generics are a mine field anyway and the XL approach is definately better than the C++ or Java (C++ generic are unreadable and undebugable, my forst impresion of java genrerics is that you end up with more code than if you wrote a method for each signature!). And the "written as" is something completely new (at least to me!).
&lt;/blockquote&gt;

Indeed, I believe that I invented the &lt;tt&gt;written&lt;/tt&gt; keyword in XL (of course, I might be wrong). And of course, I hope that it's useful. For those who don't know, it's a generalized form of operator overloading, which lets you define for example stuff like &lt;tt&gt;A+B*C&lt;/tt&gt; and "reduce it" to a function call. Hence the official name, "&lt;em&gt;expression reduction&lt;/em&gt;".&lt;br/&gt;&lt;br/&gt;

Naturally, not all comments were just as nice. But for the bad publicity, you'll have to follow the link... ;-)&lt;br/&gt;&lt;br/&gt;

Also of note: a link to a language called &lt;a href="http://www.iolanguage.com"&gt;iolanguage&lt;/a&gt;, which one of the comments claimed is similar to XL. But as far as I can tell, this is certainly not a concept-oriented language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2525797292859457348?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2525797292859457348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2525797292859457348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2525797292859457348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2525797292859457348'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/02/concept-programming-article.html' title='Concept Programming Article'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2388851722507483621</id><published>2008-02-18T18:17:00.003+01:00</published><updated>2008-02-18T18:20:41.842+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='peer reviews'/><title type='text'>Peer reviews...</title><content type='html'>Bee has posted a number of comments on peer reviews lately, notably &lt;a href="http://backreaction.blogspot.com/2008/02/peer-review-iii.html"&gt;this one&lt;/a&gt;, which reports about a survey made among scientists. The summary is that the majority feel that peer reviews are necessary, but that the majority also would like to see them improve (notably regarding timing).&lt;br/&gt;&lt;br/&gt;

Another nice link I found on BackReaction was &lt;a href="http://www.insna.org/pdfs/Power.pdf"&gt;this presentation&lt;/a&gt;. Food for thought.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2388851722507483621?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2388851722507483621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2388851722507483621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2388851722507483621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2388851722507483621'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/02/peer-reviews.html' title='Peer reviews...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2985262525953782815</id><published>2008-02-17T13:47:00.030+01:00</published><updated>2008-02-20T07:37:31.457+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='peer reviews'/><title type='text'>An intelligent review of the TIM</title><content type='html'>An anonymous reader wrote an interesting &lt;a href="http://grenouille-bouillie.blogspot.com/2007/05/another-theory-of-everything.html#c1454241459379485832"&gt;comment&lt;/a&gt; about my own pet theory (which I called &lt;a href="http://physics.dinechin.org/tim.pdf"&gt;theory of incomplete measurements&lt;/a&gt;, or TIM for short). This anonymous comment exemplifies both what I like and what I dislike about physics discussions these days:

&lt;ul&gt;
&lt;li&gt;On one hand, it gives honest feedback, both positive and negative, and this hints at the kind of exchange of ideas that I enjoy when discussing with knowledgeable people. For instance, the anonymous reader cites a number of relevant sources, and makes a number of intelligent objections to my work.&lt;/li&gt;

&lt;li&gt;On the other hand, I cannot imagine any good reason why this reader would choose to remain anonymous, only bad ones. Too much work? The risk of backlash if anybody knew this person dedicated any time to fringe physics? A fear of true, bi-directional discussion? Whatever his reasons were, I suspect that I would not find it admirable.&lt;/li&gt;
&lt;/ul&gt;

I first wrote a &lt;a href="http://grenouille-bouillie.blogspot.com/2007/05/another-theory-of-everything.html#c6658564509562724142"&gt;quick reply&lt;/a&gt;, but I think that this comment demands a more prominent answer.&lt;br/&gt;&lt;br/&gt;

&lt;hr&gt;&lt;br/&gt;&lt;br/&gt;

Below are excerpts from the anonymous reader's comment, which I will hereby refer to as "Dr. Anonymous", with my thoughts (not necessarily answers) inserted.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;A theory, or just a descriptive framework?&lt;/h4&gt;
&lt;a href="http://xkcd.com/171/"&gt;&lt;img align="right" src="http://imgs.xkcd.com/comics/string_theory.png" width="200"/&gt;&lt;/a&gt;
&lt;blockquote&gt;1. The title would be better as "A general framework for describing physical measurements", as this is all that is provided. Theories are rather more specific than what is given, and make predictions.&lt;/blockquote&gt;

The obvious implication here is that my choice of title is a bit too grandiose and that the article delivers too little to merit such a title. But is it really true that the article only provides a framework for describing physical measurements? Is it true that it makes no predictions?&lt;br/&gt;&lt;br/&gt;

Granted, I never intended the TIM to be some theory of everything.  What it is is a theory of &lt;em&gt;measurements&lt;/em&gt;. What you need for this is to make predictions about measurements, not about gravitation or bananas. Otherwise, it would be called a theory of gravitation or a banana theory... However, with respect to measurements, the TIM does a number of predictions, starting I believe with equation (9) in the article. Most of these predictions may be qualitative or physical instead of mathematical or numerical. But that does not make them any less predictive, and it does not make them any less falsifiable, which is the most important thing for progress in science.&lt;br/&gt;&lt;br/&gt;

In particular, I can think of at least three predictions that are apparently suprising, if not shocking, to most physicists who commented about my paper. Specifically, according to the TIM:

&lt;ul&gt;
&lt;li&gt;All our measurements of space-time can be reduced to properties of electromagnetic interactions (roughly, counting wave-fronts of electromagnetic waves).&lt;/li&gt;

&lt;li&gt;It does not make sense to normalize the wave-function on a continuum ranging from "minus infinity" to "plus infinity", the correct way being to normalize it on a discrete sets of points that are in a time-like connected region. In particular, there is no such thing as an "instantaneous collapse" of the wave function.&lt;/li&gt;

&lt;li&gt;The laws of general relativity and quantum mechanics are not absolute, but depend on specific choices of physical measurement. In particular, two measurements with distinct resolutions may give distinct metrics. This is a generalization of the "scale relativity principle" dear to Laurent Nottale.&lt;/li&gt;
&lt;/ul&gt;


&lt;blockquote&gt; theories can either can be fitted or not be fitted into the particular framework given.&lt;/blockquote&gt;

Isn't it useful enough to have a relatively simple framework where both general relativity and quantum mechanics can be fitted?

&lt;blockquote&gt;Other frameworks are often less general, including, for example, 'quantum' logic (measurements represented by propositions), W*-algebras (measurements represented by algebras with a 'complete' set of idempotent elements), and convex set theory (states represented by convex linear measures) - see, eg, Hans Primas, "Chemistry, quantum mechanics and reductionism" (Springer), and Stanley Gudder's "Stochastic quantum mechanics", for overviews. However, more general approaches, at similar levels to your own, are the operational frameworks of Guenther Ludwig and of Charlie Randall and David Foulis - see, eg, the references at &lt;a href="http://plato.stanford.edu/entries/qt-quantlog/"&gt;http://plato.stanford.edu/entries/qt-quantlog/&lt;/a&gt; .&lt;/blockquote&gt;

All these are interesting references. I've only scanned through those available on the web. But the main articles of Randall and Foulis for example require a subscription that I don't have.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Personal gratification, or improvement of the collective understanding?&lt;/h4&gt;

&lt;a href="http://www.gravestmor.com/wp/archives/2005/12/12/lego-escher/"&gt;&lt;img align="right" width="200" src="http://www.gravestmor.com/strips/escher%20lego.jpg"/&gt;&lt;/a&gt;
&lt;blockquote&gt;2. The paper is sincerely and honestly written, and often quite well written, and clearly the ideas have provided you with a personally satisfactory way of thinking about physical phenomena.&lt;/blockquote&gt;

It is true that I was looking for an understanding of physics I would be satisfied with. But having made some progress, I hope to offer a way of thinking that is also satisfactory to others. It's a worthy goal too. Last time I checked, there were over 2 million &lt;a href="http://www.google.com/search?q=quantum+measurement+problem"&gt;Google hits&lt;/a&gt; on "quantum measurement problem". That can only mean that I'm not alone being dissatisfied with the "mainstream" way of thinking about physical phenomena.

&lt;blockquote&gt;However, there is often little more than this to be achieved by embedding known theories into a particular framework unless they (i) suggest better theories, and/or (ii) allow better 'understanding' of known theories.&lt;/blockquote&gt;

The TIM does suggest better theories. It suggests a theory of relativity that would explicitly incorporate an additional parameter specifying how the measurement is done. This is pretty much what Nottale's scale relativity or doubly-special relativity boil down to when looked at from a TIM point of view. The TIM also suggests an extended quantum mechanics where space-time coordinates do not commute and are discretized. Aren't these suggestions enough for starters?&lt;br/&gt;&lt;br/&gt;

More imporantly in my view, the TIM also allows better understanding of known theories. Or, more precisely, it provided &lt;em&gt;me&lt;/em&gt; with a so far more satisfactory illusion of better understanding, but as I wrote in my reply, it may just be that ignorance is bliss... Anyway, if I understood things correctly, the TIM shows for example that the "collapse of the wave function" is a necessary consequence of the fact that we demand repeatability from our measurements. One of the meanings of "theory of incomplete measurements" is that it suggests a theory for when measurements do not collapse instantaneously, or perfectly. That is yet another "better theory" that the TIM suggests.&lt;br/&gt;

&lt;blockquote&gt;Point (i) is the important one, as point (ii) is quite subjective - for example, one person's interpretation of QM is very often another person's anathema!&lt;/blockquote&gt;

I would argue that "one person's interpretation of QM is very often another person's anathema" is a &lt;em&gt;bad thing&lt;/em&gt;. Isn't it embarassing for physics that QM is not defined sharply enough to leave room for multiple conflicting interpretations? After all, there is very little room for interpretation in Newton's second law, or in Ohm's law. So why do we need an interpretation of quantum mechanics at all?&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Somebody_Else's_Problem_field"&gt;&lt;img src="http://www.kunstler.com/bike_railroad%20tracks.jpg" align="left" width="200"/&gt;&lt;/a&gt;
Here, I apparently disagree somewhat strongly with Dr. Anonymous. Point (ii) is probably the most important one for quantum mechanics, because QM is not clearly understood yet, and that ought to be fixed. The TIM might be a step in the right direction, or maybe not. But at least, it's an attempt to address this problem.&lt;br/&gt;&lt;br/&gt;

Dr. Anonymous is in &lt;a href="http://grenouille-bouillie.blogspot.com/2007/10/pointing-out-obvious.html"&gt;very good company&lt;/a&gt; here. The problem of unambiguously interpreting quantum mechanics has resisted physicists for 80 years. So now it's more commonly qualified of "philosophical" or "uninteresting". In other words it became what Douglas Adams called &lt;a href="http://en.wikipedia.org/wiki/Somebody_Else's_Problem_field"&gt;Somebody Else's Problem&lt;/a&gt;... Well, maybe it does not interest mainstream physicists. Maybe, actually, you need to be able to ignore the problem to become a mainstream physicist. But it definitely interests me. And it is definitely relevant to modern physics.

&lt;blockquote&gt;Since no better theories are in fact suggested, the content of the paper has only subjective significance - this is not necessarily a bad thing, but it does make it more of interest to philosophers rather than to mainstream physicists such as myself. Similar comments apply to the operational frameworks mentioned above.&lt;/blockquote&gt;

I explained why I disagree with the assertion that no better theories are suggestd. But it is interesting that the final objective of all this discussion is to kick the TIM outside of "mainstream physics" into the lower realm of "philosophical interest only" with severely restricted "subjective significance only". This is a pretty good way to invalidate the whole thing.&lt;br/&gt;&lt;br/&gt;

But the TIM has a physical significance that I think is not so easily dismissed. It shows that practically any equation in quantum mechanics or general relativity is only an approximation. And it tells physicists how to fix that. That's a pretty broad challenge, and you cannot address this challenge by saying that the problem is only subjective. It is not a subjective issue that our laws of physics were not rewritten when we changed the definition of the metre from a reference solid to some distance travelled by light during such and such time. Why not? What makes a 1/r^2 law relative to a solid rod remain a 1/r^2 law relative to a ray of light? Seriously, is this a subjective question?&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Is it OK to disagree with Einstein on general relativity?&lt;/h4&gt;

&lt;blockquote&gt;3. I have little to remark on the relativity sections, as my only disagreements are at the 'philosophical' level - eg, I would have given Einstein a little more credit for physical justification of GR (principle of equivalence, and the recognition of curvature effects in SR from a mass rotating about a fixed point);&lt;/blockquote&gt;

Actually, I do give credit to Einstein for these "physical justification", only to explain why I believe they are not valid. So, despite a lot of admiration for Einstein, I simply point out a couple of logical flaws in the reasoning. It's not flaws in the mathematical results, fortunately, but conclusions that do not follow from the initial statements.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://math.ucr.edu/home/baez/physics/Relativity/SR/rigid_disk.html"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/7/79/Helicoid.PNG" align="right" width="200"/&gt;&lt;/a&gt;
The recognition of curvature effects in special relativity from a mass rotating about a fixed point is the easiest to explain. If a mass rotates about a fixed point, there will be a contraction along the path it follows, but not along the radius joining the mass to the central point. In other words, the ratio of circumference to radius is not 2pi, it's a little less. See &lt;a href="http://math.ucr.edu/home/baez/physics/Relativity/SR/rigid_disk.html"&gt;this page&lt;/a&gt; for a more modern discussion than my reference [12].&lt;br/&gt;&lt;br/&gt;

My objection to this is that you define a 3D surface that is curved, namely the 4D helicoid corresponding to the area that the radius covers over time. But we all know that you can find a 2D surface, like an helicoid or a sphere, in a 3D space, without necessarily inducing a "curvature effect" on the 3D space. In other words, the rotating mass in special relativity is not sufficient to imply a 4D non-euclidean geometry.&lt;br/&gt;&lt;br/&gt;

Again, there is nothing "philosophical" about this. It's a discussion of whether there is a flaw of logic in the original reasoning, as I think there is, or not.&lt;br/&gt;&lt;br/&gt;

&lt;blockquote&gt;writing down the local Minkowski metric or geodesic equation does not give them any physical significance per se;&lt;/blockquote&gt;

That is true. In the context where they are written in the TIM, the only point is to connect the traditional notation to the TIM notation, and to show why they are compatible.&lt;br/&gt;&lt;br/&gt;

&lt;blockquote&gt;the two-slit experiment is a poor justification for curved spacetime&lt;/blockquote&gt;

It is part of a series of observations to show that light rays are a poor foundation to build an euclidean geometry on. I think that it is a better justification to say: "we don't know how to build an euclidean geometry because the closest we have is not euclidean in this and that case" than to incorrectly infer that a 3D curved surface implies a 4D curved space-time. But that's just the biased opinion of someone who saw a logical flaw in the generally accepted justification, and spent some serious time finding a justification he thought might be less flawed to salvage the beautify theory of general relativity.&lt;/br&gt;&lt;br/&gt;

&lt;blockquote&gt;and the existence of the Planck length could just as well be used to argue against instead of for scale invariance of physical laws.&lt;/blockquote&gt;

&lt;a href="http://luth2.obspm.fr/~luthier/nottale/ukrechel.htm"&gt;&lt;img src="http://cc3d.free.fr/SylvainPoirier_files/Picture%201.jpg" align="left" width="200"/&gt;&lt;/a&gt;
This is how it is used in the TIM. If there is a scale-invariant constant in physics, a scale-invariant physics requires a pretty serious rethinking, similar to what Laurent Nottale attempted with his &lt;a href="http://luth2.obspm.fr/~luthier/nottale/ukrechel.htm"&gt;scale relativity&lt;/a&gt;. Again, this is a pretty serious issue that one cannot just paper over with a "philosophical question - dismissed" sticker... :-)&lt;br/&gt;&lt;br/&gt;

But the majority of "mainstream physicists" are just not ready to make their space-time fractal, as this kind of theory apparently demands. And they are probably right that a lot of assertions in the current presentation of scale relativity sound ad-hoc, that the mathematics is still a bit inconsistent and immature, and so on. But that only means the solution is not completely satisfying yet, certainly not that the problem is not there. In my opinion, this issue is a thorn in XXI&lt;sup&gt;st&lt;/sup&gt; century physics about as painful as the constancy of the celerity of light implied by Maxwell's equations was for XIX&lt;sup&gt;th&lt;/sup&gt; century physics. Which is a pretty long-winded way of saying it's worth solving.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Linearity and complex Hilbert spaces&lt;/h4&gt;

The objections Dr. Anonymous makes to the quantum mechanics part are by far the most interesting ones. They are also the most technical ones, and it's possible that my answers will be unconvincing, if only by lack of space. Expect more iterations here, and possibly some serious changes in the paper to make things more precise or easier to understand.&lt;br/&gt;

&lt;blockquote&gt;4. I think that the quantum sections are a little misleading to a careless or non-expert reader(though not intentionally so!), both in terminology and presentation&lt;/blockquote&gt;

It is definitely not my intention to mislead. I think that a reason they may be misleading is because it might seem like I attempt to deduce all of quantum mechanics, when in reality there are things I know I deduced, and others I simply borrow because we know from quantum mechanics that they work. The line is a bit blurred, not the least because I tried to push as much as I could into the "demonstrated" half, and sometimes failed (for the moment at least).

&lt;blockquote&gt;the arguments given to introduce linear operators and wavefunctions and the like have little substance,&lt;/blockquote&gt;

This is pretty vague, but fortunately specific examples are given later, which I will address then. I acknowledge that the TIM allows only to derive certain properties of QM, but not all of them. What is missing may simply be because I don't know how to derive it, because it derives from other reasons, or because it's not necessary for a working physics. I found cases in each category.

&lt;ul&gt;
&lt;li&gt;Linearity or real-valuedness appear to be not necessary for a working physics, because the TIM highlights counter-examples. So they are considered as added hypotheses that make some cases easier to solve. For example, the "principle of superposition" is demoted to a simple "hypothesis of superposability" which, when applicable, makes more theorems and results applicable.&lt;/li&gt;

&lt;li&gt;The evolution law, for example the Schrödinger equation, is something that I have not entirely been able to derive. There are multiple derivations of Schrödinger, but none of them seems to apply too well in the TIM. I have, however, been able to offer a quick qualitative "sanity test", which requires an ad-hoc, but not unreasonable hypothesis. So that's all there is in the TIM article, and I would certainly understand if Dr. Anonymous or anybody else qualified this section of "having little substance", because it does.&lt;/li&gt;

&lt;li&gt;The collapse of the wave function, on the other hand, can entirely be deduced from the need to have repeatable measurements.  I have several lines of reasoning that all lead to the same result, so I'm pretty convinced that this is solid.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;and do not lead even to the usual Hilbert space description.&lt;/blockquote&gt;

By this, I think that Dr. Anonymous means primarily that only a real-valued HIlbert space is implied, not a complex-valued one. Since she makes the objection more explicit below, I'll address it there. Another possible interpretation is that it's always a finite-dimension Hilbert space, even for space-time coordinates. But this is intentional.&lt;br/&gt;&lt;br/&gt;

Now, if the TIM is not deriving the "correct" Hilbert spaces, isn't it easy to show that it makes incorrect predictions? In other words, instead of not being a theory, it would simply be a wrong theory. So these little differences are what makes things interesting and challenging.


&lt;blockquote&gt; The best one can say is that standard QM fits into your general framework, but that very little of it is implied by this framework.&lt;/blockquote&gt;

If it were only the collapse of the wave function, it would already be an interesting result. But I think that more is implied, specifically practically all the axioms but the evolution law. If it's not implied by my reasoning, it is important to tell me why not. The specific remarks that follow are not entirely convicing to me.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Probabilities and evolution&lt;/h4&gt;

&lt;blockquote&gt;4a. One can certainly, and trivially, rewrite measurement probability distributions p=(p1, p2, ..., pn), which live on the n-simplex, as "unit vectors", psi=(psi1, psi2, ...,psin), which live on the surface of an n-ball (where psi1=sqrt[p1], etc).&lt;/blockquote&gt;

This rewrite, made in section 4.1 of the TIM, is indeed mathematically "trivial", but a lot is trivial in hindsight. The really difficult question is: if it's so trivial, why aren't we taught more often that the state vector in quantum mechanics is the only form a state describing predictions of future measurement results can take? It's possible someone else wrote it before me, but I know this is not something I've been taught, and I tried to find references to such a result after discovering it. Honestly, it was so "trivial" I thought impossible no one else would have made this observation. But it is still not a standard staple in QM teaching.&lt;br/&gt;&lt;br/&gt;

&lt;blockquote&gt;However, there is no reason whatsoever in the TIM framework to postulate that measurements and evolution are linear with respect to psi, rather than being linear with respect to p (or indeed with respect to any any other function g=(g1, g2, ..., gn) of the probabilities - eg, g1=exp[p1]).&lt;/blockquote&gt;

Indeed. This is why it is not postulated in the TIM.&lt;br/&gt;&lt;br/&gt;

For measurements, it is only observed that &lt;em&gt;if&lt;/em&gt; a measurement is real valued, and &lt;em&gt;if&lt;/em&gt; psi is the probability vector as defined in the TIM, then one &lt;em&gt;can&lt;/em&gt; define an operator that 1) is linear in psi, 2) has the measurement results as eigenvalues with specific vectors as eigenvectors, and 3) can be used to compute the right expectation value. So from these properties, one has to deduce that it's the "observable" of quantum mechanics.&lt;br/&gt;&lt;br/&gt;

For the evolution, I have to introduce it ad-hoc, and I think it is pretty clear in the article. I can't say that I'm happy with it, and I honestly don't have a satisfying answer to offer yet.&lt;br/&gt;&lt;br/&gt;

&lt;blockquote&gt;And it is merely ex post facto analysis in the light of QM to suggest such postulates are even reasonable!&lt;/blockquote&gt;

It is normal to use "ex post facto analysis in the light of QM" to find the results of QM, just like it is reasonable to use "ex post facto analysis in the light of metrology" to find a definition of time that is based on the TIM, but fits our standard definition of time pretty accurately. So this is not cheating, this is simply verifying that QM "fits".

&lt;blockquote&gt; One needs something else to 'derive' a physical significance for linearity in psi (eg, Kaehler manifolds).&lt;/blockquote&gt;

Here, I'm really lost. I don't see how Kaehler manifolds can give a physical significance to anything. The physical significance for linearity in psi is that if you construct a linear operator on psi with the right eigenvalues and eigenvectors, it trivially allows you to compute the right expectation value. What else do you need?

&lt;blockquote&gt;In the absence of this something else, it would seem far more reasonable, for example, to postulate that the evolution and operators should be linear with respect to the probability vector p !&lt;/blockquote&gt;

I don't think so. To get the eigenvectors, you need the nxn matrix. Then, to get the right expectation value (i.e. average observed value), it cannot be linear in p.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Complex or real Hilbert spaces?&lt;/h4&gt;

&lt;blockquote&gt;4b. Even when one formally writes down a vector psi as above, it only inhabits a real Hilbert space, rather than the complex Hilbert space needed for QM (eg, to explain the physical double-slit experiment, the Aharanov-Bohm effect, the singlet state, etc).&lt;/blockquote&gt;

&lt;a href="http://www.lightandmatter.com/html_books/5op/ch05/ch05.html#Section5.1"&gt;&lt;img align="right" src="http://www.lightandmatter.com/html_books/5op/ch05/figs/double-slit-water-waves.png" width="200"&gt;&lt;/a&gt;
The argument that complex Hilbert spaces are needed for QM is a frequent one. If that is true, if QM probabilities are somehow special and dependent on complex numbers, how can we get a "double slit experiment", i.e. interference, with classical waves over water? Only classical probabilities are at play in that case.&lt;br/&gt;&lt;br/&gt;

In reality, complex numbers are only a tool in the computation of probability, to sum probabilities that are not independent from one another. In the water interference scenario, like in the double slit experiments, the Aharonov-Bohm effect or the singlet state, you have probabilities that are "entangled". It's simpler to explain with the water waves, but it's fundamentally the same mathematics in all cases. The waves can propagate through two slits in a wall, but they come from the same source. The height of water at one point (hence the probability of presence of water particles) can be computed by summing the contribution of the wave coming from one slit and from the other. But these contributions are not independent from one another. They are always at a constant phase from one another, which for water waves is a function of the difference in distance between the point where you compute the probability and each of the two slits.&lt;br/&gt;&lt;br/&gt;

I tried to illustrate how complex numbers emerge in the subsections "Trajectory measurement" and "Normalization of the wave function" in the TIM paper, but to be honest, these are some of the sections I consider the least satisfying of the whole article... It attempts to demonstrate that having a field of "probability of presence" is the correct way to represent the predictions about an experiment where the question is "where is a single particle", but it does not make a very good case that this is the same thing as the wave function in traditional quantum mechanics.&lt;br/&gt;&lt;br/&gt;


&lt;blockquote&gt;Hence, while the formulas written down "look" quantum mechanical, much more is needed.&lt;/blockquote&gt;

A little more may be needed in terms of explanations. But f the formulas look quantum mechanical and behave like quantum mechanical formulas, why can't I legitimately use the quantum mechanical toolset to solve them? And if the predictions and the formulas are quantum mechanical, why is "much more" needed?&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Can one use an operator notation for a non-injective and non-linear operator?&lt;/h4&gt;

&lt;blockquote&gt;4c. The notation M^|psi&amp;gt; for general nonlinear operators, and M^|psi&amp;gt;=m|psi&amp;gt; for eigenvectors, is misleading. One does not have, for example, the property&lt;br/&gt;&lt;br/&gt;

(M^ + N^) |psi&amp;gt; = M^|psi&amp;gt; + N^|psi&amp;gt;&lt;br/&gt;&lt;br/&gt;

in general, even though the notation suggests it.&lt;/blockquote&gt;

The TIM article is very careful to not use the property you cite, and goes to extraordinary lengths to explain that it does not hold in the general case. That's probably one of the key point of the whole article. Isn't it a bit disingenuous to say that the notation suggests something when the text explicitely says the opposite?&lt;br/&gt;&lt;br/&gt;

The "hat-M" notation is an intermediate step in reaching the "inverse-hat-M" or "check-M" notation, which does have the property you cite. It would be very confusing to change the notation meaning "apply an operator" just because some operators are linear and some are not, don't you think? It's a bit as if I insisted that the notation f(x) implies a smooth function because I'm used to sin(x) or cos(x), and then required that you use a different notation for any discontinuous functions...

&lt;blockquote&gt;It would be more accurate to represent nonlinear operators as functions mapping the sphere to itself, eg, M(psi), and to refer to vectors satisfying the property M(psi) = m psi as 'fixed points up to scaling' or similar.&lt;/blockquote&gt;

It would not really be more "accurate", it would be a change of notation that would obscure the fact that hat-M and check-M are cousins, hat-M being constructed to be a linear operator based on the eigenvectors (or fixed points) identified with hat-M. My notation would only be inaccurate if I did not carefully explain that the notation "hat-M" is used for a non-linear operator, or if I used properties that implicitly require linearity. I do not think that I do either.&lt;br/&gt;&lt;br/&gt;

As I point out in my short answer, in the general case, M(psi) would be even worse as a choice of notation, because it implies that hat-M is a function, and in the most general case hat-M is not injective, something which the text also insists on. We have a mathematical object which is a "random function with fixed points", and this strange thing will do strange things to your notation. The best I can do is to take the closest notation, and the closests / simplest notation for what I wanted to express is the operator notation.&lt;br/&gt;&lt;br/&gt;


&lt;h4&gt;Collapse limited by the speed of light, or normalization limited by the speed of light?&lt;/h4&gt;
&lt;blockquote&gt;4d. The QM of entangled systems (more than one particle) is not easily explainable by postulating that collapse is limited to the speed of light, and does not appear to be compatible with recent experiments by Gisin et al (eg, &lt;a href="http://prola.aps.org/abstract/PRA/v63/i2/e022111"&gt; http://prola.aps.org/abstract/PRA/v63/i2/e022111&lt;/a&gt; and &lt;a href="http://lists.paleopsych.org/pipermail/paleopsych/2006-April/005093.html"&gt;http://lists.paleopsych.org/pipermail/paleopsych/2006-April/005093.html&lt;/a&gt;,).&lt;/blockquote&gt;

The article does not postulate that collapse is limited to the speed of light. It only focuses on how to normalize the wave function, and it points out that collapse is not instantaneous, which is not the same thing. Our computation of probabilities must obey constraints set of the experiment. One of these constraints is that we cannot collect data or setup entanglement between particles faster than the speed of light. Consequently, the space-time points that are summed in a single probability normalization may not be simultaneous in a given reference frame. The experiments listed would only tend to prove that this is the correct approach, not to invalidate it.&lt;br/&gt;&lt;br/&gt;

&lt;blockquote&gt;For example, suppose Alice and Bob live in spacelike separated regions and share a singlet state (or ensemble thereof), and each decides to measure spin in directions a or b, at random. The probability for Bob to measure spin -up is 1/2 in any run. Now, if collapse is at the speed of light, then his result cannot depend on whether Alice has found spin up or spin down for her measurement - it can only depend on local variables in his vicinity. But in fact Alice and Bob find perfect correlations when they happen to make the same choice of measurement direction - which cannot be explained via such local variables (Bell's theorem). So, whatever entanglement is, its effects cannot easily be explained, and indeed are exacerbated in strangeness, by restricting collapse to the speed of light. &lt;/blockquote&gt;

First, there is a somewhat ambiguous use of Bell's theorem in your sentence. Bell's theorem does not prove that there are no hidden variables in quantum mechanics, it shows how to detect if there are any. Only experiments using Bell's theorem such as those of Alain Aspect have led us to think that there are no hidden variables by applying the theorem. I think that this is what you meant...&lt;br/&gt;&lt;br/&gt;

Second, in your experiments, Alice and Bob's particle can only be entangled if we made them entangled to start with. For example, they can be the result of two particles generated by the same event. These particles then travel at most at the speed of light. So entanglement itself is carried at most at the speed of light.&lt;br/&gt;&lt;br/&gt;

More to the point, when the experiment is performed, no correlation can be established until the data of both Alice and Bob can be collected in a single point. All the TIM is suggesting is that the normalization condition, if seen as a sum of probabilities being one, can only be collected at that point, where both Alice and Bob are in the past light cone. What will matter is that Alice and Bob's events are in the past light cone. It does not matter if they occured at the "same time" or not, which is good, because the notion of "same time" is quite obsolete in relativity. One of the experiments I found funny, because it's done in such a way that both Alice and Bob think they made the experiment first. Well, it does not really matter, they both did it in the past for the guy collecting the data!&lt;br/&gt;&lt;br/&gt;

&lt;hr&gt;
&lt;h4&gt;The final word...&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Anonymous_Coward"&gt;&lt;img src="http://www.coucoucircus.org/series/images-series/zorro.jpg" align="right" width="150"&gt;&lt;/a&gt;

&lt;blockquote&gt;I apologise for corresponding anonymously, but after a friend pointed me to your paper and said that you were keen for feedback, I thought this might be helpful as a once-off thing.&lt;/blockquote&gt;

That makes me sad. It all started as a helpful and intelligent discussion. But all of a sudden, it's no longer a discussion, it's just a one-way, once-off "thing", a quick attempt to bring the poor fool out of his erroneous ways before moving on to more important "things".&lt;br/&gt;&lt;br/&gt;

Oh well... Better having anonymous discussions than no discussion at all... :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2985262525953782815?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://grenouille-bouillie.blogspot.com/2007/05/another-theory-of-everything.html#c1454241459379485832' title='An intelligent review of the TIM'/><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2985262525953782815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2985262525953782815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2985262525953782815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2985262525953782815'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/02/intelligent-review-of-tim.html' title='An intelligent review of the TIM'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-158848559754763414</id><published>2008-01-27T14:37:00.000+01:00</published><updated>2008-01-27T15:00:35.060+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><title type='text'>Young talent</title><content type='html'>We have a singer at our parish who, two weeks ago, performed a music I really liked. So I asked her what it was, planning to order a CD or something like that. It turns out that she had composed it. I'm not alone liking it, my kids keep humming it, even as I type this.&lt;br/&gt;&lt;br/&gt;

It turns out that she put a few videos on &lt;a href="http://www.youtube.com/user/Pinkie202"&gt;YouTube&lt;/a&gt;. Here is the music we heard that Sunday (but the video clearly doesn't do it justice):&lt;br/&gt;&lt;br/&gt;

&lt;P align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/chE5wVpMZX0&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/chE5wVpMZX0&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/P&gt;

Here is another one in French that I liked:&lt;br/&gt;&lt;br/&gt;

&lt;P align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/01RjWIQT9cA&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/01RjWIQT9cA&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/P&gt;

Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-158848559754763414?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.youtube.com/user/Pinkie202' title='Young talent'/><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/158848559754763414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=158848559754763414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/158848559754763414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/158848559754763414'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/01/young-talent.html' title='Young talent'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-1021389599037464402</id><published>2008-01-08T13:15:00.001+01:00</published><updated>2008-01-08T13:17:25.046+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Do-it-yourself triod</title><content type='html'>Remember the good old vacuum tubes? Here is a video showing how to build one yourself, given enough skills and patience...

&lt;div&gt;&lt;object width="420" height="331"&gt;&lt;param name="movie" value="http://www.dailymotion.com/swf/x3wrzo"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.dailymotion.com/swf/x3wrzo" type="application/x-shockwave-flash" width="420" height="331" allowFullScreen="true" allowScriptAccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.dailymotion.com/video/x3wrzo_fabrication-dune-lampe-triode_tech"&gt;Fabrication d&amp;#039;une lampe triode&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Uploaded by &lt;a href="http://www.dailymotion.com/F2FO"&gt;F2FO&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-1021389599037464402?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dailymotion.com/video/x3wrzo_fabrication-dune-lampe-triode_tech' title='Do-it-yourself triod'/><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/1021389599037464402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=1021389599037464402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1021389599037464402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/1021389599037464402'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2008/01/do-it-yourself-triod.html' title='Do-it-yourself triod'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-8988208161599650575</id><published>2007-11-28T07:40:00.000+01:00</published><updated>2007-11-28T07:48:01.907+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='intentional programming'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><title type='text'>The future of user interfaces</title><content type='html'>Smashingmagazine offers a good summary of &lt;a href="http://www.smashingmagazine.com/2007/11/26/monday-inspiration-user-experience-of-the-future/"&gt;future user interfaces&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-8988208161599650575?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/8988208161599650575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=8988208161599650575' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8988208161599650575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/8988208161599650575'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/future-of-user-interfaces.html' title='The future of user interfaces'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6961156141145451899</id><published>2007-11-27T12:49:00.000+01:00</published><updated>2007-11-27T13:13:37.075+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='UFOs'/><category scheme='http://www.blogger.com/atom/ns#' term='space'/><category scheme='http://www.blogger.com/atom/ns#' term='Everything else'/><title type='text'>Blog-o-pictures</title><content type='html'>I found &lt;a href="http://www.darkroastedblend.com"&gt;this blog&lt;/a&gt; thanks to &lt;a href="http://www.darkroastedblend.com/2007/11/retro-future-to-stars.html"&gt;this entry&lt;/a&gt; about Russian retro-futuristic art.&lt;br/&gt;&lt;br/&gt;

But truth be told, I prefer some &lt;a href="http://www.darkroastedblend.com/2007/11/outrageous-signs-part-8.html"&gt;older posts&lt;/a&gt; even better.&lt;br/&gt;&lt;br/&gt;

&lt;a src="http://www.darkroastedblend.com/2007/11/outrageous-signs-part-8.html"&gt;&lt;img src="http://farm3.static.flickr.com/2277/1742875338_de993ca249.jpg" align="center"/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;

Also, one about &lt;a href="http://www.darkroastedblend.com/2007/11/rare-photos-of-russian-buran-space.html"&gt;Buran&lt;/a&gt;, the ill-fated russian space shuttle...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6961156141145451899?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6961156141145451899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6961156141145451899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6961156141145451899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6961156141145451899'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/blog-o-pictures.html' title='Blog-o-pictures'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm3.static.flickr.com/2277/1742875338_de993ca249_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3151328147274343984</id><published>2007-11-22T05:45:00.000+01:00</published><updated>2007-11-22T05:49:15.682+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><category scheme='http://www.blogger.com/atom/ns#' term='Funny'/><title type='text'>Funny science quote of the day</title><content type='html'>I found &lt;a href="http://scienceblogs.com/principles/2007/11/an_inert_hyperdense_sphere_of.php"&gt;this piece&lt;/a&gt; funny, in particular:

&lt;blockquote&gt;
[Funding a particle accelerator is] not a trivial sum of money for a lot of people, but it's a drop in the bucket compared to the $1,500 per head price tag of the Iraq war to date. And building a particle accelerator doesn't require waterboarding anybody.&lt;br/&gt;&lt;br/&gt;

(Well, strictly speaking, neither does the Iraq war, and I can't say with certainty what might happen if Alberto Gonzales were put in charge of ILC construction...)
&lt;/blockquote&gt;

and

&lt;blockquote&gt;this kind of ultra-hot, ultra-dense stupidity can only be achieved by colliding at least two forms of idiocy at speeds approaching that of light&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3151328147274343984?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3151328147274343984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3151328147274343984' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3151328147274343984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3151328147274343984'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/funny-science-quote-of-day.html' title='Funny science quote of the day'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4313173446656005339</id><published>2007-11-17T21:25:00.000+01:00</published><updated>2007-11-18T13:35:24.395+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='XL'/><title type='text'>Concept Programming Redux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_UnfX9_V6JCc/Rz9PleMztLI/AAAAAAAAAAs/khJqRBZ7TEQ/s1600-h/Concepts.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_UnfX9_V6JCc/Rz9PleMztLI/AAAAAAAAAAs/khJqRBZ7TEQ/s320/Concepts.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5133909605406192818" width="100" /&gt;&lt;/a&gt;

Based on feedback from many people (most notably Daveed Vandevoorde and Lionel Schaffhauser), I posted a new &lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;presentation&lt;/a&gt; about Concept Programming. This should make the ideas much easier to grasp.&lt;br/&gt;&lt;br/&gt;

During the discussion, Daveed Vandevoorde pointed me to a very interesting paper about &lt;a href="http://research.microsoft.com/~simonpj/papers/stm/stm.pdf"&gt;memory transactional models&lt;/a&gt;, which he used as an argument in favor of functional programming. Recommended reading, even if I don't think that this is a point for functional programming at all myself (what is really being used is the very strong type system of Haskell).&lt;br/&gt;&lt;br/&gt;

Lionel Schaffhauser pointed out a number of presentation-related issues, which prompted me to change the order of the slides and add a whole section about the "Maximum" example.&lt;br/&gt;&lt;br/&gt;

As a reminder, there is also an older presentation &lt;a href="http://xlr.sf.net/cpxl.mov"&gt;about XL itself&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://xlr.sourceforge.net/071117.html"&gt;See announcement on the XL web site&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4313173446656005339?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4313173446656005339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4313173446656005339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4313173446656005339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4313173446656005339'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/concept-programming-redux.html' title='Concept Programming Redux'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UnfX9_V6JCc/Rz9PleMztLI/AAAAAAAAAAs/khJqRBZ7TEQ/s72-c/Concepts.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-3480918011916314188</id><published>2007-11-17T20:55:00.000+01:00</published><updated>2007-11-17T20:58:11.366+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Funny'/><title type='text'>Airbus construction</title><content type='html'>You may recently have heard that &lt;a href="http://www.aviation.com/safety/071116-etihad-airways-a340-600-incident.html"&gt;an Airbus A340&lt;/a&gt; was recently damaged during ground testing. Well, it's surprising this does not happen more often. Below is a video showing just how complex the construction of an A340 is:

&lt;p align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/r8lNrepJXi8&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/r8lNrepJXi8&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-3480918011916314188?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/3480918011916314188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=3480918011916314188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3480918011916314188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/3480918011916314188'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/airbus-construction.html' title='Airbus construction'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4277482534384986625</id><published>2007-11-15T20:01:00.000+01:00</published><updated>2007-11-17T20:55:39.372+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='physics'/><title type='text'>E8 theory...</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/E8_(mathematics)"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/E8_graph.svg/400px-E8_graph.svg.png" align="right" width="200"/&gt;&lt;/a&gt;
Garett Lisi recently posted &lt;a href="http://arxiv.org/abs/0711.0770"&gt;An Exceptionally Simple Theory of Everything&lt;/a&gt; on ArXiv. Don't expect the article to really be "exceptionally simple", the title is really a pun on the fact that E8 is the &lt;a href="http://en.wikipedia.org/wiki/E8_(mathematics)"&gt;largest exceptional simple Lie group&lt;/a&gt;. There's nothing really simple about all this, except that it's a beautiful form of symmetry.&lt;br/&gt;&lt;br/&gt;

This work was quickly picked up all over the place, for example at &lt;a href="http://backreaction.blogspot.com/2007/11/theoretically-simple-exception-of.html"&gt;Backreaction&lt;/a&gt;, where a good discussion followed. It even made it to &lt;a href="http://science.slashdot.org/article.pl?sid=07/11/15/2322225"&gt;Slashdot&lt;/a&gt;, where whatever discussion was typical Slashdot ("it's funny, laugh!" :-). Not useful, but entertaining.&lt;br/&gt;&lt;br/&gt;

Unfortunately, it also made it to &lt;a href="http://www.news.com.au/heraldsun/story/0,21985,22768828-23109,00.html"&gt;less reputable science outlets&lt;/a&gt;. My favorite blogger &lt;a href="http://motls.blogspot.com/2007/11/exceptionally-simple-theory-of.html"&gt;made predictable comments&lt;/a&gt; about it being stupidly wrong, rejoicing in an arXiv demotion from hep-th ("professional") to gen-ph ("laymen's fantasies"):

&lt;blockquote&gt;Update I: the preprint was re-classified from the professional hep-th archive to gen-ph, general physics, an archive mostly dedicated to laymen's fantasies. Thanks God. Comment for general readers: this preprint is of course not peer-reviewed and probably won't get published anywhere.&lt;/blockquote&gt;

That demotion may very well be Motl's own fantasy, as the preprint still appears as hep-th for me. In any case, you can compare Lubos' "professional" piece of work to, say, &lt;a href="http://math.ucr.edu/home/baez/week253.html"&gt;John Baez's&lt;/a&gt; reaction to the exact same event. True, Baez also shows some skepticisim, which I will share for the moment, but he remains healthily neutral, whereas Motl "exploded in laughter" at the first equation in the paper. More importantly, Baez, unlike Motl, starts looking at similar work, like earlier attempts at unifying forces using SU(5). That's the right way to go. Even if the paper is totally bogus (which I don't think it is, more likely to be subtly bogus), you still have to prove it, which Lubos Motl spectacularly failed to do as usual.&lt;br/&gt;&lt;br/&gt;

So... Why be skeptical? Simply because that's not the first time folks look at E8, and even if Garrett Lisi's approach is innovative, it may still very well be entirely wrong, until experiments show the predicted additional particles. But at least, Garrett is ready to take that risk, and that's worth a lot in my book. And, if nothing else, he provided us with a very beautiful video:&lt;br/&gt;&lt;br/&gt;

&lt;p align="center"&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/D0PImSlQNUo&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/D0PImSlQNUo&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;

So at this time, what I find a source of concern is not Garrett's article itself, it's all the publicity around it. Early publicity for something as "grandiose" as a "theory of everything" can prove fatal to the researcher if he turns out to be wrong, or to not make as much progress as expected. That's in no small part what happened to &lt;a href="http://luth2.obspm.fr/~luthier/nottale/ukrechel.htm"&gt;Laurent Nottale&lt;/a&gt;. And just like for Nottale, that would be a shame if Garrett Lisi ended up doing nothing more than surfing in Hawaii...&lt;br/&gt;&lt;br/&gt;

And I also believe that Garrett Lisi's work is absolutely not in conflict with my own &lt;a href="http://grenouille-bouillie.blogspot.com/2007/09/why-dont-you-tell-us-what-you-found.html"&gt;ideas&lt;/a&gt;, nor any step in that direction. In other words, the paper I submitted still shows, in my opinion, just how far Garrett's work is from a "theory of everything".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-4277482534384986625?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/4277482534384986625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=4277482534384986625' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4277482534384986625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/4277482534384986625'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/e8-theory.html' title='E8 theory...'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6352855710637573676</id><published>2007-11-14T23:42:00.000+01:00</published><updated>2007-11-14T23:53:01.473+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sociology'/><category scheme='http://www.blogger.com/atom/ns#' term='computer history'/><title type='text'>The other side</title><content type='html'>Funny that I should, twice in the same day, read a story about what the other side has to say about one of &lt;a href="http://www.stallman.org/"&gt;Richard Stallman's&lt;/a&gt; many gripes:

&lt;ul&gt;
&lt;li&gt;The first one is &lt;a href="http://research.google.com/people/r/index.html"&gt;Rob Pike's&lt;/a&gt; recollection of a &lt;a href="http://commandcenter.blogspot.com/2006/06/i-cant-find-this-on-web-so-here.html"&gt;protest against one of his software patents&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The other is Dan Weinreb's rebuttal of Stallman's &lt;a href="http://dlweinreb.wordpress.com/2007/11/11/rebuttal-to-stallmans-story-about-the-formation-of-symbolics-and-lmi"&gt;story on Symbolics and LMI&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6352855710637573676?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6352855710637573676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6352855710637573676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6352855710637573676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6352855710637573676'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/other-side.html' title='The other side'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-5911258318201052955</id><published>2007-11-14T23:33:00.000+01:00</published><updated>2007-11-14T23:41:58.382+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Everything else'/><title type='text'>Selling: From complex to simple</title><content type='html'>An interesting thought from a friend of mine over lunch a couple of days ago (that's my rewrite, so errors are mine).&lt;br/&gt;&lt;br/&gt;

Hi-tech companies start with the complex, high value add, because it means high differentiation. That's where engineers shine. But as their market expands, marketing becomes more and more important. And marketing hates complexity, because it's hard to sell. So as the company grows, it natually swings towards commodity markets, not because they bring more money, but because they are simpler to sell.&lt;br/&gt;&lt;br/&gt;

Simple. Right, or wrong?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-5911258318201052955?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/5911258318201052955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=5911258318201052955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5911258318201052955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/5911258318201052955'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/selling-from-complex-to-simple.html' title='Selling: From complex to simple'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-6555271690580716013</id><published>2007-11-14T21:26:00.000+01:00</published><updated>2007-11-14T23:29:17.158+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><title type='text'>Growing a language</title><content type='html'>I recently re-discovered an excellent paper I had not read in a long time, &lt;a href="http://homepages.inf.ed.ac.uk/wadler/documents/steele-oopsla98.pdf"&gt;Growing a languag&lt;/a&gt; by &lt;a href="http://research.sun.com/people/mybio.php?uid=25706"&gt;Guy Steele&lt;/a&gt;. Highly recommended.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-6555271690580716013?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/6555271690580716013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=6555271690580716013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6555271690580716013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/6555271690580716013'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/growing-language.html' title='Growing a language'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-2964408291540808928</id><published>2007-11-10T12:17:00.000+01:00</published><updated>2007-11-11T22:58:32.038+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming techniques'/><category scheme='http://www.blogger.com/atom/ns#' term='concept programming'/><category scheme='http://www.blogger.com/atom/ns#' term='programming languages'/><title type='text'>Concept Programming presentation posted</title><content type='html'>&lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;&lt;img align="left" src="http://mozart-dev.sourceforge.net/mozart-logo.gif" width="200"/&gt;&lt;/a&gt;

I finally posted &lt;a href="http://xlr.sourceforge.net/Concept%20Programming%20Presentation.pdf"&gt;a
slideset about concept programming&lt;/a&gt; that had been rotting on my hard disk for way too long... (also &lt;a href="http://xlr.sourceforge.net/071010.html"&gt;posted here&lt;/a&gt;.) This gave me an opportunity to re-read older articles on these topics, one I had written for &lt;a href="http://www.ddj.com/java/184404696"&gt;Dr Dobb's Journal&lt;/a&gt;, and &lt;a href="http://www.byte.com/documents/s=7784/byt1070853295820/1208_heller.html"&gt;another one &lt;/a&gt; written by Martin Heller (&lt;a href="http://www.byte.com/heller/"&gt;Mr. Computer Language Person&lt;/a&gt;) for Byte. They are still pretty accurate.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;What is concept programming?&lt;/h4&gt;
Concept programming is a new programming paradigm which is intended to reduce the gap between the concepts in your brain and their representation in computer code. The method is detailed in the slides, so I won't repeat it here. There is also a very simplistic &lt;a href="http://en.wikipedia.org/wiki/Concept_programming"&gt;overview&lt;/a&gt; at Wikipedia.&lt;br/&gt;&lt;br/&gt;

These techniques apply to many programming languages. I used them personally for assembly language in &lt;a href="http://http://en.wikipedia.org/wiki/Integrity_Virtual_Machines"&gt;HP Integrity VM&lt;/a&gt;. But just like you can do object-oriented programming more easily in C++ than in C, it's easier to use &lt;a href="http://en.wikipedia.org/wiki/XL_%28programming_language%29"&gt;a language&lt;/a&gt; designed specifically for it. The slides also give a few examples of how the concept programming philosophy impacted the XL language design.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Making Things Happen - Getting Help&lt;/h4&gt;
Concept programming has a pretty long history. I'm not sure when I invented the term exactly, but I'd say before 2003 (I'm pretty sure it was explicit on the "new" XL web site). But this is too valuable to be left dormant like this.
I would so much like to spend more time on it, but... &lt;a href="http://www.hp.com/go/integrityvm"&gt;too&lt;/a&gt;... &lt;a href="http://xlr.sf.net"&gt;many&lt;/a&gt;... &lt;a href="http://cc3d.free.fr/English/TIM/TIM.html"&gt;things&lt;/a&gt;... at once.&lt;br/&gt;&lt;br/&gt;

This is the reason I am trying to get some help getting this stuff done. It actually proves difficult. You would think this is easy: the ideas are pretty clear and easily explained, a lot of code is already available. So what's the problem? The problem is &lt;a href="http://grenouille-bouillie.blogspot.com/2007/06/anonymous-genius-experiment.html"&gt;getting people to listen at all&lt;/a&gt;, just like in that story of that world-class musician posing as a street musician. If you don't remember the results: practically nobody listened to him.&lt;br/&gt;&lt;br/&gt;

Well, just like that musician, concept programming and XL will require more than talent and technique. They are now in need of some kind of advertising, evangelism, call it what you want. If you think that you can help promoting these simple ideas about programming, let me know...&lt;br/&gt;&lt;br/&gt;

&lt;p align="right"&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3705644882909734829-2964408291540808928?l=grenouille-bouillie.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://grenouille-bouillie.blogspot.com/feeds/2964408291540808928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3705644882909734829&amp;postID=2964408291540808928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2964408291540808928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3705644882909734829/posts/default/2964408291540808928'/><link rel='alternate' type='text/html' href='http://grenouille-bouillie.blogspot.com/2007/11/concept-programming-presentation-posted.html' title='Concept Programming presentation posted'/><author><name>Christophe de Dinechin</name><uri>http://www.blogger.com/profile/15212549796119667462</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://cc3d.free.fr/English/Blahg/Blahg_files/HPIM1606.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3705644882909734829.post-4017804156199488638</id><published>2007-11-09T17:48:00.000+01:00</published><updated>2007-11-16T08:15:58.566+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='computer history'/><title type='text'>The dawn of 3D games...</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Alpha_Waves"&gt;&lt;img align="right" src="http://upload.wikimedia.org/wikipedia/en/1/14/Alpha_Waves_cover.jpg" width="150"/&gt;&lt;/a&gt;

I was recently drawn to look back at my first paid programming job, &lt;a href="http://en.wikipedia.org/wiki/Alpha_Waves"&gt;Alpha Waves&lt;/a&gt;, which apparently may also have been the first &lt;a href="http://en.wikipedia.org/wiki/Platform_game#The_third_dimension"&gt;3D platform game&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

Others writing about this game after more than 15 years helped me realize that my recollection of that time might be an interesting bit of computer history worth sharing (If you don't care about such old geezer's stuff, skip that article!) Some of it is &lt;a href="http://en.wikipedia.org/wiki/Frederick_Raynal"&gt;documented elsewhere&lt;/a&gt;. Some of it may well never have been written before.&lt;br/&gt;&lt;br/&gt;

Anyway, this is the kind of story that might interest my kids, if only them...&lt;br/&gt;&lt;br/&gt;

&lt;b&gt;Update&lt;/b&gt;: One of my kids, reading the article, asked me why I had been calling Alpha Waves "&lt;em&gt;the first real 3D game&lt;/em&gt;", since &lt;a href="http://en.wikipedia.org/wiki/Starglider_2"&gt;Starglider 2&lt;/a&gt; had been released more than one year earlier. And it's true that the static screen snapshots below don't do justice to the difference between the state of the art at the time and what Alpha Waves brought to the gaming experience. It's only watching a video of Starglider 2 that my son realized how bad 3D was back then. Videos convey the point much better than words or static pictures:&lt;br/&gt;&lt;br/&gt;

&lt;p align="center"&gt;
&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/d9erRpuhyIQ&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/d9erRpuhyIQ&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;Starglider 2&lt;/p&gt;

&lt;p align="center"&gt;
&lt;object width="425" height="355"&gt;
&lt;embed style="width:400px; height:326px;" id="VideoPlayback" type="application/x-shockwave-flash" src="http://video.google.com/googleplayer.swf?docId=3079594644021466323&amp;hl=en" flashvars=""&gt; &lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;Alpha Waves&lt;/p&gt;

By the way, Google video really rocks!&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Inspiration: Starglider 2&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Starglider_2"&gt;
&lt;img src="http://upload.wikimedia.org/wikipedia/en/6/63/Amiga_Starglider_2.png" align="left" width="200"/&gt;
&lt;/a&gt;

One thing I remember is my inspiration for writing Alpha Waves. It all started with a game called &lt;a href="http://en.wikipedia.org/wiki/Starglider_2"&gt;Starglider 2&lt;/a&gt;, which for the first time on &lt;a href="http://en.wikipedia.org/wiki/Atari_ST"&gt;Atari ST&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Amiga"&gt;Amiga&lt;/a&gt; (and in microcomputer history, &lt;a href="#amiwrongorwhat"&gt;for all I know&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;), featured somewhat realistic &lt;a href="http://en.wikipedia.org/wiki/3D_computer_graphics"&gt;3D graphics&lt;/a&gt;. What made them realistic was that for the first time, this game showed animated &lt;a href="http://en.wikipedia.org/wiki/Flat_shading"&gt;flat-shaded&lt;/a&gt; graphics. Earlier games like &lt;a href="http://en.wikipedia.org/wiki/Starglider"&gt;the original Starglider&lt;/a&gt; only drew lines. Hiding the lines for back-facing polygons was considered highly advanced stuff. So flat-shaded polygons? That was almost surreal.&lt;br/&gt;&lt;br/&gt;

My first reaction when seeing Starglider 2 was: "&lt;em&gt;Wow!&lt;/em&gt;" My second reaction was: "&lt;em&gt;How do they do that?&lt;/em&gt;". Finally, this would turn into: "&lt;em&gt;Can I beat that?&lt;/em&gt;". As you can see on the picture, Starglider 2 displayed 3D graphics in a small region of the screen, and only a small number of objects were visible at once. So the next steps, obviously, were to see how large of a screen region you could use for 3D graphics, and how many objects you could draw at the same time.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://www.youtube.com/watch?v=eonlhPhv01s"&gt;
&lt;img src="http://baetzler.de/c64/demos/pix/balldemo_(sf).png" align="right" /&gt;
&lt;/a&gt;

Today's 3D graphics are generated by hardware capable of filling petagazillions of pixels per second, so young readers may not realize that the memory bandwidth at the time made the simple task of filling the screen with polygons more than a few times per second a challenge in itself. Starglider 2 was &lt;em&gt;smooth!&lt;/em&gt;... which, at the time, did not mean 60fps like today, more like 10-15 when the screen got crowded. Remember, this was the time where the &lt;a href="http://www.youtube.com/watch?v=eonlhPhv01s"&gt;boink demo&lt;/a&gt; was considered extremely cool.&lt;br/&gt;&lt;br/&gt;

In summary, doing better than Starglider meant something like filling two thirds of the screen, having 15 objects on screen instead of 4, and remaining above 10 frames per second. Ultimately, Alpha Waves would far exceed this initial objective: full screen, not a single bitmap sprite on screen (even the player was drawn in 3D), and sometimes as many as 50 objects on screen. The Atari ST even ended up with a dual-player mode where two players would compete on screen simultaneously (a feature that never made it to the PC version).&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Elaborating 3D algorithms&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/MC68000"&gt;
&lt;img src="http://upload.wikimedia.org/wikipedia/en/2/28/XC68000.agr.jpg" align="left" width="200"/&gt;
&lt;/a&gt;

Obviously, to best Starglider, I had to first understand how one would draw 3D graphics on screen. I quickly rediscovered the mathematical formulas, but they were only the beginning. The real question was how to do it &lt;em&gt;fast&lt;/em&gt;. Again, to understand the problem, you have to remember that we are talking about a time where the &lt;a href="http://en.wikipedia.org/wiki/MC68000"&gt;Motorola 68000&lt;/a&gt; used in the Atari ST and Amiga was considered a relatively fast processor. This processor not only had no built-in &lt;a href="http://en.wikipedia.org/wiki/Floating_point"&gt;floating point&lt;/a&gt; capability, it was actually very expensive to do a &lt;em&gt;multiplication&lt;/em&gt;! So I ended up reformulating the problem as: "&lt;em&gt;How can I draw 3D using mostly additions?&lt;/em&gt;."&lt;br/&gt;&lt;br/&gt;

The solution would seem extraordinarily obsolete today. The code pre-computed displacement along the X, Y or Z axis, so that it could rotate these vectors only once, and then describe all objects using an encoding that looked like: "&lt;em&gt;go one step right, then two steps up, then one step back&lt;/em&gt;". Each individual step was recorded in a temporary array, and then the final 3D object was created by connecting some of these recorded points. Again, this may seem like a very silly algorithm when, today, 3D routinely uses things like &lt;a href="http://en.wikipedia.org/wiki/Quaternions"&gt;quaternions&lt;/a&gt; to compute coordinate transforms. But boy! was it &lt;em&gt;fast&lt;/em&gt;!&lt;br/&gt;&lt;br/&gt;

Of course, there were a few other tricks along the way. For example, without floating-point capabilities there was obviously no way to compute a cosine. This was easily solved by storing a pre-computed sine/cosine tables returning integer amplitudes (-32767..32767). That made it possible to use another micro-optimization. On the 68000, the multiplication operation took two 16-bit arguments and returned a 32-bit value. Multiply a 16-bit signed coordinate by a 16-bit signed amplitude gave me a 32-bit signed coordinate. Anybody today would shift that down to obtain a 16-bit value, but the 68000 had no &lt;a href="http://en.wikipedia.org/wiki/Barrel_shifter"&gt;barrel shifter&lt;/a&gt;, which meant that shifting down would have been expensive. On the other hand, it had a &lt;tt&gt;swap&lt;/tt&gt; instruction exchanging the high and low 16-bit parts of a 32-bit register. So after applying &lt;tt&gt;swap&lt;/tt&gt; to the result of the multiplication, I was getting a 14-bit coordinate.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Drawing polygons&lt;/h4&gt;

&lt;a href="http://www.rulabinsky.com/cavd/text/chap09-2.html"&gt;&lt;img src="http://www.rulabinsky.com/cavd/images/fig0906.gif" align="left" width="200"/&gt;&lt;/a&gt;

The problem of coordinate transforms being solved, the next most difficult problem was drawing polygons quickly on screen. This involved a number of steps: &lt;a href="http://en.wikipedia.org/wiki/Clipping_%28computer_graphics%29"&gt;clipping&lt;/a&gt;, decomposing the result in a number of triangles and trapezoids, and drawing each piece. The details of the kind of techniques used are now well known, and illustrated &lt;a href="http://www.rulabinsky.com/cavd/text/chap09-2.html"&gt;here&lt;/a&gt; (see figure 9.6 in that article).&lt;br/&gt;&lt;br/&gt;

My original polygon drawing algorithm was already relatively fast, but the Infogrames folks later insisted that I use their in-house routines to facilitate the porting to Amiga (where they had these routines already available).  They had at least a couple of people dedicated to the in-house library of graphics routines on a variety of machines, and they were slowly switching to C for the high-level game architecture, using C a little bit like we use scripting languages today, for the slow stuff. And honestly, the Atari ST version of their polygon routine was a little bit faster than mine, using self-modifying code to optimize the inner loop as it ran.&lt;br/&gt;&lt;br/&gt;

Well, that optimization made it incompatible with the new and amazing &lt;a href="http://en.wikipedia.org/wiki/68020"&gt;68020&lt;/a&gt;-based &lt;a href="http://en.wikipedia.org/wiki/Atari_TT"&gt;Atari TT&lt;/a&gt; (because you needed to tell the instruction-side of the processor to re-fetch the data you had just written on the data side, which that code did not do). Being pretty annoyed at the 2% difference between their code and mine, I created a best-of-breed combined routine using an assembler variant of &lt;a href="http://en.wikipedia.org/wiki/Duffs_device"&gt;Duff's device&lt;/a&gt;, which if my memory is correct, bested their code quite handily, and also ran on the Atari TT. But that all happened much later, when we were in the final phase of the game development.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;From polygons to worlds&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Alpha_Waves"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/b/b3/Alpha_waves.gif" align="left" width="200"/&gt;&lt;/a&gt;

Earlier stages of the development of Alpha Waves were much more modest. I was only starting to be able to draw and rotate simple 3D objects. It began with a big cube showing the limits of the 16-bit coordinate space, the limits of my "world". Then, inside that cube, I placed another one, and one more to test how objects were hiding one another, and so on.&lt;br/&gt;&lt;br/&gt;

Soon, I had something like a dozen cubes floating in space. And more, and more. And that's when it slowly became clear that I was close to achieving my original dream. This was definitely faster than Starglider. Even with all these objects drawn on screen, on the &lt;em&gt;entire&lt;/em&gt; screen no less, this was still smooth. I was thrilled, I was proud! This may seem ridiculous when today anybody can run &lt;a href="http://en.wikipedia.org/wiki/Second_Life"&gt;Second Life&lt;/a&gt; and access some 24 terabytes of stored world information, but at the time, this was world-class 3D graphics.&lt;br/&gt;&lt;br/&gt;

But all things considered, rotating cubes on a screen gets pretty boring pretty fast. So to test my graphic routines, I started exploring ways to move inside my little 3D worlds. The first one was the most obvious possible: some kind of flight simulator that would let you fly through the world. You'd turn left and right or up and down with the joystick, and move forward by firing the joystick. That allowed me to test all possible rotation angles. To avoid the bugs when coordinates exceeded the 16-bit space, I added code that would keep me inside the coordinates cube. It was as if you bounced on the walls, on the ceiling or on the floor.&lt;br&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Smurf"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/en/9/9c/Smurf1.gif" align="right"/&gt;&lt;/a&gt;

Believe it or not, I thought it was fun to bounce against the walls, and started testing all kinds of funny dynamics. The next obvious step was to bounce against the cubes inside the world instead of flying right through them as was then the de-facto industry standard... The cubes acted like big repellers, and so bouncing off one would allow you to quickly accelerate, for instance to climb to the top of the world. Add a little gravity, some platforms on the floor to start bouncing when you fell, and Alpha Waves was born!&lt;br/&gt;&lt;br/&gt;

In my mind, I was sort of recreating the experience of being a &lt;a href="http://en.wikipedia.org/wiki/Smurf"&gt;smurf&lt;/a&gt;, which in the comics bounce from the floor to reach a table, and so on. And I was starting to think that I might build some kind of smurf-based adventure game around that graphics technology. To that end, I started creating a little mechanism to switch from one "room" of the game to the next, through "doors" located on the walls. The trick was to reach the door, and you would switch to the next room. This way, I could explore an even larger world.&lt;br/&gt;&lt;br/&gt;

I was certainly starting to see some game potential in my code, but I was still not considering that little toy demo as a game, more like the foundation for what might one day be a real great adventure game in 3D. Sure, I had a lot of fun bouncing around, but who else would find this funny?&lt;br/&gt;&lt;br/&gt;

I couldn't have been more wrong!&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Alpha Waves, meet Infogrames&lt;/h4&gt;

I understood that when I presented this code to &lt;a href="http://en.wikipedia.org/wiki/Infogrames"&gt;Infogrames&lt;/a&gt;. At the time, this was still a pretty small company occupying a single floor of a building in &lt;a href="http://en.wikipedia.org/wiki/Villeurbanne"&gt;Villeurbanne&lt;/a&gt;. I don't know how large it was, but I would guess about 20-30 people. Still, this new building was already a giant step up compared to the office I had visited one year earlier, during my first interaction with them. And I need to explain that the first interaction was the reason I was getting back to Infogrames.&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://en.wikipedia.org/wiki/Infogrames"&gt;
&lt;img src="http://upload.wikimedia.org/wikipedia/en/7/78/Infogrames.jpeg" align="right" /&gt;&lt;/a&gt;

The first time, I had been looking for a student job, and they were looking for someone to translate some book about &lt;a href="http://en.wikipedia.org/wiki/Expert_system"&gt;expert systems&lt;/a&gt;. Don't ask me why. I think that &lt;a href="http://en.wikipedia.org/wiki/Bruno_Bonnell"&gt;Bruno Bonnell&lt;/a&gt; thought at the time it was a good idea to diversify the company into "serious stuff" like artificial intelligence and some kind of expert system software for mom and pop. No kidding! These were wild times...&lt;br/&gt;&lt;br/&gt;

In any case, I did the required job, but when came time to be paid... they had already figured out that expert systems were a totally crazy idea and changed their mind. So they did not need my work any more, and in that case, why pay for it? Guess what, when you are aged less than 20, you are pretty naive, you tend to trust folks. In short, there was no written contract, just a gentlemen's agreement that they all too happily broke. I did not get a dime.&lt;br/&gt;&lt;br/&gt;

So one year or so later, when I returned to them, it was primarily with the intent to make up for that loss by working as an intern for one month, doing little and learning a lot from them. Why did I think this was a good idea? I don't know. I just wanted them to pay me &lt;em&gt;something&lt;/em&gt; I guess.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Hey! This is a game!&lt;/h4&gt;

&lt;a href="http://en.wikipedia.org/wiki/Time_Bandit"&gt;
&lt;img src="http://www.atarimagazines.com/v5n6/TimeBandit.JPG" align="left" width="200"/&gt;&lt;/a&gt;

Anyway, to convince them to hire me during the summer months, I had prepared a sort of career portfolio with various tiny programs. These were a number of half-baked experiments with various technologies like 2D scrolling, sound, text display, and so on. Not a single of these programs was a real game, but my point was more to show that I could write code.&lt;br/&gt;&lt;br/&gt;

The piece of code I thought would impress them the most was some sort of small clone of &lt;a href="http://en.wikipedia.org/wiki/Time_Bandit"&gt;Time Bandit&lt;/a&gt;, with a few additional features like proportional text being displayed on screen, that was looking so much nicer than the typical fixed font of the time... There was not much of a plot, only a few worlds, but I thought this demonstrated I knew enough about game coding for a summer intern job. Well, when I showed that code, Infograme's technical director essentially yawned. I was seeing the chance of getting my money back escape...&lt;br/&gt;&lt;br/&gt;

&lt;a href="http://blog.nbc.com/frank/2007/08/my_favorite_joystick.php"&gt;
&lt;img src="http://blog.nbc.com/frank/JOYSTICK1-thumb.jpg" align="right" width="200"/&gt;&lt;/a&gt;

Disappointed, I took the last floppy in my pile. This was the one containing the "Cube" demo. But if my marvelous Time Bandit clone had failed to impress them, this would would definitely be a total flop as well. Anyway, I started it up, gave the joystick to the technical director... and one hour later, he was still holding it, bouncing left and right like crazy! In my memory, he looked every bit like the guy on the picture, fascinated by this new and strange kind of game...&lt;br/&gt;&lt;br/&gt;

When he finally left the room, the technical director quickly came back with a contract that essentially read: &lt;em&gt;Christophe de Dinechin will be paid 5000F (less than $1000) for a two months intern job working on Infograme's "Project Cube"&lt;/em&gt;. Well, fool me once, shame on you, fool me twice... My answer was quick: &lt;em&gt;no way, that game is not an Infograme project, it's almost finished (something I had realized only minutes earlier), if you want it, this will be a royalties-based contract&lt;/em&gt;. He replied, "&lt;em&gt;This is a standard contract, just sign it, we will adjust it later&lt;/em&gt;." Fortunately, I had previous experience with this kind of "contract", so I steadfastly refused to sign anything.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Frederick Raynal&lt;/h4&gt;
&lt;a href="http://en.wikipedia.org/wiki/Frederick_Raynal"&gt;&lt;img src="http://www.culture.gouv.fr/culture/actualites/images/video7.jpg" align="left" width="120"/&gt;&lt;/a&gt;

After that, things moved relatively fast. Negotiating royalties was a real pain for me, and according to him, a pleasure for Bruno Bonnell. He commented something along the lines of "all these guys tell me that they don't need much... Well, that's what they get!". I fought for a royalties rate that I thought was decent. In the end, I was very disappointed when I left the room with, if my memory serves me right, something like 17%. I shared my disappointment with the engineers around. I remember a silence. And then, I was told that this was actually the best rate Infogrames had ever conceded to an independent author.&lt;br/&gt;&lt;br/&gt;

I do not recall how &lt;a href="http://en.wikipedia.org/wiki/Frederick_Raynal"&gt;Frederick Raynal&lt;/a&gt; got involved exactly, but what I do recall is that he looked at the code, and told his management he felt this code could be ported to the PC. This was against Infogrames' policy at the time, which was to never port an assembly language game to a different CPU. Frederick argued that my &lt;a href="http://cc3d.free.fr/cube.s"&gt;code&lt;/a&gt; contained comments all over the place that made it very clear what was happening. And so he ported it to the PC. He actually did more than port it. The PC version included, for example, a very nice tutorial showing how to use the game which did not exist in my original version. The only thing he failed to do is accounting for different CPU speeds, and so Alpha Waves is practically unplayable on today's machines without slowing it down quite a bit. &lt;b&gt;Update&lt;/b&gt;: I had him read this blog, since I'm talking about him, and he commented that it was the last time he made this mistake :-)&lt;br/&gt;&lt;br/&gt;

More than anything, Frederick is a really nice guy, and we still exchange email every other year. As history would record, he would go on creating &lt;a href="http://en.wikipedia.org/wiki/Alone_in_the_Dark_%28video_game%29"&gt;Alone in the Dark&lt;/a&gt;, a game that was extraordinarily successful, and then many other very successful games. &lt;em&gt;Alone in the Dark&lt;/em&gt; used 3D graphics for characters, a first in the industry. Frederick has said that this use of 3D was &lt;a href="http://www.adventure-eu.com/index.php?option=com_content&amp;task=view&amp;id=207&amp;Itemid=29"&gt;a consequence&lt;/a&gt; of his earlier work on Alpha Waves.&lt;br/&gt;&lt;br/&gt;

&lt;h4&gt;Aftermath&lt;/h4&gt;

The rest of the story is, unfortunately, consistent with Infogrames earlier behavior regarding payments. I had every trouble in the world getting them to pay the royalties as scheduled in the contract. For a short while, I considered reusing my game engine for the Smurf-style adventure game. But after several late payment notices, I got fed up of Infogrames and gave up gaming for good. Apparently, Frederick Raynal had similar issues after the success of &lt;em&gt;Alone in the Dark&lt;/em&gt;.&lt;br/&gt;&lt;br/&gt;

This is my personal experience of the early days of the gaming industry, and the very beginning of 3D in videogames. It was wild, it was fun!. Thanks to Alpha Waves and my urge to beat Starglider, I got to meet a few people who are living legends today, and to see the early days of the company that later bough american icon &lt;a href="http://en.wikipedia.org/wiki/Atari"&gt;Atari&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;

If you have any stories about this period, I'd love to hear them. Please leave them in the comments area.

&lt;hr/&gt;

&lt;a name="amiwrongorwhat"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;b&gt;Update&lt;/b&gt;&lt;/a&gt;: Well, it turns out I did not know much. Actually, the MS-DOS port of &lt;a href="http://en.wikipedia.org/wiki/Elite_%28computer_game%29"&gt;Elite&lt;/a&gt; also had flat-shaded graphics, unlike the hidden-line graphics of earlier versions. Like Starglider 2, however, the 3D experience was lacking.&lt;br/&gt;&lt;br/&gt;

&lt;b&gt;Update&lt;/b&gt;: I also discovered that the id Software web site &lt;a href="http://www.idsoftware.com/games/vintage/hovertank/index.php?game_section=overview"&gt;claims&lt;/a&gt; that Hovertank was the first 3D game on the PC. Obviously, they are wrong: Alpha Waves predates it by one year, and it offered a better 3D experience.&lt;br/&gt;&lt;br/&gt;

&lt;p align="right"&gt;&lt;em&gt;Je suis jeune, il est vrai ; mais aux âmes bien nées&lt;br/&gt;
La valeur n'attend point le nombre des années.&lt;/em&gt;&lt;br/&gt;Pierre Corneille, Le Cid&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3
