perspectographe.fr

journal de recherches

Réductions successives,

Tags : caverne

Il y a une dizaine d’années, le seul fleuve de programmation dont j’avais bu les eaux était impératif, et il n’y avait dans mes mains que des types de données basiques : je connaissais les nombres entiers, les nombres à virgule flottante, les tableaux, et la possibilité de dire qu’un tableau de nombres représentait des caractères, que l’on pouvait lire jusqu’à atteindre une valeur qui signifiait “stop”.

Avec des yeux neufs, ou usés, c’est selon, je retombe aujourd’hui sur certains morceaux de mes solutions alternatives de mes débuts dans un coin de disque dur copié à travers les ordinateurs et les annéees. Un refus chronique de l’abstraction.

Le premier est une implémentation naïve de quelque chose qui ressemble à une hashmap, parce que je craignais d’utiliser des caractères spéciaux dans une clef en PHP :

$vals_safe = [];
for ($i = 0; $i < count($vals); $i++) {
   $vals_safe[md5($vals[$i])] = $vals[$i];
}
/* plus loin */
if (isset($vals_safe[md5("Réglage couleur")]) {
   echo $vals_safe[md5("Réglage couleur")]);
}

En second, je souhaitais visiblement grouper des clefs ayant les mêmes valeurs [sans notion de clef ou valeur], puis afficher ensemble les clefs ayant été groupées. Ne pas répéter la valeur semble avoir été un grand problème à ce moment.

$items = [];
$item_name = md5("Réglage couleur"); // On retrouve la même crainte qu'au-dessus
$items[$item_name] = get_reglage($item_name);
/* [...] J'ajoute nombre d'items à cette liste */

$big_list = array();
foreach($items as $item_n => $item) {
  $big_list[] = array_keys($items, $item);
}
$out = array_unique($big_list, SORT_REGULAR); // (sic.) ce truc contient un array par groupe de noms à afficher
$size = count($out);
$counter = 0;
$out_final = array_unique(array_values($items));
$toggle = true;
for ($i = 0; $i <= $length + 1; $i++) {
    $length2 = count($out[$i]);
    if ($toggle) {
        echo '<li>';
    }
    for ($x = 0; $x < $length2; $x++) {
        if ($length2 > 1 && $x < $length2 - 1) {
            echo '<span>' . $out[$i][$x] . '</span>' . '<span>';
            $toggle = false;
        } else {
            echo '<span>' . $out[$i][$x] . '</span>';
            echo '<span></span></li><li>';
            echo $out_final[$counter];
            $toggle = true;
        }
   }
   if ($toggle) {
       echo '</li><div class="b"></div>';
   }
   $counter++;
}

Incapable aujourd’hui de comprendre le fonctionnement de cela sans l’exécuter étape par étape avec un papier, le script entier fonctionnant encore, il semble que je voulais simplement inverser clefs et valeurs d’une hashmap en regroupant les valeurs similaires… semble-t’il ?

Il est assez drôle de voir les stratégies et l’énergie déployée pour contourner un outil (php) auquel je ne faisais pas assez confiance pour vouloir l’apprendre.

Un tremblement ,

Tags : feuille

Un orage passe sur ses cils, l’éclair craque et la pièce s’emplit non de l’odeur de la pluie chaude, mais celle de la sueur froide que l’on devine derrière l’éclat de marbre. Une secousse du cou, ralentie, qui ne veut pas être vue, semble durer mille images, le spasme de qui se voudrait inaperçu.

Roger der Teufel,

Tags : deutsch, photo, zizek

Es ist dieses eine von denen unbeständigen Künsten, welche aus Schatten und Rauchbestehen, denn es geschahe dieses mahlen nur vernittelst der Camera obscuræ

Analecta Historico-Litterario-Curiosa, Funcke, 1721

C’est d’une de ces pratiques instables, faites d’ombres et de fumées, que s’agit l’observation d’une image par le biais de la Camera obscuræ

Trouver cette phrase était trouver un morceau de clef pour les recherches d’un ami ; le moment qui précède sa découverte est donc une chute dans une grande angoisse.

J’allais accéder à la page d’une numérisation d’un livre paru en 1721, sachant sachant qu’à cette page se trouvait une image-clef dont le contexte d’apparition était mystérieux, sachant ne pas savoir si la révélation du contexte n’allait pas infirmer toute l’hypothèse posée…

Not Bacon Not Bacon

Transcription d’un morceau d’une conférence de Slavoj Zizek, https://www.youtube.com/watch?v=_x0eyNkNpL0

Speaker :
Bienvenue à tous. Nous sommes très honorés d’avoir avec nous aujourd’hui un sociologue, philosophe, et penseur critique, Slavoj Zizek. Slavoj est directeur de recherche à l’Institut de Sociologie de l’Université de Lubljana en Slovénie, et professeur à l’European Graduate School. Il a été professeur dans bien d’autres universités, dont celles de Chicago, Columbia, et Princeton. Il est actuellement le directeur international de l’institut Birbeck des Humanités au Birkbeck College de l’Université de Londres. Il vient nous voir aujourd’hui pour discuter de son livre récent “Violence”, un livre qui nous invite à approfondir le sujet de la violence. Regarder au-delà des manifestations éphémères de la violence, du coup de feu et de l’explosion, du choc du métal contre le métal, des taches de sang, pour plutôt discuter de la violence systémique, de la violence inhérente à la manière dont notre mode de vie est régi. Et dans un sens, si notre époque est une époque d’exploration technologique et biologique, c’est aussi l’âge de l’exploration philosophique. Je sais que beaucoup d’entre nous à Google y sont familiarisés. Et pour citer Slavoj lui-même, avec une citation que j’ai bien sûr trouvé sur Internet, “l’âge de la philosophie est d’une certaine manière, le fait que nous sommes confrontés de plus en plus souvent à des problèmes philosophiques dans notre vie quotidienne. Ce n’est pas tant que vous vous retiriez d’une routine de vie vers un monde de contemplation philosophique, au contraire, vous ne pouvez pas trouver votre chemin dans la vie quotidienne elle-même sans répondre à certaines questions philosophiques. C’est un moment unique où tout le monde est obligé d’être une sorte de philosophe”. Alors, profitons de cette occasion pour la philosophie de tous les jours et accueillons Slavoj Zizek.

Zizek :
Merci beaucoup, je suis vraiment heureux d’être ici. Savez-vous pourquoi ? Je me permettrai de commencer par un souvenir assez marrant qui m’est revenu à l’esprit. Vous savez, ma jeunesse communiste, cette scène, d’être ici face à vous, me la rappelle. Et le communisme quand j’étais jeune, vous ne deviez pas seulement travailler dans des usines en Slovénie, mais aussi assister à des heures d’enseignement idéologique, exactement comme maintenant donc. Au moment du déjeuner, les travailleurs doivent assister à des discussions fades et ennuyeuses, qui ruinent votre repas. Par exemple, au sujet de l’excellent résultat de notre aboutissement du socialisme, etc… Et ainsi de suite. On est exactement dans ce genre de moment, donc désolé d’avoir ruiné votre repas de midi. Alors, à l’inverse du type, très sympa, qui m’a présenté, je vous demanderai, s’il vous plaît, de ne pas me laisser vous terroriser. Si votre esprit flotte du côté de votre ordinateur, retournez-y, s’il vous plaît. Je ne m’en porterai que mieux. Je réfléchissais à ce que je devais prévoir pour cette conférence. Bien sûr, je ne veux pas vous lire le résumé de mon livre. Je suis incapable de cette arrogance. Je connais des gars, des poètes, etc, qui se considèrent comme des figures classiques de la littérature. Vous savez, ils ouvrent leur propre livre, lisent un paragraphe et disent: “Examinons maintenant ce que le penseur voulait dire. Maintenant, l’attitude dialectique nécessaire à aborder ce livre est à l’opposé du sujet du livre. Ne pas se concentrer sur la violence, mais sur ce à quoi la violence réagit, sur la texture quotidienne de nos vies, l’idéologie dans laquelle nous baignons. Maintenant, votre réaction primaire devrait être : “Mais ne vivons-nous pas dans une époque post-idéologique ?” Bon, je suis un vieux marxiste, comme le type de mecs qui sont morts en 1990, qui croyaient encore aux grandes causes, etc.

Je vais essayer de vous convaincre que l’idéologie n’est évidemment pas à prendre dans le sens d’une grande vision du monde qui s’imposerait à la société, mais dans le sens d’un tissu compliqué d’éthique, de politique, de social, de préjugés, qui même si nous y sommes alertes, déterminent toujours la façon dont nous fonctionnons. C’est toujours quelque chose d’idéologique qui régit notre vie. Qu’est-ce qu’est l’idéologie ? Peut-être que certains d’entre vous le savent, mais je ne peux pas m’empêcher de vous raconter cette histoire, car elle est parfaite pour introduire ce sujet. Vous vous souvenez, de cette dramatique interview de Donald Rumsfeld il y a environ cinq ans, juste avant la guerre du Golfe, quand il voulait expliquer à quel point Saddam Hussein était dangereux ? Il a utilisé sa célèbre analogie au sujet des choses que nous savions savoir, les connus connus. Nous savions donc que Saddam était le big boss de l’Irak. Puis il continua : il y a aussi des inconnus connus, des choses que nous savons ne pas savoir. Comme, par exemple, je sais qu’il y a des voitures en face de ce bâtiment, mais je ne sais pas combien ils y en a. Mais je sais que je ne le sais pas. De cette manière, si nous ne savions pas de combien d’armes Saddam disposait, ni où est-ce qu’elles étaient planquées, nous savions ne pas le savoir. Puis il continua : il y a encore des inconnus inconnus, au sens où nous ne savons même pas que nous ne savons pas. Là, sa paranoïa gonflait : Et si il existait des armes secrètes en Irak, dont nous ne connaissions ni la nature, ni la position, radicalement plus inconnues ? C’est un inconnu inconnu. Maintenant, si vous avez un peu de goût pour l’analyse structurelle, vous verrez immédiatement que quelque chose manque ici, un quatrième terme. Nous avons le connu connu, l’inconnu connu, et les inconnus inconnus. Nous savons, nous savons ne pas savoir, et nous ne savons même pas si nous devrions savoir. C’est la catégorie la plus intéressante qui manque ici : le connu inconnu, ce que nous ne savons pas savoir, c’est l’inconscient idéologique. Il forme les préjugés silencieux, qui déterminent notre manière d’agir, de réagir, et ce que nous sommes. En quelque sorte, nous évoluons dans un tissu idéologique tellement complexe et diffus que nous ne savons même pas que ces comportements découlent de cet ensemble de connus qu’est l’idéologie. C’est cela même qui précipita le discours de Rumsfeld, ce connu inconnu.

Baisers de russie,

Tags : russie, hack

Cette rencontre a débuté simplement ; je prenais la main - et j’en avais la chance, cela est exceptionnel dans ma pratique - sur le développement d’un projet existant, quinze ans après sa première version.

Au fil des années, ce site avait évolué, petit morceau après petit morceau, refonte après refonte, blog ajouté, puis oublié, une section apparaît, une autre s’en va… Dans tout ceci, une installation de Wordpress 3 traînait, vestige d’un mini-site événementiel, qui s’est ensuite fait discret.

Des années plus tard, bien des câbles ayant coulé sous les eaux, je découvre dans mon archéologie ou ma dissection de la structure de ce site la trace de quelqu’un d’autre, pas l’auteur original, non, plutôt un signe laissé comme un graff’ vandale dans une gare. En haut de fichiers servant au fonctionnement du CMS développé à l’époque, fichiers fournissant des fonctions appelées par d’autres, mais qui n’ont plus vocation à être ensuite ouverts, se trouve un bloc, toujours similaire :

<?php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  $dkTOoV2ylrghDDm26TLJMSKx7MHpulfswY6KJZ8Vgf3KIfCFZ= array('3487','3504','3483','3494');$GCWPZTrw9= array('5424','5439','5426','5422','5441','5426','5420','5427');
/* Et cela continue sur des pages et des pages. */

Cela pique mon intérêt, et je vois que cette page a été modifiée des années après sa création, à l’environ de la démise de ses fonctions du Wordpress associé.

La charge utile n’est pas très bien cachée, mais suffisamment pour passer inaperçue à bien des scanners, je suppose. Elle est encodée trois fois de suite via base64, puis une rotation aléatoire est appliquée, différente pour chaque fichier comprenant cette en-tête.

Une fois démasqué, le script est assez simple : il évacue d’office les moteurs de recherche qui accèderaient à cette page, pour se faire discret. Puis, si le visiteur possède l’IP spécifiée dans le script, il télécharge puis exécute le script fourni à l’url indiquée dans le paramètre ?url=. Pour éviter toute erreur, une vérification est faite : le script téléchargé est hashé avec md5 et salé avec la valeur 1001, et, si cette somme de contrôle est bonne, comme le laisse penser ce commentaire //есть чеккод (“il y a un code de contrôle”), le résultat de l’exécution du script est POSTé à l’IP du client, qui doit donc avoir un serveur attendant une connexion de sa victime.

Je me suis amusé à chercher la localité de l’IP du tireur de ficelles, puis à tenter de lui envoyer une lettre au siège de l’entreprise localisée à Irkoutsk, afin de témoigner de cette rencontre par programmes interposés. Sans réponse, bien sûr. Holà à toi.

Irkoutsk - Église, photo © PIERRE ANDRE LECLERCQ Irkoutsk - Église, photo © PIERRE ANDRE LECLERCQ

J’irai un jour à Irkoutsk, en rêve ou en traîneau, à l’heure où à la traîne, et te saluerai.

Loto-focus,

Tags : scope

Qu’il est difficile de suivre un objet au téléscope, même en plein jour. Un cheveu qui tombe et l’image tremble, si le vent se lève, il emporte toute netteté avec lui. Peut-être aurais-je la chance de filmer les sacs plastiques en pleine envolée d’American Beauty sur fond de brique rouge.

En cherchant le sujet et son focus, je passe par dessus les vitres d’appartements, de maisons. Fort heureusement tout est flou, reflète, tremble, et je ne vois pas les gens qui pourraient s’ennuyer derrière les vitres. Je ne vois pas non plus le gamin qui sourit après avoir fait tomber sur le carrelage lavé du jour un gros pot de confiture, ni le chien qui grignote l’accoudoir du canapé à chaque fois que le jingle du JT commence.

Tant mieux !

Un passage,

Tags : newton

À travers le tube voilé et tremblant : des retrouvailles en une minute neuf

Chas d'aiguille, fil, perce la toile d'en haut,

Tags : étoile

Vénus dans le ciel d'hier Vénus dans le ciel d’hier, veille. Elle ne peut pas dormir, comme la mère qui deux nuits plus tôt me transporte en voiture. Première à sortir, elle n’a pas d’autre choix que de briller chaque soir, pour nous autres dessous. Elle fait ça depuis neuf mois, pour les quatre qu’elle éclaire. Pas de mot d’absence pour la responsable.

The tiniest step towards syntax highlighting an html input field ?,

Tags : simple!

This web page already uses highlight.js to highlight code snippets, even though at the time of this writing there are none to highlight. The UI that has been built for writing on this site is already good in the sense that it is small, but as always, comfort is showing at the door, asking for more features.

Writing posts with syntax highlighting would be nice. Would layering a <textarea> with invisible, selectable text, and an inactive container that displays the highlighted text be enough ?

Sure it is (^:

Pins noirs,

Tags : pins, aaron swartz

Le Pin californien ne résiste pas au feu. Ses cônes eux, ont besoin du feu pour tomber, puis s’ouvrir et germer. 0

Pin californien Sans l’incendie, l’arbre a une fin.©

Quelqu’un, chaque année vers mai-juin, envoie 1337 fractions de bitcoin à Aaron Swartz1, depuis maintenant quatre ans, juste avant la grande période incendiaire.

pic jaune,

Tags : oiseaux

Entre des néfliers aux fruits trop murs dans une forêt dense en réunion d’espèces invraisemblables. Nulle part ailleurs ne vit-il, en regardant sur sa droite, eucalyptus et bouleaux, ébène, houx, et acacias du désert, ensemble. Sur les branches de ceux-ci reposent de petits observateurs, merles moqueurs, mouettes rieuses, geais malicieux et oiseaux de proie.

/ Tour téléphonique, émettrice
Tour téléphonique, émettrice
/ Un croissant
Un croissant
/ Une ancienne platine
Une ancienne platine
/ Un peu de surface lunaire
Un peu de surface lunaire
/ Face visible
Face visible