Gadget – Sam & Max http://sametmax.com Du code, du cul Wed, 30 Oct 2019 15:34:04 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.7 32490438 Black awk down http://sametmax.com/black-awk-down/ http://sametmax.com/black-awk-down/#comments Tue, 06 Jan 2015 10:26:20 +0000 http://sametmax.com/?p=10493

Ceci est un post invité de foX posté sous licence creative common 3.0 unported.

Introduction (sans douleur)

Qui n’a jamais rêvé d’avoir un shell Unix un peu plus pythonic ? Les oneliners en sed et Awk bien chiadés, c’est l’apanage des grands barbus en sandales et ça déchire, mais ça reste cryptique et la manipulation de liste et de chaînes de caractères est tout de même limitée. On peut dégainer perl en one line, comme ça c’est encore plus puissant mais moins lisible…

Et python dans tout ça ? En oneliner, ça craint, car le principe d’indentation ne facilite pas les choses et on finit avec une imbrication de bazar de parenthèses illisible.

La solution ? Pour se faire plaisir : une bonne pyp. Le bidule s’installe avec… pip (c’est une méta pipe).

pip install pyp

pyp (Python Power at the Prompt) va enchanter votre shell unix et vous envoyer au 7ème ciel. Petit tour d’horizon de la merveille.

Pyp et les strings

C’est la base quand on bricole des oneliners en shell, tripoter des strings.

ls *JPG | pyp "'mv', p, p.replace('JPG', 'jpg')"

Revoyons l’action au ralenti :

  • ls *JPG va nous lister tous les fichiers qui finissent par JPG dans le dossier courant.
  • Ensuite on envoie cela dans pyp avec un pipe Unix. Celui-ci va composer une ligne de commande qui est la concaténation d’une commande unix (mv pour renommer un fichier), ce qu’on aura reçu en entrée (qui s’appelle par convention “p”) et une version modifiée de p où l’on remplace JPG par jpg.

On voit ici que l’on utilise la méthode replace de la classe str python. On peut utiliser n’importe quelle méthode de str : lower, upper, title, strip(tease), count etc. Avec des petits bonus comme refindall(re) :-)

Ça donne quoi ma brave dame ? Et bien si on avait des fichiers appelés porn1.JPG et ass.JPG notre jolie commande renverrait :

mv porn1.JPG porn1.jpg
mv ass.JPG ass.jpg

Ok, bien gentil me direz-vous, mais qu’en fait-on ? Et bien ou l’on pipe ça dans le shell ( | sh) ou alors on passe l’argument -x (ou –execute) à pyp ou directement exécuter le résultat.

ls *JPG | pyp "'mv', p, p.replace('JPG', 'jpg')" | sh
# ou bien
ls *JPG | pyp -x "'mv', p, p.replace('JPG', 'jpg')"

Pourquoi on aime bien python ? Car il slice le bread comme un chef. Pyp aussi, oeuf corse, quelques exemples :

echo "sam-et-max" | pyp "p.split('-')[2]"
# max

# La même chose en plus court. Le m, comme minus, sous-entend qu'on split sur "-"
echo "sam-et-max" | pyp "m[2]"
# max
  
echo "sam-et-max" | pyp "m[0], m[2]"
# sam max

Comme vous avez vu, il y a un petit raccourci sympa avec m (comme minus) au lieu de p. C’est pas fini, vous en avez d’autres : d (dot) pour un point, w (whitespace) pour une espace, u pour underscore, s pour slash… Ils ont pensé à tout.

Des pyp à la chaîne

On tout de suite envie de remettre le couvert avec une autre pyp. C’est possible et même encouragé. Le symbole utilisé est le pipe unix | dans une commande pyp. Ce n’est donc pas un pipe du shell mais un pipe interne de pyp. Vous suivez ? Un petit exemple :

echo "sam et max" | pyp "w[0] | 'avant : ', o, 'après :', p"
# avant :  sam et max après : sam

Le p représente toujours le paramètre courant. Donc dans la seconde partie du pipe, c’est le premier élément de la liste issu du split de la chaîne “sam et max” sur l’espace (w comme whitespace). Vous suivez toujours ? Oui, bon. Et donc le o ? Et bien c’est le paramètre d’origine non modifié. Et il y a h (comme history ou comme hâlibi !) pour avoir le paramètre p à toutes les étapes de la chaîne de pipe… Beaucoup de puissance on vous dit !

On peut aussi rouler^w faire des join facilement avec les mêmes raccourcis. Par exemple on split sur les espaces puis join sur slash :

echo "sam et max aiment le lourd en fin de soirée" | pyp "w[:6]|s"
# sam/et/max/aiment/le/lourd

Une liste de pyp avec une belle pp

S’il y a un bien un truc qui envoie du bois avec python, c’est la gestion des listes. Pyp n’est pas en reste. C’est pp qui contient les listes. En avant :

ls | pyp "pp[3]"
# Affiche le troisième fichier

On peut utiliser toutes les méthodes standards de la classe list (sort, count etc.) plus quelques bonus :

# Équivalent de | sort | uniq

ls | pyp "pp.uniq()"

# Additionne tous les PID des process de machine.
# Ça ne sert à rien, mais c'est un exemple hein ?
ps -ef | pyp "w[1] | int(p) | sum(pp)"

# Voilà qui est plus utile. 
# Au passage, on note que la ligne d'en-tête est ignoré et ne fait pas planter pyp.
# Malin le lapin.
df -m | pyp "w[1] | int(p) | sum(pp)"

pyp au naturel

Pour compléter les fonctions python, pyp propose quelques fonctions maisons tout à fait sympathiques. Florilège :

echo "Sam Bill Max" | pyp "p.kill('Bill')"  # quand c'est pas bill, c'est kenny...
# Sam  Max
  
echo 124 | pyp "(int(p)/2+30)"
# 91
  
ls  | pyp "n, p"
# Liste des fichiers avec un numéro croissant devant
  
echo /home/fox/video/gangbang.avi  | pyp "'Dir='+p.dir, '\nFile='+p.file, '\nExt='+p.ext" # basename, dirname et ses amis
# Dir=/home/fox/video 
# File=gangbang.avi 
# Ext=avi

# On définit le séparateur de liste comme l'espace, 
# puis on regroupe la liste par deux élément
# et enfin on fait un join sur le caractère tiret (minus)
echo "1 2 3 4 5 6" | pyp "pp.delimit(' ') | pp.divide(2) | m"
# 1-2
# 3-4
# 5-6

ps -ef | pyp "w[1] | int(p) | max(pp)" 
# (le PID le plus grand)

pyp en intention ou intention de pyp ?

Il ne faut pas se gêner, on peut utiliser les excellentes listes en intention de Python. Voici tous les PID impaires :

ps -ef | pyp "w[1] | int(p) | [i for i in pp if i%2] | p "

L’industrie de la pyp c’est un truc de macro

Les bonnes choses, ça se garde, alors voilà :

ps -ef | pyp "w[1] | int(p) | [i for i in pp if i%2] | p " -s odd  # on enregistre la macro 'odd'
  
ps ef | pyp odd # c'est aussi simple que cela ;-)

pyp sur grand écran

Cette petite pépite est développée par Sony Pictures Imageworks pour ses besoins internes. Le développement n’est pas très collaboratif (un commit par release…) mais reste ouvert aux contributions externes. C’est sous une licence de type BSD.
Les loulous ont fait une jolie vidéo de tutorial très bling bling. C’est l’avantage de bosser dans le milieu :

Et bien plus encore…

Cet outil merveilleux possède encore des fonctionnalités qui vont vous le faire adorer comme son mode interactif avec une coloration syntaxique sympathique, la gestion de l’historique dans le pipe et beaucoup d’autres. Adieu sed, awk, uniq, sort et con sort, vous étiez mes premiers amours, mais pyp vous chasse dehors.

Ce n’est pas la seule ni la première tentative de faire la peau d’awk avec python. Sam avait déjà écrit un article sur une autre solution aussi appelée pyped.

C’est donc parfait ?

Oui, bien entendu. Aucun défaut, aucun bug. Ok… voici les limites :

      Perf de daube. Sur des petits volumes (quelques milliers de lignes) ça le fait. Au delà, ça rame. Quelques patch sont proposés pour diviser par trois le temps de traitement :-)
      Conso mémoire obcène. Idem, pour des petits volumes on s’en fout, mais sinon ça peut rapidement chiffrer. Pourquoi ? Le machin ne fonctionne pas en stream, tout est gardé en mémoire et à chaque étape de transformation (pour permettre d’accéder à l’historique).
      C’est installé sur votre pc, mais pas partout, contrairement à ce bon vieux awk.

Amusez vous bien, celui qui fait la plus jolie commande pyp dans les commentaires aura le droit à un bisous.

]]>
http://sametmax.com/black-awk-down/feed/ 9 10493
Des idées que j’aurai jamais le temps de faire. http://sametmax.com/des-idees-que-jaurais-jamais-le-temps-de-faire/ http://sametmax.com/des-idees-que-jaurais-jamais-le-temps-de-faire/#comments Wed, 05 Nov 2014 11:01:08 +0000 http://sametmax.com/?p=12601

Ceci est un post invité de Réchèr sous licence creative common 3.0 unported.

Mon cerveau est absolument génial. Il trouve tout le temps un tas de projets super. Le problème c’est que mon corps est une grosse feignasse, et ne prend jamais le temps ni le courage de les réaliser. Du coup, je me retrouve avec un tas de bazar dans la tête dont je ne ferais jamais rien. Le mieux, c’est de l’offrir au monde.

Il y a un peu de tout : du potentiellement intéressant, du bien débile, et du carrément glauque. C’est en vrac, faites en ce que vous voulez.

Et puisque ça semble être une tradition pour les articles longs : un peu de musique.

Chocolate DB

“Maintenant, vous savez sur quoi vous allez tomber”

ipad_chocolate_ichocolates

Repas de Noël en famille. Au moment du café, votre grand-mère pose la traditionnelle boîte de chocolat sur la table. Votre tante est allergique aux noix, votre cousin converti à l’islam ne boit plus d’alcool, y compris sous forme de liqueur, et vous, vous voudriez éviter le caramel car ça colle aux dents. Comme chaque année, votre grand-mère a jeté le papier de description de la boîte, parce que “c’est écrit trop petit dessus”.

Le site de recensement Chocolate DB est là pour vous sortir de ce genre de situation délicate, avec des informations détaillées et individuelles de chaque chocolat, dans chaque boîte. Bien évidemment, le site comporte le bataclan habituel : tags, fonctions de recherche, avis des consommateurs, …

Si ça marche bien, on peut ensuite mettre en place un service d’échange entre personnes habitants à proximité. Deux machins dégeux à la noix de coco contre un succulent praliné au gianduja ? Ça marche !

Le concept est généralisable à tous ce qui se vend sous forme d’assortiment : yaourts aux fruits, sachets de thé, bonbons, bières, …

Pub’homme

toilet-paper-ad

Site web de contre-pouvoir à la publicité.

Au début, il y aurait juste des analyses et des recensements, pour mettre en lumière les techniques de fourbe régulièrement utilisées par la publicité :

  • hyperréalité
  • misandrie
  • sexualisation injustifiée
  • flatterie
  • association arbitraire avec une célébrité

Sérieusement, quelqu’un pourrait me dire ce qu’il y a de sexuel dans un putain de clacos ?

Ensuite, il serait envisageable de créer des structures de soutien aux victimes de la publicité. Par exemple :

  • Les techniciens Carglass. Il y a certainement beaucoup de clients qui se foutent de leur gueule, et les plus extrêmes ont peut-être même envie de leur cogner dessus.
  • Les gens qui s’appellent Mégane Renault ou Zoé Renault.
  • Les parents dont les enfants font des caprices à cause des jouets qu’ils voient dans les publicités.

(Parce que tout le monde n’est pas capable de se défendre aussi bien que les Leneuf).

Pour finir, on pourrait s’offrir quelques flash mobs. 500 personnes se retrouvant à une finale de Rolland-Garros pour balancer des Kinder Buenos à la gueule de Jo-Wilfried Tsonga, ça vous tente ?

Un jeu web avec une économie déflationniste

WoW_stats

Si vous lisez ce blog, vous connaissez déjà les bitcoins et les crypto-monnaies. L’une des raisons pour laquelle ce type de monnaie ne se démocratise pas, c’est qu’elles sont déflationnistes, un fonctionnement assez inhabituel. Un jeu web permettrait de le faire découvrir, d’expérimenter des situations, de détecter des comportements émergents, etc.

Pour le jeu en lui-même, pas la peine de se prendre la tête, il suffirait de reprendre un thème classique : gestion d’une ferme / d’un héros / d’un bar à gigolos … L’économie du jeu aurait les particularités suivantes :

  • La quantité totale d’argent ne change jamais. Au départ, tout est dans la caisse commune du jeu. Pour l’exemple, mettons qu’il y ait un million de pièce d’or.
  • Les premiers joueurs inscrits reçoivent 100 pièces d’or, les suivants 50, les suivants-suivants 5, etc. (Au passage, ça incite à s’inscrire le plus tôt possible). Au bout d’un moment, les nouveaux arrivés ne reçoivent rien. Ce n’est pas grave, ça ne les empêche pas de jouer, et de se constituer un capital de départ en produisant et vendant des objets de base aux autres joueurs.
  • Une pièce d’or est divisible à l’infini. Vous pouvez acheter une caisse de patates à 0.0000001 pièce d’or.
  • Pour que l’expérience soit complète, il faut que les joueurs puissent également faire du troc.

Ce dernier point comporte un risque, car les joueurs pourront décider d’utiliser une ressource de base pour leurs échanges, à la place de la monnaie déflationniste. Par exemple, ils définiront leurs prix en caisse de patates, plutôt qu’en pièces d’or. Ce risque est toutefois limité. Si la caisse de patate devient de fait la monnaie universelle, tous les joueurs chercheront à en fabriquer. Comme c’est une ressource de base, elle est très facile à produire, et elle deviendra donc une monnaie hautement inflationniste, en laquelle il sera difficile de faire confiance. Il y aura peut-être cohabitation de plusieurs monnaies. On ne sait pas, mais je pense que ça vaudrait le coup de tester.

YourCryptoCoins

crypto-coins

Un logiciel simple pour créer sa propre crypto-monnaie, avec pleins de paramètres à ajuster, histoire de tester s’il y a plus efficace que le bitcoin :

  • masse monétaire totale.
  • coût de transaction.
  • récompense par preuve de travail et/ou preuve de participation. Montant des récompenses.
  • difficulté de minage.
  • diminution automatique. (Tous les X jours, le solde de tous les comptes existants baissent de Y%, afin d’inciter les gens à dépenser leur argent)

Ça permettrait aux gens de se créer leur petite crypto-monnaie locale, ce qui est peut-être un peu plus fiable que des bouts de papier imprimés à l’arrache avec écrit “Soleil” dessus.

Un réseau de communication vraiment décentralisé.

semaphore

Le problème d’internet, c’est que les adresses IP sont attribuées par des autorités centrales. Et le support de communication (les fils téléphoniques et le spectre radio) est également sous contrôle central. Je ne sais pas trop comment y remédier, mais ça mérite réflexion.

On pourrait mettre des capteurs et des petites lumières clignotantes sur les toits des maisons, qui se transmettraient les informations entre eux. Concrètement, vous ne pouriez communiquer qu’avec vos voisins, mais des messages pourraient transiter de maison en maison. Et on utiliserait des uuid pour identifier chaque point du réseau. Avec un système de clé publique-machin-truc pour garantir l’identifiant de chaque point et éviter les usurpations d’identité.

Et pour les zones peu densément peuplée, on utiliserait des successions de petites lumières, ou des fils mais gérés de manière décentralisée.

Ce serait sûrement très lent et pas fiable (si vos voisins n’ont pas allumé leurs transmetteurs, vous ne pouvez plus communiquer). Mais ce serait “libre”. Et du coup, pas d’abonnement à payer, juste de l’électricité.

C’est vraiment brumeux comme idée, parce que j’y connais rien en bidouilleries réseau. Si d’autres gens ont des améliorations à proposer, qu’ils n’hésitent pas.

Poilatout

cousin_machin

Algorithme, qui, à partir d’une phrase donnée, renvoie le “poil au” correspondant.
Exemple :
“Quand l’imbécile montre la Lune”
-> “poil aux burnes”
“Le sage lui met un doigt”
-> “poil au foie”

Y’a plus qu’à plugger ça avec Siri, et votre smartphone vous permettra de spammer toutes vos conversations de “poil au”.

Si ça sert à rien, c’est que c’est indispensable.

Mi-tik

“Trouvez votre moitié”.

half_man_Andy_Gross

Vous êtes unijambiste de la jambe gauche. Vous vous inscrivez sur le site Mi-tik. Vous avez alors la possibilité d’être mis en relation avec des unijambistes de la jambe droite. Si vous trouvez quelqu’un qui vous correspond, vous obtenez 50% de réduction sur tous vos achats de chaussures.

Le site permet également de faire se rencontrer les manchots d’un bras, les borgnes, les “Van Gogh”, les hémiplégiques, …

HarDis (Harcèlement Distribué).

“Pensez dystopie globale, agissez dystopie locale”.

dented-car-chuck-norris

La loi française ne vous interdit pas de chier sur le palier de votre voisin, de rayer sa voiture ou de l’appeler à 2 heures du matin. Mais elle vous interdit de le faire de manière répétée. Ça s’appelle du harcèlement.

Le “réseau d’entraide HarDis” permet de s’affranchir de ce détail. Vous vous y inscrivez en déclarant un périmètre géographique d’action. Vous recevez ensuite des missions, vous demandant d’agir chez une personne-cible. Vous ne recevez jamais deux missions sur une même personne. À chaque fois que vous en effectuez une, vous envoyez une preuve de réalisation (photo, vidéo, …) et vous gagnez des points. Vous pouvez dépenser ces points pour créer des missions sur des gens que vous n’aimez pas.

L’identité et l’adresse des personnes-cibles est révélée le plus tard possible. Chaque compte a un indice de confiance, visible par tous, qui augmente lorsqu’on effectue une mission et diminue lorsqu’on en prend une et qu’on ne l’effectue pas. Le but étant de limiter les “espions” (des personnes qui ne veulent pas réaliser de missions, mais qui veulent juste surveiller si elles ne sont pas la cible de missions existantes).

Bien entendu, vous pouvez acheter des points, et bien entendu tous les outils d’anonymat sont disponibles : réseau Tor, crypto-monnaie, …

ADN-Fuck

“Là où y’a des gènes, y’a du plaisir”.

ensalada-de-pasta

La société ADN-Fuck rachète vos petits déchets corporels : salive, poils, sang, peaux mortes, urine, sperme… Elle les mélange avec ceux de centaines de personnes, et revend le tout sous forme de petit sachet.

Quelqu’un souhaitant commettre un acte illégal peut acheter l’un de ces sachet d’anonymisation, et le répandre sur les lieux de son acte. Bonne chance à la police scientifique pour retrouver l’ADN du coupable !

La société ADN-Fuck en elle-même ne commet rien d’illégal. Le commerce de poils de cul est, à priori, toujours autorisé dans la plupart des régions du globe.

RoboCraft

minecraft_robot

Un jeu vidéo comme Minecraft, mais avec des robots programmables (en python, évidemment !). On peut les faire miner, construire, explorer, transformer des ressources, etc.

Il y a déjà un add-on de Minecraft pour ça (ComputerCraft), mais c’est pas quelque chose de très officiel. Du coup, tout l’équilibrage du jeu est fait sans tenir compte de ComputerCraft. Un jeu conçu spécialement avec des robots, ce serait super chouette.

Ça rejoint le concept d’automatic-play, dont on parle ici ou là : http://gamestudies.org/1301/articles/depaoli_automatic_play

Et il faudrait une économie déflationniste dans le jeu. Et des robots à reconnaissance vocale qui disent “poil au cul”.

Multi-versus

multi_versus

Un jeu vidéo composé de mini-jeux, dans lequel deux joueurs ou plus s’affrontent, chacun avec un mini-jeux différent.

Par exemple, le joueur 1 (Tetris) affronte le joueur 2 (Puzzle Bobble). Lorsque le joueur 1 effectue des actions valorisantes, (détruire plusieurs lignes à la fois), il envoie de la difficulté au Puzzle Bobble du joueur 2 (des bulles noires impossible à détruire). Et vice-versa : si le joueur 2 détruit plus de 3 bulles d’un coup, il envoie des lignes de cochonnerie sur l’aire de Tetris du joueur 1.

Ce n’est faisable qu’avec des mini-jeux ou chacun joue sur son terrain (pas de Bomberman ni de Pong, par exemple), et ce serait une galère monumentale pour les équilibrer entre eux, mais ça serait vraiment fun.

Un format de fichier pour décrire des dessins animés.

Ce serait un format human-readable. C’est très important, car ça augmente la potentialité de bidouillage par n’importe qui, y compris des gamins de 8 ans.
Ça pourrait ressembler à ceci par exemple :

img_balle = http://s2.postimg.org/w709hznpx/balle.png
img_balle_ecrase = http://s18.postimg.org/hy41jochx/balle_ecrase.png
area = 147, 275
default_time = 5 ms

ball = Sprite(img_balle, 20, 0)
ball.move(0, 10)
ball.move(0, 10)
ball.move(0, 10)
ball.change_img(img_balle_ecrase)
ball.move(0, -10)
ball.move(0, -10)
ball.move(0, -10)

Et ça donnerait quelque chose de ce genre :

bounce_147

Et ensuite, on pourrait faire plein de trucs avec ce format de fichier :

  • des players web, des players desktop, des éditeurs, des extracteurs d’images,
  • des vidéos online (les images et les sons sont indiqués par des urls de téléchargement) et des vidéos stand-alone (tout est embarqué dans un .zip),
  • des options de sous-titres, de commentaires, d’audio-description, d’adaptation aux daltoniens et aux épileptiques,
  • des convertisseurs vers des fichiers vidéos classiques et vers du gif animé,
  • des méta-données pour les credits, la licence, le rating ESRB,
  • et bien d’autres choses encore !

Vous allez me dire : “mais il y a déjà plein de trucs qui font ça : le flash, les gifs animés, Blender…”

Oui, sauf que le flash c’est pas libre, les gifs c’est pas optimisé et c’est super compliqué à reprendre et à bidouiller, et Blender, il faut des mois de pratique avant de savoir faire quelque chose de correct.

Ce format de fichier permettrait de créer rapidement des petits trucs à l’arrache, des cartes de vœux, des memes animés, etc. Et comme c’est du texte, c’est versionable et éditable collaborativement.

Githubiser pleins de trucs.

github-octocat

Alors voilà, vous êtes un musicien et vous faites un solo de flûte à bec comme ça pour déconner. Vous le mettez sur gitsound. Quelqu’un d’autre arrive et ajoute une ligne de basse. Un autre y met quelques paroles. Un autre refait votre air initial avec une guitare électrique. Un autre reprend le tout en accéléré. Un autre y ajoute un “Cher effect” et colle un flow de rap par dessus. Et ainsi de suite.

Ou alors, vous êtes un modéliseur 3D et vous commencez à créer un arbre géant. Quelqu’un arrive et ajoute des mini-branches pour lui donner un air plus détaillé. Un autre met des textures plus belles pour les feuilles. Un autre creuse un trou à l’intérieur. Un autre le recopie en 1000 exemplaires sur un quadrillage pour en faire un décor de clip de Mark Gormley. Et ainsi de suite.

Il y a plein d’autres trucs qu’on pourrait githubiser afin de faciliter la création collaborative : les images (vectorielles ou pas), les recettes de cuisine, les règles de jeux de société, les dessins animés, les positions du kama-sutra, … Et pour certains médias, le github de base, qui ne permet de traiter que du texte, ne suffit pas.

Un Tolkien de la culture africaine

blackfoot-medicine-man-right

Tolkien connaissait toutes les légendes de son pays et d’ailleurs. Il a défini la plupart des éléments de l’heroic fantasy. Sans lui, pas de Donjons et Dragons, de World of Warcraft, ou de Harry Potter. Maintenant, l’heroic fantasy vole de ses propres ailes et emprunte des éléments à d’autres cultures : momies égyptiennes, ninjas asiatiques, doppelgängers teutons, mind flayer lovecraftien, …

Mais à part les zombis, on trouve très peu de choses empruntés à la mythologie africaine. C’est vraiment dommage, car avec le foisonnement culturel de ce continent, on pourrait créer des mondes imaginaires de dingue, peuplés de créatures étranges et de magie aux règles complexes, très différent de l’heroic fantasy.

Il faudrait une personne qui connaisse tous ces trucs (l’animisme, le vaudou, les totems, les esprits, …) et qui s’en inspire pour écrire une chiée de bouquins. Ensuite, les rôlistes, les gamers et J.K. Rowling feront le reste.

Voilà, ce sera tout pour le moment. Phosphorez mes braves, phosphorez !! Et si l’une de ces idées existe déjà réellement, prévenez-moi, ça m’intéresse.

]]>
http://sametmax.com/des-idees-que-jaurais-jamais-le-temps-de-faire/feed/ 31 12601
Style CSS du blog pour les créatures nocturnes http://sametmax.com/style-css-du-blog-pour-les-creatures-nocturnes/ http://sametmax.com/style-css-du-blog-pour-les-creatures-nocturnes/#comments Mon, 26 Aug 2013 19:07:14 +0000 http://sametmax.com/?p=7209 Ceci est un post invité de cactus posté sous licence creative common 3.0 unported.

Comme tout bon codeur, je travaille la nuit ou alors la journée mais seulement avec les volets fermés.
Et si y’a bien un défaut avec ce blog, c’est qu’il arrache la rétine à la pince anglaise !
Du coup, de mes petits doigts agiles et gracieux je me suis bricolé un petit CSS maison pour ne plus pleurer chaque fois que j’ai besoin de relire un des articles, en rendant le site ténébreux plus qu’un gothique un soir sans lune !
Comme vous pouvez le constater, la différence est flagrante :

Le Paradis domine l'Enfer !

S&M : comparaison entre sans et avec thème

Pour l’appliquer, j’utilise l’extension Stylish de mon navigateur (l’addon est disponible pour tous les navigateurs populaires).
Voici donc le style :

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("sametmax.com") {
	body {
		background: none !important;
		background-color: black !important;
		color: white !important;
	} code, pre, blockquote {
		background-color : #101010 !important;
		color : white !important;
	} #slogan {
		color: white !important;
	} a {
		color: grey !important;
	} #header ul li {
		color: white !important;
		background-color: #101010 !important;
	} ul.nav li:hover a {
		background-color: #202020 !important;
	} #header ul {
		background-color: black !important;
	} * {
		text-shadow: none !important;
	}
}

Pour pousser un peu plus loin il y a le problème de la coloration syntaxique. En effet, le style est codé directement dans les balises html, qui ne sont pas modifiées par le CSS, et la coloration syntaxique foire parfois. Du coup pour ceux qui veulent se montrer tatillons, il faut utiliser un petit script (à intégrer par exemple à GreaseMonkey) pour modifier la coloration syntaxique.
Voilà le script :

// ==UserScript==
// @name        Sam&Max - Litlle Color Fix
// @namespace   sametmax.com
// @description Fix a color bug for code coloring on sametmax.com with Stylish "Darker" theme
// @include     http://sametmax.com/*
// @version     1
var spans = document.getElementsByTagName("span");
console.info(spans.length + " spans trouvés by GreaseMonkey/Sam&Max - Little Color Fix");
var white = 0;
for (var i=0; i < spans.length; i++) {
	if (spans[i].style.color == "black" || spans[i].style.color == "#000000" || spans[i].style.color == "rgb(0, 0, 0)") {
		spans[i].style.color = "white";
		white++;
	}
	if (spans[i].style.color == "#000000") {
		spans[i].style.color = "blue";
	}
}
console.info(white + " spans colorisés by GreaseMonkey/Sam&Max - Little Color Fix");
// ==/UserScript==

Enfin, pour ceux qui se plaignent qu'il y ait du cul dans les articles de SM, un petit Stylish pour enlever les images :

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("sametmax.com") {
	.wp-caption, .wp-post-image {visibility: hidden !important;}
}
]]>
http://sametmax.com/style-css-du-blog-pour-les-creatures-nocturnes/feed/ 10 7209
E-ink et confiseries http://sametmax.com/e-ink-et-confiseries/ http://sametmax.com/e-ink-et-confiseries/#comments Sun, 28 Jul 2013 18:34:21 +0000 http://sametmax.com/?p=6897 Pour conclure ma série d’articles autour du coffre secret de Sam et Max, je vais finir avec une présentation du cadeau qui était à décrocher.

]]>
Ceci est un post invité de MrAaaah posté sous licence creative common 3.0 unported.

Pour conclure ma série d’articles autour du coffre secret de Sam et Max, je vais finir avec une présentation du cadeau qui était à décrocher.

C’est vendredi matin à l’aurore qu’une hirondelle d’Afrique m’a livré le paquet tant attendu !

Le fameux colis

Peu de chance que cela soit une Thaïlandaise ou un kilo de boudin

La Kobo et des bonbecs

À l’intérieur, un (une?) Kobo mini, qui est une liseuse numérique de 5" vendue par la Fnac, accompagnée de 4 petits sachets de Dragibus pour que rien ne bouge dans le colis.

N’ayant l’appareil que depuis hier et n’ayant jamais utilisé d’eReader auparavant, je n’ai pas eu le temps de tester la bête en profondeur, mais je vais tout de même essayer de vous faire un petit compte-rendu.

Ce qui frappe tout de suite, c’est que c’est la taille (l’écran est 4 fois plus petit qu’un iPad), on peut ainsi se demander s’il est confortable de lire sur un écran de cette taille.
En fait, cela dépend du format et du type de l’ouvrage que l’on souhaite lire. Le Kobo supporte les fichiers PDF et les epub (le JPG, le PNG et le GIF aussi, mais bon …).

Les formats

Le point fort dû format PDF qui est de garantir une mise en page identique sur tous les OS et dans tous les logiciels est ici un gros défaut. Sachant que sur le Kobo cette mise en page est gardée et que l’on est sur un écran beaucoup plus petit qu’une page de livre, on passe son temps à zoomer et se déplacer sur le contenu ; si cette contrainte ne gêne pas trop sur smartphone ou tablette, car ces actions sont immédiates et naturelles à réaliser (où presque, selon les modèles). Dans le cas d’une liseuse, nous sommes en présence d’encre électronique avec un temps d’affichage très lent (par rapport à un écran “classique”), il faut pas loin d’une seconde pour chaque action (déplacement ou zoom) ce qui rend la navigation insupportable et pas pratique du tout.
En gros c’est vraiment un format à oublier pour un appareil de cette taille. Il existe bien des convertisseurs PDF -> ePub, mais ça ne ma pas donné quelque chose de concluant. Pour le PDF, un eReader de taille supérieure serait peut-être plus adapté (à tester), même si je pense qu’une tablette (type iPad) est le top (réactivité, taille, etc.)(sauf pour les yeux).

Pdf on Kobo

Lire un pdf sur la Kobo, c'est chiant …

Le format epub, lui est tout récent, car il est apparu avec ces eReader. Je n’avais jamais eu l’occasion de tester ce format et c’est tip-top pour ce genre d’appareil. L’ePUB c’est tout le contraire du format PDF, c’est libre, ouvert et surtout il laisse le soin de gérer la mise en page du contenu au logiciel, ce qui permet d’avoir accès à une table des matières, de modifier sa police, l’interlignage et tout un tas d’options relatives à la mise en page. Là où ça peu coincer, c’est pour les BD ou les livres où la mise en page n’est plus “traditionnelle”, wiki me souffle à l’oreille que le format “Fixed Layout” a été développé pour contrer ça, je n’ai pas testé donc je ne me prononcerais pas dessus.

Les options d'un epub sur la Kobo

On peut configurer l'affichage assez précisement sur les epub

L’engin

Bon, passons un peu à lecture et au confort. Je n’avais jamais testé d’eReader auparavant et je suis bien surpris du confort de lecture par rapport à une tablette qui t’éclaire la tronche et te crame les yeux. L’eReader simule le rendu de l’encre sur du papier, il faudra donc une source de lumière à proximité pour voir quelque chose. La résolution n’a pas l’air exceptionnelle, quand les textes sont trop petits ils sont à la limite de disparaitre, mais avec une police de taille raisonnable c’est très propre. Ça supporte aussi les images, sauf que l’écran est en noir et blanc, pour tout ce qui est schéma c’est ok, mais pour des photos ça peut vite être dégueulasse.
Le confort change également beaucoup selon le type de livre. On m’a demandé si la lecture de gros pavés n’était pas trop galère sur un reader de cette taille. Je pense que pour un livre classique (roman/nouvelle) il n’y aura pas trop de problèmes. Par contre, ça risque d’être beaucoup plus chiant pour les livres contenant de nombreux schémas/dessins (genre livre technique, manuel de maths, etc), ainsi que pour des livres d’informatique contenant du code où celui-ci sera étalé sur de nombreuses pages impliquant des retours en arrière (sans parlé du nombre de colonnes).

Un livre d'info sur Kobo

Un petit livre sur l'informatique, même avec quelques schéma, ça passe nikel

L’objet en lui même à l’air de bonne qualité, ça tient bien dans les mains et c’est bien fini. Ça tient facilement dans une poche, ça sort de veille très vite et surtout ça ne consomme rien (juste aux changements de pages).

Le moins

S’il n’y a rien à redire sur l’appareil en lui même, c’est au niveau du contenu proposé que ça pèche. Petit exemple, avec Le trône de fer, tome 1 [Poche] chez Amazon ; qu’on me vende un bouquin physique 10€ ou plus ne me dérange pas, le papier et l’encre ne se sont pas donnés, ça reste un bel objet, on peut le prêter, le revendre, en louer, etc. Mais qu’on me vende un putain d’epub au même prix, voir des fois plus chères que l’ouvrage physique, un truc doit m’échapper ! Ici, 9€ le tome 1 de GoT au format numérique et 8,10€ la version poche, euh …
Bon, je ne vais pas plus loin sur ce point, il faut savoir qu’il y a aussi des bouquins gratuits (de manières légales ou pas…).

La librairie du Kobo

Conclusion

Cette version mini est super pour stocker un tas de bouquins “traditionnels” dans sa poche (1.2 go de livre pour 134g) tout en offrant un bon confort de lecture. Pour un usage à domicile, la taille supérieure est certainement un plus. Pour les amateurs de BD’s, comics ou autre bouquin contenant plein d’images (ou du code) il faudrait tester sur une liseuse plus grosse (par contre il ne me semble pas qu’il y’ai encore de version couleur) ou alors une tablette plus classique (iPad, ou autre). Pour ceux qui veulent un test plus en détail, il y’a un article sur lesnumériques.com

En tout cas, merci Sam et Max c’est un chouette cadeau ! Je ne sais pas trop pour le moment quelle sera mon utilisation et si ça va devenir un objet utilisé au quotidien, mais pourquoi pas. Je ne lis plus depuis quelques années (excepté des bouquins techniques et quelques bds), ça pourrait être l’occasion de s’y remettre vu la praticité de l’objet ! (Ah et pour les dragibus, ils ce sont pris une grosse branlée)

]]>
http://sametmax.com/e-ink-et-confiseries/feed/ 30 6897
Recherche téléphone http://sametmax.com/recherche-telephone/ http://sametmax.com/recherche-telephone/#comments Thu, 06 Jun 2013 05:59:03 +0000 http://sametmax.com/?p=6360 Hello cher internautes,

J’ai besoin de votre connaissance pour savoir si un tel modèle de téléphone existe. Voici mon cahier des charges :

  • PAS de wifi, 3G, GPS ou bluetooth.
  • Autonomie de 7 jours de batteries min.
  • Chargeable en USB.
  • Clavier AZERTY complet (physique ou virtuel).
  • SMS présentés sous forme de conversation.
  • Pas d’apps, pas de store, pas de truc en plus. Je veux juste téléphoner, pas écouter des MP3 ou jouer à des jeux Java.
  • Un 1.5 cm d’épaisseur max.
  • Déblocable (débloqué si possible).
  • Je me branle d’avoir un écran noir et blanc ou un design des années soixante.

    Est-ce que ça existe ? Si ça n’existe pas, est-ce que quelqu’un peut lancer un putain de kickstarter ?

    ]]>
    http://sametmax.com/recherche-telephone/feed/ 28 6360
    Redshift / F.lux pour éviter de s’exploser le yeux devant l’ordi http://sametmax.com/redshift-f-lux-pour-eviter-de-sexploser-le-yeux-devant-lordi/ http://sametmax.com/redshift-f-lux-pour-eviter-de-sexploser-le-yeux-devant-lordi/#comments Tue, 07 May 2013 06:36:50 +0000 http://sametmax.com/?p=557 Si vous passez comme moi 34 heures par jour devant votre ordi au bout d’un moment vos yeux vont piquer un peu. Et là soit on arrête et on se repose soit on continue et on chiale.

    Sur Ubuntu j’avais redshift et depuis que je suis sous Mac j’utilise f.lux que vous pouvez télécharger ici.

    Ce petit logiciel va épargner vos yeux en ajustant la luminosité et la couleur de votre écran en fonction de l’heure de la journée.

    Au début c’est assez désagréable je dois avouer car on a l’impression que l’écran vire sur un sale jaune orangé mais on s’y habitue au bout de quelques semaines.

    Personnelement je le désactive de temps en temps la journée lorsque je bosse du design mais le réactive quand le soir arrive car c’est là où non seulement nos yeux ont passé des heures devant l’ordi mais ou l’ambiance de l’appartement diminue en luminosité laissant l’écran flasher 2.2 GigoWatts de lumière dans les yeux.

    F.lux se lancera avec votre ordi, une icone dans la barre des tâches permettra de le désactiver au besoin.

    Vos yeux vous diront merci.

    ]]>
    http://sametmax.com/redshift-f-lux-pour-eviter-de-sexploser-le-yeux-devant-lordi/feed/ 9 557
    I love les piles USB http://sametmax.com/i-love-les-piles-usb/ http://sametmax.com/i-love-les-piles-usb/#comments Wed, 10 Apr 2013 10:17:43 +0000 http://sametmax.com/?p=5646 On est en 2013, et on a encore tous des bidules à pile. Parce que les piles c’est pratique. On peut les changer instantanément par des piles neuves au lieu d’attendre que ça recharge. On peut trouver d’autres piles du même format facilement partout dans le monde (bonne chance pour la batterie de votre joujou dernier cri, quand il daigne vous laissez accès à elle). Et si vous avez oublié le chargeur de vos piles (car vous utilisez des rechargeables, hein ?), vous avez le joker d’en acheter ponctuellement des jetables.

    C’est beau. C’est low tech.

    Parmi mes jouets, j’ai la même souris que foxmask, qui fonctionne à pile et sans fil, en touffe bleue. Et ce merveilleuse gadget vient avec un cable USB pour fonctionner quand même quand mes AA tombent en rade.

    C’est beau. C’est hi-tech.

    Néanmoins se trimbaler avec un chargeur NiMH dans la cabasse, c’est un tantinet ennuyeux.

    La solution est fournit par USB cell a qui j’ai acheté ces fantastiques piles rechargeables en USB.

    Sans chargeur.

    Ou plutôt avec le chargeur et le port USB intégré dans chaque pile !

    Top délire méga groove :

    Photo de piles USB rechargeables

    Bon désolé, j'ai plus d'APN

     

    *

     

     

    ]]>
    http://sametmax.com/i-love-les-piles-usb/feed/ 19 5646