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.

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>, 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.
Iscriviti a:
Post (Atom)