Firefox 4

Principales fonctionnalités

  • Refonte du code des signets et de l’historique, ce qui permet d’améliorer les performances de bookmarking et de démarrage
  • La compartimentation du garbage collector est maintenant activée, réduisant ainsi le temps de calcul d’animations complexes

Release Notes

Firefox 4 beta

http://www.mozilla.com/en-US/firefox/4.0b9/releasenotes/buglist.html

Firefox 4 RC1

http://www.mozilla.com/en-US/firefox/4.0rc1/releasenotes/

App

Data Matrix et QR Code quelles différences ?

Data Matrix et QR Code sont 2 types de codes barres 2D développés à la même époque. Data Matrix a été élaboré en 1989 et QR Code en 1994.

Un Data Matrix peut contenir jusqu’à 2335 caractères alphanumériques.

Un QR Code peut contenir jusqu’à 4296 caractères alphanumériques.

Le Data Matrix est considéré comme plus sûr (moins piratable). Il est recommandé dans certains cas, lorsque la sécurité est considérée comme importante.

Les codes barres 2D stockent beaucoup plus d’informations que les codes barres classiques que nous connaissons tous depuis des années.

Depuis quelque temps le Data Matrix semble devenir le standard des codes barres 2D aux États Unis. De nombreuses entreprises et même le gouvernement l’utilise. Cependant le Data Matrix n’a pas été conçu pour utiliser les Kanji (caractères japonais). Ce qui explique que le QR Code soit devenu le code barre le plus utilisé dans tout le Japon.

Data Matrix comme alternative Open Source

Les codes barre 2D Open Source comme Data Matrix présentent les avantages suivants par rapport aux formats propriétaires:

  • Les concepteurs sont des experts reconnus
  • Les spécifications techniques sont disponibles
  • Il est soutenu par l’industrie à grande échelle
  • Il y a plusieurs fournisseurs

Les avantages du Data Matrix par rapport au QR Code

  • Data Matrix est 30% à 60% plus efficace dans l’espace pour l’encodage des mêmes données, ce qui signifie que les codes barres s’intègrent plus facilement sur la page ou l’écran
  • Data Matrix est soutenu par l’industrie pour la création et le décodage
  • La taille minimale d’un Data Matrix est 77% inférieure à un QR Code.

En conclusion, Data Matrix semble être le meilleur choix pour les applications de codes barre mobile par rapport aux formats propriétaires et QR Code.

Référence

Semacode – Technical White Paper

Datamatrixed : genérateur, lecteur et API Data Matrix.

Les apports de Subversion

Subversion a été écrit afin de combler certains manques de CVS.

Voici les principaux apports :

  • Les commits, ou publications des modifications sont atomiques. Un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques (le plus souvent Berkeley DB)
  • Subversion permet le renommage et le déplacement de fichiers ou de répertoires sans en perdre l’historique
  • les métadonnées sont versionnées : on peut attacher des propriétés, comme les permissions, à un fichier, par exemple

Du point de vue du simple utilisateur, les principaux changements lors du passage à Subversion, sont :

  • Les numéros de révision sont désormais globaux (pour l’ensemble du dépôt) et non plus par fichier : chaque patch a un numéro de révision unique, quels que soient les fichiers touchés. Il devient simple de se souvenir d’une version particulière d’un projet, en ne retenant qu’un seul numéro
  • svn rename (ou svn move) permet de renommer (ou déplacer) un fichier
  • Les répertoires et méta-données sont versionnés

App

Macfusion – remote host has disconnected

Sous Mac OS X (Snow Léopard) un vilain message d’erreur remote host has disconnected lorsque l’on tente de faire un montage SSH via Macfusion.

Ce problème peut être néanmoins contourné.

Pour cela ouvrez un terminal et lancez la commande suivante:

sudo mv /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/sshnodelay.so /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/sshnodelay.so.bak

App

Cassandra la base de données distribuée

Cassandra est une base de données distribuée dite de « seconde génération »:
  • Tolérante aux pannes. Chaque nœud de données est répliqués sans interruption de services.
  • Ni goulot d’étranglement réseau (bottleneck), ni point individuel de défaillance (SPOF) puisque chaque noeud du cluster est identique.
  • Possibilité de choisir entre une réplication synchrone / asynchrone des données.
  • Modèle de données clef / valeur

App

Python – Installer et configurer Scrapy

Installer Scrapy

apt-get install python python-twisted python-libxml2 python-pyopenssl python-simplejson
wget http://scrapy.org/releases/0.10.3/Scrapy-0.10.3.tar.gz
tar xvzf Scrapy-0.10.3.tar.gz
cd Scrapy-0.10.3
python setup.py install

Configurer Scrapy

Scrapy Tutorial

App

MySQL – Améliorer export et import de données

Exporter des données

SELECT name, age, city INTO OUTFILE '/tmp/data' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; FROM test.people;

Exporte le fichier /tmp/data contenant les champs name, age, city de la table people:

"alexandre","30","paris"
"mark","26","new york"

Importer des données

LOAD DATA INFILE '/tmp/data' INTO TABLE people FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Importe le fichier /tmp/data dans la table people

App

Sauvegarder un fichier sous vim même si vous n’avez pas les droits

Problème

Vous êtes en user et vous éditez un fichier dans /etc/ sans passer par sudo.

vi /etc/apache2/apache2.conf

Une fois vos modifications terminées vous sauvegardez:

:w

E45: L’option ‘readonly’ est activée (ajoutez ! pour passer outre)

La sauvegarde des modifications n’est pas possible car le fichier n’est pas accessible en écriture pour votre user.

Solution

:w !sudo tee %

Tansformer un macbook en sabre laser Star Wars

Télécharger l’application MacSaber pour Mac OS X.

App

CVS – Etats des fichiers

cvs status fichier

?
Ce fichier est présent dans votre répertoire de travail, mais pas dans le référentiel. Vous pouvez l’ajouter.

U (Updated)
Un fichier que vous n’aviez pas modifié vient d’être modifié par quelqu’un d’autre.

P (Patched)
Idem à U.

A (Added)
Fichier ajouté mais pas encore commité.

R (Removed)
Fichier supprimé mais pas encore commité.

M (Merged)
Ce fichier a été modifié localement par vous, et personne d’autre que vous n’a modifié le fichier, ou tous les changements apportés ont été fusionné avec succès avec le vôtre (mais vos modifications ne seront prises en compte que si vous commitez).

C (Conflicted)
Ce fichier a été modifié par vous et quelqu’un d’autre. Ces modifications n’ont pas pu être fusionnés avec succès.

App

PHP 5 – Installer eAccelerator sous Debian Lenny

apt-get install build-essential php5-dev
cd /tmp
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar xvfj eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1/
phpize
./configure
make
make test
make install
vi /etc/php5/conf.d/eaccelerator.ini

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/dev/shm"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

/etc/init.d/apache2 restart

App

PHP – Fonction is_url()

function is_url($url) {
$urlregex = "^(http|https|ftp)?\:\/\/";
// USER AND PASS (optional)
$urlregex .= "([a-z0-9+!*(),;?&=$_.-]+(\:[a-z0-9+!*(),;?&=$_.-]+)?@)?";
// HOSTNAME OR IP
$urlregex .= "[a-z0-9+$_-]+(\.[a-z0-9+$_-]+)*"; // http://x = allowed (ex. http://localhost, http://routerlogin)
//$urlregex .= "[a-z0-9+$_-]+(\.[a-z0-9+$_-]+)+"; // http://x.x = minimum
//$urlregex .= "([a-z0-9+$_-]+\.)*[a-z0-9+$_-]{2,3}"; // http://x.xx(x) = minimum
//use only one of the above
// PORT (optional)
$urlregex .= "(\:[0-9]{2,5})?";
// PATH (optional)
$urlregex .= "(\/([a-z0-9+$_-]\.?)+)*\/?";
// GET Query (optional)
$urlregex .= "(\?[a-z+&$_.-][a-z0-9;:@/&%=+$_.-]*)?";
// ANCHOR (optional)
$urlregex .= "(#[a-z_.-][a-z0-9+$_.-]*)?$";
return eregi($urlregex, $url)?true:false;
}

Source: topflood.com

App

Recent Tweets

Catégories