unix4fun

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 22 mai 2009

RUMP non ca n'est PAS le nom des nouveaux batonnets findus!

Non, non et non, pas findus, c'est un nouveau (en tout cas pour moi) concept introduit dans NetBSD qui permet d' "externaliser" en userspace des elements kernelspace de maniere (dixit) "simple", en gros RUMP (c'est son nom) vous permet de "runner" certains des call/fonctions/syscalls kernelspace depuis la librump plutot que d'appeler le kernel, ca semble necessiter de recoder le dit appel dans la librump, rump semble donne un access plus direct a certaines partie du kernel vous laissant la liberte de traiter la majorite du code de controle en userland, je vais faire joujou et lire le code pour "tenter" de comprendre le fonctionnement, mais c'est interessant, je me demande si ca sent pas l'envie de faire un microkernel a long terme ca...

jeudi 7 mai 2009

DOS 1.0 et le reversing du dimanche matin!

Le soleil vient de se lever,

Encore une belle journée,

et il va bientôt arriver,

l'ami Ricoré !

Tuluuuuulululululutulutuut

Un joli debut de post d'un type sympa qui reverse des programmes "pour le plaisir" le dimanche!
Marrant a lire, sympa pour demarrer son p'tit bout d'OS dans son coin, c'est un peu comme deterrer des momies on apprends pleins de choses!

jeudi 9 avril 2009

base32 c'est bon comme la saucisse de george!

J'avais besoin d'un base32, alors hop une implementation "vite fait" (*bruit-de-sac-poubelle*) de base32.

Bordel j'ai galere comme un pouilleux pour faire ca!; un peu comme quand on pousse une crotte trop grosse.

C'est pourtant pas dur...bref la honte et je la partage avec vous.

base32.c

feedback, correction, bugs, welcome...

samedi 21 mars 2009

ruby, marrant ruby!

Apres m'etre instruit du post precedent, merci poz!

Voici un link super interessant d'un mec de chez yahoo qui s'est amuse a ecrire un petit moteur d'indexation ( je suis pas sur du mot, c'est ptet mon neologisme du jour) avec un web et un "crawler" aka "moteur de recherche".

Il a ecrit ca en ruby, en 200 lignes (wai il utilise des libs etc...) et il a tout documente proprement sur son blog, c'est interessant a lire.

le blog du monsieur

have fun!

lundi 9 mars 2009

Un peu d'auto-promo.

J'ai écrit vite fait une petite documentation relative aux tests unitaires en C. Feedbacks bienvenus.

C'est par ici

dimanche 8 février 2009

unbound le resolver DNS aux omega3!

Petite decouverte, moi qui ait toujours ete un habitue de bind (et de ses features et vulns :)) a ma periode BOFH, je viens par hasard de tomber sur unbound, un resolver DNS tout petit et qui semble tout convivial et tout bien fait! et qui en plus supporte DNSSEC...

sympa a suivre...

mercredi 14 janvier 2009

Dtrace le seul tool qui transforme tes testicules en boule a facettes! (c) bibi

J'ai decouvert Dtrace, alors pour partager mon bonheur et commencer avec dtrace, je conseille THE GUIDE, simple, rapide, clair, didactique, etanche! j'en suis au chapitre 12!!

Pour ceux qui sont curieux ou on envie de tester/voir/gratouiller et avoir une vision full poilue!

DTRACE la TORAH

Bonne lecture!!.


[...]

bordel... qu'est ce que... elfsign(1) ?!?!?!

$ elfsign 
elfsign: invalid number of arguments
usage:
        elfsign sign [-a] [-v] [-e <elf_object>] -c <certificate_file>
                [-F <format>] -k <private_key_file> [elf_object]...
        elfsign sign [-a] [-v] [-e <elf_object>] -c <certificate_file>
                [-F <format>] -T <token_label> [-P <pin_file>] [elf_object]...
...
*COMMUNICATION COUPEE*

mardi 13 janvier 2009

C'est dans les vieux pots...

Bon, pour le boulot, je dois coder pas mal de trucs relatifs aux réseaux. Et c'est suite à mes pérégrinations sur le web que je suis tombé sur ce lien. Un vieuuuux lien, de plus de 10 ans d'âge, mais mis à jour, et très intéressant. Il parle notamment des mesures de la qualité d'un réseau, des méthodes à employer, et renvoie vers plein d'autres documentations. Je me régale, personnellement.

Je mets le tag "code", parce que ça file plein d'idées de trucs à coder :-)

Youpla, c'est par ici

lundi 22 décembre 2008

ma machine d'etat a moi!

Bon ca fait genre le 3eme rewrite de mon bout de code, et c'est toujours PAS "comme-je-voudrais" (tm), grmlgmrlmgrl alors j'ai demande qqes conseils a gauche a droite et j'ai fait qqes google.

Comme j'imagine qu'il y a d'autres incompetents/boulets/ignorants dans mon genre, je leur propose les liens suivants pour matter:

bonne lecture!

mardi 2 décembre 2008

aie! j'ai mal!

aie!

Quand on est stupide comme moi...

Je cherchais a comprendre des choses, jusque la rien de surprenant, j'ai commence a matter comment je pourrais differencier certains pattern d'autres, au sein d'un meme fichier.

C'est un probleme "classique", je sais!, vous avez une reponse, j'imagine bien (au pire commentez), mais comme je suis un peu stupide, j'essaye de comprendre.

Alors en posant la question autour de moi, une des reponses m'a intrigue, c'est: "mesure l'entropie!"

Wai alors pour la definition, je dois vous avouer, apres qqes debats et discussions sur la definition de l'entropie, il y en a qqes unes, voir meme pleins, ca depend des donnees a analyser, de la taille de la lune, de la couleur de la farine apres une journee au soleil, etc.. bref (allez voir wikipedia, theorie de l'information blablabla)...

Mais surtout aujourd'hui on m'a parle d'un outil "stan" qui semblerait pourrait donner l'illustration d'une (parmis d'autres) reponse a mes questions, alors je matte et je fais un test tout bete :

$ ./stan -b test.txt.gz
General statistics for the stream, bytes 75
   Arithmetic mean:       101.786667  ~  0x65(e)
   Median:                115.000000  ~  0x73(s)
   Deviation:              69.466979  ~  0x45(E)
   Chi-Square test:       520.023529
   Entropy per byte:        5.241939
   Correlation co.:         0.390945
[...]

VS

$ ./stan -b testrnd
General statistics for the stream, bytes 75
   Arithmetic mean:       113.720000  ~  0x71(q)
   Median:                106.000000  ~  0x6a(j)
   Deviation:              74.741610  ~  0x4a(J)
   Chi-Square test:       205.423529
   Entropy per byte:        5.925420
   Correlation co.:        -0.148000
[...]

Et on observe qqes "debut" de difference... c'est marrant, maintenant faut essayer de comprendre... quand on est stupide comme moi...

$ vim stan.c bits.c pattern.c stats.c
[...]

vendredi 17 octobre 2008

Détection rapide de protocole layer7

Alors dans le cadre de mon job je suis tombé sur un article qui m'intéresse. Peut-être que ça sera le cas pour toi aussi, ami lecteur. La problématique est la suivante : sur des gros liens (Gbps typiquement), comment reconnaître les applications utilisées ? Ça peut être pour un admin, qui cherche à identifier les flux qui circulent sur son réseau, ou autre.

La technique "de base" consiste à inspecter les payloads à la recherche d'une signature applicative (à la snort, ou qosmos en propriétaire et plus exhaustif). Le "hic", c'est que sur des liens chargés, ça rame sa mère. Ou alors faut se payer la super solution corporate pouic pouic de Qosmos à 50KEUR, avec une bécane de 32 procs, des cartes DAG (Endace) d'acquisition et tout le bousin.

Mais nous, chez Unix4fun, on est pauvres, et on pense à la plèble, alors on écarte cette solution. Durant ma visite du Web je suis donc tombé sur un article pas mal, qui explique comment en 4 ou 5 paquets TCP (hors établissement de la connexion, SYN, SYN/ACK, ACK), on peut taguer un flux comme étant telle ou telle application, avec un taux d'erreur acceptable (de l'ordre de 5%). L'idée est évidemment d'utiliser des mécanismes d'apprentissage statistique (chaînes de Markov, etc) ; mais avec ça on n'est pas avancé, le problème étant de mesurer et d'apprendre sur les bonnes métriques. Ici, on s'inquiète uniquement de la taille des payloads, et du "sens" du paquet (client -> serveur, ou serveur -> client), qui est un facteur discriminant supplémentaire, et indépendant du contexte (type de réseau, type d'appli, besoin de performance, etc).

Bref, c'est ma pause déjeuner au bureau, je vais pas m'attarder.

L'article Early Application Identification

La thèse sur le sujet (même auteur principal) : Classification temps réel d'applications sur l'Internet. Elle se lit vite, et la dernière partie est en français, pour madame Michu, mais sans les formules et un peu allégée.

samedi 13 septembre 2008

A mon stage chez l'agence tout risque, j'ai appris a bricoler des clotures...

Mac OS X ne possede pas pthread_barrier_t et j'ai vu d'autres problemes avec d'autres "unix", donc j'ai fait mes "barriers" "maisons", on verra bien quand je devrais porter sous win32...

c'est ICI, comments are welcome...

have fun!.

mercredi 13 août 2008

pthread pour les NULL

Je code comme un boulet et en ce moment j ai pleins de blems de "scheduling" et de "concurrence", mon code n'est pas thread safe et je dois jongler avec differentes conditions plus ou moins synchro mais qui sont hyper importantes.

bref comme je galerais un peu, nitrouze m'a montre ce petit reminder sympa pour me rappeler les bases des POSIX threads... y a pas a dire je suis un boulet et y a pas de secret si on pratique pas, ca reste pas..

HTH, ++

mercredi 2 juillet 2008

L'appel du 2 Juillet 2008!

J'ai l'air con je croyais que getaddrinfo(3) allait fonctionner pareil partout et voila que je constate la chose bete et suivante,

  • NetBSD:
[1] eau@bearcave:~ 
$ telnet 31
31: No address associated with hostname
[2] eaul@bearcave:~ 
$
  • Linux:
eau@turtle ~ $ telnet 31
Trying 0.0.0.31...
telnet: Unable to connect to remote host: Invalid argument
eau@turtle ~ $ 

putain quoi mais pourquoi ce con il se dit "tiens 31, ca doit etre 0.0.0.31.." quelle tache! si qqun a des recommendations ou une explication, car du coup pour verifier que j ai a faire a un host, je fait un getaddrinfo(3) et si rc != 0 bah c'est pas un host, mais la Linux (menelusme(tm)) il me retourne 0 a chaque fois... ca suce..

gmrlmglrmgrlm cherchage de solution... silvouple AIDEZZZZZZZZZZ MOIIIIIII!!!! JE SUIS UNE TANCHEEEE BORDEL!!!!

Linux, Cisco, Poils!

C'est peut etre "vieux" (y'en a qui aiment dire ca le plus souvent possible pour bien souligner qu'il sont tres contemporains), en tout cas, moi je connaissais pas et je trouve ca fun, fendart meme, mouahhahah j'en ris :)

uClinux sur du cisco muah!

Y a des gens qui commencent des trucs sexy, je suis sur qu'il y a ou va y avoir une suite c'est pas possible! ca date de 2001! (je faisais des avions en papier en disant que j'etais trop fort a cet epoque).

Et puis y a ca aussi.

have fun..

mercredi 25 juin 2008

TCP on steroids et encore d'autres trucs

Si toi aussi tu fais du code reseau en ce moment et que tu cherches toute sortes d'idees, tips et ce genre de choses Il n'y a pas longtemps la grande, la celebre USENIX conference a eu lieu avec son lots d'idees a reflechir-o-pompaz.

Peut etre que tu trouvera ce trucs interessant:

http://www.usenix.org/events/usenix08/tech/full_papers/menon/menon_html/index.html

Sinon y a ca qui traine aussi...

enjoy!

vendredi 23 mai 2008

Sexy Ksplice (girls ?)

Booon, alors je suis tombé sur un petit truc rigolo. Un petit soft, qui fait la modification de code à runtime dans le noyau linux, c'est persistant, qui plus est ! Au prochain reboot ça restera en place. Idéal par exemple pour faire des patches de sécurité sans engendrer un reboot. Les esprits vifs (et pervers ?) feront tout de suite des remarques du genre "haaaan, et pis comme ça c'est plus propre que d'écrire dans /dev/kmem", euh, certes, certes. Petits canaillous.

Le lien, par ici (sponsorisé par le MIT).

samedi 3 mai 2008

OpenBSD, PF, PHP, etc...

Un blog avec un projet sympa linked, des experiences a la noix d'installation d'OpenBSD dans des conditions plus ou moins relou, des idees et un projet potentiellement utile..

bref marrant et a lire..

mardi 29 avril 2008

l'ambition mon enfant, te perdra!

un projet ambitieux d'apres la description, a matter de plus pres...

http://people.csail.mit.edu/fredette/tme/

(trouve sur le blog de mr hubertf)

- page 2 de 4 -