Tuesday, December 15, 2009
anonymous comment
La cosa è strana perché secondo GoogleAnalytics non ho visite da almeno 3 mesi.
Vabbé che in rete c'è un sacco di gente strana, però come fanno a chiedermi se ci sono novità in un post di luglio. Non ho scritto molto, ma qualcosa ho scritto da quella volta.
Comincio a sospettare che dietro a quei commenti non ci siano utenti reali e quindi da oggi cambio qualcosina. Lascio ancora l'opzione anonymous, ma ho aggiunto il captcha, così almeno stoppo i troll stupidi.
Personalmente poi non mi piacciono i commenti anonimi, se hai qualcosa da dire e credi in quello che dici non dovresti aver paura di mettere la faccia. Anche un avatar va bene, è comunque meglio di niente.
....
qualche novità ci sarebbe, magari con la prossima settimana ho un po' di tempo libero in più e scriverò qualcosa.
Wednesday, November 18, 2009
quanto tempo
Veramente solo poco più di un mese, ma sono successe tante di quelle cose che sembra quasi una vita.
Magari nei prossimi giorni provo a fare un po' il punto della situazione.
Wednesday, October 14, 2009
Segnali
2) ho iniziato un corso di Wed Designer
3) cercano un camerire per la sera
4) sono pieno di idee nuove
5) ero gia pieno di idee
...
tutto mi dice che mi devo liberare di questa zavorra
Thursday, September 17, 2009
C#, quindi?
"Ora il linguaggio C# non dovrebbe avere più segreti per te e dovresti saper utilizzare senza problemi Visual Studio 2008 per creare applicazioni professionali. [ ] Hai superato il primo ostacolo, ma i migliori programmatori C# si perfezionano esercitandosi continuamente e puoi fare esperienza solo creando applicazioni C#."
John Sharp - Visual C# 2008 Step by Step
....
vediamo che non vada come il C++
Tuesday, September 15, 2009
would get a mac
ieri c'è mancato poco, il pc è stato molto vicino ad avere un incontro ravvicinato con il muro. Un incontro ravvicinato e traumatico, molto traumatico. Se non fosse stato abbastanza traumatico, gli avrei procurato un secondo incontro.
A salvarlo è stato il mio budget, ma soprattutto il fatto che non ricordavo da quando avevo fatto il backup e quindi non sapevo bene quanta roba nei documenti avrei perso. Un po' anche il pensiero di prendere un pc nuovo, configurarlo e installare tutti i software che uso e mi servono. Più o meno un weekend di lavoro duro e una manciata di giorni a seguire di lavoro fino.
Ma malgrado il titolo, non mi è neppure sfiorata l'idea di prendere un mac. Perché i programmi che uso non sono per mac. Matlab e Visual Studio su tutti. Per gli altri si ci sono le versioni da mac, ma dovrei procurarmele.
Qualcuno potrebbe dire che posso usarle in emulazione: ma perché dovrei comprare un computer nuovo per emulare uno vecchio? Perché dovrei comprare un mac, che è un pc fichissimo che costa almeno 500€ di più, per emulare un pc vecchio e sottopperformante?
Tanto vale comprare un vero pc, magari in offerta che è comunque meglio del mio, e usarlo per quello che è: un pc con i suoi pregi e difetti.
Comunque per adesso io e il pc abbiamo stipulato una tregua. Ho disabilitato SpywareTerminator (che a dirla tutta mi aveva rotto i coglioni fin dall'inizio) e per adesso va tutto bene. Gli altri anti-malware non hanno trovato niente quindi sono relativamente tranquillo di non avere un pc zombie.
....
la verità è che sto aspettando dopo natale per acquistare un windows7 nativo, senza dover per forza passare da Vista.
Sunday, September 13, 2009
get a mac
Quando rallenta
Quando non fa quel che gli si ordina
Quando non si sa cosa faccia
Quando si blocca e non ne vuole sapere si andare avanti
Quando lo devi spegnere e farlo ripartire
Quando lo devi spegnere un'altra volta
Quando lo vorresti prendere a pugni, sbatterlo contro il muro e fracassarlo con una mazza pesante
In quei momenti che mi viene voglia di prendere un mac
Saturday, September 12, 2009
Full of C#
Mi sono fatto un'altra settimana intensiva di C#. Così in 15 giorni ho divorato oltre 500 pagine di manuale. Negli ultimi giorni facevo una media di due capitoli al giorno. Avanzano ancora gli ultimi capitoli, quelli su ADO.NET e le applicazioni per il web. Poi non contento mi sono preso anche il terzo manuale, quello grossissimo. Adesso ho la serie completa:
- Visual C# Express Edition per i principianti (211pag)
- Visual C# Passo per Passo per diventare esperto (666pag)
- Visual C# Il linguaggio per gli sviluppatori (738pag)
In totale fanno 1625 pagine e non ho ancora fatto un programmino decente tutto mio. Ci sono un sacco di progetti per la testa, molti c'erano anche prima dei manuali e adesso hanno qualche possibilità in più di diventare reali. Almeno adesso so da dove iniziare e dove cercare aiuti. Anche con Matlab all'inizio era tanto se realizzavo un grafico in 2d con qualche dato, adesso invece mi faccio le gui per qualunque cosa. Quindi con C# devo avere un approccio simile: iniziare con cose semplici e via via complicarle. Il difficile e acquisire una mentalità ad oggetti.
Per adesso la priorità c'è l'ha il mal di testa. Sono in crisi di astinenza da corsa.
Domani riposo tutto il giorno.
Lunedì ricomincio a correre
....
in tutti i sensi
Monday, September 07, 2009
Altro
La settimana passata non ho postato niente perché mi sono dedicato ad altro.
Forse lo stress dei giorni prima, forse il fisico in astinenza da corsa forse le solite cose, fatto sta che ho dovuto staccare un attimo.
Ho fatto altro. Ho macinato un po' di capitoli di C#. Adesso dovrei avere in mano le conoscenze più importanti di questa lingua. In teoria dovrei, in pratica magari meno. Era così anche per MatLab, anzi li non avevo nessuna guida passo per passo, tutta pratica. Imparato tutto macinando script su script. Però li c'è una guida in linea dove trovavi sempre le risposte e i suggerimenti che servivano.
Visual C# è un bel po' più complesso, ma è solo questione di impratichirsi quanto serve.
....
per questioni di scaramanzia nessuna anticipazione sul da farsi, il futuro non esiste, esiste solo l'oggi e il passato è solo un ricordo
Monday, August 31, 2009
giornata sospesa (aggiornamento)
Era qualcosa di importante? Non lo so, ma era qualcosa che io volevo fare, qualcosa che mi piace fare e, forse, qualcosa che mi servirà in futuro. Quindi almeno per me è qualcosa di importante.
giornata sospesa
Prima un incubo di quelli che ti fanno sudar freddo, dove tutte le tue paure diventano reali. Per fortuna dagli incubi ti puoi svegliare e ritrovarti in un altro mondo, quello reale. Ma l'altro ti resta dentro come una macchia che non è andata via.
Poi il resto della giornata prosegue senza meta. Tante le cose da fare, tante le cose iniziate, tante le cose lasciate la, sospese, in attesa di momenti migliori.
Alla fine mi ritrovo a fare cose che non facevo da mesi, lasciate sospese in altri momenti e che adesso devo per forza riprenderle. Ma il solo toccarle mi fa ricordare che ci sono altre cose più urgenti più importanti da fare, da riprendere e concludere.
Alla fine anche quelle restano sospese, in attesa...
Alla fine mi ritrovo a girare in tondo chiuso dentro le quattro mure che ho innalzato per proteggermi o solo per nascondermi da quello che c'è fuori e che non posso combattere.
E mi ritrovo prigioniero di me stesso.
E mi ritrovo a tirar avanti fino a domani. Perché domani è un altro giorno.
...
adesso è meglio se vado a fare cose più importanti...
Sunday, August 30, 2009
Videolab 0.5 Beta Version
Con il form Save ho riscritto tutte le componenti per gestire in modo dinamico i movie.
Con questa ultima fatica Videolab si merita una bel avanzamento e arriva alla beta version 0.5.
Si lo so ho saltato la 0.4, ma le modifiche fatte erano tali che da meritarsi un doppio scatto.
Non solo adesso i movie sono gestiti in modo dinamico, con un bel alleggerimento quando si usa il .mat, ma anche le parti che gestiscono i parametri dei filtri, videosetup e filtrisetup, hanno subito numerose modifiche.
Infine ho fatto anche da beta-tester (se non lo faccio io chi vuoi che lo faccia) e ho trovato e coretto un paio di bugs. Adesso funziona proprio per benino.
Si, adesso è tempo di pensare ai filtri
Si, adesso è proprio tempo di mandare quella email
...
quando sarà finita mi tolgo tutte queste catene
Friday, August 28, 2009
nuovi percorsi
Ecco fatto, Videolab è libero dai tassativi e domani libero anche tutti gli altri. Se no sai che ridere.
...
ridendo e scherzando Videolab è arrivato a 1298 righe
Innesti dinamici
l'innesto di cma è riuscito piuttosto bene e ha funzionato fin da subito senza dare grossi problemi. Mi sono sorpreso dal successo dell'innesto.
Ben altra musica l'idea di passare al modo dinamico. Questo nuovo modo di trattare i movie mi costringere a una profonda revisione di molte e fondamentali parti del progetto. Filtramimovie, la function che esegue la chiamate dei singoli filtri mi è costato più di un giorno di lavoro. E ancora non ho messo mano alla parte di save e open.
Non basta, sono ormai convito di rinunciare anche alla parte di tassativo che imponeva di passare i path dei file in parti separate dentro una struct. Ho scoperto l'esistenza di fileparts, una cosina interessante che se usata mi semplifica non poco. Quasi come l'uso di try+catch.
A proposito, li sto mettendo un po' ovunque e in parte mi hanno risolto una cosa fastidiosa, ma non del tutto. Però adesso ho meno l'esigenza di uccidere i processi.
Wednesday, August 26, 2009
Innesti
L'innesto di CMA in VideoLab è riuscito.
Ci è voluto un po' ma alla fine si è integrato bene. Restano ancora un po' di cosette da definire, ma il grosso è stato fatto. Poi con calma, durante il percorso post operatorio e la riabilitazione, farò i restanti correttivi.
Pensavo peggio, comunque.
.....
Ho scoperto che come C#, anche in Matlab c'è il comando Try... Catch...
Ne farò un uso molto intensivo
......
Si, lo scoperto solo adesso e allora?
Tuesday, August 25, 2009
Grande e Lento 2
il riassunto della puntata precedente si trova qui
I test per lavorare sui video in modo dinamico sono andati bene. Si può caricare di volta in volta solo i frame che servono senza dover creare un object con tutti i dati del movie. Non solo mi sono creato una function anche per salvare i frame in modo dinamico. A essere onesti non è eccezionale, carica tutto il movie e sostituisce il frame in questione, però funziona ed è pratica almeno quanto la function di lettura.
Convertire VideoLab al lavoro dinamico però non è semplice. Non mi aspettavo certo una passeggiata, fosse altro per il numero di righe in gioco. Ma la conversione richiede di ripensare tutta la struttura che sta sotto e gestisce tutti i dati usati dalle varie funzioni.
Usare due file .mat si sta rilevando inutile, come inutile la gestione dei nomi dei file per manipolare i movie. Inoltre dovrò mettere mano ai form di open e save. La volta del tassativo me le ero cavata con poco, rinunciando a un funzionamento completo ma questa volta non posso tralasciarli.
Ma devo mettere mano anche al modo di chiamare i filtri. Anche questa dovrà essere fatta in modo dinamico.
Alla fine dovrei ottenere un programma più snello, con file temp più piccoli e con codice di più facile lettura e quindi più maneggiabile.
Pagherò in un funzionamento generale più lento, infatti lavorare in modo dinamico vuol dire fare più accessi al disco che sono più lenti, soprattutto sul mio portatile. Per adesso mi accontento.
Friday, August 21, 2009
Cose da filtrare
Magari in qualche vecchio post avevo già spiegato che cosa sto cercando di fare, ma visto che sono entrato nel vivo del progetto un breve ripasso fa bene. Anche a me.
Lo scopo di VideoLab è di prendere un vecchio film, analizzarlo un po', filtrarlo e restituire il film bello e pulito come se fosse nuovo e magari anche meglio. Una specie di Perlana per i filmini anziché per i golfini.
Si ma cosa deve filtrare? Filtra quelli che per il momento sto chiamando genericamente errori. Sono tutte quelle schifezze che si vedono sui vecchi film. Graffi, polveri, linee o puntini che appaiono, si muovono veloci sulla scena e scompaiono nel nulla. Neanche fossero degli UFO.
Insomma tutto quel sporco che i più fighi aggiungono alle immagini per dagli un atmosfera vintage o grunge, come va tanto di moda tra i photoshopolic.
La natura di questi errori è la più varia, di solito sono il prodotto di una cattiva conservazione del nastro (si sono filmini realmente vecchi e registrati su nastro magnetico) e di una poco attenta digitalizzazione.
Poco importa da cosa sono dovuti, a me interessa come si comportano.
Principalmente ho a che fare con righe bianche e orizzontali che appaiono all'improvviso e si muovono velocemente attraverso lo schermo per sfuggire verso l'alto. Hanno forma e lunghezza irregolare che cambia durante al loro breve vita. Spesso non sono neanche delle righe ma semplici punti bianchi.
Visti però un frame alla volta sono solo dei agglomerati di pixel bianchi o comunque diversi da tutti gli altri intorno.
Ecco, lo scopo dei filtri è riconoscere queste cose e cercare pixel buoni con cui ricoprire le zone danneggiate.
Il lavoro di Roug Chi Chang e Timothy K. Shish è stato molto utile per darmi un metodo, ma come ho detto i loro filtri mal si adattano ai miei filmini.
Oggi ho sviluppato la quarta versione del prototipo di CMA aggiungendo il controllo spaziale del frame. I risultati sono molto buoni. Nei prossimi giorni conto di trasformarlo in una function e di implementarlo dentro VideoLab.
....
Mi aspettano giorni di tanti errori stupidi
Thursday, August 20, 2009
CMA vs BMA+TMA
Wednesday, August 19, 2009
I Filtri
i filtri implementati in VideoLab si basano su un lavoro di Roug Chi Chang e Timothy K. Shish trovato da qualche parte in IEEE.
I filtri implementati sono quattro e lavorano in successione. I primi due BMA e TMA fanno una prima ricerca grossolana delle aree sospettate di contenere errori, gli altri due rifiniscono queste zone, scartando i falsi positivi ed eventualmente definendo meglio i contorni degli errori.
BMA fa un controllo spaziale selezionando una piccola porzione del frame. Se in questa porzione ci sono un certo numero di pixel diversi dalla media degli altri, allora tutto la zona viene segnata come errata.
BMA è piuttosto grezzo e non distingue un bordo di un oggetto da un vero errore. Il risultato che molte zone segnate sono in realtà buone.
Spetta poi a TMA fare un controllo migliore su queste zone segnate. Facendo un controllo spaziale e temporale (cioè con i pixel dei frame precedenti) scarta i pixel che non sono sbagliati.
TMA lavora meglio, è più accurato, ma paga in termini di tempo. Anche perché quando trova dei pixel sospetti, fa un ulteriore controllo più approfondito. Inoltre paga i tanti falsi positivi segnati da BMA.
Nel momento in cui mi sono concentrato sulle caratteristiche degli errori che cercavo, è stato evidente che l'accoppiata BMA e TMA non erano adatti ai mie problemi. Questo malgrado che Roug e Timothy avessero un problema simile al mio.
Per questo sta prendendo forma CMA.
....
nel mezzo mi diletto a mettere giù un algoritmo per risolvere i sudoku. le prime prove sono incoraggianti a conforme che il mio metodo sistematico è valido. Da migliorare
....
si lo so, sono deficiente ma è nella mia natura
Thursday, August 13, 2009
Un caldo autunno
Si avvicina la resa dei conti, sarà un autunno molto caldo.
Dovrò contattare lui per vedere cosa fare di videolab e di tutto il resto.
Dovrò decidere se continuare a ballare oppure no, comunque in un posto nuovo.
Dovrò decidere se fare un corso di inglese o se meglio fare qualcos altro, per esempio .NET o come si chiama, magari anche tutte e due
Dovrò vedere se trovo una work-experience.
Dovrò curarmi il ginocchio come si deve e vedere se riesco a correre la mezzamaratona.
Dovrò sopravvivere e se mi riesce restare sufficientemente sano.
....
Non vedo l'ora che sia natale.
Monday, August 10, 2009
CMA
La Candidate Mask Area inizia a prendere forma.
Non sarà troppo immediata, ma comincia ad avere una sua forma.
La Best Mask Area era effettivamente poco adatta al mio caso.
Intanto continuo a trovare e a coreggere cose fastidiose, anche in questo caso centra il tassativo.
