Articoli con Tag ‘Internet’


La ballata del programmatore

La ballata del programmatoreEssendo Undolog un Blog dedicato alla programmazione non potevo esimermi dal segnalare questo “remake” – La ballata del programmatore – davvero ben fatto. Segnalatomi da Alex Microsmeta, è un “rifacimento”, o reinterpretazione, della nota canzone di Fabrizio De André Il Pescatore. Complimenti agli autori per aver realizzato qualcosa di davvero “simpatico” e – come a detto Alex – di vero! Potete scaricare il file mp3 cliccando qui:

All’ombra dell’ultimo sole si addormentò un programmatore tra le sue braccia un manuale sognando il mare tropicale – Venne alla ditta un committente con un progetto inconsistente delle richieste da far paura “prima di ieri perché ho premura” – E domandò un lavoro immane con le specifiche più strane “io voglio tutto e pago niente ho fretta sono un committente” – Gli occhi dischiuse il softwarista un video l’unica sua vista dall’alba grigia fino a sera incatenato alla tastiera – Battendo i tasti a mo’ di ossesso e trascurando cibo e sesso riuscì un bel giorno a consegnare una release preliminare – E si sentiva ormai contento ma fu sollievo di un momento già richiamava quel cliente “qui non funziona un accidente” – Ricominciò il programmatore a faticar per ore ed ore sopra un problema assai intricato nascosto dentro ad un listato – Venne di nuovo il committente disse “così è meglio che niente è tuttavia per me importante fare una piccola variante” – Ma all’ombra dell’ultimo sole dormiva già il programmatore tra le sue braccia un manuale sognando il mare tropicale

Testo
Enrico Colombini
http://www.erix.it

Voce
Domenico Agostino

Cori e arrangiamento
Marco Di Francesco
http://www.myspace.com/difra
email: marco.difra (at) gmail.com

Continua...

Actionscript Flash contest: erase tool

Premetto subito: non si vince nulla! A parte l’orgoglio – caso mai – di aver risolto il problema.

QUEST – DOMANDA

Come si realizza un tool per cancellare, eliminare, ripulire, una “porzione” della grafica disegnata con le API di Actionscript 3.0?

Con Actionscript 3.0 alcuni oggetti visivi, come i MovieClip o gli Shape, espongono la proprietà graphics, un puntatore ad un altro oggetto che “serve” tutte le funzioni grafiche di disegno runtime. Ad esempio è possibile sviluppare una semplice applicazione di disegno. Questo oggetto graphics permette di disegnare qualsiasi cosa, ad esempio su un oggetto Shape, in modo semplice e rapido. Il problema è che una volta disegnato qualcosa è possibile ripulire tutto ma non una singola parte.

Disegnare una linea è facilissimo:

1
2
3
4
5
6
var myShape:Shape = new Shape();
addChild(myShape);
//
myShape.graphics.lineStyle(2,0xff0000,1);
myShape.graphics.moveTo(0,0);
myShape.graphics.lineTo(100,100);

Disegnato qualcosa è possibile ripulire tutto con la semplice chiamata al metodo clear():

1
myShape.graphics.clear();

Ma se voglio “cancellare” solo un punto? Oppure dalle coordinate 50,50 a 100,100?

Cercando su Internet ho trovato numerosi esempi di “applicazioni di disegno” e, in effetti, nessuna supporta o propone lo strumento “cancella”.

Avete qualche soluzione?

Continua...

Yahoo! ASTRA: suite di componenti per Flash e Flex

image Yahoo! ha appena rilasciata ASTRA, una suite di componenti per Adobe Flash e Flex. Devo dire che, almeno per quanto riguarda i componenti per Flash, ho avuto una mezza delusione (se non totale). Il più interessante, forse, è il TabBar… il resto lascia molto a desiderare. Sembrano componenti sviluppati per qualche loro progetto – interno – e ora rilasciati come prodotto open! Forse, in Yahoo!, si sono già allineati alle politiche Microsoft… visto che proprio oggi la software house fondata dal Bill ha offerto 44,6 miliardi di dollari per acquistare Yahoo!! 44,6 miliardi, non ho scritto male!

Tuttavia fatevi un giro sul sito dove si trovano svariate risorse utili. Confidiamo nel futuro prossimo venturo.

Continua...

Actionscript 3.0: tutto con l’operatore new

Sempre nell’ottica di “uniformare”, come già accaduto con gli eventi (vedi La nuova gestione degli eventi di Flash CS3 e Flash CS3: la nuova gestione degli eventi), una delle tante novità presenti in Actionscript 3.0 è la scomparsa di tutti quei metodi ad hoc dedicati alla creazione di particolari oggetti, come: createEmptyMovieClip() o il famosissimo attachMovie(). Con Actionscript 3.0 l’operatore new è sufficiente a svolgere tutte le operazioni di creazione. Un nuovo MovieClip, ad esempio, viene creato (runtime) con il seguente codice:

1
2
var mioClip:MovieClip = new MovieClip();
addChild(mioClip);

image Ma veniamo al dunque! Se ho un simbolo nella libreria e voglio aggiungerlo runtime come procedo se attachMovie() è scomparso? La soluzione non è molto dissimile da quello che accadeva in Actionscript 2.0. Prima di tutto bisogna andare nel pannello di libreria, selezionare il simbolo e aprire la finestra proprietà. A questo punto spuntare la casella di concatenamento Esporta per ActionScript – come accadeva in Flash 8. Un simbolo di libreria ha sempre come Classe base flash.display.MovieClip, ma questo non ci interessa granchè. La cosa interessante, invece, è il parametro Classe che viene impostato di default (quando si spunta Esporta per ActionScript) con il nome del simbolo. Quello che è importante sottolineare è che questa è una nuova modalità di Flash CS3 (e quindi ActionScript 3.0). Il simbolo, per essere esportato, deve avere una Classe di riferimento. La curiosità risiede nel fatto che non siamo costretti a creare per forza una nostra Classe (estesa da flash.display.MovieClip), anche se potremmo farlo.

Continua...

Addio IE7, seguito da Sage: leggere i feed RSS su Windows

Sinceramente le ho provate tutte! Non mi andava di usare un’applicazione esterna per leggere i feed RSS! Pensavo (e mi sono ricreduto) che avendo già un browser aperto fosse scomodo legarsi ad una diversa applicazione.

Così ho iniziato con il lettore RSS presente in Internet Explorer 7. Ma da quando ho installato Windows Vista mi è negato visualizzare i feed… problemi di protezione. Se “sblocco” IE7, a tempo debito, mi cominiciano ad apparire “alert” sparsi (un po’ da Windows e un po’ dal buon Norton 360) che mi invitano a ripristinare le impostazioni di protezione del browser in modo corretto, pena essere “bucato” da mezzo mondo. Insomma, con IE7 – almeno su Windows Vista – non è proprio possibile leggere in santa pace i feed RSS.

Abbandono IE7 (era ora!) e promuovo il buon FireFox come browser predefinito (era davvero ora!). imageInstallo quindi Sage, una estensione per FireFox. Semplice… Forse anche troppo!image Diciamo pure “limitata”. Comunque sia, oggi, ho scaricato FeedReader, versione 3.12, uno dei più noti, almeno dando uno sguardo in giro per il Web. Fantastico! Un nuovo mondo davvero. Segnalo anche questo lettore, sempre per Windows, FreeDeamon, secondo me fatto molto bene… anche se per certi versi preferisco FeedReader.

image

Continua...

La nuova gestione degli eventi di Flash CS3

Ne avevo già parlato in Flash CS3: la nuova gestione degli eventi. Torno sulla questione per sottolieare la differenza di questo nuovo approccio rispetto alle precedenti versioni di ActionScript. Schematizzando abbiamo una situazione generale di questo tipo:

addEventListener

Ogni oggetto che supporta degli eventi, in definitiva, espone sempre il metodo addEventListener(). Nella documentazione, tra l’altro, leggiamo:

Novità per i listener di eventi in ActionScript 3.0

[...] Per aggiungere listener di eventi in ActionScript 2.0 si usa talvolta addListener() e talvolta addEventListener(), mentre in ActionScript 3.0 si usa addEventListener() in tutte le situazioni.
[..]

La gestione degli eventi, poi, è standardizzata anche a livello di listener vero e proprio. Tutte le “funzioni” di ascolto, infatti, hanno la seguente struttura:

1
2
3
function eventResponse(eventObject:EventType):void {
// Le azioni di risposta agli eventi vanno definite qui.
}

EvenType è sempre un oggetto della classe Event o una sua sottoclasse. Questo permette di ottenere sempre infomazioni specifiche per il particolare evento oltre a manipolare proprietà standard come target o currentTarget.

Un’importante differenza con le precedenti versioni di Actionscript, riguardo ai listener, è che:

In ActionScript 2.0, i listener di eventi possono essere funzioni, metodi oppure oggetti mentre in ActionScript 3.0 possono essere listener di eventi solo funzioni o metodi.

Insomma, avendo usato per un bel po’ di tempo la struttura ad eventi delle precedenti versioni di Flash, devo dire che questo nuovo approccio è davvero piacevole. È un po’ che sviluppo con Actionscript 3.0 e, dopo un piccolo smarrimento iniziale (giusto per ritrovare ciò che prima era scontato) ora non capisco proprio come facevo a sopportare il “vecchio” metodo degli eventi delle precedenti versioni.

Continua...

Google Maps component per Flash

AFComponents UMAP

Google ha reso disponibile le API – in Javascript – per inserire le sue mappe in qualsiasi sito Web. Viediamo come realizzare la stessa cosa con Flash!

image Partiamo da un componente gratuito, UMAP (Universal ActionScript 3.0 Mapping API  – integrated with Google Maps), sviluppato da AFComponents, una società verticalizzata su componenti per Flash/Flex davvero interessanti e a prezzi accessibili. Sul sito, dove è necessario registrarsi per usufruire dei download gratuiti, sono presenti anche le versioni di UMAP per ActionScript 2.0: G MAP Ver.2.6.1. In questo caso noi analizzeremo la versione 0.4 Beta di UMAP per ActionScript 3.0 (all’interno del pacchetto c’è anche il componente Flex). Questa che andremo a vedere è – evidentemente – una versione beta e manca, quindi, di alcune funzionalità presenti nella versione per Actionscript 2.0 (G MAP Ver.2.6.1). Tuttavia, gurdando al futuro, mi sembra più interessante focalizzare l’attenzione su questa release; le ho provate entrambe e, nonostante la maggiore completezza della release per Actionscript 2.0, la versione beta per Actionscript 3.0 è notevolmente più performante.

Continua...

Restyling e Rebloging

Pensieri Sottili

Con il nuovo anno è sempre piacevole rinfrescare gli ambienti, anche quelli virtuali dei Blog. Ho rivisto lo sfondo grafico di Undolog.com, che ora è estremamente più armonico.

Più complesso è stato spostare Pensieri Sottili da Blogger a WordPress! Ma alla fine il risultato è stato davvero gratificante!

Continua...

FireFTP: un client FTP per FireFox

logo128 Le cose semplici, a volte, funzionano meglio di quelle apparentemente migliori ma complesse. Personalmente uso spessissimo applicazioni FTP, sia come client desktop veri e propri che come strumenti presenti all’intero di altre applicazioni: come Adobe Dreamweaver CS3 o UltraEdit. Come client vero e proprio ho acquistato, da tempo, FTP-Voyager, arrivato adesso alla versione 14.1. Nonostante l’ottima qualità del prodotto, FTP-Voyager si pianta quando scorre una cartella con molti file. Mi sono trovato, infatti, nella spiacevole situazione di dover eseguire un backup per un cliente che aveva collezionato una quantità nauseabonda di file all’interno di una cartella. Per fortuna ho avuto l’idea di installare questa estensione per FireFox (già consigliata da Yuma) che ha risolto il problema, altrimenti avrei dovuto “zippare” la cartella e tirarla giù come file.

FireFTP permette delle configurazioni minimali ma sufficienti nella maggiornza dei casi. Ottima la possibilità di eseguire un confroto tra file e cartelle remote, anche se in questa versione il confronto avviene esclusivamente sulla presenza o meno del file.

Insomma, FireFTP non sarà il client ftp definitivo ma averlo può essere davvero molto utile, visto poi che è gratuito a differenza di FTP-Voyager!

Continua...

EditArea: un rich Sourcecode Editor in Javascript

EditArea è un modo diverso di utilizzare le funzioni di editing online permesse dall’HTML. Questa tecnica, utilizzata il più delle volte per creare Editor WYSIWYG, viene sfruttata in questo caso per fornire un vero  e proprio editor di codice.

EditArea

Un normale campo TextArea viene trasformato in un vero e proprio editor con la possibilità di formattare il testo, cercare e sostituire parole e ottenere una colorazione del codice in tempo reale. Tra le sue caratteristiche notiamo:

  • Integrazione semplicissima tramite un solo script Javascript e una sola chiamata ad una funzione di patch.
  • Supporto della tabulazione
  • Cerca e sostituisci con regexp
  • Supporto della colorazione del codice per: PHP, CSS, Javascript, Python, HTML, XML, VB, C, CPP, Pascal, Basic, Brainf*ck
  • Auto-indentazione delle nuove linee
  • Numerazione linee di codice
  • Supporto multilingua: Croato, Danese, Inglese, Francese, Tedesco, Italiano, Giapponese, Polacco, potoghese)
  • Supporto per gzip
  • Multiple istanze
  • Fullscreen
  • Ridimensionamento della finestra in tempo reale
  • Possibilità di estendere le caratteristiche tramite plugin
  • Save e Load callback
  • Lavora con prototype e mootools

Un esempio di come usarlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
editAreaLoader.init({
                id: "exemple_3" // id of the textarea to transform      
                ,start_highlight: true  
                ,font_size: "8"
                ,font_family: "verdana, monospace"
                ,allow_resize: "y"
                ,allow_toggle: false
                ,language: "fr"
                ,syntax: "css"  
                ,toolbar: "new_document, save, load, |, charmap, |, search, go_to_line, |, undo, redo, |, select_font, |, change_smooth_selection, highlight, reset_highlight, |, help"
                ,load_callback: "my_load"
                ,save_callback: "my_save"
                ,plugins: "charmap"
                ,charmap_default: "arrows"                  
});

Continua...



Stop SOPA