CakePHP e gli enum

Postato in tech web php il giorno 25/08/2011 alle ore 19:23

In questi giorni sto studiando il framework CakePHP, che ha un'ottima documentazione, sebbene manchi di chiarezza in qualche passaggio.

Un problema che ho dovuto affrontare è stato mostrare in un form valori predefiniti per un determinato campo sottoforma di un drop-down box (select) e che sostituiscano il tipo di dati enum che non è ancora supportato in CakePHP.

Ad esempio, un Task può avere come status i seguenti valori: "assigned","started", "closed".
Nel suo model perciò ho creato un metodo che riempie un array in questo modo:

class Task extends AppModel{
	var $name = 'Task';
	//other stuff

	function setStatus(){
		return array("assigned","started", "closed");
	}
}

 

Nel controller della classe invece, dentro ad ogni metodo che ne avrà bisogno, richiamerò l'array in questo modo:

class TasksController extends AppController{
	var $name = 'Tasks';

	function index(){
		$statuses = $this->Task->setStatus();
		$this->set('statuses', $statuses);
		$this->set('tasks', $this->Task->find(ll));
	}
}

 

Ora nella view per ottenere lo status del task basterà utilizzare:

$status = $statuses[$task['Task']['status']];

 

 

Nessun commento - Commenta

Maya playblast with FFMPEG

Postato in tech python il giorno 25/08/2011 alle ore 18:46

Finalmente rimetto mano al blog, scrivendo un post totalmente tecnico!!

Dalla versione 2011 di Autodesk Maya i codec integrati per effettuare un playblast video sono alquanto inutili: uno funziona male, un altro genera un video troppo grande da poter utilizzare ed un altro non va affatto.

Nella versione a 64bit poi le cose vanno ancora peggio!

Per risolvere questa situazione ho realizzato uno script che effettua un playblast di immagini JPEG e le converte in un filmato video tramite l'encoder FFmpeg.

Ecco le righe per effettuare il playblast come sequenza di JPEG:

cmd.setAttr("defaultRenderGlobals.imageFormat", 8) #imposto a JPEG
format = "image"
compression= "jpg"
image = "nomeFile" #senza estensione, Maya poi aggiunge il frame padding
startFrame=cmd.playbackOptions(q=1,ast=1)
endFrame=cmd.playbackOptions(q=1,aet=1)    
cmd.playblast(filename=image,offScreen=1, startTime=startFrame,endTime=endFrame,v=0, compression=compression, format=format,p=100, showOrnaments=1,fp=4,widthHeight=[960,650],fo=1)


Queste invece le righe per convertire le immagini in un file video di qualsiasi formato si voglia (sì, anche Quicktime!):

import subprocess
ffmpeg = "path_to_ffmpeg/ffmpeg.exe"
bitrate = "100000k"
#ffmpeg command:
ffCommand = ffmpeg + ' -b %s -i %s.%%04d.jpeg -s 960x650 -aspect 1.477 -pix_fmt rgb24 %s\'%(bitrate, image, file)
process = subprocess.Popen(ffCommand, shell=True)

Ho dovuto aggiungere le specifiche di bitrate, aspect-ratio e pixel_format poichè di default FFmpeg converte a 4:3 (vedere la documentazione di FFmpeg per ulteriori specifiche).

Per verificare il completamento del processo, basta eseguire questo controllo:

if not process.wait(): #returns True when FFmpeg stops
    ....

Attenzione: se il file video esiste già, FFmpeg attenderà un'azione da parte dell'utente e perciò il processo rimarrà impantanato. Occorre eseguire un controllo sull'esistenza e in caso positivo cancellare il file.

 

Nessun commento - Commenta

GGD Roma #7

Postato in tech web il giorno 19/02/2011 alle ore 02:16

Ci voleva proprio una Girl Geek Dinner per spingermi a rispolverare e a ripulire dalle erbacce il mio blog, lasciato a se stesso da ormai troppo tempo!
Per la seconda volta infatti ho partecipato alla serata organizzata da un gruppo di ragazze appassionate di tecnologie e nuovi media, le Girl Geek appunto.
In questa settima edizione il tema degli speech è stato l'Open source, ed in particolare il suo sviluppo al femminile.
Ovviamente, essendo grande fan della filosofia open sin da ragazzina, l'argomento mi ha da subito attirato, oltre al fatto che in queste occasioni fa sempre piacere rivedere qualche viso conosciuto o dare un volto a chi conosco solo virtualmente.
In particolare ho avuto il piacere di incontrare di persona il mitico Felipe di Pollycoke :) alla sua prima uscita social, direttamente dalla Sicilia.. un'occasione unica!
Tornando alla serata, la location prescelta è stata il Lanificio di Via di Pietralata, non troppo distante dal mio quartiere.
All'entrata come al solito le ragazze dello staff hanno riempito i partecipanti di gadget interessanti.. ma questa volta si sono superate!


All'interno della shopping marcata GGD ho trovato infatti:
- un taccuino Moleskine (anch'esso griffato GGD)
- una chiavetta USB da 2 GB
- un cd della distro Ubuntu
- un ombrello di media grandezza marcato Impresa Semplice
- il badge e il cordino
In più, grazie al fatto che mi sono registrata in tempo, ho ricevuto anche un free drink.

gadget della ggd 7

Dopo aver salutato qualche amico, mangiato abbondantemente e bevuto il mio cocktail gli speech hanno avuto inizio!
In primis è stato presentato lo sponsor della serata, Impresa Semplice di Telecom Italia. A rappresentarlo Patrizia Alfiero, che ci ha raccontato i progetti Working Capital e Donna Impresa. Il primo è mirato a creare delle start-up emergenti partendo solo da un'idea geniale, mentre il secondo è un blog che racconta dei successi al femminile e di diverse tematiche legate al lavoro in rosa.

Dopo di lei, Johanna Brewer ci ha raccontato la sua start-up: Frestyl, un utilissimo progetto per localizzare gli eventi musicali live, realizzato in filosofia open.
Per il sito web è stato utilizzato Ruby on Rails, un linguaggio che permette un rapid prototyping e si avvale di una comunità grandissima ed aperta, mentre per l'app iOS (iPhone, iPad e compagnia bella) è stato necessario sviluppare in Objective-C, che per principio è chiuso.
Johanna ci ha raccontato che durante lo sviluppo ha puntato molto sulle comunità web di sviluppatori, chiedendo e dando consigli tramite siti come Stackoverflow, Quora e a volte condividendo il codice sulla piattaforma Github.

In seguito tre ragazze ci hanno parlato di software libero e della partecipazione al femminile nello sviluppo di Linux: Flavia Weisghizzi, Silvia Bindelli e Valeria Silvestri.
Le prime due sono le fondatrici di Ubuntu Women-it, dorsale italiana della comunità femminile internazionale Ubuntu Women. Questo progetto, il cui scopo finale è il non dover essere più necessario, cerca di coinvolgere il più possibile le utenti e le sviluppatrici del sistema operativo. 
Come ci racconta Valeria, presentando il progetto Donne @SoftwareLibero, la presenza femminile nel campo informatico è una goccia nel mare, a causa di un forte pregiudizio, lo stesso per il quale la matematica non è adatta alle ragazze.
La scienza, in questo senso, non è neutrale. Al contrario, le donne praticano già buona parte della filosofia open riuscendo a gestire più progetti contemporaneamente, avendo una grande capacità di cooperazione, mettendo a loro agio le persone. Inoltre ogni diversità è una risorsa inestimabile che andrebbe valorizzata.

Dopo queste belle parole sono scattati gli applausi per tutte le ragazze intervenute, ovviamente anche per lo staff che si è fatto in quattro per organizzare una fantastica serata!
Guidati dalle note del mitico DJ Smeerch il pubblico ha cominciato a ballare ed a fantasticare sul tema della prossima GGD romana.. chissà cosa ci proporranno Wonderpaolastra, Candy, Nhaima, Kikka e le altre!

Nessun commento - Commenta

Ufficialmente androide!

Postato in tech il giorno 17/02/2010 alle ore 23:48

Yes, ce l'abbiamo fatta, finalmente è arrivata la SIM inglese che molto gentilmente Danielle, un'amica di Angela, mi ha spedito.

Ora il mio HTC Hero è sbloccato, funziona al 100% con tutti gli operatori ed il costo totale dell'acquisto è rimasto sotto i 300€.. Missione compiuta!

Qualche tip per chi come me vuole comprare questo splendido telefono ma non dover versare un rene:

- cercate dei rivenditori su Ebay.co.uk che spediscano anche in Italia (è molto difficile da trovare, però in genere lo scrivono nell'annuncio)

- comprando un telefono bloccato su una compagnia inglese spenderete molto di meno, però tenete in conto di perdere un po' di tempo nell'unlocking. Se avete fretta evitate. In ogni caso, cercate di non prendere l'Orange.

- se avete comprato un telefono bloccato Orange per sbloccarlo dovete anche comprare una SIM Orange. Non si scappa da qui. Chiedete al rivenditore di spedirvene una assieme al telefono, tanto costa meno di un euro.

- seguite tutti i forum interessanti sull'argomento. In particolare questo e questo, in italiano invece c'è quest'ottimo sito con forum, wiki e blog annessi.

- comprate almeno una custodia in silicone e una pellicola proteggi schermo. Sono indispensabili e costano veramente pochissimo.

- non dimenticate di comprare anche una scheda SD da almeno 1gb (dovrebbe essere inclusa nella confezione del telefono ma nel mio caso non c'era).

Elenco delle spese effettuate (includono le spese di spedizione):

  • Telefono 260€
  • Scheda SD 10€
  • SIM inglese gratis [ma costerebbe 0,99€]
  • 3 custodie in silicone più proteggi schermi 5€
  • codice di sblocco da qualche sito 15€
  • Totale: 290€

Prezzo dell'HTC Hero in negozio: 399€

Ho risparmiato 100€ per un telefono comunque nuovo e funzionante, sacrificando solo un po' di tempo e di pazienza.

A breve qualche foto e una piccola guida :)

 

PS: ho notato che i commenti non funzionavano.. ora dovrebbe essere tutto risolto!

Nessun commento - Commenta

Paranoid Android

Postato in tech il giorno 02/02/2010 alle ore 20:57

Premessa: sono una fottuta nerd.
Quando vedo un gingillo elettronico che mi attira non faccio altro che pensarci, comincio a fare ricerche su Internet per scoprirne i difetti fino a farmi passare la voglia.

Circa due mesi fa mi si presenta un'urgenza delle mie, un impulso irresistibile, che nonostante le numerose ricerche in materia non vuole spegnersi: voglio un Android, e lo voglio ora.

Ovviamente non un droide a caso, ma un HTC e per la precisione un Hero. Ha tutto ciò che può essere desiderato in uno smart phone: ha un bel design, è leggero, un grande schermo, un'ottima interfaccia, nessun problema apparente, il sistema operativo mobile di Google installato..

Un unico difetto: il prezzo.
Il mio Eroe infatti costa al negozio più di 400€ e al momento nessuna compagnia telefonica prevede un piano d'abbonamento per lui.

Però da brava nerd non mi dò pace e navigo, navigo finchè non finisco nelle acque della Baia (non quella dei Pirati, quell'altra).
Tra i venditori italiani ovviamente nessuna novità, il prezzo rimane sempre lo stesso, in alcuni casi è addirittura più alto di quello del negozio..
Con un po' di tristezza perciò mi rivolgo alla Baia inglese e lì trovo la mia offerta: HTC Hero a £230 (circa 260€) spese incluse, ad una condizione: il terminale è bloccato su Orange.

Sti cazzi, penso, sarò capace di sbloccare un cellulare, tanto che ci vorrà, compri un codice e via..
Pago l'asta e aspetto il pacco, che, causa vacanze di Natale, mi arriva in super ritardo (una ventina di giorni dopo.. Fuck Royal Mail).

Nel frattempo mi vado a leggere tutte le possibili maniere di sbloccare un Hero Orange e mi prende subito a male: questa cavolo di compagnia non blocca solo il cellulare ma addirittura il firmware, rendendo inutili i tentativi di sblocco tramite codice.
Unica soluzione trovata sul forum degli sviluppatori di Android, di una semplicità unica: prendere una scheda SIM Orange, accendere il telefono, accendere un cero a San Buca, gridare per sette volte il nome di Malgioglio, fare una giravolta, farla un'altra volta, spiumare un topo e immergerlo in un pentolone di acqua calda a testa in giù (e non in su, che altrimenti va tutto a puttane). Fine.

Di tutta questa tiritera mi manca solo una cosa, solo un piccolo minuscolo dettaglio: come cazzo trovo una scheda SIM Orange in Italia?!

Mentre mi sgretolo nell'attesa del pacco e mi faccio mille paranoie su chi possa avermelo rubato chiamo a raccolta tutti gli amici, conoscenti e non che possano aver vissuto in Inghilterra, Spagna, Francia, Polonia o Svizzera e che abbiano deciso di regalare dei soldi all'Arancia. Si esatto, questa compagnia esiste pressappoco in tutta Europa tranne che in Italia.
Smettete di ridere, ora.

Natale è passato, Capodanno idem, se ne va pure l'Epifania e dopo altri dieci giorni finalmente arriva il mio pacco!

Non me l'aveva rubato nessuno, erano solo le Poste che mi volevano fare uno scherzone, che simpatiche!

Ecco il mio Eroe finalmente, bellissimo, stupendo, lucido, con la sua scatoletta piccina e le sue cover (anche queste comprate su Ebay la settimana dopo, ma dalla Nuova Zelanda. Inutile dire che sono arrivate per prime, vero?), lo accendo ed ovviamente SIM Locked, ci avevo sperato per un istante ma niente.

Gianluca, un amico ex-erasmus in Spagna, mi presta gentilmente la sua scheda SIM Orange: dai che va, dai che va, dai che... NO! La scheda è scaduta, perchè per l'Arancia se non ricarichi dopo tre mesi non sei più un cliente.

Niente copertura di rete = niente segnale al telefono che la scheda è Orange = niente sbloccaggio.

Che dire? Sono ancora qui, con il mio HTC sulla scrivania, in attesa di una SIM inglese che mi sono fatta spedire da un'amica di un'amica di un'amica..
Arriverà mai? Scopritelo, con Royal Mail!

Nell'attesa sto meditando di fermare qualche polacca sull'autobus o chiedere a qualche spagnolo in centro a Roma se per puro caso abbia una SIM Orange..

..calmaticalmaticalmaticalmaticalmati..

11 commenti - Commenta

Categorie