giovedì dic 18, 2008

L'architettura applicativa del servizio blogs.sun.com

Questo white paper illustra l'architettura applicativa del servizio blogs.sun.com, partendo dai dati di accesso ed i commenti di chi lo gestisce:

In particolare prodotti utilizzati sono:

venerdì lug 11, 2008

OpenDS: un server LDAP open source in Java

E' disponibile la versione 1.0.0 di OpenDS, un server LDAPv3 compliant completamente scritto in Java e distribuito in modalità open source.

La distribuzione è diretta per gli sviluppatori, per cui se si vogliono fare test prestazionali o installazioni in ambienti scalabili, conviene dare un'occhiata alle linee guida di tuning.

Per maggiori informazioni è disponibile la roadmap e la documentazione della versione 1.0.

giovedì lug 03, 2008

Una demo dell'editor JavaScript in NetBeans 6.1

NetBeans nella versione 6.1 include un nuovo editor JavaScript che implementa alcune utili funzionalità per semplificare lo sviluppo con un linguaggio altamente dinamico come JavaScript: completamento intelligente (inclusa la documetazione del linguaggio), rename/refactoring del codice, analisi in tempo reale delle librerie, supporto per vari framework Ajax per lo sviuppo di client web interattivi ed altro ancora.

E' possibile vedere una demo dell'editor JavaScript andando qui.

mercoledì mag 28, 2008

Spacchettamento Sun SPOT Java Development Kit

Nell'attesa di fare qualche test più approfondito, ecco le foto dello spacchettamento ("unpacking") del Sun SPOT Java Development Kit:

 


 


 


 

mercoledì mag 21, 2008

Una demo di Java Real-Time

Ecco una demo, tratta dalla recente conferenza JavaOne 2008, di una possibile "applicazione" di Java Real-Time:

venerdì apr 11, 2008

E' disponibile JRuby 1.1

 

JRuby 1.1 è la nuova release del progetto che ha creato un ambiente compatibile con il linguaggio Ruby basato sulla piattaforma Java. Oltre agli evidenti vantaggi di portabilità, JRuby si sta dimostrando in vari ambiti molto più performante di Ruby 1.8.6 e talvolta anche della 1.9.

Per sviluppare con il linguaggio Ruby è possibile utilizzare NetBeans, che può utilizzare come motore sia l'implementazione "nativa" che JRuby.

La presenza del Semantic Web alla JavaOne 2008

Java è sempre stata una delle piattaforme di sviluppo più utilizzate in ambito Semantic Web

E quest'anno ci saranno 3 interventi alla prossima JavaOne su questo argomento:

  • Developing Semantic Web Applications on the Java Platform
  • Beatnik: Building an Open Social Network Browser
  • Semantic Web for the Working Ontologist

Maggiori informazioni sul blog BabelFish.

martedì apr 01, 2008

Calcolare Pi greco con Fortress e l'Ago di Buffon

E' disponibile da oggi il nuovo sito e la release 1.0 del linguaggio Fortress (già discusso qui).

La sintassi del linguaggio è molto simile a quella della matematica ed è infatti possibile (utilizzando l'utility fortify che fa parte della distribuzione di Fortress) esportare un sorgente in formato LaTeX.

Ecco un esempio di un programma Fortress che approssima Pi greco utilizzando l'Ago di Buffon (per chi è interessato qui c'è un ulteriore metodo basato sul caso, scritto in Perl). Questo algoritmo si basa sulla relazione che esiste tra Pi greco e la probabilità che un ago, lanciato su un piano percorso da rette tra loro parallele ed equidistanti, intersechi o meno una delle rette.

Il sorgente è tratto dalle demo incluse nella distribuzione di Fortress:

run(args:String...):()=do
needleLength = 20
numRows = 10
tableHeight = needleLength numRows
var hits : RR64 = 0.0
var n : RR64 = 0.0

println("Starting parallel Buffons")
recordTime(6.0)
for i <- 1#3000 do
delta_X = random(2.0) - 1
delta_Y = random(2.0) - 1
rsq = delta_X\^2 + delta_Y\^2
if 0 < rsq < 1 then
y1 = tableHeight random(1.0)
y2 = y1 + needleLength (delta_Y / sqrt(rsq))
(y_L, y_H) = (y1 MIN y2, y1 MAX y2)
if ceiling(y_L/needleLength) = floor(y_H/needleLength) then
atomic do hits += 1.0 end
end
atomic do n += 1.0 end
end
end
probability = hits/n
pi_est = 2.0/probability
printTime(6.0)
println("")
print("estimated Pi = ")
println(pi_est)
end
end

Ecco lo stesso sorgente come output del LaTeX:

Ecco l'output del programma buffons.fss (con 3.000 iterazioni l'algoritmo non converge molto bene): 

$ ~user/Test/fortress-1.0/bin/fortress demos/buffons.fss 
guessing FORTRESS_HOME=/Users/user/Test/fortress-1.0/bin/..
Starting parallel Buffons
Operation took 689ms

estimated Pi = 3.132848645076008

lunedì mar 31, 2008

Aggiungere la voce a Java Enterprise Edition con SIP

Ecco un'ottima introduzione al protocollo SIP e a come utilizzare il progetto SailFin (ci sono anche il wiki ed il blog), un SIP Servlet Container che estende l'Application Server GlassFish per integrare le applicazioni Java con il mondo della telefonia.

La sintassi di SIP è molto simile a quella dell'HTTP e ciò permette di adttare in modo semplice il concetto di Servlet per questo protocollo. Per maggiori informazioni sulle SIP Servlet vedere i JSR 116 e 289. L'ambiente SailFin è stato inoltre integrato nell'ambiente di sviluppo NetBeans con la release 6.1 (ad oggi in beta).

La tecnologia che è stata utilizzata nel progetto SailFin è stata donata alla comunità open source da Ericsson.

mercoledì mar 19, 2008

Janne (Java Artificial Neural Network Evolution)

Quando è stato rilasciato NetBeans 6.0 (e tra poco sarà disponibile la 6.1) ho cercato un argomento che mi interessasse per provarne le funzionalità e provare a sviluppare qualcosa.

Ne è venuto fuori Janne. Gli eseguibili sono disponibili qui. Ho creato un progetto su java.net e chiunque volesse è il ben venuto per partecipare. Il resto del post è in inglese ed include una breve descrizione del progetto.



Janne (Java Artificial Neural Network Evolution) is a platform for testing an evolutionary approach in optimizing a predator-pray model.

The GUI has three main components:

  • the world map (left)
  • the top genomi statistics (top-right)
  • the top genoma graphical representation (bottom-right).

Each entity has:

  • a position (x, y) in the world map
  • a direction (d) between 0 (north) and 7, growing clockwise by a 45 degree step
  • a genoma, identified by a "genome id"

Each genoma details the structure of a three-layer feed-forward neural network that acts as the "brain" of the entity. The size of the network is described by the M/S/H/A tuple, where:

  • M is the number of Memory Neurons
  • S is the number of Sensor Neurons
  • H is the number of Hidden Neurons
  • A is the number of Action Neurons

The first layer is the Input Layer and is composed by both the Memory and the Sensor Neurons. The second layer is the Hidden Layer and is composend by the Hidden Neurons. The third layers is the Output Layer and is composed by nothe the Memory (again) and the Action Neurons.

Memory Neurons act as "stateful" neurons that repeat as input what they get as output. They are identified by "M" plus an integer greater or equal to zero, e.g. "M0", "M1", etc.

Senson Neurons get informations from the area surrounding the entity and can be of different types:

  • "SL", look in the left direction (90 degree left)
  • "SFL", look in the front-left direction (45 degree left)
  • "SF", look in the front direction
  • "SFR", look in the front-right direction (45 degree right)
  • "SR", look in the right direction (90 degree right)
  • "SSL", look for a "similar" entity in the left direction
  • "SSFL", look for a "similar" entity in the front-left direction
  • "SSF", look for a "similar" entity in the front direction
  • "SSFR", look for a "similar" entity in the front-right direction
  • "SSR", look for a "similar" entity in the right direction

A "similar" entity has a genoma id equal to the genoma of the entity or to the "parent" genoma of the entity. The "parent" genoma is the genoma from with the other genoma was "born" by "mutation".

Action Neurons can be of different types:

  • "ATL", turn 45 degree left
  • "ATR", turn 45 degree right
  • "AMF", move forward (can eat)
  • "AMB", move backward (must be empty)
  • "AML", move left (must be empty)
  • "AMR", move right (must be empty)

lunedì ott 22, 2007

Open Source @ Sun

Ecco una lista di progetti Open Source con il contributo di Sun. La lista non è esaustiva e sono ben accetti suggerimenti per completarla!

link(2) OpenSolaris
OpenSolaris - Open Source Operating System


OpenJDK - Open Source Java Development Kit


GlassFish - Open Source Application Server


Open Source Mobile & Embedded

NetBeans IDE/Platform Logo
NetBeans - Open Source IDE & Platform

 Use OpenOffice.org
OpenOffice - Open Source Office Tools

OpenSSO - Open Access . Open Federation
OpenSSO - Open Source Single Sign On

OpenPortal
OpenPortal - Open Source Portal

OpenPTK - Bridging Identity
OpenPTK - Open Source Provisioning ToolKit


Open ESB - Source Enterprise Service Bus

OpenDS Logo
OpenDS - Open Source Directory Service

Open Content Delivery Server (OpenCDS)


JXTA - Open Source P2P Platform

 Java DB
Java DB - Open Source DB based on the Apache Derby Project

Grid Engine
GridEngine - Open Source Gird Computing


Project Darkstar - Open Source Gaming Backend


OpenMQ - Open Source Message Queue

Open HA - Open Source High Availability Cluster

Lustre
Lustre - Open Source Highly-Available Cluster File System

Qualche altro link:
http://www.sun.com/software/opensource/
http://www.sun.com/software/opensource/learnmore.jsp
http://research.sun.com/

domenica ott 21, 2007

Minority Report in Java con Sun SPOT e Looking Glass

Ecco una guida per implementare un'interfaccia grafica 3D simile a quella usata nel film Minority Report (tratto da un racconto di Philip K.Dick) usando al 100% il linguaggio Java. Come desktop 3D è utilizzato il progetto Looking Glass, l'interfaccia per la mano è realizzata con un device Sun SPOT (questa è una breve introduzione, se siete interessati e vivete fuori dagli USA potete verificarne la disponibilità qui). I video sono presentati dalla technology evangelist Angela Caicedo.

 Meet the Sun SPOT
Una introduzione ai device Sun SPOT 

Mixing VR input and a Sun SPOT
Come costruire l'interfaccia per la mano 

Minority Report interface with Sun SPOT
Una dimostrazione pratica con Looking Glass

mercoledì ott 17, 2007

Il ritorno dei linguaggi "scripting": dal BASIC al JavaScript?

La diffusione di Internet ed in modo particolare del World Wide Web (WWW) sta portando ad un ritorno dei linguaggi scripting (quelli che un tempo erano più semplicemente chiamati "interpreti"): i più diffusi sono JavaScript, Perl, PHP, Python e Ruby. Un tale interesse per i linguaggi "dinamici" (come anche sono definiti) non si vedeva dai tempi della diffusione del BASIC nei personal computer degli anni '80. Allo stesso tempo il Web è diventato la piattaforma target di riferimento per lo sviluppo di applicazioni ed in particolare di interfacce grafiche.

I Sun Labs hanno analizzato questo fenomeno ed hanno creato un ambiente di sviluppo web "dinamico" chiamato "Lively Kernel" che è costruito utilizzando solo JavaScript. Il risultato, da considerarsi un prototipo e non un prodotto finito, è accedibile qui e questa è una schermata di esempio:


martedì ott 09, 2007

Il DTraceToolkit è stato aggiornato

E' disponibile la versione 0.99 del DTraceToolkit (la precedente era la 0.96) che incrementa notevolmente il numero di script e di esempi forniti. Il DTraceToolkit è un archivio di script che permette di utilizzare con semplicità le funzionalità di tracciamento dinamico del framework DTrace, anche senza conoscerne i dettagli tecnici. Gli script sono raggruppati in differenti directory in base alla tematica, mentre nella directory principale sono inclusi quelli più utili e "general purpose". Particolare focus in questa release è stato dato agli gli sviluppatori, i linguaggi supportati per il monitoraggio sono C/C++, Java, JavaScript, Perl, PHP, Python, Ruby, Tcl.

Maggiori informazioni sul blog di Brendan Gregg e sul repository del DTraceToolkit sul sito della comunità OpenSolaris.

giovedì ott 04, 2007

Una soluzione di Enterprise Service Bus completa ed open source

Come mostrato la scorsa settimana ai Sun Tech Days di Roma e Milano vi è grosso interesse per creare una piattaforma completa ed open source per il disegno e l'implementazione di un Enterprise Service Bus (ESB).

I prodotti cardine della piattaforma sono:

  • NetBeans, l'ambiente di sviluppo grafico
  • GlassFish, l'Application Server Java Enterprise Edition (altre info qui)
  • Open ESB, il bus di integrazione

La versione completa di NetBeans 6.0 (ad oggi in beta, la versione finale è attesa per fine novembre) include già tutto il necessario per testare l'editor visuale BPEL e le altre funzionalità. Alcuni esempi di utilizzo del tool in ambito SOA si possono trovare qui:

 

La comunità open source ha inoltre reso disponibili una serie di connettori per gli ambienti più disparati (come CICS, CORBA, DCOM , ecc.):

About

Un diario digitale sui miei interessi: Internet, Solaris, Java, Fotografia, ecc.

Search

Archives
« aprile 2014
lunmarmergiovensabdom
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today