22 de juny del 2013

Fibra òptica vs. ADSL del tercer món

He estat molts anys amb Jazztel, amb ADSL 3M/512K. Però el pitjor eren les contínues desconnexions i les pàgines sense resposta, amb el rellotge del navegador donant voltes... Malgrat tot, el servei tècnic de Jazztel sempre ha estat bo. En canvi, Telefònica va ser incapaç de posar-me ADSL en 4 mesos, però això seria una altra història. En fi, finalment ha arribat l'esperada fibra òptica. De la mà de Movistar (vaja, Telefònica). Abans, però he hagut de passar pel seu ADSL de 1M/256K:


Per sort han estat només uns dies. En quant he pogut contractar la fibra 100M/10M, l'han instal·lada en menys de 24h. El resultat:


Vaja canvi, no? Finalment hem entrat al segle XXI.

15 de juny del 2013

HTML: Fixar amplades de columna en una taula

En la programació web hi ha gent molt radical en contra de l'ús de taules i en favor d'altres opcions, com ara els estils CSS. Els estils CSS estan molt bé. Els podeu veure aplicats en aquest mateix bloc ;-)

Però les taules també tenen la seva utilitat. Si encara en feu servir, us podeu trobar que de vegades fixar la mida de les columnes pot ser problemàtic, sobretot si es barreja amb estils CSS...

Un truc per fer-ho senzill consisteix en definir una primera fila buida que ens serveixi només per establir les amplades de les columnes de la taula:
<table style="width: 100%;">
    <tr>
        <td width="60%"></td>
        <td width="40%"></td>
    </tr>
    <tr>
        <td>Primera columna</td>
        <td>Segona columna</td>
    </tr>
    <tr >
        <td>Contingut</td>
        <td>Més contingut</td>
    </tr>
</table>

El resultat (amb un xic de CSS) el podeu veure a continuació:

Primera columna Segona columna
Contingut Més contingut

No és una mala opció, veritat?

11 de juny del 2013

Dropbox: Excloure carpetes .svn del Subversion

Ja fa temps que vaig parlar del Dropbox. Per cert, que si algú s'hi vol apuntar i utilitza aquest enllaç, els dos tindrem 500MB extres ;-)

Jo l'utilitzo per sincronitzar entre diferents PCs algunes aplicacions que també tinc al Subversion. Per què no ho faig directament amb el Subversion? L'ordinador remot no sempre té accés al servidor i, a més, m'agrada que el Dropbox faci la sincronització de forma immediata, sense haver d'esperar un update manual.

El cas és que es sincronitzen també les carpetes ocultes .svn, que contenen els fitxers de control del Subversion, i que poden ocupar una bona colla de MB. Però si les traiem del Dropbox amb l'eina gràfica, o si les esborrem directament, el Subversion deixa de funcionar (lògicament).

La solució és una mica enrevessada, ja us ho dic ara. L'explicació bàsica la podem trobar en l'ajuda del propi Dropbox sobre com escollir les carpetes a sincronitzar en Linux.

En primer lloc, em de baixar un script python per executar comandes Dropbox des de línia de comandes, i el fem executable:



Tot seguit, eliminem la carpeta .svn amb la utilitat que acabem de descarregar:
$ dropbox.py exclude add .svn

Ara ja no es sincronitzarà més, però el Dropbox ens l'ha esborrat i ja no funcionaria el Subversion. El que hem de fer és tornar a fer un Checkout del directori arrel del projecte. La carpeta .svn es tornarà a crear, però marcada com a carpeta ignorada i el Dropbox continuarà sense sincronitzar-la.

No és un procediment gaire intuïtiu, però funciona !

7 de juny del 2013

Subversion: afegir fitxers ignorats globalment

El Subversion és un sistema de control de versions molt utilitzat en programació, tot i que recentment el git li va traient protagonisme.

Sigui com sigui, fa uns dies em vaig trobar que m'estava ignorant unes llibreries, cosa que en general ja està bé, però que vaig trobar a faltar força en provar de compilar en un altre ordinador :-(

Per tal que no torni a passar, i sempre que vulgueu saber quins fitxers s'estan ignorant pel Subversion, us pot ser d'utilitat la comanda:
$ svn status --no-ignore | grep "I  "

L'executem en l'arrel del directori que volem verificar i ens llista els fitxers que s'estan ignorant en aquell directori. Si n'hi ha algun que hauria d'estar sota el control de versions, el podem afegir manualment amb:
$ svn add nom_del_fitxer
A veure si no se m'oblida ;-)