Daily Shaarli

All links of one day in a single page.

July 25, 2013

Run your own Sync Server — Mozilla Services

Oh yeah, un tuto complet pour installer son service Firefox Sync Server personnel.

Cool :-) (arf, Python 2.6, pô cool)

Recherche d'un nouveau logiciel de présentation

@TODO:
TL;DR

Présentations de logiciels de présentation de diapositives.

gnupg.vim - Plugin for transparent editing of gpg encrypted files. : vim online

Vous utilisez souvent GnuPG pour chiffrer du texte, mais vous voulez vous simplifier la tâche lorsque vous devez utiliser vim avec, et aussi rajouter un peu de sécurité ?
Voici donc le plugin gnupg.vim.

Lorsque je parle de "sécurité", le plugin d'après son auteur désactive des fonctionnalités de vim comme swapfile, viminfo, et undofile, ce qui permet d'éviter de lire les données écrites du fichier en lisant son fichier temporaire, par exemple.

EDIT: le script est disponible sur GitHub, ce qui permet de vérifier son intégrité https://github.com/jamessan/vim-gnupg

EDIT2 (2013-07-31): il est disponible en tant qu'ebuild sous Gentoo \o/ → app-vim/gnupg

Les Secrets d'Astérix (Documentaire) - YouTube

Documentaire originalement diffusé en 2004 sur la chaîne Arte, le voici disponible sur le web. Ce documentaire parle de l'origine du célèbre Gaulois.

Via Korben http://korben.info/les-secrets-dasterix.html

IR is better than assembly — Idea of the day

LLVM est un "cross-compiler" (compilateur multi-plateformes), donc un outil qui permet de traduire un langage de programmation (LLVM en a même plusieurs) en code "machine", sur plusieurs type d'architectures (d'où le terme "multi-plateformes").
En prime, il arrive à de meilleurs optimisations que les optimisations faites par un humain à travers son code.

Comme montré dans l'article, il se décompose en 2 étapes, qui se traduit par 3 représentations du même algorithme :
La première, avec son "frontend" ("front" en anglais pour "devant"), qui lui permet de "traduire" le code source dans un langage particulier en code intermédiaire LLVM, nommé IR ("Intermediate Representation", ou "Représentation Intermédiaire"). IR est ainsi le cœur de LLVM.
Puis, LLVM traduit son code IR (qui au passage est un code de bas niveau, comme l'est le code assembleur) en code machine avec son "backend" ("back" pour "derrière"). Et vu qu'il est un "cross"-compilateur, il peut donc traduire son code en code machine pour architecture x86 (la plus part des processeurs pour PC), PowerPC, ou ARM (ARM, l'architecture de grand nombre de smartphones).

Ainsi, grâce à LLVM, plus besoin d'écrire directement en langage assembleur, ce qui permet de l'exporter sur plusieurs architectures sans devoir le réécrire, et il serait même meilleur.

Si le résultat est réellement au rendez-vous de tout ce qui a été indiqué, je dis chapeau.

PS : pas contre, ne perdez pas de vu qu'un code a de meilleurs optimisations si on réfléchit à l'algorithme plutôt qu'à son code en lui-même, mais ça, c'est une autre histoire.

(via SebSauvage : http://sebsauvage.net/links/?9HLaMw)

EDIT: ici un avis divergeant sur la solution http://links.thican.net/?EyDTbA

[LLVMdev] LLVM IR is a compiler IR

@TODO:
TL;DR

Un autre avis sur IR (voire un article descriptif ici http://links.thican.net/?LbsLIQ), avis plutôt négatif.

The Best Airport Attendant of All Time - Cheezburger

Haha, quel sens de la répartie pour cette agent d'aéroport. :-)

(Via LeHollandaisVolant : http://lehollandaisvolant.net/index.php?mode=links&id=20130725025311)