tag:blogger.com,1999:blog-73553586623766443992024-03-13T19:00:31.147+01:00IDCN Infodomestic Developer Connection NetworkNews,Development Resources,Featured ContentLuca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.comBlogger57125tag:blogger.com,1999:blog-7355358662376644399.post-67354667635825270322011-03-10T16:28:00.001+01:002011-03-10T16:35:30.068+01:00Updated FreeDesktop.org page to reflect latest 2011 SpatialBundle status<span class="anchor" id="line-12"></span><span class="anchor" id="line-13"></span><br />
<div class="line867">SpatialBundle specification at the moments is fully compatible with ROX Filer AppDir proxy detector and provide gvfs and Nautilus compatibility for beautifications </div><div class="line874">with ioProgram I mean a generic name for the main folder container, it's up to the packager to rename <span class="anchor" id="line-16"></span><span class="anchor" id="line-17"></span></div><div class="line874">ioProgram folder name should be build with following this structure: <span class="anchor" id="line-18"></span><span class="anchor" id="line-19"></span></div><div class="line874">$PROGRAM_NAME$VERSION"-"$DISTRO <span class="anchor" id="line-20"></span>this is required by the CrossBundle AppRun proxy file at runtime <span class="anchor" id="line-21"></span><span class="anchor" id="line-22"></span></div><div class="line867"></div><h1 id="A.22.2BAC8-SpatialBundle0.9.43.2Skeletonon2011.22">"/SpatialBundle 0.9.43.2 Skeleton on 2011"</h1><span class="anchor" id="line-23"></span><span class="anchor" id="line-24"></span><br />
<ul><li style="list-style-type: none;"><div class="line891"><tt>ioProgram</tt> <span class="anchor" id="line-25"></span></div><ul><li><div class="line891"><tt>Contents</tt> <span class="anchor" id="line-26"></span></div><ul><li><div class="line891"><tt>Cover</tt> <span class="anchor" id="line-27"></span></div><ul><li><div class="line891"><tt>Default</tt> <span class="anchor" id="line-28"></span></div><ul><li><div class="line891"><tt>gtk-2.0</tt> <span class="anchor" id="line-29"></span></div><ul><li><div class="line891"><tt>gtksrc</tt> <span class="anchor" id="line-30"></span></div></li>
</ul></li>
</ul></li>
</ul></li>
<li><div class="line891"><tt>Library</tt> <span class="anchor" id="line-31"></span></div></li>
<li><div class="line891"><tt>Resources</tt> <span class="anchor" id="line-32"></span></div><ul><li><div class="line891"><tt>Library</tt> <span class="anchor" id="line-33"></span></div></li>
<li><div class="line891"><tt>Binary</tt> <span class="anchor" id="line-34"></span></div></li>
<li><div class="line891"><tt>ABOUT.png</tt> <span class="anchor" id="line-35"></span></div></li>
<li><div class="line891"><tt>APPLICATIONS.png</tt> <span class="anchor" id="line-36"></span></div></li>
<li><div class="line891"><tt>BLUETOOTH.png</tt> <span class="anchor" id="line-37"></span></div></li>
<li><div class="line891"><tt>DESKTOP.png</tt> <span class="anchor" id="line-38"></span></div></li>
<li><div class="line891"><tt>EMAIL.png</tt> <span class="anchor" id="line-39"></span></div></li>
<li><div class="line891"><tt>FOLDER.png</tt> <span class="anchor" id="line-40"></span></div></li>
<li><div class="line891"><tt>Icon.png</tt> <span class="anchor" id="line-41"></span></div></li>
<li><div class="line891"><tt>RESET.png</tt> <span class="anchor" id="line-42"></span></div></li>
<li><div class="line891"><tt>SEND.png</tt> <span class="anchor" id="line-43"></span></div></li>
<li><div class="line891"><tt>$applicationname.png</tt> <span class="anchor" id="line-44"></span></div></li>
</ul></li>
</ul></li>
<li><div class="line891"><tt>Linux-ia32</tt> <span class="anchor" id="line-45"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-46"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-47"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-48"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-49"></span></div></li>
</ul></li>
<li><div class="line891"><tt>Linux-ia64</tt> <span class="anchor" id="line-50"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-51"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-52"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-53"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-54"></span></div></li>
</ul></li>
<li><div class="line891"><tt>Linux-ppc</tt> <span class="anchor" id="line-55"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-56"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-57"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-58"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-59"></span></div></li>
</ul></li>
<li><div class="line891"><tt>Linux-amd64</tt> <span class="anchor" id="line-60"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-61"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-62"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-63"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-64"></span></div></li>
</ul></li>
<li><div class="line891"><tt>NetBSD-ppc64</tt> <span class="anchor" id="line-65"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-66"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-67"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-68"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-69"></span></div></li>
</ul></li>
<li><div class="line891"><tt>OSX-ppc</tt> <span class="anchor" id="line-70"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-71"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-72"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-73"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-74"></span></div></li>
</ul></li>
<li><div class="line891"><tt>Windows-lpia</tt> <span class="anchor" id="line-75"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-76"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-77"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-78"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-79"></span></div></li>
</ul></li>
<li><div class="line891"><tt>Haiku-amd64</tt> <span class="anchor" id="line-80"></span></div><ul><li><div class="line891"><tt>bin</tt> <span class="anchor" id="line-81"></span></div></li>
<li><div class="line891"><tt>lib</tt> <span class="anchor" id="line-82"></span></div></li>
<li><div class="line891"><tt>share</tt> <span class="anchor" id="line-83"></span></div></li>
<li><div class="line891"><tt>...</tt> <span class="anchor" id="line-84"></span></div></li>
</ul></li>
<li><div class="line891"><tt>$PLATFORM_OS-$ARCHITECTURE</tt> <span class="anchor" id="line-85"></span></div><ul><li><div class="line891"><tt>$PREFIX</tt> <span class="anchor" id="line-86"></span></div></li>
</ul></li>
</ul></li>
<li><div class="line891"><tt>AppInfo.xml -- ROX compatibility</tt> <span class="anchor" id="line-87"></span></div></li>
<li><div class="line891"><tt>AppRun.desktop -- ROX compatibility</tt> <span class="anchor" id="line-88"></span></div></li>
<li><div class="line891"><tt>Info</tt> <span class="anchor" id="line-89"></span></div></li>
<li><div class="line891"><tt>ioProgram -> AppRun</tt> <span class="anchor" id="line-90"></span></div></li>
<li><div class="line891"><tt>.CRCsum</tt> <span class="anchor" id="line-91"></span></div></li>
<li><div class="line891"><tt>.SHA512sum</tt> <span class="anchor" id="line-92"></span></div></li>
<li><div class="line891"><tt>.directory</tt> <span class="anchor" id="line-93"></span></div></li>
<li><div class="line891"><tt>.DirIcon -- ROX compatibility</tt> <span class="anchor" id="line-94"></span></div></li>
<li><div class="line891"><tt>.hidden</tt> <span class="anchor" id="line-95"></span><span class="anchor" id="line-96"></span></div></li>
</ul><div class="line874">This container specification will be followed by a lot of interactions specifications that you can try just downloading one of the hundreds packages made by me just for testing on my daily testers. <span class="anchor" id="line-97"></span>To let you point to latest fresh packages you can try at the moment (2011) here: <span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span></div><div class="line867"><a class="http" href="http://linux-app-catalog.blogspot.com/">http://linux-app-catalog.blogspot.com</a> <span class="anchor" id="line-100"></span><span class="anchor" id="line-101"></span></div><div class="line867">SpatialBundles are designed to be fully 100% cross platform in hardware and operative systems that are POSIX compliant (GNU/Linux, *BSD*, OSX, Android, Bada, MeeGo, Maemo, iOS,mostly when you find a POSIX shell and a minimal classical shell tooling like sed, awk and few more dependencies to be refined in future). </div><div class="line874">Features now include: <span class="anchor" id="line-104"></span><span class="anchor" id="line-105"></span></div><div class="line874">- It's Free, really like Public Domain...fully covered and protected by GNU/GPL...what else?? <span class="anchor" id="line-106"></span><span class="anchor" id="line-107"></span></div><div class="line862">- One App -> One File <span class="anchor" id="line-108"></span><span class="anchor" id="line-109"></span></div><div class="line874">- No installation <span class="anchor" id="line-110"></span><span class="anchor" id="line-111"></span></div><div class="line874">- Click and Run like feedback <span class="anchor" id="line-112"></span><span class="anchor" id="line-113"></span></div><div class="line874">- No FUSE dependencies <span class="anchor" id="line-114"></span><span class="anchor" id="line-115"></span></div><div class="line874">- Depend only by POSIX shell and few posix low level system tool <span class="anchor" id="line-116"></span><span class="anchor" id="line-117"></span></div><div class="line874">- No image file to be mounted <span class="anchor" id="line-118"></span><span class="anchor" id="line-119"></span></div><div class="line874">- Zero Impact (involve not leaving footprints on the disk) <span class="anchor" id="line-120"></span><span class="anchor" id="line-121"></span></div><div class="line874">- Full Privacy (do not leave personal data on the disk) <span class="anchor" id="line-122"></span><span class="anchor" id="line-123"></span></div><div class="line874">- It's an active Object with it's own method and attributes <span class="anchor" id="line-124"></span><span class="anchor" id="line-125"></span></div><div class="line874">- Does not require hosted proxy software to be installed to run and works <span class="anchor" id="line-126"></span><span class="anchor" id="line-127"></span></div><div class="line874">- Provide direct manipulation feedback <span class="anchor" id="line-128"></span><span class="anchor" id="line-129"></span></div><div class="line874">- Embeds it's own icon like .exe windows file </div><div class="line874">- It's fully self hosted </div><div class="line874">- Provide methods to optimize running fully on RAM from the start (good for low resources device where accessing disk is critical) <span class="anchor" id="line-134"></span><span class="anchor" id="line-135"></span></div><div class="line862">- Provide dynamic <a class="nonexistent" href="http://www.freedesktop.org/wiki/FreeDesktop">FreeDesktop</a> menu <span class="anchor" id="line-136"></span><span class="anchor" id="line-137"></span></div><div class="line874">- Can embeds everything it's not designed to only host applications but can act as a classical compression/archive container </div><div class="line874">- You can send it by mail or by blue-tooth because it's a file </div><div class="line874">- Provide basic strong security tool to avoid code injection against middle men </div><div class="line874">- Every single binary and library is parsed against SHA512sum <span class="anchor" id="line-144"></span><span class="anchor" id="line-145"></span></div><div class="line874">- Can be embedded into apt or rpm repository to be spread worldwide via strong and secure channels </div><div class="line874">- Provide Cover technology for GTK applications, the package maintainer can choose a default theme <span class="anchor" id="line-148"></span><span class="anchor" id="line-149"></span></div><div class="line874">- GTK applications can be themed by user via local settings <span class="anchor" id="line-150"></span><span class="anchor" id="line-151"></span></div><div class="line874">Q: Why I don't like FUSE based solutions? <span class="anchor" id="line-152"></span><span class="anchor" id="line-153"></span></div><div class="line874">A: because due to FUSE it's far to be POSIX compliant and does not grant me transparent and easy fully cross platform (do we have FUSE on OSX? or Bada? or Windows? as standard installation) </div><div class="line874">Q: Why not C/C++? <span class="anchor" id="line-156"></span><span class="anchor" id="line-157"></span></div><div class="line874">A: because needs a compiler hardware and os specific. The improving speed it's not well balanced with the great portability of a POSIX shell </div><ul><li style="list-style-type: none;">so POSIX shell wins again <span class="anchor" id="line-159"></span><span class="anchor" id="line-160"></span></li>
</ul><div class="line874">Q: What about Perl? <span class="anchor" id="line-161"></span><span class="anchor" id="line-162"></span></div><div class="line874">A: Good very good, it's the second choice but at the moment should be well investigated in term of standard installation availability in all the common platform out there. <span class="anchor" id="line-163"></span><span class="anchor" id="line-164"></span></div>At the moment SpatialBundle works with POSIX Shell but I cannot exclude in future to convert the code in Perl <span class="anchor" id="line-165"></span><span class="anchor" id="line-166"></span>In my opinion Perl "rock on" and should be the natural choice, hope to do the big change in future...<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.comtag:blogger.com,1999:blog-7355358662376644399.post-20156496588048702712009-05-29T16:45:00.003+01:002009-05-29T16:52:20.983+01:00[SpatialBundle building the FAQ ] 8 - Rendere eseguibile lo SB è cmq un passo in più, non c'è modo di avere un "repo" fidato?<a href="http://www.pollycoke.net">Felipe Pollycoke</a> ha posto la seguente domanda:<br /><br /><span style="font-weight: bold;">D: Rendere eseguibile lo SB </span><span style="font-style: italic;">(ndr SB=SpatialBundle)</span><span style="font-weight: bold;"> è cmq un passo in più, non c'è modo di avere un "repo" fidato?</span><br /><br /><span style="font-weight: bold;">R:</span> La risposta è Si! Ma perchè praticamente con i bits si può fare tutto (informaticamente parlando)...diffida da chi dice no :)<br />Divido la domanda in due parti:<br /><br /><span style="font-weight: bold;">8a)</span> "Rendere eseguibile lo SB è cmq un passo in più" ... è necessario?<br />Si e no.<br />Il concetto generale è meno clic fai meglio stai.<br />Quando scarico un file potenzialmente eseguibile è giusto che venga osservata un'azione responsabile ed il più cosciente possibile da parte dell'utilizzatore.L'azione di aggiungere l'eseguibilità potrebbe aiutare a riflettere.<br />Il problema principale è che i miei tester hanno sempre difficoltà a capire il concetto e sopratutto a trovare il modo di modificare l'attributo.Questo è un problema da risolvere.<br />Quando scarico un .exe su Windows posso tendenzialmente eseguirlo inpunemente, con uno SpatialBundle no.E' nativamente anti clic isterico.Le versioni di Vista che ho testato hanno introdotto una grande diga a proposito e paradossalmente è diventato quasi meno usabile di Linux, ovvero bisogna in qualche modo esplicitare l'esecuzione del file con una finestra grafica.Immagino Windows 7 ereditare questa features/bug/annoyance.<br />Ad esempio Nautilus quando intercetta uno script shell eseguibile opera un feedback simile fornendoti un menu più verboso dove puoi scegliere se aprire con un file testo o eseguire lo script.E' ancora una soluzione molto tecnica, però è uno sbarramento che può far riflettere (il problema è che il target di quel messaggio è una regione di popolazione informatizzata molto ristretta).<br />Complessivamente un file senza attributo eseguibile viene visto come un ramo secco e se questo è un file script testuale può essere anche risolto strambamente con un mime su un editor testi.<br />Per risolvere il problema ci vuole un supervisor fornito dal distro vendor, dal DE vendor o dal SpatialBundle vendor.<br />Il progetto GNOME fornisce un timido supervisor sui script eseguibili, ma non è sufficiente.<br />Una soluzione elegante potrebbe essere espressa da un fornitore fidato di software tramite un canale sicuro...<br />A titolo di esempio i "repo" di Debian e Ubuntu (esempio anche i PPA) sono fornitori fidati :)<br /><br /><span style="font-weight: bold;">8b)</span> non c'è modo di avere un "repo" fidato?<br /><br />Si.<br />Questo sarebbe il passo successivo dopo il rilascio dello SpatialBuilder 1.0<br />Ora a titolo sperimentale il "repo" fidato è il mio deposito su sourceforge (con i suoi limiti).<br />Bisognerebbe esplicitare tutti gli attributi che definiscono la parola "fidato" associato a "repository".<br />A tal proposito vi invito a commentare sotto e fornire elementi di discussione.<br />Quando immagino un deposito fidato mi vengono in mente delle persone responsabili che compilano dei sorgenti verificati.<br />Che impacchettano secondo delle lineee guida standard.Che espongono i pacchetti su un server sicuro.Che forniscono metodi di controllo dell'integrità dei dati.Che forniscono un canale trasmissivo sicuro.Che forniscono metodi e attributi per permettere all'utilizzatore di verificare l'autenticità della sorgente del catalogo...etc etc.<br />Potenzialmente un ambiente basato su apt può essere tutto questo e di più.<br />Immagino che quando si parla di fiducia bisogna considerare più gli aspetti scientifici verificabili che la fede basata su elementi emozionali.Anche se c'è sempre un limite a tutto ciò.<br />Massimizzando le tecniche verificabili rimane solo la parte legata alla fiducia (in fondo chi mi garantisce che il maintainer non introduce un piccolo spy nascosto in 30mila linee di codice?).<br />A titolo di esempio una parte di questo problema vuole essere risolto all'interno della comunità NetBSD dove esiste un team di revisione del codice che in qualche modo cerca di minimizzare questo potenziale latente.<br />Non a caso le mie prime compilazioni utilizzavano il repository dei sorgenti di NetBSD proprio perchè si possono ritenere sicuri a livello di sorgente (non al 100%).<br />Il problema del repo di NetBSD è che segue in parte la filosofia del live filesystem di gentoo quindi bisogna tribolare un pochino per isolare i pacchetti con le dipendenze risolte con lo stesso standard di sicurezza da loro offerto.E' un problema che loro conoscono bene e che pian piano stanno risolvendo.<br />E' molto probabile che nel futuro Debian dovrà in qualche modo ereditare molte delle tecnologie che verranno introdotte dall'ambiente Pkgsrc di NetBSD.<br /><br />L'utilizzo di apt attualmente richiede root.Ho provato in vari modi a scardinare apt da root ma è nativamente e fisiologicamente progettato per funzionare da root (per certi versi questo volere è intrinsecamente hardcoded), tutti i miei tentativi hanno prodotto fork (concetto DEPRECATED per me).<br />Se dovessi immaginare un ambiente misto con un repo fidato di SpatialBundle basato su apt, cercherei di limitare al massimo l'intervento root a questi passi:<br />1) Uso da parte dell'utente di un catalogatore tipo synaptic o forse meglio qualcosa di simile a Gnome App Install (immagno anche un fantascientifico addon/plugin di songbird).<br />2) Scelta dello SpatialBundle<br />3) Clic + password di amministrazione (tipo sudo con Ubuntu)<br />A questo punto il deb dovrebbe semplicemente memorizzare lo SpatialBundle in un punto di ingresso esplicito comune a tutti tipo: /home/Applications<br />quindi cambiare l'owner del SB in Applications , aggiungere il bit eseguibile allo SpatialBundle e permettere a tutti nel gruppo Applications di eseguirlo.<br />Immagino quindi che nelle home di ogni utente venga prodotto un link simbolico alla folder /home/Applications<br />Qui finisce l'intervento di apt e di root.Che si è limitato a scaricare in modo "fidato" e presentare in modo consistente ed usabile lo SpatialBundle agli (ma alla fine al) utenti(e) del computer.<br />Consistente perchè gli SpatialBundle del catalogo "fidato" sono in /home/Applications (utente di comodo ristretto), perchè lo script di post install nel deb provvede in modo "fidato" ad aggiungere il bit eseguibile e verificare e/o costruire il link simbolico dalle cartelle utenti al deposito locale.Tutto questo mantenendosi largamente isolati dal filesystem root (no /usr no usr/bin etc etc) e rispettando sicuramente lo standard del UNIX FHS (nelle $HOME faccio quello che mi pare in fondo).In questo modo comunque si preserva l'intervento di root eseguendo lo SpatialBundle con i diritti di gruppo dell'utente Applications.Rimane consistente perche lo SpatialBundle in qualità di singolo file può essere clonato nel proprio spazio dei file (la $HOME o una chiavetta USB o un CDROM o via mail o altro).<br />Gobo Linux, ROX, OSX e altri hanno dimostrato che questa strada in qualche modo e con le dovute riserve è percorribile.<br />Una volta in qualche lista avevo proposto una soluzione al pari di itunes per il software Linux basandolo su apt, sono stato largamente ignorato e deprecato (in ubuntu brainstorm ampiamente votato contro).Poi son usciti fuori Gnome App Install ed in giro tutta la serie degli AppStore a partire dal famigerato telefono della mela morsicata.Oggi un App Store associato ad un software di presentazione è la cosa più naturale che ci si aspetta su un dispositivo...quando noi viviamo da sempre in questo ambiente controllato, verificato e fidato (tutti i repository Linux/BSD sono degli appstore a costo zero).<br />A mio avviso oggi più che mai un repo "fidato" di oggetti come gli SpatialBundle hanno un grande senso, mentre perde sempre più senso un catalogo come apt per le applicazioni desktop che sporca il filesystem root.<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.comtag:blogger.com,1999:blog-7355358662376644399.post-26486548699342984932009-05-14T15:29:00.003+01:002009-05-29T16:53:53.620+01:00mini FAQ SpatialBundle<span>Di seguito ho condensato alcuni pensieri della serie: "fatti una domanda e datti una risposta" + opinione personale + domande esterne ricevute</span><span style="font-weight: bold;">.</span><span><br />Questa pagina vuole essere una premessa ad un documento più completo che può essere sviluppato solo con le vostre domande</span><span style="font-weight: bold;">.<br /><br />1) D: I file di configurazione/personalizzazione di ogni applicazione dove saranno installati?<br /></span><span style="font-weight: bold;">R:</span> Ogni applicazine decide per se dove installare le configurazioni.<br />Notoriamente il 99% delle applicazioni Desktop per Linux salvano le configurazioni in una cartella nascosta nella cartella dell'utente (i famosi file e cartelle puntate).<br />Uno SpatialBundle offre una locazione aggiuntiva posta in $HOME/.config/Infodomestic/Objects che lo sviluppatore può usare a suo piacimento.<br /><br /><span style="font-weight: bold;">2) D: Gli SpatialBundle si propongono come rimpiazzo agli attuali package manager?</span><br /><span style="font-weight: bold;">R:</span> NO! uno SpatialBundle è cosi indipendente da tutto che lavora in parallelo a qualsiasi sistema di gestione pacchetti, comprese le tecnologie Klik, CNR, 0Install, AutoPackage, PBI e/o Java WebStart<br />Uno SpatialBundle è progettato per lavorare trasparentemente su Linux, *BSD, Solaris, OSX e Windows<br />Il primo utilizzo pratico che ho potuto misurare è nella distribuzione delle KillerApp da Desktop tipo firefox, openoffice, sunbird, thunderbird, skype, picasa,acrobat, realplayer etc. etc.<br /><br /><span style="font-weight: bold;">3) D: Che differenza c'è con un file DMG di OSX?</span><br /><span style="font-weight: bold;">R:</span> L'unica non differenza è un feedback inziale con l'utente dove questo clicca e qualcosa succede.<br />Un pacchetto DMG è un file immagine compresso che dopo essere stato scaricato va aperto (come fosse uno zip) e poi prelevato il contenuto al suo interno per essere ulteriormente manipolato.<br />In poche parole un DMG è un contenitore passivo che contiene solo dati.<br />Uno SpatialBundle è un oggetto vero con funzionalità e caratteristiche attivabili (tecnicamente conosciuti come metodi ed attributi).<br />Dopo averlo scaricato su uno SpatialBundle ci si clicca sopra e si attende il feedback totale che genericamente si riduce all'esecuzione del programma in oggetto.<br />Un classica sequenza analoga con un DMG si riduce ai seguenti passi:<br />1) Cliccare su un link di una pagina web<br />2) Salvare nel desktop<br />3) Attendere il download<br />4) Cliccare sul file DMG salvato<br />5) Attendere l'autoapertura del file che si presenterà come un'unità disco (ho misurato disorientamento su degli utenti di test)<br />6) Trascinare l'icona caratteristica del software contenuta nell'unità disco virtuale in una cartella di comodo (notoriamente Applications)<br />7) Sganciare (smontare) e chiudere l'unità disco DMG virtuale (trascinando nel cestino l'unità o cliccando sull'apposita iconcina del Finder)<br />8) Aprire la cartella Applications<br />9) Cliccare sull'icona del programma ed attendere la sua esecuzione.<br /><br />Ci sono casi dove viene automatizzata la fase che va dal clic sul web all'apertura automatica del disco virtuale DMG spòecialmente se si usa Safari invece che Firefox.<br /><br />Una classica sequenza con uno SpatialBundle può ridursi ai seguenti passi:<br />1) cliccare sul link nel web<br />2) Attendere<br />3) Usare l'applicazione che si è avviata automaticamente.<br /><br />L'alternativa più lunga è<br />1) Cliccare sul link nel web<br />2) Salvare il file nel desktop<br />3) Attendere il download<br />4) Abilitare l'eseguibilità del file (disabilitata per defaults per sicurezza)<br />5) Cliccare sul file ed attendere l'esecuzione del programma<br /><br />Come si evince dall'elenco nella peggiore delle ipotesi le operazioni sono estremamente ridotte all'osso.<br /><br />Dal punto di vista della sicurezza una AppDir in qualità di cartella può essere gravemente danneggiata o modificata.<br />Uno SpatialBundle con un autocheck interno sha512 non permette il code injection rendendolo praticamente invulnerabile a malware e virus per non parlare di middle man o manipolazioni di qualsiasi sorta.<br /><br /><span style="font-weight: bold;">4) D: Che differenza c'è tra una directory AppDir di OSX ed uno SpatialBundle?</span><br /><span style="font-weight: bold;">R:</span> Quando un utente clicca su uno Spatialbundle o su un AppDir di OSX riceve praticamente lo stesso feedback, ovvero in genere l'avvio dell'applicazione sottesa.<br />La vera differenza è nella manipolazione dell'oggetto dove nel primo caso è una cartella mascherata nel caso di uno SpatialBundle è un file vero manipolabile in modo trasparente da tutti i sistemi operativi destkop attualmente in circolazione.<br />Un esempio su tutti: se devo inviare il programma ad un amico per posta con uno SpatialBundle è sufficiente allegare il file e spedirlo, con un AppDir no in quanto è una cartella e quindi bisogna prima creare un archivio (tipo un file compresso zip) e poi allegare il file, il ricevente in quel caso deve svolgere l'operazione simmetricamente inversa, mentre con uno SpatialBundle deve limitarsi a cliccarci sopra ed eseguirlo.<br />Uno SpatialBundle è molto più pratico di un AppDir.<br />Un'AppDir non rappresenta necessariamente tutta l'istanza dell'oggetto di interesse in quanto potrebbe essere anche funzione di un'installazione e quindi una parte dei metodi e attributi potrebbero risiedere in altre parti del filesystem.<br />Uno SpatialBundle è sempre un oggetto autoconsistente ed integro, completamente individuabile ed isolato dal resto del sistema.Esso sfrutta la filosofia nativa e dirompente dello stile UNIX...tutto è un file.<br /><br /><span style="font-weight: bold;">5) D: In Mac OSX con il tasto destro su un AppDir posso esplorare il contenuto della cartella, come entro in uno SpatialBundle?</span><br /><span style="font-weight: bold;">R:</span> Uno SpatialBundle essendo pensato come un oggetto vivo, è costituito da metodì ed attributi che si possono interrogare.<br />E' sufficiente eseguire: NomeBundle --help per ricevere un elenco di ulteriori informazioni che comprendono ad esempio anche tags e labels associati al bundle nonchè la capacità di estrarre l'icona rappresentativa.<br />Se si vuole entrare nella gerarchia dei file che rappresentano l'applicazione integrata è sufficiente entrare in /tmp/Programs per accedere in modo trasparente e senza limiti di lettura alla cache di memoria (che viene eliminata ad ogni reset forzato del Bundle o ad ogni riavvio della macchina).<br /><br /><span style="font-weight: bold;">6) D: Qual'è la tua visione di un ecosistema basato sugli SpatialBundle?</span><br /><span style="font-weight: bold;">R:</span> Attualmente vedo molto pratica la coesistenza tra un catalogo basato su apt come i repository offerti dall'ambiente Debian ed un catalogo web e/o locale basato su SpatialBundle indicizzati da tracker & co.<br />Mi piacerebbe costruire una distribuzione minimale al massimo costituita da una base LSB + X + un DE ridotto all'osso per fornire il minimo di funzionalità tutto gestito da apt sul quale poi fornire un catalogo di applicazioni SpatialBundle.<br />In questo modo apt può concentrarsi esclusivamente sull'aggiornamento del sistema minimo che deve essere garantito dal vendor della distribuzione e poi multipli vendor in stile AppStore che forniscono SpatialBundle indipendenti.Tutto condito e gestito da firme digitali, certificati vari, e tutto quello che serve per garantirsi l'integrità e le veridicità della sorgente del catalogo, nonchè del canale trasmissivo.<br />In questo modo si possono separare e redistribuire anche le responsabilità del sistema di packaging delle user applications.Complessivamente immagino un aumento sicuro di entropia nell'ecosistema, ma anche una migliore selezione darwiniana nonchè fondamentale per il mio punto di vista, un sempre più decentralizzazione e quindi redistribuzione del potere.<br />Oggi una distribuzione Linux (esempio Fedora o Ubuntu) opera a tutti gli effetti pratici un controllo monopolistico ed assolutistico su tutta la fase del processo che va dalla generazione della distribuzione allo sfruttamento della stessa da parte degli utilizzatori finali.<br />Questo sistema ha grossi vantaggi, è sufficiente controllare la qualità del codice di NetBSD o PCBSD per capire che può funzionare ma paradossalmente può considerarsi molto più democratico un qualsiasi sistema operativo Windows!!! Che praticamente, anche se in modo controproducente, permette a tutti di costruire e distribuire software e di conseguenza anche distruggere tutto il sistema in una specie di grande eutanasia digitale.<br />Penso che un buon equilibrio tra un gestore centralizzato ed un sistema decentralizzato ma verificato può aiutare a creare vera innovazione nel mondo dei sistema operativi liberi.<br /><br /><span style="font-weight: bold;">7) D: Come si confronta complessivamente un file Klik con uno SpatialBundle?</span><br /><span style="font-weight: bold;">R:</span> Attualmente un file klik è solo un'ipotesi sul web che viene intermediata da uno script proxy locale che provvede a scaricarlo in modo pseudo trasparente e poi manipolarlo localmente.<br />Da questo punto di vista uno SpatialBundle è un vero file manipolabile e disponibile subito presso:<br />https://sourceforge.net/project/showfiles.php?group_id=199098<br />come un elenco discreto di files nudo e crudo da scaricare.Quando è stato scaricato si osserva e manipola un file come succede da sempre su qualsiasi desktop.Niente di nascosto, un sempice file da scaricare e da cliccare.<br />Dal punto di vista del design uno SpatialBundle non deve chiedere mai la password di root se lo fà rifiutatevi ed eliminatelo subito.<br />Uno SpatialBundle è progettato nativamente per essere eseguito in modalità non amministrativa, questo per massimizzare la garanzia di integrità del sistema ospitante.<br />Nel design e nello spirito dello SpatialBundle la password di root è delegata alla sola amministrazione globale del computer.<br />Ritengo complessivamente l'accesso come root assolutamente deprecabile.<br />Dal punto di vista del design di uno SpatialBundle un pacchetto Klik è visto al pari di un virus o di un pacchetto deb ovvero può essere abilitato a manipolare anche lo spazio root.<br />Le implementazioni dei proxy Klik generalmente richiedono un accesso iniziale root per installare il client, questo punto di vista è deprecato dal design di uno SpatialBundle.<br />Uno SpatialBundle si scarica e si esegue, un Klik necessita di una preinstallazione di un componente di aiuto per manipolare un file klik.<br />Quando eseguo uno SpatialBundle come utente normale il 99,99999% dei casi ho la certezza fisica che il filesystem root non verrà mai e poi mai toccato.Questa garanzia non viene fornita dal sistema Klik e le azioni tendono a basarsi sulla fede (ma il client installato da root installa anche librerie non previste dal repository fornito dal distro vendor?)<br />Uno SpatialBundle non tenta di usare prima le librerie di sistema e poi eventualmente installare le proprie.In questo caso il pachettizzatore di uno SpatialBundle è responsabile in solido della qualità del pacchetto per le distribuzioni in suo target (teoricamente un pacchetto SpatialBundle può operare in modo trasparente su BSD, Linux e altri).<br />Sotto questo punto di vista uno SpatialBundle si comporta molto similmente ad un Universal Binary di OSX ovvero integra in seno la soluzione trasparente senza necessità ulteriori.<br />Uno SpatialBundle è progettato per funzionare sempre anche in assenza di rete, un file klik potrebbe non funzionare se deve risolvere le dipendenze.<br />Il design Klik favorisce il minimo sforzo allo sviluppatore (dipendenze risolte a runtime autoadattandosi in funzione delle valutazioni operate in loco dagli algoritmi di risoluzione, lo sviluppatore si solleva la responsabilità di eventuali fallimenti).<br />Il design SpatialBundle favorisce il minimo sforzo all'utilizzatore (dipendenze soddisfatte nativamente dallo sviluppatore responsabile che risponde in solido del fallimento).<br />Il parco software di SpatialBundle è ridicolo se confrontato con quello di Klik ma il compilatore/builder SpatialBuilder non è stato ancora rilasciato e quindi attualmente genero in prima persona pacchetti di KillerApp per testing.<br />Ogni SpatialBundle viene accompagnato da 4 file checksum di integrità (cksum, md5sum, sha1sum e sha512sum).A questo va aggiunto un autochecksum con sha512sum interno ogni volta che viene eseguito (se c'è stato code injection si blocca prima di eseguire il programma incorporato).Ogni binario e libreria del programma integrato viene accompagnato dal suo equivalente file sha512um.Ho previsto in futuro l'integrazione del controllo della firma digitale di autenticità della sorgente del deposito software ed altre amenità simili.<br /><br />...to be continued<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.comtag:blogger.com,1999:blog-7355358662376644399.post-18492800352128784272009-05-07T15:22:00.003+01:002009-05-07T15:26:38.013+01:00NOMINATE COMMUNITY CHOICE AWARDS<a href="http://sourceforge.net/community/cca09/nominate/?project_name=Infodomestic Objects&project_url=http://sourceforge.net/projects/infodomestic/"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 151px; height: 137px;" src="http://sourceforge.net/images/cca/cca_nominate.png" border="0" alt="" /></a><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.comtag:blogger.com,1999:blog-7355358662376644399.post-84673903643787533302009-02-25T17:56:00.006+01:002009-02-25T18:30:29.570+01:00Firefox 3.2 (a1pre) passa ACID3 al 94%[Italian]<br />$echo "Hello World!"<br />Hello World<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_owNzdt4y3qA/SaV9UwHtYiI/AAAAAAAABdU/qjEkhhlojeY/s1600-h/Schermata.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 176px;" src="http://4.bp.blogspot.com/_owNzdt4y3qA/SaV9UwHtYiI/AAAAAAAABdU/qjEkhhlojeY/s400/Schermata.png" alt="" id="BLOGGER_PHOTO_ID_5306785531394089506" border="0" /></a><br /><br />Come quasi al solito potete scaricare Firefox 3.2 (ACID 3 test al 94%) qui:<br /><a href="https://sourceforge.net/project/showfiles.php?group_id=199098&package_id=284482&release_id=663954"><br />https://sourceforge.net/project/showfiles.php?group_id=199098&package_id=284482&release_id=663954</a><br /><br />come al solito niente installazione (in questo caso è come sparare sulla croce rossa visto che mozilla è ultraportabile).<br /><br />Insomma scaricate abilitate l'eseguibilità e cliccateci sopra...<br /><br />Testato e funziona su Ubunterie varie (8.04 e 8.10), Debian 5, Acer Aspire One con Linpus (figuriamoci quindi con Ubuntu).<br /><br />Troverete come al solito lo SpatialBundle ed il file sha512sum di check consistenza.<br /><br />Per chi come me lavora con mesh, fem, fea, calcoli strutturali ed amenità varie tipo MSC Marc e compagnia bella allora potete trovare il pacchetto dell'ultimo Gmsh 2.3.0 ricompilato con ottimizzazioni (mini cad + mesh con pre e post processing) + Genius 1.0.5 che è una ambiente per calcoli stile matlab in miniatura (serve se siete stanchi di aprire ogni volta l'interprete python per svolgere complesse ed utilissime operazioni tipo 1/0).<br /><br />Di seguito i riferimenti per scaricare<br /><br />Gmsh 2.3.0<br /><br /><a href="http://https//sourceforge.net/project/showfiles.php?group_id=199098&package_id=311482">https://sourceforge.net/project/showfiles.php?group_id=199098&package_id=311482</a><br /><br />Genius 1.0.5<br /><a href="http://%20https//sourceforge.net/project/showfiles.php?group_id=199098&package_id=309570"><br /></a><a href="https://sourceforge.net/project/showfiles.php?group_id=199098&package_id=309570">https://sourceforge.net/project/showfiles.php?group_id=199098&package_id=309570</a><br /><br /><br />Per una panoramica completa dei pacchetti SpatialBundles:<br /><br /><a href="https://sourceforge.net/project/showfiles.php?group_id=199098">https://sourceforge.net/project/showfiles.php?group_id=199098</a><br /><br />In cucina sto cuocendo: GanttProject a Freemind<br /><br />"Feel Better" ;)<br /><br />[English]<br /><br />As almost always you can download Firefox 3.2 (ACID 3 tests at 94%) here:<br /><br />https: //sourceforge.net/project/showfiles.php?=199098&group_id=284482&package_idrelease_id=663954<br /><br />as usual no installation required due to the SpatialBundle nature.<br /><br />So download and add exec bits then click on it ...<br /><br />Tested, works on Ubuntu 8.04 and 8.10, Debian 5, Acer Aspire One with Linpus.<br /><br />You will find as usual the SpatialBundle and sha512sum file consistency check.<br /><br />For those who like me works with mesh, fem, fea, structural calculations and various amenities such MSC Marc then you can find a package of gmsh 2.3.0 recompiled with optimizations (mini cad + mesh with pre-and post-processing) + Genius 1.0.5 which is an environment for calculations closed to matlab (needed if you are tired of opening every time the python interpreter to perform complex operations and useful type 1 / 0).<br /><br />Here's the references to downloads<br /><br />Gmsh 2.3.0<br /><br />https://sourceforge.net/project/showfiles.php?=199098&group_id=311482package_id<br /><br />Genius 1.0.5<br /><br />https://sourceforge.net/project/showfiles.php?=199098&group_id=309570package_id<br /><br />For a complete package views:<br /><br />https://sourceforge.net/project/showfiles.php?group_id=199098<br /><br />I'm cooking in the kitchen: FreeMind and GanttProject<br /><br />stay tuned ;)<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com4tag:blogger.com,1999:blog-7355358662376644399.post-85405473896018001562009-01-07T17:07:00.002+01:002009-01-07T17:23:40.914+01:00Pidgin 2.5.3 with Facebook for Ubuntu and Acer AspireOne<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://myjobspace.co.nz/images/pidgin/facebook_buddy_list.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 199px; height: 203px;" src="http://myjobspace.co.nz/images/pidgin/facebook_buddy_list.png" alt="" border="0" /></a><br /><br /><br />[ITALIAN]<br /><br />(tomo tomo cacchio cacchio): regalino della befana<br /><br />Pidgin 2.5.3 versione SpatialBundle0.9.38.4 aka 'Impavid Bacon' ;)<br /><br />Just for you now sports new features:<br /><br />- File md5 di consistenza lo trovate subito sotto nel link di download<br /><br />- Facebook integrato nativamente (funziona è fico e finalmente non devo aprire più quella palla di pagina)<br /><br />- Compatibile con Ubuntu 8.04, Ubuntu 8.10 e nientepopodimeno che Acer AspireOne con Linpus (uno SpatialBundle..è/sarà/chissà/sperem ovunque e per sempre)<br /><br />Dovete sapere che Linpus non supporta xmessage nativo di X.org (grave per me) ciò mi ha costretto a cominciare a sviluppare la versione zenity based ed ora potete manipolare nell'AspireOne il menu contestuale dalla tray area via zenity...qualche piccola noia ma funziona..ci sto lavorando alacremente sopra..<br /><br />Di seguito il link:<br /><br /><a href="http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4?use_mirror=switch">http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4?use_mirror=switch</a><br /><br />md5:<br /><br /><a href="http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4.md5?use_mirror=switch">http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4.md5?use_mirror=switch</a><br /><br />Come semper voster:<br />1) Scaricare<br />2) Tasto destro - Proprietà - Aggiungere eseguibilità al file<br />3) Doppio click e parte direttamente<br /><br />Nell'AspireOne dovete aprire il file manager ed andare nella cartella Scaricati/Downloads<br /><br />A voi<br /><br />"Feel Better"<br /><br />[ENGLISH]<br /><br />Pidgin 2.5.3 version SpatialBundle0.9.38.4 aka 'Impavid Bacon';)<br /><br />Just for you now sports new features:<br /><br />- File md5 consistency can be found just below the download link<br /><br />- Facebook integrated natively<br /><br />- 100% compatible with Ubuntu 8.04, Ubuntu 8.10 and derivatives, Linpus Acer AspireOne (a SpatialBundle .. is / will be / somewhere / anywhere, and hopefully forever...one day)<br /><br />You must know that Linpus does not support natively xmessage of X.org (serious to me) that I was forced to start developing the zenity based and now you can manipulate the context menu from the tray area via zenity ... some little boring but it works. . I'm working hard on ..<br /><br />Below is the link:<br /><br /><a href="http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4?use_mirror=switch">http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4?use_mirror=switch </a><br /><br />md5:<br /><br /><a href="http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4.md5?use_mirror=switch">http://downloads.sourceforge.net/infodomestic/ioPidgin2.5.3-Ubuntu8.04_InfodomesticObjects0.9.38.4.md5?use_mirror=switch </a><br /><br />As semper voster:<br />1) Download<br />2) Right click - Properties - Add to the file executability<br />3) Double click and you start directly<br /><br />For AspireOne you've to open the file manager and go in the Downloads folder to find out what you've downloaded before with Firefox<br /><br />Dedicated to you<br /><br />"Feel Better"<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-53812549852048558562008-12-18T16:21:00.002+01:002008-12-18T16:49:45.660+01:00Thinks that took me busy in my spare time<b>Thinks that took me busy in my spare time<br /><br /></b>Releasing SpatialBundle with my new 0.9.36 technology which embeds the new "Send to Bluetooth" item menu and a lot of fine tunings and fixings.<br /><a title="Packaged KDE 4.2, Songbird 1.0" target="_blank" href="https://sourceforge.net/project/showfiles.php?group_id=199098" id="cdbd">Packaged KDE 4.2, Songbird 1.0</a> and released on sourceforge.<br /><br />Started to revamping the zynAddSubFX interface introducing colors and improving usability and interactions...<br /><br />Following my screenshots:<br /><br /><div id="urt1" style="padding: 1em 0pt; text-align: left;"><img style="width: 352px; height: 257px;" src="http://docs.google.com/File?id=dcddgdmx_252fq58jdhg_b" /><div id="n0n_" style="padding: 1em 0pt; text-align: left;"><img style="width: 372px; height: 272px;" src="http://docs.google.com/File?id=dcddgdmx_253hsvnqjh2_b" /><br /><div id="wtom" style="padding: 1em 0pt; text-align: left;"><img style="width: 774px; height: 325px;" src="http://docs.google.com/File?id=dcddgdmx_254gxk4fsdv_b" /></div><div id="ajgi" style="padding: 1em 0pt; text-align: left;"><img src="http://docs.google.com/File?id=dcddgdmx_255ppsp3ffr_b" height="583" width="778" /></div><div id="qomx" style="padding: 1em 0pt; text-align: left;"><img style="width: 1024px; height: 768px;" src="http://docs.google.com/File?id=dcddgdmx_256fzkbpckm_b" /></div><div id="f1w." style="padding: 1em 0pt; text-align: left;"><img style="width: 572px; height: 402px;" src="http://docs.google.com/File?id=dcddgdmx_257g7pjzgcg_b" /></div><div id="opzj" style="padding: 1em 0pt; text-align: left;"><img style="width: 1024px; height: 768px;" src="http://docs.google.com/File?id=dcddgdmx_258xndk3jwp_b" /></div><div id="h8n4" style="padding: 1em 0pt; text-align: left;"><img style="width: 572px; height: 402px;" src="http://docs.google.com/File?id=dcddgdmx_259fwhbtbdz_b" /></div><div id="up7q" style="padding: 1em 0pt; text-align: left;"><img style="width: 1024px; height: 768px;" src="http://docs.google.com/File?id=dcddgdmx_260ddfm6nvh_b" /></div><div id="z7uq" style="padding: 1em 0pt; text-align: left;"><img style="width: 532px; height: 387px;" src="http://docs.google.com/File?id=dcddgdmx_261cx5ftrq7_b" /></div><div id="qj18" style="padding: 1em 0pt; text-align: left;"><img style="width: 572px; height: 402px;" src="http://docs.google.com/File?id=dcddgdmx_262cgnkdfhd_b" /></div><div id="ixja" style="padding: 1em 0pt; text-align: left;"><img style="width: 1024px; height: 768px;" src="http://docs.google.com/File?id=dcddgdmx_263d78tzhgf_b" /></div><div id="ujp4" style="padding: 1em 0pt; text-align: left;"><img style="width: 572px; height: 402px;" src="http://docs.google.com/File?id=dcddgdmx_264dnsdvzgr_b" /></div></div></div><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com1tag:blogger.com,1999:blog-7355358662376644399.post-33441319657179070962008-11-10T12:13:00.003+01:002008-11-10T12:25:53.958+01:00ioSeq24 0.8.7 in SpatialBundle 0.9.33[Italian]<br /><br />Operazione "Feel Better" :)<br /><br />Come sempre a voi un bel SpatialBundle fresco di giornata.<br />Oggi una dedica ai musicisti che hanno bisogno di un sequencer puro senza fronzoli.<br /><br />Seq24 un ottimo prodotto che può pilotare multipatter in parallelo via canali MIDI dedicati.<br />Insomma il marakanà alla stato puro con una semplicità mostruosa..<br /><br />Ora ancora più semplice perchè come al solito non richiede installazione grazie alla tecnologia SpatialBundle<br /><br />Costruito per Ubuntu 8.04 e testato allegramente (ci ho suonato tutto questo w-e) su Ubuntustudio 8.04.1<br /><br />l'ultima Seq24 0.8.7 in SpatialBundle 0.9.33<br /><br /><a href="http://downloads.sourceforge.net/infodomestic/ioSeq24_0.8.7-Ubuntu8.04_InfodomesticObjects0.9.33">http://downloads.sourceforge.net/infodomestic/ioSeq24_0.8.7-Ubuntu8.04_InfodomesticObjects0.9.33</a><br /><br />P.S. per i curiosi con seq24 ho pilotato un Mini Moog e due Jupiter 8 in parallelo e suonavano da dio!!<br /><br />[English]<br /><br />Operation Feel Better ":)<br /><br />As always to you a nice fresh SpatialBundle.<br />Today a dedication to musicians who need a sequencer pure without frills.<br /><br />Seq24 an excellent product that can drive multipatter in parallel via MIDI channels dedicated.<br />So the "marakanà" the pure simplicity with a monstrous ..<br /><br />Now even easier because as usual does not require installation thanks to technology SpatialBundle<br /><br />Built for Ubuntu 8.04 and tested merrily (I played there all this wee-end) on Ubuntustudio 8.04.1<br /><br />Last Seq24 0.8.7 in SpatialBundle 0.9.33<br /><br /><a href="http://downloads.sourceforge.net/infodomestic/ioSeq24_0.8.7-Ubuntu8.04_InfodomesticObjects0.9.33">http://downloads.sourceforge.net/infodomestic/ioSeq24_0.8.7-Ubuntu8.04_InfodomesticObjects0.9.33</a><br /><br />P.S. for the curious with seq24 I have driven a Mini Moog and two Jupiter 8 in parallel and played by god!<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com2tag:blogger.com,1999:blog-7355358662376644399.post-6188811812622592422008-08-28T17:51:00.002+02:002008-08-28T18:11:48.778+02:00Something that could really change thinksAfter years of parsing of packaging systems, software distribution technologies, OSX Bundles, ROX AppDir, GoboLinux way to do thinks, Autopackage, Klik & Co, BSD Ports, PC BSD way to spread to the world catalog software, Java WebStart, NetBSD pkgsrc, ex Lindows ;) klik like catalog with browser integration to mimic dmg OSX management...and so on.. I made SpatialBundles.<br /><br />Single file full application bundles that you can manage like any other file in an typical human object oriented way...move, remove, send without using any intermediate layer like gio/kio/gvfs & co just use the power of file system engine (the layer exported from the kernel and available in the same way to all).<br /><br />I think the best way to feel what I mean is to test on the road software packaged with SpatialBundle technology.<br /><br />here you can taste it:<br /><br /><a href="http://downloads.infodomestic.com">http://downloads.infodomestic.com</a><br /><br />Today the SpatialBundles are build with Ubuntu Linux but in future will be easy to build against any UNIX flavor like *BSD, OSX and Windows that support POSIX shell<br /><br />To better feel the power of what I did just start to taste Winamp that represent more than one technologies glued together into a SpatialBundle.<br /><br />SpatialBundle is made for generic human that does not like complexity.Think my little children or my grandmother, peoples that does know about computer but want just make few direct click to object oriented thinks.<br /><br />The process to manage a SpatialBundle is reduced to:<br /><br />1) Download from internet or receive it by mail or by USB key or by CDROM or what else you think it's better for you..<br />2) Add exec attribute on the file<br />3) Double click on it<br /><br />Then you have your application running<br /><br />No root password<br />No installation<br />No dependencies required other than provided by the standard Ubuntu (Operative system) first installation.<br /><br />SpatialBundle now support freedesktop menu and hidden configuration and local files.<br />When you start a SpatialBundle an icon appear into desktop and into tray icon.<br />The icon tray let you access to a little menu to better manage the package (About,Open,Send,Reset) i.e. the Send item let you send your bundle via mail (in the future by bluetooth like you can find into generic mobile phone) or send to Desktop or a selected folder...<br /><br />At this point of my development cycle I think that there is nothing equivalent to the world like SpatialBundles they seems to be really unique.<br />I know that there is a lot of very closed technologies around here but nothing so extreme closed to an file/objects without any dependencies other that POSIX shell.<br /><br />SpatialBundle are self protected against code injection so it's up to the distribution to provide catalog based key signed.<br />If code injection was made, SpatialBundle does not start at all.<br /><br />The portability of a SpatialBundle is granted by using the most portable and available language that is POSIX shell.No Perl, no Python, no Ruby no other dependencies in term of language other than posix shell.<br />This help me to think in term of easy migration through OSs like OSX, BSD and finally Windows (why not!!).<br /><br />Today I'm fine tuning the builder before release as GPL source code but you can freely use the SpatialBundle I already made now.<br /><br />Hope this will help you to thread better your life<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com1tag:blogger.com,1999:blog-7355358662376644399.post-42213997694967890972008-07-31T18:14:00.001+02:002008-07-31T18:15:52.254+02:00ioWinamp 5.54 Infodomestic Objects 0.9.30.9Operazione "Feel Better" ;)<br /><br />per i nostalgici<br />per chi non sa cos'è<br />per chi vuole provare<br />per chi ne ha bisogno<br />per chi non ne può fare a meno<br />per chi non passa a Linux perchè esiste esclusivamente per Windows<br />per tutto il resto del mondo...<br /><br />ioWinamp5.54 SpatialBundle per Ubuntu 8.04 Hardy Heron<br /><br />Screenshot e Download qui:<br /><br /><a href="http://releasesinfodomestic.blogspot.com/">http://releasesinfodomestic.blogspot.com/</a><br /><br />come al solito<br />1) scarica<br />2) aggiungi attributo eseguibile al file<br />3) doppio click sul file<br />4) Godi!<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-14591043784999388942008-07-29T17:31:00.003+02:002008-07-29T17:46:48.916+02:00Nuovi SpatialBundle in versione 0.9.30.9 "Feel Better"Riporto direttamente l'annuncio svolto nella messagebox di Pollycoke.net:<br /><br /><dl><dd class=""> <p>Operazione ”Feel Better” :)</p> <p>Ho rilasciato ulteriori SpatialBundles e qui nella penombra li annuncio in anteprima in onor del nostro PollyCoke:</p> <p>DIA 0.96.1<br />ioDia0.96.1<br /><a href="http://downloads.sourceforge.net/infodomestic/ioDia0.96.1-Ubuntu8.04_InfodomesticObjects0.9.30.9?use_mirror=osdn" rel="nofollow">http://downloads.sourceforge.net/infodomestic/ioDia0.96.1-Ubuntu8.04_InfodomesticObjects0.9.30.9?use_mirror=osdn</a></p> <p>Notepad++ 5.0.2 per Linux (si avete sentito bene)<br />ioNotepad++5.0.2<br /><a href="http://downloads.sourceforge.net/infodomestic/ioNotepad%2B%2B5.0.2-Ubuntu8.04_InfodomesticObjects0.9.30.9?use_mirror=osdn" rel="nofollow">http://downloads.sourceforge.net/infodomestic/ioNotepad%2B%2B5.0.2-Ubuntu8.04_InfodomesticObjects0.9.30.9?use_mirror=osdn</a></p> <p>RealPlayer 11 GOLD<br />ioRealPlayer11GOLD<br /><a href="http://downloads.sourceforge.net/infodomestic/ioRealPlayer11GOLD-Ubuntu8.04_InfodomesticObjects0.9.30.9?use_mirror=osdn" rel="nofollow">http://downloads.sourceforge.net/infodomestic/ioRealPlayer11GOLD-Ubuntu8.04_InfodomesticObjects0.9.30.9?use_mirror=osdn</a></p> <p>e con questo mi gioco il post che forse va tutto a spam…</p> <p>Come al solito<br />1) Scarica<br />2) aggiungi attributo eseguibile o da terminale chmod +x NOMEFILE<br />3) Doppio click sul file<br />4) Godi e sentiti meglio…piu leggero, piu vuoto, inspira ed espira…</p> <p>:)</p> <p>Luca</p></dd></dl><br />Aggiungo che presso:<br /><br /><a href="http://infodomestic.wiki.sourceforge.net/page/edit/0.9.30.9">http://infodomestic.wiki.sourceforge.net/page/edit/0.9.30.9</a><br /><br />C'è il changelog della versione 0.9.30.9 e che da oggi in poi riporterò li le versioni.<br />Ho deciso che per ora wikispaces su sourceforge mi fa decisamente comodo.<br />Specifico che Notepad++ che ha vinto anche il Source Forge Awards 2008 è la versione Windows originale ma fatta girare sotto Linux ...I feeel Gooood!<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-91679656857317738262008-07-14T10:15:00.001+02:002008-07-14T10:24:11.007+02:00Compri un cellulare? Attento alle radiazioni..[copia ed incolla da Radiogiornale, l'organo ufficiale dei radioamatori d'italia]<br /><br />Tra i criteri di scelta dei modelli va valutato anche il livello di emissioni. Certificato da una tabella<br /><br />Quando si acquista un cellulare bisognerebbe buttare un occhio anche a un valore che ne indica la emissioni chiamato, italianizzando un po' la definizione, rateo di assorbimento specifico. Secondo il Cellular Telecommunications Industry Association (CTIA), lo specific absorption rate, il cui acronimo è SAR, indica la quantità di emissioni elettromagnetiche dei cellulari assorbite dal corpo umano.<br /><br />I VALORI DI RIFERIMENTO - La Sar viene sempre espressa in Watt per chilogrammo e la soglia massima di radiazioni varia da Paese a Paese. In Europa è di 2 Watt/Kg, negli Stati Uniti è di 1,6 Watt/Kg. Più basso è il valore SAR, minore è la radiazione assorbita dal corpo. La webzine Cnet propone una tabella ragionata dei vari valori per modello e marca, arrivando alla conclusione che non ci sono marchi buoni o cattivi, ma semplicemente modelli attenti a questo aspetto non meno importante del prezzo o delle performance, anche se ancora gli studi non hanno dimostrato verità assolute sulla<br /><br />I DIECI MIGLIORI E PEGGIORI – Nella tabella di Cnet tra i 10 cellulari con livelli di Sar più alti troviamo sei modelli Motorola (che risulta indubbiamente un marchio poco attento), il RIM BlackBerry Curve 8330, il Samsung SGH-C417. Tra i dieci modelli meno «pericolosi», c'è invece l'LG Chocolate KG800, due Motorola Razr, ben tre modelli Nokia e Samsung. L'iPhone è grosso modo a metà. La classifica è comunque indicativa, poiché il numero di radiazioni assorbite varia anche a seconda del soggetto che ne fa uso. In tutti i casi il valore Sar è un aspetto da non trascurare. Ed è bene sapere che nelle istruzioni per l'uso deve essere sempre specificato e, qualora non lo sia perché si tratta di un modello vecchio, si può farne richiesta al produttore.<br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Secondo i ricarcatori passiamo troppo tempo parlando al telefonino</span><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">La prima regola, condivisa da tutti: "Niente apparecchio ai bambini"</span><br /><br />"E adesso spegnete il cellulare"<br /><br />L'appello di un pool di scienziati<br /><br />PARIGI - Primo, siate brevi: non prolungate le conversazioni al cellulare, i possibili rischi sono proporzionati alla durata delle chiamate. Secondo, siate sintetici: usate gli sms o la email, diminuisce così l'impatto elettromagnetico. Terzo, non abbiate fretta: quando si tratta di comunicazioni professionali, amorose o comunque lunghe, prendete un momento per fermarvi a parlare da un telefono fisso. Quarto, siate prudenti: tranne che in casi urgenti, non date mai un cellulare a un bambino sotto ai 12 anni, gli organi in via di sviluppo sono quelli più sensibili alle onde elettromagnetiche.<br /><br />Sono alcune delle regole contenute nel nuovo "codice di condotta" pubblicato ieri da una ventina di scienziati internazionali specializzati nella lotta ai tumori, tra cui l'italiano Franco Berrino e il popolare autore francese del bestseller "Guarire", David Servan-Schreiber. Un appello che non vuole essere un allarme. "Siamo in un momento in cui la ricerca dibatte ancora sui rischi del cellulare" spiega Henri Pujol, presidente della Lega contro i tumori. "Proprio per questo bisogna essere prudenti". Non ci sono prove certe della tossicità dei cellulari, ma quasi tutti gli studi confermano che un'esposizione prolungata favorisce la comparsa di "glioma", ovvero tumori del tessuto del sistema nervoso centrale. I ricercatori però si dividono sull'incidenza di questo rischio: c'è chi lo considera "basso" e chi addirittura pronostica un raddoppiamento dei tumori.<br /><br />Certi punti di questo nuovo vademecum sembrano di difficile applicazione, come tenere sempre il cellulare a oltre un metro di distanza dal corpo (perché così l'impatto elettromagnetico diminuisce di cinquanta volte). La raccomandazione sui bambini forse è arrivata già troppo tardi: un bambino su cinque possiede il cellulare alle medie e quattro su cinque al liceo. Altri consigli sono facili da seguire: per esempio, verificare prima di comprare un apparecchio il codice Sar (Specific Absorption Rate) che misura l'assorbimento delle onde da parte del corpo. Minore è il Sar meno, in teoria, ci sono rischi. Altre regole, ancora, suggeriscono una piccola rivoluzione di vita e comportamento: chiamate brevi, niente telefono in treno o in macchina. "Non si tratta di demonizzare il cellulare. Nessuno di noi, tra l'altro, ci ha rinunciato" premette Servan-Schreiber, psichiatra all'università di Pittsburgh.<br /><br />Paradossalmente, l'unica cosa certa è che c'è incertezza sulla tossicità dei cellulari. Poche assicurazioni oggi coprono il rischio da onde elettromagnetiche e molti fondi d'investimento hanno richiesto maggiori informazioni sanitarie per misurare l'affidabilità delle società di telecomunicazioni quotate in Borsa. "Il nostro appello - spiega Thierry Bouillet, oncologo all'ospedale Avicenne di Bobigny - si rivolge ai produttori: avrebbero tutto l'interesse a limitare gli eccessi da telefonino".<br /><br />Un invito rivolto anche ai governi e ai ministeri della Salute, "troppo spesso conniventi con le lobby dell'industria" scrivono gli scienziati. "Oggi viviamo una situazione simile a quella di cinquant'anni fa, con l'amianto e il tabacco" conclude il documento. Meglio dunque adottare piccoli accorgimenti, sapendo che un rischio per la salute c'è. Se piccolo o grande si scoprirà in futuro.<br /><br />PERCHÉ INTERPHONE NON E' ANCORA STATO RESO PUBBLICO?<br /><br />Il più importante studio sui rischi<br /><br />del telefonino continua a ritardare<br /><br />I dati emersi rimangono misteriosamente in attesa di pubblicazione<br /><br />Le informazioni contenute nello studio Interphone – un progetto internazionale da 15 milioni di euro coordinato dall'Agenzia internazionale per la ricerca sul cancro (Iarc) per identificare possibili relazioni tra tumori di testa e collo e utilizzo dei telefoni cellulari – avrebbero dovuto essere rese pubbliche più o meno tre anni fa, ma i ricercatori coinvolti nel progetto continuano a tergiversare e non si decidono a rivelare i risultati della ricerca. Come mai?<br /><br />SOSPETTI – Secondo indiscrezioni, il motivo di tale ritardo risiederebbe nel fatto che le informazioni raccolte negli ultimi 10 anni nei 13 Paesi interessati dall'indagine confermerebbero la pericolosità del dispositivo portatile più popolare del mondo. Ma la spiegazione ufficiale di tale ritardo è un'altra. A quanto pare, infatti, gli scienziati sono divisi: stanno discutendo dell'attendibilità dei dati forniti dai pazienti e non riescono ad accordarsi sull'interpretazione degli stessi in rapporto alle emissioni elettromagnetiche. Come ha spiegato l'oncologo svedese Lennart Hardell, la «memoria fallibile» di chi è malato di tumore al cervello è il motivo principe del disaccordo tra gli specialisti: secondo alcuni, le informazioni fornite dai pazienti che hanno partecipato alla ricerca potrebbero non essere attendibili, e questo vizierebbe di fatto i risultati del rapporto Interphone. Quindi pubblicare i dati così come sono «non sarebbe onesto nei confronti dei consumatori: lo studio è stato pagato con soldi pubblici e gli scienziati hanno una responsabilità», ha sottolineato Hardell.<br /><br />PUBBLICAZIONI E CAUTELA – Tuttavia, alcune delle nazioni coinvolte nel progetto hanno già pubblicato parte dei risultati, rivelando dati poco rassicuranti. Come per esempio che il rischio di ammalarsi di tumore è più elevato per i cosiddetti heavy users, ossia coloro che hanno utilizzato il cellulare sempre dallo stesso lato della testa per un periodo di tempo superiore ai 10 anni, Ma la World Health Organization la Commissione europea hanno provveduto ad avvertire che fino a quando lo studio Interphone non sarà ufficialmente reso pubblico, qualsiasi conclusione sui rischi derivanti dall'uso del telefonino non potrà essere considerata attendibile. E a quanti seguitano a chiedere quando saranno finalmente diffusi i dati di Interphone, i responsabili rifilano sempre la solita risposta standard: «Se tutto va bene, presto».<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-17010148766822281682008-06-16T15:36:00.004+02:002008-06-16T15:53:26.762+02:00Nuovi SpatialBundles disponibili in Download<p>Ho inserito il seguente avviso nella MessageBox di <a href="http://www.pollycoke.net/">pollycoke.net</a></p><p>Sono disponibili SpatialBundles freschi freschi:<br /><br />ioOpenOffice3beta m17<br />ioOpera9.50.2042<br />ioFileZilla 3.0.10<br />ioFlock1.2.1<br />ioGthumb2.10.6<br />ioNautilusMultiviewJM (con le tab)<br />ioZim0.25<br /><br /><a href="http://sourceforge.net/project/showfiles.php?group_id=199098">http://sourceforge.net/project/showfiles.php?group_id=199098</a><br /><br />Costruiti su Ubuntu Hardy 8.04 come al solito non richiede installazione o password di root, ma semplicemente scaricate ed eseguito dal desktop dopo avergli aggiunto l'attributo di eseguibilità con il tasto destro sul file -> proprietà -> permessi oppure direttamente da terminale con il seguente comando:<br />$chmod +x ioPROGRAMMA<br /><br />Nel link di download troverete anche:<br />ioGnomeCommander1.2.6<br />ioEvince2.22.2<br />ioFileRoller2.22.3<br />ioGedit2.22.1<br />ioGftp2.0.18 (con le iconcine personalizzate)<br /><br />Tutto questo ioQUALCHECOSA è dovuto ad una forzatura mia per distinguere in modo netto rispetto alle versioni originali rilasciate dai rispettivi maintainers/distributori <br />"io" sta per Infodomestic Objects ed è agganciato in modalita CaMel style.<br /><br />Spero che possa fare cosa gradita :)<br /><br />Istruzioni indolori per usare NautilusMultiview (Jared Moore) cone le tab:<br /></p><p>Copiate lo SpatialBundle nella vostra cartella personale (evitate il desktop)</p><p>Aggiungete al pannello l'applet: Esegui applicazione...</p><p>Cliccate su: Sistema->Preferenze->Sessioni</p><p>Cliccate sul tab: Sessione corrente</p><p>selezionate la voce: nautilus --sm-config-prefix BLAHBLAHBLABH</p><p>cliccate su: Rimuovi</p><p>cliccate su: Applica</p><p>Non vi preoccupate di quello che osservate ovvero sparisce momentaneamente nautilus (niente di grave tra poco riappare e nella peggiore delle ipotesi un logout e login lo riavvia)</p><p>Tornate ora sull'applet Esegui applicazione... nel pannello e cliccate</p><p>Clicca su: Esegui con file...</p><p>vi si apre il selettore dei file</p><p>cercate nella vostra cartella personale lo SpatialBundle ioNautilusMultiviewJM2006.06.06_InfodomesticObjects0.9.29.2</p><p>(siete liberi di rinominarlo come volete)</p><p>Ora cliccate su: Esegui</p><p>Da questo momento in poi riparte Nautilus nuovo con le tabs abilitate...godete e replicatevi</p><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-73800528766493507222008-06-03T11:33:00.001+02:002008-06-03T11:36:25.065+02:002 prototipi di finestra di dialogo Undo - Close e Undo - OK<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_owNzdt4y3qA/SEUQZP3xniI/AAAAAAAAAz4/_KYigCBdzk8/s1600-h/UndoClose.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_owNzdt4y3qA/SEUQZP3xniI/AAAAAAAAAz4/_KYigCBdzk8/s400/UndoClose.png" alt="" id="BLOGGER_PHOTO_ID_5207586570067090978" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_owNzdt4y3qA/SEUQaHHCShI/AAAAAAAAA0A/ZAAZJiE0jHc/s1600-h/UndoOk.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_owNzdt4y3qA/SEUQaHHCShI/AAAAAAAAA0A/ZAAZJiE0jHc/s400/UndoOk.png" alt="" id="BLOGGER_PHOTO_ID_5207586584895048210" border="0" /></a><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-29423248094985172092008-04-28T09:54:00.004+02:002008-04-28T11:24:57.820+02:00[The Road To...] Lunedi 28 Aprile 2008 03:34 A.M.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_owNzdt4y3qA/SBWE6B0EAhI/AAAAAAAAAzw/F8HiHd0wFcs/s1600-h/Schermata.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_owNzdt4y3qA/SBWE6B0EAhI/AAAAAAAAAzw/F8HiHd0wFcs/s400/Schermata.png" alt="" id="BLOGGER_PHOTO_ID_5194203877695816210" border="0" /></a><br /><br /><a href="http://bp0.blogger.com/_owNzdt4y3qA/SBWEoR0EAgI/AAAAAAAAAzo/PJi3f_fhm4M/s1600-h/Schermata.png"></a>Questo fine settimana lungo l'ho dedicato principalente a due attività:<br />1) Km e Km di mountain bike qui intorno i castelli romani<br />2) Avanzamento dei lavori sui SpatialBundles con finalmente la versione 0.9.x dalla quale si atterra direttamente alla 1.0 usando la numerazione di wine ovvero 0.9.x con x intero senza limiti mentre prima x era intero massimo 9 dopodiche si avanzava alla versione successiva.<br />Attualmente sto debuggando la versione 0.9.9 in quanto per qualche malinteso non si avvia più l'applicazione incorporata dalla tray.<br />Il problema è legato all'unset di alcune variabili di ambiente.<br />Ne approfitto per lavorare sul pacchetto <a href="http://downloads.sourceforge.net/infodomestic/ioAmuleAdunanzaFlamingo1.2-WxGTK2.8.7-Ubuntu7.10_InfodomesticObjects0.9.9?use_mirror=osdn">ioAmuleAdunanzaFlamingo1.2</a> la quale versione funziona trasparentemente su Ubuntu Gutsy Gibbon 7.10, Ubuntu Hardy Heron 8.04 e Debian Lenny, mi ero ripromesso di lavorare anche sulla Xandros versione eeePC e lo faccio appena ho tempo di settare una chroot dedicata.<br />Il settaggio di una chroot Xandros verrà prodotta in questo modo:<br />• Memoria USB da 8GB (SD HC con adatttore USB)<br />• Installazione da DVD sulla memoria SD via USB<br />• Copia immagine dell'installazione su disco rigido<br />• Esecuzione di uno script che automaticamente monta l'immagine rw in loopback binding di /dev /proc nell'immagine montata e poi chroot.<br />In questo modo cerco di massimizzare la trasportabilità del chroot tra macchine differenti in quanto manipolo un singolo file (due con lo script di inizializzazione), controllo dello spazio occupato in quanto una volta saturata l'immagine disco ho una barriera per non saturare inconsapevolmente il disco che lo ospita (problema che mi si ripresenta spesso agendo indiscriminatamente con apt-get install o apt-get build-dep nelle chroot).<br /><br />SpatialFactory0.9.9 presenta ora un codice nettamente ripulito.<br />Ora è possibile passare i classici parametri a linea di comando che questi verranno trasparentemente passati al binario dell'applicazione ospite.<br />passando l'opzione --help risponde l'help del Bundle se si passa l'opzione --help-all risponde l'help degli eseguibili binari<br />A titolo di esempio:<br /><br />ioAmuleAdunanzaFlamingo1.2-WxGTK2.8.7-Ubuntu7.10 --help<br />########################################################################################<br />## Infodomestic Objects http://www.infodomestic.com/ forge.objects@infodomestic.com ########################################################################################<br />## Luca Cappelletti (C) 1995 - 2008 Released under GNU/GPL (www.gnu.org) #<br />## luca dot cappelletti at gmail dot com<br />##########################################################################<br />Usage: ioAmuleAdunanzaFlamingo1.2-WxGTK2.8.7-Ubuntu7.10 [OPTION]...<br /><br />Defaults for the options are specified in brackets.<br /><br />Configuration:<br />-h, --help display this help and exit<br />-hh, --help-all display all options you can pass directly to the binary<br />-r, --reset, --restart reset and restart the main application program<br />-f, --free free the cache and clean the memory stopping running processes<br /><br />Mentre se passo il parametro --help-all (funziona solo con lo SpatialBundle in cache e quindi dopo averlo eseguito la prima volta) ritorna:<br /><br />amule --help:<br />Usage: amule [-v] [-h] [-i] [-geometry <str>] [-d] [-o] [-r]<br />-v, --version Displays the current version number.<br />-h, --help Displays this information.<br />-i, --enable-stdin Does not disable stdin.<br />-geometry:<str> Sets the geometry of the app.<br /> <str> uses the same format as standard X11 apps:<br /> [=][<width>{xX}<height>][{+-}<xoffset>{+-}<yoffset>]<br />-d, --disable-fatal Does not handle fatal exception.<br />-o, --log-stdout Print log messages to stdout.<br />-r, --reset-config Resets config to default values.<br /><br />ed2k --help:<br />aMule ED2k link parser v1.1.1<br /><br />Usage:<br /> --help Prints this help.<br /> --version Displays version info.<br /><br /> ed2k://|file| Causes the file to be queued for download.<br /> ed2k://|server| Causes the server to be listed or updated.<br /> ed2k://|serverlist| Causes aMule to update the current serverlist.<br /><br />Come vedete in sequenza elenca diligentemente gli help dei singoli binari con bit eseguibile prensenti nell'applicazione incorporata.<br />E' un processo creato automaticamente durante il build del bundle.<br /><br />Qualsiasi parametro non contemplato nell'elenco dei vari help standard verrà passato direttamente al binario principale dell'applicazione (in questo caso 'amule')<br />Per evitare errori inaspettati è sempre meglio passare i parametri tra virgolette "" in questo modo anche errori di parsing del codice possono essere raggirati.<br />E' mia intenzione fare in modo che l'utilizzatore abbia carta bianca nel passare parametri arbitrari ai multipli binari eseguibili presenti nell'eventuale applicazione ospite (ad esempio aMule ha due binari uno è 'amule' l'altro è 'ed2k'), penso ad applicazioni del calibro di KOffice dove la cartella degli eseguibili presenta tutti i binari di applicazioni variegate come KWord KChart i quali meritano un eventuale trattamento dedicato.<br /><br />Ho cambiato il tema per le applicazioni GTK vestendo ora Murrine che fortunatamente è anche standard in Ubuntu 8.04. La versione del tema è la compact che riduce lo spreco dello spazio del monitor cosi da massimizzare l'usabilità nei sistemi UMPC tipo eeePC con schermo max 10 pollici a 1024x768.<br /><br />Dal punto di vista dello sviluppatore ora lo SpatialBuilder 0.9.9 capisce se si sta lavorando in un terminale/screen o dal desktop e si comporta di conseguenza per il feedback.<br />Nel secondo caso fornisce il feedback da una console xterm che verrà automaticamente chiusa al termine del build.Dopo questa fase viene eseguito il file manager del sistema host per puntare al pacchetto costruito.E' in grado di manovrare GNOME Nautilus, KDE Konqueror, KDE Dolphin, ROX Filer, XFCE Thunar, nel caso usa come fault-back una session xterm puntata alla cartella di build dalla quale è possibile operare il test o le classiche manipolazioni sui file.<br />Essendo il build basato su servo-terminale è possibile costruirci intorno sistemi automatizzati per build multipli.<br /><br />Arrivare alla 1.0 significa fornire agli sviluppatori, manutentori, packagers uno strumento integrato semplice che permette, basandosi su elementari poche regole, di costruire uno SpatialBundle da poter distribuire a tutti liberando l'utilizzatore finale dall'egemonia centralista dei package manager catalog based di qualsiasi titolo (esempio: apt,rpm,yum.PackageKit,pkgsrc, etc. etc.).<br />Con gli SpatialBundle finalmente il catalogo sarà solo un servizio a valore aggiunto e non una necessità intrinseca alla struttura come lo è oggi (usare i deb al di fuori della gestione di apt è da folli).<br />SpatialBundle si vuol inserire senza sostituire ma integrandosi nell'ecosistema della distribuzione del software e più in generale di dati a qualsiasi titolo (anche fosse un semplice film).<br />In futuro sarà possibile ad esempio distribuire un film incorporato in uno SpatialBundle con un player dedicato e fare in modo ad esempio che sia visualizzabile anche su macchine che non possono avere installato un player per motivi di licenza o altro.<br />L'utilizzatore in questo caso si limita a ricevere il file e cliccarci sopra ed il film viene eseguito in visione.<br />Sono le 4.50 direi che posso andare a sdraiarmi che alle 6.45 mi devo preparare per andare al lavoro...<br />Chiudo la sessione "Macinacodice" aperta giovedi sera...<br />per ora è tutto a presto :)<br />Luca Cappelletti<br />http://developer.infodomestic.com<br />luca dot cappelletti at gmail dot com (Mail, GTalk e MSN)<br />luca dot cappelletti (Skype quando mi ricordo di accenderlo)</yoffset></xoffset></height></width></str></str></str><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-44420868005952457532008-03-10T15:09:00.001+01:002008-03-10T15:12:26.023+01:00[The Road To...] Domenica 9 Marzo 2008Questi due giorni li ho passati nello sviluppo della versione 0.8.9.2 dello SpatialBuilder che è la tecnologia integrata in uno SpatialFactory produttore di uno SpatialBundle che contiene un CrossBundle.<br /><br />Nella considerazione di funzionamento multipiattaforma ho dovuto rivedere l'utilizzo della progress bar di zenity nei nuovi termini multipiattaforma e quindi cominciare ad integrare le widgets di dialog, la quale progress bar viene definita "gauge".<br /><br />Le widgets dialog non sono installate di default su tutti i sistemi ed in particolare non lo è in Ubuntu Linux Hardy Heron 8.04 e quindi il suo utilizzo è delegato alla presenza di un precompilato embedded come payload<br /><br />Il problema del precompilato è la necessità di fornire un binario per piattaforma rompendo cosi la premessa di trasparente multipiattaforma dello SpatialBundle che è basato, per ora, sullo scripting shell POSIX con qualche richiamo specializzato a bash (DEPRECATED da risolvere).<br />Il binario multipiattaforma in oggetto è relativo solo alla tecnologia di building per sviluppatori SpatialBuilder quindi comunque rivolto ad un bacino di utenza più specializzata e tollerante agli attriti cognitivi o eventuali fine tuning forzati.<br />Il costo di manutenzione di sviluppo multipiattaforma di dialog, se confrontato a quello attuale del solo SpatialBuilder, è alto, in quanto il suo sviluppo richiede una compilazione completa per piattaforma cosa che non avviene con bash (il quale richiede solo fine tuning sulla piattaforma testata).<br />L'utilizzo dei servizi dell'host è fortemente promosso (zenity,kdialog).<br />Dialog deve rappresentare, lì dove è necessario e possibile, un fault back di emergenza.<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-46582784807578974382008-03-04T15:18:00.004+01:002008-03-04T15:28:15.550+01:00Vote my Idea to improve login manager capabilities<center><a href="http://brainstorm.ubuntu.com/idea/3079/"><br /><img src="http://brainstorm.ubuntu.com/idea/3079/image/1/" /><br /></a></center><br /><br />Please vote my Idea :)<br /><br />"Auth against any of the OpenID/Yahoo/Google/Facebook/Twitter/Meemi... into your local login manager (when network is available otherwise use the classical mapped local login user). "<br /><br /><a href="http://brainstorm.ubuntu.com/idea/3079/">Click and vote</a><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-46649762287966314102008-02-17T23:47:00.002+01:002008-02-17T23:51:29.963+01:00free SOME' quasi arrivato il momento di aprire una bella petizione online per chiedere l'apertura con licenza open source del SOM di OS/2 di IBM.<br />Ci ritroveremo cosi a programmare un'applicazione per SOM e visualizzarla nativamente in KDE o GNOME...<br /><br /><p>SOM (System Object Model) is a library packaging technology that enableslanguages to share class libraries regardless of the language they werewritten in. This ability to share class libraries between various objectoriented languages solves many interoperability and re-use problems betweenobject oriented and non object oriented languages as well. </p><p>Key characteristics of SOM in support of these key commercial requirementsinclude: </p><p>- the ability to create portable shrink wrapped binaries </p><p>- the ability to create class libraries in one language that can beaccessed and used by other languages </p><p>- the ability to subclass from binaries even if they were written ina different language </p><p>- the ability to add new methods and relocate existing methods withoutre-compilation of the application </p><p>- the ability to insert new classes into the inheritance hierarchy withoutrecompiling the application. </p><p>SOM provides an object model distinct from those contained in objectoriented programming languages yet does not interfere with the use of thosemodels in the same application that is using SOM. In addition, SOM canbe used with procedural programming languages thus providing an objectmodel for those languages that do not have one. </p><p>SOM consists of an Interface Definition Language (with an accompanyingcompiler), a run-time environment with procedure calls, and a set of enablingframeworks. </p><p>SOM is an IBM technology that is being licensed to other companies inanticipation of extending its benefits to heterogeneous environments. Inaddition, a number of language vendors are working on providing nativeSOM capability for their compilers.</p><div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com2tag:blogger.com,1999:blog-7355358662376644399.post-24673899744705483702008-02-11T10:38:00.000+01:002008-02-11T10:40:03.474+01:00Un approfondimento su ninux.org per una rete liberaOgni giorno mi confronto con i colleghi ed amici che non sanno nulla di reti libere, di possibilita tecnologiche per liberarsi, e di concetti stessi di liberta (è assurdo ma è la realtà misurata di ogni giorno).<br />Cio che noi diamo per scontato non lo è affatto per queste normalissime persone (normali dal punto di vista della conoscenza delle tecnologie sociali moderne che rendono sempre piu possibili la vera democratizzazione dei popoli).<br />Io li osservo come fossero anestetizzati.<br />Dobbiamo prendere in considerazione la lingua che parlano queste persone e con questa aprire un canale di connessione. per poter cominciare a comunicare con loro.<br />A me verrebbe di pensare alla costruzione di un manifesto da pubblicare, un manifesto cosi come lo è la licenza GPL o the Jargon File a titolo di esempio.<br />Una sorta di contratto che guarda solo l'aspetto umanitario ed implementativo della questione.Un aspetto che si eleva e si distanzia da qualsiasi posizione religiosa, politica, o di appartenenza se non alla pura liberta.<br />Niente politica nel senso volgare cosi inteso mediamente in questo paese.<br />Niente terminologie di massa e speculazione verbale.<br />Dovremmo presentarci come un sistema associativo (vedi ad esempio ONLUS) che vuole mirare esclusivamente ad un'implementazione tecnico/sociale per fornire una struttura di riferimento sulla quale, liberamente, la popolazione puo aggiungersi per "prendere e dare".<br />Con l'essere quindi "di utilità sociale", sfruttare la legge a proprio favore, dimostrando ancora che con la democrazia si costruisce la democrazia.<br />Dovremmo prendere esempio dalle realtà sociali virali che sono nate grazie alla rete.<br />FON è un esempio notevole, ma anche i modelli di sviluppo e pervasività si Seattle Wireless per non parlare delle metodologie delle reti peer2peer e chissa quanto altro...<br />E perche no un giorno FreeNet su mesh Ninux con routing Netsukuku ;)<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-9880434056493098022008-02-05T16:40:00.000+01:002008-02-05T17:01:56.642+01:00SpatialBundles piccola presentazione presso pollycoke.netIn seguito al presente articolo su <a href="http://pollycoke.net/2008/02/04/meglio-di-apple-klik-sognare-e-lecito/">http://pollycoke.net</a><br />lavorando su un progetto analogo mi sono sentito di intervenire con un post per esplicitare meglio il mio lavoro:<br /><br /><blockquote></blockquote>Buongiorno a tutti,<br /><br />vorrei portare alla vostra attenzione un progetto tutto italiano che sto sviluppando con certosina pazienza che cerca di risolvere una buona parte dei problemi introdotti da tutti i sistemi in Bundle oggi esistenti.<br /><br />Alcuni riferimenti diretti qui:<br /><br />http://developer.infodomestic.com<br />https://sourceforge.net/project/showfiles.php?group_id=199098<br /><br />Di seguito lo skeleton che sto usando per la costruizione del Bundle:<br /><br />http://it.wikipedia.org/wiki/SpatialBundles<br /><br />in particolare uno scambio di punti di vista con Alexander Larsson<br /><br />http://lists.freedesktop.org/archives/xdg/2007-September/008812.html<br /><br />In poche parole uno SpatialBundle è un Bundle semicompleto che vive in un file e necessita quasi esclusivamente per funzionare della shell POSIX (ora bash ma poi dash compatibile) e di xmessage per alcune interazioni.<br />Ad oggi lo sviluppo avviene tramite Ubuntu quindi sfrutto anche una componente di zenity e della system tray per migliorare l'esperienza di ritorno con l'utente, ma ho intenzione di rendermi indipendente anche da loro.<br /><br />Alcune differenze dagli altri sistemi ormai noti come glik klik AppDir & co sono:<br /><br />Vive in un file ed in quanto tale è manipolabile come un file.<br />Non necessita di istallazione 1 programma = 1 file = 1 click per eseguirlo (a meno del doppio clik)<br />Non necessita di infrastrutture esotiche tipo FUSE<br />Non necessita di accesso root<br />Non necessita di preinstallazione di programmi proxy tipo klik<br />Si comporta come un eseguibile al pari di glick ma con qualche riserva in quanto è un file shell con il payload incorporato (usa il codice di makeself/loki)<br />Lavora in ambiente di memoria protetto e non permette il code injection in quanto ogni esecuzione del bundle ha un controllo checksum e crc di consistenza.<br />Non usa file immegine cramfs o altro.<br />Non sporca il file fstab<br />La sua architettura interna è 100% ROX Application Directory (ho inserito anche il proxy standard AppDir) compatibile e presenta una compatibilità in via di miglioramento con le Application Bundle di OSX/NEXTSTEP.<br />In particolare se con il ROX filer si visita la cartella Programs che contiene la cache dello SpatialBundle è possibile vedere direttamente un'icona in stile ROX ed avviare dalla cache l'applicazione (operazione non necessaria).<br /><br />L'esecuzione del Bundle produce un menu contestuale presente nella tray per il controllo primordiale del Bundle stesso compresa la rimozione della cache (che viene comunque rimossa ad ogni riavvio del computer).<br />E' progettato per venire incontro alle esigenze della "Nonna".<br />Soffre di alcune latenze al primo avvio che sono funzione dell'espansione del file nella cache.<br />Sto progettando un metodo statistico che cone le dovute premesse conservative migra la cache da disco a ram pura per velocizzare l'avvio di applicazioni pesanti (ad esempio OpenOffice).<br /><br />Vorrebbe essere multipiattaforma attaversando GNU/Linux - BSD - OSX - Windows (ovvero li dove è possibile installare una shell standard POSIX o al limite bash).<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com2tag:blogger.com,1999:blog-7355358662376644399.post-11093010070068777942008-02-05T12:40:00.000+01:002008-02-05T12:46:11.377+01:00del WiMax una nota polemica...ogni tanto ci scappaOggi sulla lista di ninux.org dove sono iscritto per seguire gli sviluppi della rete libera ho postato il seguente messaggio:<br /><br />Ho la depressione in corpo.<br />Tanto per cominciare WiMax almeno qui in Italia = pagare per la liberta di parola<br /><br />Ovvero uno strumento super promosso dallo stato per la trasmissione della liberta di parola è in mano all'economia ovvero i monopoli accentratori che hanno come prima regola il profitto.<br /><br />Poi vogliamo parlare di come lo stato che sia di destra o di sinistra mai e poi mai abbia in modo risolutivo promosso il WiFi verso unicamente la sua popolazione.Ovvero liberalizzando senza mezzi termini l'utilizzo delle frequenze per a/b/g/n.<br />Invece oggi ci ritroviamo a cercare di aggirare la legge per essere legali quando dovevamo concentrarci, grazie alla relativa legge, a costruire esclusivamente la struttura per la liberta.<br />Ma dove siamo a Cuba!!!In Corea del Nord??<br /><br />Ci hanno regolamentato tutto pur di avere il controllo dell'informazione.Anche le onde acustiche!! Mica possiamo gridare...è vietato!! (gridare quando non si manca di rispetto il prossimo si intende ;).<br /><br />Tutta questa storia che come l'aria dovrebbe essere scontata, mi sfinisce, anche se non mi abbatte affatto.<br />Ma certo che l'Italia almeno sotto questo punto di vista fa proprio cagare!!! ma di brutto!!<br />Non è piu una questione di chi voti...tanto come la metti loro hanno delle politiche piu generali che vanno bene a destra e a sinistra...ovvero opprimere la circolazione delle informazioni perchè in questo modo si decentralizza il potere...ovvero lo si passa dallo stato centralizzatore alla sua popolazione, con, reciprocamente, vantaggi e svantaggi.<br /><br />Facessero quello che vogliono con il WiMax per me ci si possono strozzare..io vorrei che il WiFi fosse veramente all 100% libero ovvero, niente tasse, niente vincoli etc etc (per non parlare della storia dei ponti laser!!! incredibile).<br /><br />Ma cosa dobbiamo fare?? referendum? ma a chi bisogna tartassare ogni giorno fino alla fine dei tempi per avere sto WiFi libero??<br />Scusate lo sfogo...ma sono depresso!!<br /><br />Ciao,<br /><br />Luca<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-86160945300084499272008-01-30T16:59:00.000+01:002008-01-30T17:15:41.225+01:00SpatialBundle 0.8.9 con ioAmuleAdunanza come road testNel frattempo sono arrivato alla versione 0.8.9 degli Spatial Bundles con i quali ho costruito:<br /><br /><a href="http://sourceforge.net/project/showfiles.php?group_id=199098&package_id=260886">ioAmuleAdunanza3.11b</a><br /><br />Ovvero ricompilato aMule Adunanza 3.11b ed impacchettato in un Bundle per i cari nostrani che usano FastWeb.<br />Scaricate e cliccate sopra e quello parte :)<br />Non richiede installazione o password di amministrazione.<br />Piu Click n Run di cosi si muore...non c'è nulla di equivalente oggi in ambito Linux che possa minimamente confrontarsi con questa soluzione..provare per credere oramai è qualche anno che li testo e sviluppo spero che il 2008 sia l'anno del rilascio della 1.0 vedremo.<br /><br />Per farvi capire, normalmente aMule richiede una dipendenza stretta con un framework di nome wxWidgets che viene fornito dai repository di Ubuntu basta installarli :) facile a dirsi per chi non capisce nulla di informatica ma vuole semplicemente usare aMule per scaricarsi illegalmente il TOMTOM ;).<br />ioAmuleAdunanza contiene gia le principali dipendenze inglobandole con se e sollevando l'utilizzatore dell'impegno di risolvere tramite strumenti esterni il problema....<br /><br />In questo caso l'utilizzatore scarica il file che per sicurezza non è eseguibile, poi aggiunge l'attributo di eseguibilita dalle proprietà del file e quindi ci clicca sopra ed attende.<br /><br />Niente installazioni il programma parte direttamente<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com3tag:blogger.com,1999:blog-7355358662376644399.post-66396118176520791462007-10-15T16:14:00.000+02:002007-10-15T16:17:51.408+02:00[The Road To...] Domenica 14 Ottobre 2007Mattina:<br />Riduco al minimo l'utilizzo di zenity in favore di xmessage prima di finire di mettere completamente a punto ioDialog che rappresenta l'oggetto di dialogo di Infodomestic Objects (wrapper a tutte le forme di widget dialogs disponibili sulle distribuzioni).<br />Test su Ubuntu Dapper, Ubuntu Feisty, FreeBSD 6, PCBSD, Sun Solaris 10<br />TODO: pulizia zenity con xmessage<br />La dicitura:<br />xmessage -center -buttons Yes,No -default No -print message<br />scrive il messaggio "message" con i pulsanti [Yes][No] e default evidenziato su [No], cliccando su un pulsante ritorna il nome del pulsante.<br />10:59<br />99% delle dipendenze a zenity sono state escluse e sostituite dal più flessibile xmessage.<br />Rimane la principale dipendenza che permette la manipolazione del system tray elementare.<br />A differenza di Zenity con xmessage è possibile integrare testo di Help per le scelte da operare.<br />Nei messagi di conferma dove compare solo il classico testo piu pulsante tipo:<br />--------------------------------------------------<br />"Ciao tutte le cose sono state svolte!!"<br />[OK]<br />--------------------------------------------------<br />Ho inserito un delay di 5 secondi per auto chiudersi.<br />Dipendenze da risolvere:<br />System tray entry per il primo menu e File selector per la scelta di destinazione del Send to...<br />Questi due componenti possono essere completamente riprogrammati con FLTK o simili.<br /><br />11:24<br />Trunk SpatialFactory 0.8.8<br />0.8.8 usa xmessage per comunicare.<br />Si aspetta due file proxy di nome: ioNomeProgramma e ioWrapper in Contents/Resources/bin per la gestione dei binari reali<br /><br />12:47<br />Attualmente nella modalità --silent si perde completamente il controllo della gestione del'oggetto, ovvero non si possono modificare gli attributi ne inviare messaggi per richiamare evetuali metodi (come per esempio il metodo Remove).<br />E' necessario introdurre un punto di ingresso sicuro tramite il file system come per esempio $HOME/Objects all'interno del quale replicare la vista di ioDock e permettere di accedere ai metodi esposti nel tray:<br />About<br />Open<br />Send<br />Controls<br />Remove<br /><br />Quindi ioDock può far riferimento diretto a $HOME/Objects<br /><br />Ad ogni esecuzione diretta copia l'oggetto ioMenu in $HOME/Objects ed esegue $HOME/Objects/ioProgrammaMenu --Open<br />Ad ogni Remove rimuove anche il relativo $HOME/Objects/ioProgrammaMenu<br />Se si esegue Open e ioProgramma non è disponibile allora autorimuove $HOME/Objects/ioProgrammaMenu e rilascia un messaggio di avvertimento.<br />Ciò preserva da evenutali condizioni di inconsistenza dove è presente il Menu ma non il programma.<br />ioProgrammaMenu è uno SpatialBundle<br /><br />14:58<br />Primo wrapper 100% convertito in Object Rexx.<br />Nel frattempo la legna nel camino viene divorata dalle fiamme tramite una funzione gradino del tipo: Ciocco umido->Brace ... non c'è gusto<br />Devo cambiare notebook a passare a qualcosa con monitor max 15pollici, case alluminio, doppio processore 64bit super efficiente, batteria eterna, wifi e bluetooth, super scheda grafica 3D OpenGL con tanta RAM non condivisa.Ma i Powerbook ultima serie ci si avvicinano?Vedremo.<br /><br />20:45<br />Mollo tutto e mi faccio una minidose di tenente Colombo e poi Heroes a tutto spiano.Rexx puo aspettare.<br />Dopo vomito pe la giornata in modalita macinacodice...ora mi godo il trip televisivo.<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-14788831571487478592007-10-04T11:53:00.000+02:002007-10-04T11:55:34.688+02:00[The Road To...] Sabato 15 Settembre 2007I post The Road To vengono prodotti con tomboy in modalita macinacodice.<br />Questi poi vengono tenuti in stagionatura in .tomboy fino a quando non mi rendo conto che mi sto ricordando di doverli postare!!!<br /><br />---<br /><br />18:00<br />E' dalle 9:30 di questa mattina che sono testa chinata sulla tastiera ad emettere flussi di bit.<br />Ho preparato un ambiente di runtime per REXX tramite Regina.<br />Ora si clicca sul Bundle ioReginaREXX e si avvia un terminale dedicato all'interno del quale è disponibile l'ambiente interpretato di Regina e quindi possibile passargli uno script .rexx da eseguire.<br />L'ambiente ha con se tutte le variabili di ambiente settate e disponibili, nonchè una shell ristretta.<br /><br />Penso che gli sviluppatori di applicazioni desktop che richiedono un'interfaccia grafica, oggi dovrebbero preoccuparsi di offrire con la stessa applicazione delle interfacce separate e dedicate per classi di dispositivi.<br />Ad esempio:<br />Personal computer con monitor da almeno 8/10 pollici<br />Dispositivi mobili con monitor 4/8 pollici<br />Dispositiv mobili con monitor max 4 pollici.<br /><br />Insomma la stessa applicazione ricompilata per un Nokia N73, per un Palm Tungsten, Per un Nokia N800, per un table da 10 pollici, per un iBook 12 fino a un desktop da 20 pollici, etc etc... dovrebbero avere delle interfacce grafiche disegnate esplicitamente per quel tipo di visualizzazioni.<br />E' lo stesso problema che i designers web incontrano ed affrontano già da tempo.<br />Quindi mi auguro che in futuro essi sviluppano più di una interfaccia dedicata.<br />Oggi è possibile pensare seriamente all'utilizzo di interfacce AJAX locali, chiaramente supportate da motori di rendering superveloci che tengono il passo con i widget classici.<br /><br />20:49<br />Compilato e "Bundlizzato" ioLibnotify che verrà usato come componente di notifica dagli SpatialBundles.<br />Sarà onnipresente in ogni Bundle come carico pagante da 405Kilos<br />Il Dock tray implementato già da almeno una settimana funziona a meraviglia.La sua garanzia di funzionamenteo è strettamente vincolata all'utilizzo di Ubuntu Feisty.Questo concetto necessità di seria revisione ponendo in primo piano elementi quali: indipendenza dal gnome -panel e dal system tray applet di gnome.<br />In poche parole potrebbe essere necessario prendere in considerazione un pannello gtk/gnome agnostico che puo girare ovunque e che abbia un system tray bay standard che accetti icone svg/png da 128px.<br /><br />Devo costruire un sistema di notifica basato su named pipe e non su librerie da compilare.<br />Il sistema, li dove presente, esegue il faultback a libnotify altrimenti esegue la sua notifica nativa da implementare con widget leggeri e super specializzati.<br /><br />Il prossimo sistema di notifica sarà basato su OSD per operare un rinforzo informativo sulle attività dei Bundles.<br /><br />Le notifiche devono poter operare ed essere esplicitate anche in una console.<br /><br />Infodomestic Objects non vuole reinventare un mondo su tutte le piattaforme come sta riuscendo egregiamente Gnome tramite le sue librerie specializzate, ma vuole dare una forma al mondo che già esiste utilizzando scalpello e collante.<br /><br />Mi è stato chiesto da un ragazzo americano di creare il Bundle di Pidgin.<br />La mia attuale toplist comprende:<br /><br />GIMP<br />Calcolatrice<br />Terminale<br />Text Editor<br />Browser Web<br />Calendario<br />Thunderbird<br />Rubrica condivisa<br />Pidgin<br />Gnumeric<br />Abiword<br />Rhythmbox<br /><br />E' assolutamente fondamentale avere canvas con un widget crossplatform leggero che possa integrare una libreria di parsing e rendering Web2.0 (XHTML CSS2 ECMAScript/Actionscript).<br />Con questo canvas ultraspecializzato che può essere eseguito in qualsiasi environment X sarà possibile integrare le applet Dashboard di Apple, Google e Yahoo ed eseguire direttamente materiale Flash (per quelle Apple è necessario un ulteriore layer di adattamento che traduce le chiamate a OSX).<br />Questa peculiarita è un KillerApp per il Desktop Linux e dovrebbe essere seriamente presa in considerazione.<br />Qualcosa si muove nella giusta direzione grazie a KHTML ed incredibile a dirsi: Apple stessa.<br />WebKit è una tecnologia che emerge grazie ai lavori di Apple su KHTML e presto sarà pienamente disponibile anche per GTK.<br />Epiphany su WebKit è gia in lavorazione e porterà degli ottimi risultati.<br />Ci si può chiedere sul perchè non supportare Gecko nell'incarnazione XULRunner, la risposta è che ancora non ritengono il caso di sganciarsi definitivamente dai widget XUL based (il quale di per se è un ottimo linguaggio di marcatura per widget tipo GLADE).Ci sono dei timidi binding ma la leggerezza e l'integrazione nativa è ancora utopia per questo progetto megalitico.<br />Mozilla è ancora un mondo a se stante e cambieranno seriamente registro nel momento che WebKit si sarà pienamente diffuso erodendo quote a Gecko.<br />Installare Mozilla, oggi, è l'equivalente impegno di installare Java.<br />E' un ambiente di esecuzione generico con widget specializzati per il rendering web, ma non dista molto dal runtime Java per principi. Infatti possiamo costruire aplicazioni verticali specializzate ed eseguirle con lo XULRunner.<br />Il principio è ottimo ma l'implementazione è troppo pesante in termini di spazio occupato e latenze di parsing.<br />Questo è quanto riguarda il classico Firefox, ma qualcosa si sta seriamente muovendo in seno a Mozilla e Minimo è gia una sua risposta concreta.<br />Lo spinoff di Thunderbird potrebbe essere un primo segno di tentivo di ottimizzazione dei gruppi di lavoro.<br />Devono dare una risposta concreta altrimenti crolleranno sotto il proprio peso.<br /><br />23:54<br /><br />Prima di passare al nuovo giorno...<br />Con l'utilizzo del notify ho integrato uno screenshot dell'applicazione che si va avviando.<br />Il feedback è immediato in quanto la rappresentazione non è tradotta con un'icona approssimata, ma diretta con una fotografia del'applicazione stessa.<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0tag:blogger.com,1999:blog-7355358662376644399.post-7969329060096796362007-09-11T11:10:00.000+02:002007-09-11T11:23:26.554+02:00[The Road To...] Raccolta di appunti sparsi durante l'avanzamento di SpatialBundleMartedi 14 Agosto 2007<br /><br />01:30 A.M.<br />Con le modifiche apportate a Java6 entra prepotentemente in scena il wrapper per la prima diretta esecuzione di AppRun.<br />Il wrapper in questione si trova in Linux-ix86/bin e nell'ipotesi più semplice richiama direttamente il binario principale.<br />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.<br /><br />Dopo la prima esecuzione viene copiato AppRun.desktop in $HOME/Desktop/Broken_Link_You_Can_TRASH_It_$PROGRAMMA.desktop<br />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).<br />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.<br />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.<br />Il problema verrà meno quando in futuro sarà possibile incorporare le voci .desktop in script eseguibili.<br /><br />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.<br />Questa tecnica permette ai livelli superiori di poter effettuare il drop di un Jar su un ioJre e viceversa.<br />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.<br /><br />03:30 A.M.<br />Ho aggiunto la capacità di parsing dei programmi Java Web Start potenzialmente passabili dal Web Browser che deve risolvere il mime.<br />Un file .jnlp viene copiato in cache locale poi eseguito direttamente.<br /><br />• Lo SpatialBundle si occupa di eliminare il .desktop nel Desktop nel caso di ioProgramma --free<br /><br />04:35 A.M.<br />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.<br />File modificati makeself-header AppRunFooter fAppRun<br /><br />05:20 A.M.<br />Brancolo nel buio attivo la modalita debug diretta nel codice per sapere cosa succede.<br /><br />05:30 A.M.<br />file ed area di codice di bug ingaggiata<br /><br />05:45 A.M.<br />Bug Aperto<br />Trunk 0.7.5<br />Sessione Chiusa<br /><br /><br />Domenica 19 Agosto 2007<br />Colonna (Casteli Romani) - Rome Italy<br /><br /><br />01:27 A.M.<br />Aperta la sessione per risolvere il bug del trunk 0.7.5<br /><br />01:52 A.M.<br />Bug risolto ma sarebbe necessario che il CrossBundle riuscisse a distinguere tra una richiesta diretta da terminale ed un passaggio mime.<br />Il bug è risolto con default sul mime quindi: ..../bin/java -jar $YourPayLoad<br />La versione da terminale è momentaneamente commentata: ..../bin/java -jar $YouAreHere/$YourPayLoad<br />viene eseguito il parsing contro .jar e .jnlp per abilitare il mime sui file webstart anche tramite browser.<br /><br />02:43 A.M.<br />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...<br />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 ;-)<br />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).<br />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).<br />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 ;)<br />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.<br />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.<br /><br />05.28 A.M.<br />Uno SpatialBundle che contiene uno Jar esegue uno spatialbundle Jre passando se stesso come parametro a runtime.<br />Quindi:<br />$ioMioJar ioJre<br />esegue<br />$ioJre /tmp/Programs/ioMioJar/Linux-ix86/bin/MioJar.jar<br /><br />06:42 A.M.<br />Sessione terminata, svengo dal sonno.<br />Sviluppo un template per un wrapper al binario principale.<br />Se clicco ad un Jre mi chiede un Jar se clicco ad un Jar mi chiede un Jre.<br /><br />15:27 P.M.<br />Dormito,svegliato,bevi acqua,lava denti,doccia,piatto di muesly con yogurt all'Aloe.<br />Modalita MacinaCodice ON<br />No Stop Coding.<br /><br />19:18 P.M.<br />SpatialFactory 0.7.6 out.<br />Respatializing ioBash3.2 con SpatialFactory 0.7.6<br /><br />20:08 P.M.<br />Bundling SpatialFactory 0.7.6 per fornire agli sviluppatori un tool spacialized.<br /><br />Domenica 26 Agosto 2007<br />Colonna (Casteli Romani) - Rome Italy<br /><br />12:51 P.M<br />Dopo due giorni in modalità "macinacodice" full immersion sono arrivato alla versione 0.8.4<br /><br />Il mio attuale versioning funziona cosi:<br />X.Y.Z<br />dove X per ora è 0<br />Y ha un range da 0 a 9<br />Z ha un range da 0 a 9<br /><br />Z viene incrementato di una unità ogni qualvolta viene introdotto almeno una modifica strutturale dove le funzionalita (retrocompatibili) vengono modificate, eliminate, sostituite, aggiunte.<br /><br />Se vengono solo risolti bug questi vengono testati con versioni del tipo:<br />X.Y.Z.bugN<br />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).<br /><br />Ad oggi le funzionalità di Infodomestic Objects Spatial Bundles producono i seguenti effetti interattivi:<br />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.<br />Cliccando sull'icona rappresentativa nel system tray si apre un menu contestuale con le seguenti voci:<br /><br />About (informazioni testuali sul contenuto pagante dello SpatialBundle)<br />Clear (libera dalla memoria lo SpatialBundle)<br />Send to... (invia a: Cartella, Mail, Bluetooth, ....)<br />Properties (Statistiche dinamiche)<br /><br />18:14<br />SuperMegaBug risolto.<br /><br />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.<br />Ogni SpatialBundle dopo essersi aperto in un CrossBundle condiviso copia se stesso nella locazione condivisa.<br />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.<br />La chiusura del CrossBundle deve eliminare anche la presenza dello SpatialBundle condiviso.<br />Al riavvio del computer tutti i CrossBundle e SpatialBundle condivisi vengno eliminati.<br />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).<br />Il menu Send to... potrebbe prevedere la possibilità di osservare il contenitore di tutti gli SpatialBundles condivisi nel sistema dagli utilizzatori attivi.<br />Esempio:<br />Send to...<br />• Desktop<br />• Another Destination...<br />• Mail<br />• Bluetooth<br />• SMS<br />∘ Infrared irDa<br />• Open All Shared Items...<br /><br />Nel caso di tentata sovrascrittura nel Desktop o nella destinazione scelta l'azione ritorna un messaggio di avvertimento senza sovrascrivere.<br /><br />Modificato il menu Action le funzioni di:<br />About<br />Play<br />Controls<br />Remove<br />Send to...<br />Properties<br /><br />20:20<br />Ogni SpatialBundle ora viene condiviso in: /tmp/InfodomesticObjects/SpatialBundles/SharedItems/<br />cio comporta dei benefici per tutti gli utilizzatori concorrenti dello stesso computer.<br />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.<br /><br />Sabato 1 Settembre 2007<br />Colonna (Casteli Romani) - Rome Italy <br /><br />15:00<br />SpatialBundles con SpatialFactory 0.8.6<br /><br />Sessione SpatialFactory 0.8.6 aperta<br /><br />Modificato il menu Action le funzioni di:<br />About<br />Open<br />Send<br />Controls<br />Remove<br /><br />Remove è un'azione drastica che richiede maggiore riflessione e minore impulsività quindi viene posto alla fine dell'elenco.<br /><br />About al primo posto per sopperire anche ad eventuale click isterico.<br /><br />23:00<br /><br />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.<br /><br />Definizione: Considero un intorno stretto del nodo campione, il grafo costituito dai nodi connessi con una distanza massima di 3 dal nodo campione.<br /><br />Questo metodo dovrebbe permettere a SpatialBundle di trovare velocemente alcune dipendenze nel caso non le avesse con se.<br /><br />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).<br /><br />Domenica 09 Settembre 2007<br /><br />Implementazione della modalità di avvio --silent<br />Questa modalita deve permettere di caricare in memoria l'applicazione senza avviare interfaccie grafiche.<br /><br />La modalità si attiva con un'opzione passata allo SpatialBundle<br />ie: ioPippo --silent<br /><br />Questa modalità esegue le seguenti operazioni:<br />Carica la memoria.<br />Attiva la sua rappresentazione nel Tray.<br />E' necessario prevedere una funzione del tipo:<br /> --silent-nodock<br />che evita anche l'esplicitazione nel Dock.<br />Potrebbero beneficiare di questa funzione i Framework di supporto ad esempio Kdelibs, QT<br />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:<br /><br />ioQt --silent-nodock<br />wait<br />ioKdelibs --silent-nodock<br />wait<br />ioAmarok<br /><br />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.<br /><br />Nella lavorazione di SpatialBundle 0.8.8 integro la funzione fSay come primitiva del futuro ioSpeak.<br />Questa funzione sostituisce il normale output di dialogo con un dialogo dedicato per l'ambiente in uso.<br />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.<br />Sono stati presi in considerazione i seguenti widget sets:<br />Zenity<br />GDialog<br />KDialog<br />XDialog<br />Dialog<br />bash echo <br />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.<br />L'ultimo stadio è l'implementazione parallela di un sintetizzatore vocale che lavora in parallelo.<div class="blogger-post-footer">Emotional Design
infodomestic.ning.com</div>Luca Cappellettihttp://www.blogger.com/profile/17032207472077997592noreply@blogger.com0