El Kimchi és un menjar típic coreà, molt extès també pel Japó i que té unes propietats molt bones per a la salut. És molt bo per la pell, dóna energia i purifica. Els coreans ho fan servir d’acompanyament en molts àpats ja sigui tal qual, en forma de sopa, amb arròs…
Hi ha molts tipus de Kimchi. De nap, de calamar, de col… La recepta que us presento és per a el·laborar un Kimchi de col xinesa, un dels meus preferits.
Si voleu saber com es prepara, seguiu llegint, hi ha moltes fotos!
El que podria semblar una bona notícia, la renovació total i absoluta de la web de TMB, ha estat un cop important per tots els widgets que duia fets relacionats amb el servei de TMB iBus (inclòs el gadget de l’entrada anterior). El canvi de la web ha canviat radicalment la manera d’obtenir la informació de la web, i també la informació que s’obté, ja que ara ja no s’especifica l’autobús que un espera, sinó que simplement s’introdueix el codi de la parada.
Així doncs he hagut de començar a reparar-los, començant pel widget per Mac. Enlloc d’adaptar el que ja existia, he decidit refer-lo nou, afegint-hi la possibilitat de buscar les parades des de la part del darrere del mateix widget. Això últim encara no he tingut temps d’implementar-ho, però està dins dels objectius abans de publicar-lo com a aplicació a Apple.
El widget és molt senzill de fer servir. Ara només consta d’un quadre de text on introduir el codi de parada. Un cop introduïts els 4 números, només cal prémer enter i obtindrem el llistat d’autobusos de la parada. La mida de la finestra s’optimitza automàticament adaptant-se a la quantitat de busos que hi hagi a cada parada. Així doncs inicialment és una finestra tan simple com això.
Un cop introduït el nombre de la parada i premuda la tecla enter, la finestra s’autoajusta per encabir tots els autobusos, amb un efecte d’allargament molt curiós ^^.
De moment TMB no proporciona una manera còmoda d’obtenir el nom de la parada un cop introduït el codi, però estudiaré la manera òptima d’obtenir-lo i mostrar-lo a la finestra.
Per si algú fa servir el widget de tant en tant i no pot viure sense ell (ho dubto d’altra gent, però jo el faig servir a diari!) us penjo la versió totalment en desenvolupament que pot funcionar com una escopeta de fira i que no té gaire opcions encara.
Seguiré millorant-la, i qualsevol suggeriment serà benvingut!
Després de 4 anys de la versió per a Mac del TMB iBus, ja he creat la versió del Gadget per a Windows 7, de manera que tots els usuaris de Windows (en principi de Vista i 7) podreu saber quan arribarà el vostre bus a la parada! El podeu descarregar d’aquí mateix.
El Gadget és tan simple de fer servir com introduir en el camp de Parada el número de la parada, i opcionalment introduir el número de bus. En cas de no introduir el número de bus, el gadget mostrarà els temps de tots els busos que passen per aquella parada.
La instal·lació del Gadget també és molt senzilla. Consisteix en descomprimir el fitxer, i moure la carpeta TMB.gadget a la carpeta …/Program Files/Windows Sidebar/Gadgets. Un cop allà, botó dret a l’escriptori, Gadgets, i arrossegar la icona del nou Gadget a l’escriptori allà on volguem.
Per a desenvolupar aquest gadget he fet servir HTML, CSS, Javascript, i la API de Yahoo YQL per a obtenir les dades de TMB. Cal dir que està en una primeríssima versió, i que la meva idea és que no s’hagin de saber els codis de para de memòria. Segueixo pensant en maneres que siguin usables d’implementar això, però de moment no se m’acudeix res útil.
Dijous 10 de Febrer va començar un esdeveniment inèdit a Barcelona, el HackU de Yahoo. Aquest esdeveniment consisteix en crear durant un període de 24h i en equips d’un màxim de 4 persones, un “Hack”, que es podria traduir com “Alguna cosa que faci servir noves tecnologies i faci alguna cosa mínimament interessant”, i després de fer-lo presentar-lo davant d’un tribunal de desenvolupadors de Yahoo.
De la pel·lícula “Roco i els seus germans” i del compositor Nino Rota, la peça Terra Lontana per a la qual he fet un arranjament per a 4 flautes i piano.
Podríem descriure l’aprenentatge per reforç d’aquesta manera.
“Molt bé! Té, un caramel!”
D’aquesta manera, l’individu que rep el caramel sap que allò que ha fet està bé, i que els passos que l’han dut a fer allò també són bons ja que el permeten obtenir un benefici.
En el camp de la Intel·ligència Artificial també existeix aquest concepte manllevat del camp de la psicologia, i es fa servir en problemes que són massa complexos com per programar-los explícitament. Quan la casuística és molt gran, de vegades és millor deixar que l’agent (un robot, un jugador “màquina” en un joc, la intel·ligència que controla una planta hidroelèctrica…) trobi la millor solució per prova i error.
Q-Learning és una tècnica d’aprenentatge per reforç que treballa sobre el model de decisió de Markov. Aquesta tècnica s’estudia a l’assignatura d’Aprenentatge a la FIB, i de fet acostuma a entrar com a problema a l’examen final.
Els elements que componen un problema d’aprenentatge per reforç són un conjunt d’estats possibles, un conjunt d’accions que l’agent pot realitzar i una funció de reforç que informa l’agent dels resultats obtinguts després d’efectuar una acció a l’entorn.
Durant un procés d’entrenament generalment llarg, el robot prova diferents seqüències d’estats, canviant d’un al altre de manera aleatòria o prefixada, i va calculant el reforç que s’obté per cadascuna de les seves accions. Si s’arriba a un estat que proporciona un reforç, aquest es propaga pels estats anteriors que permeten arribar en aquest, de manera que el camí cap a l’èxit es va poc a poc definint.
Per provar de manera visual aquesta funció, vaig desempolsar el robot de Lego, i li vaig implementar Q-Learning. Aquí podeu veure el codi abans d’aplicar-lo al robot, de manera que el podeu provar sense tenir-ne. En aquest exemple els reforços són implícits en el codi, és a dir que per cada transició ja hi ha un esforç definit.
A la versió aplicada al robot, el reforç és obtingut quan aquest aconsegueix prémer el polsador. El diagrama de les accions que pot realitzar el robot és el següent:
Els dibuixets dels palets negres són el braç robòtic. Com podeu veure no hi ha cap reforç definit, i serà quan premi el polsador quan el rebrà. D’aquesta manera serà un robot molt dinàmic.
En aquest vídeo podeu observar-ne el comportament.
Els primers moviments que fa són d’entrenament. Un cop acabat l’entrenament i estudiat el reforç que ha obtingut, executa les accions que li proporcionen més reforç. Durant la primera part del video, el fet de prémer el botó li proporciona reforç, mentre que a la segona part del vídeo, figura que el botó li proporciona un càstig.
Podeu veure com a la primera part aprèn que ha de pitjar el botó, mentre que a la segona part aprèn que s’ha de quedar allunyat del botó.
L’altre dia, l’autora del blog Inventariant em comentava que és curiós que per recordar un cert tros d’una cançó, haguem de taral·lejar-la des d’un cert punt, per finalment arribar al tros que volíem recordar.
Des del meu absolut desconeixement del funcionament del cervell, i només a partir d’hipòtesis basades en l’observació i estudi del funcionament del MEU propi, he arribat a certes conclusions que poden explicar o veure d’una altra manera el motiu pel qual això és així. Aquesta explicació està una mica lligada al post que vaig escriure fa un temps sobre l’accés seqüencial i aleatori de la memòria humana. Així doncs entrem en matèria.
Com emmagatzemem les cançons al nostre cervell? Com és que per recordar-ne una secció concreta hem de taral·lejar-les des d’un punt que sí que recordem? Jo ho entenc com el següent dibuix:
Les cançons s’emmagatzemarien al cervell seqüencialment a una llista L, partint d’un punt inicial, que seria l’inici de la cançó. Aquest punt inicial quedaria guardat a la primera posició d’un vector V. La diferència entre la llista L i el vector V és que es podria accedir a qualsevol posició d’aquest segon sense haver de passar per les anteriors, és a dir seria d’accés aleatori, mentre que en el cas de la llista L per accedir a la posició X, s’hauria de passar necessàriament per la posició X-1.
Però quin sentit té tenir un vector apuntant a la primera posició de la cançó? I quin avantatge té que aquest sigui d’accés aleatori? Per entendre-ho hem de veure el següent dibuix:
I és que al vector V no hi tindríem només un accés al principi de la cançó, si no punts clau d’aquesta. Per exemple punts on hi ha un canvi, punts en els quals als assajos ens hi hem aturat i hem començat des d’allà, punts en què hi ha inflexions, punts on comencen les tornades, resumint, punts que ens han quedat més gravats que la resta de parts per algun motiu.
Aquests són els punts que es guardarien en aquest vector, i que ens permetrien recordar certes parts d’una cançó sense la necessitat de cantar-la sencera.
Posant un exemple (un pèl trivial):
Vull recordar si la cançó de “Cada dia al matí” parla del matí o de la nit. Aquest és un cas absurd ja que és molt curt, però en el cas d’una peça llarga, podríem trobar-nos que la paraula “matí” no apareix fins ben avançada la cançó. Si l’hem assajat per parts i no sempre d’una tirada, és possible que haguem guardat diversos “punts d’entrada” de la canço al nostre vector V. Així doncs, per arribar a la paraula matí no haurem de recórrer tota la llista L fins a arribar-hi, sinó que podem fer servir l’accés directe número 1 del vector V, i taral·lejar la cançó des de “al matí…”.
El mateix per recordar si la cançó parla d’un gat o d’un gall. Posem que als assajos hem treballat la frase “Canta el gall kikirikí”. Segurament el nostre cervell crearà un accés directe (el número 3) al nostre vector V de manera que per recordar si parlem d’un gall o d’un gat, només haurem d’accedir a la posició 3, i d’allà saltar directament a “Canta…”, amb l’avantatge d’haver-nos saltat tota la primera frase.
I bé fins aquí aquesta paranoia, espero haver donat un nou punt de vista a les estructures que des del meu punt de vista emmagatzemen el nostre coneixement, i en aquest cas concret, les cançons!
La darrera versió d’Automatic ja no és gratuïta, i és per això que ara us recomano utilitzar Catch, una alternativa Open-source i gratuïta pensada per funcionar amb showRSS,, que molt properament estarà disponible també en català! (l’estic traduïnt)
Està en una versió una mica prematura, però funciona molt bé i segurament aniran fent actualitzacions per a millorar-la!
UPDATE: Catch 1.4 ja està disponible en Català! (per a tenir-lo en català heu de tenir l’idioma Català com a preferent a Preferències del Sistema -> Idioma i Text -> Idioma)
La part de Sevilla la vaig gravar durant el pont de la constitució, i la part de Barcelona la nit del 23 de Desembre. La música feia temps que estava mig acabada, però em faltaven les imatges!