News,Development Resources,Featured Content

receive news by mail:

Loading SpatialBundles Download list...

[The Road To...] Raccolta di appunti sparsi durante l'avanzamento di SpatialBundle

Martedi 14 Agosto 2007

01:30 A.M.
Con le modifiche apportate a Java6 entra prepotentemente in scena il wrapper per la prima diretta esecuzione di AppRun.
Il wrapper in questione si trova in Linux-ix86/bin e nell'ipotesi più semplice richiama direttamente il binario principale.
Nel caso di Java6 in qualità di suite , il wrapper richiama il pannello di controllo e il JavaWS cache manager per fornire un feedback di base all'utilizzatore.

Dopo la prima esecuzione viene copiato AppRun.desktop in $HOME/Desktop/Broken_Link_You_Can_TRASH_It_$PROGRAMMA.desktop
L'effetto di questa copia è quello di avere un'icona colorata nel caso di cache attiva (il .desktop risolve felicemente contro il $prefix) nel caso che la cache sia stata --free allora compare nel desktop il nome del file .desktop che cerca di essere descrittivo della situazione poco felice con le parole: BROKEN_Link_You_Can_TRASH_It_ioJre6u1-feisty.desktop in questo modo l'utilizzatore osservando un file testo ostile ed il suo nome che lo invita ad essere buttato nel cestino, potrebbe eliminarlo direttamente ripulendo il Desktop di una foglia secca (DEPRECATo nel futuro implemento una soluzione più elegante).
Le parole BROKEN e TRASH sono volutamente poste in maiuscolo tale che l'effetto di Information Foraging permetta di intercettare piu velocemente le parole chiavi dell'invito proposto.
Ricordo che ad oggi l'utilizzo di un file .desktop è DEPRECABILE per l'inconsistenza tra l'oggetto reale ed il metadato.L'utilizzatore puo facilmente scambiare l'uno con l'altro.
Il problema verrà meno quando in futuro sarà possibile incorporare le voci .desktop in script eseguibili.

Quando si esegue uno SpatialBundle .jar questo deve poter accettare in ingresso uno SpatialBundle ioJre tale da poterlo aprire e passargli se stesso come argomento da lanciare.
Questa tecnica permette ai livelli superiori di poter effettuare il drop di un Jar su un ioJre e viceversa.
Un Jar che non trova un ioJre deve aprire una finestra di dialogo per fare scegliere all'utilizzatore lo ioJre voluto e consigliare nello stesso momento la capacita di drop dello ioJre sul Jar. Quest'ultimo dopo il drop prende nota della path di sorgente e registra un mime per le future esecuzioni.

03:30 A.M.
Ho aggiunto la capacità di parsing dei programmi Java Web Start potenzialmente passabili dal Web Browser che deve risolvere il mime.
Un file .jnlp viene copiato in cache locale poi eseguito direttamente.

• Lo SpatialBundle si occupa di eliminare il .desktop nel Desktop nel caso di ioProgramma --free

04:35 A.M.
Le modifiche apportate allo SpatialFactory meritano un cambio trunk da 0.7.4 a 0.7.5 cosa che avverrà prima di chiudere la sessione notturna ed avere la nightly build finale verso le 05:00 A.M.
File modificati makeself-header AppRunFooter fAppRun

05:20 A.M.
Brancolo nel buio attivo la modalita debug diretta nel codice per sapere cosa succede.

05:30 A.M.
file ed area di codice di bug ingaggiata

05:45 A.M.
Bug Aperto
Trunk 0.7.5
Sessione Chiusa


Domenica 19 Agosto 2007
Colonna (Casteli Romani) - Rome Italy


01:27 A.M.
Aperta la sessione per risolvere il bug del trunk 0.7.5

01:52 A.M.
Bug risolto ma sarebbe necessario che il CrossBundle riuscisse a distinguere tra una richiesta diretta da terminale ed un passaggio mime.
Il bug è risolto con default sul mime quindi: ..../bin/java -jar $YourPayLoad
La versione da terminale è momentaneamente commentata: ..../bin/java -jar $YouAreHere/$YourPayLoad
viene eseguito il parsing contro .jar e .jnlp per abilitare il mime sui file webstart anche tramite browser.

02:43 A.M.
mentre risolvo alcune questioni sul CrossBundle di Jre6 (clicco sullo SpatialBundle e deve aprire anche un file selector per farmi scegliere un .jar da eseguire) ascolto in cuffia dall'ibook G4 1Ghz 12' le mie ultime 10 traccie di musica elettronica sperimentale create quando ero in montagna i giorni precedenti...
E penso...codifico su questo catorcio di Acer Aspire 3000 (ma con Ubuntu Feisty on board) con un AMD 2800+ ed ascolto musica su un ibook G4 1Ghz e Mac OSX che da le piste a tutti!!! (...quasi tutti ;-)
E penso...che per garantirmi incontaminazioni di -dev varie ho una fresh feisty desktop e non posso ascoltare mp3!!! non posso perche dovrei avere una rete per tirare giù i codec dai repo di ubuntu e se avessi installato la reciproca versione di Freespire ora sarebbe tutto ok gia da CD (ma dovrei imbarcarmi KDE).
E penso...che una potenziale prossima compera potrebbe essere uno spettacolare Powerbook G4 12' di quelli superPower (ma perche non hanno mai fatto un G5 Powerbook... ho ancora la geekBava).
E penso... che con un PowerbookG4 partizionerei definitivamente per condividere con OSX Ubuntu e compilare rilassato senza temere di dovermi addormentare prima di vedere terminata una compilazione di GIMP tramite Pkgsrc di NetBSD...eh gia...dovete sapere che ha un overhead notevole per garantire la massima qualità di codice in crosscompiling e crossplatform...dare ed avere ;)
Piu andiamo avanti e piu questa ridicola saga dei Macbook Intel based andrà avanti ed i Powerbook costeranno sempre meno sempre meno sempre meno..fino a non trovarne piu :) ...ed intanto gli IBM G5 fanno sognare sempre più... vabbe torno sul codice...e ci ripenso.
Mi interessa arrivare alla Ubuntu 2008.4 che sembra essere una LTS con una macchina con supporto grafico 3D completo perche a quel punto Compiz & Co sarà una realta consolidata della quale non si puo far piu finta di nulla.

05.28 A.M.
Uno SpatialBundle che contiene uno Jar esegue uno spatialbundle Jre passando se stesso come parametro a runtime.
Quindi:
$ioMioJar ioJre
esegue
$ioJre /tmp/Programs/ioMioJar/Linux-ix86/bin/MioJar.jar

06:42 A.M.
Sessione terminata, svengo dal sonno.
Sviluppo un template per un wrapper al binario principale.
Se clicco ad un Jre mi chiede un Jar se clicco ad un Jar mi chiede un Jre.

15:27 P.M.
Dormito,svegliato,bevi acqua,lava denti,doccia,piatto di muesly con yogurt all'Aloe.
Modalita MacinaCodice ON
No Stop Coding.

19:18 P.M.
SpatialFactory 0.7.6 out.
Respatializing ioBash3.2 con SpatialFactory 0.7.6

20:08 P.M.
Bundling SpatialFactory 0.7.6 per fornire agli sviluppatori un tool spacialized.

Domenica 26 Agosto 2007
Colonna (Casteli Romani) - Rome Italy

12:51 P.M
Dopo due giorni in modalità "macinacodice" full immersion sono arrivato alla versione 0.8.4

Il mio attuale versioning funziona cosi:
X.Y.Z
dove X per ora è 0
Y ha un range da 0 a 9
Z ha un range da 0 a 9

Z viene incrementato di una unità ogni qualvolta viene introdotto almeno una modifica strutturale dove le funzionalita (retrocompatibili) vengono modificate, eliminate, sostituite, aggiunte.

Se vengono solo risolti bug questi vengono testati con versioni del tipo:
X.Y.Z.bugN
Ma al rilascio di buN viene anche rilasciato un Z+1 in questo modo la versione successiva eredita la risoluzione dei bug e qualche funzionalità in più cosi il rilascio non risulta sterile alla sola risoluzione del bug (che saranno sempre presenti per tutto l'arco della vita di tutto software del mondo).

Ad oggi le funzionalità di Infodomestic Objects Spatial Bundles producono i seguenti effetti interattivi:
L'utilizzatore clicca sullo SpatialBundle questo si carica in memoria ram/disco, attiva un'icona nel system tray ed avvia un programma wrapper che esegue i comandi specificati dal packager.
Cliccando sull'icona rappresentativa nel system tray si apre un menu contestuale con le seguenti voci:

About (informazioni testuali sul contenuto pagante dello SpatialBundle)
Clear (libera dalla memoria lo SpatialBundle)
Send to... (invia a: Cartella, Mail, Bluetooth, ....)
Properties (Statistiche dinamiche)

18:14
SuperMegaBug risolto.

Considerando che il CrossBundle è disponibile anche per gli altri utenti del computer sarebbe opportuno rendere disponibili in una locazione di comodo anche gli SpatialBundle singoli.
Ogni SpatialBundle dopo essersi aperto in un CrossBundle condiviso copia se stesso nella locazione condivisa.
La copia avviene solo se si apre in questo modo si previene una scrittura in uno spazio dove già presente ma appartenente ad altro utente.Non è necessario, cosi, un controllo di presenza per questa specifica azione.
La chiusura del CrossBundle deve eliminare anche la presenza dello SpatialBundle condiviso.
Al riavvio del computer tutti i CrossBundle e SpatialBundle condivisi vengno eliminati.
L'osservazione degli oggetti puo avvenire tramite il menu Action di qualsiasi Bundle nel system tray tramite il menu Send to... dove è possibile spostare lo SpatialBundle originale in una qualsiasi cartella (o spedire per posta o bluetooth o latro via plugin TODO).
Il menu Send to... potrebbe prevedere la possibilità di osservare il contenitore di tutti gli SpatialBundles condivisi nel sistema dagli utilizzatori attivi.
Esempio:
Send to...
• Desktop
• Another Destination...
• Mail
• Bluetooth
• SMS
∘ Infrared irDa
• Open All Shared Items...

Nel caso di tentata sovrascrittura nel Desktop o nella destinazione scelta l'azione ritorna un messaggio di avvertimento senza sovrascrivere.

Modificato il menu Action le funzioni di:
About
Play
Controls
Remove
Send to...
Properties

20:20
Ogni SpatialBundle ora viene condiviso in: /tmp/InfodomesticObjects/SpatialBundles/SharedItems/
cio comporta dei benefici per tutti gli utilizzatori concorrenti dello stesso computer.
Ogni utilizzatore è in grado anche di cancellare accidentalmente la propria copia e quindi copiare di nuovo dal menu Action lo SpatialBundle originale in una nuova locazione.

Sabato 1 Settembre 2007
Colonna (Casteli Romani) - Rome Italy

15:00
SpatialBundles con SpatialFactory 0.8.6

Sessione SpatialFactory 0.8.6 aperta

Modificato il menu Action le funzioni di:
About
Open
Send
Controls
Remove

Remove è un'azione drastica che richiede maggiore riflessione e minore impulsività quindi viene posto alla fine dell'elenco.

About al primo posto per sopperire anche ad eventuale click isterico.

23:00

Lavoro ancora assiduamente su una funzionalità che permette ad uno SpatialBundle di trovare una risorsa in un intorno stretto del luogo dove si trova posizionato lo SpatialBundle stesso.

Definizione: Considero un intorno stretto del nodo campione, il grafo costituito dai nodi connessi con una distanza massima di 3 dal nodo campione.

Questo metodo dovrebbe permettere a SpatialBundle di trovare velocemente alcune dipendenze nel caso non le avesse con se.

Ad esempio ioJGnash necessità dell'adattatore ioJre per funzionare.Potrebbe incorporarlo con se aumentanto di peso, ma anche cercarlo localmente.Considerando che ioJre pesa 99Mb, risulta essere un connettore non facilmente trasportabile per SpatialBundle di dimensioni 1/10 (è un nonsense dove ci sono lacune di banda come l'Italia ora, pero fuziona ottimamente per software distribuito tramite supporto ottico).

Domenica 09 Settembre 2007

Implementazione della modalità di avvio --silent
Questa modalita deve permettere di caricare in memoria l'applicazione senza avviare interfaccie grafiche.

La modalità si attiva con un'opzione passata allo SpatialBundle
ie: ioPippo --silent

Questa modalità esegue le seguenti operazioni:
Carica la memoria.
Attiva la sua rappresentazione nel Tray.
E' necessario prevedere una funzione del tipo:
--silent-nodock
che evita anche l'esplicitazione nel Dock.
Potrebbero beneficiare di questa funzione i Framework di supporto ad esempio Kdelibs, QT
Ad esempio ioAmarok attiva ioQt e ioKdelibs i quali attivano la loro rappresentazione nel Dock.Tramite la seguente definizione è possibile limitare la rappresentazione al solo ioAmarok:

ioQt --silent-nodock
wait
ioKdelibs --silent-nodock
wait
ioAmarok

E' una modalità deprecabile normalmente in quanto fuori dal controllo visuale dell'utilizzatore il quale deve sempre avere un ritorno di esperienza dall'attività del Computer.

Nella lavorazione di SpatialBundle 0.8.8 integro la funzione fSay come primitiva del futuro ioSpeak.
Questa funzione sostituisce il normale output di dialogo con un dialogo dedicato per l'ambiente in uso.
E' in grado di emettere informazioni utilizzando i widget dell'ambiente principale di run e si adatta in funzione della disponibilità fino a ridurre l'output ad un semplice echo.
Sono stati presi in considerazione i seguenti widget sets:
Zenity
GDialog
KDialog
XDialog
Dialog
bash echo
Quest'ultimo non deve funzionare necessariamente da una sessione di console ma anche da una sessione X dove non sono presenti i precedenti dialogs widget.Nel caso apre una finestra xterm (o altri disponibili) ed emette l'informazione.
L'ultimo stadio è l'implementazione parallela di un sintetizzatore vocale che lavora in parallelo.

ioCalendar Sunbird ready for the masses




Pubblicato ioCalendar Sunbird versione 0.5 con SpatialBundles 0.8.6

Etichette

Latest Releases

Starred items

Flash On The Air

Subscribe to Mailinglist

Panel

.

HCCard OpenID ClaimID

Contact Infodomestic | Terms of Use | Privacy Policy

Copyright © 1994-2011 Infodomestic.com All rights reserved.