La previdenza sociale francese passa a PostgreSQL

PostgreSQL il database open source è subentrato ad un’alternativa proprietaria che nello scorso 2009 ha gestito 69 miliardi di euro francesi distribuiti a 11 milioni di cittadini. Secondo le stime di Bull, l’azienda informatica che cura l’assistenza, ogni giorno vengono effettuate quasi un miliardo di query SQL.

La scelta è ricaduta su PostgreSQL per la disponibilità dei sorgenti e per le sue qualità tecniche senza dimenticare le prestazioni e la stabilità del software. Ora i francesi possono vantarsi di avere un sistema più veloce, efficiente e persino più economico. La migrazione è stata molto lunga, in 18 mesi sono stati convertiti 168 database per un totale di 4 TB di dati. Ora viene anche utilizzato Nagios per il monitoraggio dei sistemi.

Fonte: tuxfeed.it

Le 9 funzioni più attese in Gingerbread Android 2.3

1. Video chat
“Forse il punto forte (che possiamo confermare finora),” ha detto Quentyn Kennemer a Phandroid.com, “sarà il supporto per le chat video utilizzando gli stessi protocolli della video chat di Google Talk”. Ora, Google può cercare di convincere i produttori di hardware e smartphone di mettere una fotocamera sulla parte anteriore dei terminali.

2. Streaming di musica dai computer di casa
Gli utenti saranno in grado di riprodurre musica in streaming dal proprio computer di casa per i loro dispositivi, secondo quanto ha detto Marin Perez a IntoMobile.com. I dettagli su come realizzeranno questo sono approssimativi, ma Google ha acquistato una società denominata Simplify Media, e sempre secondo Perez, Google “utilizzerà questa tecnologia per consentire la trasmissione in streaming di tutta la tua musica non protetta al vostro Android”. Google ha dato uno sneak peak di questa funzionalità in maggio.

3. Android Market Music Store
Per gli utenti che non dispongono di terabyte di musica a casa per lo streaming, l’Android Market offrirà anche la musica. “Una cosa interessante,” ha bloggato Perez, “è che Google ha detto che il mercato sarà molto di più che applicazioni, in quanto sarete presto in grado di acquistare musica da esso”.

4. Google TV
Google possiede YouTube. “Lean Back”è una versione di YouTube che si apre in modalità a schermo pieno con il gioco continua e annunci. Gli speculatori prevedono che Gingerbread potrà usufruire di YouTube Lean Back “funzionalità” per i video di YouTube, così come l’integrazione con il servizio TV di Google.

5. Nuova interfaccia utente
Il lato più critico di Android è l’interfaccia utente (UI), ancora troppo goffa. Ogni versione di Android ha tentato di affrontare questi problemi dell’interfaccia utente e Gingerbread dovrebbe seguire questa tendenza. In realtà, pan di zenzero dovrebbe avere una nuova interfaccia utente più pulita, più fluida e con le icone ridisegnate. Le applicazioni saranno più integrate nel sistema operativo. Kennemer ha detto che l’applicazione YouTube sarà uno dei primi ad ottenere questo nuovo trattamento.

6. Voice Over WIFI
Se le voci sono vere, Google ha aggiunto il protocollo (SIP) nella sua applicazione Google Voice per consentire agli utenti di ricevere le chiamate verso i loro numeri di Google Voice over Wi-Fi e dal cellulare. Questa potrebbe essere una funzionalità interessante per gli utenti di Android che non hanno un piano voce con un operatore di telefonia cellulare.

7. Miglioramento Copia e Incolla
Chiunque possieda un Droid sa che il copia e incolla è un po primitivo. In Android 2.3 promettono (non si sa come) di migliorarlo notevolmente.

8. WebM
E ‘previsto che Google includa un contenitore di video open source in formato WebM in Gingerbread. Google ha acquistatoOn2 Technologies all’inizio del 2010 e con essa hanno ottenuto la VP8 formato di compressione video aperto e open source. Nel mese di maggio, la società ha lanciato il Progetto WebM nel tentativo di imporre VP8 come codec di default HTML5. È logico che Android potrà usufruire di WebM e VP8.

9. Nuovo animazione per “Off Screen”

Fonte: developer.com

php.opensourcecms.com un sito per provare i CMS content management system

php.opensourcecms.com è un sito per chi vuole provare i CMS content management system e capire qual’è quello più adatto per le sue esigenze, permette di provare script, plugin ed estensioni.

Il mio consiglio è di usare WordPress che si conferma sempre di più il migliore CMS dimostrato anche dal fatto che Microsoft chiude Live Spaces e passa a WordPress per i blog della propria piattaforma.

Google Wave ha fallito

Dall’inizio della sua presentazione non capivo l’utilità di Google Wave e cosa avrebbe portato di nuovo al mondo hi-tech e del web 2.0

Oggi finalmente la stessa azienda ha ammesso il fallimento e la chiusura del progetto, come vedete anche un azienda vincente come Google sbaglia.

Le ultime notizie dicono che stia preparando un progetto concorrenziale a facebook, vi faccio la mia previsione, anche qui perderà perchè facebook è troppo avanti ed ha raggiunto un successo enorme non ripetibile.

Vale la regola di buon senso che chi ha l’intuizione giusta e la sviluppa prima degli altri vince.
Per fare un esempio vincente di Google il motore di ricerca ha vinto su tutti perchè in anticipo e con Microsoft-Bing che rincorre con molta fatica.

Come scaricare files multipli con il comando wget di linux

La via classica per scaricare files dalla rete è utilizzare wget nel seguente modo: $ wget URL

Dove al posto di “URL”, andrà inserito l indirizzo corretto.

Ma se volessimo scaricare dei files multipli?

La procedura sarebbe questa:
1. Aprite Gedit, o il vostro editor di testi favorito, ed inserite gli indirizzi dei files da scaricare scrivendo un indirizzo per ogni riga
2. Salvate il file, dandogli un nome, ad esempio: Downloads
3. Utilizzate il file come input per wget: $ wget -i Downloads

Buon download.

Fonte: http://liberamente-kayowas.blogspot.com/2010/01/come-scaricare-files-multipli-con-wget.html

Linux Shell: Integrare l’ output di ls

ls è uno dei comandi base di UNIX, e quindi anche per GNU/Linux, con esso è possibile controllare directories, files, permessi, ecc., il suo output è dettagliato e ben strutturato, ma può anche essere migliorato.

Come?

Provate a mandare in esecuzione:

$ (printf “PERMESSI LINKS PROPRIETARIO GRUPPO DIMENSIONE MESE GIORNO HH:MM PROGRAMMA” ; ls -l | sed 1d) | column -t

Articoli correlati:
https://www.marcobruni.info/it/category/linux
https://www.marcobruni.info/it/category/shell

Quali sono gli errori di programmazione più pericolosi?

Così come accaduto lo scorso anno, oltre trenta organizzazioni internazionali che si occupano di sicurezza, si sono sedute attorno ad un tavolo per stilare la lista dei 25 errori di programmazione più pericolosi. Si tratta di “leggerezze” che sono considerate particolarmente gravi perché possono esporre le applicazioni sviluppate ad attacchi esterni favorendo, ad esempio, attività criminali e sottrazione di dati.

Il documento che illustra gli errori di programmazione più deleteri è consultabile facendo riferimento a questa pagina. Ogni errore è stato commentato, valutato in termini di criticità e suddiviso in categorie.

Nella sezione “insecure interaction” sono raccolti gli errori che possono condurre all’iniezione di codice dannoso, nell’area “risky resource management” sono esposte problematiche di programmazione che possono portare ad attacchi di tipo buffer overflow o risultati non validi mentre nella sezione “porous defenses” vengono affrontate le “falle” nelle procedure di autenticazione o crittografia.

Per ciascun errore, viene indicata anche la semplicità nell’individuazione dello stesso, i costi per la risoluzione del problema, la frequenza di attacchi ed il livello di conoscenza generale del problema da parte degli aggressori.

In testa alla classifica, per gravità del problema, ci sono sempre le vulnerabilità che espongono un sito web ad attacchi “cross-site scripting” (XSS); al secondo posto la mancata “pulizia”, effettuata dal programmatore, delle stringhe ricevute in ingresso dall’utente ed utilizzate all’interno delle interrogazioni SQL. Seguono, al terzo e quarto posto, le classiche vulnerabilità di “buffer overflow” (la copia di un dato ricevuto in input senza verificarne la corretta dimensione) e le “cross-site request forgery” (CSRF).

Appena un paio degli errori descritti nel documento di pubblica consultazione, sarebbero responsabili – secondo le stime – di quasi due milioni di attacchi sferrati nei confronti di siti web.

Il software per la grafica vettoriale Inkscape arriva alla versione 0.47

Il software open source per la grafica vettoriale si aggiorna dopo un anno di intenso sviluppo.
È disponibile la versione 0.47 di Inkscape, programma open source di disegno basato sul formato standard Svg (Scalable Vector Graphics), per Windows, Linux e Mac OS X.

Questa versione esce a un anno di distanza da quella precedente e introduce nuove funzioni, come il salvataggio automatico a tempo, il controllo ortografico, l’esportazione in PostScript e Encapsulated PostScript e un nuovo tipo di curva, Spiro. Inoltre sono stai corretti centinaia di bug e sono state migliorate le prestazioni generali del software.

Per conoscere meglio questo programma leggete la voce di wikipedia: http://it.wikipedia.org/wiki/Inkscape

Cosa ne pensi?

Linux Shell: Zippare e spostare

Continuiamo ad esplorare il fantastico mondo di Gnu/Linux.

Il comando di oggi, non fa altro che comprimere la directory di lavoro al volo, evidenziando i progressi, e spostandola nella posizione voluta.

tar -cf – . | pv -s $(du -sb . | awk ‘{print $1}’) | gzip > out.tgz

Ciò che accade è che indichiamo a tar di creare “-c”, un archivio di tutti i file nella directory corrente “.” (ricorsivamente), stampando l output dei dati verso lo stdout “-f -”, poi andiamo a specificare la dimensione “-s” di tutti i file nella directory corrente, per il comando “pv”, il prossimo passo: du “-sb. | awk? (Print $ 1)?” restituisce il numero di byte della directory corrente, poi zippiamo tutto il contenuto ed inviamo l outpup verso il file “out.tgz”

Articoli correlati:
Linux shell: Scompattare dalla rete

Linux, il meglio degli ultimi 10 anni secondo IBM developerWorks

Tutorial Java: copiare un array/vettore in Java

Il vettore o array in informatica o matematica si può immaginare come una sorta di casellario, le cui caselle sono dette celle dell’array stesso, clicca qui per leggere l’intera voce su wikipedia.

Questo tutorial in Java mostrerà come usare il metodo System.arraycopy() per copiare un vettore/array in java. Il metoto System.arraycopy() permette di copiare un intero vettore oppure una parte di esso.

Naturalmente per copiare l’array, l’array di destinazione deve avere la stessa grandezza (lo stesso numero di caselle) dell’array sorgente.

Ecco un esempio con del codice Java:

String[] sorgente = { “gatto”, “cane”, “uccello” }; // Definisco l’array sorgente con 3 caselle di tipo stringa cioè variabili con del testo

String[] destinazione = new String[sorgente.length]; // Definisco l’array di destinazione vuoto e con lunghezza uguale all’array sorgente ricorda devono avere la stessa lunghezza sorgente e destinatario

System.arraycopy(sorgente , 0, destinazione , 0, sorgente.length); // Infine utilizzo il metodo System.arracopy dando come parametri l’array sorgente, la posizione in cui iniziare a copiare, l’array di destinazione, la posizione in cui devo mettere la copia e la lunghezza

Articolo correlato: java: convertire una variabile di tipo String in Date

Abbonati ai miei feed RSS: https://www.marcobruni.info/it/feed

Python: come trasformare la rubrica di thunderbird in un semplice elenco di indirizzi mail

Python è un linguaggio di programmazione ad alto livello interpretato, orientato agli oggetti, adatto, tra gli altri usi, per sviluppare applicazioni distribuite, scripting e computazione numerica.

Considero python un linguaggio di programmazione molto potente e versatile ed è per questo che l’ho usato per trasformare la rubrica degli indirizzi di posta elettronica di mozilla thunderbird in un elenco usabile in una newsletter.

Ecco il mio primo screencast del mio blog così puoi capire meglio di cosa parlo, cliccate sul bottone a forma di quadrato in basso a destra del video a sinistra del volume per vederlo a tutto schermo…Buona Visione e dimmi cosa ne pensi.

Get the Flash Player to see this content.

Codice:

 
from string import *

def findrev(stro,strf,pos):
    i = pos
    while stro[i]!=strf:
        i = i - 1
    return i

fn = open("rubrica.csv")
fm = open("NewsLetter.txt","w")

while 1:
    line = fn.readline()
    if not line:
            break
    else:
            posc = find(line,"@",0)
            posv1 = find(line,",",posc)
            posv = findrev(line,",",posc)

            fm.writelines(line[posv+1:posv1]+','+'\n')

pass # do something

fm.writelines("bruni.marco@gmail.com")
fm.close()
fn.close()

print "Finito, ho creato la NewsLetter"

Linux shell: Scompattare dalla rete

Da oggi comincio a pubblicare degli articoli che riguardano GNU/Linux che è un sistema operativo libero di tipo Unix ed in particolare la shell che non è l’ascella 🙂 ma è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi.

Pubblicherò periodicamente questi consigli per diventare un ottimo amministratore di sistemi GNU/Linux 🙂

Perchè non provare a spacchettare un tarball direttamente dalla rete, senza salvare il paccheto localmente?

Proviamoci:

Usando wget digitate ed esguite questo comando: wget -O – http://IndirizzoWeb/a.gz | tar xz
Oppure Curl digitate ed esguite questo comando: curl http://IndirizzoWeb/a.gz | tar xz

Se l’archivio è compresso con bzip2 utilizzare “xj” come opzioni a tar cioè tar xj.