postfix maximal_queue_lifetime

mars 19, 2007

Ca aussi, m’a l’air bien alors je teste… voir ici

maximal_queue_lifetime = 1d

un jour ça suffira…

Ensuite ya plus qu’a customiser les bounce pour ne pas effrayer les users 😉 C’est ici que ca se passe.

Publicités

postfix soft_bounce

mars 19, 2007

Par défaut soft_bounce est à yes dans main.cf… bah je viens de le passer à no et fissa !

Sinon, quand un gus envoi un mail hyper important et qu’avec ces gros doigts boudinés il fait une typo dans l’email du destinataire… son mail va rester dans la file d’attente jusqu’a expiration de maximal_queue_lifetime soit par défaut 5 jours… et c’est seulement à la fin de ce délai que Mooonsieur recevra un message d’erreur.

En gros soft_bounce est utile pour tester des modifs de config, il réécrit les erreurs 5xx (permanente) en erreur 4xx (temporaire) ce qui devrait me permettre de corriger un éventuel pb et de relancer la distribution des mails sans en perdre…l’inconvénient faut surveiller la file d’attente en permanence…


NetBSD logrotate

mars 15, 2007

Can’t be simpler than that… vi /etc/newsyslog.conf

Enjoy 😉


postfix pour backuper tes mails

février 22, 2007

Dans main.cf:

sender_bcc_maps=hash:/etc/postfix/sender_bcc_maps

recipient_bcc_maps=hash:/etc/postfix/recipient_bcc_maps

Dans /etc/sender_bcc_maps:

@mondomain.tld root@localhost

Ne pas oublier de faire un postmap hash:/etc/postfix/sender_bcc_maps

Pareil pour recipient_bcc_maps


mutt: how to mark a bunch of message as « read »

février 22, 2007

Type this :

T. to tag all the messages

;WN to clear-flag N on all the tagged messages


GNU screen pour faire du « pair programming »

janvier 30, 2007

Pour partager une session avec Bob, Bill dans un screen fait ctrl+a « :multiuser on » puis ctrl+a « :acladd bob ».

Bob dans un shell fait « screen -x bill/ »


python et unicode

janvier 12, 2007

Vraiment très bon ce petit article, concis, ultra pragmatique. En gros si t’as des problèmes avec unicode dans ton code (accents anyone?), cet article peut te sauver la mise.

En revanche, il ne remplace pas une approche plus « théorique » si tu bouffes de l’unicode toute la journée… ce qui n’est pas mon cas 😉

http://www.jorendorff.com/articles/unicode/python.html


inner python

novembre 5, 2006

Alors en passant ici: http://effbot.org/random/pyfaq, je tombe sur une petite intro pour orienter mes recherches dans le ventre de la bête.

http://www.effbot.org/pyfaq/where-do-i-start-if-i-want-to-learn-about-the-cpython-implementation.htm

http://svn.python.org/view/python/trunk/Python/compile.c

A première vu c’est abordable ;).


doc asm c64 et irc

octobre 21, 2006

Après avoir bidouiller avec la ram video, puis la color ram, je viens de terminer une routine pour la gestion des IRQs. Prochaine étape un petit scroll text 🙂 .

En attendant voici ma source d’info principale: mapping-c64.txt.gz

A priori, tous les sceners se retrouvent sur #c-64@IRCnet.


$0400 ici git, par defaut, la RAM video

octobre 16, 2006

J’en veux pour preuve:

.pc = $0400 "labelaupif" // on place les datas direct dans la ram video
.text "blah blah blah vla la vid ram"

Une fois compilé, le simple fait de charger ce programme en ram (LOAD) va afficher le texte.


8bits strikes back!

octobre 15, 2006

D’abord un émulateur: VICE , ensuite , un cross-assembleur: Kick Assembler , l’éditeur qui va bien : vim , de la doc, beaucoup de doc… et la ligne suivante a taper dans un shell:

java -jar "/chemin/vers/kickass.jar" -execute "/chemin/vers/vice/x64" code.asm

Et te voilà, fin près pour entrer sur scene. 😉


netbsd localtime settings

octobre 11, 2006

là encore c’est easy 😉 2 cas de figure, le plus simple avec une machine entièrement dédiée à NetBSD:

# sysctl -w kern.rtc_offset=0
# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
# date 200610111832

Avec une machine dual boot:

# echo rtclocaltime=YES >>/etc/rc.conf
# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
# date 200610111832
# /etc/rc.d/rtclocaltime restart

Le principe: en gros, et par défaut, le kernel stocke dans le hardware la date en GMT (ou UTC c’est à peu près pareil). Pour ça, il va ajouter ou retirer du temps en fonction du fuseau horaire défini par /etc/localtime avant de lire (boot) ou d’écrire (shutdown) l’hardware clock. Si on a un système en dual boot avec un autre OS qui veut une hardware clock en heure locale (ex: heure de Paris) il faut en plus « feinter » le système avec kern.rtc_offset. C’est ce que fait /etc/rc.d/rtclocaltime.

On a donc pour un dual boot:

heure locale (18h30) = heure hardware (18h30) + kern.rtc_offset (-2h) + /etc/localtime (+2h)

et pour un système dédié:

heure locale (18h30) = heure hardware (16h30) + kern_rtc_offset (0) + /etc/localtime (+2h)

presque clair non? 🙂


unicode et python24-2.4.2 sur NetBSD

octobre 4, 2006

att! mieux vaut ne pas utiliser setdefaultencoding() voir ce que Tim Peters et autres gurus racontent.

Si on a un python buildé avec le support unicode je pensais que, normalement, il suffisait de faire un:

import sys
sys.setdefaultencoding('latin-1')

pour que toutes les chaines unicode soit transformée en latin-1 quand on les print.

Je dis bien normalement, parceque sys.setdefaultencoding() n’existe pas chez moi, c’est comme si je n’avais pas le support unicode alors que u »\xe8″.encode(‘latin-1’) fonctionne parfaitement… plutot bizarre.


/etc/rc.local pour les daemon sortis de pkgsrc

octobre 2, 2006
if [ -f /usr/pkg/etc/rc.d/apache ]; then
     /usr/pkg/etc/rc.d/apache start
fi

C’est doux, c’est propre, c’est lavé avec mir laine.

Bien sur, juste avant, tu auras fait un truc du genre:

# cp /usr/pkg/share/examples/rc.d/apache /usr/pkg/etc/rc.d/

Rhaa t’es ou? (aka find mastery)

septembre 28, 2006

$ touch -t 09280000 dummy      (-t [YYYY]MMDDhhmm)

$ find / -type f -newer dummy


route statique sur NetBSD

septembre 22, 2006

$ man route.conf

Keep It Simple Stupid. J‘adore cet OS, même dans la triste tourmente provoquée par le mail de Charles M. Hannum.


10 minutes avec eclipse

septembre 16, 2006

Bon ok, c’est un mastodonte: 120Mb à downloader. Mais à ma très grande surprise, cela ne se sent pas trop à l’utilisation, même sur un portable avec un mobile AMD athlon 1.66Ghz et 736Mb RAM.

Investir du temps pour maîtriser l’IDE qui est en passe de devenir le standard du marché est une stratégie raisonnable, et je me serais volontier lancé dans l’aventure si j’avais un vrai projet de dev sous la main, mais changer mes vieilles habitudes (zsh, vim, svn, mutt, slrn bref du full console en remote ) pour coder 3000 lignes dans l’année ça ne vaut pas franchement le coup.

En revanche pour un vrai coder, un gars dont c’est le métier quoi… 😉 ca vaut vraiment le coup de faire un test plus approfondi.


mmmm python et eclipse?

septembre 15, 2006

Quand un fervent utilisateur d’emacs switch vers eclipse+PyDev avec enthousiasme, c’est ici : Switching from Emacs to PyDev
et je sens que je vais tester ça ce week end ;).


vim, comment c’est trop bon de tomber sur « :g »

août 23, 2006

« :[range]:g/<regexp>/<cmd> »

ex:

« :1,10:g/^#/d » supprime tous les commentaires compris entre la première et la dixième ligne

Le genre de commande très utile pour supprimer le bruit d’un fichier log de +50Mb. C’est beaucoup plus rapide que de chainer les grep dans un shell puisque tout se passe dans le même process. Pas besoin de recharger le fichier en RAM à chaque fois vu qu’on ne sort pas du process de vim.


python c’est bon mangez en!

août 2, 2006

Pour servir les fichiers dans le directory en cours en HTTP sur le port 8080:

from SimpleHTTPServer import SimpleHTTPRequestHandler
from BaseHTTPServer import HTTPServer

httpd = HTTPServer(('', 8080), SimpleHTTPRequestHandler)
httpd.serve_forever()

Le genre de bout de code qui sera bien dans ton ~/bin ! Bien pratique en remote pour, par exemple, récupérer/visualiser les résultats de mes tribulations avec Latex pour générer des pdf convenables 😉