Mobile Unix Project !

« Older   Newer »
 
  Share  
.
  1. dengel
        +1   -1
     
    .

    User deleted


    Cito l'amico "The Scorpions" from MotoRazr

    Mobile Unix Project

    Concessione del post direttamente dal sul creatore .

    "io faccio sempre le cose come si deve"

    Questo post nasce dall'idea di dare merito a un progetto possibile ma fino ad ora immaginabile, avere il sistema operativo LINUX sul cellulare, per questo ringrazio
    fedelmente il sito originario " Mobile Unix" e il creatore Thomas Bertani per questo post.

    image




    Documentazione MobileUnix
    by Bertani Thomas

    Introduzione:

    MobileUnix è un sistema operativo Unix-like funzionante su qualsiasi
    dispositivo che dispone di una Java Virtual Machine. E' stato pensato per
    l'utilizzo su cellulari e PDA, per permettere a tutti di portarsi ovunque i propri
    file e di espandere le capacità di questi dispositivi, ma funziona senza
    problemi anche all'interno del browser, con adegi Javamulatori di Java Virtual
    Machine, e su computer tramite un emulatore come MidpX.
    -------------------------------------------------------------------------------------------------------
    Permette infatti di manipolare files tramite un terminale Unix-like molto simile
    alla Shell. Questa è spesso l'esigenza di molti professionisti, ma anche di
    normali persone che non vogliono stare mai senza i loro dati. Anche gli
    smanettoni troveranno in MobileUnix un'occasione per avvicinarsi al mondo
    Unix e se già hanno dimestichezza con esso, troveranno un'ottima possibilità
    di svago. Per ampliare le capacità del sistema operativo nativo del cellulare
    intendo ad esempio l'installare applicazioni senza limitazioni (cosa che invece
    viene spesso ostacolata dal sistema operativo che non accetta file jar o sis
    dall'esterno, tramite bluethoot, infrarossi o USB, eccetto che da Internet,
    implicando costi molto alti anche per il download di giochi/applicazioni
    leggere). Inoltre chi si è già affezionato alla filosofia dell'open source, sarà
    anche affascinato dalla possibilità di conoscere ed eventualmente modificare
    il codice sorgente del programma per adattarlo alle sue esigenze (questo è
    possibile grazie alla licenza adottata: la nuova GPL 3).
    -------------------------------------------------------------------------------------------------------
    Al momento sono presenti la maggior parte dei comandi classici caratteristici
    dei sistemi operativi Unix-like, da “ls” e “cd” a “cat” e “df”. Con questi comandi
    è possibile creare, visualizzare e modificare file trasferiti dal computer o creati
    direttamente dall'interno del programma. Sono presenti un kernel e un
    filesystem virtuali che permettono di gestire il sistema come sul computer.
    Si installa come un normale gioco/applicazione inviando il file jar scaricabile
    gratuitamente dalla sezione download del sito ufficiale del progetto
    “http://mobileunix.altervista.org”. Per i cellulari che non hanno la possibilità di
    riceverlo via bluethoot, infrarossi o via cavo è necessario scaricarlo
    direttamente da Internet dal cellulare pagando una cifra che varia in base al
    tuo provider e al tuo piano tariffario.
    Storia del progetto dalla sua nascita ad adesso
    Il progetto lo cominciai a Dicembre 2006. Leggendo su HJ un articolo
    riguardante JS/UIX, mi venne voglia di provarlo: era straordinario e avrei
    voluto portarmelo ovunque. Era da qualche settimana che avevo imparato
    Python, un linguaggio multipiattaforma molto comodo, esistente veramente
    per tutte le piattaforme, perfino per Symbian. Possibile che esisteva solo per
    Symbian e non per tutti i cellulari?? Io ero tagliato fuori visto che il mio Sony
    Ericsson T630 è fornito di un sistema operativo proprietario. Navigando alla
    ricerca di un interprete Python per J2ME (che non esisteva) mi imbattei per
    caso in un interprete Basic per J2ME: MobileBasic. Dopo averne scaricato il
    trial lo provai: funzionava!! Assomigliava molto al vecchio BwBasic. Mi misi a
    smanettare un po' e scoprii che di utile c'era poco: bisognava inserire i
    comandi senza utilizzare il T9 in quanto il metodo per l'input non dipendeva
    dal cellulare ma era stato implementato dal programma per avere una grafica
    più “carina” (ma ovviamente anche più pesante), il risultato era che per
    scrivere un breve programma per chiedere il nome e scrivere “ciao “+nome ci
    volevano 10 minuti. Cercai in giro qualcosa di più decente (anche se
    MobileBasic aveva il suo fascino...), ma scoprii, grazie a Federico Scrinzi, che
    MobileBasic esisteva anche per computer. Appena mi chiamò per dirmelo io
    gli risposi “In che seso? A che serve una console Basic antiquanta per pc
    quando c'è molto di meglio in giro?”. Mi disse che è un compilatore che
    permette di programmare software J2ME in Basic. Io conoscevo il Basic. Ma
    che me ne facevo di un compilatore se non avevo nulla da programmare?
    Allora pensai “Ehi, ma se Python per J2ME non esiste, perchè non lo faccio
    io? Dopotutto sarebbe anche ora di cominciare a fare qualche software utile
    invece che continuare a utilizzare software di altri.”. La notte dopo quella
    chiamata di Fox, cominciai a fantasticare e pensavo a tutto quello che avrei
    potuto fare con quel gioiellino (che qualche mese più tardi avrei odiato a
    morte). Mi vennero mille idee. Forse realizzarle tutte era troppo complicato e
    difficile da gestire, ma tutte quelle idee insieme mi sembrarono come molti
    pezzi che uniti formano un puzzle, un puzzle fantastico. Forse avrei potuto
    unirle con qualcosa. A Natale mi venne l'idea di utilizzare una colla un po'
    strana.
    In realtà all'inizio avevo pensato di fare una linea di comando Dos, ma dopo
    pensai che forse era meglio fare qualcosa di più avanzato e affascinante.
    All'inizio lo chiamai MobileLinux e non erano altro che poche decine di righe
    di codice Basic che servivano a poco (a nulla), ma mi aiutarono a prendere
    dimestichezza con il compilatore. Ben presto mi resi conto che il lavoro
    sarebbe stato molto lungo e che probabilemente non sarei riuscito a
    completarlo perchè mi sarei stancato prima (come spesso accadeva con gli
    altri miei progetti).
    Chiamai Fox e gli parlai di MobileLinux (non che guardato al microscopio
    fosse lontanamente simile a un millesimo di Linux), qualcosa mi fece pensare
    che mi credeva pazzo o meglio senza speranze. L'importante è che decisi di
    continuare (forse per dimostrare a Fox che non ero pazzo, o forse, più
    probabilemente, perchè ogni volta che ero lontano da casa sentivo la
    mancanza della Shell). A fine Gennaio avevo finito la prima versione, la 0.1.0.
    La struttura non era il massimo e quasi nessun comando funzionava senza
    mandare in crash il programma, il solo che funzionava quasi sempre era “cd”.
    Ma serviva a poco spostarsi fra le cartelle virtuali (si basava tutto su un unico
    file contenete il dump) se non c'era niente al loro interno. Poco dopo nacque
    la 0.1.1, già più stabile o meglio, meno instabile. Il comando “echo”
    funzionava così come “>”: si poteva finalmente scrivere del testo all'interno di
    file. La gestione dei file e delle cartelle all'interno di un unico file era però
    molto lenta e scomoda: con la 0.2.0 cambiò tutto (anche il nome che divenne
    MobileUnix). Ora c'era un file ef (elenco file) contenete l'elenco di tutti i file
    con il loro percorso assoluto, questo permetteva di far conoscere ai comandi
    “cd” e “ls” la presenza di file e cartelle. Ogni file veniva inoltre veramente
    creato come RMS e venne così definita la struttura del filesystem. Le
    sucessive versioni dalla 0.2.1 alla 0.2.8 furono un continuo miglioramento con
    fissaggio di bug e aggiunta di nuovi comandi. La 0.3.0 fu un grande passo
    avanti: tutti i comandi funzionavano, ma si cominciava a sentire l'esigenza di
    dare di più: le capacità di programmazione di MobileBasic erano già al limite
    e MobileUnix cominciava a sembrare troppo pesante e poco compatibile (il
    mio cellulare era tagliato fuori...). Ci si stava allontanando troppo dal
    problema principale: avere un programma compatibilie con tutti i cellulari,
    nessuno doveva essere “tagliato fuori” e tanto meno io!! In quel periodo
    cercai un compilatore più adatto alla mie esigenze (conoscevo Java troppo
    poco per programmare un software che stava diventando ogni giorno più
    complesso). Trovai MidletPascal. Era un compilatore Open Source (ecco
    quale fu il mio primo pensiero: “Evvai!! Non dovrò più crackare i file jar di
    MobileUnix!!”... questo perchè MobileBasic costa una cifra che non si merita
    e, non esistendo crack per MobileBasic in rete, me ne feci una io... Forse
    questo non dovevo dirvelo, ma tanto l'ho usata solo a scopo personale...
    MobileUnix senza quella mia crack (che doveva poi essere eseguita
    manualmente con un editor esadecimale) non sarebbe mai nato) che
    permetteva anche di ampliare in Java le capacità dell'emulatore stesso. Era
    perfetto. Quando mi resi conto che MobileBasic in realtà non compilava il
    codice Basic in Java, ma lo eseguiva ogni volta con un apposito programma
    J2ME (che somigliava molto a MobileBasic per J2ME), mi spiegai molte cose.
    MidletPascal invece compilava realmente il codice. Ci avrei guadagnato sia in
    dimensioni e sicuramente anche la velocità sarebbe migliorata parecchio.
    Ma MobileUnix v0.3.0 aveva già Python e una grafica minimale: le righe
    Basic erano circa 2000, non pochissime. Proprio per questo motivo ci vollero
    circa 2 mesi per convincermi (o meglio obbligarmi) a riscrivere MobileUnix da
    capo in Pascal. Era estate e persi accidentalmente tutti i miei dati non per
    colpa mia: ringrazio il professor Bruschetta per avermi fatto perdere
    CONTRO LA SUA VOLONTà i dati accumulati in oltre 2 anni di lavoro e
    perciò anche MobileUnix, MobileBasic, crack, ecc.. Ovviamente non ci fu
    verso di recuperarli. MobileBasic era su Internet, sul sito del progetto, ma il
    sorgente?? MobileUnix era sempre stato distribuito sotto la licenza Creative
    Commons e il codice lo inviavo per email a richiesta e nessuno si era mai
    interessato a riguardo. Nessuno aveva il codice sorgente di MobileUnix,
    tranne che un hard disk esterno, fonte della disgrazia, che si era rotto. I dati
    non si potevano più recuperare e quindi MobileUnix non lo potevo continuare.
    Avevo troppe idee da realizzare e alle centinaia di persone che avevano
    scaricato le ultime versioni non potevo certo dire “stop!! MobileUnix è morto
    perchè ho perso i sorgenti”. Dovevo riscriverlo da capo. Ci misi un mese a
    riscriverlo in Pascal, le righe erano molte meno perchè decisi di non scrivere
    codice inutile. Il risulatato fu una nuova versione, molto più stabile della
    precedente, pesante 30 Kb in meno e veloce 7 volte di più della 0.3.0 . Ne
    era valsa la pena. Era la versione 0.4.0 . La gente cominciava a parlare di
    MobileUnix in diversi forum già da pua…Çhe mese, leggendo i loro post capii
    che erano soddisfatti d che non stavo lavorando per niente. Nella 0.3.0 in
    realtà avevo già trovato il modo di realizzare il mio programma-sogno:
    l'interprete Python, in realtà era molto più difficile del previsto e il risultato fu
    un interprete Python minimale che in realtà serviva a poco. Nella 0.4.0 non
    avevo messo né Python né la GUI minimale che c'erano invece nella 0.3.0,
    perchè non li misi? Perchè non mi piacevano... Iniziai a lavorare alla 0.4.1.
    L'avevo finita già a fine Agosto, ma preferii rispettare il calendario che avevo
    prefissato e infatti la rilasciai a fine Settembre. Tutto Settembre lavorai alla
    grafica e a Python. Python questa volta è venuto bene, molto meglio di quello
    nella 0.3.0, tanto che ora permette di creare veri e propri software aggiuntivi
    in MobileUnix. La grafica ora mi piaceva, e piaceva ai miei amici (erano stati
    loro a dirmi che quella precedente non era molto bella, in realtà si espressero
    in modo meno elegante dicendo che faceva skifo).
    La grafica non sapevo come chiamarla: tutti programmi che integrano in un
    sistema una GUI hanno un nome (Kde, Gnome, Seal, ecc.). In quei giorni
    ritrovai per caso dei fogli che avevo scritto circa 3 anni fa, in terza media, sui
    quali avevo preso degli appunti riguardanti alcune mie idee per una grafica su
    cellulari (che non avevo realizzato perchè non ne avevo le capacità). Che
    dire,iva unrviva un nome e lì il nome c'era: FreeX.
    Il 29/11/2007 ho rilasciato, in occasione del mio sedicesimo compleanno, la
    0.7.0.
    Questa è la storia di MobileUnix dalla sua nascita fino ad adesso.
    PXDF
    Per sincronizzare la sessione del cellulare col computer e viceversa è stata
    adottata una tecnica (quella dell'import/export del dump) utilizzata anche da
    JS/UIX. In pratica è molto semplice: basta esportare i comandi con il
    comando 'de' e trasferire sul pc il dump che se importato con uno dei 3 script
    PXDF_Sync a disposizione creerà i file di partenza, per importare basta
    creare il dump dei file con PXDF_Sync e importarlo in MobileUnix con
    l'apposito comando 'di'.
    Python
    Che dire? Python c'è dalla versione 0.7.0, ma, come molti di voi avranno
    notato, è ancora un beta e c'è ancora molto da lavorare per raggiungere la
    qualità di interpreti quali quello di Python per Symbian (però MidletPython
    funzia su tutti i modelli di cellulare!!).
    Le funzioni principali sono al loro posto e sono presenti anche moduli per
    lavorare sui file.
    MobileServer
    E' un software server, come Apache (ma moooooooooooooooolto più
    elementare), che serve a... a che serve? Bhè a utilizzare il cellulare come
    server ;-D . Necessita però di appoggiarsi su un server esterno.
    Funziona così:
    1-copiate i file php che trovate nella sezione download/mobileserver sul sito
    ufficiale di MobileUnix nella radice di un sito www.sito.it
    2-settate la variabile d'ambiente “localhost” a “www.sito.it” con il comando
    “set localhost www.sito.it”
    3-avviate mobileserver con il comando “ms”
    4-ora chiunque andrà a visitare www.sito.it, potrà consultare i file presenti
    nella cartella /srv di MobileUnix. Ad esempio andando su
    www.sito.it/prova.html , vi verrà visualizzato il contenuto del file
    /srv/prova.html contenuto in MobileUnix.
    Può servire anche solo per inviare al computer un file creato da MobileUnix...
    Solo una cosa: occhio a quanto vi viene a costare perchè dipende da gestore
    a gestore, ma talvolta i prezzi per la connessione internet dal cellulare sono
    veramente esagerati. Se volete solo provarlo per curiosità vi consiglio di farlo
    con un emulatore come MidpX sul PC.
    MobileSuperTux
    MobileSuperTux non è altro che il celebre gioco SuperTux completamente
    riscritto in Java per permettere di utilizzarlo anche sui cellulari. La prima
    versione è stata scritta in fretta e furia e lo si può notare dal fatto che il file jar
    finale di MobileUnix 0.7.0 pesa molti Kb in più rispetto alla precedente
    versione.
    Non ho avuto tempo di scrivere anche i livelli, anche perchè è tutt'altro che
    facile. Se qualche volontario volesse collaborare creando i livelli basta
    contattarmi a [email protected] .
    La grafica è identica a quella del gioco su PC e le immagini sono state prese
    tali e quali da questo perciò criticatelo quanto volete, ma evitate di dirmi che
    la grafica del gioco fa schifo (anche perchè secondo me non è affatto vero).
    Latency
    Il comando “latency”, presente dalla versione 0.7.0, permette di calcolare
    NON la potenza del cellulare, ma la velocità di esecuzione di MobileUnix.
    Questa non dipende solo dalla potenza del cellulare, ma anche della qualità
    della Java Virtual Machine che esegue il software.
    Vorrei parlarvi ancora di molte cose e approfondirne altre, ma il tempo a
    mia disposizione è finito. Questa documentazione deve essere
    completata, ma viste le tante persone che me la richiedono, preferisco
    rilasciarla subito.
    Sicuramente verrà continuata.

    Qui sotto vi allego i vari Download:

    Mobile Unix 0.7.0 ultima versione

    Documentazione gia sopracitata in formato PDS

    Mobile Server

    Pxdf create
    Pxdf extract
    Pxdf syncr



    Spero di avere fatto cosa gradita sia all'autore che al Forum.


    Thanks "The Scorpions" from MotoRazr
     
    Top
    .
0 replies since 25/12/2007, 12:33   1478 views
  Share  
.