28 January 2013

Doing (bad) shit with Android

Long story short: if you're messing with Android applications, don't remove your default launcher lightheartedly. Also, don't remove your browser lightheartedly.

The browser will let you to read your sdcard, so if you're fucked and you don't have a launcher anymore, and you can't reach settings, files, or anything, the browser will save your ass, as it did with mine.

Long version follows.

As the world probably knows, even it doesn't give a cent, is that I've an Android phone. An Alcatel One Touch 918D, dual SIM, nice phone (fallen and kicked a few times, but still running flawlessly) and also cheap.

Well, only problem: it has a pretty limited memory, so I rooted it. Removed few useless applications - Shazam, for instance - and I was happy again with some extra space.

Well, I also decided that stock applications wasn't what I wanted, so I installed a nice file manager, which was internals-friendly and allowed me to remove easily other applications. I was so happy that I installed a new launcher because the stock one was too heavy in size.

Well, I also decided to *remove* the old launcher. Then rebooted. The screen would stop on the Alcatel logo and the default launcher, as absent, wasn't loaded. I didn't thought that it would be so stupid to not use the alternative launcher I installed, but it was, so the phone was not usable.


I was done, so I tried anything: pressed both the volume buttons while turning on and tried to reset factory defaults. The launcher was still missing. Also, I couldn't get my google password right, so I just skipped google account login - bad, because I couldn't even set it later and use app installer via web.

While thinking about what to do (remember: no launcher -> no settings -> no debug mode -> no ADB), i received a message. The phone was still working! I couldn't read the message, though... So I tried to call the phone: that actually helped to overcome the screen-locking. I did answer the call, and after that I was able to use the phone application.

From that, I could see the SMS notification and read the SMS. Good, all the basic features were there and I was safe: phone not wasted.

I composed a SMS with an url: that allowed me to open a browser.
Luckily, keeping pressed the home button, allowed me to switch between recently used applications, so I could use these 3. Good.

After some tries, I also discovered that the browser allowed me to read files on the SDcard (!!!). There an installer for the stock Launcher was present (becuase I just moved it safely on the SDcard, instead of deleting it).

I accessed the file:///sdcard/Launcher2.apk from the browser, and from that I could go to settings, activate the debug mode, activate non-certified apps installation and now my launcher is back to life.

I love how browsers became flexible :D

Now that I'm sure about how to un-skrew things up, I'll try again and removing my stock launcher - maybe doing some more damage.

Stay --sync

05 October 2012

Tesizzando un po'

È un sacco che non scrivo su questo blog... Uau.

Ero un pelino preso con esami, e adesso son preso con la tesi... La seconda, se non erro, che affronto in questo blog... Doppio uau.

Comunque, inizio con una simpatica premessa: mi diverte vedere come tutto fa brodo. Mi diverte proprio tanto.

In un esame vedo le Reti di Petri. Penso che magari le userò per un esame successivo in cui facciamo programmazione di GPU. E invece NO.

Quindi che me ne faccio delle RdP? Inutili.

E invece NOOOO perché si usano anche per rappresentare sistemi di equazioni chimiche che sto facendo nella tesi :D
Chimica.... Uhm, quella materia che snobbavo abbastanza al biennio delle superiori? Esatto, quella. Nella tesi di laurea magistrale. Evviva, direi.

E che dire, poi, di quell'esame di "Metodi matematici per l'informatica", in cui facciamo ODE e io mi dico pure: "ma quando mai userò tutte 'ste equazioni differenziali?" mentre mi rammaricavo di non aver studiato abbastanza probabilità, che invece (all'epoca) trovavo molto più utile (per i miei scopi)?

E invece YEEEEAH! Faccio una tesi con abbondante presenza di equazioni differenziali! E anche di probabilità! Evviva!!

Insomma, questa tesi è un esempio simpatico di cose che ho studiato e incontrato con l'idea che "tanto non me ne farò nulla", e invece le ritrovo *tutte* in un posto solo.

Simpatico, eh? :D A me diverte proprio.

E comunque sono in tesi. Già. Mi mancano due esami (uno sulle algebre di boole (a livello teorico) e uno sull'incertezza (a livello formale)) e la tesi, per quale sto iniziando a studiare.

Farò un lavoro in ambito di system biology, qualcosa che c'entra con forse bho le equazioni biochechissà del bho chimico su GPU.

Cosa che, in realtà è molto interessante, ma è inutile che mi dilungo qui a spiegare che tanto non so a quanti interesserà (a parte, forse, un mio correlatore che legge questo blog, o almeno credo :D 5 stelline per lui!)


Vabè. In realtà tutto questo post è solo di introduzione a quanto volevo dire ora: mendeley è figo. Anche solo per il fatto che mi permette di annotare i PDF e gira su linux. Questa è una scusa sufficiente per installarlo... Ma se avete un sacco di libri, paper e PDF da organizzare, usatelo che è ffffigo.

Cià, torno a studiare. Magari un giorno farò un altro update un po' più serio e meno... Aehm, "spannometrico" :D

Stay --sync

23 February 2012

Aggiornamento #++x

Bene. Aggiornamento "tanto per". In realtà ci sono solo 2 cose importanti che voglio comunicare al mondo, e ve le anticipo:
  1. Sono alquanto felice di stare con la persona con cui sto.
  2. Oggi ho iniziato seriamente il mio percorso verso la conquista della Probabilità.
Altri dettagli, come il risultato degli esami di cui vi parlavo, hanno scarsa importanza. L'esame di Text Mining è andato bene, l'altro esame non male, ma sto aspettando i risultati dello scritto. Ora sto preparando (con calma) un altro esame piuttosto interessante con un altro prof. decisamente bravo.

Questo esame tratta di Modelli (teorici) per la Concorrenza. La cosa più pratica che abbiamo visto è stato il modello degli attori realizzato nei linguaggi Erlang e Scala (che abbiamo visto brevemente).
Erlang, in particolare, mi piace molto e me lo sono studiacchiato un poco per conto mio.

In passato l'ho guardato, ma non potevo ancora capirlo.
Ora, dopo avermi fatto svariate dosi di studi pratici e teorici sulla concorrenza, il multithreading e i linguaggi di programmazione, posso affermare con certezza che sì, un linguaggio funzionale basato sugli attori con una sintassi come quella è piuttosto allegro e simpatico. Spero di poterlo approfondire in futuro.

Ma torniamo alle cose importanti. A dire il vero non voglio approfondire il primo fatto importante, banalmente perché son contento di come va la mia storia con lei, e quindi dovevo dirlo, ma d'altronde son fattacci miei :P

La seconda cosa importante è che, tempo fa, avevo deciso che avrei superato "lo scoglio della probabilità". Mentre coi mezzi matematici più convenzionali (algebra, analisi) ormai ho confidenza e non mi spaventano e posso usarli (anche se non sono un esperto nè un teorico) piuttosto felicemente per modellare problemi, così non è per la probabilità. La statistica, a dire il vero, la lascio proprio fuori perché sono una chiavica.

In ogni caso, benché abbia fatto uso (superficiale) di modelli anche complessi (e.g. CRF), non mi sono mai sentito a mio agio nel modellare un problema in termini probabilistici. Probabilmente perché non l'ho mai studiata con un vero criterio e non ho mai "assimilato" i suoi strumenti, rendendoli parte del mio modo di ragionare.

Bene, dopo una discussione con un prof, mi sono stati consigliati due libri molto interessanti. Uno sulla teoria della probabilità, di Jaynes (che ho qui con me ora e sembra molto, molto bello) e uno su altre cose un po' più grafiche (ma dato che non ho ancora il libro e non ricordo l'autore, non lo menziono; del prof mi fido, sarà bello pure quello).

Ecco. Siccome era da tempo che mi dicevo "devi diventare bravo con la probabilità", son contento di osservare che oggi ho effettivamente messo le mani su qualcosa di concreto.

Ah, grazie biblioteca dell'unimib per avere una copia di questo libro che potevo prendere in prestito :D

Stay --sync

29 January 2012

Aggiornamento #x

Ah, non so quante volte m'è capitato di non scrivere per lunghi periodi e poi fare post sconclusionati di "aggiornamento"... L'avrò fatto almeno x volte, con x > n. Dove n è un numero intero e x pure. E chiaramente n è positivo, dato che c'è questo post.

Mi piace anche notare che ho appena inserito un messaggio subliminale senza rendermene conto. Questo post c'entra un po' con la matematica, in effetti, dato che ultimamente il mio universo le ruota attorno.

Ahah l'ho appena rifatto :D

Ma non voglio parlarvi della matematica. È un aggiornamento. È anche per ricordarmi come va la mia vita, perché quando sarò vecchio vorrò leggere le mie memorie e ricordarmi che cavolo facevo quando avevo 26 anni, 8 mesi e alcuni giorni.

La vita non mi va male, nel caso vi interessasse.

Ho fatto un lavoro per il corso di Text Mining (con Conditional Random Fields, molto interessanti) e il prof è stato molto soddisfatto da come ho svolto il lavoro.
Peccato che io non ne fossi molto soddisfatto, quindi immagino che se avessi avuto 10 giorni in più e un computer funzionante per rifare tutto bene sarebbero piovuti confetti. Comunque il mio orgoglio mi spinge a lavorarci ancora per ottenere buoni risultati nonostante il lavoro sia concluso.

Comunque, non sapevo un razzo di teoria, quindi fondamentalmente mi devo ripassare un po' il machine learning impiegato nel TM e dare un esame orale per dimostrare che, anche se ho scarsa memoria, almeno capisco di cosa stiamo parlando.


Poi avrò altri esami a seguire. Che spero di dare durante i corsi a partire da Marzo. Alla faccia di tutti gli organizzatori che fanno il possibile per evitare esami nei periodi di lezione. Abbasso i semestri, evviva i bimestri!

Uhm poi vediamo... Il PC mi si sta scassando. Dovrei prendere un disco, fare backup di tutto, poi fare lunghissimi stress-test per assicurarmi che non ci siano falle nelle varie memorie, e poi eventualmente sostituire il pezzo o prendere un PC nuovo se il problema sembra teribbile.

In ogni caso, ogni tanto il sistema andava in crash (da qualche mese a questa parte)... E uno dice, vabè, sarà un baco. Ma poi aggiorni il kernel due, tre volte e nulla cambia. Poi ti metti a fare test piuttosto pesanti con software uber-collaudati e ti accorgi che crashano le cose più impensabili: JVM, python, (più raramente il kernel). E più lo stressi, più spesso crasha.

Questo aggiornamento si sta facendo lungo e non sono ancora arrivato al punto saliente.

La matematica è Veramente Fantastica. Davvero.

Fine. Volevo solo accertarmi che scrivendolo non mi sembrasse sbagliato o una fesseria. E invece mi rendo conto di esserne così sicuro che le parole non mi bastano ad esprimere quanto ne sono certo.

Bene, posso andare a dormire in pace.
Buona notte


Stay --sync

P.S. Ah dimenticavo! Questa sera ho sentito per la prima volta un gruppo che si chiama "doppie viti", e beh, è stata una bella esperienza. È un gruppo allegro e molto divertente, quindi mi sembra giusto fare un po' di pubblicità :)

16 December 2011

Ripensare la civiltà

Vi è mai successo che qualcosa vi colpisse, in qualche modo, aprendo una breccia, più o meno grande, nel vostro modo di vedere le cose? Vi è mai capitato di apprendere qualcosa e conseguentemente spostarvi in uno stato tipo "wow, questo cambia le cose... Non ho ancora bene inquadrato come, ma cambiano."

Ecco, mi trovo esattamente in questo stato. La differenza l'ha fatta un articolo di Wired che ho letto qualche giorno (o settimana) fa: parlava del mercato delle droghe fatto su internet.

Quell'articolo (che non ho proprio voglia di cercare e linkarvi, c'è google :P) mostrava come l'uso di TOR e di BitCoin avesse permesso di creare un vero e proprio mercato online delle droghe. La cosa strabiliante è che la sicurezza fornita da questi mezzi permetta scambio, senza possibilità di essere rintracciati. Altra cosa che mi ha sorpreso è che la merce arriva a casa con la posta. Sostanzialmente queste sono le cose che ho trovato interessanti.

Benché io sia abbastanza interessato alle droghe dal punto di vista scientifico/biologico (come funzionano? Che effetti hanno? Su cosa agiscono? et cetera) e decisamente non interessato alle droghe dal punto di vista salutistico (per la maggiore fanno male, e non ho certo fretta di accorciare la mia permanenza in questo mondo), rimango piuttosto affascinato dal punto di vista sociologico (che ruolo hanno? Come si muove la gente e il mercato della droga?).

Ora vengo al punto: come tutti sanno, la circolazione delle droghe è una cosa a cui la maggioranza dei governi fa una certa opposizione (almeno a parole). Non so quale sia il motivo di fondo per farlo, ma non è questo il punto (nè il momento in cui discuterne).

La cosa che trovo sensazionale è che si sia arrivati al punto in cui la tecnologia permetta, piuttosto liberamente, di ottenere una (discutibile) libertà che precedentemente veniva negata tramite l'autorità di controllo. Prima dovevi andare per strada e cercare un pusher (o avevi quello di fiducia, immagino, come il macellaio o il panettiere). Adesso invece non serve incontrare nessuno, fai qualche click, mandi qualche soldo virtuale (ma comunque di valore) e ti arriva la roba a casa senza troppi disturbi (da quello che sembra).

Non so che effetto fa a voi questa cosa. A me lascia sconcertato. Il mercato della droga è sempre stato sostanzialmente grosso e voluminoso in termini di denaro trasferito. Per questo motivo, è sempre stato qualcosa di altamente pericoloso e difficilmente arrestabile. Come tale, è sempre stato in grado di cercare vie, sempre migliori, per superare "l'ostacolo legge" e le moralità discutibili che però regnano le nazioni.

A me sembra di capire che questo mercatino del drogato sia ormai una realtà relativamente consolidata: se wired ne ha parlato, vuol dire che non è una cosa propriamente piccola e invisibile. E se se ne può parlare senza problemi, vuol dire che le tecnologie di base sono sufficientemente solide per garantire l'anonimato con una certa sicurezza per commercianti e acquirenti.

Da questo spunto mi saltano fuori migliaia di domande imbarazzanti:
siamo arrivati al punto in cui la tecnologia può garantirci la sicurezza di avere delle libertà fondamentali, come quella di parola e di comunicazione (o di scambio, in questo caso)? Oppure è solo una impressione e la tecnologia non può permetterci queste cose?

Purtroppo il diritto alla vita (e avrei molto da discutere su questo) non ce lo garantisce ancora, ma per altre cose minori - ma comunque importanti - ormai è palese. Non solo questo episodio è spunto per questi pensieri... Anche altre iniziative, come #opencamera su twitter, in cui i parlamentari usano questi sistemi di comunicazione di massa, iperaccessibili e iperinterattivi (completamente diversi dalle classiche realtà televisiva ed editoriale), comunicano liberamente quello che succede alla gente interessata. E poi le rivolte in nord Africa e medio oriente: esse sono state permesse anche grazie alla circolazione libera di informazioni, permessa esclusivamente grazie alla tecnologia, sempre più veloce, focalizzata, sicura e soprattutto diffusa.

Le domande successive piovono: che ruolo hanno i governi in tutto questo? Possono esistere ancora entità di controllo e legislazione, in questo ambiente? E se sì, come? Che senso hanno?

A me sembra che la natura di tutte queste cose (governi, potere, civiltà, libertà e diritti) debba essere ripensata molto profondamente. Ho paura che non facendolo, ci si sposti sempre più verso una pessima situazione in cui non vi è un passaggio di testimone tra il vecchio e il nuovo, ma si vada invece in una situazione in cui il vecchio cercherà di proteggere se stesso (fallendo inevitabilmente) e il nuovo si troverà a strappare brutalmente dalle sue mani il controllo delle cose. Questo chiaramente non sarà vantaggioso per entrambe le parti.

Non voglio alzare troppi quesiti (che dovrei spiegare e insomma poi diventa un post kilometrico), ma uno in particolare lo trovo interessante...
Se è vero che bisogna ripensare al potere e al controllo (e dunque, alle libertà), è inevitabile pensare a ciò che è attualmente sinonimo di potere: il denaro. Assieme a tutte queste piccole rivoluzioni sociali e tecnologiche, il denaro è stato centro, qui e là, di timidi tentativi di cambiamento. Si pensi ad esempio al social lending - in cui si cerca di escludere la banca dal meccanismo di prestito - o, ancora prima, dai meccanismi di commercio elettronico che ci hanno portato nel mondo di oggi.

Ora, l'ultima rivoluzione, su cui ero piuttosto dubbioso, ma che invece - con mia gioia - sembra funzionare piuttosto bene, è BitCoin.

È chiaro che per togliere definitivamente il potere ai governi e ai "forti" in generale (banche, assicurazioni, compagnie di trading, etc), bisogna liberare anche la moneta. È possibile che BitCoin sia la casellina mancante in questo enorme puzzle? E se non è sufficiente BitCoin, cosa manca dal punto di vista economico per garantire libertà alle persone? Cosa, dal punto di vista economico, manca "ai molti" per fare effettivamente la differenza e "scalzare i pochi (ma forti)"?

Sebbene mi piacca pormi domande di questo tipo, non è realmente mio interesse cercare una risposta e altre cose (che mi procurano maggiore felicità) occupano la maggioranza del mio tempo :D Quindi mi accontenterò, come al solito, di vedere se a distanza di anni le cose andranno come pensavo. Chissà se sono l'unico fesso che pensa a queste cose, o se c'è altra gente (molta? poca?) che si sta accorgendo di queste cose. Mi divertirebbe leggere qualche opinione in proposito.


Stay --sync

17 October 2011

GNOME Shell Extensions

Another reminder to self, but can be useful to others.
Some resources I found about custom GNOME Shell Extensions.
  • http://blogs.openshine.com/cgtapia/2011/05/16/writing-extensions-to-the-new-gnome-shell/
  • http://blog.fpmurphy.com/2011/04/gnome-3-shell-extensions.html
  • http://blog.fpmurphy.com/2011/05/more-gnome-shell-customization.html
  • http://joneslee85.wordpress.com/2010/02/28/howto-customize-gnome-shell-theme/
  • http://www.slideshare.net/yurenju/step-by-step-to-write-a-gnomeshell-extension
If you want to play a bit with the shell, you can use the Looking Glass in interactive mode:
  • Press Alt+F2 and insert "lg".
I really like GNOME Shell. It's not really fast actually and 3.0.x is unstable. But I'm on F15 and waiting to see how will be in F16.

Nonetheless, I'm satisfied with it. Using it is a pleasure even if at the beginning it made me very nervous.
So, since it's like the 100th time I said to myself "I've to customize it", today I started.

Stay --sync

15 October 2011

Teaching: You're Doin' It Right

Self-note, or note for whoever wants to teach (or is a teacher).

I'm taking the ML-Classes by Andrew Ng + team from Stanford University.
I'm also taking the AI-Classes by Norvig & Thun... But the experience is totally pretty different and actually I'm loving the Machine Learning course much more than the other.

So, I'm resuming here what really love about these lessons, which I personally consider to be very-high quality (even if there are few glitches, but are negligible).
  1. Video lessons can be downloaded. In AI course this is not possible, since they use youtube as platform. This is important, because determine when and how people can watch these videos. Also, videos are short (from 5 to 15 minutes, rarely less than 20), which improve usage over the classic "whole lesson" of 1+ hours.
  2. Explanations are precise and they go straight to the point. I feel it's not the same with the AI class, where are a bit too slow and fuzzy.
  3. Digitally-annotated presentations is a great way of explaining: teacher prepares the slides and, using a tablet device, writes things on screen using multiple colours. This improves readability and speed. In AI classes, paper and marker is used, and it's not as good as the first. Khan academy also uses the former technique and, I think, it's the best.
  4. FLOSS tools are used, Octave in this case, which is pretty nice. Tools are also introduced properly, and this is very important. I followed some courses at university were we used Matlab, but the explanation has been done "en passant" and the using experience was awful.
  5. Validation tools are pervasive: doing quizzes and tests often is a very good strategy to make students learn quickly. This is done both in ML and IA classes, luckily, but I appreciated also the programming exercises validation in ML class: *from octave*, a function is made available to send your exercises to server, and you get immediate feedback in an interactive feedback. This is great and actually the first time I see something like this. Very clever idea.
In general, in the ML class I see a well-developed framework for e-learning which could (and should) be replicated and used often.

If you organize courses, are a teacher or you're interested in giving students a good e-learning framework, take a look at how ML classes are done.

Stay --sync

28 September 2011

Inizia il secondo anno. Di tre.

Alla triennale non mi sono impegnato particolarmente. Questo si sa, ci ho messo 5 interi anni accademici a finire la triennale.

Alla specialistica, invece, volevo impegnarmi seriamente, ma a quanto pare il successo accademico è una cosa che mi è negata anche se lo voglio ardentemente.

Tra 4 giorni inizia il nuovo anno accademico. Lunedì 3 Ottobre inizierò i nuovi corsi. Sentite che bella storia (sì, questo è uno sfogo, ma anche un avviso).

Al primo anno si scelgono i corsi dell'anno successivo. Quindi il primo anno ho scelto 8 corsi specializzanti che dovrei frequentare quest'anno.
Fondamentalmente ho scelto i corsi che mi interessavano, partendo dagli algoritmi e arrivando fino al soft computing. Quindi ho scelto questi (sulla fiducia, tra l'altro, perché la maggior parte dei programmi dei corsi non era disponibile al momento della scelta):
  1. Intelligenza Artificiale, in cui si studiano varie tecniche usate nell'IA, una sorta di infarinatura generale. Questo corso è tenuto (se non lo cambiano) da un'ottimo professore.
  2. Laboratorio di Modellistica e Simulazione, non so come sia il corso, ma il nome mi ispirava e quindi l'ho messo nel piano.
  3. Sistemi Complessi: Modelli e Applicazioni, che suppongo tratti lo studio di sistemi complessi dal punto di vista teorico e pratico.
  4. Soft Computing, che mostra le tecniche di soft computing. Anche questo, come IA, lo conobbi alla triennale e so che anche qui il docente è estremamente bravo e il corso è impegnativo.
  5. Algoritmi su testi, che tratta, a quanto pare, gli algoritmi su testi. Non c'entra molto col resto, ma mi piacciono gli algoritmi.
  6. Gestione della Conoscenza, che suppongo spieghi come viene gestita la conoscenza a livello di modelli, strutture e a livello logico.
  7. Trattamento formale dell'incertezza, offero fuzzy logic.
  8. Progettazione Logica Digitale, ovvero si studiano gli FPGA. Non c'entra molto, anche questo, ma l'argomento mi interessava.
Ora, il corso #8 lo faccio questo primo semestre.
Gli altri corsi non sono in questo semestre. Questo fa pensare immediatamente che dovrò fare 7 corsi in un solo semestre. Questo implica che, molto probabilmente, ci saranno sovrapposizioni e difficoltà varie (pensate che bello dare circa 1.17 esami al mese, con uno span effettivo degli esami di 2 mesi e 4 mesi di corsi).

Quindi 7 corsi in 6 mesi. Questa è la soluzione ottima allo stato attuale delle cose.

La realtà è che 4 esami su 8 non sono previsti nel manifesto dell'anno accademico. In altre parole, me ne han fatti scegliere 8, li hanno accettati, e poi me ne han tolti 4. Guarda caso, 3 dei 4 più fighi, i numeri #2, #4, #5 e #7.

Inoltre, come se questo non bastasse, il corso #3 sui sistemi complessi è stato spostato al primo anno e gli hanno anche cambiato il programma. Quindi può essere che io non possa dare nemmeno questo.

Caso peggiore: 3 mantenuti, 5 cancellati.

Implicazioni a breve termine: io settimana prossima inizierò a seguire tutti i corsi possibili (tra l'altro, Text Mining, che è interessante ed è tenuto da un professore bravo, mi si sovrappone con #8) sperando che ce ne sia qualcuno di interessante.

Chiaramente, per stare tranquillo, dovrò studiare per 4/5 esami e darli tutti e prendere 30 in tutti perché non so, poi, quali finiranno nel nuovo piano di studi.

Ah ecco, e come se non bastasse, il professore di Soft Computing è andato all'estero e credo che ci rimarrà per un paio d'anni. Io puntavo a fare la tesi con lui, magari sugli algoritmi genetici che sono il suo cavallo di battaglia.

Che culo, eh?
Morali:
  1. evitate la Bicocca, almeno finché non imparano ad organizzarsi (dato che tutti mi dicono che è organizzata male, anche nelle altre facoltà). I professori, comunque, sono bravi... Quando non se ne vanno.
  2. finirò in 3 anni anziché 2, ritardando ulterioremente tutti i miei programmi di studio all'estero.
  3. date retta al vostro correlatore se vi dice "cambia università per la specialistica."

Stay --sync

31 August 2011

Alla fine l'ho buttato via...

Nella mia opera gargantuesca (che davvero pochi conoscono, e che mi ostino a non rivelare nei dettagli salienti :D) le cose procedono.

Come detto nel post relativo, era tutto da buttare... Praticamente s'è rivelato vero. Ho abolito QGraphicsView dal mio programma, perché banalmente detestavo il dover avere *due* modelli dello spazio: uno mio e uno di Qt...
E no, non posso usare quello di Qt al posto del mio, altrimenti si frigge tutto il senso della separazione delle classi...
E no, bindare i due modelli è semplicemente cretino...
E sì, dovrò ri-fare un bel po' di cose. Certamente, c'è qualcosa che mi tedia.

Ad esempio, eviterei volentieri di rifare il BSP, ma siccome ho un modello spaziale separato, mi servirà non solo per gli scopi per cui era già usato nel Graphics Framework, ma anche per le mie nuove strabilianti funzionalità (come, ad esempio, evidenziare un nodo. Eccitante, non è vero? :D)

Ho una nota triste: il rendering di QPainter su i widget OpenGL fa pena. Non è minimamente paragonabile, come qualità, a quello fatto sulle superfici normali... In altre parole: l'anti-aliasing è orribile, perché usa il supersampling (multisampling?), come di solito si fa in OpenGL.

Intanto il progetto cresce bene. Sono arrivato (credo ieri) alle 5000 righe di codice (senza commenti... *aehm* ma devo dire che è ben organizzato quindi siamo abbastanza nel "self-explanatory" *coff coff*) e questa sera ho reso l'applicazione scriptabile :) (QtScript, cioè ECMAScript-262).

Niente, ero soddisfatto e mi andava di comunicarvelo :D

Intanto, gli esami incombono e non so quando avrete ancora mie notizie.
Stay --sync

09 August 2011

È tutto da rifare!!

Non avevo poi sbagliato dicendo che era (quasi) tutto da buttare. Sto riscrivendo il software in questione, passando da un prototipo (tanto utile quando implementato male :D) ad una implementazione definitiva fatta con tutti i crismi. Sono circa 7 giorni che la scrivo e rispetto al prototipo ho sostanzialmente triplicato il numero delle classi... E sto facendo sostanzialmente "scaffolding" (o qualcosa di simile), ovvero sto implementando le feature prioritarie da un punto di vista strutturale... Senza contare che questa volta sto usando interfacce ed unit test XD

Questa architettura mi sta dando soddisfazioni e...
Niente :D Non ho poi molto da dire, ma avevo voglia di scrivere sul blog.

Ah ecco, sono tornato singol. Casualmente, anche questo c'entra in qualche modo col titolo.
Stay --sync