giovedì 3 febbraio 2011

PHP: disabilitare (temporaneamente) i warning generati da uno script

Ci sono due possibilita:

  1. Inserire la riga seguente nel file di configurazione php.ini:
    display_errors = 0
  2. Inserire a inizio script la clausola:
    ini_set( "display_errors", 0);

Mysql: gestione degli arrotondamenti

A questo indirizzo trovate una presentazione delle funzioni matematiche di MySQL con una serie di interessanti commenti riguardanti le problematiche che si incontrano utilizzando le funzioni di arrotondamento:

http://dev.mysql.com/doc/refman/5.1/en/mathematical-functions.html

domenica 19 dicembre 2010

Se Empathy non si collega a MSN

Applicare questa patch su papyon (in qualcosa come /usr/lib/python2.6/site-packages/papyon):

diff __git a/papyon/service/description/SingleSignOn/RequestMultipleSecurityTokens.py b/papyon/service/description/SingleSignOn/RequestMultipleSecurityTokens.py
index 73c1127..42d7497 100644
__- a/papyon/service/description/SingleSignOn/RequestMultipleSecurityTokens.py
+++ b/papyon/service/description/SingleSignOn/RequestMultipleSecurityTokens.py
@@ -21,7 +21,7 @@
import xml.sax.saxutils as xml

class LiveService(object):
- CONTACTS = ("contacts.msn.com", "?fs=1&id=24000&kv=7&rn=93S9SWWw&tw=0&ver=2.1.6000 .1")
+ CONTACTS = ("contacts.msn.com", "MBI")
MESSENGER = ("messenger.msn.com", "?id=507")
MESSENGER_CLEAR = ("messengerclear.live.com", "MBI_KEY_OLD")
MESSENGER_SECURE = ("messengersecure.live.com", "MBI_SSL")

Wordpress: too many redirects

Il vostro sito basato su wordpress non e' piu' visualizzabile e il browser vi avverte che ci sono troppi redirect?

Potete applicare una patch per disabilitare la "canonical url redirection",

Inserite lo script disable-canonical-redirects.phps nella directory /wp-content/plugins:

<?php
/*
Plugin Name: Disable Canonical URL Redirection
Description: Disables the "Canonical URL Redirect" features of WordPress 2.3 and above.
Version: 1.0
Author: Mark Jaquith
Author URI: http://markjaquith.com/
*/

remove_filter('template_redirect', 'redirect_canonical');

?>

giovedì 9 dicembre 2010

Problemi di encoding UTF-8 su script Perl

Ho uno script che legge un file CSV, fa alcune elaborazioni e poi genera un nuovo file CSV su standard output.

Problema: se il csv sorgente contiene dei caratteri estesi in encoding utf8 (ad esempio le lettere tedesche che l'umlaut) mi trovavo nell'output degli errori:
Cannot parse:__contenuto_della_riga_del_csv__
Soluzione: dire a Perl che quello che sta leggendo e' un file utf8, trasformando la riga:

 open (CSV, '<:', $file)
in:

 open (CSV, '<:utf8', $file)
Questo ha fatto sparire i warning relativi al parsing del file, pero' l'output risultava errato con i caratteri estesi sostituiti da orrende sequenze e codici.

Il nuovo problema era che l'output veniva encodato in ISO-8859
Per forzare le scritture su standard output in UTF8, bisogna inserire a inizio script la riga:
binmode STDOUT, ":utf8";




lunedì 13 settembre 2010

Aprire un file con VIM e salvarlo con un diverso encoding

Assumiamo per esempio di avere un file (file.txt) con encoding UTF-16 e di volerlo convertire in UTF-8.


Apriamo il file con il comando:
vim file.txt
salviamo il file con il comando:
:write ++enc=utf-8
o, se preferiamo salvarlo con un altro nome:
:write ++enc=utf-8 file_utf8.txt


Lo stesso risultato puo' essere ottenuto da linea di comando:
iconv -f utf-16 -t utf-8 file.txt > file_utf8.txt

sabato 14 agosto 2010

openOffice Writer: shortcut per cambiare 'case' parole

Word di M$, ha una comoda feature, selezionando una parola e premendo ripetutamente la sequenza SHIFT F3, questa viene trasformata in sequenza in MAIUSCOLO, minuscolo, Capitalizzato.

Su OpenOffice e' necessario seguire questi pochi passi per ottenere lo stesso risultato:

Tools > Customize > Keyboard
Selezionare lo shortcut SHIFT+F3 (nel riquadro in alto a sinistra)
Selezionare la categoria OpenOffice MACRO (in basso a sinistra) > share > Capitalise
Selezionare la funzione "CapitalisePython" (al centro in basso)
ed agganciarla (usando il bottone "modify") allo shortcut selezionato.