Free Software, free as in free Soy Latte

Cos’è il nuovo motto di Richard Stallman? No, semmai uno dei più lampanti significati di quello che va predicando da così tanti anni ormai.

La storia è questa: da tempo, così come James Gosling fa notare nel suo blog, la Apple non ha voluto che fosse la SUN a fare il porting di Java ma lei stessa perchè ci tiene ad integrare a perfezione Java all’interno del suo sistema operativo in modo che il look and feel sia garantito ed in modo da sfruttare tutte le caratteristiche del sistema operativo. Il problema è che per quanto riguarda Java su Mac OS X:

  1. la versione 1.6 di Java è uscita da così tanto tempo che mi meraviglio non sia già uscita la 1.7;
  2. esiste una versione 1.6 Developer Preview a cui manca quasi tutto di quello che la 1.6 dovrebbe avere
  3. il porting potrebbe avvenire solo per Leopard e non anche per Tiger (argh!!)

Si attendeva che Leopard avesse il nuovo Java ma quando nella lista delle 300+ feature del nuovo OS X non si è visto riportare nulla a tal proposito si è gridato da più parti al tradimento, e si è ipotizzata una crisi tra Apple e Sun.
Insomma quando sembrava che non ci fosse più speranza San Riccardo da Stallman è apparso in sogno a tale Landon Fueller indicandogli la retta via.


A questo punto, Landon, risvegliatosi dal sonno mistico esclamo “Fuck, shit, toccu e sangu, why ain’t thought it before?” ricordandosi che, a parte il Mac, Java 1.6 esiste per ogni piattaforma conosciuta FreeBSD compresa (ricordo che il kernel del Mac è proprio ripreso da quello di FreeBSD). Visto che Landon non è proprio l’ultimo degli imbecilli (è un fuoriuscito da Infinite Loop 1, d’altronde e responsabile della correzione di molte delle falle di OS X) si è rimboccato le maniche e nel giro di qualche settimana ha tirato fuori il suo SoyLatte: porting di Java per Leopard e Tiger!!!! E con una virtual machine sia a 32 che a 64bit!! Se non è fantastico tutto ciò…ovviamente il motivo di tanto tripudio è che il giochetto funziona, e pure bene (ma solo sotto X Windows).

Bravo Landon! Evviva il software libero!

Zac

Un’idea da un miliardo di dollari

Volete guadagnare un sacco di soldi? ecco l’idea.

  • Diventate monopolisti del mercato dei sistemi operativi. Fatto? bene.
  • Realizzate un sistema operativo incompatibile con il precedente e stringete accordi con i produttori di PC in modo che includano obbligatoriamente il nuovo sistema operativo su ogni PC che vendono (se siete monopolisti è semplice inoltre, facendo in modo che il nuovo sistema abbia ingenti risorse di hardware, i produttori saranno ben lieti di accettare l’accordo perché venderanno più RAM, più HD, più schede video);
  • Adesso sfruttate l’ignoranza/pigrizia media tipica di chi effettua acquisti in un ente pubblico ed otterrete che verranno comprati i PC col nuovo sistema ma nessuno utilizzerà il nuovo sistema (in quanto incompatibile con i vecchi software) ma utilizzeranno una vecchia versione del sistema (magari pirata o, nel migliore dei casi compreranno un’altra licenza) senza chiedere nemmeno il rimborso di quanto speso per il nuovo. Inoltre, non utilizzandolo, non ci sarà bisogno di mettere in piedi un servizio di supporto tecnico, aggiornamenti di sistema, service pack e così via.

In pratica soldi per non offrire nulla.

CHE IDEA!

Con un pò di sarcasmo è quello che probabilmente sta accadendo in molti enti pubblici italiani dove acquistano nuovi PC con Windows Vista per poi installare Windows XP “tanto abbiamo la versione corporate” ed intanto la Microsoft intasca soldi senza offrire nulla.

E lo stato rimane a guardare (se pure).

Zac

JAVA + Groovy: first encounter

Sto lentamente passando da C++/C# a Java e devo dire che le cose vanno abbastanza bene. Per me che bazzico sempre l’area del “Cutting Edge” le soluzioni attuali sono sempre sorpassate e raramente trovo i tutorial e la documentazione che mi interessa. Per questo motivo vi scrivo la mia esperienza con Java e Groovy insieme. Non è niente di rivoluzionario (e per ora lontano da quell’edge), beninteso, ma solo il racconto dei miei “passi di bimbo” in questo settore.

Groovy è linguaggio che si poggia sulla JVM e in quanto tale può essere utilizzato sia per produrre bytecode Java che per essere incluso come scripting in applicazioni scritte in Java. L’applicazione che sto scrivendo dovrà essere estensibile e quindi ho pensato bene che scrivere un’estensione deve essere un compito facile. Un linguaggio come Groovy permette di scrivere codice in modo molto agile come vedremo. Partiamo da Java. Scriviamo una classe che creiamo una finestra MDI:

package it.keepintech;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class DesktopFrame extends  JFrame
{
   private JDesktopPane theDesktop;
   // set up GUI
   public DesktopFrame()
   {
      super( "Using a JDesktopPane" );
      configureMainMenu();
      theDesktop = new JDesktopPane(); // create desktop pane
      add( theDesktop ); // add desktop pane to frame      
   } // end constructor DesktopFrame
   void configureMainMenu() 
   {
	JMenuBar bar = new JMenuBar(); // create menu bar
	JMenu addMenu = new JMenu("File"); // create Add menu
        JMenuItem newItem = new JMenuItem("New Groovy Window");
	newItem.addActionListener(		
		new ActionListener()
			{
				// display new internal window
				public void actionPerformed(ActionEvent event) 
                                {
					// create a Gform written in Groovy
					GForm g = new GForm();
					theDesktop.add(g);
				} // end method actionPerformed
			}							
		);		
                addMenu.add(newItem); // add new frame item to Add menu		
		JMenuItem exitItem = new JMenuItem("Quit");
		exitItem.addActionListener(		
			new ActionListener()
			{
				public void actionPerformed(ActionEvent event) 
				{
					setVisible(false);
					dispose();
				}
			}							
		);
		addMenu.add(exitItem); // add new frame item to Add menu		
		bar.add(addMenu); // add Add menu to menu bar
		setJMenuBar(bar); // set menu bar for this application		
	}
} 

ovvero una classe per la realizzazione di una finestra in grado di accettare altre finestre e che dispone di un menu che richiama una finestra specificata in un file Groovy (che in questo caso verrà compilato). Per far funzionare il tutto abbiamo anche bisogno di una classe che avvii il tutto:

package it.keepintech;
import javax.swing.JFrame;
public class MainClass {
	public static void main(String[] args) {			
  	    DesktopFrame desktopFrame = new DesktopFrame();  
	    desktopFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
	    desktopFrame.setSize( 600, 480 ); // set frame size
	    desktopFrame.setVisible( true ); // display frame
	}
}

Infine il codice della finestra GForm scritta in Groovy:

package it.keepintech;
import groovy.swing.SwingBuilder 
import javax.swing.JInternalFrame;
public class GForm extends JInternalFrame 
{
	public GForm()
	{	
		super("zac window");
		def swing = new SwingBuilder();
		def panel = swing.panel()
		{
			label("Hello world!")
			button("Press Me")					
		}
		add(panel)
		setSize(300,300)
		pack()
		show()
	}	
}

Per la realizzazione della finestra possiamo utilizzare le solite classi Swing (sfruttando la comoda sintassi di Groovy) oppure le classi SwingBuilder, che consentono di generare componenti swing con una notazione ancora più compatta (come si può vedere nell’esempio). Questa classe la possiamo compilare col groovyc (il compilatore groovy) che ci darà il file .class relativo. Nelle precedenti classi dobbiamo includere, nel classpath la libreria groovy. Quindi abbiamo ottenuto con poco una form personalizzata. Adesso è un pò pochino ma col tempo migliorerà.

Zac

Zac e la libertà di scelta

Zac ne ha fatta un’altra delle sue. Il nostro amico, in pieno stile… “Zac”, ha snocciolato su pollycoke il suo punto di vista riguardo alle relazioni pericolose tra Miguel de Icaza (nda: il padre di GNOME, Mono et al) e Microsoft. Il suo disarmante punto di vista non può che essere condiviso: “se non vi piace, scegliete altro!”
Il punto è: siamo liberi? E allora comportiamoci da persone libere. Ognuno faccia delle scelte senza stare a criticare le scelte degli altri visto che sono liberi anche loro.

Si avvicina l’appuntamento con Le Web 3

Ciao ragazzi, è in avvicinamento l’appuntamento con la quarta edizione di Le Web 3, un avvenimento divenuto obbligatorio per chi è un professionista del web o un esperto di Web 2.0 (e questo ci interessa, vero Salva?).

Quest’anno l’evento è stato organizzato a Parigi nei giorni 11 e 12 Dicembre (magari ci potessi andare!!!), e come sempre è stato fatto in grande stile: si sono iscritti quasi 1000 partecipanti fino ad ora e sono rappresentati oltre 40 paesi!

Per avere più informazioni potete vedere questo link

Alla prossima….
Ciao ciao

Non avete spazio per le foto?

Usate tutto il mondo allora! ho appena scoperto un progetto di cui ignoravo l’esistenza. Si chiama BlueMarine ed è per le foto quello che Eclipse è per i programmatori Java. Una piattaforma Open Source per il lavoro del fotografo digitale che è sopratutto una piattaforma estensibile…e allora vai di tag sulle foto per dire in quale parte del mondo l’abbiamo scattata, per catalogare e fare ricerche di ogni genere ed un calendario per ricordarvi di quando scattaste quella foto…


Con BlueMarine è possibile importare i dati dal GPS per segnare i percorsi fatti sulle mappe dando così una profondità maggiore alla nostra collezione e soprattutto avendo la possibilità di pianificare un viaggio o un’escursione sulla mappa e poi aggiungendo le foto all’occorrenza (yum…quasi quasi una pennina GPS ci vorrebbe proprio). Il progetto è nello stadio iniziale ma è già completo per gestire la propria collezione di photo. In futuro i plugin potranno rendere quest’applicazione molto simile ad Aperture o a Lightroom. Per gli amanti della programmazione dico che i sorgenti sono già pronti ad essere utilizzati con NetBeans. Che aspettate?

Ah dimenticavo di dire che l’autore di cotanta applicazione è italiano: Fabrizio Giudici!!!

Zac

Amazon Kindle: finalmente?

Chissa se il nuovo giocattolino di Amazon di cui parlano tutti i blog ed i giornali sarà il tanto atteso killer della carta stampata. Ancora non lo so ma questo Kindle, in vendita a 399$, è davvero interessante.

Usa un collegamento alla rete di tipo wireless (che, acceso, fa durare la batteria un giorno mentre spento, una settimana). Ha un browser per il web ma pare si colleghi solo a certi blog e a Wikipedia (e ad Amazon, ovviamente), utilizza la tecnologia electronic paper E-Ink®(bianco e nero), riceve la posta (per consentire di visualizzare immagini) e supporta i formati immagine più diffusi ma non il PDF (è possibile convertirli facilmente in MOBI con delle utilities). Si collega automaticamente a speciali siti per scaricare, appena disponibili, i quotidiani usciti. Ed iniziamo con le cose strane…i libri che comprate rimangono memorizzati on line, non sul dispositivo; Amazon si fa carico dei costi di connessione wireless: dicono voi dovete solo scegliere, cliccare e comprare…al resto pensiamo noi….mmmhhh…un motto che ha fatto il successo della Kodak ma che qui sembra un pò dubbio. In pratica utilizzano un network 3G chiamato WhisperNet che vi consente di avere accesso alla rete tramite UMTS…quindi niente rete locale o domestica. Immagino che per essere esportata, tale tecnologia preveda accordi con gli operatori telefonici…se teniamo conto che Amazon non c’è in Italia (siamo secondari rispetto all’Asia, per numero di persone o per ignoranza?) e che gli operatori telefonici italiani non brillano certo per innovazione penso che vedremo questo gingillo solo sui siti web.

Ciò non toglie valore ad un oggetto che dai video sembra usabile, ben ingegnerizzato, piccolo e utile. Forse un pò chiuso sugli standard e sulle potenzialità: il collegamento wireless c’è ma è funzionale all’acquisto/lettura dei libri, quindi non per navigare (e forse meglio se si spera di poter adottare un oggetto simile nelle scuole). Ma che bisogno c’era di non consentire di leggere i propri e-Book in formato PDF di cui la rete è piena? Sui questo link trovate su troverete molti video illustrativi del progetto.

Certo fa specie vedere un oggetto così piccolo che potrebbe soppiantare le decine di chili di libri che i ragazzi devono portarsi a scuola sulle spalle (che chissà com’è nessuno realizza a fascicoli o li suddivide in parti).

Zac

KITelofavedere

Ecco i nostri impavidi eroi che hanno sfidato le serrate dogane inglesi, gli implacabili patch di casa Apple per la sola gioia di mostrare il loro brand new iPhone con lo sfondo più bello che ci sia…ma non è fantastico tutto ciò? Mi piacerebbe sentire il racconto di colui che ha compiuto l’impresa allo store Apple…(nella mia fantasia suona come “Please sir, how can I serve you…” disse il commesso in puro accento londinese…”mena tamme toi te quisti ca me naggiu scire…” rispose coi suoi modi affettati sir John Wisconsin col suo tipico accento del Sud :) ).

Zac

Il primo iPhone avvistato a Lecce

Grazie alla nostra fitta rete di informatori lo staff di KIT è riuscito a mettere le manazze sul primo iPhone avvistato a Lecce. Come le foto possono dimostrare è indubbio che l’iPhone è leccese DOC!


E per i veri fanatici abbiamo realizzato uno sfondo che non potrà mancare sui vostri telefonini apple o sui vostri iPod Touch.

Aspettiamo altre foto/filmati di altri avvistamenti!!

Zac