.
Annunci online

Tutto quel che puo' venire in mente a un italiano che si e' sposato e spostato in california
21 maggio 2011
Tecnologie:AROS: Cooperare Necesse Est!
[Crosspost da AmigaNews.it]
Mi spiace di aver lasciato i lettori italiani orfani per un bel pezzetto dai miei post (almeno con uno ho rivitalizzato un po' la zombizzata attivita' cannocchializia grazie al facebook like :P); stranamente sto ancora raccogliendo i pezzi dal dopo-SCALE: sin da allora il mio portatile classe 2007 ha cominciato a sperimentare attivita' erratica, con lunghe pause tra un gruppo di dieci secondi nell'inserimento da tastiera, il mancato riconoscimento di periferiche USB incluse chiavette e il quasi regolare inchiodamento dei browsers quando cerco di guardare filmati flash o fare chiamate via google phone; aggiungiamoci un aumentato carico di lavoro (e un ridotto carico di soldi per lo stipendio :/) ed ecco un panorama abbastanza realistico della mia situazione attuale.

C'e' un articolo lasciato a meta' nel mio blog inglese qui, dove sto parlando degli sviluppi intorno alle ABI v1 e alle nuove funzionalita' nel kernel e nei driver (Screen dragging per VESA, modularizzazione del kernel); ho ancora diverse cose da trattare in dettaglio, incluse le ottimizzazioni fatte da Deadwood per alcune funzioni della graphics.libary e i lavori di Pavel "Sonic" Fedic per il subset grafico che dovra' essere usato per wanderer e la GUI; oltre naturalmente agli sforzi di Jason e Toni per i continui miglioramenti ad AROS 68k, che ora e' in grado di partire su alcune macchine con hardware reale (anche se ancora per ottimizzazione non ci siamo troppo); oltretutto le loro ottimizzazioni sono finora servite anche per migliorare la retrocompatibilita' di AROS e il funzionamento di alcune librerie native che non erano state finora toccate; infine devo segnalare la ripresa del lavoro di Kalamatee nel potenziamento di Wanderer e nella sua trasformazione in una applicazione modulare cui e' possibile aggiungere moduli esterni (il famoso tree qui mostrato qualche tempo fa ad esempio).

In Realta', pero', il focus di questo articolo e' un post che ho fatto sul forum di AmigaNews.it,proponendo il mio personale punto di vista su come una cooperazione potrebbe essere impostata tra Amiga OS, MorphOS ed AROS.

Il post e' riproposto qui sotto:

Pur vivendo fuori patria, certe volte mi e' ancora piu' facile mettere insieme le idee se ragiono in italiano, quindi prendo l'occasione di fare uno spin-off di questo thread su amigaworld.net in cui, per la terza(!) volta negli ultimi sei mesi si chiede se ci sia modo di unire le forze tra le vare incarnazioni degli amiga os.
Sono cosciente delle ormai chiare differenze architetturali e filosofiche delle incarnazioni deli amiga-like os, e anche delle forti opinioni degli sviluppatori dei sistemi; quindi non e' quello che andro' a toccare. Quel che mi preme invece e' sottolineare alcuni punti importanti:
1) i sistemi amiga e like hanno, se non ci si e' reso conto, una vasta copertura trasversale tra i vari processori (ARM[hosted] PPC X86 68k per AROS, PPC per OS4 e MOS, 68k per classic) e tra le varie fasce di prezzo (bassa per AROS, media per MOS e classic ed alta per os4);
2) e' noto che amiga e like sono ora praticamente relegati a una fascia hobbistica con un numero ristretto di utenti (nella singola unita' delle migliaia) che rende ardui anche investimenti commerciali ridotti non garantendo un ROI decente; Io penso che si dovrebbe trarre vantaggio di questi due fattori; piuttosto che avere la supremazia sul mercato di una incarnazione rispetto alle altre, in questo momento direi che la cosa piu' importante e' rendere noto che i sistemi amiga e like esistono, hanno una certa coerenza di base tra loro ed hanno tra tutti una ampia copertura dei segmenti di mercato, quindi accrescere la base totale degli utenti che usano sistemi amiga e like, non importa quale sia di questi; e, una volta che sono utenti, avere qualcosa per farli continuare ad usare i sistemi. Personalmente io ritengo che i sistemi amiga e like possono avere ancora dell'appeal soprattutto tra gli hobbisti non-amighisti che per un motivo o l'altro non volgiono usare windows/mac e hanno dei problemi ad usare linux: se si pensa che solitamente chi ha degli hobby non si limita ad averne solo in un campo ma puo' anche interessarsi di altre cose (modellismo,robotica,collezioni, radiomamatori,ecc.) .

[ipotesi]
Pensate al potenziale che potrebbe avere per una persona, ex amighista che magari si trova un vecchio pc e/o un mac ppc per casa o anche entrambi - non puo' usare applicazioni nuove causa obsolescenza;
il poter avere morphos ed AROS sulle due macchine che girano le stesse applicazioni le quali possono comunicare via rete e via AREXX sincronizzando i propri archivi o distribuendo l'elaborazione - un caso che mi viene in mente (anche perche' ne ho praticamente esperienza) e' del padre di un mio amico che e' radioamatore e usava amiga per gestire la sua stazione; ora come ora penso usi windows 98 ancora ma pensate se potesse usare sia il suo amiga che AROS sul suo pc e che in entrambi avesse programmi simili che comunicano via rete ed AREXX;
[/ipotesi]

Questo basato sul fatto che penso che per un hobbista anche appassionato di computer (possibilmente amiga) il poter usare il sistema preferito per svolgere le proprie attvita' hobbistiche rappresenti un valore aggiunto.

Per ottenere una situazione del genere pero' serve un minimo livello di cooperazione: ok non mi posso aspettare che gli sviluppatori di os4 mos ed AROS lavorino insieme su un progetto unico, ma quel che mi posso e, come utente, mi dovrei aspettare, e' che vengano predisposte alcune basi comuni per avere interoperativita' tra i sistemi.

Questo si ha fornendo strumenti adeguati agli sviluppatori e strumenti adeguati agli utenti. Per gli sviluppatori serve che delle librerie o delle tecnologie siano presenti su tutte e tre le piattaforme per facilitare lo sviluppo ed il port di applicazioni, assumiamo: MUI, AREXX,SAMBA, AHI, LUA/RUBY/PYTHON, e bindings alla zulu, magari anche QT e WXWIDGETS; poi ognuno se le gestisce come vuole sul proprio 'flavor' ma almeno le funzionalita' base devono esserci;

Per gli utenti deve esserci il modo di far parlare e lavorare i sistemi tra loro: esempi pssono essere due port dello stesso programma che parlano attraverso porte AREXX oppure un programma in lua o python che viene fatto girare su due sistemi amiga diversi ma si comporta alla stessa maniera grazie alla presenza di librerie come zulu (la mia preferita lo ammetto) che ne permettono il funzionamento.

Un approccio del genere permette da una parte di mantenere l'autonomia dello sviluppo dei sistemi amiga e di mantenere il segmento di mercato su cui il particolare sistema si e' focalizzato (vantaggio per gli svilupatori degli OS), dall'altra permette agli utenti di usare e far interoperare i diversi ambienti in maniera coerente (vantaggio per gli utenti) e infine la versatilita' di un approccio come descritto sopra ha il potenziale di portare nuovi utenti verso la soluzione amiga e like, in tutte le incarnazioni, aumentando il potenziale economico per eventuali compagnie che vogliano investirci (vantaggio per entrambi); infine, sognando un po', magari anche fare cose non standard tipo portare AROS su piattaforme 68k non-amiga (vecchi mac 68k, falcon, magari l'x68000) che portino un approccio piu moderno e funzionale anche su questi hardware, per far diventare i sistemi amiga e like una sorta di standard tra gli hobbisti.


Mi piacerebbe sentire pareri a proposito di questo mio punto di vista.


So che ho scritto un pappardellone nella parte superiore che dovrebbe essere esplicativo di per se, ma ci tengo a spiegarlo anche meglio:

- problema di base e' non che uno degli Amiga e like OS e' in rischio di scomparire; il problema e' che L'INTERA filosofia di Amiga e degli OS ispirati sta sparendo: gli utenti attivi sono nell'ordine delle singole unita' di migliaia, a causa di cio' l'ecosistema non e' commercialmente appetibile per nuovi programmi di una certa complessita', il pubblico piu' generalista e anche gli stessi smanettoni non ne conosce l'esistenza o lo considera estinto, soprattutto causa ricambio generazionale e un diverso approccio, piu' 'usa e getta' nei comfronti dell'hardware e del software.

Con una situazione del genere mettersi a fare le guerre tra vicini veramente non aiuta la situazione anzi la peggiora convincendo anche i piu' caparbi che veramente interessarsi e' una sorta di causa persa.

Quindi cosa ho proposto?
1) ogni OS continua ad interessarsi delle sue piattaforme hardware e delle sue tecnologie di base; se si considerano tutte e quattro le piattaforme ci si accorge (e lo ripetero' ad nauseam) che la copertura e' molto ampia;
2) si decide che ci sono alcune tecnologie (protocollo di rete, linguaggi di scripting, linguaggi interpretati con binding come lua/zulu, librerie quali ZUNE/MUI (ed anche nuove come magari QT,WXWDGETS come ho detto sopra), linguaggi di scirpting IPC like AREXX ) che devono almeno aderire a un subset di comandi e features comuni per interoperare tra i diversi sistemi; come ho detto nella risposta al thread questi bisogni non sono roba attuale, ma fanno parte integrante del moderno utilizzo di macchine in un network, e su queste cose gli amiga OS sono molto indietro:

In realta' gli strumenti di cui ho parlato, specialmente quelli concernenti l'interoperativita' tra macchine dovrebbero fare parte dell'arsenale di qualunque sistema operativo; problema (grosso) dell'originale Amiga OS e' quello di aver perso il supporto della casa madre poco prima di quando le piccole reti utente cominciavano a proliferare e quindi e' rimasto indietro con gli strumenti a disposizione: ogni sistema ed applicazione amiga e like necessita di fornire tali strumenti o comunque qualcosa che possa essere usato a tal pro indipendentemente dal fatto di comunicare con altri os4 o mos o con aros o con mac o linux o altri sistemi.



Se poi si riesce a fare la cosa in stile amighista tanto meglio.


3) -mi ripeto qui ma lo ritengo necessario - ci si rende conto che in questo momento l'idea stessa di Amiga OS, la sua filosofia di uso e operazione e le tecnologie correlate rischiano di scomparire; in questo momento e' importante aumentare la percezione esterna che questa realta' almeno ESISTE, e' usabile per scopi hobbistici, e, ripeto, presenta una soluzione d'approccio per quasi tutte le piattaforme esistenti (ok, molto tramite AROS, che e' pensato per essere portabile lo ammetto);
4) personalmente, quando ho visto materializzarsi finalmente il lavoro di Jason e Toni su AROS 68k ho pensato che questa potrebbe essere anche la volta buona per proporre AROS non solo come sistema alternativo per hardware Amiga e amiga-like homebrew, ma anche per altro hardware 68k e magari PPC, come gli old world power mac e cloni ed anche macchine come il Falcon, magari il nipponico x68000, persino (eresia?) gli ST - proponendosi per la sua leggerezza come standard piu' moderno e trasversale per continuare l'utilizzo su hardware piu' datato.

5) Ultima cosa, altra ripetizione ma altrettanto fondamentale per me e purtroppo la piu' difficile, e' il dover cambiare il modo di relazionarsi: io avevo smesso di usare Amiga in maniera esclusiva gai' da un alcuni anni quando la cosiddetta guerra 'red vs blue' imperava nei forum e mi stavo concentrando su altre cose quindi mi sono (fortunatamente) perso quella parte della storia amighista; sento dire da una parte come le divisioni siano ormai insanabili [e, in alcuni casi, tennute tali artificiosamente secondo me], ma vedo dall'altra parte persone, come il buon Fabien "fab1" Coeurjoly, itix  ed altri che danno consulenza ad altri sviluppatori a portare applicazioni da un sistema amiga all'altro (vedi OWB e mplayer per quel che riguarda fab, vedi screenrecorder per quel che riguarda itix); cosa che da come ho capito era semplicemente impensabile qualche anno fa; solo che tutto questo mi ricorda veramente come le cose vanno in un paesino di provincia, quale la situazione degli Amiga e like OS somiglia ora; avevo gia' fotografato la situzione nella risposta al forum:

...ammetto di non pensare alla cosa in termini commerciali, o almeno non in base di supremazia di uno sugli altri: il problema di base e' avere una maggiore user base trasversale tra tutti i sistemi e su quelo si dovrebbe lavorare, invece di fare le rivalita' tra vicini in un paesino sperduto ma circondato di ogni ben di dio di natura che nrischia di sparire da un giorno all'altro mentre anche solo fare una o due cose per bene porterebbe turisti e sviluppo - visto che QUESTA e' la situazione dei sistemi amiga e like: voi sarete anche contenti di essere il paesino e di essere in rischio di scomparire, io no: ci ho vissuto tutta la vita in un posto simile con simili dinamiche e so quando mi rode il fegato di vedere potenziale buttato alle ortiche per colpa degli ego di coloro che contano.


niente da aggiungere, penso si describa da solo; ora e' il momento di fare qualcosa di concreto.
15 maggio 2009
Diario: Tecnologie:AROS: Open Source: la dura e sconnessa strada per l'1.0...
Prima di tutto un grazie a quelle persone che leggendo questo blog mi hanno fatto raggiungere un semplice ma per me importante traguardo: quello dei 10000 lettori totali, anche se ci e' voluto circa un anno e mezzo. Grazie ancora a tutti voi!

Mi sono dovuto assentare per un po' dalla scena blog in quanto il mio laptop principale era stato messo in mal arnese da un virus ed ho dovuto riformattare e reinstallare il sistema operativo: ulteriore (sgradita) sorpresa e' il trovare che i DVD di backup che avevo fatto paiono non funzionare bene e quindi il mio drive virtuale di AROS potrebbe non essere recuperabile, fortuna che per lo script in lua lavoravo sotto windows e ho copie dello stesso su SD card.

Anche se Przemyslaw "Qus" Szczygielski ha aggiustato il suo pannello di controllo TCPPrefs per AROS, questo non significa che io debba abbandonare il mio progettino: i problemi al mio computer mi hanno fermato per un po' ma sono pronto a continuare; se non altro il relativo thread in aros-exec spero abbia valenza didattica sul come cominciare un progetto in Amilua. In caso e' mia intenzione di postare un tutorial quando avro' un po' di tempo.

Attualmente l'interfaccia utente e' stata impostata; i post di mazze e i vari tutorial sulle regular expressions mi hanno messo in grado di parsare i files di configurazione e di fare copie di backup degli stessi (per ora attraverso un leggi file originale e scrivi in un file copia); cosa mi manca? Primo, di poter impostare la casella a discesa sulla scheda di rete attuale una volta letta la configurazione e secondo di salvare la configurazione stessa con le modifiche da me apportate. Poi, se proprio volessi sggiungere una spruzzata di autocompiacimento, una voce di menu con l'about ;)


La mia applicazione-test configIP e parte del debug output

Una volta finito questo pannello, mi piacerebbe provare a scrivere qualcosa per settare il calendario di Amistart, uno dei pochi widget che abbiamo e che dovrebbe servire come esempio per scriverne altri, cosa che pero' al momento non avviene, oppure magari scrivere una applicazioncina semplice per una gestione rudimentale dei bookmark per OWB, anche se al momento pare non esserci modo di far aprire ad OWB un nuovo indirizzo tramite getURL, e lanciare OWB con la url come parametro si puo' fare solo per lanciare il programma, non per lanciare altre url di seguito a meno di non chiudere la sessione corrente, provato proprio ora....

All'inizio del mese ho aiutato a redigere lo status updarte del sito di AROS e ho detto che i progressi dei mesi scorsi hanno portato il sistema molto vicino alla soglia dell'utilizzo quotidiano; per arrivare a un reale utilizzo quotidiano pero' ci sono ancora diverse cose da affrontare e risolvere, sia dal punto di vista della disponibilita' del software sia da l punto di vista della stabilita' ed affidabilita' del sistema; Neil Cafferkey continua a lavorare sulla ata.device; essendo questo un componente critico di AROS, ogni volta che ci vengono messe le mani c'e' sempre il rischio concreto che qualche cosa non funzioni piu' come prima e, soprattutto, una volta aggiustato per bene, che ci si chieda come cavolo facesse a funzionare decentemente prima, ma andiamo con ordine.

Un patch aggiornato di ata.device era stato fornito con Icaros Desktop 1.1.1 ma l'aggiornamento era stato provvisoriamente rimosso da Paolo Besser in quanto provocava problemi seri su computers con scheda southbridge AMD SB600 o con architetture simili; nei quali la scrittura al disco ne rovinava la partizione; oltre a questo altri utenti si trovavano a vedere il solo puntatore con schermo nero; per questi la soluzione e' un pochino meno drastica; traduco dal sito di Icaros Desktop:

Se non potete fare il boot di Icaros e la fase di boot si ferma dopo che il puntatore e' apparso sullo schermo, per favore eseguite la seguente procedura per risolvere il problema:
  • accendete il PC;
  • scegliete una risoluzione dal menu di GRUB ma NON premete Enter;
  • invece premete 'E';
  • portate il cursore dopo la stringa "ATA=32bit" e cambiatela in "ATA=nodma" o "ATA=nopci" (a seconda di cosa funziona meglio sulla vostra macchina)
  • quindi premete CTRL+X per continuare la fase di boot;
Se la fase di boot ha successo aprite il file /boot/grub/grub2.cfg con l'editor di AROS, cercate per la stringa "ATA=32bit" e rimpiazzatela con "ATA=nodma" o "ATA=nopci". Puo' essere fatto facilmente usando la funzione "sostituisci" nel menu "Ricerca" dell'editor.

Parallelamente a questo, in risposta al problema esposto da Paolo Besser, Neil Cafferkey risponde sulla mailing list degli sviluppatori in questo modo:

Penso di aver trovato la causa di questi problemi: non vengono settati i registri temporizzatori (timing registers) del controller.

Suppongo che quando DMA funzionava *correttamente* nelle vecchie versioni del driver era solo per coincidenza? ata.device resettava il modo del drive precedentemente settato dal BIOS e quindi non c'era bisogno di cambiare i registri temporizzatori.

Se vogliamo usare un drive in un modo che non e' stato settato dal BIOS, dobbiamo settare i registri temporizzatori in modo che si sincronizzino con quel modo. Sfortunatamente, non c'e' uno standard comune per questi registri temporizzatori, e questo spiega il perche' ad esempio Linux possieda numerosi drivers PATA: uno per Intel, uno per ATI, uno per Silicon Image,ecc.

Questo problema probabilmente si e' accentuato a causa del fatto che la nuova versione del driver legge i registri di rapporto del cavo per determinare se un cavo a 80 fili - necessario per la modalita' ad alta velocita' UDMA - viene correntemente utilizzato. Il mio errore e' stato di presumere che tutti i controller PCI seguissero le specifiche T13 per questi registri, ma mi sarei dovuto ricordare del fatto che le specifiche sono state pubblicate solo recentemente, nel 2003. Le specifiche T13 sono implementate da Intel (e io possiedo solo macchine ed emulatori con il chipset Intel su cui fare i miei test) e io sosp[etto che le specifiche T13 non sono altro che il design finora utilizzato da Intel. Altri produttori hanno registri del controller incompatibili con questo.

Da cio' deriva che su dei controller non-Intel il driver determinera' scorrettamente che sono installati solo cavi a 40 fili e ridurra' il modo DMA da, diciamo, UDMA5 a UDMA2. Siccome la temporizzazione e' ovviamente sbagliata ecco che la corruzione dei dati e' inevitabile.

Come soluzione, almeno nel breve termine, propongo che ata.device non cerchi di settare un modo per ogni drive ma semplicemente rilevi e usi il modo gia' settato dal BIOS. Spero solo che questo non porti a un forte degrado della performance in molti casi: nel mio test sembra che i BIOS delle macchine piu' moderne siano gia' in grado di settare da soli il modo piu' adatto per ogni drive per default. Questa fix e' gia' testata in locale da me, inoltre ci stiamo gia' appoggiando al BIOS per settare gli indirizzi delle schede PCI e abilitare il bus-mastering quindi questo e' solo una cosetta in piu'.

Nel lungo termine invece dovremmo cercare di settare i temporizzatori da soli, ma questa pare essere una procedura complessa e probabilmente non porterebbe a nessun miglioramento di performance nella maggior parte dei casi.

Per aiutare a confermare la mia teoria, ho settato uno dei dischi del mio PC in modo MDMA via bios invece che UDMA, ed ata.device non e' riuscita ad accedervi dopo aver settato il drive in modo UDMA2. H funzionato perfettamente, invece, dopo che il BIOS ha settato il disco come UDMA (attualmente UDMA1 ma comunque abbastanza simile da non causare errori).


Una volta aggiustato ata.device l'aggiornamento 1.1.1 di Icaros e' stato di nuovo reso disponibile.
Paolo sul sito ha espresso come, nonostante lui stia cercando di fornire la massima stabilita' per quel che riguarda le librerie di sistema e i programmi supportati, possa capitare che certe cose non vengano testate a fondo, anche perche' non e' possibile farlo su tutte le configurazioni hardware; Paolo inoltre assicura come, nonostante l'attuale incidente, la situazione sia anche migliorata visto che ora AROS riesce ad avviarsi su macchine in cui finora non aveva mai funzionato e come i danni siano stati fortunatamente limitati anche dal fatto che gli utenti sono consci della natura ancora beta di AROS e cercano di prendere piu' precauzioni possibile visto che nei sistemi open source questo tipo di inconvenienti, senza andare a scomodare Linux e i suoi guasti, siano non dico frequenti ma accadono.

Recentemente Neil ha anche aggiustato altri problemi di ata.device, compreso il come ata.device sia stata convinta della presenza di due lettori DVD nel caso si usasse un lettore via SATA. Altri piani comprendono il cambio del sistema di numerazione delle periferiche dato da ata.device

 Attualmente Neil sta controllando la gestione DHCP che tende a bloccarsi e occupare la CPU al 100% in caso AROSTCP venga interrotto da comando CTRL-C o dal comando shell arostcp stop.

In parallelo Michal Schulz ha lavorato per accelerare la resa grafica sotto ATI Radeon, la scheda grafica che usa con Efika; Sia Michal che Kalamatee hanno appurato come il disegno dei temi rallenti notevolmente il refresh del Wanderer, cosa che su una scheda come la Efika viene avvertita particolarmente; Michal ha lavorato alacremente per accelerare le varie operazioni di redraw del display e i risultati su schede ATI Radeon,sia sotto Efika che sotto x86 sono notevoli: a dire di Nikos, tester dei driver, le prestazioni sotto x86 sono migliorate incredibilmente; Kalamatee, oltre a lavorare per migliorare Wanderer come gia' descritto in articoli precedenti, stava meditando di chiedere che gli venisse assegnata la bounty per ridisegnare il Graphic Subsystem, ma al momento non si sa niente di piu' su questo.

Infine da segnalare un avvenimento raro nell'attuale panorama amighista: con uno sforzo congiunto utenti di Amiga OS, MorphOS e AROS hanno partecipato a raggiungere il goal dei 4000 dollari per la Poseidon USB bounty: Anche grazie all' iniziativa individuale di un membro della comunita', che si e' offerto di raddoppiare le contribuzioni ricevute, l'attuale quota e' di 4170 dollari. Chris Hodges ha iniziato a lavorare al port, il cui sorgente verra' aperto e offerto con la APL license e questo permettera' anche agli altri sistemi amiga-like di fare i propri port ed estensioni dello stack.

A coloro al di fuori delle comunita' amighiste probabilmente il concetto di bounty e' sconosciuto, visto che sistemi quali Linux per i progetti piu' importanti ricevono donazioni da parte di quegli enti, commerciali e in qualche caso governativi interessati nella prosecuzione e mantenimento degli stessi; invece per comunita' molto piu' piccole, quali quelle Amiga MorphOS ed AROS il sistema delle bounty rappresenta il maggior canale (pressoche' unico per AROS) di finanziamento; quindi appartengono ancora di piu' alle comunita' stesse, essendo le comunita' stesse anche enti sovvenzionanti, un po' come le cattedrali del medioevo.

Un ultima parola a proposito del portale Aros-exec: venerdi 22 Maggio il portale era stato ancora una volta chiuso a causa del reiterarsi di un exploit malefico: questa mattina il portale e' di nuovo in linea, con una nuova versione di xoops patchata contro gli exploit e con un nuovo tema grafico.
Nonostante questo, ricordo che Aros-exec e' principalmente orientato agli sviluppatori piuttosto che agli utenti; per questi ultimi continuo a consigliare di rivolgersi in Arosworld.org.
TECNOLOGIE
28 gennaio 2009
Diario: Tecnologie: AROS: fine anno coi fuochi d'artificio!!! :)

Il mio fidato 1200/030 funziona da dio nonostante sia stato fermo tre anni

Dopo la pausa natalizia e quella nuziale,tornato negli stati uniti riprendo ad occuparmi di AROS.

Mentre ero via, appena possibile davo ogni tanto un occhio ai progressi fatti con il mio vecchio celeron a casa e un modem 56k: quindi non ho potuto vedere i video dimostrativi postati recentemente fino al mio ritorno negli states.

Ho anche, con mia gioia, riesumato il mio 1200 allo scopo di reitrovare altro materiale tipo vecchi .mod da mettere in linea ed appurato come dopo tre anni di immobliita' ancora faccia il boot quasi perfettamente (a differenza del piu' recente performa 6400 che non vede il suo stesso disco fisso :( ), ritrovando il vero feeling di un sistema Amiga sotto le mani e, volente o nolente, facendo il confronto con il sistema AROS con cui sto smanettando ora.
Per quanto sia un clone dell'Amiga OS 3.1 in origine, AROS ora si rivela chiaramente molto piu' intuitivo del vecchio 3.1, anche se, quando su AROS Dopus si incanta o i suoi bottoni non sortiscono effetti visibili mi smarrisco un po' . Che qualcuno lo aggiusti, please!!!

Proprio stasera ho installato la versione 1.0.2 di VmWAROS nella mia macchina VmWare: ho prima installato la 1.0 quindi ho montato la iso sulla macchina virtuale: AROS la ha individuata e montata (e questo solo prima di natale sarebbe stato impossbile senza riavviare); io non ho fatto altro che eseguire lo script "VmWupdate" (sotto my software/System Apps nell'amistart menu) e lo script di paolone ha aggiornato tutto abbastanza velocemente (un cinque/dieci minuti); ci giochero' di piu' nei prossimi giorni, anche perche' dovro' preparare per bene il mio intervento presso lo SCALE il prossimo 22 Febbraio.

Il 2008 e' sicuramente stato il miglior anno di AROS: bounties importanti quali l'autocompilazione e il port su SAM-440 sono state completate; soprattutto la prima, che ha anche collateralmente aumentato le possibilita' di portare software da altre piattaforme, insieme alla libreria GTK-MUI sviluppata da Kalamatee per E-UAE ; inoltre lo sviluppo di VmWAROS e' andato avanti fino alla versione 1.0.2, diventando piu' stabile con il passare del tempo e arricchendosi di peculiari caratteristiche quali ad esempio le newIcons, il lettore di files acrobat PoorPDF e AmiBridge, un semplice sistema di integrazione tra AROS e UAE basato su scripts adeguati.

Ma le cose piu' interessanti sono arrivate verso la fine dell'anno: il port in corso di ignition, programma di spreadsheet paragonabile come funzionalita' a un excel portato avanti da Matthias "Mazze" Ruster; il port eseguito da Krzysztof Smiechowicz di mplayer dal port MorphOS attualmente mantenuto da Fabien Coeurjoly che, pur essendo una "early beta" e con una GUI adeguata, ha portato anche sul nostro sistema il supporto video ed audio, e il port di Stanislaw Sszymczyk di OWB attualmente in corso. Su quest'ultimo torneremo piu' avanti.

Inoltre Michal Schulz sta andando avanti con le sue due bounties -il port di AROS su Efika e l'USB mass storage- ultimi suoi lavori su AROS prima di dedicarsi completamente ad Anubis: recentemente su IRC aveva menzionato di esser riuscito a bootare con un CD-ROMs USB AROS;  sul suo blog il dottor Schulz ha spiegato piu' in dettaglio cosa non andava per una gestione adeguata del boot da CD su AROS:

Ogni moderna periferica USB si presenta al sistema come una periferica memoria di massa "abbastanza" SCSI conforming. Quindi,se voglio fare una qualsiasi operazione di input/output. lo devo fare secondo il buon vecchio stile SCSI. Ecco che la classe per il mass storage contiene un metodo DirectSCSI e lo mostra al resto del mondo....



Che coincidenza! Avevo aggiunto alcune linee di implementazione di HD_SCSICMD al .device layer del mass-storage. Ho fatto partire AROS sotto QEMU e inoltrato il convertitore USB->PATA con un DVD drive esterno attaccato e unCD di AROS all'interno (non volevo testare niente di speciale, era il primo CD che avevo trovato sulla scrivania). AROS ha fatto il boot e si e' fermato. Quindi sono apparsi gli errori di timeout.Molti. Un po' seccato ho lasciato la scrivania e mi sono concentrato su qualcos'altro. All'improvviso il Cd ha cominciato a girare e AROS e' partito dal CD USB!

...Una breve investigazione ha chiarito che il Filesystem per CD usato in AROS performa il commando SCSI INQUIRY con una larghezza fissa, emntre il protocollo USB ritorna un dato molto piu' breve, il che porta a un timeout. Quindi, successivamente, prova a ritrovare la TOC intera e cose simili. In ogni caso, il team di AROS ncecessita o di aggiustare un po' il Cd filesystem, o io dovro' dare 10 secondi di timeout nel mass-storage e introdurre quattro pipes: due con un time-out breve (100 ms circa) e due con il timeout di 10 secondi.

Adesso AROS riesce a montare e fare il boot anche da chiavette USB, dalla maggior parte almeno: visto che al momento il protocollo supportato e' USB 1.1 la massima velocita' di trasferimento possibile e' con SFS, che necessita di circa un minuto per partire; si e' appurato che per motivi da chiarire sia FFS che FAT non supportano cache nel trasferimento e quindi risultano decisamente lenti. (Grazie a Paolo Besser che mi ha segnalato un errore qui)

Buone notizie anche sul fronte EFIKA: Michal il 26 gennaio scorso ha messo in linea una prima beta qui di AROS per EFIKA: e' conscio che ha grossi problemi ed e' piu' per scopo di debug che per un serio testing. Il source tree dell'EFIKA 512, secondo Michal, che ha aggiornato i sorgenti in rete, ora contiene una directory contrib completa, ha raggionto la dimensione di 150 megabytes e contiene anche una toolchain completa del gcc insieme ad altre cose utili.

O1i ha accettato la bounty per la fase 1 della UAE Integration: i risultati finora ottenuti sono buoni: UAE apre le finestre amiga in finestre AROS, il puntatore e' sincronizzato e le finestre integrate, che vanno quasi alla velocita' piena di UAE possono essere riarrangiate, mosse e ridimensionate da dentro AROS. Al momento pero' alcune cose non funzionano nell'integrazione, quali menus, il gadget di chiusura, i gadget dei bordi e gli schermi non-workbench. I gadget dei bordi, secondo o1i sono i piu' difficili da implementare; al momento inoltre non e' possibile far partire programmi Amiga OS da Wanderer; e' necessario avere una finestra Amiga OS (workbench, ad esempio) per far partire gli altri programmi.

MMartinka ha postato uno screenshot di AROS sotto mac OS X e parallels desktop; secondo quanto scritto da Paolo Besser sul suo blog, Parallels Desktop sotto mac fornisce una esperienza migliore rispetto a VmWare, anche perche' il suono risulta funzionarvi. Per la migiore esperienza possibile Paolo consiglia di settare le preferenze AHI come AC97 (sia per Music che per Unit 0) e di settare ConfigIP in modo da usare la scheda RTL8029.

Kalamatee ha recentemente messo in SVN il work in progress del driver per la scheda di rete RTL8168 PCI e gigabit NIC, chiedendo nel forum di testarlo. Per il momento ci sono ancora dei problemi da aggustare quindi il driver non e' ancora dichiarato funzionante; oltre a questo, Kalamatee sta collaborando in aggiustare ulteriormente la ata.device, soprattutto per quel che riguarda la legacy compatibility list.

Stanislaw Sszymczyk e' il miglior acquisto fatto da AROS nei tempi recenti: il suo valore come programmatore e' stato gia' evidenziato dal completamento della bounty per l'autocompilazione di AROS, ed ora viene confermato dal suo nuovo impegno: il port di OWB sotto AROS; la schermata presentata nella settimana prima natale, pur rudimentale aveva scatenato in me un forte entusiasmo e i successivi aggiornamenti dello stato della bounty sono stati cosi' veloci da non sembrare neanche veri: OWB e' gia' in grado di visualizzare decentemente pagine HTML anche con scripts complessi quali google maps e google docs.
Inoltre ancora una volta Stanislaw nel proseguire lo sviluppo ha arricchito la strumentazione a disposizione per il port di nuovi programmi: la nuova versione di SDL dal mainstream ha risolto i problemi con i colori avuti ai tempi del primo screenshot di OWB e, tra gli altri contributi di Stanislaw, si aggiunge anche il port della nuova versione di OpenSSL, la 0.9.8j.
Siccome la bounty prevede una interfaccia Zune per il browser, ed anche che il browser potesse diventare esso stesso un componente zune, il sistema trovato da Stanislaw e' stato, dopo aver appurato che per qualche ragione il codice generato dal genmodule tool di AROS, di scrivere una libreria statica che interfaccia tra il codice C++ di webkit e quello C di zune; essendo l'interfaccia della classe webview ben fatta, l'aggiornamento dello schermo e' incrementale e non vi e' bisogno di ridisegnare completamente la pagina; l'unico motivo per cui Stanislaw non ha fatto disegnare a graphics.library ma a sdl il contenuto e' per il mancato supporto del canale alpha da parte della graphics.library; Stanislaw ringrazia Jorg Strohmayer per l'ottima organizzazione del codice nel port sotto OS4 che lo ha aiutato a costruire la GUI sotto zune;  ha anche ammesso che "e' stata un'esperienza piacevole" scrivere di nuovo codice per MUI: i suoi test con la Register Class lo hanno portato, viste le limitazioni della stessa, a creare una classe personalizzata per il tabbed Browsing che supporta anche il gadget di chiusura.
Durante la scrittura di quest'ultima, una settimana circa, Stanislaw ha anche trovato ed aggiustato diversi bugs di Zune e lo hanno aiutato a comprenderne meglio il funzionamento interno; la classe sviluppata da Staniuslaw porta cosi' OWB ad essere un tabbed browser, uno dei primi insieme a Netsurf e OWB ad arrivare sulla terra amighista. Altro requisito richiesto dalla bounty e' l'utilizzo di dayatypes; Stanislaw ritiene che il migliore utilizzo dei datatypes e' per la decodifica di immagini: OWB attualmente si appoggia a un gruppo di oggetti derivato dalla classe ImageDecoder, che usa diverse librerie a seconda del formato file; partendo da questo cosi' stanislaw ha scritto una nuova classe che utilizza anche i datatypes per la decodifica delle immagini ma, al momento, si e' imbattuto nei seguenti ostacoli:
  • il Picture datatype non supporta la decodifica progreeiva delle immagini;
  • la datatypes.library sotto AROS non supporta il tipo sorgente DTST_MEMORY;
  • il metodo PDTM_READPIXELARRAY del picture datatype ritorna un array id dati con valori 0 in alpha channel, richiedendo ulteriore elaborazione.;

Quindi a causa di questo la classe ha dovuto ereditare queste restizioni e decodifica solo quando tutta l'immagine e' disponibile, usando files temporanei, oltre a mancare come gia' detto la decodifica progressiva, quindi per ora l'utilizzo dei datatypes pare limitato a formati che non potrebbero essere supportati altrimenti. In futuro Stanislaw pensa di aggiungere il supporto del set di caratteri UTF-8 a Zune, di utilizzare i widget Zune per la gestione dei form e di permettere a piu' applicazione di usare la classe Zune nello stesso tempo, anche se, secondo gli ultimi aggiornamenti, questo al momento non e' riuscito e pensa di tornarci successivamente.

Un'ultima sorpresa viene da James "Jahc" Carroll, gia' autore di WookieChat: proprio un paio di giorni fa ha portato finalmente SabreMSN sotto AROS, riempiendo un'altro vuoto nel panorama software del sistema operativo; James stava aspettando il port di OpenSSL, fatto da Stanislaw Sszymczyk; alcune parti, come la codesets.library, non sono ancora supportate o sono difettose, ma l'arrivo di SabreMSN indica come AROS stia finalmente guadagnando spazio e rispetto nel cuore degli sviluppatori amighisti, grazie al lavoro dei suoi sviluppatori e dei suoi sostenitori.
sfoglia
  

Rubriche
Link
Cerca

Feed

Feed RSS di questo 

blog Reader
Feed ATOM di questo 

blog Atom
Resta aggiornato con i feed.

Curiosità
blog letto 1 volte

Articoli Recenti

Who links to me?

Contatta Simone Bernacchia

 




IL CANNOCCHIALE