mercoledì, dicembre 28, 2005

Envisioning a New Language: A Conversation With Sun Microsystems' Victoria Livschitz

Envisioning a New Language: A Conversation With Sun Microsystems' Victoria Livschitz: Ecco il seguito dell'intervista della Livschitz sul futuro dei linguaggi di programmazione. "Consider a typical web service-based application running in a datacenter of a Fortune 500 company. When a failure occurs at runtime, is it the web service, the application server, the cluster, the service provisioning software, the monitoring tool, or the operating system that must react to the situation?"

The Next Move in Programming: A Conversation with Sun's Victoria Livschitz

The Next Move in Programming: A Conversation with Sun's Victoria Livschitz: "When I first became a developer on large, real-world projects at Ford as part of an elite development group, I was shocked by the deficiencies of the software engineering process at-large, and this subject has fascinated me ever since. It is widely known that few significant development projects, if any, finish successfully, on time, and within budget. At best, it takes at least one full release cycle to work out the major bugs. Many projects die quietly in development, crumbled by costs, changing requirements, lack of communication between the various teams involved, and who knows what else." Un nuovo linguaggio di programmazione con nuove metafore, anzi chiamato metafore? Interessante. Indubbiamente Victoria Livschitz ha le carte in regola per parlare. Chissà se una rivoluzione può arrivare da chi ne ha già fatta un'altra con il linguaggio object oriented di maggiore sucesso degli ultimi anni. Sto parlando di Sun e di Java. Comunque sia, ci sono fermenti diffusi e diversi sentori di insoddisfazione con i linguaggi di oggi. Che il futuro sia funzionale o object oriented è difficile da dire, ma sicuramente è massicciamente parallelo e basato su entità autonome che interagiscono.

martedì, dicembre 20, 2005

Migrating from x86 to PowerPC, Part 2: Anatomy of the Linux boot process

Migrating from x86 to PowerPC, Part 2: Anatomy of the Linux boot process: "This article describes the most common traits of embedded Linux? distributions that people employ on x86 hardware and contrasts some of the different options frequently seen on non-x86 embedded systems." Il meccanismo di boot di un sistema operativo è molto interessante, anche se è un argomento molto esoterico. Questo articolo lo spiega in modo abbastanza chiaro e per di più mostra anche il caso di sistemi embedded, che partono da ROM e sistemi Linux con processore non Intel e architettura diversa dal PC. Interessante.

martedì, dicembre 13, 2005

URIResolver howto

[xsl] URIResolver howto: Si dice che dentro ogni problema c'è un problema più grande che aspetta di uscire. Verissimo. Per esempio se uno stylesheet XSL è troppo grande conviene partizionarlo in sezioni e usare include o import. In questo modo si ottiene di poter realizzare anche uno schema di test unitari per le varie sezioni. Risolto un problema se ne presenta un altro. Per fare funzionare le input, occorre realizzare una classe che faccia le veci della directory di lavoro nella trasformazione da riga di comando. "When you need control over xsl:include/import or the document(), you need to use an URIResolver - you cannot do it in your stylesheet. This is very useful when you have a 'primary' XSL[1] and it includes, imports or uses document() to bring in other XML/XSL files/streams from two or more different points of control."

sabato, dicembre 10, 2005

Scaffali Ikea

Ecco una simpatica pubblicità per gli scaffali Lak. Edoardo si è arrampicato sul letto a castello (sempre Ikea, per carità) e si è avventurato sullo scaffale di fianco prima che Guido e Chiara iniziassero a intuire che era ora di chiamare mamma e papà a vedere. Fortuna che sotto allo scaffale c'è il lettino di Edoardo, quindi un'eventuale caduta non sarebbe stata più di uno spavento. Posted by Picasa

venerdì, dicembre 09, 2005

Riapre il proxy bar

Dopo lunghe peripezie burocratiche fra due fornitori di connettività rieccolo. Il proxybar riapre in una sala macchine diversa, più a portata di mano. Ci sono ancora dei quirk, ma saranno risolti e arriveranno delle novità: un wiki e qualche ritocco all'impaginazione.

lunedì, novembre 07, 2005

The Code Project - Free Source Code and Tutorials

The Code Project - Free Source Code and Tutorials: Se bisogna realizzare una shell extension meglio non iniziare prima di avere letto questi tutorial. C'è anche una traduzione italiana. Naturalmente non trascuriamo la documentazione Microsoft.

mercoledì, ottobre 05, 2005

DIV vuoti, bah!

Div vuoti, come ad esempio <div> causano problemi infiniti. In Mozilla schiacciando Ctrl-shift-I ho osservato un modello del documento totalmente sbagliato: l'elemento <div/>
era interpretato come <div&gt, quindi il resto del documento era contenuto nella div sbagliata, con problemi di posizionamento a dir poco assurdi.

venerdì, settembre 23, 2005

ONJava.com: ONJava 2005 Reader Survey Results, Part 1

ONJava.com: ONJava 2005 Reader Survey Results, Part 1: Chi sono gli sviluppatori Java? Il questionario annuale di onjava.com, un sito O'Reilly, mostra risultati interessanti. Fra le cose notevoli, un predominio assoluto di Eclipse (76%), un ruolo minoritario per NetBeans (22%) e un ruolo di nicchia per gli ambienti commerciali, come JBuilder e IntelliJ. Per quanto riguarda il piano acquisti, nessuno ha intenzione di comprare qualcosa quest'anno e ricorrere piuttosto all'open source. "The feedback to this year's ONJava survey was tremendous. We received 988 responses in just 12 days--well ahead of last year's response. It's great to see that so many people are so interested in Java and how we cover it on the site."

giovedì, settembre 22, 2005

Scott Wiltamuth's C# blog : Kids Programming Language (KPL)

Scott Wiltamuth's C# blog : Kids Programming Language (KPL): Un linguaggio pensato per i bambini? Interessante. KPL è basato su .net e può creare codice C# o VB dal sorgente KPL. Le demo dovrebbero essere divertenti e giocabili. "Today I had a chance to meet with several people who are working on Kids Programming Language (KPL). KPL is a freely downloadable development environment and immersive runtime for helping kids learn to program. If you have kids who are at the 'learning to program' age, which seems to get lower and lower every year, check out this tool. The demo was very cool! The KPL overview has a quick description and some screenshots. KPL is based on .NET, and includes its own immersive runtime for doing things like using sprites and collision detection. The tool can generate C# or VB code from the KPL code, which enables kids to learn in KPL and graduate to VB or C#."

mercoledì, settembre 21, 2005

Measuring Element Dimension and Location (Internet Explorer - DHTML)

Measuring Element Dimension and Location (Internet Explorer - DHTML): "The following section is designed to help Web authors understand how to access the dimension and location of elements on the page through the Dynamic HTML (DHTML) Object Model." Una spiegazione del posizionamento delle DIV utile per chi tenta di formattare le pagine con i CSS, come vogliono i guru del W3C.

venerdì, settembre 16, 2005

ONJava.com: What Is a Portlet

ONJava.com: What Is a Portlet: "'Portlets are web components--like servlets--specifically designed to be aggregated in the context of a composite page. Usually, many portlets are invoked to in the single request of a portal page. Each portlet produces a fragment of markup that is combined with the markup of other portlets, all within the portal page markup.' (from the Portlet Specification, JSR 168)" Le portlet sono interessanti perché sono un modo di realizzare una pagina web per componenti, ma il framework necessario per realizzare portlet potrebbe introdurre limitazioni e vincoli tali da complicare qualche parte del compito mentre ne semplifica altre. Questo articolo sembra un buon punto di partenza per iniziare a studiare.

martedì, settembre 13, 2005

Guide to Using XMLHttpRequest (with Baby Steps) from WebPasties

Guide to Using XMLHttpRequest (with Baby Steps) from WebPasties: "The XMLHttpRequest object is a handy dandy JavaScript object that offers a convenient way for webpages to get information from servers without refreshing themselves." Un tutorial eccellente sull'uso di un oggetto estremamente critico per realizzare applicazioni dinamiche, che mosra tutti i lati del discorso, soprattutto il modo (corretto) di fare interrogazioni asincrone.

XML.com: Remote Scripting with AJAX, Part 1

XML.com: Remote Scripting with AJAX, Part 1: "This two-part series of articles covers remote scripting using the AJAX XMLHttpRequest protocol. Part one walks through an example application that demonstrates how to implement the protocol, while part two will show how to create a usable interface." Si fa un gran parlare di Ajax, un nuovo nome per definire tecniche usate da tempo, in realtà è meglio andare a leggere la definizione originale per cogliere l'accento sui quattro fondamenti della tecnologia, in particolare il supporto per gli standard e l'interazione asincrona col server. Meglio studiare bene, quindi, per non rischiare di fare applicazioni Sjap (Synchronous Javascript and Proprietary formats). Applicazioni lente, che fanno dialogo inutile col server, impiegano parecchio tempo a comporre la pagina iniziale e non si basano su standard.

A List Apart: Articles: JavaScript Logging

A List Apart: Articles: JavaScript Logging: "If you spend much time working with JavaScript, there will eventually come a day when you need to know the value of a variable (or an object?s field) as the execution of the script progresses, or why a script terminates unexpectedly. In simple scripts, you can accomplish this with JavaScript?s alert() function, which instructs the browser to create a dialog box with the argument set as the box?s caption. The message can be anything that helps you understand your script?s operation." Un utente affezionato di JUnit non può lasciarsi scappare una possibilità di portarsi dietro le buone abitudini anche nel browser. Purtroppo, la tecnica proposta è interessante, ma ancora lontana dalla produzione. Sicuramente però è meglio procedere così che continuare con gli alert.

Javalobby - Java J2EE Programming Forums - General: 20 Sites for Java Developers

Una lista dei siti Java più importanti da visitare. Alcuni li frequento giornalmente, altri li avevo lasciati indietro. Ho sbagliato? Vedremo. Fra i primi dell amia lista ci sono http://www.javaalmanac.com http://www.onjava.com http://www.java.net http://www.theserverside.com Questi, invece no li avevo notati http://java.sun.com/docs/books/tutorial/ http://www.javablogs.com

venerdì, settembre 09, 2005

Steganography 101 using Java

Steganography 101 using Java: "As mentioned above, cryptography is often used in situations where the existence of the message is clear, but the meaning of the message is obscured. In particular, the sender transforms the message into a form that (hopefully) only the intended recipient of the message can decrypt and read. Steganography is often used in situations where the actual existence of the message needs to be obscured." Un'introduzione alla steganografia piuttosto interessante e corredata da esempi di codice e di immagini steganografate.

giovedì, settembre 08, 2005

IEBlog

IEBlog: "I?ve been keenly interested in extending Internet Explorer since long before I joined the team last fall. MSDN provides some great documentation on how to extend Internet Explorer, but as a longtime IE enhancer, I?d like to highlight some of my favorite resources." Un blog dedicato a Internet Explorer. Interessante. Ci sono anche parecchi esempi di codice e diversi "toys" da installare.

Una distribuzione di Emacs che funziona bene

nqmacs is no official Emacs distribution. It's just a set of precompiled w32-binaries based on the source code of Emacs' current development version (which will eventually be released as Emacs 22.1)." Provata e funziona decentemente. Rispetto alla versione della FSF ha un'interfaccia utente migliore: la toolbar funziona, ci sono più icone nella speedbar e in generale tutto funziona al meglio.

martedì, settembre 06, 2005

Esempi di codice

JExamples analizza codice sorgente Java e lo indicizza in modo da poter visualizzare una lista di punti in cui viene usata una determinata funzione, per esempio HashMap.put. Il database di esempi è costruito analizzando prodotti open source, come Apache Axis. La cosa interessante, quindi, è che i frammenti di codice sono presi da applicazioni reali, testate e collaudate. We analyze the source code of production Java open source projects such as Ant, Tomcat and Batik and load that analysis into a java examples database designed for easy searching. You enter the name of a Java API Class.method you want to see example invocations of and click Search.

venerdì, giugno 24, 2005

Java and XSLT: Chapter 5: XSLT Processingwith Java

Java and XSLT: Chapter 5: XSLT Processingwith Java: "Since many of the XSLT processors are written in Java, they can be directly invoked from a Java application or servlet. Embedding the processor into a Java application is generally a matter of including one or two JAR files on the CLASSPATH and then invoking the appropriate methods. This chapter shows how to do this, along with a whole host of other programming techniques." Ottimo. La O'Reilly pubblica sempre un capitolo dei libri che mette in vendita, per permettere di sfogliare anche attraverso il web. Questo è molto benvenuto, serve sempre avere sottomano un tutorial sulle trasformazioni XSL con Java.

mercoledì, giugno 01, 2005

Microsoft Fiddler

Microsoft Fiddler è un potente strumento di analisi per chi lavora con il Web. Non è complicato come Ethereal, che è nato per analizzare protocolli anche a livello molto più basso di HTTP, ma permette di entrare più in dettaglio nella ridda di domande e risposte che permettono di costruire una pagina HTML. Si può seguire l'andamento del protocollo in tempo reale e si possono ripetere richieste o creare richieste ad hoc. Insomma, a una prima occhiata sembra uno strumento da mettere nella cassetta degli attrezzi di prima necessità. Da segnalare il blog dell'autore e un articolo introduttivo su MSDN e il suo seguito.

mercoledì, maggio 18, 2005

MSDN Nuggets

MSDN Nuggets: Microsoft pubblica una serie di video dedicati a un compito specifico di programmazione. In dieci minuti si può imparare una cosa dalla voce di un insegnante e con il video davanti, un po' come capiterebbe partecipando a un corso. Le pillole di corso di Microsoft possono risolvere situazioni in cui serve un risultato subito, ma prima bisogna acquisire una determinata abilità. Complimenti. "Don't have the time to read a 10 - page how-to article or watch a full length webcast? Try an MSDN Nugget, a webcast that takes you step-by-step to discovering new functionality or exploring a hot developer topic, all in 10-15 minutes. View them online now or download for later reference. To view MSDN Nuggets you need Windows Media Player 9 Screen codec support on WMP 7 and above."

martedì, maggio 10, 2005

Emacs, Lisp packages and related resources

Emacs, Lisp packages and related resources: "Important Emacs links" Può sempre servire una copia di Emacs, no? Ecco un altro posto interessante dove orientarsi in questa scienza oscura.

giovedì, maggio 05, 2005

Storia di Objective Caml

Ocaml è un linguaggio interessante, che sta spuntando in contesti diversi, anche in un progetto di ricerca in Microsoft, chiamato Fsharp. Back in the 1940's, the mathematician Alonzo Church (possibly inspired by ideas in Gödel's Incompleteness Theorem) proposed the theory of Lambda Calculus, as an alternative basis for computational theory to Turing's Machine. Now, Lambda Calculus has about as much to do with learning Ocaml as Turing Machines have to do with learning Java (i.e. nothing at all), but Lambda Calculus and Fortran- which originally stood for FORmula TRANslator, and was intended to allow scientists and engineers to simply write formulas, and not code- combined in the mind of John McCarthy to form Lisp, in about 1958.

lunedì, maggio 02, 2005

Un potente Javascript per .NET

This is probably the biggest leap in functionality for JScript since the 1996 introduction of JScript version 1.0 with Internet Explorer 3.0. JScript has traditionally been used to develop client-side scripts due to its ubiquitous, cross-platform support on the Internet, but we've been seeing a steady increase in the usage of JScript on the server?particularly in Active Server Pages (ASP). For example, your favorite Web site (MSDN) uses a large amount of server-side JScript, as do many other sites on the Internet. Un ottimo tutorial sul nuovo Javascript, capace di cose interessanti, come in questo esempio
// Wrap the function inside a class statement.
class Car
{
  // Declare the class members. I've used types in this example,
  // but they are not required. I could have also marked the class
  // as being 'expando' and not had to declare these members.
  var make : String;
  var color : String;
  var year : int;

  // Old constructor function, unchanged.
  function Car(make, color, year)
  {
     this.make = make;
     this.color = color;
     this.year = year;
  }

  // Move the function inside the class
  function GetDescription()
  {
     return this.year + " " + this.color + " " + this.make;
  }
}

// Create and use a new Car object
var myCar = new Car("Accord", "Maroon", 1984);
print(myCar.GetDescription());
Aggiungiamo che il compilatore JScript (jsc.exe) è in tutte le macchine su cui è installato il Framework .NET e il discorso si fa molto interessante.

domenica, maggio 01, 2005

Microsoft e Open Source

Un'analisi più approfondita delle aperture di Microsoft all'open source e come, in effetti ha beneficato un progetto. Microsoft began pushing the idea of "shared source" a few years ago as a way to talk about source code sharing exercises they continue to develop in the face of open source software practices. The idea holds the premise that they will share the source code of their software appropriately with appropriate audiences. Il progetto che Microsoft ha condotto con successo come open source è un installer per Windows WiX.

La riga di comando di XP riserva delle sorprese

La riga di comando di XP riserva delle sorprese. Prendiamo il comando FOR, la sintassi tipica è for %i in (questo quello quellaltro) do echo %i. Esistono anche sintassi alternative, per fare un ciclo sul contenuto di una variabile delimitata da separatori, o l'output di un comando. Ecco un esempio del primo for %i in (%path%, delim=; ) do echo %i Mentre il secondo for /f %i in ('dir') do echo "trovato " %i Alcuni dei trucchi tipici degli shell script di Unix diventano possibili su Windows.

mercoledì, aprile 20, 2005

Un po' più di velocità per le Swing

Scott Violet's Blog: "Swing Painting Improvements: No More Gray Rect!" Come si dice? I can't believe it! Ci sono voluti così tanti anni e la perdita di credibilità di Java sul client prima di arrivare a una soluzione che risolve uno dei problemi annosi delle interfacce utente Java. Rimane l'altro problema, la velocità con cui un'applicazione risponde al resize, cioè quello che succede facendo un clic sull'angolino basso a destra della finestra e "portando a spasso il mouse". In molti casi non si vede un ridisegno decente dell'interfaccia fino a che non si lascia il mouse. Le applicazioni native non si comportano così.

Sun Java News, Java Articles, Java Blogs, Java Groups and Java Forums, Just one bookmark

Sun Java News, Java Articles, Java Blogs, Java Groups and Java Forums, Just one bookmark: "When I saw your site, I said to myself: 'This can be true! This people read minds!'. Why? Every single site I visit every day is here! Great! Now at a distance of a single click, I can see everything I want. Congratulations! Really! " Cosa scatena questo entusiasmo? Semplice, un sito che raccoglie i feed RSS degli altri siti Java e li organizza in una pagina raccolta e breve, una piattaforma di lancio ideale per chi segue Java.

Celebration 10 years - Java Timeline - History of Java

Celebration 10 years - Java Timeline - History of Java: "10 years of Java" Dieci anni di Java e adesso Java è ovunque, ha conquistato quattro milioni di sviluppatori e 1.7 miliardi di dispositivi. Non male per il sogno di Gosling. Soprattutto, Java è il sogno di chi ha vissuto l'incubo del C++. Un linguaggio con la produttività di Visual Basic, la completezza della libreria del C++, una sintassi corretta e che aiuta a ripararsi dagli errori prima che accadano. Tutti i problemi che ho avuto in C++ a run time erano errori di compilazione in Java.

lunedì, aprile 18, 2005

java.net: Java Tech: Acquire Images with TWAIN and SANE, Part 3

java.net: Java Tech: Acquire Images with TWAIN and SANE, Part 3: Una libreria per la scansioe di immagini più semplice da usare di TWAIN, con esempi di codice in Java e riferimenti alle librerie. Può essere interessante per il prossimo progetto di scansione. "Java doesn't provide a standard API for acquiring images from digital cameras, scanners, and other image-acquisition devices. This omission has inspired this three-part Java Tech series that explores the TWAIN and SANE image-acquisition specifications, and how to make use of those specifications in a Java context. The previous two articles in this series--the first introducing TWAIN and providing a simple TWAIN library and Java application that demonstrates that library, the second on improving on the library and demo application--focused on the TWAIN specification from a Microsoft Windows perspective, because TWAIN's origin lies in the Windows world. In contrast, this article largely moves away from TWAIN (and Windows), by focusing on the Unix-based SANE image-acquisition specification."

sabato, aprile 16, 2005

Java Security Evolution and Concepts, Applet Security

Java Security Evolution and Concepts, Applet Security: "This article, the third in the series, will cover the various requirements for securely running Java code downloaded from a network. Although mobile code is not a revolutionary concept, Java and the Internet present some unique challenges to computer security. The evolution of the Java architecture and its impact on core Java security was discussed in Parts 1 and 2. This article takes a different tack: a hands-on approach to tie all the concepts together by deploying a simple applet that writes to the local filesystem. " Un'ottima introduzione al problema della sicurezza delle applet.

giovedì, aprile 07, 2005

SideBar di riferimento per Mozilla e Firefox

SideBar Installation: "Devedge Revived" Dopo la chiusura del sito per sviluppatori di Netscape, qualcuno ha preso sotto l'ala l'ottima sidebar e l'ha rimessa in circolazione. Ogni link può essere usato per installare una delle sidebar disponibili. Apparentemente non trovo più l'origine della sidebar unificata, che permetteva di averle a disposizione tutte insieme, con un elenco a discesa che permetteva di selezionarne una. Nei fatti l'utilità pratica non cambia. Con Firefox le sidebar non si installano come sidebar, ma come segnalibri. L'effetto pratico è lo stesso, cioè appare una barra laterale. Tutto sommato, meglio così, la distinzione fra link e sidebar può anche essere una complicazione inutile. Con Explorer succede una cosa curiosa: uno scatto di orgoglio della sidebar propone all'utente di aggiornare il browser e rinvia al sito di Netscape.

giovedì, marzo 03, 2005

JGoodies :: Skeleton

Le librerie grafiche di JGoodies: Una novità interessante. Questo scheletro di applicazione, che già conoscevamo, adesso è distribuito gratuitamente. Si tratta di un punto di partenza utilissimo per chi sviluppa applicazioni desktop con Java. Non è un mistero, infatti, che avere un look professionale con Java - specialmente su Windows - non è per niente semplice.

mercoledì, marzo 02, 2005

java.net: Integrating Java Open Single Sign-On in Pluto

java.net: Integrating Java Open Single Sign-On in Pluto: "Pluto is the reference implementation of the Java Portlet Specification (JSR 168). Pluto represents a runtime environment for portlets implementing the Portlet API that offers services through portal pages and manages their lifecycle." Un altro Single Signon per Java.

giovedì, febbraio 17, 2005

Data base XML, perché no?

Archiviare XML in formato nativo è attraente: se hai a che fare con un formato complesso, escogitare uno schema di tabelle che ti permette di archiviarlo è un mare di lavoro da rifare da capo per ogni nuovo schema che deve essere gestito, mentre archiviare un pacchetto XML come testo in un blob non permette di fare richerche sensate sul pacchetto XML. Come funzionano le ricerche su dati in formato XML? Il documento in formato PDF collegato a questo post permette di approfondire tecnicamente.

venerdì, febbraio 11, 2005

Van Der Graaf Generator - Pawn Hearts

Head Heritage | Unsung | Album of the Month | Van Der Graaf Generator - Pawn Hearts Che il progressive possa dare alla testa è dimostrato con chiarezza da questo simpatico pezzo di letteratura popolare. First time I ever heard PAWN HEARTS was in a shitty Torquay hotel where I was working in summer 1972. I was drunk on QC sherry and freaking out an 18-year-old girl called Karen, who was acid tripping and convinced that I was bringing her down. I was 15 and didn?t know what that meant, but the music was such a cack-off cacophony that I had to inform her ?It ain?t me, babe!? It was the first time I?d thought what a racket progressive rock could be. Yet I already knew Faust and early Magma, so this lot (British too, so they shoulda known better) were surely just trying to be cantankerous. How I adored this record. However, thirty-one years and a coupla hundred spins later, I?m still genuinely disorientated by this extremely everything LP, and even more in Shock?n?awe of Peter Hammill than I was all those ye-hars ago. For one thing, I now know the technology he had at his group?s disposal and STILL it sound fucking well weird. Dear me, Pete, you were on the famous Charisma label with good old Lindisfarne and Genesis and the Nice and Audience - couldn?t you have tried a bit harder to fit in?

ONJava.com: Eclipse Plugins Exposed, Part 1: A First Glimpse

ONJava.com: Eclipse Plugins Exposed, Part 1: A First Glimpse Beh, avete sempre desiderato sviluppare un plugin di Eclipse, ma vi è mancata la spinta iniziale? Questo articolo spiega il processo in modo abbastanza sintetico da fare venire voglia di metterlo in pratica. Naturalmente, c'è sempre ancora molto da studiare, ma quando si parte, si parte.