2008/05/06 16:58:48.409 GMT-4

Moonlight Effect

Niente a che vedere con la licantropia ma, piuttosto, con i sani effetti della concorrenza (da parte di Silverlight e del suo gemello Moonlight)  che si fanno sentire anche in casa Adobe:
Adobe is announcing the Open Screen Project today. The press release mentions that it deals with "driving rich Internet experiences across televisions, personal computers, mobile devices, and consumer electronics." However, I can guarantee that the part of this announcement that will be of most interest to Linux/open source fans is likely to be these items
Ovvero, piu' in concreto:
- Removing restrictions on use of the SWF and FLV/F4V specifications
- Publishing the device porting layer APIs for Adobe Flash Player
- Publishing the Adobe Flash® Cast™ protocol and the AMF protocol for robust data services
- Removing licensing fees - making next major releases of Adobe Flash Player and Adobe AIR for devices free

Introducendo una semplice, ma fondamentale, differenza nel rapporto tra Flash e le sue  implementazioni open-source:
Flash uses the SWF binary format to deliver vector graphics, text, video, and sound. The related FLV/F4V media container formats are often used separately by webcasters such as YouTube, Yahoo! Video, and many others. But, while SWF and FLV specifications have been published since 1998, associated license agreements said developers could use this information only to create software that could output the formats. In other words, you could create tools that wrote SWF formats, but were not allowed to create a player. As of today, this limitation has been scrapped, and developers now are free to indulge in SWF playback.

Posted by: swarzy.2008/05/06 16:58:48.409 GMT-4
Tags: silverlight novel adobe open-source flash moonlight microsoft | Permalink

2008/05/06 15:52:52.117 GMT-4

Pycon Due

Contrariamente a quanto auspicato nel post dedicato al Pycon Uno, mi sa' che quest' anno saro' costretto a saltare l' appuntamento, previsto per questo fine settimana, con il Pycon Due.

Ho aspettato fino all' ultimo prima di prendere una decisione al riguardo, ma sono troppo indietro col lavoro da potermi permettere 3 giorni di "pausa":

sara' per il prossimo anno... e speriamo che anche questa volta siano resi disponibili i video degli interventi.

Posted by: swarzy.2008/05/06 15:52:52.117 GMT-4
Tags: python python-italia pycon-due pycon firenze | Permalink

2008/05/05 18:36:31.444 GMT-4

Stroustruppen (1)

Ovvero le disavventure di un programmatore Python alle prese con il C++.

Versione Python

offset = 10
length = 100

for i in range(-offset, length - offset): print "lavoro sull' indice", i

Versione C++

#include <iostream>

int main(int argc, char** argv)
{
unsigned offset = 10;
unsigned length = 100;

for (int i=-offset; i < length - offset; i++)
  std::cout << "lavoro sull' indice " << i << std::endl;
}

domanda

perche' la versione C++ non stampa nessun messaggio?

suggerimento

ma che cast vuoi?

Posted by: swarzy.2008/05/05 18:36:31.444 GMT-4
Tags: python programmazione cpp cazzeggio | Permalink

2008/04/01 14:41:09.501 GMT-4

Nokia ed il WiMAX: N810 wme

Da parecchio tempo si sapeva dell' interesse di Nokia nei confronti del WiMAX, in particolare si era gia' saputo che aveva intenzione di realizzare un dispositivo in collaborazione con Sprint Nextel e che su tale dispositivo sarebbe stato dotato di una piattaforma software basata su Linux.

Adesso apprendiamo da TabletBlog che c'e' stata la conferma ufficiale da parte di Nokia:
Il dispositovo in questione e' l' N810 WiMAX Edition (WME)
Si tratta della seconda revisione del "Internet Tablet" della serie N800 (derivata a sua volta dalla N700) e basata sull' ottima piattaforma Maemo Linux (riguardo alla quale non mi dilungo piu' di tanto in quanto ho intenzione di scriverci uno o piu' post dedicati). 



A questi link potete trovare:
All' evento, ovvero la realizzazione del primo dispositivo WiMAX, Nokia ha dedicato un Podcast con Ari Virtaten che contiene alcuni interessanti dettagli e che riassumo  schematicamente  di seguito:
  • Nokia believe in a so called "Open Internet Model": people can connect to Internet using what device/connection/services they want to use and  WiMAX seems enable this model extremely well;
  • Same device with same hardware/capability as N810 plus WiMAX capability added: working at freq. 2.5 GHz with an expected data rate of 2 to 4 MBit/s;
  • Benefits of WiMAX capabilities: people can use the device in more places (in a range of 2 to 3 miles from the antenna);
  • Software improvements: email application, WiMAX over the air activation (integrated in connection manager);
  • Initial Availability:  in US Only (where WiMAX is available) in summer of 2008 should be NOT an exclusive of XHOM (Sprint Nextel);
  • Price: expected to be similar to the existing N810.

Posted by: swarzy.2008/04/01 14:41:09.501 GMT-4
Tags: n810 nokia maemo wimax linux wme | Permalink

2008/03/30 14:27:32.753 GMT-4

Handhelds.org VS GPE: fine primo round

Ci sono le prime novita' riguardo la disputa tra Handhelds.org e LinuxToGo:

nel blog di Florian Boor ci viene segnalato che l' USPTO ha rigettato la richiesta, formulata da parte di Handhelds.org, di trademark sul nome GPE.

Sicuramente una buona notizia, anche se, prima di sapere come andra' a finire il match, bisognera' aspettare la fine degli altri round;

ovvero le altre richieste di trademark sui nomi OPIE, ipkg, ecc…

Posted by: swarzy.2008/03/30 14:27:32.753 GMT-4
Tags: linux embedded gpe handelds angstrom familiar openembedded | Permalink

2008/03/26 13:47:13.379 GMT-4

OpenMoko riscrive il concetto di navigatore satellitare

Stanchi dei soliti navigatori satellitari?
bhe', allora non vi preoccupate, perche' una nuova generazione di navigatori satellitari potrebbe presto venire alla ribalta..

e non sto parlando dell' ennesimo dispositivo GPS, che e' sempre meno distinguibile da palmare o da uno smartphone e che non aggiunge niente alle ormai consolidate funzionalita' standard dei sistemi di navigazione GPS:

sto parlando di un dispositivo pensato per soddisfare le necessita' di chi si trova ad affrontare un viaggio e che, oltre all' indicazione della rotta da dovere seguire, vuole anche essere informato su tutte le opportunita' che si possono venire a trovare durante il percorso.

Dash Express

Ovvero un navigatore satellitare derivato dal progetto OpenMoko che aggiunge al design originale del Neo FreeRunner un antenna e un ricevitore GPS migliorati.

Ma, soprattutto, sfrutta in maniera ottimale tutte le opportunita' offerte da una piattaforma hardware che integra il sistema GPS con la connetivita' offerta dal Wifi e dal modem GPRS;
ed i risultati sono mostrati nei seguenti video:

Purtroppo, come spiegato nelle FAQ, il prodotto e' per il momento commercializzato solamente sul mercato statunitense:

anche se, essendo basato in larga parte su hardware per il quale e' gia' esistente sia del software funzionante che la opportuna documentazione, non si puo' esculdere una futura versione community  based che ne estenda le funzionalita' rendendone possibile l'utilizzo anche nel resto del paesi.

Per approfondimenti:

Posted by: swarzy.2008/03/26 13:47:13.379 GMT-4
Tags: fic dash-express openmoko gps | Permalink

2007/08/20 12:44:48.658 GMT-4

EmbedDB

In questo periodo sto sviluppando EmbedDB:
un object database, che intendo utilizzare in alcuni progetti ai quali sto lavorando.
I requisiti che stanno alla base del design di EmbedDB sono:
  • compatibilita'  con un utilizzo in ambienti embedded come smartphone, palmari e tabletPC;
  • interfaccia di I/O in XML;
  • facilita' di estensione e di personalizzazione;
  • supporto per diversi backend;
  • supporto multipiattaforma (almeno per WinCE/PocketPC e Linux).
Attualmente ne esiste una versione funzionante scritta in Python che utilizza SQLite  come backend.

Questa versione di EmbedDB viene attualmente utilizzata da Enumera (un software per la catalogazione di beni mobili)  ed e' abbastanza performante da potere essere tranquillamante utilizzata da un palmare.

Prevedo di realizzare delle altre versioni di EmbedDB da potere utilizzare anche in altri progetti ed, in particolare, nella nuova release di Axil, nella quale dovrebbe andare a svolgere il ruolo attualmente ricoperto da Axiom.

Nella attuale fase di sviluppo mi sto occupando del miglioramento del supporto di SQLite nella versione esistente di EmbedDB:
il punto sul quale sto concentrando gli sforzi e' l' eliminazione dell' utilizzo di pysqlite o APSW per l' interfacciamento tra Python ed SQLite.
E' infatti necessario utilizzare un interfaccia che consenta di aggirare le limitazioni, dovute all' utilizzo di tali librerie, nell' interazione con il database, in quanto non permettono di avere accesso a le funzionalita' piu' a basso livello del backend.

A tale scopo sto cercando di definire una interfaccia Python ad SQLite, basata sulle librerie (oramai incluse di default nella versione 2.5 del linguaggio) ctypes, che consenta di avere un accesso a tutte le funzionalita' messe a disposizione dal database senza rinunciare ad un layer software che permetta di astrarre da tutti quei dettagli che l'originale interfaccia C espone.

EmbedDB e' un progetto a lungo termine i  cui sviluppi futuri di prevedono:
  • una riscrittura (totale o parziale)  in C del codice Python;
  • l' aggiunta di un supporto ad altri backend come, ad esempio, QDBM o Tokyo Cabinet.

Posted by: swarzy.2007/08/20 12:44:48.658 GMT-4
Tags: xml sqlite python linux embeddb tokyo-cabinet orm ctypes wince odb qdbm pocketpc | Permalink

2007/08/08 10:17:32.977 GMT-4

Eclipse (con Pydev e Subclipse) su Festy (x386) HOWTO

L' unica applicazione Java di cui faccio  un' utilizzo  regolare (escludendo, ovviamente, gli  eventuali utilizzi lato server di cui non sono consapevole) e' Eclipse; e per un semplice motivo:

trovo che sia  l' unico modo per avere un ambiente di sviluppo multi-piattaforma e multi-linguaggio che sia facile e funzionale.

Infatti credo che sia l' unico IDE che:
  • consente di avere lo stesso identico ambiente di lavoro tra diverse macchine e sistemi operativi;
  • fornisce una sterminata serie di plugin che consentono di estenderne notevolmente le funzionalita' e che , una volta che si impara ad usarli correttamente,  risultano essere molto utili e ben fatti; tra questi ci sono sicuramente Pydev e Subclipse.
Bisogna, purtroppo, ammettere che Eclipse ha sempre avuto dei problemi di integrazione con Linux:
  • inizialmente per via della mancanza di una virtual machine abbastanza "performante";
  • poi perche' alcuni plugin non funzionano correttamente su  alcune delle piattaforme  hardware su cui si puo' trovare Linux (per es. Subclipse su Amd64 o PowerPC);
  • infine per via di alcuni bugs presenti in  GCJ, ovvero il software, utilizzato di default su alcune distibuzioni Linux, per eseguire Eclipse.
Quest' ultimo e' il caso di che si presenta quando si cerca di usare Eclipse su Ubuntu 7.04 Festy:
tutto sembra funzionare correttamente per i primi 5 - 10 minuti di utilizzo finche', improvvisamente, l'applicazione si pianta, cominciando ad utilizzare in maniera eccessiva il processore, per cui se ne rende necessaria la terminazione forzata.

Per risolvere questo problema bisogna cambiare l' ambiente nel quale viene, di default, eseguita di l' applicazione; per fare cio' e sufficiente realizzare i seguenti passi:
  1. installare installare un  JRE affidabile come, ad esempio,  quello contenuto nel package sun-java6-jre;
  2. selezionare tale JRE come quello di default, tramite il comando (da root/sudo):
    • update-java-alternatives java6-sun;
  3. impostare nel file ~/.eclipse/eclipserc la variabile JAVA_HOME in modo da rispecchiare il cambiamento effettuato; nel esempio in questione,  si dovra' aggiungere a tale file la righa :
    • JAVA_HOME="/usr/lib/jvm/java-6-sun/jre/"
  4. eseguire (da root/sudo) i seguenti comandi:
    •  mkdir -p  /usr/local/lib/eclipse/
    • touch /usr/local/lib/eclipse/.eclipseextension
    • chmod 2775 /usr/local/lib/eclipse/.eclipseextension
    • chown root:staff /usr/local/lib/eclipse/.eclipseextension
  5. poi, se si vuole installare correttamente Pydev, eseguire (sempre da root/sudo) anche i seguenti:
    • mkdir -p /usr/lib/eclipse/plugins/org.python.pydev.jython_1.2.5/cachedir/packages
    • chmod a+rwxt /usr/lib/eclipse/plugins/org.python.pydev.jython_1.2.5/cachedir/packages
Infine un piccolo consiglio per tutti coloro che, usando Subclipse, si sono arenati davanti ad un messaggio del tipo:
svn: Commit failed (details follow):
svn: Out of date: '<copia locale>' in transaction '<transaction>'
pensando che fosse un bug del plugin.
Non e' un bug ma un semplice disallineamento tra la versione presente nel repository SVN e la versione locale:

 per risolvere il problema basta effettuare un "update".

Posted by: swarzy.2007/08/08 10:17:32.977 GMT-4
Tags: turion java amd64 python subclipse 64bit eclipse powerpc 32bit ubuntu x386 pydev festy | Permalink

2007/06/11 20:37:27.884 GMT-4

Pycon Uno

Questo fine settimana sono stato al Pycon Uno, ovvero la prima conferenza italiana dedicata a Python, che si e' tenuta a Firenze:
e' stata sicuramente un' esperienza entusiasmante che non vedo l'ora di ripetere.
E' stato, infatti, molto  stimolante  condividere insieme ad una vasta platea (circa duecento partecipanti) di appassionati il susseguirsi degli interventi in programma tutti molto interessanti:
durante i due giorni in cui si e' articolata la conferenza, mi e' capitato abbastanza di frequente di trovarmi a dovere decidere quale, tra i due interventi che si tenevano in contemporanea, avrei dovuto seguire. 
Ognuno dei talk ai quali ho assistito meriterebbe un post a parte; per cui, per il momento, mi limito a citarne brevemente alcuni:
  •  il keynote di Alex Martelli sugli approcci che e' possibile utilizzare nell' affrontare le problematiche che si presentano durante la gestione dello sviluppo di grossi progetti software. I concetti esposti sono, grossomodo, quelli contenuti in questo post;  il tutto condito con interessanti particolari che derivano dalla sua decennale esperienza ed in particolare  da quella, piu' recente, di "Uber Technical Leader" in Google.
  • il talk sull' utilizzo di Python nella gestione dei test degli strumenti di misura di uno dei futuri rilevatori di sorgenti di Raggi-Gamma che verra' utilizzato in futuro dalla NASA;
  • il talk sul progetto PyPy, tanto interessante dal punto teorico, quanto pieno di potenziali ricadute pratiche immediate, che mira a sviluppare un ambiente che consente la  facile realizzazione di interpreti ottimizzati per l' esecuzione di dialetti del linguaggio Python;
  • il keynote sull' utilizzo di Python come linguaggio di programmazione principale nella realizzazione del software del famigerato OLPC;
  • il talk sul Python 3000, che ha mostrato una panoramica su tutte le novita' che ci attendono nella nuova release del linguaggio; 
  • e tutti quegli altri talk, come quello sulle estensioni alla DB-API 2, quello su SQLAlchemy o quello su Genropy, che sono stati interessanti per avermi fatto conoscere nuove modalita' di applicazione di Python nella risoluzione di vari problemi.
Per cui mi sento in dovere di ringraziare gli organizzatori della conferenza, ovvero l' associazione Python Italia, ai quali va riconosciuto il merito di avere saputo organizzare l' evento in maniera ottimale.

Posted by: swarzy.2007/06/11 20:37:27.884 GMT-4
Tags: python python-italia pycon firenze pycon-uno | Permalink

2007/06/07 12:03:22.592 GMT-4

Handhelds.org VS GPE

In questo periodo mi sto occupando di sviluppo di applicazioni sul palmari e, per l' esattezza, mi sto occupando di sviluppo su palmari in ambiente Linux/GPE (G Palmtop Environment).

Sfortunatamente sembrerebbe che io abbia scelto il periodo sbagliato per lavorare con GPE:
infatti per potere sviluppare in maniera ideale, ovvero serenamente e senza inutili complicazioni, con una data tecnologia si dovrebbe avere a disposizione una ambiente di riferimento il piu' possibile stabile ed aggiornato; e si dovrebbe,  magari, poter contare anche sul supporto di una comunita' di sviluppatori affiatati e collaborativi.
Di solito tutte queste caratteristiche sono presenti in ogni progetto open-source di successo, ma, purtroppo, non si puo' certo dire che questa sia la situazione in cui si  trova il progetto GPE in questo periodo.

Infatti, e' attualmente in corso una specie di faida (con risvolti che sfiorano il grottesco) tra due distinte comunita' GPE:
Tutti gli sviluppatori GPE sono migrati sul sito LinuxToGo.org che supporta, sostanzialmente, anche la comunita' di sviluppatori legati alla distribuzione Angstrom e di OpenEmbedded (ovvero il toolchain per la cross-compilation su cui sono basate molte  delle versioni embedded di Linux tra cui entrambe le distrubuzioni Familiar e Angstrom).

Handelds.org, cercando di opporsi a tale "migrazione", evidentemente non gradita, sta conducendo una battaglia tutta improntata alla difesa formale del "marchio GPE" senza, tuttavia, essere in grado di garantire un  qualche tipo di futuro, in termini di capacita' di sviluppo e di supporto del software oggi esistente, al "progetto GPE".

La situazione, purtroppo, sembrerebbe essere oramai completamente degenerata:
ed e' sinceramente un tipo di spettacolo al quale non avrei mai pensato di dovere assistere all' interno di un' ambiente, solitamente molto piu' collaborativo, come quello delle comunita' di sviluppo open source.

Chi fosse interessato ad avere ulteriori dettagli sulla spiacevole faccenda puo' dare un' occhiata a questo articolo su Linux.com oppure ai post dei blog (sia quello del sito del progetto GPE, che quelli di alcuni degli sviluppatori) che trattano dell' argomento:

Posted by: swarzy.2007/06/07 12:03:22.592 GMT-4
Tags: linux embedded gpe handelds angstrom familiar openembedded | Permalink | Comments (2)