--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

quelques nouvelles informations

Classé dans: — @ 12:33 pm

Après une période d’inactivité (hibernation), voici quelques nouvelles.

Ubuntu sur mon nouveau portable - ACER 1650

Je viens de passer le pas! Quitter la distribution Linux Mandriva pour passer à Ubuntu. Bien qu’un peu moins conviviale sur l’installateur, cette version est excellente. Je la conseille tant pour les débutants que pour les experts. Basée sur Debian elle dispose du fameux “apt-get” qui simplifie bien l’installation et la mise à jour de logiciels.
D’autre part, une communauté très active (y compris en Français ce qui parfois aide bien ;-) ) permet d’offrir plein de réponses aux difficultés d’installation. Pour ma part c’est la gestion de la batterie sur mon portable qui est concernée mais j’espère que ce sera bientôt chose faite .

Factor et robotique ?

Et oui, même si je n’en parle pas trop, je continue de suivre les efforts fait sur ce langage.
Je suis toujours convaincu, que Factor a beaucoup à offrir dans un domaine qui me “chauffe” de plus en plus. Je parle bien entendu de la domotique et de la robotique.

A ce propos je suis en phase de reflexion sur l’achat d’une carte embarquée. La carte ‘Linux ready’ FOX avec sa connexion IP et USB me parait un excellent compromis entre prix et capacité. Si je passe le pas il ne me restera plus alors qu’à embarquer Factor dedans .. pas une mince affaire puisqu’il faudra probablement ré écrire une partie de l’assembleur en Factor pour profiter du compilateur Factor.

Je suis de plus en plus persuadé que les concepts de Erlang rapportés à Factor ( chose déjà partiellement faite par Doublec seront un élément de succès pour le développement de la robotique. D’autre part je suis convaincu que seuls les langages dynamiques et fortement réflexifs (intropospectifs et intercessifs) pourront être la réponse finales dans ce domaine
Afin de compenser la faible vitesse des processeurs embarqués, la seule voie possible semble être la distribution massive. Bien entendu les processeurs modernes et rapides chauffent beaucoup trop pour être utilisables dans de tels contextes !

Maintenant pourquoi Factor plutôt que Erlang ou de que Java.
Java est un langage totalement statique basé sur des concepts archaïques, ajouté au fait que sa JVM est d’une stabilité douteuse et Java est un porc en terme de consommation de mémoire (la carte Fox ne laisse que 16Mo aux applis).
Erlang pourrait être un bon choix, très stable, orienté processus concurrents et distribués, pas trop gourmand en RAM par contre le JIT Hipe me semble bien trop complexe à adapter pour un nouveau proc. et je ne suis pas certain que 16Mo soit suffisant.
Factor est relativement simple par rapport à ces 2 autres compétiteurs. De plus il est extrêmement dynamique, très peu consommateur de mémoire (une image complète de Factor tient sur - de 4Mo et utilise - de 16Mo). Factor est un langage particulièrement souple qui permet des adaptations simples et efficaces, même en cours d’execution. Encore une fois, apporter les mécanismes d’Erlang (processus concurrents distribués, changement de code à chaud …) ne semble pas hors de portée et donneraient à ce langage toutes les qualités nécessaires pour faire des systèmes de robotique évolutifs et performant (je ne parle pas içi de l’aspect mécanique de la chose bien entendu).

Si je poursuis dans cette voie, ce qui n’est pas encore gagné car il faut faire des investissements tant financiers que temps libre (qui est toujours une denrée rare), alors l’étape suivante sera de connecter mon contrôleur PIC 16F877 sur la carte FOX. Le PIC servira uniquement à effectuer les IO et les conversions Analogiques/Numérique alors que la carte FOX sera le coeur du systèmes.

A noter qu’une autre solution, un peu plus onéreuse, mais meilleure en capacités/performances, pourrait être l’achat d’ un pack gumstix/etherstix. Le seul problème est de trouver un revendeur en France car les taxes et frais de tranport depuis les US augementent très singulièrement le coût de cette solution.

comme toujours vous pouvez me contacter à l’adresse : nodrygo (chez) free.fr

12/28/2005

ADSL BACK

Classé dans: — @ 10:27 pm

FR

Enfin le retour de ma ligne ADSL et ce n’est ni grace à Free ni grace à France Télécom.
France Télécom qui après un test “MIRABEL” me fait venir un technicien pour m’entendre dire par ce dernier que ma ligne est correcte et qu’il me facture 96€ pour le déplacement car il considère que ce n’est pas de la responsabilité de F.T.
Ledis technicien change quand même le bornier d’arrivée F.T et repart alors que mon ADSL est toujour KO.
Puis un SMS en provenace du SAV F.T.m’indique que le problème de synchro ADSL est résolu. Malgrés cela ma ligne est toujours sans accroche de synchro !!
Un peu énervé je regarde moi même et constate que des dominos avant le bornier (responsabilité F.T) connectent des fils TOTALEMENT OXYDES. Je décide de refaire le travail de ce technicien peu scrupuleux et peu compétant pour m’apercevoir que le problème est completement réglé par cette opération. F.T. m’arnaque donc de la somme de 96€ pour un travail NON FAIT. J’espère que cette entreprise va perdre de plus en plus de part de marché pour cause de médiocrité dans ses relations et services au client car cette attitude est des plus déplorable.

Enfin tout ces soucis et temps perdu pour passer de un peu moins de 1Mo à environ 1.7Mo en mode dégroupé partiel … NO COMMENT !

EN

After a long period,2 month, my ADSL is back. This mean my blog will reborn to world

11/29/2005

ADSL still out

Classé dans: — @ 10:09 pm

20 ieme jour sans mon ADSL……Je confirme ! l’après vente de FREE c’est d’une médiocrité en dessous de tout.

15 ieme jour sans ADSL. Pas très efficace l’après vente de FREE !!! Un ligne qui marchait bien a 1Mo, un dégroupage partiel non requis et hop …plus rien.

11/21/2005

lancement d’un nouveau projet

Classé dans: — @ 12:32 pm

FR

Pour répondre a la demande d’une collègue et amie, je viens de démarrer le développement d’une petite application répondant à ses besoins. Bien que ce ne soit pas d’une grande utilité pour ce type d’application, j’ai choisi de la coder en mode application web avec un soupson d’AJAX et une pincée de SVG. L’objectif pour moi étant d’aborder ces technologies pour les étudier. J’ai choisi comme support Erlang/mnesia/yaws plus par plaisir personnel que par nécessité. Je mettrais un peu plus d’informations ici quand le projet aura pris un peu plus consistance.

EN

Trying to answer a friend request, I have started a new program using Erlang/mnesia/yaws. There is no particulars needs for Erlang except I like it . I’ll do it as a web application only because I want to learn some AJAX and SVG concepts. Further informations on this in few time.

11/17/2005

nouveau portable … plus ADSL

Classé dans: — @ 12:05 pm

j’ai récupéré un portable (ACER 1560) en remplacement de l’ancien .. je devrais être content !
Mais même pas
ACER ne fourni pas les CD windowsXP .. il faut se faire un backup soit même :-(
La machine me pose des petits problèmes avec Linux :-(

Dans la même période FREE m’indique d’autorité qu’ils vont me dégrouper partiellement … seulement voilà depuis plus de 8 jours maintenant plus d’Internet !!!!!! c’est vraiment cool le haut débit. Pourtant moi j’étais satisfait de ma ligne à 1Mo.

11/7/2005

CALENDAR 068

Classé dans: — @ 9:59 pm

New Release 068

calendar068.tgz

First release with date and calendar working

Aligned with last release of Factor 079 (unit test probably not updated but all rest work)

This release of Factor (079) provide a lot of change and the new UI doesn’t work on my Linux Mandriva
(give an Out Of Memory error probably related to [ SDL_GL_SwapBuffers ]
)
I have also try this release on Windows 2000 - work fine even the UI

New Release 067

calendar067.tgz

First release with date and calendar working

not tested deeply but this release should work for both 2 two datas types calendar and date. Please use it and send me bugs report

You may send comment to : nodrygo at free dot fr

10/23/2005

CALENDAR 066

Classé dans: — @ 10:30 pm

New Release 066

calendar066.tgz

somes bug corrected, lot of simplifications an a workaround for the last one. This workaround serve to pass a bug I can’t understand. The weekday is previous dayfor leap year :-( so workaround correct that
There is not documentation yet.

This release bring two types:

  • DATE

    is millisec based since 01/01/1970
  • CALENDAR

    is seconds based since 01/01/00 BUT NOT FINISHED … please do not use it
  • date

    create a today date tuple
  • parse-date-fr

    date parser exemple
    this word should create a vector { timelag hour min sec day month year } then call vector>date
    (eg: “25/07/2005 16:12:18″ parse-date-fr )
  • format

    date formater
    Use a format vector using some Keyword ( %day=day-name %month=month-name %Y=year %M=month %D=day %H=hour %M=min %S=second)
    eg: { %day ” ” %D “/” %M “/” %Y ” ” %h “:” %m “:” %s } format .
  • print-month

    year month printer
    eg: 2004 1 print-month
    Jeudi 01/01/2004 00:00:00
    Vendredi 02/01/2004 00:00:00
    Samedi 03/01/2004 00:00:00
    etc…


Some exemples

date dup { %D “/” %M “/” %Y ” ” %h “:” %m “:” %s } format parse-date-fr { %day ” ” %D “/” %M “/” %Y ” ” %h “:” %m “:” %s } format . { %day ” ” %D “/” %M “/” %Y ” ” %h “:” %m “:” %s } format .
“25/07/2005 16:12:18″ parse-calendar-fr { %day ” ” %D “/” %M “/” %Y ” ” %h “:” %m “:” %s } format .

10/3/2005

Calendar Updates

Classé dans: — @ 8:00 pm

Rel: 052

dates052.tgz

Very few modifications - code cleaning


Calendar become Dates Rel: 051

dates051.tgz

Start of some code cleaning and a major change for name

CALENDAR become DATES

WHY :
Main differences with dates and calendar are:

  • date:

    is millisec based
    limited to timespace 01/01/1970 > today
    limited in computations (days+/hour+/minutes+/seconds+)
    use GMT timelag but no timezone
  • calendar:

    (this will be built in far far futur)
    seconds based
    not limited in timespace (since 01/01/0000 to defined)
    Gregorian or other possible
    permit direct setting for day/month/year
    adding year/month/day/hour/minutes/seconds according timezone
    use timezone (winter/summer time according timezone)


Rel: 05

calendar05.tgz

Many changes according Slava suggestions that simplify the code by a lot
WARNING this release doesn’t work with date < 01/01/1970
this is a major bug. Next release should resolve this issue (I hope).
There is still some parts to simplify and finish.
This code si NOT WELL TESTED and it may containt bugs !!!

  • New generic formater

    { %D “/” %M “/” %Y ” ” %h “:” %m “:” %s } datefmt .
    Give “25/07/2005 16:12:18″

  • Calendar functions


    localedate

    give locate value of milliseconds according timezone

    fulldays

    number of days since 1/1/1970

    year

    Year number

    month

    Month number

    monthname

    Name of the month according locales

    day

    Day number

    dayname

    Name of the day according locales

    hour


    minutes


    seconds


    timezone

    Value of timezone GMT based

    hour+

    Add N hours to calendar

    min+

    Add N min to calendar

    sec+

    Add N sec to calendar

    day+

    Add N days to calendar

    Parser

    Warning parsing is limited to date > 01/01/1970 (anterior date give negative millis:-( probably I should change the internal representation for millisec or hack for negative number ).
    calendar-builder take a list in the form [ gmt h mn sec jj mm yyyy ] and build the date. The string date can be parsed like on the exemple parse-fmt-fr in locales.factor.

    - Now all the fiels are computed on demand. Hope this is fast enougth.
    - Now I have set by default
    2 “timezone” set ! default GMT + 2

    “fr” “locales” set ! defaut locales france

calendar05.tgz


Rel: 04

  • few modifications and changes for Factor 078/079

calendar04.tgz

Rel: 03

  • Add simple date parser
  • not sure it is bug free

calendar03.zip

not sure it is bug free

calendar03.zip
Exemple of use
“25/7/2005 16:12:18″ parse-fmt-fr .s
<< calendar [ ] 1122307938000 12989 58338 2005 206 7 25 16 12 18 "fr" 0 "fr" >>
calendar>string .
“25/7/2005 16:12″

Of course you need to write your own parser using parse-fmt-fr as exemple
Now I am stopping for few time on calendar , trying another things on Factor

Rel: 02

Following slava comments, some simplifications

  • remove stupid t f ?
  • remove unusefull GENERIC
  • still TODO replace contain? by member? and string date parser

Still the same request on TUPLE

How to remove some mutator field: >> :private thing ?

calendar0.2.zip
Exemple of use
new-calendar
dup calendar>string .
“20/7/2005 7:47″
dup “fr-full” swap set-calendar-locale
dup calendar>string .
“Mercredi 20/7/2005 7:47:49 GMT:0″
dup 2 set-timezone
dup calendar>string .
“20/7/2005 9:47″

warning still probably buggy

9/28/2005

Pliant remember

Classé dans: — @ 9:20 pm

Today I remembered a language I have tested few years ago !
Looking on the site I have seen that Pliant is still alive and release are evolving. I have stopped to use it because I dislike the licence and also the need for pointer here and there. Seem to me there are some ideas in common with Factor but Pliant has a lot more librarians writen in Pliant (http smtp pop ftp dns … client and server part , XML database, X11 backend etc…) .
The language is not so bad, however I still prefer Factor and Erlang.

There is some remaining very old pages of mine on this subject.
doc on style extension and html builder. Probably this not work on the current release ;-)

I think, Hubert Tonneau, father of Pliant, should remove this old reference to my stupid work on this site.

It is also funny to see the visit I got on my own site with google as referer for request Pliant ;-) probably I should erase those old pages.

9/26/2005

Factor weblog moved

Classé dans: — @ 5:44 am

New location for Slava Pestov Factor Weblog

Unfortunatly the http://meme.b9.com/ Factor channel logs is not responding since 2 days. I think that Factor really need a Mailing List.

9/23/2005

Erlang cité dans LEA

Classé dans: — @ 2:11 pm

Cool,
En allant sur le site LEA partie Trucs & astuces de Léa je découvre qu’ Erlang fait partie des languages qui sont cités
C, C++, Shell, PHP, Perl, Python, Erlang, etc…
http://lea-linux.org/trucs/rub.24.html

Erlang serait il en passe de devenir une référence ?

9/21/2005

BAD DAY

Classé dans: — @ 8:10 pm

Après les aléas de la SNCF, un retard de 40mn le matin et un autre de 2H le soir à cause de matériel défaillant, la journée c’est terminée par une chute de ma personne. Par chance(pour moi)/malchance(pour lui), c’est la sacoche de mon ordinateur portable qui a amortie ma chute. Hélas l’écran du portable n’a pas aimé du tout :-( .

Conclusion plus de portable pour profiter des très nombreux retards de la SNCF. Ya des jour comme çà ou on ferais mieux de rester à la maison !!!

9/15/2005

Erlang et Ejabberd

Classé dans: — @ 6:25 am

Je viens de découvrir une société française, process-one qui intervient dans les environnement parallèles et haute disponibilité logiciel en utilisant les technologies Erlang, ejabberd et J-EAI .

Ils sont à la recherche de contributeurs
* Je cite Les contributions de développeurs individuels ou de sociétés sont les bienvenus
alors si vous lisez ce blog et que vous êtes intéressé, vous savez ce qu’il vous reste à faire

9/11/2005

SPAM

Classé dans: — @ 9:00 pm

Les commentaires de ce blog ayant été ’spammé’ j’ai décidé de les fermer pour l’instant. Si vous souhaitez me contacter, un simple courrier à nodrygo devrait faire l’affaire. le domaine restant free point fr. Cette adresse est dotée d’un anti ’spam’ assez virulent, tout message ambigü sera détruit.

8/28/2005

Erlang GUI

Classé dans: — @ 7:39 pm

(english text below )

Version française

Erlang offre un certain nombre d’avantages pour écrire des programmes de type ‘Back office’. Par contre il reste relativement faible pour la création de logiciels à fortes composantes graphiques. La couche GS, basé sur TK est archaîque, peu efficace et pas tès jolie.
Je pense que l’idéal pour Erlang serait une connexion vers wxWidget. wxWidget est une librairie graphique portable offrant de nombreux atouts. Un des points de failblesse de la plupart des autres GUI est de ne pas prendre en compte la capacité de faire de l’impression multi plateforme. C’est pourtant un point essentiel à tout programme. En ce domaine wxWidget se démarque particulièrement bien offrant une API permettant cet exploit.
La richesse de wxWidget serait un atout important pour un language comme Erlang.

In english

Erlang have a lot of avantages for back office code writing. On the other side there is some lack for GUI coding. The GS layer, based on TK, il a bit old and ugly.
I thing that one of the best portable GUI nowaday is wxWidget. Should be great to have some binding between Erlang and wxwidget.
I think the most important thing on wxWiget is not it’s GUI part (most of GUI are close each other in this area) but it is it’s ability to provide a platform independant printing system. Most of the GUI only provide screen painting but lacking the most important:! Printing.
Having wxWidget as GUI for Erlang could be really great because GS is ugly, EX11 is a toy and GTK offer less functions than wxWidget.

Who is NoDr YGO

Classé dans: — @ 2:00 pm

Fisrt of all, let me say I am not English native, (easy to see isn’t it - so please be tolerant - also you can send me corrections if you want :-) )
Because most of the thread/blog I usually read are prefixed with Dr Wise or Dr XY I have chose the No Dr. (guess why).

I am a 50 years old man and I have started my professionnal life, spending 15 years in building electronic board with C.A.D system before understanding software was more fun.
I am entirely self made in this area. Starting with Fortran-4 for writing some CAD little tools I have learned a lot of langages like Lisp prolog C/C++ VB Python Perl (and a few on smalltalk /squeek) and more recently Erlang and Factor.

I have worked fo lots of compagny, including Olivetti in multimédia, internet(web) and cooperative work (workflow).
Nowaday I am working for Witbe (http://www.witbe.com) I am mainly in charge of our Linux/Apache/Tomcat servers and developping some code with J2E. Despite my attemps Witbe never accept to try Erlang against Java.

Now I have 20 years of professionnal life software related, and I always like to follow the most recent development (Internet and Google are our friend ;-) ) .

I am mainly interessed by softawe development (Eralng, Factor) and electronic (PIC, FPGA and Robotics) and I plan to make a little domotic heat controller for my home.
My main interests centers are:

  • FACTOR

    Factor is an amazing new langage and have a very impressive potential even if not yet ready for industry.
     
  • ERLANG

    Erlang is strong industrial language with software fault tolerent built in. I really like the asynchronous lite thread, the distributing system and the tools provided with. Erlang in my mind is far before Java even if little bit slower and not well adapted for GUI programming.
  • PIC Forth compiler

    I want to build a domotic heat controller. Master clever part on PC connected through a serial line to a Slave PIC (16F877) based. The PIC will be in charge of measument of temperature and control of power relay. More on this one day on my blog (if I find enough free time (this is the most difficult part of this project ;-)
    Programming a PIC in assembly is a tiedous task and I will probably use PICFORTH because it provides better programming level, fast and lite code generation and smaller code than C .
  • ROBOTICS & ELECTRONICS

    I am also very puzzled by robotics evolution and I usally read LA VIE ARTIFICIELLE.
    I had a look at FPGA but have not really used them … a little bit expensive for just playing .. this is a pity because I am pretty sure there is a lot of things to do with.
    I don’t know if I am clever enough to manage work on it but one of my dreams would be to built a FPGA CPU stack machine based on Factor distributed with direct asynchronous data link to other CPU.
    Something in the spirit of good old transputer but with Erlang asynchronous distributed concept re-write in Factor. After that why not built a kind of “HYPER CUBE COMPUTER” (6 direct fast echanges links like face of a cube to direct connection to others proximity processors in an asynchronous way).
    Nowadays everybody try hard to make fast raw CPU but our brain is far far to be fast and probably not use complex mathematic concept models … but it is a very very highly parallel system with probably simple task on each node. So my Hyper Cube Computer should be a good candidate isn’t it :-) … but don’t that only a dream, I am not really sure to be enough skilled to build a such CPU on a FPGA and I am quite sure I am not rich enough to acquire needed parts.

8/16/2005

Comega

Classé dans: — @ 2:52 pm

Even Microsoft believe in distributed concurrency and lite thread.

for further informations simply look at their site Comega

**** extract ****
Cω is an extension of C# in two areas:

  • A control flow extension for asynchronous wide-area concurrency (formerly known as Polyphonic C#):
  • A data type extension for XML and table manipulation (formerly known as Xen and as X#):

*** /extract ***

And of course, not a word about Erlang !! But I understand Comega is still far behind Erlang and it’s safety ;-)

8/5/2005

Factor concurrency

Classé dans: — @ 9:35 am

Chris Double put doc premises for it’s concurrency code on factor. It is not finished yet, but a good promise.
However it remain a problem with current threading model wich is cooperative. That mean a infinite loop on a process can block the entire Factor VM.
I wonder if a trivial way to avoid that could be to force a yield after a GC ?

Factor concurrency doc

8/3/2005

Factor, Erlang Java and other

Classé dans: — @ 4:11 pm

(english text below )

Version en français

J’aime bien Factor mais la version actuelle n’est pas assez stable et les mots de base changent trop souvent aussi je vais probablement attendre la version 1.0 pour me lancer dans une vraie application. La plupart des développeurs détestent ré-écrire le même code.

Pour la partie Erlang, je ne suis pas totalement d’accord avec Eric Remond sur le fait que d’autres langages ne permettraient pas de construire les mêmes mécanismes que dans Erlang parce ceux ci sont intégrés directement dans les bases du langage. En effet Factor est particulièrement malléable, en grande partie écrit en lui même, la plupart de ses primitives étant rétro-compilées lors du ‘bootstrap’. Il permet également de changer du code en cours d’exécution. Je pense qu’il serait tout à fait possible d’utiliser Factor comme un langage de primitives pour une sorte de ‘Erlang like’. Ce serait un bonne chose car cela permettrait d’ajouter des primitives directement écrites en ‘Erlang like’ et rétro-compilées en Factor ce qui serait infiniment plus souple que l’ajout de primitives en code C dans le mode actuel d’Erlang.

Mais tout ceci n’est pas le plus important. Je voulais également faire part ce certaine de mes pensées concernant ces langages assez sophistiqués. La plupart du temps leur concepteur pense que d ‘avoir un super langage est le plus important. Ceci est une erreur !
Regardez simplement quels sont les langages les plus utilisés actuellement : Java ou Python tiennent le haut du pavé! Pourquoi?
Je pense que c’est parce qu’ils offrent une richesse importante en terme de librairies et parce qu’ils sont plus facilement accessible au développeur moyen. Tous ces développeurs n’ont pas nécessairement des doctorats et la plupart ont simplement appris des langages impératifs à l’école. Il ont souvent beaucoup de mal à utiliser des langages fonctionnels ou concaténatifs utilisant très fortement la récursivité pour traiter les boucles.
D’autre part certains langages, tel que OCAML, sont plus destinés à la recherche sur les concepts même de la théorie des langage et offrent de bien pauvres librairies qui sont utiles au développement d’applications (par exemple accès au base de données, XML, interfaces graphiques, Internet, etc…)
Dans ce dernier domaine, Erlang est un peu plus riche que la moyenne, mais reste malgré tout très en retrait d’un Java par exemple. Alors je comprend le succès de Java même si ce langage est assez primitif (les lisp et smalltalk des années 60 faisaient déjà aussi bien en GC et multi plate forme et étaient plus bien plus sophistiqués). De plus Java est extrêmement gourmand en consommation mémoire et on se demande bien pourquoi.
Toujours est il que je comprend un peu le succès de Java!

in (bad) english

I like Factor, but basic library words change to often, so I won’t use it before they become frozen, probably in release 1.0. Application developper hate to re-write code because some primitives change !

For Erlang part , I do not agree with Eric Rémond on, the fact that other languages cannot compete with Erlang, because in Erlang things like fault tolerance, supervisor tree model and network transparency are built in the design of the language.
Factor is mostly written in Factor, and most parts are retro-compiled at boostrap. Factor also permit code change at run-time. Factor is so mold that it should be possible to create an entire Erlang like language in it, using Factor as an underline low level layer. This could be a good thing because, in this way, we may be able to add primitives directly from the ‘Erlang like’ layer instead of coding them with static C as it is done presently.

But all of this is not the most important. Most of the time, language maker believe their langage can win because it is clever than other’s. This is FALSE !
Simply look at Java or Python. They are becoming main stream not because they are better (in fact they are far to be better) but because they offer a strong and rich set of libraries .
What does need applications developper? Most of them are not Doctor but simple average developpers, so what’s they need is a simple to learn, trivial language with a lot of libraries.

On this last area some clever languages fails. This is the case for OCAML, a very goog language but mainly aim at research. Few people use it because most of the libraries are simply toys!

For database access, XML, UI, Internet among other things, Java and Python largely win. Even Erlang is a little bit late in this area.

Worst, language like Ocaml, Erlang, or Factor require more important effort to learn and use because, most of the time, school prepare people for imperatives languages not for functional or concatenative one using intensive recursive loop and higher-order programming.

So I understand why Java win !

7/26/2005

Erlang on Factor ?

Classé dans: — @ 7:53 am

Great, Chris Double is trying to put some of the Erlang concepts on Factor like asynchronous lite process, supervisor and distrubution.
Except the yielding model, coopérative, this could be a very good thing ! .

Erlang is a great, instrustrial strengh, environment but, I see Factor as a more general multi purpose language. The pure fonctionnal of Erlang is better for secure software but is not adapt at all for some task such as multimedia or imaging.

With Factor you can write code at interpreter level, compile some sensible part and even go down to internal assembly level if the speed really matter. The stack oriented permet to code in imperative level, but the concatenative part is not so far of functionnal.
Erlang is only well adapt to network oriented back office program but very poor for heavy graphic end user software.
Factor internals are more understantable than Erlang. The Erlang compiler is very complex and heavy.

I think there is a real potential in Factor, even if not finished yet
( Factor essentials In french )

NB: comment about Erlang and other language concurrency, including Factor, on 3pBlog from Mickaël REMOND

7/25/2005

Electronic CAD

Classé dans: — @ 10:15 pm

Dans la série Pub et Conseils:
FR
Pour tous ceux qui cherchent un excellent outils de CAO électronique libre et qui plus est, gratuit, je conseille sans réserve
KICAD. Probablement un des meilleurs outils libre dédié à la CAO électronique.

EN
If you are looking for a electonic CAD, my advise KICAD. Probably one of the best free cad I have seen.

7/20/2005

HYPER CUBE COMPUTER

Classé dans: — @ 3:06 pm

PLEASE, don’t dream , this is ONLY a concept and I don’t do it because I am not skilled enough

And the fact is it seem this concept is not a new one :-( somedody pointed this to me

Why CUBE

because I see it as array of directly linked processors. Something like of old good transputer. But with 6 links per processor in order to build an arry like a 3D cube. On contrary of transputer I see processor communicating through asynchronous messages queues. In this domains I fully agree with Joe Armstrong point of view .
Word is based on asynchronous messages exchanged between entity. Each entity is responsible for its traitment and can eventually answer by mean of other asynchronous message.

Why

Mainly ROBOTICS :
If you want to make a powerfull Adaptative Artificial Intelligence Sytem what do you need ?

  • very pliant language able to change itself while running

    >> Factor can do that
  • very hight asynchronous parrallel system

    >> our brain seem to be parallel but unfortunatly Factor is not yet
    Need same lite asynchronous and distributed process we can find in Erlang
  • hardware specialised to fullfill previous request

    >> FPGA is our friend
    here speed is not the matter but number is

The concept ( my dream)

FPGA
Moderm FPGA such as XILINX one allow millions of cells on some low coast hardware. So with some existing sales board we should be able to build slow prototype. Board like XSA-3S1000 from XESS compagny should be enougth to build a dual Stack machine core for tests only

Hardware garbage collector and memory cache
One part of the board should be use to built the needed memory cache accès and hardware garbage collector based on Factor CELLS basis. Ancient Lisp machine hardware already do something like. This is not necessary trivial but probably doable.

Direct Asynchronous Link
Like the ‘lod good transputer’ the hyper cube are directly connected, each one to other, through a direct harware fast link. But on difference with transputer, the link should be asynchronous following the Erlang distributed processes. With 6 link we can build a kinf of cube that can extend to infinite.

7/19/2005

Pathétique

Classé dans: — @ 1:10 pm

Et voila que Philips s’y met

Après le chien AIBO de Sony le chat iCat de Philips

Le chat permet de représenter des expressions faciales !!!

Eh ben ils ont encore du boulot quand on voit ce que certains autres font :-)

Androide PKD

hansonrobotics

Codage du bazar avec OPPR un langage de scripting et DML des composants C++
Ca serait vraiment cool qu’un jour on oublie ce C++ pour utiliser des langages plus dynamiques pour ce type de problèmes. Je pense qu’un FACTOR avec des primitives en C ou en assembleur seraient très largement mieux. Et ne venez pas me dire que mes propos sont biaisés ;-).

7/8/2005

Premier post

Classé dans: — @ 8:00 am

Bon nous y voila
L’écriture c’est pas trop mon truc, mais je finis par céder a la mode

La bonne question maintenant c’est … qu’est ce que je vais y mettre

peut être dans un premier temps mes centres d’intérêts perso:

  • Factor

    un nouveau langage de programmation écrit par un petit jeune qui m’impressionne. Même si ce langage dans l’état actuel est inutilisable dans un contexte professionnel, il reste néamoins extrèmement intéressant. Je ne m’était pas autant passionné pour un langage depuis longtemps
  • la Robotique

    Ici sans surprise lecture de la vie artificielle régulièrement
  • l’électronique

    J’ai acheté un PIC 16F877 avec un programmateur avec pour objectif final de faire un peu de domotique (contôle du chauffage électrique). Pour la programmation du PIC j’ai fait quelques tests très satisfaisants en utilisant PICFORTH. Ceci permet d’avoir un excellent niveau de code (petit et performant) tout en restant au niveau d’un langage plus agreable que l’assembleur.

Réalisé avec WordPress  visitors