dimecres, 29 de juny del 2011

Com fer servir wget per a descarregar llocs web sencers

Un "truc" amb Linux. Com descarregar-se una web sencera?

En general, la resposta és amb una aranya web (o web crawler): un programa que es dedica a recorrer els enllaços d'una pàgina web de forma recursiva fins a un determinat nivell de profunditat.

Ara bé, a Linux hi ha una petita aplicació de línia de comandes que permet fer exactament això mateix: wget

Per a descarregar una web "sencera" podem fer-ho amb:

wget -r -l 0 http://www.undomini.cat/

Si fem wget --help a un terminal obtenim la llista d'opcions. En particular es veu que:

Descàrrega recursiva:
-r, --recursive       baixa de forma recursiva.
-l, --level=NOMBRE    nivell màxim de recursió (inf o 0 per infinit)

Al manual de GNU Wget trobem tota la informació sobre aquest programa.

diumenge, 26 de juny del 2011

X Jornades de Programari Lliure

Els propers 30 de juny i 1 de juliol es celebraran les X Jornades de Programari Lliure a l'Escola Tècnica Superior d'Enginyers Industrials de Barcelona. Vet aquí la informació que publiquen a la web:


X Jornades de programari Lliure

JPL - La teva trobada anual - Free Software, Open Source i Coneixement Lliure.

Informació general

Benvinguts a la desena edició de les Jornades de Programari Lliure, les X-JPL. Fidels al compromís dels organitzadors per fer d'aquestes jornades les jornades de tothom, en aquesta edició l'esdeveniment se celebrarà a l'Escola Tècnica Superior d'Enginyeria Industrial de Barcelona de la  Universitat Politècnica de Catalunya.
Les JPL tenen com a principal objectiu la difusió del programari lliure. Es debat com potenciar el seu ús a la societat en general i a la recerca, desenvolupament i docència en particular, així com donar a conèixer les activitats on intervé el programari lliure que actualment es porten a terme a les diverses universitats catalanes i també a altres sectors del país inclosa l'administració.

Desè aniversari

En ocasió d'aquests 10 anys d'existència, la temàtica de les jornades girarà al voltant de 2 eixos bàsics:
  • Repàs històric: d'alguna manera o altra volem oferir un balanç de les fites més rellevants assolides pel Programari Lliure en aquest període
  • Tendències de futur en el programari lliure: Portarem reconeguts experts en la matèria per tal que ens ajudin a discernir l'esdevenidor del programari lliure en els seus diversos àmbits (escriptori, dispositius mòbils, bases de dades, ofimàtica, temes legals, societat, educació, etc.)

Inscripció

Per assistir a les jornades és imprescindible inscriure-us-hi tot i que el registre és gratuït. Per formalitzar-lo només cal que us doneu d'alta en aquest portal a través d'aquest formulari (a partir de l'1 de juny). Recordeu que cal que passeu pel taulell de recepció per tal d'acreditar-vos.

Dates importants

  • Jornades: 30 de juny i 1 de juliol de 2011.

Si voleu estar informats

En aquests moments el programa detallat d'activitats està en preparació. Si voleu estar al dia de les darreres novetats que es vagin produïnt, teniu a la vostra disposició els següents mecanismes:
  • Us podeu subscriure (recomanable) a la llista de distribució de les jornades. Des de la llista us mantindrem informats de les darreres novetats referents a les jornades. Aquesta llista és moderada i de baix tràfic (vuit missatges l'any com a molt).
  • Podeu estar subscrits a les notícies d'aquest portal mitjançant RSS.

Informació de contacte

Envieu un correu a la secretaria de les jornades.

Organització

La X edició de les JPL està organitzada per la  Càtedra de Programari Lliure de la UPC. Els membres de l'organització podeu trobar-los aqui.

divendres, 24 de juny del 2011

CSS Box model. quirks mode vs. w3c mode

Recentment he estat involucrat en la creació de pàgines web amb crossbrowsing per a Internet Explorer 6,7,8 i FireFox 3,3.6 i 4.

Per crossbrowsing s'entén la creació de pàgines web que es vegin igual amb tots els navegadors.

És, doncs,  l'art d'eliminar les diferències de visualització que hi han entre dieferents navegadors, entre versions d'un mateix navegador o entre un mateix navegador  a diferents sistemes operatius.

Per exemple: les diferències de visualització entre Internet Explorer, FireFox i Chrome; les diferències de visualització entre Internet Explorer 6, 7,8 i 9; o les diferències de visualització entre Windows i Unix.


Un dels aspectes que dificulten el crossbrowsing és el model de caixes del CSS.

El model de caixes aplica a les capes i a un  munt d'etiquetes. El model de caixes especifica els marges, el padding o espai entre els límits  de la caixa i l'espai útil de la caixa, especifica la forma i mida de les vores de la caixa...

 
El model de caixes està definit en una especificació del WWW Consortium i l'honoren tots els navegadors importants, si més no en les seves versions actuals. És l'standard model. Ara bé, les versions antigues de l'Internet Explorer feien servir un model de caixes propi. I les versions modernes han optat per mantenir aquest model per a totes aquelles pàgines HTML que no tinguin DOCTYPE, o que el DOCTYPE defineixi la pàgina com HTML 3, com HTML 4 Transitional, o es tracti d'un document de framesets. El que es coneix com Quirqs mode.

Això ens parla de la importància de donar un DOCTYPE adequat a les pàgines que tinguem que crear.

A Internet n'hi han un munt de pàgines que provoquen que l'Internet Explorer les visualitzi en quirks mode.

Per això, cal tenir present les diferències entre el model de caixes del quirks mode i el model de caixes estàndar.

La següent imatge, agafada de http://www.456bereastreet.com/archive/200612/internet_explorer_and_the_css_box_model/, il·lustra aquestes diferències. Aquesta és una imatge clau que cal tenir present a l'hora de desenvolupar

La tècnica de desenvolupament tenint el cross-browsing en ment seguiria els següents principis:

1. desenvolupar per a un navegador base, per exemple Firefox.
2. separar tots els estils en un document css.
3. examinar el resultat en els navegadors per als que es vol garantir el crossbrowsing, per exemple Internet Explorer
4. fent us de condicionals. En el cas de Internet Explorer es disposa de les etiquetes <!--[IF IE nn ]>   .....    <![END IF] --> (amb nn versió de IE).

 Un bon motiu per a desenvolupar primer amb FireFox és que després és molt senzill associar uns CSS específics per al cross browsing amb IE fent servir les etiquetes condicionals de l'IE. En canvi, si es pren IE com navegador base, aleshores cal utilitzar condicionals amb javascript per a associar CSS a Firefox.

El codi dels condicionals amb FireFox quedaria així

<link rel="stylesheet" type="text/css" href="/css/ff_css.css"/>
<!--[IF IE 7 ]>
<link rel="stylesheet" type="text/css" href="/css/ie7_css.css"/>
<![END IF] -->
<!--[IF IE 8 ]>
<link rel="stylesheet" type="text/css" href="/css/ie8_css.css"/>
<![END IF] -->