venerdì 16 maggio 2008

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

giovedì 15 maggio 2008

[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.

martedì 13 maggio 2008

[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:

venerdì 9 maggio 2008

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 :)

giovedì 8 maggio 2008

[Java] Frequently Asked Question

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

mercoledì 7 maggio 2008

[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.

lunedì 5 maggio 2008

[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.

domenica 4 maggio 2008

[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.