Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 135

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 135

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 187

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 188

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 189

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 194

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 195

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 196

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 197

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 241

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 264

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 269

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 275

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 285

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 286

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 296

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 297

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 298

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 308

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 309

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 310

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 311

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 321

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 322

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 323

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 324

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 325

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 497

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 527

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 540

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 587

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 626

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 668

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 668

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 670

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 673

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 682

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 688

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 693

Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php on line 699

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 410

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 410

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 272

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 274

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/public/lib.urlhandlers.php on line 110

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/public/lib.urlhandlers.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.net/blog/inc/libs/clearbricks/common/lib.http.php on line 295
Tag - rant - Didier Verna's Scientific Blog
About Lectures Research Software Blog
Musical Site
MySpace
Facebook

Moods Blog

Dojo Shin Kaï

RSS Feed
Thank you!

XHTML 1.0 conformant
CSS 2.0 conformant
Didier Verna's scientific blog: Lisp, Emacs, LaTeX and random stuff.

Thursday, June 24 2010

Dynamic typing 30 years later

When the C++ guys announced support for lambda expressions in the upcoming version of the standard (assuming there's one), I refrained from blogging on the "better 30 years late than never" melody.

Now I got big news for you guys. Today, everybody likes dynamic types. They even dare saying so at ECOOP (which means that ECOOP now accepts those papers, yeah things change).

This year, we had a short introduction to an empirical study about the positive (or at least not negative -- one step at a time, this is still ECOOP --) impact of dynamic typing on the development process. And, cherry on the cake, we had this Microsoft guy who presented a paper about... supporting dynamic types in C# !!

In short, the guy said that he wants to be as fashionable and cool as the people doing all sorts of fancy stuff with their scripting languages (he also said that this was a demand from the C# community).

So that's it. A couple years ago, people suddenly realized that functional programming and, in particular, lambda expressions were a good thing. Today, people are also starting to realize that dynamic typing is a good thing.

So after having endured 30 years of sarcasm about our dynamic types, it's only fair that we, the dynamic languages community, get to be sarcastic now.

Sunday, May 2 2010

How to (not) make a good presentation

Based on a recent experience, here is some piece of advice on how to (not) make a good "invited speaker" scientific presentation.

1. Don't think you have been invited because you won a Nygaard price or whatever, but because you have designed a cool language.

2. If you really need to start your talk by showing off your latest book to the audience, at least consider offering one to the lab that has just invited you.

3. Don't spend half of your presentation on your CV (My Life, My Accomplishments etc.), because that's not why you were invited, and because the audience doesn't give a damn.

4. When you have 60 minutes, don't come with the usual 300 slides that you carry everywhere and pick some at random. Your presentation won't make any sense.

5. Before coming, try to take at least 5 minutes to figure out who you're going to talk to, what they know, what they don't. This will help you make more sense out of your presentation, and then, perhaps the audience will actually learn something.

6. Try to understand that when you have an idea, it's not necessarily a good one, and when others have ideas, they're not necessarily bad ones.

7. Try not to be dogmatic because this doesn't look so good to scientists. Show some humility. It is better to have many questions than to have all the answers.

8. If you really want to make people believe that you have actually done some bibliography in your research, try to cite at least one paper more recent than the first OOPSLA in 1986. Otherwise, the picture of your knowledge about other current programming languages is, like, pretty explicit, and a bit sad.

9. Understand that trying to sell your product will never work with researchers.

Well, I guess in summary, try to show some interest for the rest of the world, and especially for your audience, or just don't come. Otherwise, you will look like a fool.

Friday, October 23 2009

Spotlight

On Mac OS X, there are lots of very good reasons why syslogd could start eating 100% of your CPU. Plenty of discussions about this on the net out there.

Well, here's one more (very good) reason:

If all of a sudden, your Time Machine backup process appears to be slower than usual, and if the backup disk is not unmounted after a backup has finished, it could be that Spotlight is trying to index it. Stupid. Mine currently has an ETA of 55 hours :-)

Wednesday, April 29 2009

And what about Erlang ??

Once again, I've been puzzled by Sebesta's "Concepts of Programming languages" book. I've just read the chapter on language-level support for concurrent programming and there's not even a single line on Erlang. I can't figure out how that's possible.

Now waiting to see if Erlang is going to appear in the chapter on functional languages, but for some reason, I have a bad feeling about this...

Wednesday, April 15 2009

Concepts of Programming Languages

These days, I'm reading "Concepts of Programming languages", 8th edition, by Robert W. Sebesta (Addison Wesley). In the category of programming languages comparison books, this is all in all a fair one, especially after having read the crappy "Comparative Programming Languages", 3rd edition, by Clark (Addison Wesley).

As in all those similar books, the room for Lisp is obviously miserable, but that is not very surprising. At least Sebesta seems to know something about it... but wait ! That was until yesterday.

Yesterday, I read chapter 12 (Support for Object Oriented Programming), and this reading pretty much ruined my fun, my evening, and the little consideration I had for the author. On page 508 you can find this:

CLOS, an object-oriented version of Lisp, also supports functional programming.


And there's even a reference to the CLOS specification reference document.

Since the book is suddenly turning the Big Circus way, let's not stop just here. A couple of pages later, there's an interview of Bjarne Stroustrup, for whom having invented C++ is obviously not enough, and so claims that

Currently, C++ is the best language for multi-paradigm programming.



That's it boys. These guys have no clue whatsoever.
:-(

Tuesday, March 17 2009

ILC 2009 (if everything goes well)

So I'm almost ready to fly to Cambridge, MA, for the International Lisp Conference, where I'm going to present my second paper on the behavior and performance of Lisp... well, that is, if my plane actually takes off. There's a general strike in France on thursday.

Why am I not surprised ?

This year, the conference will have lightening talks as well, so I figured I could take the opportunity to introduce my fellow lispers to Clon, the Command-Line Option Nuker. It's a library for managing command-line options in standalone lisp applications. It's not released yet (I still have some work to do in it) but it's close, so advertising it already is a nice way to sort of putting pressure onto myself...

;-)

Wednesday, September 3 2008

The hell with MuckPorts !

That's it. I'm done with MacPorts. Fink is the Way To Go (tm).

One year ago or so, I had come to the conclusion that I needed both of them on my machine: Fink was not very up-to-date, but at least it could provide binary packages ready for my Mac. On the other hand, the MacPorts had some bleeding-edge techno that I needed from time to time, but I had to compile everything on my machine which is absolutely ridiculous (have you tried compiling ghc recently ?).

But let's face it. MacPorts maintenance is a nightmare. I think that in one year, I could never reach a fully functional MacPorts installation. Let alone the regular buggy ports which can't even compile, I'm talking about the variant/dependency mess: impossible to upgrade the whole thing because there's always one package that depends on something that conflicts with something else; impossible to remove anything, including obsolete package versions and worse, including inactive ports, because there's always one package that depends on what you want to remove, even if you just want to remove an inactive variant.

For me, the result was an ever-growing installation with duplicate packages everywhere (sometimes, 3 or 4 different and unremovable versions with only one active). Yesterday, I eventually blew my last MacPort fuze when it hanged while deactivating whatever version of aalib, effectively freezing my installation: impossible to upgrade, remove, activate or deactivate anything. I then ended up orgasmatically typing "rm -fr /opt/local/", and you know what ? It felt good !!

Maybe I've missed something from the start. Maybe it goes smoothly for everybody else but me. But this boils down to the same conclusion. If I have to read 3 tons of documentation, semi-obsolete obscure wiki, FAQ, or web forums (oh boy do I hate them) to have the MacPorts behave, the hell with them. I want something that just works.

So here's the thing: Fink is the way to go. As of June 2008, Fink is ready for Leopard and Fink "just works". Yes, you still have to compile things at home, but it's starting to provide binary packages for Leopard already. And what's more, you get the apt/dpkg machinery (for an old Debian user like me, this is cool) because the guys are clever, you know, like, they didn't reinvent the wheel and decided on a package management system that "just works".

Here's my little advice if you want recent free software from the Unix world on your Mac 10.5:
  • download the Fink 0.9.0 binary installer and run it.
  • run "fink configure" and be sure to tell it to use binary packages if available, and to activate the unstable branch as well.
  • run "fink selfupdate" to get the latest point release. That will also let you use the rsync updating method afterwards.
  • run "fink selfupdate-rsync" to get bleeding edge stuff. This will also let you switch to the rsync upgrading method by default.


That's it ! Watch it populate your /sw/ directory... If you have Apple's X11 installed, Fink even provides system-xfree86 packages automatically. These are virtual packages for satisfying applications that depend on X11. You don't have anything to do; you can go "fink install gimp" right away.

Ah yes, one last piece of advice: the binary distribution is far from complete, so when you're looking for something, you'd better get used to use fink instead of apt, because you'll get much more information on what's available that way.

Fink about it man, fink about it !

Wednesday, March 19 2008

Domain Registry of America (for idiots)

I'm quoting this letter from DRoA that I've been receiving each year for some time now. It's called "Domain Name Expiration Notice", but would be more appropriately entitled "Domain Name Extortion Notice", you'll see why:

As a courtesy to domain name holders, we are sending you this notification of the domain name registration that is due to expire in the next few months [...]



This guys are soooo kind with us, domain name owners, that they even care to propose to switch the domain name to their company, for 26 euros a year, whereas I'm currently paying 5 euros for the same service. What else could we ask for !

I guess these guys were put to trial before. I remember the first letter I received from them; it was much more agressive and ambiguous; like "***WARNING*** if you don't renew your domain name RIGHT NOW by filling this form (theirs ;-)), your domain name will be lost". Now, instead of that, the warning says "This is not a bill"...

On the other hand, if they really send this spam by postal mail to every domain name owners in the world, no wonder they need to charge 26 euros a year !

Tuesday, October 23 2007

FP & DL: the future of OO (OOPSLA'07 again)

Some cool surprises at the "Celebrating 40 years of language evolution" panel this morning...

Under the general assumption that the next challenge to come in computer science is distribution / concurrency, I was quite puzzled to notice a general agreement from the panelers that the future in programming languages is going to be more functionnal than ever. I was not puzzled because I don't believe that will be the case (of course I believe so); I was puzzled to hear that coming out loud in a conference on Object Orientation.

Of course, it's not so surprising once you realize that there are people like Guy Steele among the panelers, but still, you know, it's comforting. It's good to hear. I'm also thankful to Guy for mentionning Lisp twice during the panel, once when talking about the Yahoo Store originally written in Common Lisp, and the next time, to compare Lisp to a black hole: once a language begins to look like Lisp, it is irrevocably sucked into it. Sure thing. Nobody blinked. Like if the whole crowd knew Lisp was the answer, and had nothing to reply. Strange feeling :-)

And the same guys, right in the open, complaining because the problem with OOPSLA is that there are too many papers on how to add XXX to Java. How cool to hear that! I wish they would go to ECOOP and say "the problem with ECOOP is that there are too many papers on how to add YYY to Eclipse"...

And then there was this guy from Microsoft, declaring that he was amazed at what the dynamic languages folks were doing, like meta-programming and stuff, and he believed that what we do in dynamic languages today is what will be done in static languages in the future.

Well, you know, after a panel like that, life suddenly seems beautiful.:-)

OOPSLA ! But no cigar...

So, you know, OOPSLA is a nice conference (it's nicer than ECOOP, by the way). Apart from one thing. Today I was deeply shocked when I discovered that lunch is not included in the conference fee (only people attending tutorials get to eat something).

This is the first time ever that I attend a conference, especially of that size, which doesn't provide sustentation for the attendees. A true scandal, if you ask me.

On the other hand, if the food is what I believe it is, seing the guys coming out of the lunch room, I think I'll consider myself lucky to have to get food by myself...

:-o

Wednesday, August 22 2007

WMSCI 2007

Again. The Nagib Callaos mafia hit me again :-) If you don't know WMSCI (the World Multi-Conference on Stupiditics, Catastrophics and Idiotics) yet, you should. That's the one and only conference where randomly generated papers are accepted.

So I just received this email again:

From: Reviewers Conference <wmsci2007.reviewers@iiis-info-cyber.org>
Subject: Thank you for your commitment to support us as a WMSCI 2007's
reviewer
Date: 16 Aug 2007 15:09:36 -0400

Dear Didier Verna:

On behalf of the Organizing Committee of The 11th World Multi-Conference on Systemics, Cybernetics and Informatics (WMSCI 2007), I would like to thank you very much for your commitment to support us as a WMSCI 2007's reviewer.

You are one of our few cases who did not receive from us a notice for their possible support in the conference reviewing process. The causes were the lack of submissions in your area and/or a bug we found in the program by means of which a random selection of the reviewers were made in the last conference. We are fixing this bug so it will not happen again in the future.

We would like to inform you that we maintained your name among the reviewers of the WMSCI 2008 conference. If for any reason you will not be able to support us, as a reviewer of the next conference, we will highly appreciate your information about it by means of a reply to this email.

We really appreciate your co-operation, and we hope we will have your support again for WMSCI 2008.


Best Regards

Prof. Nagib Callaos
WMSCI 2007 General Chair



So you know, the bug must be damn hard to fix because I'm receiving this email every year since at least 2003... But yeah, I'm gonna support them again, by not reporting this as spam, as I should.
French Flag English Flag
Copyright (C) 2008 -- 2018 Didier Verna didier@lrde.epita.fr