Yahoo Answer

GoogleMap in uno UserControl per Asp.Net

June 29th, 2008

Gmapcontrol ScreenShotIn rete c’è più di una soluzione per combinare GoogleMap ed Asp.Net ma spesso sono a pagamento oppure portano in dote fastidiose pubblicità. Ho quindi deciso di cominciare a scrivere un controllo tutto mio, il quale permette di sfruttare solo pochi aspetti del servizio in questione ma che spero di far evolvere nel tempo libero.

L’utilizzo del controllo è molto semplice, dopo averlo registrato è possible inserirlo nella pagina con il seguente codice di esempio.

<gmnet:map ID="mymap" runat="server" zoom="7" centerlat="40.6133"
centerlon="14.2525" />

L’attributo zoom rappresenta l’ingradimento della mappa e può variare da 0(massimo dettaglio ) a 12(Visione di tutto il globo), mentre centerlat e centerlon sono le coordinate geografiche del punto sul quale sarà centrata la mappa. Altri attributi possibili sono mapControl, che definisce i controlli di cui dotare la mappa, ed height e width che rappresentano la grandezza.
Le modifiche agli attributi possono essere fatte anche da codice come segue.


mymap.setSize(400,400);
mymap.setMapControls(map.GSmallZoomControl);

Nello spezzone appena mostrato viene settata la grandezza della mappa a 400×400 pixel con il metodo setSize, successivamente vengono inseriti i controlli SmallZoom, ovvero le frecce di movimento sulla mappa ed i tasti di zoom-in e zoom-out, tutti i possibili valori da passare a setMapControls sono definiti come membri statici nella classe map con nomi del tipo GxxxxxxxControl.

Delle tante funzionalità di GoogleMap i Marker sono la prima funzionalità complessa di lavoro sulla mappa implementata da questo controllo. Per creare un marker è necessario passare al costruttore le coordinate geografice della posizione in cui piazzarlo e una stringa che sarà visualizzata al click su di esso come in figura.


new Marker(14.4032, 40.8011, "Un punto nel Golfo")

Mentre per inserire dei marker è necessario creare un’ArrayList ed e passarlo al metodo setMarker. E’ quindi facile immaginare come sia semplice piazzare marker in base a dati letti da un database.

ArrayList markers = new ArrayList();
markers.Add(new Marker(14.2032, 40.9021, "A place..."));
markers.Add(new Marker(14.4032, 40.8011, "Another Place!"));
mymap.setMarkers(markers);

Spero in futuro di aggiungere buona parte delle funzionalità di GoogleMap, il prossimo step sarà quello di dare la posibilità di usare icone diverse per ogni marker e disegnare qualche polilinea. Per chi volesse divertirsi con le primisissime righe di codice scritte puo effettuarne qui il download.

Posted in Web Building | No Comments »

Compiti su Yahoo Answer: giusto o sbagliato?

May 3rd, 2008

E’ polemica da più settimane sulla questione compiti su “Yahoo Answer”, qualcuno dice che il servizio inibisca le capacità degli studenti, qualcunaltro ci spara su soltanto perchè stufo di veder domande con esercizi da risolvere di cui capisce poco.
Lo strumento in questione è ottimo, come tutte le cose di questo mondo c’e’ chi ne fa un buon uso e chi lo sfrutta in malo modo, non ci vedo niente di male a tentare di ottenere qualche spiegazione in più attraverso la rete, è naturalmente da biasimare lo studente che tenta di riempire il quaderno di compiti senza sforzo.
Facendo un giretto su answer si possono trovare domande ben più ridicole di esercizi, l’altro giorno c’era una persona che, con una domanda, si scusava con tutti perchè non aveva mai controllato il proprio indirizzo email…

Personalmente, anche non essendo più uno studente delle superiori, mi piace fare qualche esercizio di matematica su answer quando posso, lo trovo piacevole e sono contento del fatto di poter aiutare qualcuno, non do mai soltanto la soluzione ma tento sempre di spiegare i risultati. E’ questo il giusto spirito di un simile servizio, condividere la conoscenza è sempre cosa buona. Inoltre c’è da dire che le domande sono categorizzate, è possibile non leggere domande inerenti determinati argomenti semplicemente usando il menu delle categorie, quindi chi è cosi’ infastidito dagli esercizi proposti può ignorarli.

Posted in weblife | No Comments »

Linux e gli Skypecast

April 17th, 2008

SkypeDa qualche settimana sono utente skype, ho trovato il software molto buono sia nel modo con cui gestisce i contatti tra gli utenti che sotto il punto di vista del’usabilità. Purtroppo la versione disponibile per linux non gestisce gli skypecast, l’ultimo prodotto skype (rigorosament in versione beta) con il quale è possibile imbastire conversazioni multiutente a cui chiunque può collegarsi.
Gli skypecast hanno suscitato in me particolare interesse e mi sono lanciato alla ricerca di un modo per accedervi da linux. In poco tempo ho trovato un buon metodo che sintetizzo con i seguenti passaggi:

  • Andare sul sito skypecasts.skype.com, loggarsi e cliccare sul titolo dello skypecast interessato.
  • Visualizzare il condice sorgente della pagina di descrizione dello skypecast e cercare la sequenza numerica che inizia con +99.
  • Aprire skype e selezionare call ordinary phone, incollare il numero trovato e premere invio, dopo pochi secondi ci si ritroverà collegati con tutti gli altri partecipanti!

Posted in Tutorial | No Comments »

Progetti vari

April 4th, 2008

Finalmente ecco la sezione Flavours dove ho deciso di inserire tutti i progetti che in questi anni sono sembrati più rilevanti. La tipologia di elaborati è molto varia, si parte da alcuni programmi scritti in matlab ispirati da un corso di calcolo numerico seguito nel 2005 fino ad arrivare a recenti articoli per le tecnologie web ed elaborazione delle immagini passando per guide e programmi sui sistemi operativi.
Per chi è interessato ad esempi di codice c’è una ricca sezione contenente sorgenti, in c sono presenti alcuni programmi molto semplici, adatti a chi sta imparando la programmazione, che implementano basilari algoritimi, mentre in c++ è possibile trovare implementate alcune strutture dati astratte ed alcuni algoritmi leggermente più complessi.

Posted in Progetti | No Comments »

Il digital watermarking

February 26th, 2008

Wetermarking e DRM sono parole che si sentono sepre più spesso e non pochi ne confondono il significato. Con DRM (Digital rights management) si indica un sistema per limitare l’utilizzo di prodotti, ovvero un editore che rilascia i propri libri in formato digitale con un sistema DRM può evitare la copia illegale del proprio ebook o un produttore hardware può limitare l’utilizzo delle proprie periferiche a determinate macchine.
Invece i digital watermark mirano a nascondere dati all’interno di contenuti digitali. Essi possono essere di tipo fragile o robusto. I robusti resistono alle alterazioni del documento in cui sono stati inseriti e vengono usati per la protezione dei diritti d’autore, mentre watermark di tipo fragile sono invece altamente sensibili ad eventuali modifiche del documento, quindi in grado di provare l’autenticità di un contenuto in caso di alterazioni.
Inoltre è possibile distinguere i watermark visibili all’interno dei dati da quelli occultati.
In simboli, indicando con D il documento originale, si genera un watermark W in base ad una chiave K

equazione

dove G è l’algoritmo di watermark-generating. Successivamente il watermark
viene applicato creando un documento equazione

equazione

dove E è l’algoritmo di watermark-embedding.
Se equazione non viene alterato allora è vera l’equazione

equazione

Da notare che equazione è pubblico mentre K è segreta.
E’ quindi chiaro che mediante il watermarking è possibile costruire un sistema DRM ma non solo, con esso si soddisfa l’esigenza di riuscire a stabilire la provenienza del materiale che si utilizza. Se ogni azienda che gestisce dati sensibili adottasse un sistema di watermarking applicato alle comunicazioni con i clienti sarebbe possibile evitare fenomeni come il pishishing eliminando la possibilità che qualcuno riesca a richiedere informazioni a nome dell’azienda.

Posted in Internet | No Comments »

Ancora ed ancora catene di Sant’Antonio

February 15th, 2008

Una catena di sant’Antonio è un sistema per propagare un messaggio inducendo il destinatario a produrne copie da spedire, a propria volta, a nuovi destinatari. Tra i metodi comunemente sfruttati dalle catene di sant’Antonio vi sono storie che manipolano le emozioni, sistemi piramidali che promettono un veloce arricchimento e l’uso della superstizione per minacciare il destinatario con sfortuna, malocchio o anche violenza fisica o morte se “rompe la catena” e rifiuta di aderire alle condizioni poste dalla lettera. (Estratto da Wikipedia).

Queste catene sono una piaga per gli internauti da quando è nata la posta elettronica. Ogni giorno vengono inoltrate decine di queste mail riportanti annunci di virus, richieste di aiuto per bambini ammalati, quiz e storie commoventi, tutte che richiedono di essere reinviate ai vostri contatti per la loro giusta causa. Nella maggior parte dei casi riportano sono notizie false, e nel remoto caso in cui fossero notizie vere potrebbero essere vecchie di anni.
Volete dei buoni motivi per non spedire queste mail? Eccoli elencati:

  • Dopo l’invio di una di queste mail gli indirizzi dei vostri contatti saranno diffusi a tutti gli altri, ciò alimenta l’attività illegale dello spam.
  • E’ impossibile fermare una catena del genere, nel caso di appelli veritieri i parenti di persone morte da tempo verrano perseguitate per anni.
  • Non tutti dispongono di una connessione di tipo flat, che detto in parole povere significa che ci sono persone che scaricando la posta pagano in base alla mole dei messaggi che ricevono.

Se proprio non potete fare ammeno di spedire mail circolari c’è un modo per non diffondere i vostri contatti in giro per la rete, si chiama Copia Carbone Nascosta, spesso abbreviato con Ccn o Bcc (Blind Carbon Copy) ed è possibile utilizzarla con tutti i client di posta elettronica. Inviate il messaggio a voi stesso e mettete in Bcc tutte le persone a cui volete inoltrare la mail!

Posted in Internet | No Comments »

I viaggi nel tempo

February 9th, 2008

Welding LHC magnetsEinstein è stato il primo a dirci che il tempo è una dimensione e che equivale allo spazio. Sappiamo che massa ed energia sono grandezze fisiche legate a doppio filo tra loro e due studiosi russi, Irina Aref’eva e Igor Volovich, hanno formulato delle nuove ipotesi per le quali mediante l’utilizzo opportuno di queste due è possibile influenzare il tempo, secondo loro il nuovo acceleratore di particelle del CERN di Ginevra, Large Hadron Collider (LHC), potrebbe rivelarsi la prima macchina del tempo.
Con l’LHC sarebbe possibile creare dei “cunicoli” temporali grazie a particolari collisioni molecolari ed attraversandoli sarebbe possibile viaggiare nel tempo. Naturalmete tutto ciò è solo teoria, ed anche a livello pratico le cose non sono semplici, infatti una tale galleria che porta fuori dal normale corso del tempo dovrebbe essere collegata con un’altro punto del flusso del tempo, cosa che non siamo in grado di fare nemmeno in un prevedibile futuro e se ciò diverrà possibile sarebbe possibile viaggiare solo tra due punti del tempo in cui il cunicolo è stato aperto, quindi non prima dell’apertura del primo.

Posted in Varie | No Comments »

Formule LaTeX sul proprio sito

February 3rd, 2008

La maggior parte dei servizi di hosting non forniscono un server LaTeX per renderizzate formule matematiche, esistono però diversi servizi online che permettono di sfruttare altri server per ottenere solo le immagini in questione. Particolarmente comodo è l’equation editor fornito da codecogs, esso aiuta nella scrittura del codice latex attraverso una tabella di simboli e permette di salvare le immagini richiamabili dal proprio sito.
Come esempio propongo il teorema dell’integrazione per sostituzione, per il quale date una funzione f definita su un’intervallo I a valori in R e sia g una funzione a valori in I vale la relazione

Integrazione per Sostituzioni

Utilizzando le caratteristiche di LaTeX è anche facile riportare lo svolgimento di un integrale attraverso il tool in questione.

Integrale Svolto

Posted in Varie | No Comments »

Un flickr badge W3C valido

January 28th, 2008

Da quanche giorno nella sezione arts sono esposte le immagini caricate nel mio spazio flickr, più di una persona mi ha chiesto come faccia ad avere quel badge e contemporaneamente a mantenere la pagina valida per gli standard W3C.
Basta creare un badge HTML dalla pagina http://www.flickr.com/badge.gne ed estrarre il codice javascript, il quale sarà simile al seguente:

<script type="text/javascript"src="http://www.flickr.com/badge_code_v2.gne?...
</script>

Esso dipende dalle scelte fatte durante la creazione ma è semplice distinguere alcuni parametri. Ad esempio count è il numero di immagini da visualizzare, display indica se si vogliono avere solo le ultime immagini inserite (valore “latest”) o scelte casualmente (valore “random”) e cosi’ via. Per generare la stringa adatta alle proprie esigenze è bene provare le varie opzioni del wizard offerto da flickr ed infine se prorio non si è contenti del risultato andare a modificare la stringa manualmente.
In questo modo abbiamo cancellato lo stile creato in automatico, il risultato sarà qualcosa di simile alle quattro immagini disposte senza spaziatura nella figura.

Esempio di Flick Badge senza css

Possiamo creare uno stile personalizzato per la disposizione nel seguente modo

<div id="myflickr">
<script type="text/javascript"
src="http://www.flickr.com/badge_code_v2.gne?…"></script>
</div>

ed aggiungere al css della pagina le definizioni per il box myflick e le immagini in esso contenute.

#myflickr {
background: #CCCCCC;
padding:10px;
}


#myflickr img {
float:left;
border-color:#666666;
padding:4px;
}

Adesso avete un box con sfondo grigio ed immagini distanziate di 4 pixel con bordo. In questo modo si sfruttano direttamente le immagini esposte da flickr, un vero tocco d’interoperabilità ma che ci lega ed un sistema gestito da yahoo.

Posted in Tutorial, Web Building | 2 Comments »

Creare un Web User Control Personalizzato in Asp.Net

January 26th, 2008

ASP.NET è una delle tecnologie più avanzate per lo sviluppo web, a livello di programmazione
l’innovazione introdotta in questo campo è la gestione event-driven. La possibilità di usare controlli messi a disposizione dal framework ha un livello di astrazione maggiore rispetto agli altri linguaggi di scripting come php o asp ed è sicuramente più comoda.
In questo articolo vedremo come creare dei Web User Control personalizzati da poter usare in tutti gli aspx che vogliamo.
Read the rest of this entry »

Posted in Programmazione, Tutorial, Web Building | 1 Comment »

Next Page »