Le blog à Fred

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

avr. 19

Balancing bullshits

After spreading bullshits, our Bullshit Company has been overflown by bullshit requests.
It's time to provide a bigger architecture than the one we used. Let's balance the Bullshit Generator.

For the impatients, this post will deal with several problems that a beginner could encounter or fear : exceptions handling and sequences

Lire la suite...

avr. 2

I've got the power (english version)

This is a translation of an old post in french, see the original here.

No, I've not become Fred Almighty and that's happy, it would be a mess :D
In the scope of non-profit activities, I received a wonderful UPS that I had to configure for FreeBSD.

Lire la suite...

mar. 24

Spreading bullshits

I decided today to write a small cute tutorial to create the best of the best for scalability, for highly distributed and high reliability while being multi-platform, multi-language and potentially multi-paradigm... Well, the two first ones, ok but for the last, I don't really know and finally, I don't give a damn :D
At this point, with the number of buzzwords I used, tour tollmeter should explode !! :D
But, from now, I won't tell you anything else, you'll have to read what follows !!

Lire la suite...

mar. 22

Distribution de conneries

J'ai décidé aujourd'hui de faire un petit tuto sympa pour réaliser le top du top en matière de scalabilité[1], de haute distribution ainsi que haute reliabilité[2] tout en restant multi-plateforme, multi-langage et potentiellement multi-paradigme... Enfin, les deux premiers, c'est sûr, le troisième, j'en sais rien et je m'en tape :D
Normalement, là, avec le nombre de buzzwords utilisés, vous devriez déjà avoir le trollomètre au taquet !! :D
Mais je ne vous en dirai pas plus, il faut aller voir, LA SUITE !!!

Notes

[1] J'adore cet anglicisme tellement il est foireux

[2] Bien aussi, celui-là

Lire la suite...

fév. 13

Merci de fermer les portes !

J'aurais pu sous-titrer ce billet Quand la confiance ne règne plus :-/

Il m 'avait déjà été demandé par le passé de sécuriser l'accès à un serveur Subversion mais vu les effets de bord, j'étais revenu en arrière, histoire de pas embêter mes petits camarades développeurs.
Comme toutes les choses ont une fin, c'est reparti de plus belle.
Heureusement, cette fois-ci, j'ai réussi à m'y coller, non sans avoir foutu un beau bordel pendant quelques heures.
Je vais quand même tenter de vous expliquer ce qu'il y avait à faire et comment je suis arrivé à mes fins.
Ça vous semblera peut-être très simple mais il y avait des pièges.
Imaginons un référentiel Subversion ayant la structure suivante :

/
├── Projet1
│   ├── branches
│   ├── tags
│   └── trunk
└── Projet2
    ├── branches
    ├── tags
    └── trunk

Un exemple simple de fichier d'accès est le suivant :

[groups]
projet1_devs=john, joe
projet1_admins=john
projet2_devs=jane, joe
projet2_admins=jane

[/]
* = r

[Projet1]
@projet1_devs = r

[Projet1/tags]
@projet1_admins = rw
@projet1_devs = r

[Projet1/branches]
@projet1_devs = rw

#Et ainsi de suite pour chaque projet

Jusque là, c'est pas trop grave mais tous les développeurs peuvent voir le code de chaque projet mais ne peuvent pas y écrire, on est typiquement dans le cas classique tel que décrit dans la doc.
Tant que l'on a confiance, pas de problème mais quand le doute vous habite, ça va plus.
Allons-y, fermons les portes !

Le premier réflexe est de retirer la partie liée au /... C'est une bonne idée mais dont le principal effet de bord est de gêner les outils de navigation dans le référentiel et qui oblige le développeur à connaître l'URL complète vers son projet.
Alors comment faire pour continuer à pouvoir browser tranquillement mais que dans les projets où on a les droits ?
Et bien, au lieu de mettre des droits, on en retire explicitement :

[groups]
projet1_devs=john, joe
projet1_admins=john
projet2_devs=jane, joe
projet2_admins=jane

[/]
* = r

[Projet1]
* =
@projet1_devs = r

[Projet1/tags]
* =
@projet1_admins = rw
@projet1_devs = r

[Projet1/branches]
* = 
@projet1_devs = rw

#Et ainsi de suite pour chaque projet

Vous avez remarqué la subtilité ?
Pour chaque section de projet, il suffit de retirer les droits mis à tous.
Bon, c'est simple mais fallait y penser.

déc. 20

Bissection !

non, je n'ai pas décidé de faire des expériences sur des animaux !
Non, je n'ai pas décidé de me faire greffer un deuxième organe sexuel, le mien me suffit[1].
J'ai décidé de faire un petit billet sur cette fonctionnalité que l'on trouve dans certains logiciels de gestion de versions qui n'est pas mal car elle aide à faire la recherche de la version qui a introduit une régression dans un logiciel.
D'ailleurs, il est normal de la trouver dans Monotone, Git et Mercurial vu que les historiques ne sont pas forcément linéaires.

Notes

[1] Plus, ce serait inconvenant :D

Lire la suite...

nov. 29

A mort les Spammeeeeeeerrrrrrsssss !!!!!

Je suis depuis deux jours la cible de spammers dans les commentaires de mes billets.
C'est pas bien méchant puisqu'il s'agit juste de faire de la pub pour leur site Web de poker en ligne qui n'est même pas du strip-poker.
Ce qui me gêne plus, c'est qu'en fait, j'avais activé toute une série de plugins d'antispam qui sont fournis avec Dotclear mais que ça passait quand même.
En regardant de plus près chacun des plugins dont Akismet, je me suis rendu compte que ceux-ci ne fonctionnaient plus !!
Un coup de moteur de recherches et hop, j'ai eu confirmation de mes craintes.
Tout plugin cherchant à se connecter à un site tiers ne peut le faire en raison des restrictions chez Free.
Pour l'instant, j'ai essayé de gérer par filtrage d'adresses IP mais bon, c'est lourdingue :)
Voilà qui me conduit à l'installation d'un petit outil de captcha qui je l'espère ne vous ennuiera pas trop :-/
D'habitude, j'aime pas trop les captcha parce que c'est difficile à lire et pas franchement daltonien-friendly. Au moins, avec celui-là, je suis tranquille de ce côté-là.

nov. 26

A l'abri dans ma ''Git''-oune

D'après Wikipedia, le terme guitoune désigne une tente ou un abri de fortune.
Du coup, y a un petit côté camping au mieux ou au pire, un truc fait de bric et de broc.
Ce que j'aime bien avec la tente, c'est le petit côté communautaire si la tente est grande, un peu comme une yourte. En plus, la tente, c'est le truc où on a l'impression d'être à l'écart du monde[1] au milieu de nulle part à profiter de la nature, à s'inventer une existence hors des carcans de notre société uniformisante.
Il y a aussi la tente indienne dans laquelle les personnes importantes du clan se retrouvent autour du shaman qui prédit l'avenir et donne les grandes orientations après avoir bien tiré sur le calumet.
Finalement, tout ça représente assez bien ce dont je vais parler maintenant.
Je vous préviens, c'est dense et chiant à lire :D

Notes

[1] ok, sauf au mois d'août dans un camping des Landes ou de la Côte d'Azur :D

Lire la suite...

nov. 23

C'est moi que j'ai la plus grosse !!

Bien que ce soit la vérité, ce n'est pas de ce que tu crois, ô lecteur pervers et lubrique, que je vais parler.
Certes, il y a analogie mais je viens te parler ici et maintenant d'un site souvent fréquenté et peu critiqué... Pourtant, il mériterait de l'être.

Si c'est pas du teasing ça !!!

Lire la suite...

nov. 21

Release often... Enfin, presque

Bon, je sais plus trop si je vous ai déjà filé une version de mon excellent petit soft de gammes et accords que j'ai décidé de nommer Scalada.
Comme mon pote Albert[1] me guette, voici donc cette masterpiece of code :D
C'est sous licence BSD modifiée, histoire d'être compatible GPL et c'est fourni en l'état.
Mais comme je suis gentil, vous trouverez à la fois l'archive proprement dite ainsi que le référentiel Monotone[2] pour naviguer dans l'historique et voir ainsi mes errements.
Vous pourrez même contribuer activement... Si je veux bien accepter vos pull requests :)

Notes

[1] Zheimer dit Al Zheimer

[2] En version 1.0 me semble-t-il

- page 1 de 21