lunes, octubre 15, 2007

Robert'); DROP TABLE Students;


Sin comentarios..... ;)

viernes, octubre 05, 2007

Jornades PHP O.K.I.

Ja deu fer una parell de setmanes que vam marxar als Estats Units i encara no he fet cap post al respecte, així que, ahí va...

Doncs resulta que la gent del Middlebury College van organitzar unes jornades PHP O.K.I. i ens van invitar a assistir-hi per la nostra relació amb el projecte Campus.

Asi que el trio calabera: en Marc Alier, en Francesc Santanach

i jo vam agafar un avió cap a U.S.A.


Un cop a Middlebury, VT, ens esparaven dos dies de feina i de comentar les especificacions de la versió 3 del O.K.I. amb la gent de M.I.T., d'Apple Education, MoodleRooms, etc.

No veas com curren aquest tius, ens ficaven en una sala de reunions a les 9 del matí i no paraven fins a les 6 de la tarda...


Conclusions del viatge: me podia haber quedao en casa. Pel que fa a la feina, vaig resoldre més problemes parlant amb al Francesc a l'avió que no pas amb 15 persones amb les que ens reuniem cada dia. La veritat, el Marc em va tornar a vendre una moto, jo pensava que anavem "a hablar de mi libro" peró tot estava centrat en la feina del Adam i l'Alex amb el Segue. Normal, eren el anfitrions. Peró em va sobtar molt que la gent del O.K.I., no sabés quina era l'arquitectura del projecte Campus ni com utilitzavem les seves interficies.

Per altra banda, va ser un viatge genial, veure Canada i els Estats Units i fer una mica de turisme... Amb tota la feinada que tenim ultimament, ja ha anat bé una mica de relax.

jueves, septiembre 06, 2007

NWiki 2.0

Ja esta!! Per fi he acabat de rescriure tota la instal·lació i tota la migració utilitzant les noves llibreries de XMLDB.

He publicat una release. Ara només queda esperar el feedback de la comunitat amb els possibles bugs.

A partir de demà ja em podré posar a treballar en coses més "importants" de cara a entrar a la versió 2.0 de Moodle, i al projecte Campus i l'OKI

viernes, junio 22, 2007

Poker: Texas Hold'em

Y ahora unas cuantas manos sueltas de las que nos gustan.... Fulines, fulones y las fores en el culo...


5s contra 6s... buff



10s-As no es lo mismo que As-10s. Primera mano de la partida y a la calle...



Sin comentarios...



$9.000.000 encima la mesa.



Vaya cagada... Al estilo Yut, ven un A y se ciegan...



Que buena!! Le dice que la tiene y no se lo cree.

Poker: Gus Hansen going crazy

Aquí viene un post dedicado a mis amigos ludopatas de las partidas de los martes por la noche.

Invertid 40 minutos en ver esta partida, no tiene desperdicio ;)













Una partida mu bestia...

sábado, abril 21, 2007

SourceForge i NWiki

He afegit un script al nostre espai web de. projecte DFWiki de SourceForge per fer una redirecció cap a Crom.

Ara, http://dfwiki.sourceforge.net/ linka el curs DFWikiLabs. Mola.

Miraré a veure si també puc configurar la pàgina de downloads amb mirrors cap a casa.

Wikindx, WikiBook i NWiki

I'm a student or researcher and looking for bibliographic software that...
  • can manage all my bibliographic data allowing me to search through them with an accuracy and speed that cannot be duplicated with index cards.
  • enables me to store unlimited quotes, paraphrases and thoughts and to efficiently cross-reference them in a searchable database.
  • is free, stable and open source allowing me to cast off the shackles of commercial, licensed software.
  • supports non-English multi-byte character sets.
  • runs on all major operating systems (*NIX, OsX, Windows).
  • runs not only on a desktop computer but also on a web server so I can access my bibliography from any networked point or share my bibliography with my research team.
  • allows multiple attachments for each bibliographic resource.
  • can export my bibliography in various bibliographic styles (APA, Chicago, IEEE for example).
  • allows me to edit or create bibliographic styles through a graphical interface.
  • integrates a WYSIWYG word processor with easy importation of quotes etc. so that at long last I can write an article, from draft through to publication with automatic citation formatting, entirely within the one software.
  • at the click of a mouse button will reformat my article to another citation style whether that style uses footnotes, endnotes or in-text citation.
  • can import and export other bibliographic formats including BibTeX or Endnote format.
  • supports multiple users.

WIKINDX is all this and more.


Després d'un copy/paste de la presentació de Wikindx, dir que la gent de Moodle ja està pensant en la seva integració. I no tant sols això, va ser una de les propostes del Google Summer of Code. Per desgràcia, jo no me'n vaig enterar fins un cop assignades les places i ningú va demanar de fer-la.


Si algún en vol fer proves, aquesta es una bona pàgina: http://www.sirfragalot.com/wikindx3/

És una pena que no es faci encara la integració, i més que no la faci jo aquest estiu, $$$$$$$... Em sembla que un mòdul com aquest, amb una bona API, podria ser un bon complement per al WikiBook: crear pàgines de bibliogràfia, insertar quotes a la wiki, etc.

Moodle Developer Conference April 2007

Aquest divendres vaig arribar a les 9h al despatx amb el Pablo decidits a especificar i dissenyar part de la API de la NWiki. La idea es crear una API que ens serveixi tant per l'entorn Moodle com per l'entorn OKI.

Quan ja portavem un parell d'hores currrant i ja teniem com una dotzena de classes i una vintena de metodes especificats per a dos casos d'ús de la wiki, em sona el telèfon. Miro la pantalla: Ludo. Que deu passar? "Bon dia, xiquet. Que passa?". Marc: "Panic!" Com que panic, i ara que passa? Kernel panic no podia ser, el meu linux seguia funcionant correctement, així que alguna cosa passava per la comunitat Moodle. Segurament, algún moodler havia trobat un megabug a la NWiki.

Posno, la wiki seguia funcionant bé. Com que ultimament, anem tots molt atabalats, no ens haviem assavantat que a les 11hores GMT es celebrava una Online Moodle Developer Conference. El Marc, em va passar aquest link, la llista a temes a tractar durant la conferència.

Sorprenentment, o no, el futur de la NWiki en Moodle1.9 no era un dels temes a tractar. En canvi, la OU Wiki, una wiki que estant fent la gent de la Open University, sí. Ni corto ni perezoso, el Marc va editar la wiki on hi havia l'ordre del dia i va afegir "nwiki ?" a la llista de temes. A més a més, "nwiki" era un link a una pàgina que no existia, pel que surtia de color vermell. Vaya tela! Ens buscarem la ruina, jejeje. Bueno, aqui, qui no plora, no mama.

Així doncs, ens vam possar mans a la feina, algún representant del nostre projecte tenia que assitir a aquella reunió per donar el nostre punt de vista i que el Martin ens digués publicament quin era el futur de la NWiki. Vam comentar quins eren el punts que voliem tocar i qunes respostes voliem aconseguir i ens vam començar a buscar la vida per poder conectar-nos a la conferència.

Elluminate era el software que es faria servir per realitzar la conferència. Una aplicació molt ben parida per fer reunions online. Chat, videoconferencia, pissarra compartida, possibilitat de compartir aplicacions... i una de les coses que em va agradar més: si volies dir alguna cosa pel micro, només tenies que apretar el botó "raise your hand" per ficar-te a la cua dels que havien demanat el torn de paraula. Tot molt ben pensat.

Durant la reunió es van tocar molts punts a més dels que estaven a la llista. El Pablo, fins hi tot va aconseguir parlar de OKI i de Concerto. Em va sorprendre és que el Martin sabés molt bé de que anabem els dos temes.

Quan vam aconseguir parlar sobre la NWiki, ja portavem una 1h de conferència. El Martin i el Marc van estar una estona parlant sobre el codi, temes d'accessibilitat sobretot, i de tots els requisits que ens haviem estat demanat durant l'últim any que ja haviem complert. Jo encara no ho entenc, pero igual que el Petr Skoda, es va queixar dels blocks... en la meva opinió, una de les millors eines complementaries que te el nostres software. Finalment, ens van dir que quan complissim XHTML strict ja en tornariem a parlar, pero que no ens prometien res. Si ara matiex ficaven la NWiki a dins del core de Moodle i després no compliem les expectatives, una doble migració (referint-se a OU Wiki), no seria ben vista pels usuaris. Suposo que qui paga mana...

Conclusions d'un dia complet:
  • La NWiki seguiex on està, amb moltes descarregues al dia, amb molt usuaris descontents de ewiki que fan la migració cap a la nostra wiki, peró sense ser oficial i sense saber si ho serà mai.
  • M'he enterat de coses que a les que no hagués prestat atenció com els events i he ampliat coneixements sobre els moodleforms.
  • Triunfador clarisim: el senyor Pablo, que en un principi no volia saber-ne res de la conferència i quan va marxar tothom volia el seu mail. Una molt bona entrada a la comunitat.

lunes, abril 16, 2007

NWiki a HEAD de Moodle

Si en aquestes pròximes setmanes ens ho currem, es possible que entrem en la versió 1.9 de Moodle.

En Martin ens ha dit que seria molt, molt important cumplir XHTML strict. Em sembla que es molta feina per molt poc temps, tot just fa un parell o tres de setmanes que cumplim XHTML transitional...

A més a més en queda arreglar un parell de coses sobre els rols i els grups.

Igualment, encara que no ho sembli, soc possitiu i tinc esperances en la oficialitat de la nostra wiki.

PIGUI

Fa uns dies, vaig fer un descobriment curiós sobre el diminutiu del meu cognom.

Ja fa anys, un professor de matemàtiques de l'EGB es va cansar de dir-me "senyor Piguillem" i ho va deixar en "senyor Pigui".

Ara resulta que PIGUI vol dir Platform Independent Graphical User Interface. Pos vale...

WikiBook

Tenim pensada una nova implementació pel WikiBook que pot ser molt fàcil d'implementar i molt útil.

Després de la versió 1.0, molt poc usable en wikis groses; la versió 2.0, feta en AJAX, pero que no va passar d'un prototip; la versió 3.0, totalment integrada en la NWiki, pot ser molt interessant...

Proximament més....

lunes, marzo 26, 2007

Reenginyeria del WikiStorage

En l'estat actual de la NWiki tenim una macro variable que conté tota la informació per el correcte funcionament de la wiki. Això no pot ser. Cal aplicar una mica de reenginyeria.

Una mica d'historia...

Els primers dies de la DFWiki, a Moodle es permetia l'ús de variables globals. Per gestionar de forma ràpida i senzilla tota la informació provinent dels formularis, s'usava una variable global anomenada $dfform. Aquesta variable era un array amb una infinitat de posicions, tantes com elements en tots els formularis de la wiki.

Per exemple, en l'utilitat de import XML hi ha aquest formulari:

El codi que genera el botó "Yes" és el seguent:
<input type="submit" name="dfform[sure]" value="<?php print_string('yes');?>" />
Per recullir aquesta informació, només començar l'execució del codi de la wiki, el que es feia era declarar la variable global y recullir els seus possibles valors amb una crida a optional_param().

global $dfform;
$dfform=optional_param('dfform');

Per saber si l'usuari havia premut aquest botó, només calia mirar si $dfform["sure"] tenia valor en el moment adequat i com que era una variable global no hi havia cap problema.


A principis d'Octubre de 2007, se'ns va avisar desde Moodle que l'ús d'aquest tipus de variables esta prohibit. Per aquest motiu, dos projectistes van estar pensant com eliminar-les de la forma menys danyina per l'evolució del codi i dels PFCs. Va apareixer la classe WikiStorage.

D'aquesta manera, vam passar a tindre una macro variable que contenia tota la informació i que s'anava passant per referència amunt i avall.

Bàsicament, el procediment va ser:
  1. Crear l'arxiu wikistorage.class.php per definir els atributs i unes quantes funcions.
  2. Substituir tots els "global ......" per "global $WS".
  3. Concatenar a totes les variables globals $WS-> per davant.
  4. Eliminar els "global $WS" i afegir-lo com a parametre a les funcions.

Un cop acabada aquesta tasca, en Petr Skoda ens va dir que no estavam utilitzant correctament la funció optional_param() i que per aquest motiu tenim molt bugs de seguretat.

Va resultar ser que la funció tenia 3 parametres i que moltes vegades, només en feiem fer servir 1.
function optional_param($parname, $default=NULL, $type=PARAM_CLEAN) ;

on $parname és el nom de la variable que es vol agafar, $default és el valor que ha de pendre la variable si no es troba valor ni per GET ni POST i $type és el tipus de parametre que s'ha d'anar a buscar.

PARAM_CLEAN és l'opció més restrictiva de les que es pot escullir per fer la crida i per tant la més ineficient (com a curiositat, PARAM_CLEAN = 0x666;). En Petr ens va dir que escullissim l'opció correcte en cada cas. Si el parametre era un numero, PARAM_INT; si era un string, PARAM_ALPHA; etc. Així, es podria fer un tractament més correcte del contingut de la variable.

En cap de les crides a aquesta funció de la wiki s'especificava el tercer parametre. Per tant un grup de projectistes van estar adaptant el codi a aquesta nova norma.

Ja que $dfform és un array de tipus heterogenis, no es podia fer una crida directa a optional_param() , ja que no existeix "type" amb aquest objectiu. Per aquest motiu, es va decidir agafar els parametres un per un. Primer de tot, es van renombrar tots els elements de formularis del tipus dfform[xxx] per dfformxxx. Després es va fer crear la funció wiki_dfform_param() on es recullien una per una les variables dels formularis.

En l'exemple de la finestra d'import XML, el botó va passar a
<input type="submit" name="dfformsure" value="<?php print_string('yes');?>" />
i el seu valor es recollia de la següent manera:
$WS->dfform['sure'] = optional_param('dfformsure',NULL,PARAM_INT);

Estat actual

Si ja no tenim variables globals i no podem agafar tots els parametres dels formularis de cop, perque seguim mantenin la mateixa filosofia que fa un any?

Tranquilament, podem eliminar l'atribut dfform i molts altres de la classe WikiStorage i agafar el seu valor només quan ens faci falta. A més a més, cal que tinguin aquest comportament de variable global? Si sabem quan ens fan falta aquests valors (normalment, dins del context d'una funció), perque no poden ser variables locals?

jueves, marzo 15, 2007

Carn fresca

Ha començat el quatrimestre i ja tenim gent nova currant en NWiki.

Aquesta nova remesa de projectistes faran coses tan variades com:
  • Crear plugins per OpenOffice i MSWord
  • Afegir a la wiki la posibilitat de crear/importar plantilles
  • Seguir amb el desenvolupament per entrar al HEAD de Moodle
  • I com sempre, manteniment...
He afegit tots els RSS feeds en el meu blog per poder fer un seguiment de la seva feina i ajudar-los en el que pugui.