di Francesco de Francesco 6 Commenti

Tutte le più grandi aziende di software, i proprietari di importanti siti di brand, i realizzatori di sistemi che devono emulare una realtà o controllare dispositivi, hanno capito da tempo che la loro progettazione non può essere un fatto meramente tecnico. È fondamentale che siano ben conosciuti i meccanismi psicologici legati allÂ’apprendimento, al coordinamento, allÂ’interpretazione ed al riconoscimento a chi deve disegnare interfacce tra uomini e macchine. La facoltà di Scienze Cognitive dellÂ’Università degli Studi di Trento (polo di Rovereto) ha da qualche anno istituito un corso di laurea in scienze e tecniche di psicologia cognitiva applicata alle interfacce uomo / macchina. (more...)

Pochi minuti fa Google ha dato l'annuncio ufficiale con un comunicato stampa: Vinton Cerf è a tutti gli effetti assunto nel gruppo e dal 3 Ottobre ricoprirà il ruolo di "Chief Internet Evangelist". Dubito che Cerf abbia tenuto un regolare colloquio (bisogna ricordarlo? Co-inventore del TCP/IP, attuale portavoce dell'ICANN, definito da molti il "padre di Internet", bla bla bla), ma certo è che si è presentato immediatamente sul blog di Google firmando un post pieno di entusiasmo e di sfide per il futuro. (more...)

di Gabriele Farina Commenta

Spesso mi capita di dover testare delle librerie o il funzionamento particolare di alcune funzioni in determinate circostanze. Solitamente creo il mio file PHP e lo faccio eseguire dal mio webserver e poi controllo il risultato. Pratica comune, direi, ma da quando ho iniziato ad utilizzare Python mi trovo spesso a rimpiangere la sua comoda command line.Stamattina, visto che avevo qualche minuto di tempo, mi sono messo con il mio iBook alla mano ed ho creato un semplice script che emula una shell per PHP.Lo script è molto semplice e sfrutta la funzione eval per valutare l'espressione immessa dall'utente. Purtroppo soffre di alcuni problemi (lascio a qualcun altro il compito di risolverli) dovuti al motore di PHP o a piccole inesattezze che possono essere corrette facilmente. La shell accetta in input un'espressione valida PHP, la esegue e restituisce in output il valore restituito dall'espressione. In caso vegano scritti costrutti sintattici particolari, quali classi, cicli, istruzioni condizionali, la shell si occupa di immagazzinare in memoria l'intero blocco di istruzioni e di eseguirlo. La shell indenta automaticamente il codice se trova una parentesi graffa alla fine della riga, quindi è necessario seguire delle semplici regole sintattiche per far funzionare correttamente la shell. Siete liberi di modificare e correggere il codice. (more...)

Url Cleaner

8 Sep

Quanti di voi hanno avuto problemi nel validare una pagina XHTML per la presenza di un URL non valido come questo mostrato in basso?http://yourdomain.com/products.asp?item=34627393474632&id=4344In questo caso il simbolo di concatenamento (in grassetto) è il colpevole della errata validazione. Allora che fare?Per chi non lo sapesse, in XHTML ci sono alcuni caratteri che non possono essere usati, a meno che non vengano sottoposti ad escape. Sono le entità (entities, in inglese). Su questa pagina potete trovare una comoda reference a tutte le entità HTML e XHTML.Ma quando abbiamo l'esigenza di cambiare al volo un link? Per farvi un esempio, Movable Type, che è anche il motore CMS nascosto sotto il cofano di <edit>, utilizza uno script che automaticamente converte i caratteri non validi in entità valide così da agevolare il lavoro, e simultaneamente rende possibile la validazione del codice.Chi non può contare su sistemi "automatici" di questo tipo, può affidarsi a Url Cleaner: Esso ci viene incontro quando abbiamo bisogno di cambiare strutturalmente il nostro link per renderlo valido e funzionante.Il suo funzionamento è semplicissimo, basta andare su questo sito. Nel campo URL inseriremo il nostro link non valido per ottenere automaticamente l'output ripulito e pronto per l'uso. Un ottimo sistema per evitarci la dura e noiosa fatica di sostituire a mano i caratteri. Il mio consiglio è di aggiungerlo tra i preferiti.

Manca poco al lancio di SQL Server 2005 (previsto a Novembre) e Microsoft comincia a delineare prezzi e versioni della nuova piattaforma. Il modello di licensing e i prezzi delle versioni di SQL Server potete trovarli nella sezione How To Buy SQL sul sito della Microsoft.SQL 2005 sarà disponibile in 4 versioni (il dettaglio delle caratteristiche è disponibile qui), di cui una gratuita, la Express:Express (Gratuita)WorkgroupStandardEnterprise Rispetto a SQL 2000 ci sono alcune novità :Reporting Services è parte integrante di SQL 2005, ovviamente con funzionalità differenti a seconda della versione di SQL prescelta.La Standard Edition di SQL 2005 supporta il two-node clustering, quindi non è più necessario possedere la versione Enterprise per implementare tecniche di clusteringAl momento non ci sono informazioni sulla disponibilità di una Developer Edition di SQL 2005, chissà in futuro. Detto questo, non resta che aspettare pazienti l'arrivo del prodotto, già da ora disponibile come Community Technology Preview sul sito MSDN.

Non sto a ripetere la storia. Chi vuole può leggerne la prima parte qui e la seconda qui. Qualche riflessione sorge però spontanea. Importante è soprattutto il rilievo mosso da Marco Montemagno all'interno del suo SkyTg24 Blog in merito ai problemi che hanno legato la vicenda ad ostacoli comunicativi tra la banca colpita e l'esterno:Ne approfitto per constatare quanto oggi sia fondamentale essere presenti in Internet, ed esserci con gli strumenti giusti, integrati con il mondo dei blog. Troppo più vantaggioso. Viene a sapere subito che cosa si dice del tuo prodotto, se ci sono problemi, critiche (o anche complimenti, ecc.). Dov'è il blog di Rasbank per gestire le pubbliche relazioni? (more...)

Tags: ,
di Francesco Caccavella 1 Commento

Dalla pubblicazione di un bug alla comparsa del malware (solitamente un worm) che ne sfrutta le capacità possono passare anche solo 5 giorni. Zotob, il worm che sfrutta la vulnerabilità del Plug and Play di Microsoft (MS05-039), ha stabilito il nuovo record del flash exploit detenuto finora da Sasser (14 giorni). Il procedimento è semplice: non appena la software house, quasi sempre Microsoft, pubblica il bollettino di sicurezza, i cracker si mettono al lavoro per sfruttare la vulnerabilità basandosi sui dettagli tecnici pubblicati nell'advisory. Alcuni, come dichiarò lo scorso aprile il manager Microsoft David Aucsmith, ci danno dentro di reverse engineering sulla patch pubblicata. (more...)

Tags: , ,
di Gabriele Farina Commenta

Da qualche tempo mi sto occupando dello sviluppo di un semplice ODBMS in PHP da utilizzare per la persistenza degli oggetti in un Application Server. Mai come in questa situazione mi sono accorto di quanto sia fondamentale l'utilizzo di strumenti che facilitino il rilevamento di errori concettuali all'interno del codice. In PHP abbiamo a disposizione qualche funzione nativa per gestire il debugging di semplici script o siti internet, come l'error_reporiting, funzioni di logging, l'introspezione e qualche strumento di back-tracking delle chiamate. Purtroppo questi strumenti non bastano in applicazione più complesse ma fortunatamente possiamo sfruttare i debugger per facilitarci la vita. Un debugger è un programma (spesso una versione modificata di un compilatore/interprete oppure una libreria esterna scritta in codice nativo) che ci permette di eseguire il nostro codice passo passo, decidendo quando interrompere l'esecuzione per visualizzare lo stato corrente della nostra applicazione. Grazie a funzionalità di introspezione possiamo conoscere il contenuto dello scope corrente ed il valore di oggetti anche molto complessi. Spesso i linguaggi di programmazione forniscono un debugger nella loro distribuzione standard. PHP, a causa di alcune scelte progettuali, non fornisce questo strumento. Qualche volenteroso ha comunque deciso di rilasciare strumenti di debug per PHP. Personalmente utilizzo il debugger integrato in Zend Studio, ma possiamo trovare valide alternative nel panorama opensource. APD è un'estensione PECL che permette l'utilizzo di nuove funzioni in PHP per l'analisi ed i profiling dei nostri programmi. DBG è invece un debugger nativo molto utilizzato da IDE commerciali ed opensource grazie alla sua versatilità e completezza. Fino a qualche tempo fa utilizzavo l'estensione Xdebug, che è anch'essa ricca di funzionalità interessanti. Tutti questi strumenti necessitano di essere installati sul server sul quale il nostro programma è in esecuzione. Una valida ed interessante alternativa agli strumenti che vi ho elencato è Gubed, che spicca soprattutto per la particolare struttura che il programmatore ha deciso di seguire. Gubed infatti modifica il vostro codice PHP inserendo chiamate a funzione che vengono sfruttate per interrompere l'esecuzione e recuperare informazioni sul programma. Semplice ed efficace.

Tags: , ,

Il framework .NET mette a disposizione degli sviluppatori delle API (System.Configuration.ConfigurationSettings.AppSettings) per la lettura della sezione AppSettings dei files di configurazione tipo app.config o web.config. Ecco uno stralcio di codice di una tipica sezione AppSettings all'interno di un file .config: <configuration>   <appSettings>     <add key="ConnectionString" value="server=.;database=pubs;userID=sa;pwd=pippo;"/>     <add key="Debug" value="true"/>   </appSettings> </configuration> (more...)

Tags: ,