--NoDr - YGO--

7/23/2008

nouveau blog

Classé dans: — @ 2:26 pm

Je viens d’ouvrir un nouveau Blog qui à terme remplacera celui ci

yvan sur blogspot.com

avec un contact sur gmail
yvan [point] godin [arobas] gmail [point] com

mon eeePC

Classé dans: — @ 9:29 am


La fête des pères m’a fait un très beau cadeau. Un eeePC

l’OS

le système Xandros qui est dessus est plutôt sympa mais pas suffisant.

Je viens de le changer pour y mettre une eeeUbuntu 8.04. Plus long à démarrer mais tellement plus complet.

Les outils spécifiques

Dessus j’y ai posé sur une carte flash de 1Go supplémentaire avec mes environnement de dev. préférés qui fonctionnent tous particulièrement bien

  • PLT-Scheme (DrScheme V4)
  • Erlang R12b3
  • Factor

que du fun en perspective pour mes vacances

10/20/2007

Factor le retour

Classé dans: — @ 10:33 am

Daniel Ehrenberg ajoute une entrée sur son blog qui est une FAQ très complète concernant FACTOR que je vous invite à lire. Je vous conseille également l’agrégrateur de blogs Planet Factor .

Je continue d’observer les progrès réalisés par ce petit nouveau langage et je suis toujours autant impressionné. A la croisée de Forth, de Lisp et de slate, il s’agit d’un compilateur natif dynamique assez performant et multi-plateforme. Il est doté d’une interface graphique et d’outils d’aide au développement impressionnants ainsi que d’une librairie qui devient de plus en plus riche et enfin d’une FFI (Foreing Function Interface) excellente permettant la liaison de librairies C externes avec une grande facilité.

Il va falloir que je trouve une idée pour réaliser un développement avec.

7/18/2007

Mono - première impression

Classé dans: — @ 12:56 pm

Après avoir vu la présentation de Moonlight c’est décidé, ma prochaine étape, c’est mon auto-formation à Mono.
Mono c’est le clone de .NET de Microsoft mais dans le monde Unix/Linux.

Première partie: Installation sur mon KUBUNTU … c’est la galère ! rien de marche correctement. De nombreuses recherche sur Internet et des pistes … mais quand même je suis obligé d’installer des tas de composant Gtk/Gnome et de recompiler tout le bazar au complet pour que tout l’environnement se décide enfin à fonctionner. Ouf enfin ça marche.

Deuxième partie: Je reprends une application (non libre) que j’avais écrite en PLT-Scheme et hop je me la recode en C# et avec Gtk# pour la partie graphique.

C’est pas fini mais cela confirme déjà ce que je pensait C#c’est un peu mieux que Java mais ça reste infiniment plus lourd à coder que du Lisp. Sans un IDE c’est quand même pénible.
Alors j’opte pour MonoDevelop. Bien que jeune la version 0.14 est déjà très bien. Manque juste le débugger graphique qui est prévu en intégration pour la rentrée.

Comme mon application avait un besoin de scripting, je choisi L# un interpréteur Lisp bien sûr :-) . Excellent L#, l’interpréteur est très simple et d’un facilité déconcertante à intégrer. De plus il est capable d’exploiter l’intégralité du Framework .NET, pardon Mono. Par contre le projet semble peu actif. L’auteur parle d’un compilateur .. mais ça ne semble pas trop avancer.

D’ailleurs en parlant de ce FrameWork, il faut admettre qu’il est vraiment très riche et comme c’est directement utilisable avec tous les langages de .NET (pardon Mono) pas de prise de tête, pas de wrapper à écrire pour utiliser les morceaux écris avec l’un pour utilisation dans l’autre.

Pour finir j’ai choisi Gtk# pour la partie graphique. Cela me parait mieux et plus riche pour le monde Linux que les Windows Forms . De plus j’ai testé Gtk# sous Windows et ça marche nickel, un vrai plaisir.

6/17/2007

outil de test expression rationnelle REGEX

Classé dans: — @ 9:20 pm

Parmi mes attributions dans mon entreprise, je suis parfois amené a faire des formations, pour nos clients, sur nos produits.
Il s’avère que ces produits utilisent intensivement les expressions rationnelles (REGEX souvent traduit par expressions régulières). Je me suis aperçu que souvent ces expressions sont mal comprises ou pas très bien connues.
Je me suis donc décidé à écrire un petit programme très simple pour aider à l’apprentissage et au test d’expressions.

Si ce programme peut être utile à d’autre, je le livre ici sous licence GPL. Il est écris avec l’un de mes environnement préféré (juste avant Erlang), PLT-Scheme.
L’avantage de l’environnement PLT-Scheme est que cela fonctionne à l’identique sur plusieurs systèmes (Linux/Unix, MacOS, Windows) GUI inclus, que son IDE est extrêmement bien fait et qu’il existe de nombreuses et riches librairies (Planet)

L’installeur des binaire sous windows
Un fichier compressé TGZ avec les binaires Windows/Linux
binaires avec les sources

Si vous avez des problèmes ou des remarques à faire vous pouvez me contacter sur : yvan [point] godin [à] gmail [point] com

l’anneau monde

Classé dans: — @ 12:46 pm

Je viens d’acheter le livre l’Anneau Monde de Larry NIVEN

Sorti en 1970 comment ai je pu le rater ? C’est un super bouquin! De la science fiction comme j’aime, mélange de science et de fiction, de la vraie quoi … de la bonne ;-)

Alors si vous ne l’avez pas lu allez y sans hésitation, Pour ma part j’ai hate de récuperer la suite

  • Les ingenieurs de l’anneaux monde
  • Le trône de l’anneaux monde
  • Les enfants de l’anneaux monde

5/24/2007

théorie des cordes

Classé dans: — @ 8:58 pm

Comme moi vous êtes très moyen en math et en physique
Pourtant, comme moi, vous cherchez à comprendre ce que peux bien être la théorie des cordes

Vous êtes curieux ?
Alors suivez vite ce lien
Le premier d’une série de trois documentaires très bien fait de 45 minutes de France 5

Theorie-des-Cordes-1

Maintenant si vous en voulez plus, ce site est fait pour vous. Vous pourrez également retrouver dessus la plupart des théorie mathématique histoire de faire une bonne révision ;-)
A vos bookmarks
cosmologie supercordes

5/23/2007

SEAforth™-24A

Classé dans: — @ 9:03 pm

La Société intellasys a récemment annoncé un nouveau processeur, le SEAforth™-24A.

Destiné aux systèmes embarqués, ce processeur 18 bits basse consommation et faible dissipation contient 24 coeurs Forth indépendants, 2 convertisseurs A/D 18b et 2 convertisseurs D/A 9b, un port SIP, divers IO et un peu de mémoire embarquée.

A mon avis une super opportunité pour les amateurs de robotique et de systèmes embarqués. Ils fournissent également un outil de développement (émulateur et compilateur) libre et gratuit. Je vous invite à consulter leur site

enjoy

5/22/2007

PLT SCHEME

Classé dans: — @ 9:21 pm

Le groupe PLT SCHEME viens de fournir une nouvelle version de mzScheme/DrScheme/mrEd.
Principal changement le nouveau ‘Garbage Collecteur’ 3M plus précis, plus rapide et un JIT encore plus optimisé. L’ensemble donne des performances bien améliorées.

De plus Planet-scheme offre de plus en plus de modules et de librairies particulièrement utiles.

Enfin je vous invite à consulter le blog Plt Scheme Blog

10/25/2006

Are Floating point number usefull or useless

Classé dans: — @ 9:52 pm

Les nombres décimaux sont ils vraiment utiles en informatique

Quelques languages tels que Scheme, Common Lisp ou Factor (mais également d’autres) implémentent ce qui se nomme une Tour des nombres.

Celle çi propose les calculs à base de nombres dit exact ou inexact.

Généralement les nombres dit exact sont representés par des entiers de précision illimitée ajoutant dessus l’ensembles des nombres fractionnaires et souvent des nombres complexes.

Les nombres dit inexact sont les nombres décimaux. Ils sont inexact dans la mesure ou leur précision est limitée de part leur représentation. Plus encore, le cumul de plusieurs calculs sur des nombres décimaux augmente l’imprécision des résultats.

Si on regarde bien, le processeur ne connais pas les nombre décimaux par contre il manipule particulièrement bien les nombres entiers. De plus si vous examinez de plus près les systèmes d’entrées/sorties il sont aussi entièrement basé sur la gestion de nombres entiers. Pe exemple
- les lignes/colones de l’écran
- les pas d’un moteur pas à pas
- les convertisseur analogique/numérique

En fait la plupart des matériels que je connais utilisent systématiquement une représentation qui est d’origine entière. Alors pourquoi ne pas conserver cette représentaion entière, fractionnaire exacte pour effectuer tous nos calcul. Je ne suis pas certains que ce serait moins efficace que les actuels calculs décimaux et les FPU ppourraient laisser la place à des ALU intégrant plus d’opérateurs destinés aux entier long et aux fractionnaire .

Alors la question qui se pose est: Les nombres décimaux sont il vraiment utile en informatique. Je veux dire a part offrir une représentation mieux adaptée pour notre vision à nous humain.

comme toujous, vous pouvez me concater et répondre sur nodrygo [chez] free [point] fr

bad english

Some languages, mostly based on Lisp dialect, implements NUMBER TOWER.
This provide exact and inexact computation.

Most often, the number tower provide integer with illimited precision, rationnal, complex . Rationnal numer calculation is probably as fast as floating point and provide absolutly exact results. With rationnal we could be able to do any kind
of calculations avoiding floating point use.

Inexact mean floating point number. Floating point are not only
inexact but with them errors propagates an increase along stream of calculations.

If we look at how computers handle number it seem obvious they work
only on integer basis. If we look on In/Out hardwares they also obey to
only one rule … integer some exemples
- screen space for display row/line are integer
- step motor to pilot some mecanical … only integer
- vidéo-audio devices transform analog signal to numeric integer based

Now the coming question is: are the inexact number usefull or useless ?

In fact, all the input devices I know use integer to transmit information and only
human realy need the use of floating point to get a better vision of
numbers representation.

Using only exact calculation mean good for computation. So why use
floating point ? Any idea ?

As usal you can mail me at nodrygo [at] free [dot] fr

9/17/2006

Dr Scheme

Classé dans: — @ 3:58 pm


Still coming-back to Lisp, I am now trying the PLT Scheme collections and here is my point of view.

My first impress is it is well finished and comes ready to run with full
battery included. This is important because too many times, for others
tools I have to struggle and spend a lot of time to get a complete
ready environment.

DrScheme

This is a very good IDE and not for tutorial only ;-).
One of the things that could be better would be the capacity to reload a
function without restarting the running soft while debugging. Something
like select a block of code and with right mouse button saying ‘RELOAD
this funtion in current running environment’.
I have also read some rumor on the Internet for an up coming macro
debugger :) hope it will be soon integrated to DrScheme.

MzScheme

I had a look at it few years ago finding it slow, but nowaday with it’s
new 3m GC and JIT it leave a very good feeling.
Even if not as fast as C or SBCL, MzScheme is now very close to Erlang
Hipe performances. Of course faster will be better ;-) permitting not to
use C code.
Fortunately, with the FFI integrate external C code seem now really easy to link with fast C lib. (don’t know about CALLBACK ?)

I really like most of the Erlang concept but find Erlang language a
little bit too restritive. In their want to restrict developpeur in
their mistakes, the Erlang compiler act as a real dictator not
permiting other mode of code than non-mutable funtional program.

I far prefer CommonLisp or Scheme leaving the developpeur doing what he
want to do even if it is dangerous. Everybody should have the choice
to do what he want to do (software only;-). Erlang is really great for
network back-office, safe, applications but not well suited for heavy
graphical or multimedia coding.

I am pretty sure that, with its green thread,network capacity
and really very great custodians, MzScheme is not so far to be able to
propose some Erlang like functions. May be, nowaday, the main lack is a
general serialisation system.

MrEd

Even if its look and feel seems a bit old, it is really a good library.
Based on wxWindows it offers all the things you may need to build a real
application including a real PRINTING multi platform. This may seem
stupid, but, to me, PRINTING is an important part for software building
that most modern GUI library should provide.

For the old look I am pretty sure that with a few trivial additions we can
get a not too bad GUI. Among lack:

  • change forecolor for all widgets
  • change background color (even better with predefine radial/linear gradian) for all widget
  • borderless ‘button’ with 2 state graphical images (normal and clicked)
  • Probably less trivial but very useful for WEB applications: streaming out for
    images

WEB

HTTP Server:
interesting but some lack like Virtual Aliases for virtual Server or
support for HTTPS

WEB with continuation is certainly interresting for reseach but
problematic for real word. They exclude all kind of LOAD BALANCER or
the ADD/REMOVE serveur on the fly without lost of session (except is
somebody invent a Distributed/Replicated continuation system ;-) ). However DrScheme add a very, very interesting SERVLET API.

XML

DrScheme should integrate the Lizorkin XML lib. in place of actual one wich is a little bit limitative.
(http://modis.ispras.ru/Lizorkin/index.html)

Database

Except StrPersist there is the lack for something as powerfull as CLSQL (http://clsql.b9.com/)

(I am investigating in SEDNA XML database (http://modis.ispras.ru/sedna/quickstart/QuickStart.html) witch provide
an API for PLT must I am net yet convinced

PlaneT

Very great tool and could be even better if it could provide, in near future, a
graphical front end to install/show planet available or already
installed software.

Cherry on cake

for Windows users:

  • MysterX and MzCOM for COM/DCOM/ActiveX interface>
  • SrPersist for ODBC

for all platform

  • openSSL
  • openGL
  • Slideshow
  • and a lot of other one …

To conclude, PLT Scheme collection is one of the best, complete , open source, ready to run and free development tool I have seen for a long time.

However I am not a layer and wonder if the LGPL really permit to use PLT soft in a pure non-open/commercial application. I also wonder if the LLGP shouldn’t be better there.

6/11/2006

HOP

Classé dans: — @ 8:23 pm

HOP est un nouvel environnement destiné à l’écriture de services (weblets) WEB 2.0. en utilisant au maximun les capacités du DHTML, de Javascript et AJAX.

La démonstration et la doc en ligne sont vraiment impressionnantes.

Toutefois, après avoir expérimenté en local cet outil, je me demande si c’est réellement utilisable dans le cadre de développement de produits réels. J’ai des doutes sur la capacité de monter en charge ainsi que sur les temps de réponses tant pour la partie script côté serveur (interpreteur scheme) que pour la partie GUI écrite en javascript et pas très véloce y compris sur des machines récentes. L’outil étant écrit en BIGLOO il est probable que des parties sensibles pourront être ré-écrites et compilées en BIGLOO.

De plus cet outil fonctionne sur la plupart des navigateurs modernes à l’exception de IE-5 et IE-6 ce qui semble quand même assez rédhibitoire.

Pour la partie développement, les systèmes à base de continuation, comme c’est le cas pour HOP, ont, à mon sens, des faiblesses génantes dans un cadre WEB réel. La gestion de ces systèmes ne permet généralement pas l’utilisation de ‘LOAD BALANCEUR’, pose souvent des problèmes importants pour la gestion des fonctions BACK et ne permettent pas de Bookmarker les URL.

De plus je n’ai pas trouvé le moyen de modifier dynamiquement les services sans avoir à relancer le serveur pour prendre en compte mes modifs (c’est peut être une mauvaise utilisation ou incompréhension de ma part).

Pour finir, ce système se positionne comme : soit un serveur autonome, soit un proxy entre le navigateur et un serveur WEB application 3 tiers classique. Dans ce cadre, je ne suis pas certain que HOP tienne vraiment la charge en tant que proxy sur un site un peu chargé.

Ces réflexions ne doivent pas conduire à la conclusion que HOP est inutilisable. Je pense juste que l’idée est bonne mais que l’outil doit encore connaître des évolutions avant de devenir un système vraiment intéressant

5/30/2006

Lisp coming back

Classé dans: — @ 9:56 pm

Long time ago when doing AutoCAD support and AutoLisp development I had discovered pleasure of Lisp coding.

Nowaday I have got on amazon the “PRACTICAL COMMON LISP” book and I discover again this wonderfull language.
I am seriously looking on SBCL (Steel Bank Common Lisp) a very good, fast and portable Common Lisp.

I am also looking for MCCLIM even if old and ugly graphical library. Probably I’ll try to write some little code on it.

Of course Erlang is still in my target, but should be great to have the both on one powerfull language like Lisp. Something like cl-muproc ;-)

retour au Lisp

Classé dans: — @ 9:14 pm

Il y a très longtemps, à l’époque ou je faisais du support, du développement et de la formation sur AutoCAD, j’avais découvert les joies du Lisp à travers AutoLisp ainsi qu’un peu avec LeLisp 1.5. Puis les temps et les modes changeant, je l’avais un peu oublié.

Aujourd’hui j’ai acheté et reçu l’excellent livre “PRACTICAL COMMON LISP” qui me permet de me re-plonger dans cet univers fabuleux du Lisp. Je commence à regarder de très près le SBCL (Steel Bank Common Lisp) qui offre un compilateur natif performant sur Unix/Windows. Ce livre récent (2005) mélangeant concept et code pratique est vraiment bien fait et je le conseille à toute personne souhaitant s’investir dans l’apprentissage du Common Lisp. Seul inconvénient potentiel pour certain, il est en anglais.

Je crois que je vais investir également un peu de mon temps à étudier MCCLIM qui parait intéressant malgré un look un peu austère, voir archaïque.

4/20/2006

retour aux sources des langages informatiques

Classé dans: — @ 9:45 pm

Depuis quelques mois on assiste à un retour en force d’un des plus anciens langages de l’informatique.

LISP, que j’ai découvert à la fin des années 80, à une époque ou je faisais du support et du développement pour Autocad et AutoLisp ainsi que du Le Lisp 1.5, reste à mon avis un des meilleurs langages qui soit. Hélas ce dernier boudé par l’industrie ne m’a jamais permis de trouver des entreprises l’utilisant pour de grands projets. LISP avait la mauvaise image d’être interprété, lent et plutôt destiné aux problèmes d’intelligence artificielle. De plus de nombreux développeurs ont des difficultés pour manipuler des langages fonctionnels. Malgré des évolutions importantes offrant des compilateurs presque aussi performants que du C++ et des librairies capables de répondre à n’importe quel type de besoins, LISP est resté marginal.

Après un grande traversée du désert, on voit désormais ré-apparaître des tas de projets essentiellements orientés COMMON LISP. Le problème majeur est que les environnements les plus aboutis ne sont ni libres ni gratuits (voire même onéreux). Toutefois une version libre semble émerger du tas. Il s’agit de SBCL, un environnement très portable, embarquant un compilateur natif dynamique particulièrement efficace, porté sur divers processeurs / OS et donnant accès à une très riche collections de librairies qui lui sont compatibles. C’est avec cet environement que je souhaite faire mon retour dans l’univers du LISP.

Pour en savoir plus sur ce sujet je vous invite à regarder cette page pleine de références, et surtout de lire cette étude comparative faite par la NASA, concernant le choix d’un langage parmi Lisp, Java, C++, Python et Ruby pour un de leurs besoins. LISP est considéré comme un langage de langage et les possibilités qu’il offre sont énormes et peu d’autres langages permettent une telle puissance d’expression. De plus il a été démontré qu’il permettait un niveau de productivité et de maintenabilité particulièrement supérieur des JAVA ou C++.

Pour ma part je conseille également ces excellents sites

En conclusion je dirais que les versions libres de common Lisp deviennent vraiment intéressantes, même si elles souffrent encore un peu d’un manque de finitions.

Dans un monde idéal, il faudrait pouvoir leur ajouter des évolutions, que je considère comme majeures et mises en oeuvre dans le langage Erlang : La programmation orientée processus distribuée et les programmes haute diponibilité. Bien que des tentatives aient été réalisées dans ces domaines pour common Lisp, elles restent loin de ce que sait faire un Erlang.

Des livres :
Un traite de programmation en Common Lisp et en français
Le célèbre Practical Common Lisp (en anglais)
Les spécifications de Common Lisp - HyperSpec (en anglais)
et l’excellent OnLisp (en anglais)

3/6/2006

ERLRT

Classé dans: — @ 9:55 pm

ERLRT - Erlang runtime

Mickael Remond vient de mettre en ligne sur le site Process-one un ensemble de paquets pour créer simplement des runtime Erlang pour divers OS. En mode standard développement ou minimum run-time afin de pouvoir installer simplement les modules nécessaires à un besoin particulier sans embarquer des megas de choses pas toujours utiles dans le cadre de certaines applications.

Je trouve que c’est une excellent initiative et un bon début pour faire des installations à partir d’un reférentiel centralisé. Ne reste plus qu’à gérer l’épineux problème des versions

A noter également une nouvelle version de REPOS 1.4 beta2

3/2/2006

Article sur Erlang

Classé dans: — @ 6:59 am

Mickaël Rémond a posté un article en francais sur Erlang qui est une petite introduction au langage.

Pour ma part je travaille toujours (lentement) sur une application Erlang/Yaws/mnesia ajax/json. Pour cela je me suis construit une mini-librairie pour gérer plus simplement les sessions, la persistence avec des variables de session et des mécanismes pour me simplifier l’utilisation d’ajax/json. Je posterai bientôt ici mon htool et quelques pages de démo.

2/5/2006

Calendar for Factor 080

Classé dans: — @ 12:40 am

Update release for of calendar Factor 080

calendar80

As usual, probably buggy, so use it at your own risk

2/3/2006

Process-one et J-eai

Classé dans: — @ 10:11 am

Excellente nouvelle sur le front Erlang en France

Process-one, la petite société qui monte, propose une offre de services et d’assistance basée autour d’Erlang, de Ejabberd et de J-EAI.

J-EAI et EJABBERD

Process-one met à disposition une nouvelle version de J-EAI.
Pour ceux qui ne savent pas encore, Ejabberd est un serveur de messagerie instantanée basé sur le format XML. Ejabberd peut être fortement distribué et ainsi offrir une forte montée en charge.

J-EAI est un EAI qui utilise Ejabberd comme support de transport. C’est un outil d’intégration d’applications, Inter ou Intra organisations, basé sur le protocole XMPP. J-EAI permet de fonctionner en cluster et offre la très haute disponibilité nécessaire à ce type de besoins.

1/29/2006

some news

Classé dans: — @ 7:39 pm

Ubuntu on my new Laptop - ACER 1650

I have just leave my Linux Mandriva to try la latest UBUNTU and I like it a lot. Very easy to install and update with APT-GET, it is a very good distribution powered with plenty of help on wiki site.

Factor and robots ?

I am not very active on Factor but I read on it’s evolution each day .
I still convinced that Factor may offer a lot on many area and more especially on a very interesting domain : ROBOTICS .

I am in the process of thinking to buy an embed Linux board FOX. Note really the fastest one, but with an cheaper price. If I do that, complicated things will arise because I will have to port Factor C and assembly part on it. Fortunatly the full Linux SDK is provided.

I am more and more convinced that Erlang concepts put on Factor ( partially done by Doublec may tranform Factor in a sucessfull language for robotic. I am also convinced that only very dynamics (intropospectifs / intercessifs) are essentials needs for this domain
Modern processor are fast but needs too important cooler system to be usable on this domain. So less fast processeurs with heavy distibution and concurrency may be the good answer

Now why Factor instead Erlang or Java.
Java is a too static language with a too unstable and not scalable jvm. More of that Java is a pig RAM eater in front of few memory ressources provider by embed board.
Erlang can be a good choice. Very stable, very scalable, heavily concurrent and distributed but a semi dynamic language and the compiler and Hipe seem very complex to hack. Also I am not sure 16Mo RAM enougth for Erlang core.
Factor is very easy to learn and very dynamic and things can be updated or added and compiled while running. Factor image is little and consume few memory. Factor is very pliant and the compiler and assembler seem more easy to adapt for a new processor. Concurrency and distribution seem not too complex to add. To conclude Factor seem very suitable for robotic needs ;-)

If a go futher on this way (according the coast of board and my free time not become a too heavy constraint) then next step will be the connection of my PIC 16F877 with the embed board.

Jot that another way is to use gumstix etherstix pack . The problem, for France is the coast for VAT and transportation give a very higth final price.

as usual you can send me a comment at : nodrygo () free.fr

Réalisé avec WordPress  visitors