Saturday, May 30, 2009

Stupidità 3

A fare le cose come ti dicono di farle si ottengono più risultati, ma meno soddisfazioni.
A fare le cose come si vuole si corre il rischio di ottenere solo delusioni. Si rischia di perdere tempo in cose che non servono realmente e che ai più sembrano stupidaggini.
E ogni tanto pensi che magari hanno ragione gli altri, che stai realmente perdendo tempo su stupidaggini, che stai facendo cose stupide e che allora sei stupido. Perché stupido è chi stupido fa. Ma è stupido anche chi fa cose stupide? E poi stupide perché? Perché si possono fare in modo più semplice? Perché ci sono cose più importanti da fare? Perché non servono? E chi lo decide? Chi decide cosa è più importante e cosa serve?
A fare le cose come si vuole si corre il rischio di passare per stupidi, però quando ci riescono, quando arriviamo là dove volevamo arrivare, quando otteniamo quello che volevamo. Allora, forse ancora ci prenderanno per stupidi, però dentro di noi la nostra propria soddisfazione sarà enorme e non c'è ne fregherà più niente di cosa gli altri pensano di noi.
Perché stupido è chi stupido lo fa.



....
la miglior vendetta è il successo

Thursday, May 28, 2009

Stupidità 2

A fare invece le cose secondo le regole, si ottengono più risultati.
Adesso anche frmsave funziona. Non è elegante ma funziona. Avrebbe bisogno di una profonda messa a punto, ma funziona quel tanto che basta. Fa quello che deve fare, basta non chiederli troppo. Appunto ho ottenuto il risultato di farlo funzionare.

A fare le cose non stupide si ottengono più risultati, ma meno soddisfazioni.

Adesso pensiamo alla parte di Test, seconda tappa della road map.

Wednesday, May 27, 2009

Stupidità

Stupido è chi stupido lo fa.

 

Sono Stupido perché continuo a fare cose stupide.

Tuesday, May 26, 2009

That long road...

Sottotitolo: le conseguenze del tassativo.

Dunque mi ero imposto come tassativo un nuovo modo di gestire i percorsi. Adottando una struct, potevo facilmente disporre in modo separato della directory sia del nome del file. Questo mi concede una certa flessibilità, ma come controparte mi complica un po' il codice. Niente di impossibile, si tratta di due linee anziché di una e comunque sono poca cosa. Il difficile semmai è andare a cercare tutti i punti dove devo fare le modifiche.
Anche qui, il processo non ha particolari difficoltà, semmai è un po' lungo.
Tutto questo rappresenta la prima tappa della attuale road-map.

Ma come per tutte le piccole modifiche che faccio, ci sono errori che emergono. Errori che vanno cercarti e corretti... che palle.
Il lavoro su videosetup è andato via abbastanza velocemente, anche quello su videolab non ha dato particolari difficoltà, almeno finche non ho messo le mani su frmopen e frmsalva.
Questi due fanno un uso intenso dei percorsi e andare a mettere le mani lì è statao come smuovere la merda: viene fuori solo merda.
Se per frmopen me la sono cavata abbastanza agevolmente, in fondo si è trattato di sistemare un po' la parte iniziale dove, ormai che c'ero, ho aggiunto qualche controllo più raffinato. Ben altra musica mi aspetta in frmsalva.
I due sono form abbastanza simili e infatti sono stati fatti su una ossatura gemella. Ma frmsalva serve due servizi e usa più dati. Questo fa si che sia intrisicamente più complicato e infatti stà affiornado merda a nastro.

Risultato: ad ogni modifica, nuovi errori; ad ogni aggiustamente, nuovi errori; a ogni, errori e ancora errori.
Si insomma si è capito no? Che palle.

Naturalmente tutto questo allunga i tempi e rimando il lavoro sulla parte di Test, la seconda tappa sulla road map.

Friday, May 22, 2009

Tassativo

Si cambia il modo di passare i path.

Da adesso si usa una struct con due field: un field percorso e un field nomefile.

Poi ognuno si arrangia a usarli come gli pare.

Road Map 2

"Far funzionare la parte di Test!"

... più semplice di così

Thursday, May 21, 2009

Position

In questi giorni mi sono divertito un po con il tag 'Position'.
Position ha quattro numeri: due per le coordinate e due per le dimensioni delle finestre.
Ogni oggetto ha il suo Position e quando hai capito come si chiamano i vari oggetti, li puoi mettere un po' dove ti pare.
Già perché gli oggetti prendono un nome diverso a seconda di dove ti trovi.
In genere hObject è il nome di dove ti trovi, ma lo puoi chiamare anche gcbo. Con gcbf invece chiami l'oggetto corrente il cui callback è in esecuzione.
Per chi studia l'italiano vuol dire che se ci troviamo in un oggetto che è stato attivato da un altro oggetto, gcbf ci dà il numero dell'oggetto chiamante.
Semplice vero? Inoltre se l'oggetto corrente in esecuzione è lo stesso oggetto chiamante, allora con gcbf chiami lo stesso oggetto corrente. Easy, isn't it?

Capito questo ho messo VideoLab al centro e, faccendogli un po' di spazio, al suo fianco gli ho messo VideoSetup. Adorabili.

Tuesday, May 19, 2009

Test stress

La seconda road map non è ancora stata tracciata e già si presenta molto accidentata.

Tra le due road map, quella appena conclusa e quella che mi appresto a iniziare, avevo programmato qualche test giusto per vedere come videolab digeriva videosetup.
Bene, questi semplici test stanno mettendo in luce alcune cose che erano rimaste in sospeso. Niente di grave, almeno spero, ma nascono dai cambiamenti che avevo fatto nei giorni scorsi e, ovviamente, generano qualche errore nelle procedure.

Niente di grave, solo una grande rottura di palle per sistemarli.

at the end of the road

Non si può dire che videosetup sia un esempio di buona scrittura, ma funziona. Almeno non da errori e gira in tutte le sue parti. È già un bel risultato, ma non lo salvera da venir rifatto da zero.
Per adesso mi basta che funzioni, ma resta un adattamento che si porta dietro un sacco di cose che non servono più, se non a farlo funzionare senza messaggi di allerta. Prima o poi lo rifarò da zero.

Comunque sia, sono arrivato alla fine della road map. Adesso farò ancora qualche test per vedere se tutto l'insieme funziona e poi butto giù la seconda road-map.

Voglio aggiustare un po' la disposizione delle finestre sul desk e ampliare la parte con cui lanciare i filtri. L'idea è sempre quella di avere una function esterna che dovrebbe darmi più flessibilità nel caso di manutenzione o ampliamenti. Ma non è questa la priorità.

Friday, May 15, 2009

Guido un autodafé

Quando le cose non vanno, diventano cose che fanno in modo che non vadano in nessun modo.
Se poi ci si mettono anche le cose che non dovrebbero andare, ecco che non c'è proprio modo di far andare quelle che dovrebbero andare.

Il corpo certe cose le capisce meglio del cervello.


...
conto fino a 3, poi via

Thursday, May 14, 2009

Yeah... un po' meno

Vabbé uno non fa in tempo a festeggiare per aver risolto un problema che subito ne nasce un'altro.
(segue post tecnico)

Il problema risolto è: come diavolo fare a chiamare una function passandoli gli handles della figure corrente quando questa figure non è ancora stata aperta e quindi non ci sono i riferimenti?
Si insomma, la figure è l'ultima cosa che fa la gui quando lanci l'aplicativo, ma durante l'open_function ho il bisogno di chiamare una sotto function per visualizzare una serie di dati in vari edit_text. Questa function funziona benissimo una volta che la figure è attiva, ma durante l'open non ne vuole sapere di lavorare.
Perché?
Ma perchè il gcbo non è ancora definito, e siccome la function è chiamata con il gcbo come parametro, ecco che la povera function non ha i parametri che le servono. Poverina
E perchè non c'è il gcbo?
Boh, questo non lo so ancora. Però il gcbo è di fatto l'object corrente della gui. Scoperto questo, è bastato sostuire il gcbo con il valore object, che esiste fin da subito, e il tutto funziona.

Per un problema che va, c'è ne subito pronto uno che arriva.
La sotto function serve per scrivere numeri negli edit_text, adesso ne voglio una che li legga. Ma questa nuova function, sorella quasi gemella della prima, non ne vuole sapere di funzionare.
Magari lei funziona, difatti non ci sono errori di runtime, però i risulatati non sono quelli previsti.

Quindi oggi sono un po' meno yeah, e mi vado a ripassare qualche lezione di speaking Matlab

Wednesday, May 13, 2009

Yeah!!!

Yeah!!!
I speak MatLab more and more!!!

You know gcbo, don't you?

Less is More

Ho deciso per rifarlo.
La base è buona con molte soluzioni furbe. Devo solo adattarlo per lavorare con le specifiche di filtriSetup.
Nel frattempo anche lui ha subito qualche modifica. Niente di che, solo modifiche di forma, ma ne ha guadagnato in semplicità tutto l'insieme di videoLab.

Al grido di: "less-is-more"

Sunday, May 10, 2009

con un po' di fortuna

appunto, ma quando mai ho avuto fortuna.

... e domani è già giornata piena.

Saturday, May 09, 2009

On the Road

Mi sono fatto una Road Map con tutte le cose da vedere e da fare, con un po' di fortuna, entro il weekend.
Però non si è iniziato bene, il mezzo si è piantato di buon mattino. Neanche il tempo di accenderlo e di iniziare a muoversi. Fermo, piantato, intasato da un casino di roba che non si capisce che ci faceva li, che neanche una settimana fa c'avevo fatto una bella pulizia.

Così la mattinata è andata in manutenzione straordinaria.
Mi sono anche procurato con un nuovo attrezzo, dal nome PROfessionalee che promette il raddoppio e anche di più delle prestazioni. Come per tutti gli altri non si capisce cosa fanno e ne se servono realmente, però qualcosa fanno e dopo tutto sembra girare meglio. Ma il dubbio resta.

Con un po' di fortuna da Lunedì si inizia a lavorare sui filtri e poi ricominciamo anche a correre.

Friday, May 08, 2009

Che palle 2

Alla luce di quanto fatto in filtriSetUp, videoSetUp risulta inadeguato e superato.
Ora bisogna decidere se conviene adattarlo alle nuove specifiche opure se sia il caso di rifarlo ex nuovo.

si insomma, che palle...

Serve che mi dia un metodo: non posso andare avanti faccendo piccole aggiunte che mi costano grandi modifiche a quanto gia fatto e testato. Certo che però così mi sembra che funzioni in modo più pulito e bello.

si però, due palle...

Thursday, May 07, 2009

Che palle

Che palle... oggi non funziona.
E perchè? Boh, chi lo capisce più.
C'ho perso un bel po' di tempo per farlo funzionare e c'ero pure riuscito.
Si, insomma, funzionava. Almeno così mi sembrava, e si che l'avevo provato un po' e quella volta tutto era filato liscio.
Oggi, invece, niente. Non funziona.
Mi da errori che non dovrebbe darmi. Forse è solo che c'è qualcosa che non torna, cioé qualcosa che magari l'altra volta non c'era o se c'era era diversa, mentre oggi per qualche ragione no è come l'altra volta e quindi mi da errore, e non funziona.

Si, però che palle... mi tocca rivedere tutto di nuovo.