PROJET AUTOBLOG


Sam et Max

source: Sam et Max

⇐ retour index

Etes-vous accro aux films pornos ? Test en ligne

mardi 25 septembre 2012 à 21:44

Le cul est partout présent autour de nous, les pubs, les couvertures de magazine et c’est lui qui a contribué à faire se démocratiser le VHS entre autre. Avec internet et les connexions à haut débit il est facile de trouver de nos jours des films pornos en ligne en quelques clics sur les moteurs de recherche. Il y a du pour et du contre. On est pas là pour vous blâmer, chacun fait ce qu’il veut et il y a des outils pour “brider” les navigateurs pour ceux qui ont des mômes.

Voici donc un petit test pour savoir si vous êtes accroc au porno :)

1. Vous allez au moins 1 fois par jour sur un site de cul
2. Vous aimer aller dans des sex-shops
3. Vous êtes abonné à un forum ou un chat sur le Web orienté sexe (comme youpie.net)
4. Quand vous sentez l’excitation venir, vous avez du mal à vous retenir
5. Lorsque vous résistez, vous devenez nerveux ou irascible envers votre entourage
6. Plus le temps passe, plus vous avez besoin de vidéos plus hards
7. Après avoir obtenu satisfaction, vous éprouvez une sorte de lassitude
8. Vous prenez madame en levrette en prenant soin de vous mettre de côté pour bien vous voir dans la glace
9. Vous écourtez vos soirées entre amis pour rentrer chez vous et vous masturber devant un film de cul
10. Vous vous levez en pleine nuit ou au petit matin pour vous masturber sur un site X
11. Si vous êtes en couple, vous préférez vous masturber sur une vidéo porno plutôt que de satisfaire madame
12. Votre partenaire ne vous attire plus sexuellement mais vous faites souvent semblant que “ça marche”
13. Vous vous masturbez plusieurs fois par semaine, voire par jour
14. Vous avez plusieurs fois décidé de vous arrêter mais vous n’y arrivez pas
15. Quand vous voyez une femme dans la rue vous pensez immédiatement à la voir à 4 pattes avec des chaussures à talons aiguilles

RESULTATS

• Si vous avez répondu OUI à moins de 5 questions, vous n’êtes pas porno dépendant(e), alors cessez de culpabiliser, vous êtes un débutant!
• Si vous avez répondu OUI à plus de 7 questions, vous êtes en train de devenir pornodépendant(e). Le sexe classique ne vous convient plus, il vous faut des sensations toujours plus hards.
• Si vous avez répondu OUI à plus de 10 questions alors là c’est foutu, on peut plus rien pour vous, votre cerveau est un gros film porno à lui tout seul, pas de place pour le reste. Consultez un médecin si vous voulez mais ça ne servira à rien, en attendant “bonne branlette

En Django, le fichier settings.py, c’est juste du Python

lundi 24 septembre 2012 à 14:42

On a beau répêter dans la doc, “Django is just Python”, c’est difficile de s’y faire. Surtout dans le fichier settigns.py: c’est vrai que le paramétrage, c’est quelque chose qu’on a l’habitude d’être typiquement déclaratif.

Rappel donc, le fichier settings.py, c’est juste du Python.

Ça veut dire qu’on peut faire ça en début de fichier:

import os
# répérer le dossier du projet
ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
 
Et ça un peut partout dans le projet pour éviter les d'avoir des chemins absolus en dur:
 
STATIC_ROOT = os.path.join(ROOT_DIR, 'static')

On peut aussi faire des choses comme celle-ci, pour avoir un comportement spécial en mode debug:

if DEBUG:
 
    # on retire le dernier middleware
    MIDDLEWARE_CLASSES = [:-1]
    #et on en rajoute un au début
    MIDDLEWARE_CLASSES = (
        'libs.middlewares.MonMiddlewareKilebo',
    ) + MIDDLEWARE_CLASSES

Et si un settings n’existe pas, on peut l’inventer pour le réutiliser partout dans son code ailleurs:

SERVER_POOL = (
    ('8.8.8.8', "sametmax.com"),
    ('8.8.4.4', "cnd.sametmax.com"),
    ('208.67.222.222', 'staging.sametmax.com'),
    ('208.67.220.220', "dev.sametmax.com")
)

Et même se faciliter la vie:

SERVER_POOL_DICT = dict(SERVER_POOL)

Dans le même genre on peut faire des calculs:

CINQ_MINUTES = 60 * 5
...
CACHE_MIDDLEWARE_SECONDS = CINQ_MINUTES * 2

Et bien entendu, on peut splitter son fichier de settings en plusieurs fichiers. Il y a le maintenant classique fichier de settings local qui est différent sur chaque marchine, et qu’on importe en fin de fichier:

try:
    from settings_local import *
except ImportError:
    pass

Ca permet de mettre les paramètres de la base de données dans settings_local.py.

Mais on oublie souvent que peut tout à fait récupérer les paramètres depuis un fichier non Python.

Récupérer des valeurs dans un fichiers ini ? Fastoche !

import ConfigParser
config = ConfigParser.RawConfigParser()
config.readfp('/chemin/vers/fichier.ini')
locals().update(config.items('section'))

La théorie de la salle de bain et (un tout petit peu de) Python

dimanche 23 septembre 2012 à 22:12

Il y a quelques jours, j’ai tweeté une vidéo d’une heure de mauvaise qualité où l’on voyait un vieillard parler en anglais de la fonction exponentielle.

Le tweet n’a pas eu de succès. Je me demande bien pourquoi :-)

C’est extrêmement fâcheux car cette vidéo est d’une importance capitale.

En effet, cette petite conf, plus que de maths, parle surtout d’économie, d’écologie, de démographie, de la survie de l’espèce humaine, de sa bêtise, et tout ça avec humour. On en a bien besoin.

J’ai donc décider de résumer cette vidéo ici, en français, et de mettre un peu de Python dedans pour le lulz.

La fonction exponentielle, dans votre vie de tous les jours

Quand vous lisez un truc comme ça dans la presse :

Le prix de l’essence a augmenté de 3 % par an.

Vous vous dites “oh, bah ça va”

Et puis l’année suivante:

Le prix de l’essence a doublé depuis les années 90.

Et là vous criez “tous des bâtards, sauf papa parce qu’il est chauve”.

Vous aurait-on menti les années précédentes ? Nein. C’est toute la beauté de la croissance continue, un phénomène mathématique facile à étudier.

Par contre, je sais pas pour vous, mais moi les logs, les e de truc et les epsilons de machin, ça me parle moyen. Alors si on faisait un peu de bruteforce ? Les matheux me pardonneront mes approximations, l’idée est ici plus importante que la précision des chiffres puisque je suis un charlot.

Prenons une valeur arbitraire, un pourcentage de croissance par an, et regardons combien d’années ça prend pour doubler:

def calculer_temps_de_doublement(pourcent, valeur=1000000):
 
    double_de_la_valeur = valeur * 2
    while valeur < double_de_la_valeur:
        valeur += valeur * pourcent / 100
        yield valeur

Voyons ce que ça donne si on gardait constante la croissance actuelle de la population mondiale:

# croissance de la population mondiale
for i, x in enumerate(calculer_temps_de_doublement(1.7)):
    print i, x
 
0 1017000.0
1 1034289.0
2 1051871.913
3 1069753.73552
...
39 1962628.57148
40 1995993.25719
41 2029925.14256

Il faut 41 ans pour que ça double. En clair, un minuscule pour-cent virgule sept, et le nombre d’abrutis sur la Terre double avant que vous ayez atteint la moitié de votre vie.

Voyons la même chose avec la consommation du pétrole:

# croissance de consommation du pétrole
for i, x in enumerate(calculer_temps_de_doublement(3.4)):
    print i, x
 
0 1034000.0
1 1069156.0
2 1105507.304
3 1143094.55234
...
18 1887514.23841
19 1951689.72251
20 2018047.17308

A votre majorité, la consommation du pétrole de l’humanité aurait donc doublé. Évidement, ce n’est vrai que si cette augmentation reste constante, on peut imaginer que notre consommation diminue avec le temps. Jusqu’ici, la consommation n’a pas juste augmenté, notre croissance de consommation a presque toujours augmenté. Avec un milliard de chinois et d’indiens ça va pas s’arrêter car:

# test avec la croissance chinoise de 2008
for i, x in enumerate(calculer_temps_de_doublement(9.8)):
    print i, x
 
0 1098000.0
1 1205604.0
2 1323753.192
3 1453481.00482
4 1595922.14329
5 1752322.51333
6 1924050.11964
7 2112607.03136

En 7 ans, la production de richesse des bridés doublerait.

Mais bon, l’idée n’est pas encore de débattre, juste de vous montrer un truc: un petit pourcentage, et ça double vite, très vite. Quand vous lisez dans la presse une croissance constante en pour-cent, il faut tout de suite s’arrêter et réfléchir: qu’est-ce que ça représente vraiment ?

Qu’est-ce que ça représente à l’échelle d’une vie ?

Je prends une valeurs arbitraire, je rajoute un pourcentage de croissance par an, et ce, tous les ans pendant 70 ans:

def nombre_de_multiplications_en_une_vie(pourcent, duree_de_vie=70, valeur=1000000):
 
    valeur_de_depart = valeur
    for x in xrange(duree_de_vie):
        valeur += valeur * pourcent / 100
        print x, valeur
 
    print valeur / valeur_de_depart

4 %, en une vie ça multiplie par…

nombre_de_multiplications_en_une_vie(4)
0 1040000
1 1081600
2 1124864
3 1169858
...
68 14972576
69 15571479
15

15 fois la valeur.

7% ?

nombre_de_multiplications_en_une_vie(7)
0 1070000
1 1144900
2 1225043
3 1310796
...
67 99562171
68 106531522
69 113988728
113

Vos enfants se retrouvent avec le phénomène multiplié par 100.

Donc, quand on vous parle de développement durable, et qu’on vous parle de garder la croissance de quelque chose, n’importe quelle chose, avec un certain seuil en pour-cent, on vous parle en fait juste d’une croissance normale, massive. Un truc qui va être énormément multiplié. Et très vite.

C’est ce qu’on appelle une croissance exponentielle.

Ok, mais pourquoi tu nous dis ça ?

Je reprends l’analogie de notre vieux Albert Bartlett, qui ressemble à l’énigme des nénuphars.

Vous avez vu qu’avec un petit pour-cent, une croissance constante fait très vite doubler une quantité. Qu’est-ce qui se passe quand on suit l’évolution de ces doublements ?

Imaginez: une hypothétique bactérie (sous stéroïdes :-)) se divise toutes les secondes, doublant donc sa population chaque seconde.

A 11H, la boîte de Pétri dans laquelle vous avez mis la bactérie contient une bactérie. A midi, la boîte est pleine.

Voilà ce que ça donne:

Maintenant la question piège, à quelle heure reste-t-il la moitié de l’espace dans la boîte ?

Réponse en slides:

En clair, jusqu’à la dernière minute, nos chères bactéries ont encore l’impression qu’il y a encore plein d’espace.

Le cas des bactéries est un exemple typique de croissance dans un système fermé: il y a une ressource limitée, ici l’espace.

Le système fermé dans notre cas, vous l’avez compris, c’est la Terre. Pour la ressource limitée, prenez celle que vous voulez: l’air pur, l’eau potable, l’espace, le pétrole, la bouffe, le métal, etc. Toutes ces ressources sont limitées, et nous les consommons de manière croissante.

Mais vous allez me dire : “arrête, y en a encore plein”. Là on en est pas à la moitié. Et il y les progrès scientifiques. Et les alternatives.

Mais voilà l’astuce, jusqu’à quelle heure on a l’impression qu’on en a “encore plein” ? C’est ce qui est magnifique avec la croissance exponentielle, ça augmente très vite…

Voilà pourquoi vous entendez plein de gens criez “attention, on va manquer de (insérer ici une ressource limitée)”. Et c’est surtout pour ça que les mecs qui vous disent “mais nan, on en a encore plein, et on peut encore en découvrir plein, et il y a le progrès, les alternatives, on a de la marge” n’ont rien compris au film.

La quantité n’a AUCUNE importance, l’important c’est qu’elle est limitée, et qu’on en consomme toujours plus. L’important c’est que cette croissance ne nous permet pas d’évaluer sereinement le temps de freinage avant de heurter le mur.

Particulièrement parce que la croissance exponentielle possède une autre caractéristique très intéressante, à chaque fois qu’on passe le temps de doublement, la quantité consommée est égale à tout ce qui a été consommé depuis le début. Tout. A chaque fois, on consomme plus que tout l’historique:

Du coup, supposons que nos bactéries fassent comme nous, et décident de continuer leur croissance, et de la compenser par de nouvelles découvertes. Des bactéries géniales, genre prix Nobel chez les monocellulaires, font une découverte incroyable.

3 autres boîtes de Pétri !

3 fois plus que ce qui a toujours été consommé, depuis le début de leur existence. C’est énorme, c’est comme si on découvrait soudainement que le schiste pouvait en fait nous filer du pétrole. C’est gigantesque. 3 fois ce qu’on a fait depuis le début de la consommation. Ça laisse voir venir non ?

Voilà, à 12h02, il n’y a plus rien.

Albert Bartlett pense que pour l’humanité et le pétrole, il est actuellement 11h58. Mais même si il se trompe, comme toutes les personnes qui ont annoncé la fin du pétrole avant lui, il ne peut pas se tromper sur le principe: la ressource est limitée, et nous la consommons exponentiellement.

Enfin notre cher pépé malin nous rappelle que les solutions posent aussi souvent des problèmes, particulièrement celles qui consistent à essayer de nous maintenir dans notre système de croissance.

Personnellement, je prendrais juste un exemple: les énergies alternatives. Qu’on s’y intéresse est une très bonne chose, mais leur existence ne résout pas le problème, elles sont l’équivalente de la découverte d’une nouvelle boîte de Pétri !

Elles sont comme les autres, on peut les produire en quantité limité, même celles dites “renouvellables”. En effet, les installations et la maintenance pour la production de ces énergies consomment d’autres ressources: espace, énergie, métal, main d’œuvre qualifiée et bouffe de la main d’œuvre, etc. Sans compter que le pétrole, ce n’est pas que pour l’énergie, mais aussi pour la chimie: agriculture, médecine, vêtement, informatique… On est pas prêt de s’en passer.

Et rien n’est gratuit.

Rappel : la quantité disponible n’a aucune importance. L’important c’est qu’il y a une limite, aussi grande soit-elle, et qu’on accélère notre consommation.

Démographie, consommation et démocratie

Évidement, il y a le problème de consommation. On bouffe trop, on utilise trop la voiture, on jette trop, etc.

Mais si on était un village de Provence, ça n’aurait aucune importance.

L’important, c’est qu’on est nombreux, et que ça continue d’augmenter. Qu’être humain, c’est essayer de garantir que tous le monde ait les mêmes droits, les mêmes libertés, et les mêmes chances.

Ce n’est pas possible avec une population qui se compte en milliard. Et surtout, qui continue de croître (et de consommer), de manière exponentielle.

La surpopulation est un problème majeur. La surconsommation est un problème majeur.

Notre société porte aux nues ceux qui font des enfants, c’est sacré. Et notre société produit des enfants qui vont faire la queue pendant 48H pour acheter l’iPhone 5.

Exponentiellement. Dans un système fermé.

Mais plus grave que cela, la surpopulation ne permet pas l’existence de la démocratie.

La vidéo offre une très belle citation de Isaac Asimov, que je vais paraphraser ici:

J’ai une théorie sur les salles de bain.

Quand vous avez un appartement avec 2 personnes et 2 salles de bains, tout le monde peut profiter des salles de bains, y faire ce qu’il veut, tout le temps qu’il veut, au moment qu’il veut. Et tout le monde peut croire dans “le droit à la salle de bain”. D’ailleurs, il est clair que ça devrait être écrit dans la constitution.

Quand vous avez 20 personnes dans l’appartement, même dans le cas improbable où tout le monde croit dans le droit à la salle de bain, et même si c’est écrit dans la constitution, une telle chose ne peut exister. Il faut instaurer des horaires. Des tours. Il faut frapper à la porte et dire “t’as bientôt fini ?”. Il y aura des meilleurs horaires pour certains, et des abus.

La démocratie ne peut pas survivre à la surpopulation. La dignité humaine ne peut pas survivre à la surpopulation. Le confort et la décence ne peuvent pas survivre la surpopulation. Plus on ajoute de personnes sur Terre, plus la valeur de la vie, non seulement diminue, mais disparaît. Cela n’a aucune importance si une personne meurt, plus il y a de gens, moins l’individu compte.

Rappelez-vous, si vous sentez qu’on en est encore loin, qu’à 11h55, il reste 97% de la boîte de Pétri.

La bonne nouvelle et la moins bonne

Tous les systèmes tendent vers l’équilibre. Il n’y a rien à faire, ça se fait tout seul. Ca veut dire – bonne nouvelle ! – que tous nos problèmes de consommation de ressources vont se régler tout seuls. On va consommer moins automatiquement. Avoir une population qui va baisser, automatiquement.

La mauvaise nouvelle, c’est qu’il est toujours plus facile de détruire que de construire, de mettre le bordel que d’organiser, de consommer que de produire.

Du coup, il n’y a pas de solution rapide à un problème que nous avons mis des siècles à installer.

Ainsi, rien ne dit que si on mettait une solution en place maintenant, ce serait elle qui ferait tendre notre système vers l’équilibre.

Vous ne suivez pas ?

Le système va s’équilibrer, c’est une certitude. La question, la question VRAIMENT importante, c’est comment.

Prenez la surpopulation par exemple, voici deux colonnes, l’une implique que la population continue d’augmenter, l’autre va freiner ou compenser cette augmentation:

Colonne de gauche: croissance. Colonne de droite: décroissance

Vous sentez comme certains items sont plus agréables que d’autres ?

Voilà le truc, le système va s’équilibrer automatiquement, et dans notre cas, il va s’équilibrer en diminuant notre nombre, car nous sommes en croissance constante dans un système fermé.

Donc, la nature va prendre des trucs dans la colonne de droite et les mettre en œuvre jusqu’à ce que le système s’équilibre.

Ce n’est pas une prophétie divine, ce n’est pas magique, ce n’est pas une prédiction de médium, c’est juste un fait simple de la vie.

On ne peut pas savoir ce qui sera utilisé dans la colonne de droite. L’Inde qui va faire la guerre à ses voisins car elle manque d’eau ? La Chine qui va détruire l’économie en consommant tout le fer, provocant une récession mondiale et la famine ? Monsanto / Fukushima / le réchauffement climatique qui va nous faire dégénérer ? Le monde entier qui soudainement fait moins de bébés, naturellement ?

On ne peut pas non plus savoir quand ça va arriver. Dans 2 ans ? dans 120 ans ? La précision, c’est pour les astrologues.

On sait juste que ça va arriver.

En gros, notre problématique, c’est de choisir le truc le moins désagréable de la colonne de droite et de l’appliquer rapidement et efficacement avant que les autres items soient utilisés pour nous. Parce qu’il est clair que personne ne veut mettre le holà sur la colonne de gauche.

Ce n’est pas pour ça qu’il faut arrêter le progrès scientifique, cracher sur le pétrole et le nucléaire ou castrer tout le monde.

Mais ne rien faire, c’est aberrant

En plus d’apprendre Python, qu’est-ce que je peux faire d’utile ?

Envisager de ne pas faire des enfants, voir d’en adopter. Ou au minimum arrêter de se comporter comme un extrémiste religieux qui fait la promotion du Dieu Procréation comme à peu prêt tout le monde actuellement. C’est grave.

Acheter moins. Réparer. Faire avec moins. Faire sans. Ne pas faire.

Ne pas avoir de voiture. Ne pas changer tous les jours de t-shirt. Ne pas acheter le dernier gadget.

Acheter d’occasion. Donner. Libérer de l’espace chez soi, et du temps dans sa vie.

Prendre le vélo. Marcher. Acheter local. Et moins.

Réfléchir, éteindre la télé, lire, parler à ses amis face à face.

Cuisiner.

On ne doit pas viser moins de croissance. On doit viser la décroissance.

Gagner moins d’argent, faire moins de choses. Avoir une économie qui ne soit pas basée sur le plus.

Vendre moins.

Ce n’est pas l’austérité. Ce n’est pas vivre comme un homme des cavernes. Ça ne veut pas dire vivre moins. C’est juste ne pas être un parasite suicidaire.

Connaître la version de Rsync

dimanche 23 septembre 2012 à 19:41

Rsync c’est un super prog pour synchroniser le contenu d’un serveur à un autre. Voir transférer du gros contenu via ssh.
Pour connaître la version présente sur votre système rentrez à l’invite de commande juste “rsync”. Et oui c’es tout con mais des fois on essais -V et autres commandes sans trouver.

[max@toto]# rsync
rsync  version 3.0.6  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes

Pourquoi if __name__ == '__main__' en Python ?

dimanche 23 septembre 2012 à 00:41

if __name__ == '__main__' est un un idiome qu’on voit souvent dans les scripts Python.

A quoi sert-il ?

Contrairement à d’autres langages comme le C, le Java ou le C#, Python n’a pas de fonction ou méthode main(). Quand on lance un script, tout le script est exécute dans tous les cas, et aucune fonction n’est appelée automatiquement.

Normalement c’est plutôt une bonne chose. Explicite is better than implicit, tout ça.

Mais cela pose un problème quand on a un script qui contient du code que l’on souhaite exécuter quand on lance le script directement, mais pas quand on l’importe dans un autre script.

Par exemple, un script egouts.py qui ne fait rien d’intéressant (mais qui le fait vachement bien):

 
def tortues():
    print "kawabunga"
 
tortues()

Si on fait python egouts.py, ça va lancer tortues(). Si on fait dans un autre script import egout, ça va aussi lancer tortues(). Pas glop.

Pour éviter ça:

 
def tortues():
    print "kawabunga"
 
if __name__ == '__main__':
    tortues()

Ainsi, si on fait python egouts.py, ça va lancer tortues() mais pas si on fait import egout dans un autre script.

Comment ça marche ?

C’est une condition tout à fait ordinaire, on peut mettre des if n’importe où dans du code Python.

La seule astuce consiste en l’existence de la variable __name__ qui est une variable automatiquement créée par Python, toujours disponible, n’importe où, dans tous les scripts.

Cette variable contient le nom du script courant si on importe le script. Ainsi, dans n’importe quel code, on peut vérifier où on est.

Mais si le script est le script principal, alors __name__ ne contient pas le nom du script, il contient la chaîne __main__ (oui, c’est bizarre avec deux underscores, mais c’est une chaîne normale).

Donc on dit juste: si ce code est exécuté en tant que script principal (appelé directement avec Python et pas importé), alors exécuter cette fonction.