--NoDr - YGO--

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.

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

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

8/28/2005

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

Réalisé avec WordPress  visitors