iTerm2: inline images(Ruby)

Because Python is slower on my machine, I made a little script to use the proprietary escape code of iTerm2 for printing pictures inline.

Nothing fancy, just to exercice.

require "base64"

def printi(α)
    χtmp = nil
    File.open(α, 'rb') { |χf|
        χtmp = Base64.encode64(χf.read)
    }
    puts("\x1b]1337;File=name=#{Base64.encode64(α)};inline=1:" + χtmp + "\a\n")
end

IPython: Rename images with their SHA1 chekcsum

I got lazy, I don’t want to rename pictures anymore so I name them with their own sha1 checksum, so I made a really quick script to do that under IPython.

def grapimages():
"""return a list of all images in the current folder """
μ = list()
tmp = !ls | grep '[PpJjGg][NnPpIi][GgEeFf][Gg]\{0,1\}'

for ii in tmp:
if ii.lower().endswith('png') or ii.lower().endswith('jpg') or ii.lower().endswith('jpeg') or ii.lower().endswith('gif'): μ.append(ii)

return μ

def rensha():
"""rename images from the current folder with their own sha1 checksum""" χt = ''
iu = ''

for ii in grapimages():

with open(ii, 'rb', ) as φχer:
χt = sha1(φχer.read()).hexdigest()

if ii.lower().endswith('jpeg'): # + exception for jpegs iu = '{}.jpg'.format(χt)
else:
iu = '{}.{}'.format(χt, ii.split('.')[-1])

! mv $ii $iu
print('done.')

Yes I use IPython’s ability to use shell commands to populate python variables. But I told you it’s quick shit, or “life hack” like those pseudo geeks loves to call them. ;)

PyLab + tmux + iTerm2

Due to the fact that iTerm2 is crashing more and more often, I decided yesterday to put my python console inside a tmux window & at the same time launching pylab instead of a simple ipython console.

So in the iTerm2 conf we can launch a command to do that but it wasn’t working by containing the command inside single quotation marks. here’s the command:

/usr/local/bin/tmux -l new -s pylab "/usr/local/bin/ipython --pylab"

Continue reading

fr: Composition d’images.

Technique utilisant imagemagick, pouvant être utilise pour faire les maquettes de fanzines/livres/BD. C’est beaucoup plus simple, rapide et facile a modifier que d’utiliser les scripts photoshop(ces scripts pouvant consommer exponentiellement beaucoup plus de temps…) Il suffit de faire la liste des images dans l’ordre que l’on veux:

#!/bin/sh

convert -size 50x50 xc:blue bleu.png # crée un carre de couleur
convert -size 50x50 xc:green vert.png # crée un carre de couleur
convert -size 50x50 xc:red rouge.png # crée un carre de couleur

convert \
    \( rouge.png vert.png bleu.png +append \) \
    \( bleu.png rouge.png vert.png +append \) \
    \( vert.png bleu.png rouge.png +append \) \
    -append page_finale.png

Petite explication:
Les trois premières lignes sont pour générer les images colorés utilisés juste apres.(pas important)

Le quatrième ‘convert’ est le passage important:
“+append” permet d’ajouter les images precedement listés a droite les unes des autres.
“-append” permet d’ajouter les images precedement listés les unes en dessous des autres. “-append” considere chaque parenthèses comme 1 “image.image.
“page_finale.png” est le fichier qui sera cree pour la composition

“\” a la fin des lignes est juste pour dire que ca continue a la ligne suivante. le tout donne: