L’XSLT és útil: Deliverance

Des de que fa molt de temps es va començar a parlar de l’XML i l’XSLT com a la panacea de la descripció ordenada de contingut i una descripció ordenada de les transformacions d’aquests continguts respectivament que tot i veure aplicacions que utilitzaven XSLT mai no li havia acabat de trobar massa la gràcia.

Ara però, i gràcies a que estic treballant en un projecte amb Plone que n’hi he vist el gran potencial: Deliverance.

El Deliverance, ras i curt és un proxy ((Servei intermediari en aquest cas? Ja que es tracta de programari i no maquinari)) que amb una colla de regles ((Molt poques realment, quatre contades)) li apliques transformacions a qualsevol pàgina web.

D’aquesta manera pots tenir un dissenyador que no sàpiga res ((Ni ho necessiti que és el més important)) sobre el CMS en que estàs treballant. Llavors per unir el disseny en HTML del dissenyador i les personalitzacions i els continguts  que s’han creat dins del CMS s’ajunten amb el Deliverance. Amb unes quantes regles senzilles li vens a dir “aquest bloc que surt a la dreta posa’l a l’esquerra amb aquests estils”.

A més a més, el Deliverance és independent del CMS en el que treballes, ja que el pots ficar enmig de l’usuari i el CMS de manera que els desenvolupadors no han de remenar res de disseny ni presentació i els dissenyadors només s’han de concentrar en fer els dissenys en HTML+CSS+JavaScript.

consell vim del dia: filetype

logotip del vimQuan obriu amb el vim un fitxer que té una extensió no comuna però que al cap i a la fi és un xml, csv, html o d’altres us trobeu que no us ressalta el text com si fós un xml, csv, etc.

Per dir-li que ressalti la sintaxi del fitxer com si fós un fitxer xml només cal que teclegeu l’ordre:

:set filetype=xml

I ja tindreu el fitxer ressaltat en l’estil que vulgueu :)

eina del dia: cdrecord

Sembla que el Brasero no em funciona massa bé de manera que per esborrar el CD-RW que tinc per a enregistrar-hi l’Ubuntu 9.10 ((És per la Sílvia eh, no us preocupeu, no abandono Gentoo de moment :D )) he decidit fer-ho fàcil i teclejar quatre ordres des del terminal:

mount # per veure el punt de muntatge del CD-RW

umount /dev/XXX # desmuntem la unitat

cdrecord blank=all /dev/XXX # esborrem la unitat

cdrecord /dev/XXX /RUTA/FINS/AL/FITXER/ISO # enregistrem el fitxer ISO

eject /dev/XXX # expulsem la unitat

I llestos ja tinc l’Ubuntu 9.10 enregistrat al CD-RW. ((Baixat des de Softcatalà perquè no hi havia manera que els miralls d’Ubuntu.com funcionèssin))

un parell de pàgines útils

Com que a la nova feina faig de programador des de fa dies que estic consultant una pàgina web que suposo que ja deu ser força coneguda:

És un web que et permet fer preguntes, etiquetar-les i respondre’n. La interfície realment és molt senzilla i és molt còmode utilitzar-la ((A diferència de molts webs anomenats 2.0 que sembla més que el seu objectiu sigui entrar a una galeria d’art més que no pas utilitzar-se))

Fa pocs dies que a més vaig descobrir que tenen una versió del web pensada per a administradors:

Igual com la primera també molt molt útil (tot i que amb menys volum pel que sembla de moment).

crear un dipòsit de git remot

git-logoAra que el git s’utilitza a molts projectes importants va bé saber com muntar-se el teu propi servidor de git.

A grans trets són 3 pasos diferenciats: crear el dipòsit en el servidor, iniciar el dipòsit en el servidor local i finalment com s’utilitza en un ordinador qualsevol.

Crear el dipòsit en el servidor

Creem un directori ((a on ens sembli del sistema de fitxers, l’únic en que afecta és en l’URL que ens quedarà pera  poder-hi accedir)) i hi entrem:

mkdir /home/git/DIPOSIT.git
cd /home/git/DIPOSIT.git

Iniciem el dipòsit de git:

git --bare init

Amb això ja tenim creat un dipòsit de git apunt per a que s’hi enviïn els primers canvis

Crear un dipòsit local per a iniciar el dipòsit del servidor

Creem un directori on  ens sembli i hi entrem:

mkdir ~/Escriptori/DIRECTORI
cd ~/Escriptori/DIRECTORI

Iniciem el dipòsit:

git init

Afegim els fitxers que volem que estiguin en el dipòsit i un cop ja hi són tots:

git add -A ((fins ara no m'havia adonat que era en majúscula))
git commit -a -m"Primer commit"

Un cop ja tenim els fitxers li diem quin és el dipòsit remot on s’hauran d’enviar:

git remote add origin ssh://USUARI@servidor/home/git/DIPOSIT.git

Enviem els canvis que ja hem fet:

git push origin master

I amb això ja tenim un dipòsit de git iniciat en el servidor i amb els continguts que hi acabem d’enviar. Aquest directori que hem creat en aquest segon pas es pot esborrar.

Clonar el dipòsit en remot

El pas més curt i més coneguts per tothom:

git clone ssh://USUARI@servidor/home/git/DIPOSIT.git

I ja podem fer públic l’URL per a accedir als dipòsits a qualsevol que tingui accés ((em falta mirar com s’ha de fer per permetre també l’accés a través d’HTTP sense necessitar un usuari en el servidor, alguna idea/web on s’expliqui?)).

consell: redireccions amb l’apache

Estic muntant un cgit al servidor i m’he estat com dos dies intentant que en entrar a git.badall.net ((de moment demana usuari i contrasenya perquè hi estic fent proves :) )) s’executés el cgi que genera el cgit.

Al cap i a la fi era un alias no? Així que vaig anar a la documentació de l’Apache a buscar informació sobre el mod_alias sense cap solució que funcionés … llavors vaig pensar que seria una modificació de l’URL, així que cap a la documentació sobre el mod_rewrite. De nou sense cap resultat útil.

Finalment ((a la tercerca sempre va a la vençuda no?)) en uns fòrums he trobat la solució:

DirectoryIndex cgit.cgi

Només feia falta que en el directori del servidor virtual hi posés que l’índex del directori sigués l’script que s’havia d’executar!

desplaçar-se pel vim

logotip del vim(Tot en mode control)

  • Anar al principi del fitxer: gg
  • Anar al final del fitxer: G
  • Anar a una línia en concret: :54 (o 54G)
  • Anar a la pàgina següent: Ctrl+F (molt útil si el teclat no té les tecles de avançar/retrocedir pàgina)
  • Anar a la pàgina anterior: Ctrl+B
  • Anar al principi de línia: | (la barra vertical de l’1)
  • Anar a una columna en concret: 54| (de nou la barra vertical de l’1)
  • Anar al final de la línia: 999| (o un número més gran si la línia és molt llarga :D
  • Anar a la paraula següent: w
  • Anar a la paraula anterior: b

Fonts:

Documentació del Vim

Vim tips de pixelbeat.org

Millorar el ressaltat de la sintaxi del Python al Vim

logotip del vimTot i que el Vim ja incorpora de forma predeterminada el ressaltat de sintaxi de Python avui he descobert que hi ha una extensió que permet millorar-ne encara més el ressaltat.

Només cal baixar el fitxer per a la versió de Python que utilitzeu (jo he baixat la versió 2.6 i la 3.0 ja que es poden instal·lar en paral·lel) i copiar-los a ~/.vim/syntax.

Obriu un fitxer de Python amb el vim i ja veureu :D

A més si us mireu els fitxers que us acabeu de baixar hi trobareu unes quantes opcions més de personalització (que ressalti el format del print, que mostri els espais i tabulacions que sobren …), totes aquestes personalitzacions les podeu afegir al ~/.vimrc.

git tip: git reset –hard

git-logoSi mai us trobeu treballant amb un codi que utilitza git com a control de versions i quan canvieu de branques, feu cherry-pick o altres operacions i deixeu l’arbre en un estat que no teniu manera de deixar-lo net, utilitzeu el títol d’aquest missatge!

Amb això el que fareu és fer que l’índex de l’última revisió sigui l’índex dels canvis actuals (o sigui cap canvi) i s’esborrin tots els canvis que hi hagi fets en tot l’arbre.