[eventi] Sagra del Software Libero 2008

La Sagra del Software Libero 2008 avrà luogo sabato 31 maggio 2008, nel centro socioculturale della circoscrizione n.2, situato in via T. Rook 13 (Pisa) e sarà tenuto dai membri del GULP.

Programma della sagra:

Orario Titolo Relatore
15:00-15:30 Introduzione Il Presidente
15:30-16:00 Talk Software Libero LightKnight
16:00-16:30 Risorse per Principianti Alessandra
16:30-17:00 Pausa Merenda  
17:00-18:00 Installazione Ubuntu Il Presidente
18:00-18:30 Videogiochi liberi su Linux DnaX


Dettagli maggiori sul loro sito e su Punto Informatico.

[Eventi] Travaglio alla Stazione Leopolda

travaglio

10 giorni fa sono stato a sentire Marco Travaglio alla Stazione Leopolda, vicinissima a dove sto io. E' passato del tempo e poi mi son scordato di postare qualcosa a riguardo.

Sono state 3 ore interessanti (letterlamente volate), in cui Marco ha tenuto sempre un buon ritmo con il suo solito stile elegante e pungente.

Una ressa incredibile, non so quante persone riesca a contenere quel posto ma secondo me almeno 200 persone c'erano tutte. Fortunatamente sono riuscito ad agguantare due sedie prese a prestito dal bar della Stazione e a sedermi vicino al palchetto (come si può notare dalla foto), il tutto in una calura incredibile, avevo una sete allucinante.

Tavaglio ha anche presentato il suo nuovo libro, scritto con Peter Gomez, "Se li conosci li eviti", 14 €, per ora regalato ad una nostra nuova amica romena Daniela (una donna dalle mille risorse e sospetto anche una consulente finanziaria con le palle).

[Music] Halleluja! - Lucca Gospel Festival

Hallelujah

E' con grande piacere che annuncio di poter partecipare in qualità di membro del coro Voices Of Heaven all'"Halleluja! Lucca Gospel Festival", manifestazione che si terrà dal 10 al 15 giugno ed organizzata da Vijay Pierallini e i Joyful Angels, in collaborazione con la Provincia di Lucca e la Fondazione Cassa di risparmio di Lucca.

"Dieci cori italiani potranno partecipare al concorso, organizzato nell'ambito del Festival. Potranno partecipare quei cori che abbiano un repertorio di genere gospel, spiritual o ispirato alla musica nera e afro-americana, purchè si tratti di formazioni amatoriali e non esercitino l'attività corale come professionisti. Altra clausola è di non presentare brani sotto contratto con case discografiche. Tre saranno i vincitori: il primo classificato riceverà 1500 euro, 1000 euro saranno assegnati al secondo, mentre il terzo riceverà 500 euro. A tutti e tre i cori vincitori verrà conferita anche una targa della Provincia di Lucca. Sono, infine, previsti due premi speciali: quello per la miglior voce maschile e quello per la miglior voce femminile.". Fonte: La Nazione.

Durante il weekend finale, sono previste, infatti, due giornate di concerti con esibizione libera dei corsi ospiti e un concorso, la cui giuria è presieduta da Cheryl Porter.

Più avanti seguiranno dettagli più precisi in merito a giorno, luogo ed ora della nostra esibizione. Chi passa da quelle parti faccia un salto!!

[Google] I filtri di Gmail

Oggi volevo spedire da lavoro dei documenti preventivamente zippati al mio indirizzo gmail per potermeli consultare a casa.

Ma Gmail si rifiutava di inoltrare la mia posta. Il motivo è che Gmail spacchetta gli archivi e analizza i files al suo interno: se li giudica pericolosi, rigetta la richiesta di inoltro della posta. La sua policy è spiegata qui.

I documenti in questione erano un pdf e un libro in formato CHM (il noto formato proprietario della Microsoft).
Ora non so quanto possa esser pericoloso un file CHM e quale insidie possa nascondere, ma sta di fatto che è sufficiente alterare l'estensione dei files considerati "pericolosi" per far si che google torni ad inoltrare la posta, confermando che Google si basa su un mero riconoscimento dei file in base all'estensione piuttosto che sulla lettura del loro codice testuale /binario.

[SQL]La query del giorno

Immaginiamo di avere a disposizione una tabella che contenga le vostre vendite annuali, dei campi che contengono per ciascuna vendita l'importo lordo e ivato e che tutte le date siano espresse nel formato unix timestamp (nel caso non sappiate cosa sia, fate riferimento a questo sito che ve lo spiega e vi fornisce un'applicazioncina web per fare la conversione di formato).

Si vuole produrre una query che dia come risultato dei record i cui campi della tabella sono:
  • anno di riferimento per le spese;
  • Totale vendite per quell'anno;
  • Totale fatturato lordo;
  • Totale fatturato ivato.
Ovviamente si potrebbe fare una semplice query del sito select * from vendite where [conditions...] e gestire tutto via PHP, ma costringerebbe ad impiegare varie variabili per il conteggio dei vari dati per il calcolo del fatturato lordo e di quello ivato, dato derivato.

Però volevo che facesse tutto MySQL di modo da semplificare al massimo la gestione del risultato con PHP. Quindi ecco la query finale:
select count(*) as totFatture,
@totLordo := (select truncate(sum(fatturatoLordo),2) from table
where [conditions...]
and data between UNIX_TIMESTAMP('2007/01/01') and
unix_timestamp('2007/12/31')) as totLordo,
@totIva := @totLordo + (select truncate(sum(fatturatoIvato),2) as totIva from
table where [conditions...]
and data between UNIX_TIMESTAMP('2007/01/01')
and unix_timestamp('2007/12/31')) as totIva,
@first := 2007 as anno
from table where [conditions...] and data
between UNIX_TIMESTAMP('2007/01/01') and unix_timestamp('2007/12/31')
group by anno
UNION
select count(*) as totFatture,
@totLordo := (select truncate(sum(fatturatoLordo),2) from table
where [conditions...] between
UNIX_TIMESTAMP('2008/01/01') and unix_timestamp('2008/12/31'))
as totLordo,
@totIva := @totLordo + (select truncate(sum(fatturatoIvato),2) from fatture
where [conditions...] and data
between UNIX_TIMESTAMP('2008/01/01') and
unix_timestamp('2008/12/31')) as totIva,
@second := 2008 as anno
from tablewhere [conditions...] and data between
UNIX_TIMESTAMP('2008/01/01') and unix_timestamp('2008/12/31')
group by anno

Se vi vengono in mente ottimizzazioni, non esitate a riferirle, per quei pochi dati di cui disponete :) A me è stato utile per imparare l'uso delle variabili in SQL ,della funzione unix_timestamp per il calcolo delle spese per anno e di truncate, che semplicemente tronca un numero alla i-esima cifra decimale specificata come secondo argomento, sebbene non arrotondi, ma semplicemente tronchi il numero (poco male alla fine).

[MySQL Query Browser] The memory load of the system is extremly high

Per chi non lo conoscesse ancora, MySQL Query Browser è un tool visuale, disponibile per varie piattaforme, che permette con facilità di creare, eseguire ed ottimizzare queries SQL (qui uno screenshot).

Lo consiero un'ottima alternativa al promt dei comandi che, nonostante tutto, uso lo stesso congiuntamente a questo tool.
Purtroppo però stamattina mi è comparso un errore molto strano nell'esecuzione di una query banalissima che avrebbe dovuto ritornare senza tanti fronzoli (niente join o query innestate) meno di 50 records. L'errore è:

The memory load of the system is extremly high.
In order to keep the system responsive record set retrieval
has been stopped.

In pratica MySQL QB si rifiuta di eseguire la query come se non ci fosse memoria sufficiente per eseguirla (o qualcosa di simile immagino).

Facendo una breve ricerca viene fuori che è il bug 30108, verificato da quasi 3 mesi e che interessa anche l'ultima versione stabile, la quale ha almeno un centinaio di bug all'attivo non ancora risolti.

Ad ogni mod questo bug non è facilmente ripetibile poichè dopo pochi istanti la query che prima vi dava tale errore potrebbe funzionare, complicando quindi il lavoro del team di debugging.

Resta sempre un tool molto valido comunque sia e lo consiglio vivamente.

[Mozilla SW] Eliminare il ritardo nell'installazione delle estensioni

Sia per Firefox, sia per thunderbird è possibile eliminare il ritardo che si verifica quando si vuole installare un'estensione. Non che sia particolarmente fastidioso, alla fine si tratta semplicemente di 2/3 secondi, ma 0 secondi è sempre meglio di n secondi no? :-D

  • In Firefox basta digitare about:config nella barra del browser e impostare security.dialog_enable_delay a 0 semplicemente facendo doppio click sulla proprietà e immettendo il valore;
  • in Thunderbird 1.5+ andare in Strumenti > Opzioni > Avanzate > Editor di configurazione e impostare la stessa proprietà di prima a 0. Nel caso (improbabile e sconsigliato) abbiate una versione antecedente alla 1.5, installate l'estensione AboutConfig.

Fonti: Sniper e MozillaZine.

[SQL] MySQL tips

Connessione e dumping

  1. cambiare la password di un utente:
      
    update user set password=PASSWORD("pippo") where user="root";
    flush privileges;

  2. esportare solo le istruzioni DDL dal database:
      mysqldump db_name --no-data > script_file.sql
    Aggiungere --databases se si vuole creare anche
    il database al pari di altri oggetti.

  3. avviare MySQL senza far scattare i beep per gli errori:
      mysql -uroot --no-beep -p

Query

  1. Selezionare l'ultimo elemento della tabella:
     select field1,field2, ...
    from table [where=...]
    order by field1 DESC limit 1;

    -- oppure...
    select field from table
    where id=last_insert_id(); -- dove id è di tipo auto_increment

Date ed orari

  1. Selezionare l'ora corrente:
     select now();  -- 2008-05-26 12:46:08
    -- oppure...
    select current_timestamp;
  2. Selezionare solo la data corrente senza l'ora:
     select CAST(now() as date); -- 2008-05-26
    -- oppure...
    select current_date;
  3. Selezionare solo l'ora corrente senza la data:
     select CAST(now() as time); -- 12:47:34
    -- oppure...
    select current_time;
  4. Selezionare lo unix timestamp a partire da una data:
     select unix_timestamp('2007/03/26 16:21:56')
    -- è uguale a mktime(16,21,56,3,26,2007,-1) in PHP

XAMPP e Skype

Sul mio pc di lavoro ho installato per comodità e necessità XAMPP. Oggi accendo il computer e Apache non ne voleva sapere di lavorare. Nel vano tentativo di avviarlo questo si lamentava del fatto di non poter effettuare il bind sulla porta 80 in locale.

Esiste la comoda utility, XAMPP Port Checker (che si trova all'indirizzo C:\xampp\xampp-portcheck.exe), che ci rileva se le porte occupate da Apache, MySQL & Co sono libere oppure no (e in tal caso ci rivela l'eseguibile che le tiene in ostaggio).

foto2

Come si può notare dalla foto soprastante, mi ci ritrovo Skype in ascolto sulla 80. Un breve sguardo alle proprietà avanzate di Skype rivela un simpatico flag:

foto1 

Togliamo il flag malefico e Apache tornerà a servirci :-)

[Film] Il Pap'occhio

L'avevo già sentito nominare e avevo avuto modo di vedere uno spezzone da Paperino.

Ieri sera mi sono deciso a vederlo, visto che si voleva vedere qualcosa di "poco impegnativo". Ebbene, per esser un film di quasi trent'anni fa, "Il Pap'occhio" è ben fatto e in molte occasioni si ride di gusto.

Ovviamente non poteva esser attaccato dalla stampa cattolica:

l film uscì nel Dicembre 1980 e venne attaccato pesantemente dalla stampa cattolica. Un mese dopo verrà sequestrato su pressione del clero "per vilipendio alla Religione Cattolica e alla persona di S.S. il Papa".

L'attore altoatesino Manfred Freyberger, perfetto interprete del Pontefice, morì di tumore a riprese ultimate. I detrattori del film lo considerarono una punizione divina.

Il film è ritornato nelle sale nel 1998 (sebbene avesse continuato a circolare in edizione home video), restaurato ma privo ancora di alcune scene come i monologhi di Benigni sul Cristianesimo.

Mi consola leggere che:

Giovanni Paolo II lo visionò assieme a Benigni nella sala proiezioni del Vaticano riuscendone entusiasta e tutt'altro che offeso.

Interessante è notare anche che:

In un'intervista all'epoca del dissequestro, Arbore commenta divertito come sarebbe diventato costosissimo realizzare il film, allora girato a costo quasi zero, data la successiva carriera degli attori.

Ma bando alle ciance, vi lascio allo spezzone che mi ha più divertito (sebbene tutta la parte riguardante le audizioni sia davvero gagliarda).

[Sicurezza] Exploit per Wordpress 2.5.1

Se non erro la 2.5.1 dovrebbe essere l'ultima release del celebre CMS. Ma questo exploit dovrebbe in teoria funzionare per tutte le versioni, basandosi sui permessi delle directory dei plugin installati.

Ebbene qualche giorno fa alcuni cracker (o lamer, come preferite) siriani hanno sfruttato una falla di sicurezza dovuta ai permessi delle directory dei plugin di Wordpress (Akismet ed Hello dolly, i più famosi) su Linux Feed, blog del mio collega di lavoro e di banco Andrea. Segue quanto riferisce Andrea:

Il problema stava nel fatto che gli utilizzatori di wordpress spesso lasciano le directory dei plugins e dei template con i permessi settati a 777, in modo da poter modificare tali files direttamente dalla piattaforma [ndA il pannello di controllo per la gestione dei temi]. Questo, tuttavia, permette ai cracker di scrivere su tali files.

Nel nostro particolare caso, i cracker, sono andati a colpo sicuro, cercando i due plugins di default installati con wp, ovvero akismet e hello dolly. Entrambi i files sono stati modificati, inserendo il loro codice.

Essendo akismet incluso ovunque ecco il defacciamento completo del sito.

Quindi il problema NON risiede in Wordpress, ma nei permessi dei files relativi ai plugin.

Fonte: Inside the World

[Università] Minestrone alla milanese

Sebbene sia finito il tempo dell'università a Milano, la mia mail è sempre attiva e continuo a ricevere notizie riguardo ad eventi, seminari e quant'altro.

Oggi vi presento la ricetta del minestrone alla milanese:

Gentile laureato/a,

Con questa e-mail vogliamo segnalarti una nuova iniziativa dell’Università degli Studi di Milano. Dal prossimo anno accademico (2008/2009) verrà attivata la laurea magistrale interfacoltà [ndA prime avvisaglie del minestrone] di Scienze Cognitive e Processi Decisionali, che vede coinvolte le Facoltà di : Lettere e Filosofia, Medicina e Chirurgia [ndA ???!!] e Scienze Politiche.

Il corso rappresenta una novità assoluta nel panorama italiano e, grazie a una stretta collaborazione interdisciplinare e a un corpo docenti specializzato, permetterà lo sviluppo di competenze trasversali ormai strategiche in vari settori.

Il nostro obiettivo è formare laureati con una solida base teorica e applicativa, tale da consentire l’accesso, sia in ambito pubblico che privato, a varie funzioni strategiche:

  • Formazione e consulenza in enti pubblici e privati
  • Risk Managment
  • Analisi delle strategie manageriali
  • Progettazione di interventi di ottimizzazione processi decisionali
  • Progettazione di impianti di ricerca (di base e applicata)

Al fine di consentire un approccio serio allo studio della mente e del decision-making ai laureati, provenienti da esperienze eterogenee, verranno forniti percorsi di turoring e consulenze individuali.

Stage, tirocini ed esperienze di ricerca renderanno il corso ancora più utile e interessante Per saperne di piu’: users.unimi.it/ScienzeCognitive oppure www.takeadecision.com

 

Conversazioni occasionali

Amico: "In cosa ti sei laureato?"
VOI: "in Scienze Cognitive e processi decisionali."
Amico: "Ah.." - segue momento di esitazione ed elaborazione - "E sarebbe?" dice l'amico con un lieve ed ingenuo sorriso.
VOI: "Ho imparato a capire come curare la res cogitans dagli influssi negativi della politica italiana."

Codici bancari

Avendo recentemente aperto un conto corrente, vengo a conoscenza ora dei significati dei vari acronimi che contraddistinguono il proprio conto e la banca in cui risiede:

Cos’è il CIN?

IL CIN (Control Internal Number) è la lettera di controllo che viene calcolata automaticamente in base alle coordinate bancarie del beneficiario del bonifico (Abi, Cab e conto corrente). E’ un carattere alfabetico il cui inserimento nel bonifico è ad oggi facoltativo, ma opportuno per indirizzare correttamente il bonifico.

Cos’è l’ABI?

E' il codice di identificazione, formato da 5 cifre, che contraddistingue ciascuna banca.

Cos’è il CAB?

Il CAB (Codice di Avviamento Bancario) è il codice di 5 cifre identificativo della filiale.

Cos’è il BBAN e com’è composto

Il BBAN (Basik Bank Account Number) è la coordinata standard bancaria utilizzata per i pagamenti in ambito nazionale. Permette alla banca di identificare, in maniera standard ed univoca, il conto corrente del beneficiario. La struttura del BBAN è fissa ed è stata dettata, per il nostro paese, dall’ABI (Associazione Bancaria Italiana).
La lunghezza del BBAN è di 23 caratteri, così suddivisi:

BBAN

Quali coordinate devo inserire per un bonifico in Italia?

E’ obbligatorio inserire ABI, CAB e numero di conto corrente del beneficiario. L’inserimento del CIN al momento è facoltativo.

Cos’è l’IBAN?

L’IBAN (International Bank Account Number) è la coordinata standard bancaria internazionale (serie di caratteri alfanumerici) che identifica, in modo univoco, il conto di un cliente in qualsiasi parte del mondo.
Va utilizzato dunque soltanto se devi effettuare o ricevere un bonifico estero. La lunghezza dell’IBAN varia a seconda del Paese. In Italia è di 27 caratteri alfanumerici:  IT, 2 caratteri numerici di controllo internazionali, 1 carattere alfabetico di controllo nazionale (CIN), 5 caratteri numerici per il codice ABI, 5 caratteri numerici per il CAB, 12 caratteri alfanumerici per il numero di conto.

Eventi del 16 maggio

Oggi basta visitare l'home page di Google per ricordarsi di un evento storico: l'invenzione del laser. Ci vuole un po' per notare che la scritta Google viene composta dalla serie di rifrazioni del laser nella figura qui sotto (non è così immediata infatti rispetto ad altri avvenimenti del passato):

laser08

Cenni storici

Theodore Maiman costruì il primo laser operativo il 16 maggio del 1960 presso i laboratori di ricerca Hughes in California, irraggiando con un fascio di luce ad altà intensità un rubino rivestito d'argento (se ho ben inteso dall'articolo). Sottomise prontamente un rapporto alla rivista scientifica Physical Review Letters, ma gli editori non lo considerarono: alcuni pensano che questo accadde per via dei troppi articoli che la rivista stava ricevendo riguardo ai maser.  Ma Simon Pasternack, editore della rivista ai tempi, disse che rifiutò il rapporto di Maiman perchè questo aveva appena pubblicato nel giugno dello stesso anno, un articolo riguardante l'eccitazione del rubino alla luce e che quindi questo nuovo lavoro sembrava essere lo stesso già pubblicato. 
Maiman quindi si rivolse a Nature, di solito ancora più selettivo della rivista Physical Review Letters, dove il suo lavoro fu ben accolto e pubblicato il 6 agosto.

Per ulteriori approfondimenti, si legga l'articolo "The first laser" di Townes e la pagina di rito di Wikipedia.

P.S.: oggi è passato anche un mese esatto dal giorno della mia laurea e tra due orette avrò il mio terzo colloquio di lavoro, staremo a vedere se la giornata sarà di buon auspicio :-D

[Java] Introduzione a JSP

Ho appena iniziato la lettura di "Pro JSP 2", un libro che sembra esser ben fatto, oltre ad essere recentemente pubblicato (risale al 2005).
Qui di seguito vediamo una breve introduzione alla tecnologia JSP e a come creare una pagina JSP con Tomcat come application server.

Introduzione

Java Platform Enterprise Edition 5 (Java EE 5) ha due tecnologie differenti ma complementari per produrre contenuto web: Java Servlet and JavaServer Pages (JSP).

Le servlet sono semplici classi Java che ereditano dall'interfaccia javax.servlet.Servlet. Le servlet vengono compilate e distribuite all'interno di un servlet container, che consiste di un ambiente Java che gestisce il ciclo di vita della servlet e gestisce la comunicazione a basso livello basata sulle socket.
Il servlet container può esser parte di un web server preesistente e java-enabled oppure può esser usato come prodotto stand alone che si integra in un web server di terze parti.

Una pagina JSP invece consiste semplicemente in un file di testo che contiene del markup (solitamente (X)HTML)) utile per visualizzare il contenuto in un browser. all'interno di questo markup ci sono degli elementi JSP, che vengono usati per fornire la processazione logica atta a produrre il contenuto dinamico da una richiesta del borwser. Ogni pagina JSP viene di fatto convertita in una servlet al fine di fornire tale logica, da qui la complementarietà delle due tecnologie.

Il ciclo di vita di una JSP segue quattro fasi (assumendo che un browser la stia richiedendo):

  1. traduzione: generazione di una servlet a partire dal codice JSP presente nella pagina e sua compilazione;
  2. inizializzazione: viene caricata in memoria l'istanza della servlet generata al punto 1;
  3. esecuzione: viene richiamato il metodo _jspService() della servlet creata;
  4. finalizzazione: distruzione della servlet attraverso la chiamata di jspDestroy().

Hello JSP

Vediamo i passi per creare la prima pagina JSP:

  • Scaricare Tomcat dal sito ufficiale. Nel mio caso ho scelto l'installer per Windows e ho specificato di installarlo come servizio che parte automaticamente all'avvio del computer. L'application server starà in ascolto sulla porta 8080;
  • Aprite il borwser all'indirizzo http://localhost:8080/. Se l'installazione è andata a buon fine vedrete la pagina di default di Tomcat che mostra la pagina presente all'indirizzo %TOMCATHOME%/webapps/ROOT/index.html.
  • Recarsi nella directory di installazione di Tomcat ed entrare nella directory webapps. Qui creare la directory jsppro_test e al suo interno un'altra directory denominata WEB-INF;
  • Tutte le applicazioni hanno un descrittore, che consiste essenzialmente di un file xml, il cui template di base è raffigurato qui sotto (web.xml): salvare questo file nella directory WEB-INF.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    version="2.4" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    </web-app>
  • Ora creiamo la pagina JSP (test.jsp) che ritornerà semplicemente la data e l'ora odierna.
    <html>
    <body>
    <h2>Greetings!</h2>
    <p>The current time is <%=new java.util.Date()%> precisely</p>
    </body>
    </html>
  • A questo punto inserite il file test.jsp dentro sppro_test ed eventualmente create una pagina index.html. Puntate poi il vostro browser su http://localhost:8080/jsppro_test/test.jsp ed osservate il risultato.

[Link] Raccolta di cheet sheet

Qui di seguito una raccolta di "bigini" online :)

Raccoglitori di cheet sheet e altro materiale

Ecco una lista di ottimi siti web che raccolgono liste di memorandum in formato PDF in merito a svariati argomenti:

e-Banking: chiedi al lettore

euro_foto

Bene, vorrei aprire un conto corrente. Le mie esigenze non sono molte:

  • massimizzazione della gestione online del proprio conto e possibilità di recarsi alle filiali della banca il meno possibile (attualmente vivo in Toscana, principalmente Pisa, a seguire Prato, sporadicamente ritorno a Bergamo ogni tanto);
  • possibilità di prelevare soldi dal proprio conto presso tutti gli sportelli ATM a costi ridotti;
  • riceverò soldi sul mio conto dalla Svizzera e da altri conti correnti;
  • conto a zero spese (o quasi) ad eccezione del bollo statale che si applica a tutti i c/c;
  • interessi non importanti ma se ci sono è meglio;

Date le premesse pensavo quindi ad un conto corrente online (quasi del tutto online) e mi stavo orientando su questi candidati:

Io so di una mia conoscente in giro per il mondo da un annetto, la quale è correntista IWBank e si trova soddisfatta.
Da questa discussione sul DSY sembra emergere soddisfazione per Webank.

Chiedo a chiunque passi di qui (anche per sbaglio) di lasciarmi le sue impressioni sui conti correnti online presso le banche citate i nquesto post. Vi ringrazio :)

[Java] Frequently Asked Question

Ecco una breve lista di tutte le FAQ che ho sommariamente raccolto in giro per la rete:

[Meme] 6 x 6 x 6

In ritardo vedo di replicare al meme inviato da ViK.  Riporto le regole dal suo blog:

  • Indicare il blog che vi ha nominato e linkarlo;
  • Inserire le regole di svolgimento;
  • Scrivere 6 cose che vi piace fare;
  • Nominare altre 6 persone affinché proseguano il meme;
  • Lasciare un commento sul blog dei 6 prescelti amici memati.

Listuccia

  1. Mi piace ascoltare quasi ogni tipo di musica (ad eccezione dei rumori della commerciale / dance / progressive / techno et similia) e fare delle compilation personali (dei best of insomma);
  2. Mi piace guidare (ho il piede leggermente pesante) e ascoltare musica (solitamente le compilation di cui si è parlato al punto 1);
  3. Adoro guardare film, al cinema, a casa o a letto con il computer davanti. I generi preferiti sono thriller - azione - fantascienza e quelli drammatici (non so perchè ma quelli drammatici di solito li trovo più profondi ed interessanti);
  4. Mi piace giocare a scacchi: purtroppo non ho trovato per ora compagni di gioco reali e mi accontento di quelli virtuali conducendo partite lampo (1 minuto e via!);
  5. mi piace imparare cose nuove e crearne di nuove, soprattutto per quanto riguarda l'informatica e la programmazione in generale, che rappresentano la mia vita in questi ultimi 5 anni;
  6. Francesca!

Passo la palla a:

Se non partecipate vi capisco: in genere non mi appassionano tantissimo i meme ma essendo il primo meme a cui vengo invitato (come è successo a ViK), ho deciso di partecipare ;)

VisualBuilder: ottima risorsa per programmatori

Leggendo un tutorial introduttivo su JSP in formato PDF,vengo a conoscenza dei tizi che l'hanno scritto.

VisualBuilder vanta una comunità di oltre 80000 sviluppatori, una serie di tutorial e risorse per disparati linguaggi, articoli e liste in stile botta e risposta.

Un po' di statistiche per farsi un'idea dei linguaggi maggiormente trattati in questo sito:

  Java Web development .NET
Articoli 52 71 90
Risorse Web 144 282 329
Sorgenti 1267 707 710

 

Note per la lettura della tabella

  • Nella categoria Java rientrano J2SE, JSP, EJB;
  • Nella categoria Web Development rientrano HTML, PHP, javascript (AJAX), XML, SEO, Web hosting;
  • Nella categoria .NET rientrano ASP, ASP.NET, C#, VB.NET e Visual Studio;

C'è anche la categoria Software Development (omessa nella tabella soprastante) in cui rientrano C++, Delphi, UML, Visual Basic e altro ancora.

JoBo, download manager e web spider tool in Java

JoBo

Tempo fa avevo cominciato a buttar giù qualche riga di codice per creare un tool che controllasse la validità dei collegamenti ipertestuali di un sito Web.
Leggendo il riassunto online della tesi di laurea di William Nazzaro, vengo a conoscenza di JoBo, un'applicazione open source (il codice è disponibile qui) scritta in Java, disponibile sia a riga di comando sia con un front-end grafico, in grado di:

  • ricercare ricorsivamente tutti i documenti a partire da un documento di partenza;
  • supportare i tag <A> <AREA> <IMG> <FRAME>;
  • supportare il protocollo di esclusione per i web crawler (robot.txt);
  • definire il livello di profondità nella scansione di un sito web;
  • definire il nome dello user agent;
  • supportare  il riempimento automatico dei form, l'uso dei cookie di sessione e degli header di referrering;
  • limitare l'uso della banda;
  • permettere o negare il download dei files a seconda del loro mime type o della loro dimensione;
  • convertire i collegamenti assoluti in realtivi;
  • scaricare solo i files più recenti rispetto ad una data impostata;
  • interrompere e recuperare il lavoro.

La sua configurazione è basata su un file XML.

[Firefox] Quick Translation extension

Quick Transaltion è un'estensione formidabile: è sufficiente (una volta installata) fare doppio click su una parola o selezionare un termine perchè compaia una finestra con le traduzioni e possibili definizioni in Wikipedia:

qt

Nell'immagine soprastante ho selezionato il termine "URL". Come potete vedere in alto a sinistra è possibile condurre una ricerca sottomettendo la query con il termine selezionato ai principali motori di ricerca, a FlickR, YouTube e Amazon.

Nota bene: nel caso voleste trasinare una parola in un altro punto dello schermo (mettiamo quando modificate del testo nell'editor di Wordpress o volete semplicemente aprire una nuova linguetta nel browser), per evitare che si attivi il meccanismo di quest'estensione è sufficiente tenere premuto il tasto CTRL.

[Web 2.0] LunaPic, editor fotografico online

LunaPic è una bella applicazione web che permette di editare, ritoccare, ridimensionare (e via discorrendo) le nostre immagini, dopo averne fatto l'upload sul sito o averne indicato l'URL se queste risiedono su un server web.

Non c'è bisogno di registrarsi per effettuare tutte le operazioni suddette, ma se si sottoscrive un account è possibile salvarla per modifiche future, così come condividerla con gli altri e votarla.

Ecco una piccola modifica ad un'immagine di una mia amica: all'immagine sono stati applicati gli effetti Andy Warhol e Water effect, successivamente è stata aggiunta l'animazione Reflecting Water.

La matematica ripensata

Ecco una simpatica GIF che ho creato a partire da delle immagini che una mia amica mi ha spedito. Purtroppo non so indicare la provenienza delle immagini.




[Java] Inviare dati via HTTP POST

Il protocollo HTTP (Hypertext Transfer Protocol) è fra i più noti protocolli Internet. Il suo uso principale è quello di essere un mezzo per prelevare pagine HTML da mostrare in un browser.

HTTP è un protocollo di richiesta/risposta. Ci sono vari tipi di richieste effettuabili, ognuna delle quali viene identificata da un preciso metodo HTTP. I metodi più noti sono GET e POST.

Una richiesta di tipo POST spedisce dei dati (solitamente inseriti dall'utente in un form web) dopo aver specificato la pagina che analizza i dati spediti, il server, vari header e una linea bianca dopo quest'ultimi. Esempio:

POST /login.jsp HTTP/1.1
Host: www.mysite.com
User-Agent: Mozilla/4.0
Content-Length: 27
Content-Type: application/x-www-form-urlencoded

userid=chris&password=indovina

Invio richieste POST in Java

Qui di seguito il codice per inviare richieste POST ad un sito web in Java:


URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;

try{
url = new URL ("http://www.sito.com/pagina.php");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// spedisce al server i dati via POST
printout = new DataOutputStream (urlConn.getOutputStream());
String content = "username=" + URLEncoder.encode ("pippo","UTF-8") +
"password=" + URLEncoder.encode ("pippopass","UTF-8");
printout.writeBytes (content);
printout.flush ();
printout.close ();

// Stampa a video la risposta del server linea per linea
BufferedReader bufline = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String str;
while (null != ((str = bufline.readLine()))) {
System.out.println (str);
}
bufline.close ();

}catch(Exception e){
System.out.println("ERRORE: "+e);
}

"Where is bug": hacking and learning game

Segnalo un'iniziativa lanciata da NeCoSi:

NeCoSi di Geekplace.org, collaboratore di Oilproject.org e Shannon.it, ha sviluppato un giochino per mettere alla prova le vostre capacità “non convenzionali”.
Le prove da superare sono abbastanza varie, ed il tempo vola. Attenti a non trascorrere notti insonni…
Vi segnaliamo quindi molto volentieri Where is Bug e, già che ci siamo, vi proponiamo anche la presentazione/spot scritta dagli stessi autori del gioco:
Una gara contro voi stessi… una sfida contro il tempo… Chi arrivera’ primo? Chi riuscira’ a sopravvivere fino alla fine? Prepara lo snffer, il tuo editor preferito e carica i plugin che pensi possano servirti sul browser.
Ci saranno livelli di semplice reverse engineering, di steganografia, di sql-injection, di semplice spoofing, ed altro ancora.
Wib, il gioco che ti insegna a pensare come un hacker. Non fare il lamer, sfoga qui la tua voglia di bucare!
Una piattaforma per testare le proprie abilità. Non ci sono enigmi, solo bug da individuare e sfruttare.

Grazie per l'attenzione.

Buon gioco ;)

[Office] Inserimento di formule

Visto il precedente post su LaTeX, ho voluto dare una sbirciatina riguardo alla possibilità di inserire formule matematiche in una delle suite di programmi d'ufficio più usata al mondo.

Se ben ricordo, Office 2003 non permetteva di inserire formule matematiche, ma bisognava ricorrere a plug-in di terze parti (visto che costa così poco perchè metterci dentro anche questa feature?
:-D).
Ai tempi utilizzavo MathType, una sorta di toolbar che si integrava in Word (non ricordo se anche in Excel & Co, credo di si...) ma che non era (e non è) una soluzione gratuita (sebbene sia ben fatta).

In Word 2007 sembra invece esserci finalmente la possibilità di inserire delle formule matematiche: ci sono delle formule ricorrenti e c'è la possibilità di inserirne di nuove manualmente, anche se non ho approfondito se sia possibile inserire cosine un po' più complesse (matrici, integrali, sommatorie, ecc).

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger