Sunday, June 04, 2006

un md5sum encore un peu plus compact... toujours en OCaml

open String module I=Int32 module J=Int64 let n,v,(<),(=),($),(&),(|/),(&*),(@),
(++),(>*),w,m,l,(%)=I.lognot,Sys.argv,I.shift_left,I.shift_right_logical,I.add,I
.logand,I.logor,J.logand,I.logxor,J.add,J.shift_right_logical,sub,Array.make,
Array.length,List.iter let(><)i x=(ilet s=create 8in let a,b=J.
to_int32(n>*32),J.to_int32 n in s.[4]<-c(255l&a);s.[5]<-c(a=8&255l);s.[6]<-c(a=
16&255l);s.[7]<-c(a=24&255l);s.[0]<-c(255l&b);s.[1]<-c(b=8&255l);s.[2]<-c(b=16&
255l);s.[3]<-c(b=24&255l);s),(fun s->let a,b,c,d=f s.[0],(f s.[1])<8,(f s.[2])<
16,(f s.[3])<24in a|/b|/c|/d)let u s=let x=m 16 0l in for i=0to 15do x.(i)<-f(w
s(i*4)4)done;x and t=let t=m 64 0l in for i=0to l t-1do t.(i)<-J.to_int32(J.
of_float(ldexp(abs_float(sin(float_of_int(i+1))))32))done;t and g x=let l=J.
to_int((J.sub 960L(511L&*x))&*511L)in let l=if not(l<>0)then 512else l in let s=
make((l+1)/8)'\000'in s.[0]<-'\128';s^(r x)let rec i()=j:=(!j+1)mod 64;!j and j=
ref(-1)and h xb a b c d=j:=-1;let aa,bb,cc,dd= !a,!b,!c,!d in let rec x()=p:=(!p
+1)mod 4;match!p with 0->a,b,c,d|3->b,c,d,a|2->c,d,a,b|_->d,a,b,c and p=ref 0and
o()=p:= -1in(o();let k=ref(-1)in let m()=incr k;!k in let f s=let(a,b,c,d),k=x()
,m()in a:= !b$(!a$((!b& !c)|/((n!b)& !d))$xb.(k)$t.(i())>(%)(Printf.printf"%02lx")[a<24=24;a=8<
24=24;a=16<24=24;a=24<24=24])l;Printf.printf" %s\n"f let z f=let a,b,c,d=ref 
0x67452301l,ref 0xefcdab89l,ref 0x98badcfel,ref 0x10325476l in let ic,bf=open_in
f,create 64in let rec e ea=match input ic bf 0 64with 0->h(u(g ea))a b c d|64->h
(u bf)a b c d;e(ea++512L)|l->let ea=ea++(J.of_int(8*l))in let s=(w bf 0 l)^(g ea
)in let sl=length s in if sl>64 then(h(u(w s 0 64))a b c d;h(u(w s 64(sl-64)))a
b c d)else h(u s)a b c d in e 0L;p[!a;!b;!c;!d]f;;for i=1to l v-1do z v.(i)done

Wednesday, March 29, 2006

Drivers Canon pour Mac OS X

Canon Advanced Printing Technology Printer Driver & Utilities for Macintosh Version1.60

Ce mois-ci, Canon a publié des drivers pour imprimantes... pour Mac OS X... L'intérêt est bien sûr que ces drivers gèrent des imprimantes Canon qui n'avaient des pilotes QUE pour Windows ! je les ai découverts par hasard (j'ai eu de la chance...)...

MAIS... Ils sont en JAPONAIS... lol

Je ne lis absolument pas le japonais... mais j'ai quand même réussi à installer le système... (2è coup de chance de la journée... lol)

(bon ça m'a fait peur parce que ça a quitté toutes mes applis puis redémarré mon système...)

J'ai testé... ça marche :-D (ça tombe bien parce que j'ai 2 imprimantes qui dépendaient de Windows... maintenant, mon Mac les gère :-D)

Canon Advanced Printing Technology Printer Driver & Utilities for Macintosh Version1.60
http://cweb.canon.jp/drv-upd/lasershot/captusbmacx.html

(ça fonctionne avec : LBP-2410/1210/1120/1110/1110 Premium/1110SE
LBP5200/5000/3600/3500/3300/3210/3200/3000)

Monday, March 27, 2006

Récupérer des données à partir de CD/DVDs endommagés

Bookeldor a écrit un petit programme en C pour récupérer des données à partir de CD/DVD endommagés.
Le programme est disponible sous licence GPL 2 et est donc libre et gratuit ;o)

Tuesday, February 14, 2006

Générer un PDF à partir d'un fichier TEX (LaTeX)

[Bon À Savoir] LaTeX et PDF ... (et PS aussi)

Il y a dix milliards de façons de passer d'un fichier .tex (LaTeX) à un fichier .pdf (Portable Document Format)...

Je viens de découvrir (enfin!) quelque chose que je cherchais depuis quelques mois... (je n'avais pas trop insisté sur mes recherches... mais maintenant j'ai trouvé!)

Je suis actuellement en train d'écrire un long texte via LaTeX pour produire au final un PDF (car plus portable que PS)...

Alors avec toutes ces façons de générer un PDF à partir d'un fichier LaTeX, il y a principalement deux façons qui font toute la différence !
Pour faire le jeu de mot à 2 balles, je dirai : la différence est de taille !!!

Bon alors si je n'indique pas les raisons et les fondements de ce jeu de mot un peu ridicule, il n'y aurait pas ce post...

-rw-r--r--  1 user group   34464 2006-02-14 13:50 a.pdf
-rw-r--r--  1 user group 113806 2006-02-14 13:50 b.pdf

Voilà, maitenant vous pouvez deviner les fondements du jeu de mot : les deux pdf a.pdf et b.pdf ne sont pas les mêmes bien sûr... mais contiennent les mêmes informations humaines ! C'est-à-dire que c'est le même texte à l'intérieur, et un utilisateur non averti ne verra sûrement même pas la différence...

Alors les différences entre ces deux PDF sont simplement la manière dont ils sont générés...
Bien sûr, un petit Makefile de 50 lignes pour faire ça proprement vaut toujours mieux qu'un petit script shell d'une seule ligne... (Pourquoi? Parce que taper 'make' est plus facile que taper 'sh s' ou './s' si on veut absolument faire court... mais pourquoi pas faire alias m='make' aussi... Bref, un Makefile tel que celui que j'ai est très réutilisable, alors que le script que j'aurais écrit aurait fini aux oubliettes)...

Je vous fais lire du gros blabla là... Tout ça pour vous dire que pslatex et latex sont très différents sur un point : les polices utilisées... mais ont un point commun : tous deux génèrent un DVI à partir d'un TEX, par défaut...

(Peut-être qu'il y a des options à passer?)

Alors pslatex me sert à générer un PDF léger mais aussi moins consommateur de CPU lors de la visualisation !
En effet, pslatex génère un DVI (Document Viewing Interface et non pas Digital Video Interface...) utilisant les polices standards de PostScript... Ce qui fait que le fichier généré est plus petit et utilise des informations de textes alors que latex génère un DVI qui est à peine plus efficace qu'une sorte de bitmap bizarre...

Bref, vous pouvez voir la différence entre le temps de chargement et les redimensionnements, ainsi que la qualité des polices sous Linux assez facilement (sauf si vous avez un CPU@5GHz avec 3GB de DDR@1GHz -- non non ce PC n'existe sûrement pas encore... lol)
Et sinon, sur un Mac, avec Aperçu, c'est flagrant : la version légère est ultra rapide, alors que l'autre version est assez lente (ça fait ramer...). Avec XPDF ou EVINCE ou ADOBE READER ou GV, il suffit de faire un ZooM ... Et on voit alors ce que je montre sur le screenshot...
--
ANNEXE :

man pslatex a écrit:

pslatex - utility to typeset LaTeX files using PostScript fonts

Et voici les différences obtenues :
http://mythoughts.free.fr/M1STL/PDF_Quality.png
Et la version moche consomme beaucoup plus de place et de temps CPU ...

PS : je suis l'auteur de ce post qui est aussi posté sur le site de l'association des étudiants en informatique de Paris 6 (aka UPMC)

Friday, January 20, 2006

How you can make money and be famous by being a failure!

[This is a draft, but as I don't feel like continuing this note, well, I publish it...]

Have you ever wondered why an Operating System (O.S.) such as Microsoft Windows can be famous and used by so many people? You can ask the same for President Bush: type "failure" with Google search, and it will be the one result on the top. Altavista and Yahoo put it in second position. http://www.altavista.com/web/results?itag=ody&q=failure&kgs=0&kls=0 http://search.yahoo.com/search?p=failure

Because we, human beings, talk about good things, average things, but a lot about bad things! And talking about bad things make them really famous.

So what about Windows OS ?

Windows is THE OS that crashes so often that you really can't count how many times you saw that fucking Blue Screen Of Death, alias BSOD. Well, at least if you have been using that shit for more than a couple years. Well, actually, with the XP version, it slowly becomes less true if the "Service Pack" releases don't crash your system instantly.

Anyway, if you know a bit about computer _and_ Windows, I guess you have friends with whom you tak about it. And so what?

I have to reinstall, it behaves like a shit, it's dead, it's done its time... I have too many viruses, a fuckin' trojan I can't delete, damned spywares... etc.

So there are some geeks that like to know about that, and be proud of knowing how to erase such softwares, etc...

Well, of course, in a world of shit, it's great to know how to look clean. ^_^

So why I treat Windows like that? Don't you think I have a reason? A good reason! I have actually many good reasons.

First of all, if they did good job from the start, it wouldn't be such a shit: They spend their time copying (or taking inspiration?) from others, especially Macintosh. Bill Gates did make an awful copy of Macintosh to make his first Windows OS. It looked like a shit, but it was quite cheeper than the Mac one. So it took a very big part of the market: B.G. is a great business man!!! Now, Mac OS X Tiger is the source of inspiration for Windows Vista. Right? Not? Whatever, when you look at the Windows Vista (pre-release) screenshots, you easily recognize Windows themes... but also the Aqua look of Mac...

Then, Windows-compatible softwares: If you actually look at that, when you install an application, most of the time, but not always of course, you have no idea of what it really does to you system! Take an example: Kazaa. Of course it's less and less used. But who uses Windows and doesn't know about it? (of course there are such people). Kazaa used to install some applications you had no idea of their existance... and if you were simply asked whether you want or not, obviously you'd say no. This is the reason never were asked.

Thus, when your system becomes unstable because you've put and removed too many softwares, and your register database is too dirty, you have a "good option": take the CD, and reinstall... ^_^

Is it possible for a Windows user to realize the time one looses trying to make it good? Well, I did realize it.

So what? I couldn't realize it without the help of people encouraging me to do so, and great Operating Systems based on Gnu/Linux.

[note: I do know Windows much better that most of the people that I know. Because I've spent so much time on it since Windows 95 that I just can't forget.]

Thursday, January 19, 2006

Logitech Quickcam 4000

Si vous cherchez une webcam pas chère qui fonctionne sur Linux et Mac OS X et Windows, je vous suggère la Logitech Quickcam 4000.

À partir de 39 euros chez Pany (là où je l'ai achetée) : http://www.rue-montgallet.com/prix/75012/acheter/19578/Logitech-Quickcam-Pro-4000-oem/

Achat web : 49,95 € http://www.rueducommerce.fr/Ordinateurs-Peripheriques/Webcams/Webcams-Standard/LOGITECH/356148-Webcam-QuickCam-Pro-4000.htm

Pour Mac : http://www.logitech.com/ pour les drivers :+ http://webcam-osx.sourceforge.net/ pour la compatibilité avec aMSN par exemple Pour Linux : ça a fontionné dès que je l'ai branchée sur ma Ubuntu... (encore plus simple et plus rapide que Windows ou Mac OS X... lol) Pour Windows, il faudra peut-être télécharger le driver sur leur site : http://www.logitech.com/

Bon... La qualité d'image est très moyenne je trouve... À peine meilleure que la quickcam messenger qui possède un capteur 2 fois moins précis...

Cette WebCam fonctionne directement en caméra IP si vous avez un routeur ASUS WL-500G en la branchant sur l'un des ports USB. (chez moi l'image obtenue est grise...)

Thursday, January 12, 2006

Durée de vie des CD/DVD enregistrables

Clubic souligne ce que je pense depuis quelques petites années :
Les CD enregistrables ont une durée de vie bien plus courte que ce qu'on a tendance à croire ! (Apparement, pour les DVD, c'est pire)

lien

Friday, December 30, 2005

ssh-agent sous Mac OS X ; BIS

Titre :

ssh-matters with Mac OS X

Description :

Si pour vous utiliser ssh-add et ssh-agent est pénible sous Mac OS X, je propose ici une solution...

Dépendance :

keychain (installable via port de darwin : port install keychain

Procédure :
1. Ajouter dans .bashrc :

#DEBUT definition de la fonction
function sshmatter () {
   if [ "`ps auxw | grep ssh-agent | grep -v grep`" == "" ]
   then
      keychain 2> /dev/null 
   fi
   if [ "$SSH_AUTH_SOCK" == "" ] && [ "$SSH_AGENT_PID" == "" ]\
        || [ "`ls $SSH_AUTH_SOCK 2> /dev/null`" == "" ]
   then
       source ~/.keychain/*-sh
   fi
}
#FIN definition de la fonction

2. Toujours dans .bashrc (ou dans .bash_aliases, c'est selon vos préférences...)

# execution au demarrage de bash
   sshmatter
# alias pour accessibilité
   alias ssh-add-custom="sshmatter ; ssh-add"

Remarques :

C'est ma solution pour utiliser ssh-add aussi facilement que sous Linux... Il y a sûrement plus court. Il y a peut-être plus simple...