Kitty

Kitty
Aros Mascotte By Eric Schwartz

venerdì 2 maggio 2014

Bug morti?

e non puzzano? mia moglie non credo sia molto d’accordo… cmq ne sto lasciando molti di morti… sto trasformando e ripulendo il codice e temporeggio… cacchio se temporeggio e rimando…. perchè leggendo un pò in più la guida di shinkuro ho deciso che dovrei leggermi un pò qualcosa sulla filosofia boopsi—> studiare ancora. Ora penso io ma non esiste un xxxxxxxx che produce un wordprocessor per amiga così che mi trovo un altro hobby??? Per carità è bellissimo mettersi lì e vedere crescere il codice man mano ma è parimenti avvilente realizzare qualcosa su una piattaforma che pensavi di conoscere e man mano che vai avanti ti rendi conto che conosci meno del meno. se poi si aggiunge che pensi che quel programma non lo userai mai. al massimo lo useranno 10 persone (100 considerando tutti gli amighisti del pianeta) il mio narcisismo viene a battere cassa. l’unica maniera per convincerlo a ripassare in altro momento a pretendere i suoi crediti è mostrargli la vera soddisfazione di ogni programmatore: i bug… vedere bug che nascono, crescono e si riproducono e pensare: hanno messo su famiglia grazie a me… in quei momenti mi sento molto padrone della bassa padana… Digressioni di solito funziona così: luce spenta. tutti dormono. si sente solo il rumore delle unghie sui tasti (causa chitarra classica) tipo segretaria. ogni tanto salto dalla sedia quando “la creatura” (il progetto) si muove. mi alzo. penso. giro intorno alla sedia o mi metto a pensare col naso incollato alla finestra. alle due di notte penso che caxxo ci starà a fare una luce accesa di fronte (dove per di fronte si intende un centinaio metri di distanza dal prossimo fabbricato). mi risiedo. controllo su google tutto quello che esiste sul nemico (il nemico è la libreria in oggetto: chi è, che fa e perchè lo fa). dopodichè bestemmio tutti i santi degli sviluppatori che hanno deciso che quella libreria gli fosse utile per un qualcosa. guardo un file make e lo guardo come si guarda uno scritto in arabo. solo che l’arabo è almeno esteticamente bello. capisco finalmente che @libs@ è una sorta di stringa di rimpiazzo. tipo: unire i puntini per costruire la figura. e io secondo loro dovrei mettermi a rimpiazzare una paginata di quei cosi? aspè ho letto che esiste un auto coso automake o giù di lì. farà questo? alla fine si è qualcosa di simile. da shell provo automake: non è un eseguibile. faccio una ricerca. è uno script in perl. proviamo a lanciarlo con perl. realizzo che il perl serve almeno a qualcosa. parte ma con una serie di errori. è vero avevo modificato i makefile… boh. domani rimetto quelli originali. adesso è tardi.se ne parla domani (cioè oggi). la programmazione (chiamiamola così) è un’esperienza totalizzante. una di quelle cose che paragono al modellismo con linguetta di fuori mentre incolli il pezzo minuscolo con la lente, piuttosto che la ripetizione della stessa battuta musicale per due ore consecutive. sai che l’hai studiata bene quando arriva l’urlo della moglie:EBBAASTAAAAAAAAAAAAAAA. non si sa se ce l’ha con me o col metronomo. (meglio del metronomo e sicuramente meno politically correct del maestro). Questo (non questa) è la programmazione. Una bella attività mentale. E faccio anche ginnastica intorno alla poltroncina girevole. Oltre che i fatti di quello “di fronte” alla fine ho vinto io contro l’infame!!! ho ricompilato cairo con supporto freetype:D:D ho disegnato dei caratteri freetype con cairo in una finestra mui. sicuramente non è chissà che risultatone ma se pensiamo che owb usa sdl per disegnarsi…. boh. io ho scritto su aros-exec. se è una cosa buona lo saprò a breve, sennò continuo con il mio progettino di videoscrittura. sicuramente posto le nuove cairo su aros archives e l’esempio sul wiki. “STO TUTT ECCITAT” ai che ero convinto che la versione aros usasse sdl? sarà che ho letto proprio ultimamente un post di nikolaos (quello di aspireos) che parlando dell’owb di fab, riporta le parole di quest’ultimo, il quale afferma che un port di owb morphos sarebbe più facile se si abbandonasse sdl in favore di cairo. cmq al di la di tutto ora ho la base per poter continuare i miei progettini:D Qualche nuovo progresso. Ho imparato qualcosa della dos library. Sono riuscito a caricare in un bel vettore di stringhe tutti i file ttf presenti in una data directory. Dopo aver buttato tonnellate di sangue mazze mi ha illuminato e ho scoperto che const char* ciao[] è equivalente a strptr array[] ai fini di un cycle object mui. Con mia somma gioia mi appresto a gestire un redraw della finestra e mi sovviene il fatto che mui non gestisca direttamente il resize gadget se non tramite programmazione a oggetti (kronos). Cosa che non voglio fare. Credo che nei prossimi giorni mi imbarcherò in una delle più schifose cose esistenti: mischiare messaggi mui e idcmp. Vedremo cosa ne uscirà… è passato un pò di tempo. abbandonata l’idea di fare miscugli alieni alla fine ho usato mui come vuole essere usato: istanziando degli oggetti. la cosa comoda è che non devi usare necessariamente l’oop. nel senso che un oggetto mui (cito shinkuro) è una struct del linguaggio c. nè più e nè meno. per le notifiche (la comunicazione interna all’applicazione) esiste una cosa magnifica che si chiama dispatcher: a sollecitazione a corrisponde azione b su oggetto c. saltata la fase degli hook perchè mi è aliena e mi sono buttato sull’implementazione di metodi custom (qualcuno direbbe ereditati). tutto ciò per scoprire che cairo non supporta i caratteri con diacritic (ad esempio un accento), piuttosto che il corsivo o il grassetto. anche usando freetype e fontconfig. se per il corsivo ho imparato pure le trasformazioni con le matrici… per il grassetto dovrei imparare a usare i pattern di fontconfig… e, a leggere dalle mailing list, non è detto che funzioni… non per niente spingono pango. le trasformazioni già mi bastano. ma studiare un ulteriore libreria per un grassetto mi sa che è eccessivo… ho visto in sdl_ttf che lantinga gestisce il grassetto modificando la bitmap in una qualche maniera. domani mi rubo un pò di codice… aggiornamento: non che se ne sentisse il bisogno ma così cerco di salire di grado scrivendo vaccate… abbandonato totalmente cairo. sto usando una libreria ttf interna trovata su aros-exec. nell’ultimo mese sono andato un pò a tentoni ma sono riuscito a trasformare l’applicativo che sta nascendo in un oggettone mui. la black box centrale riceve in ingresso un testo in un qualche formato simil richtext, lo trasforma in un suo formato interno, lo formatta, lo spara a video e chiaramente ne permette l’interazione. ho imparato a mie spese che per togliere la cera e mettere la cera bisogna usare i metodi di mui sennò si “piglia molta collera” e non funziona niente. assolutamente niente. ho imparato che per programmare sotto aros non solo devi morire ma anche oltre. non essendoci un ambiente di programmazione degno di questo nome, bisogna andare a tentoni: -1 scrivere -2 salvare -3 compilare -4 se va bene eseguire sennò ripetere da 1 -5 se va bene l’esecuzione ripetere da 1 e continuare ad aggiungere - 6 se si impalla il sistema isolare gli errori. Per isolare un errore sotto aros, come si fa? Si prende una mazza grossa e un elmetto da vichingo. Ci si precipita nel mucchio degli errori e spaventarli a morte finchè non hai quello che ti interessa e bastonarlo. I piccoli bastardi si nascondono sotto la mia scrivania… li sento… mi osservano… mi guardano e sorridono… Ma li fotto io. Li fotto! Quando sento quelle vocine che fanno “bug bug bug bug” ne schiaccio uno ed è una soddisfazione sentire il croc sotto la scarpa… Ovviamente scherzo. Sarei impazzito se veramente facessi questo. Per isolare un bug bisogna mettere una carota rossa e succosa fuori la sua tana e aspettare… aspettare… aspettare… Poi quando esce mettere un elmetto da vichingo e un grosso bastone… edit: se quei simpaticoni e facinorosi non l’avessero capito, shinkuro il portatile morphos o comunque IL PLAUSO DELLA COMUNITA’ se lo merita, non per aver scritto shadow of the beast iv ma per aver scritto L’UNICO DOCUMENTO VALIDO ESISTENTE SU MUI. Io poi vorrei sapere che killer app hanno realizzato gli altri… l’unico che poteva parlare era fab e non l’ho visto parlare.

Nessun commento:

Posta un commento