Bloqueando la publicidad directamente en el fichero de hosts

Estoy harto de la publicidad en las webs. Últimamente el tema, de candente actualidad, ha alcanzado cotas completamente estúpidas. Parece ser que los webmasters se han percatado de que en España una de cada cuatro personas ya utiliza algún tipo de bloqueador de anuncios, así que se han propuesto apretar todavía más a las tres restantes, para compensar. E ir por páginas webs que te piden expresamente que no bloquees sus anuncios, pues dependen de ellos para pagar salarios -como El Diario- sin bloqueador de publicidad es directamente un suicidio. ¿Cómo es posible que una página web cuyo principal activo es que el visitante pueda leer el contenido no tenga reparos en poner fondos de amarillo brillante para promocionar un whisky? ¿Es de recibo que el artículo se desplace varios párrafos arriba y abajo mientras lees porque un vídeo aparece de la nada justo en el centro? ¿Está bien que alguien te obligue a ver publicidad antes de ponerte un vídeo de YouTube que ni tan siquiera es de un canal que le pertenezca? ¿Es lógico que al entrar a una web haya que hacer un scroll completo antes de poder empezar a leer porque toda la cabecera son anuncios? (y sí, estas cuatro cosas las hace eldiario.es).

publicidad-el-diario

Ilustración 1, navegando por eldiario.es

Yo digo, no más. Y, cansado de opciones malrolleras como AdBlock Plus y similares, he andado el camino termonuclear. He bloqueado la publicidad a nivel de fichero de hosts. ¿Qué significa esto exactamente?

Sigue leyendo

El problema del listón del contenido

Yo antes tenía un blog. Lo prometo. Uno de estos blogs en los que no se habla de programación, si es que todavía queda alguno. Su contenido era una suerte de popurrí de lo que me apeteciese contar en cada momento. Una historia corta, mi opinión sobre la CocaCola Zero (y lo mucho que me disgustaba su sabor cuando llegó a nuestros supermercados), un vídeo de YouTube que me gustase… Así, el contenido era irregular en cuanto a tipo, frecuencia, y calidad. Al fin y al cabo, era el blog personal de un adolescente al que lo único que le apetecía era escribir de vez en cuando.

Y el caso es que llegué a hacer todo un hábito de ello, forzándome a escribir cada día, después de comer, con mi primer portátil, medio tumbado en el sofá antes de ponerme a estudiar o hacer los deberes. Los resultados que obtuve he de admitir que tampoco estaban del todo mal. En mi obsesión por ser leído, tenía siempre una pestaña abierta con las estadísticas del blog, y raro era el día, en los últimos meses de actividad, que no se saldaba con unas setenta y cinco visitas. Puede parecer una cantidad ridícula, pero teniendo en cuenta que la mayor parte de ellas parecían recurrentes (WordPress no me daba las herramientas para saber si realmente lo eran), te hacían sentir como que, efectivamente, una pequeña comunidad se juntaba en torno a tus palabras cada día. Era, de cierto modo, reconfortante, y animaba a seguir. También es cierto que eran los tiempos en los que Twitter seguía siendo una cosa de raros, y no había hashtags ni para las series de TV (¿alguien recuerda esa época?) Todos tus seguidores te conocían, tú conocías a todos tus seguidores, y las conversaciones en ciento cuarenta caracteres podían durar horas en un tono que oscilaba entre la cordialidad y la simpatía, sin intentar herir al otro por su ideología política, alimenticia, o sexual (de nuevo, ¿alguien recuerda esa época?)

Sigue leyendo

Comunicando Node.js y Python (II – la mejor manera)

Como ya os he contado, necesitaba un Web Scraper que fuese disparado bajo demanda del usuario para recuperar de subtitulos.es los títulos de los distintos capítulos, y la manera más sencilla de hacerlo era en Python. Para ello, cada vez que el usuario pidiese al servidor Node.js un contenido, este lo buscaría primero en la BD, y, si no lo encontraba, lo pediría al scraper. De esta manera, si el contenido no existe en subtitulos.es, se pedirá siempre al scraper y este retornará un error, pero si sí existe, este será scrapeado solo la primera vez, encontrándose en veces sucesivas en la BD.

docs-dotcloud-logo

La primera solución consistía en comunicarse con el scraper Python mediante stdout, pero esto tenía varios inconvenientes. El primero, que el scraper debía encontrarse en la misma máquina que Node.js. El segundo, que para objetos más complejos se debía escoger una representación de datos intermedia como JSON. El tercero, que cada vez que se usase el scraper este debía abrir una nueva conexión con la base de datos, en vez de mantener una viva.

Sigue leyendo