sabato 26 novembre 2011

Do it better

Sometimes matters! ... dovrei imparare.
Nel frattempo consoliamoci con 1 birrino... e solo 1!!! perchè domani ho del codice da scrivere...
Che magari mi aiuta pure a imparare.

Uff

mercoledì 2 novembre 2011

PyRadbas

Finalmente dopo un paio di week end e qualche serata di lavoro ho rilasciato(**) PyRadbas 0.1.0.

Ma andiamo in ordine:

Q: Che cos'è?
A: Un tenero pacchetto Python composto (per ora) da una classe e qualche funzione.

Q: A che serve?
A: Puoi costruire/train-are una RBFN tutta tua.

Q: RBFN?
A: RBFN è l'acronimo di Radial Basis Function Network e a giro nella rete si trovano un sacco di informazioni su questi oggetti. Vengono usate per l'approssimazione di funzioni non lineari, previsioni su serie storiche, pattern recognition, ecc...

Q: Come funziona?
A: Un simpatico esempio corredato di cuoricini si trova qui: http://cybercase.github.com/pyradbas/.


Ora devo trovare qualcos'altro da fare...


(**) rilasciato nel senso che adesso si può installare attraverso easy_install



domenica 23 ottobre 2011

Le idee dovrebbero essere come i figli. Avere un padre e una madre... non appartenergli.

domenica 22 maggio 2011

Fast svn-clean without svn-clean

Rimuove tutti i file non appartenenti ad un progetto svn!
*** USARE CON CAUTELA ***
... piu' di una volta mi sono mangiato le mani ...


#!/usr/bin/env python
#-*- coding: utf-8 -*-


import os
import sys


# Thanks to http://www.guyrutenberg.com/2008/01/18/delete-unversioned-files-under-svn/
cmd_list = "svn status --no-ignore | grep '^\?' | sed 's/^\?      //'"
cmd_delete = "svn status --no-ignore | grep '^\?' | sed 's/^\?      //'  | xargs -Ixx rm -rf xx"


def delete_cmd():
    os.system(cmd_delete)


def list_cmd():
    os.system(cmd_list)


def print_usage():
    print "Use", os.path.basename(os.sys.argv[0]), "[-l | --list]"


if __name__=="__main__":
    if len(sys.argv) < 2: # No args
        delete_cmd()
    elif len(sys.argv) == 2 and (sys.argv[1] == "-l" or sys.argv[1] == "--list"):
        list_cmd()
    else:
        print_usage()

martedì 22 marzo 2011

Bel codice

Ogni volta che Andrea riscrive da zero qualcosa, ignorando sistematicamente tutto ciò che è stato scritto fin'ora, ignorando std::list, std::sort, insomma, ignorando TUTTO! Riesce a tirare fuori del codice da cui rimango puntualmente affascinato...

Vabè... torniamo al lavoro ;)
Questo progetto nesting si sta allargando piu' del previsto!

martedì 8 marzo 2011

Impegni

Il periodo in cui potevo dedicarmi allo studio delle wavelet è finito.... o almeno sospeso causa lavoro.
Ho ripreso a lavorare sul progetto di nesting e inoltre, a breve, dovrò mettere mano su opencv.

Il progetto nesting è il mio progetto storico. Ci ho lavorato per un anno intero! Per chi non avesse idea di cosa sia il nesting, wikipedia aiuta: Nesting
Adesso, che sono passati 2 anni dall'inizio del progetto, sembra che si stia arrivando all'integrazione del nester in una macchina reale!!

Il progetto opencv è altrettanto interessante. Si tratta di un progetto in cui è necessario riconoscere all'interno di un video le facce delle persone. Per l'appunto l'algoritmo utilizzato da opencv per effettuare questo riconoscimento si chiama HaarDetectObject!

Vi ricorda nulla? ... già, le wavelets! :)

venerdì 18 febbraio 2011

Wavelets

Ennesima frontiera del sapere. Le wavelets! è un po' ormai che ci sto studicchiando sopra... e dopo 1 po' di lavoro credo di aver capito il concetto!

Oltre al concetto oggi ho trovato una presentazione fatta da uno studente sul funzionamento di un semplice algoritmo di compressione wavelet (onda di haar). E' lo stesso algoritmo di cui mi ha parlato Andrea a cena.

Vediamo se trovo il link ai pdf.

http://online.redwoods.cc.ca.us/instruct/darnold/laproj/Fall2002/ames/paper.pdf

http://online.redwoods.cc.ca.us/instruct/darnold/

Il secondo link è la home page di un professore di qualche università americana (credo). Mica studiano stronzate laggiù!

Ci sono un sacco di lavoretti carini fatti fare agli studenti. Ne ho ritrovato in particolare modo uno sulla SVD e la compressione di immagini. Argomento sul quale anche io mi divertii, ai bei tempi, a fare esperimenti.

Comunque è fantastico... il discorso della media e tra i 2 valori, e della differenza tra questi. Mentre a cena con Andrea non riuscivo a capire la relazione tra questo algoritmo e la wavelet di Haar, adesso mi è tutto molto chiaro. Grazie anche ad una altro paper.

WAVELETS FOR KIDS A Tutorial Introduction By BRAni ViDAkovic and ...

Si, c'è scritto "for kids"... e il che mi fa sentire abbastanza una pippa :-/

Tuttavia mi ha dato un po' di spunti per avere un'idea di cosa sono gli spazi  e L ( Grazie wikipedia ). Inoltre mi ha fatto capire che la funzione costante e l'onda di haar sono ortogonali!
(sì, nel senso, so che quest'ultima cosa detta così non significa nulla. A chi interessa capire consiglio di leggere il paper almeno fino a pagina 7)

Non so ancora se è il momento di implementare qualcosa o meno... dovrei iniziare a cercare un po' di codice che implementi questa roba (Haar) in maniera efficiente! Oppure potrei iniziare scrivendomi qualcosa da solo... vedremo...

lunedì 14 febbraio 2011

Giudizio

Il giudizio è doloroso... soprattutto quando è un dente e vuole uscire ma non ha posto per farlo! Allora La gengiva, che circonda il dente, si infiamma, si gonfia e rende difficile anche solo chiudere la bocca. Inutile provare ugualmente a chiudere la mandibola...fa male!

Mangiare qualcosa che deve essere masticato diventa impossibile... oggi sono riuscito ad ingerire 2 pastine, opportunamente lessate nel forno a micronde (o microonde?)

Quello che mi aspetta sono 4 giorni di antibiotici, aulin per ridurre il dolore... e una fame cane!

Piu' sangue circola nella parte infiammata, piu' il dolore è forte. E' banale quindi capire che sforzi, allenamenti, e posizioni orizzontali sarebbero da evitare... Per i primi 2 rinuncerò, per l'ultima non credo che riuscirò a dormire seduto o in piedi!

sabato 12 febbraio 2011

Nebbia

Giornata nebbiosa... o piu' probabilmente è la mia testa ancora annebbiata dal venerdì sera e da questa settimana in generale.
Esco, forse in moto, andando piano perchè c'è nebbia.

domenica 30 gennaio 2011

Eclipse

Dopo 1 paio di volte che tutto si era bloccato al momento dell'autocompletamento (l'unica vera ragione per cui mi ostino a usare Eclipse) ho deciso di cercare su internet una soluzione.

E io che credevo che fosse il mio macbook air ad essere lento... :)


Per la cronaca:
ho risolto disattivando l'autocompletamento automatico. In pratica adesso l'autocompletamento parte su richiesta specifica dei tasti ctrl+space. Almeno così sono io a decidere quando si può bloccare.

Potete trovare la suddetta opzione in Preferences -> java -> editor -> content assist ;)