martedì, febbraio 04, 2003

Intervistato da The Register, Scott Mc Nealy dà una risposta molto interessante alla domanda "Qual è l'errore più grosso che avete evitato?" parlando di una proposta di creare una linea di PC Wintel. La risposta fa riflettere, specie ripensando a Olivetti e agli altri produttore europei di computer. The Register You can't be a PC reseller and a computer creator company in the same company. I think IBM's proven that; HP has proven that; DEC has proven that. The Asians have proven that. And the Europeans have proven that. Every company that went onto Wintel ultimately hollowed themselves out: it was a self-imposed lobotomy. They're no longer R&D companies and it was massively painful. They were shareholder disasters.

martedì, gennaio 14, 2003

Spesso mi domandano come si trova un lavoro interessante in un'azienda di avanguardia. Ecco una possibile risposta. Green Card lottery registration, US immigration, Green Card L’organizzazione Usafis ti invita a partecipare al programma per ottenere la Green Card. Secondo la legge approvata dal congresso, se non sei cittadino americano puoi partecipare al sorteggio e vivere e lavorare legalmente negli Stati Uniti, grazie al programma “Diversity Green Card Lottery”.
Quando si deve prendere in mano codice creato da chi ha gusti diversi dai nostri e integrarlo con un corpo di codice con convenzioni e regole che spiace lasciar cadere, vale la pena di usare un beautifier, cioè un programma che riscrive il codice secondo regole (estetiche) di indentazione prefissate. L'ultimo che ho provato è Jalopy, un progetto open source ospitato su Sourceforge. Funziona molto bene e non è cascato nei punti in cui jacobe si va a impuntare. Contro: è scritto in Java, modulare oltre misura e complicato più del necessario. Invece di un singolo eseguibile bisogna installare molti file. Peri default Jalopy applica le regole di indentazione Sun. Jalopy Java Source Code Formatter Beautifier Pretty Printer Jalopy is a source code formatter for the Sun Java programming language. It layouts any valid Java source code according to some widely configurable rules; to meet a certain coding style without putting a formatting burden on individual developers.
Nelle pagine dedicate al Java Community Process possiamo trovare quattro miglioramenti al linguaggio che dovrebbero vedere la luce on la release di "Tiger", la versione 1.5 del Java SDK. The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 201 The proposal extends the Java programming language in four specific ways: 1. A syntax for defining enumerated types. This syntax provides linguistic support for the Typesafe Enumeration pattern. 2. An automatic conversion from primitive types to their corresponding reference type wrappers. This conversion facilitates the integration of generics into the language, and reduces inessential clutter. 3. Enhanced for loops allow convenient iteration over collections, without the need for an explicitly defined iterator. This reduces the need for boilerplate iteration code and the corresponding opportunities for errors. 4. Static import. A mechanism to allow the use of unqualified constants.
Ecco l'articolo che introduce i generatori in Python spiegando bene perché la loro introduzione può giovare alla soluzione di alcuni compiti applicativi. Quello che è straordinario in questa pagina è la chiarezza e la gradualità con cui vengono presentati i concetti. Dopo avere letto il testo si capisce e si è in grado di spiegare perché una esotica funzione del linguaggio ha uno scopo. Com'è diverso questo approccio da quello da manuale di riferimento, un testo che affronta con la neutrale attenzione per i dettagli dell'entomologo i temi più diversi per importanza e difficoltà, come "cose da illustrare". Una descrizione di un meccanismo da cui sia rimossa ogni causa che ha portato alla sua creazione non può essere comprensibile. Di più, va notato che anche quando l'intento è quello di farsi capire, solo pochi (purtroppo) ci riescono con la sfolgorante capacità didattica dell'autore di questa pagina. 2 PEP 255: Simple Generators

mercoledì, gennaio 08, 2003

La via che può essere indicata non è la vera via e il codice che può essere compilato non è il vero codice. Il Tao per programmatori è tutta una collezione di perle di saggezza, come questa. UDDF - Tao of Programming There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: ``Which is easier to design: an accounting package or an operating system?'' ``An operating system,'' replied the programmer. The warlord uttered an exclamation of disbelief. ``Surely an accounting package is trivial next to the complexity of an operating system,'' he said. ``Not so,'' said the programmer, ``when designing an accounting package, the programmer operates as a mediator between people having different ideas: how it must operate, how its reports must appear, and how it must conform to the tax laws. By contrast, an operating system is not limited by outside appearances. When designing an operating system, the programmer seeks the simplest harmony between machine and ideas. This is why an operating system is easier to design.'' The warlord of Wu nodded and smiled. ``That is all good and well, but which is easier to debug?'' The programmer made no reply. Per inciso, Tao è il nome di un'infrastruttura CORBA aperta.

venerdì, gennaio 03, 2003

Servlets.com Archives | jdom-interest Il DOM non è il modo più semplice di usare l'XML. In particolare il programmatore ha poche scelte oltre a lanciarsi nel parsing o creare una macchina a stati per rimediare all'assenza di contesto di SAX. C'è un modo più semplice e più intuitivo per i programmatori Java di usare XML ed è JDOM. Ecco una curiosa citazione dell'autore di JDOM presa da una conversazione fra Elliotte Rusty Harold, l'autore di una prima informale pagina di introduzione a Java e Jason Hunter, l'ideatore di JDOM. "I once heard Jason make an offhand comment, something like "The next time I dream up an open source project I'll pick somehting easier than an XML API, like an operating system maybe." Unfortunately I didn't write it down. :-( So, Jason, would you like to reporse whatever it is you actualkly said for the record?" I think your quote captures the thought fine. -jh-

martedì, novembre 26, 2002

venerdì, novembre 22, 2002

Cresce l'importanza di Symbian nel futuro mondo wireless e si chiudono per Microsoft alcune porte che inizialmente si erano aperte. Da Salon Symbian's biggest victory came early in November, when Sendo, a British handset maker that was one of the first companies to sign on with Microsoft, abruptly announced that it would no longer build a Microsoft phone. Instead, Sendo said it would now start working on a smart phone using software from Nokia and Symbian, software that Sendo calls "uniquely flexible." Il browser di default per Symbian è Opera, un'altra interessante possibilità per la simpatica azienda norvegese.

giovedì, ottobre 24, 2002

Web Services. Gli standard attuali definiscono tutto ma non lo strato necessario per garantire la sicurezza. Non che manchino le possibili soluzioni, ma manca un accordo su quale sceglire e usare. Il risultato è che ogni applicazione seria che usi SOAP e abbia requisiti minimi di sicurezza, deve essere codificata a mano, nonostante le promesse di facile interoperabilità di SOAP. Microsoft, IBM, Bea e altri hanno formato un consorzio, chiamato WS-I per risolvere il problema. Ecco la prima specifica.
Microsoft pensa a uno strumento per ridurre lo spazio fra il testo ordinato in moduli, tipico delle applicazioni gestionali, e il testo libero tipico delle applicazioni da ufficio. Il nuovo membro della famiglia Office - XDocs - usa XML per rendere l'informazione più facile da ritrovare e riutilizzare. Annuncio stampa

venerdì, settembre 20, 2002

Dopo che sono state rilasciate le specifiche del progetto Liberty, ecco una prima implementazione open source, segnalata dalla sezione per sviluppatori del sito Sun dedicato a Java. Interoperability Prototype for Liberty is the first open-source implementation of the Liberty Alliance Version 1.0 specification based on JavaTM technology. IPL is designed to help developers learn how the project Liberty Alliance Version 1.0 specification can be implemented. Written for the Java 2 platform, IPL provides the foundation for building liberty into applications and testing interoperability between liberty compliant solutions such as the SunTM ONE Identity Server version 6.0.

mercoledì, settembre 11, 2002

Gli strumenti per lo sviluppo Web non bastano mai. Ancora più difficile è trovarli gratis. Non va sottovalutato, quindi, il potente debugger contenuto in Mozilla. Se si fa sviluppo di siti Web e si vuole realizzare contenuto attivo e compatibile con i browser principali, Mozilla può mettere a disposizione strumenti di indagine, come un navigatore del DOM, un debugger JavaScript con tutte le funzioni utili per il programmatore e un editor di testo con la colorazione secondo la sintassi. Da provare. www.mozilla.org

giovedì, settembre 05, 2002

Decompilare applicazioni .NET? Possibilissimo. Quella che è stata una critica pesante per Java ora vale anche per .NET ecco due tool: Salamander is a .NET decompiler that converts executable files (.EXE or .DLL) from Intermediate Language (IL) binary format to high-level source codes, such as C#, managed C++, Visual Basic.NET, etc. For more than 8,000 classes that have been tested, Salamander always produces equivalent and recompilable codes that are remarkably close to the original source codes. http://www.remotesoft.com/salamander/ Un altro strumento per disassemblare codice e ricreare i sorgenti è anakrino. La pagina di anakrino sembra tanto il blog di uno sviluppatore ossessionato dall'idea della morte, ma ci sono anche molte utili riflessioni sullo sviluppo in C++. http://www.saurik.com/net/exemplar/

mercoledì, settembre 04, 2002

Un editor piccolo abbastanza da stare su un floppy, ma grande abbastanza per le esigenze di uno sviluppatore. Non solo, ma è anche gratuito e lo sarà sempre perché è software libero. www.scintilla.org
Tutto funziona per bene fino a che succede una combinazione di fattori che fa corrompere dati critici e manda a picco il programma. Un debugger che permette di andare indietro nel tempo e vedere perché una variabile ha cambiato valore, quando, che valore aveva prima è sempre stato un sogno per chi deve tracciare quegli errori impossibili. Adesso c'è uno strumento del genere: http://java.sun.com/features/2002/08/omnidebug.html

venerdì, agosto 23, 2002

Se ci si occupa di applicazioni basate su un calendario probabilmente vale la pena di tenere un occhio aperto su queste specifiche rilasciata dalla IETF per un protocollo per lo scambio di eventi in formato iCalendar fra applicazioni.
Il progetto Liberty finalmente inizia a rilasciare specifiche su cui potersi basare per prendere delle decisioni sulle strategie prescelte per l'autenticazione degli utenti. Sicuramente l'unificazione dell'identità attraverso server diversi è un valore per gli utenti. Si può così essere riconosciuti da Amazon o da Yahoo sulla base di un documento personale piuttosto che di un pass rilasciato da una singola azienda e valido solo al suo interno. Microsoft ha proposto una soluzione con Passport. Il problema è solo nel fatto che non è possibile che una singola azienda autentichi tutti gli utenti del mondo. La soluzione sarà probabilmente il risultato della federazione di diverse autorità nazionali, come avviene per i passaporti nel mondo reale. Il valore di Liberty sta nella disponibilità di almeno una soluzione completamente aperta.

giovedì, agosto 22, 2002

Beh, è stato un lungo periodo di silenzio dovuto alla chiusura dell'accesso FTP gratuito di Geocities, ma adesso eccomi di nuovo qua con un nuovo piano di hosting e una presenza più efficace come proxybar e basta. A risentirci presto.

lunedì, aprile 22, 2002

XSLT non è un linguaggio semplice o leggibile, ma è un linguaggio di programmazione a tutti gli effetti. L'articolo apparso su xml.com mostra come costruirsi i propri tag e migliorare la separazione fra formato deil file XML e struttura della trasformazione XSLT. Il trucco sta nel modo in cui si cambiano le regole di default, quelle che copiano l'input sull'output. da XML.com