Trouver les plus gros fichiers sous linux

En ligne de commande, ce n’est pas évident, je connais la command du, mais je me dis qu’une recherche web sera plus rapide. Cela a été le cas, je suis tombé sur un article d’un bloggeur que j’ai déjà critiqué: Korben.

J’ai même ouvert le second résultat de la recherche, mais le site a mis trop de temps à se charger. Du coup, me voilà avec Korben et sa commande magique:

du -hms /home/manu/* | sort -nr | head

Il ne faut pas se leurrer, bloggeur hi-tech, on se dit qu’il s’y connait et tout en linux, et que si il donne cette astuce soudainement c’est qu’il a du en avoir besoin. Surtout que son prénom est Manu et qu’il s’en sert pour lister les fichiers de l’utilisateur manu.

Et bien c’est FAUX. Dans les commentaires, krusaf montre que la commande originale était:

du -hs /home/manu/* | sort -nr | head

Ce qui produisait un résultat incorrect… La seule option que je connais de du c’est bien l’option h pour human readable, qui affiche la taille du fichier avec son unité de mesure la plus adaptée. Du coup, le tri se faisait sur les données qui n’étaient pas dans la même unité.

Alors, à moins d’avoir peu de fichiers, sa commande il n’a pas du la tester. Mais à cela, on remarque que dans la version corrigée il y a seulement une option qui a été ajouté, l’option m, sauf que cette option rend complétement inutile l’option h. En effet, cette nouvelle option force l’affichage en méga octets. On peut donc enlever l’option h et cela cela devient:

du -ms /path/* | sort -nr | head

Mais quand on donne une astuce, il est bon de rappeler à quoi servent les argument avec leur version longue, la voici:

du --block-size=1M --summarize /path/* | sort --numeric-sort --reverse | head

Et c’est testé et approuvé par moi-même. Du coup, en enlevant l’option –summarize, cela permet de rechercher dans les sous-dossiers, ce qui est bien pratique aussi. Et comme ce n’est pas expliqué sur le blog de notre célébre bloggeur, le résultat est en méga octet comme expliqué tout à l’heure.

Je trouve honteux que le mec débarque, donne une astuce non-testée trouvée ailleurs, et en vante ces méritent comme si cela lui avait rendu service. J’appelle ça prendre ses lecteurs pour des cons, cela fait un bout de temps que je lis plus Korben et je m’en porte beaucoup mieux.

Publicités

Design pattern, quand on fait mine de savoir

L’open source est magique. Comment croire qu’on utilise quelque chose, être persuadé de l’utiliser, et le clamer haut et fort, alors qu’en fait c’est totalement faux.

CodeIgniter l’a fait. Le design pattern Active Record, qui consiste en gros à encapsuler les données d’une base de données dans des classes, est largement mis en avant dans CodeIgniter alors que c’est faux.

Tout d’abord, ils ont appelé leur librairie Active Record, rien que ça, comme le design pattern, et on lit:

CodeIgniter uses a modified version of the Active Record Database Pattern.

Le design pattern semble être connu, mais il est modifié comment ? Au point de ne plus rien avoir avec. J’étais curieux de voir leur méthode, puis au fur est à mesure c’était de la déception.

Les méthodes s’appliquent directement sur l’objet base de données, toutes les métodes, y compris l’insertion. Rien n’est digne du design pattern Active Record. Comment ont-ils pu avoir le culot d’appeler leur librairie comme ça ?

Wikipedia me rassure dans la définition, on peut lire:

CodeIgniter has a query builder it calls « ActiveRecord », but which doesn’t implement the Active Record pattern. Instead it implements what the user guide refers to as a modified version of the pattern. The Active Record functionality in CodeIgniter can be achieved by using either CodeIgniter DataMapper library or CodeIgniter Gas ORM library.

Merci, CodeIgniter possède juste un Query Builder (et ils auraient du appeler leur librairie comme ça). Voici comment on apprend des choses fausses aux personnes. Il faut toujours garder un regard critique.

digiKam Le logiciel partisan

Digikam: Gérez vos photos comme un professionnel avec la puissance de l’open source

C’est ce que l’on peut lire en lançant le logicel. Une belle figure de style pour faire croire que l’open source c’est de la puissance qui permet de faire les choses comme un professionnel. Ben voyons voir.

Je me sers de ce logiciel uniquement pour copier les photos d’un appareil photo vers mon PC. Car l’appareil photo ne se comporte pas comme un périphérique de stockage de masse. Une solution serait d’extraire la carte SD et de la lire directement mais cela me fait assez chier de le faire à chaque fois, amusons-nous avec Digikam, un logiciel pour gérer les photos comme un professionnel ahaha oops.

Assez de bla bla, je n’arrive plus à me retenir, digiKam 3.5.0 n’a pas de système de cache !! Et la génération des miniatures fait lagger le scroll, du beau travail vraiment. Disons que c’est quand même la base d’un outil de gestion de photos numériques issues d’un appareil photos. Autant dans les projets merdiques où le developpeur ne va pas prendre en compte les gros fichiers car ce n’est pas le cas usuel (ou plus précisément puisqu’on parle d’open source, car ce n’est pas le cas du développeur). Mais dans un logiciel de photos, la prise en considération que les images manipulées fassent plusieurs méga-octets doit être les fondations du logiciel pour avoir de bonne performance.

Donc on se retrouve du coup avec un calcul des miniatures qui fait freezer le scroll. Que le calcul des miniatures soit lent, on ne peut rien y faire car il y a beaucoup d’images, mais il ne devrait pas figer l’interface. Et comme il n’y a pas de cache, les miniatures sont calculées à chaque fois quand on change de fenêtre! (heureusement quand on scroll dans la même fenêtre cela conserve le cache ouf).

Surtout que leur interface est du plus que pourri. Les photos sont sous forme de miniatures qui recouvrent toute la fenêtre, pour l’instant ça va, appelons ça l’écran principal. Je click sur une photo pour la voir en grand, l’interface change avec un bandeau en haut de miniatures plus grosses mais pixélisées (comme si elles étaient issues des miniatures de l’écran précédent, mais ce n’est pas le cas car on sent du lag), et en bas l’image en grand.

Déjà les miniatures en haut ne se calculent pas toutes, après un moment de réflexion, c’est parce que j’ai supprimé des photos (à partir de digiKam), donc magnifique bug de digiKam, hey, c’est la puissance de l’open source dans sa grandeur. Ensuite, pour une image non supprimée, l’image en bas ne s’affiche pas, il est écrit « Il est impossible de charger l’image », génial, alors que la miniature se calcule bien et que j’ai bien réussi à l’exporter. Du coup je click sur la zone du bas (là où l’image ne s’affiche pas) et cela me fait revenir à l’écran principal (la liste des miniatures) avec à nouveau le calcul de celles-ci. Inversement, quand on passe de l’écran principal à la visualisation d’une image, le bandeau de miniature n’est pas en cache également.

Bref, pour revenir à mon but qui était juste de copier des photos, ce logiciel m’a profondément casser les couilles car j’ai voulu voir au moins une à deux photos avant de copier et effectuer quelques suppression. Je vois dans les options que ce logiciel peut faire des choses évoluées, mais la base de la base d’un logiciel de manipulation de photos est complétement buggé à en faire honte, surtout pour une version 3.5 qui pète plus haut que son cul avec sa phrase d’accueil.

Fanboys aveugles, anti-IE de base

Je déteste IE, dans toutes les versions que j’ai pu tester (IE 9 la dernière, je n’ai pas touché à la 10). Mais pourtant, ce n’est pas la peine de raconter des conneries comme celle la:

j’avais mis « UTF8 » comme encodage de caractères dans une page web.

#IE ne prenait pas ça en charge (alors que ça apparaissait dans la liste des encodages supportés par IE).

Finalement *le moi a trouvé que IE ne reconnaissait que « utf-8 ». Oui, avec un tiret entre « utf » et « 8 ».

Pourtant, utiliser « UTF8 » marchait correctement sur Opera 7, Firefox 1.5, Chrome 5, Opera Mobile, Navigateur d’android, Safari…

Pourquoi… IE… Pourquoi t’es si con ?

La véritable question, est pourquoi le dev web est si con ? En effet, si les navigateurs commencent à s’adapter aux erreurs des développeurs, où allons-nous ? J’ai beau chercher, UTF8 n’existe pas comme charset autorisé, que ce soit sur le w3c, ou la liste complète citée par le w3c. Le charset UTF-8 s’écrit utf-8 ou UTF-8, c’est insensible à la casse et c’est la seule fleur qui est faite aux développeurs. C’est tout. On ne va pas commencer à rendre optionnel les tirets car c’est une erreur répandue.

Merci donc à « Opera 7, Firefox 1.5, Chrome 5, Opera Mobile, Navigateur d’android, Safari » de s’adapter aux erreurs des devs à tel point qu’ils pensent que c’est le standard. Merci également aux noobs de relayer l’info anti IE aveuglément pour propager la bonne parole.

Sinon, il existe csUTF8 comme alias apparemment d’après la liste Iana, mais qui ne fonctionne pas sur un navigateur.

Garder l’esprit critique: le BSA, Google et autre

Parfois on tombe sur des conneries énormes sur des blogs, voici un article qui a été repris/cité par d’autres blogs. Après un bla bla sur la crise, bhou c’est le mal, on arrive au coeur du sujet, le BSA. Je cite le meilleur en ajoutant des numéros dedans pour en faire référence ensuite:

[…] c’est cette publicité de la BSA, affichée dans le métro de Marseille qui met tout simplement la pression sur les salariés afin qu’ils dénoncent leur patron parce qu’ils utilisent une version de Word ou de Photoshop dont ils n’ont pas la licence.

Tremblez patrons [1], car tous les employés frustrés [2] iront vous dénoncer… Ou mieux… Vous risquez même de vous faire balancer par cette brave Monique, expert comptable de 60 ans (qui n’a d’expert que le nom [3]) qui lorsqu’elle verra cette affiche avec ce policier, cette procureure et ce juge qui tirent la gueule jusqu’en bas (surement parce qu’ils adorent leur taf), appellera la BSA pour vous balancer parce qu’elle ne veut pas être complice (?? oui…).

Culpabilisation, pression, dénonciation et minage de moral… Pouah ! Déprimer massivement les gens devrait être illégal ! [4]

Alors cette semaine, pour une fois, faites-moi plaisir… Essayons de sortir de ce cycle qu’on nous impose et pratiquons l’altruisme (ce n’est pas un truc de cochon vous verrez), la motivation, la solidarité, le sourire, la confiance en soi, l’empathie et surtout soyons plus indulgents avec nous-même. Relâchons un peu la pression, profitons un peu plus de la vie et avançons !

Pour rappel, la publicité dit « Ne soyez pas complice! Signalez les logiciels piratés en toute confidentialité sur … ou en appelant le …« . Il est important de noter que l’on parle d’entreprises qui piratent des logiciels (dans le billet du blog, la pub est généraliste elle). Ces mêmes entreprises font d’une part du chiffre d’affaire grâce à ces logiciels (sinon pourquoi s’en servir?) et de plus elles sont censées avoir un budget informatique pour les acheter. Il existe même les logiciels libres si le budget n’est pas élevé (LibreOffice pour Word, Gimp pour Photoshop, Inkscape pour Illustrator… ouille xD). Mais en aucun cas, je ne peux cautionner qu’une entreprise, dont le but est bien sûr de faire de l’argent, puisse se permettre de ne pas payer les logiciels avec lesquels elle se fait de l’argent. C’est tout simplement scandaleux pour moi.

Si on revient sur l’article du blog, c’est l’inverse, l’entreprise est soutenue dans son piratage, même pire, l’article crache sur les employés frustrés [2] et incompétents [3]. Un ton alarmiste [1], pour terminer sur la phrase excellente du 4ième paragraphe, je la cite à nouveau tellement qu’elle est belle: « Culpabilisation, pression, dénonciation et minage de moral… Pouah ! Déprimer massivement les gens devrait être illégal !« … heu, pour rappel pirater des logiciels c’est illégal, en fait cette phrase citée pourrait se traduire par: « Culpabilisation, pression, dénonciation et minage de moral… Pouah ! Pirater les logiciels devrait être légal !« .

Cet article est quand bien même bien fort, le dernier paragraphe est plus une conclusion de l’article en général que sur le BSA, mais pour résumer, sous prétexte à la crise et d’une vie merdique, on justifie le piratage. Les commentaires sont pas mal car tout le monde semble d’accord comme des moutons… il faut toujours garder un esprit critique même avec les personnes avec qui on est souvent d’accord.

Je ne soutiens toutefois pas le BSA pour leur manière d’agir, ce n’est pas dit dans l’article malheureusement (pourtant cela aurait ajouté un argument à son article), mais le BSA semble écrire des lettres de menace aux entreprises et s’amuse à pénétrer les locaux de diverses entreprises alors qu’ils ne sont pas autoriser pour ça (et d’autres choses pas jolies apparemment). C’est pour cela que le BSA s’est vu interdire en Belgique. Cependant, de là à dire que pirater les logiciels c’est bien… c’est n’importe quoi.

Pour terminer, l’article aurait pu simplement dire que c’est une occasion aux patrons de régulariser leur license. Ce qui est à mon avis le but de l’affiche, de jouer sur la peur d’être pris la main dans le sac pour pousser à la régulation. Certes cela crée de la peur, de la peur pour les pirates, même si effectivement je reconnais que la publicité met l’accent sur l’employé innocent en le rendant complice. Mais ce dernier, soit il ne s’y connait pas du tout en informatique et il ne sait pas qu’il utilise un logiciel piraté, soit il s’y connait et il sait qu’il n’est pas complice, ou pire, c’est lui qui a pris l’initiative d’utiliser des logiciels piratés.

Un autre article également rigolo, celui de numerama, un site qui parfois traite vraiment très bien certains sujets. Mais parfois, cela tourne en ridicule, en fonction du rédacteur qui rédige bien sûr (il ne faut pas blamer un site entier à cause d’un seul mauvais rédacteur). Voici l’article en question.

On y apprend une nouvelle importante: Google modifie son algorithme de classement des sites dans son moteur de recherche. Sur le blog officiel de google dont le lien est heureusement donné dans l’article, explique pourquoi il y a ces changements. Google veut que les résultats affichés soient récents, l’exemple choisi est celui des jeux olympiques, on souhaite en général avoir des résultats sur les prochains jeux olympiques et non sur les jeux olympiques de 1900. Évidemment, si la personne souhaite en particulier chercher sur les jeux olympiques de 1900 il le peut toujours en spécifiant la date, mais sans date précise, Google indique que c’est l’évènement le plus récent lié au sujet qui doit s’afficher.

Pourquoi pas, moi ça m’arrange bien, tout comme quand ils ont supprimé les fermes de contenus. Même si cela arrange Numerama ce nouvel algorithme, le rédacteur (Guillaume Champeau) veut soutenir les sites impactés par ces changements. Avec de l’exagération qui en devient ridicule, mais plus c’est gros, plus ça passe ?

Le titre montre directement la donne: « Google est-il devenu totalement irresponsable ?« . Suivi de l’avant-propos tiré par les cheveux avec sa comparaison foireuse qu’il va détailler dans le corps de l’article, voici l’avant propos:

Par sa position ultra-dominante, Google est devenu un agent économique aussi influent que l’Etat ; mais il agit de manière beaucoup plus irresponsable, avec son seul intérêt particulier en ligne directrice. En témoigne la dernière mise à jour de l’algorithme de son moteur de recherche, qui impacte plus d’un tiers des pages de résultats dont dépendent un très grand nombre d’entreprises.

On apprend pas mal de chose: c’est irresponsable d’être une entreprise avec son propre intérêt comme ligne directrice… WOOT! OMG! WTF? C’est vraiment du lourd qu’on tient là. Position dominante ou non, une entreprise aura toujours son propre intérêt comme ligne directrice, sinon ce n’est plus une entreprise, c’est une association ou autre chose du genre. Sérieux, on est sur Numerama et on lit ce genre de connerie de lavage de cerveau… pour rappel, le prétexte pour raconter des conneries est une amélioration de l’algorithme, et oui, améliorer les choses impliquent des changements.

Outch pour cette introduction, passons au coeur de l’article, après un début qui paraphrase l’article du blog de google, l’auteur enchaîne rapidement sur Google Panda, qui est une version de l’algorithme de google dont vous trouverez plus d’information ici (blog de google). Pour résumer, les contenus originaux, uniques et de qualité sont mis en avant (je paraphrase aussi, je copie même) et ceux qui pratique le spamdexing sont sanctionnés. En particulier les fermes de contenus et les comparateurs de prix sont touchés.

Encore une fois, Panda m’avait fait plaisir car ça me saoulait d’avoir 500 comparateurs de prix quand je recherchais des informations sur un produit. A chaque fois je pensais avoir trouver le bon site, et bien non, un site basique juste qui compare, gavant d’avoir ça sur la première page de résultat. Quant aux fermes de contenus, c’est bien fait pour eux, c’est presque des parasites, la définition est simple: « Une ferme de contenus est un site Web qui publie du contenu de peu de valeur dans le but de générer des revenus publicitaires. Conçus et réalisés pour être bien référencés sur le Web, riches en publicité et à bas coût de production du contenu, ils sont faciles d’accès mais pauvres en contenu« . Des sites totalement inutile donc.

Évidemment, ces sites là, pour faire du fric à bas coût, sont dépendants des moteurs de recherche puisque leur but est de les infiltrer grâce aux connaissances précises du fonctionnement des algorithmes d’indexation (il y en a plusieurs car il n’y a pas que Google). Si Google a pris la décision de les virer de la première page (en baissant leur rank), c’est tout simplement car ce n’était plus viable, il y en avait trop, ce qui est normal vu le fric que ces sites doivent rapporter. Google a décidé d’améliorer son moteur de recherche en baissant la visibilité des parasites.

Mais revenons sur l’article de Numerama, le rédacteur possède une dent contre Google panda, il le compare à l’État, et il n’y va pas de main morte, il met les phrases chocs en gras pour faire du sensationnel. Mais tout ceci n’a cependant rien d’extraordinaire, Guillaume Champeau est justement le créateur de Numerama, et il redoute surement qu’un jour Google lui fasse subir la même chose, d’être dépendant d’une entreprise ne doit pas lui plaire. L’émotion parle dans son article, il n’est plus du tout objectif et raconte des conneries, heureusement que les commentaires sont là pour lui remettre la tête en place. C’est pour cela que même sur les sites que vous jugez bien, juste ou tout ce que vous voulez, il faut garder l’esprit critique et le libre arbitre.

Pour conclure, avant de terminer mon article j’ai trouvé celui-ci auquel Guillaume Champeau réagit en commentaire (encore à coté de la plaque) et dont bluetouff lui répond parfaitement bien. Du coup j’ai moins approfondi ma pensée car je rejoins entièrement celle du site. Et cela me fait plaisir de voir que je ne suis pas le seul à garder un esprit critique.

Évidemment, cet article que j’écris sort bien après tous ces évènements malgré le début de sa rédaction au moment des faits… mais le manque de temps…