Archivo de la categoría Programacion

El hotlinking es una cosa muy mala

Se conoce como hotlinking la manía que tienen algunas personas de utilizar imagenes alojadas en servidores ajenos en sus páginas o blogs. Es decir, van navegando por la red, o directamente usan un buscador de imágenes, encuentran una que les gusta y les cuadra con lo que están escribiendo en su página, copian el enlace y lo pegan directamente en su texto.

El procedimiento lógico sería mirar de donde viene la imagen y qué condiciones de uso tiene (si es que se especifica algo), copiarla al propio alojamiento y enlazarla especificando el origen y/o autor si procediera o fuera necesario. Todas mis imagenes públicas, tanto del blog como de flickr, son compartidas mediante una licencia Creative Commons. Todo aquel que lo desee puede usarlas libremente, siempre que sea sin ánimo de lucro y citando la fuente original.

Sin embargo, el principal problema del hotlinking es que, al enlazar directamente con la imagen alojada en el espacio contratado por otra persona, estamos utilizando impunemente el ancho de banda que dicha persona haya contratado y que le costará una cierta cantidad de dinero. Además, no tenemos control ninguno sobre cualquier cambio que pueda realizarse sobre dicha imagen. Si es sustituida, automáticamente en nuestra web aparecerá la imagen nueva, y ya posiblemente no pegue ni con cola en el contexto en el que la colocamos. Sobra decir, que el hotlinking está considerado como un comportamiento de muy dudoso gusto.

Contra el hotlinking, la solución más sencilla es, o bien bloquear los enlaces externos a nuestras imágenes o, mucho más divertido, sustituir la imagen que se envía por alguna otra. Esto podemos conseguirlo con el trozo de código en nuestro htaccess:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?lolo\.es/ [NC]
RewriteCond %{HTTP_REFERER} !images.google [NC]
RewriteCond %{HTTP_REFERER} !feedburner\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ hotlink.jpg [L]

En este caso he permitido el acceso a las imágenes desde el dominio, así como desde el buscador de imágenes de google y los feeds de feedburner (tres primeras líneas). Los feeds suelen ser problemáticos, pero no me preocupan demasiado porque todas las imágenes del blog las alojo en flickr. Tampoco se bloquearán en el caso en que no haya referer definido (cuarta línea). Esto sería aprovechable para ver las imágenes con algún truco desde el navegador, pero eso lo dejaremos para otra entrada. Para terminar, la última línea especifica la imagen que sustituirá a las peticiones externas. En este caso, una imagen nada agradable }:-)

Es curioso, pero comprobando los referers en flickr, me he dado cuenta que una de mis imágenes es utilizada en la wikipedia. Concretamente aqui. El artículo original es sobre Puerto Banús. Es un gusto ver que el tener las fotos con licencia creative commons sirve para algo útil.

Technorati Tags: , ,

Etiquetas: , ,

Bonitas tripas

No es que me haya vuelto un psicópata estilo Dexter Morgan sino que he dedicado un tiempo a ajustar el código que genera el blog para que sea XHTML 4.01 1.0 compatible.

No podemos decir que me haya costado poco trabajo, pero tampoco ha sido un esfuerzo bárbaro. He tenido que tocar algo del código interno de WordPress (aunque no debería haber sido necesario), sobre todo la sección de filtros. Además, un par de plugins han sido desactivados porque no había forma de que generaran código válido y he tenido que ajustar otro par para que su salida sea correcta.

La plantilla personalizada con la que muestro el blog tambien ha sufrido una buena limpieza, pero el resultado lo merece. Mirad que logotipo más mono puedo lucir ahora en el blog:

Valid XHTML 1.0 Transitional

El resultado de la validación podeis verlo en este enlace.

¿Las ventajas? Aparte de la satisfacción personal, contribuyo a la estandarización de la web y los buscadores tendrán menos problemas para cachear el contenido de la página. Y aún así seguro que más de un navegador moderno no muestra la página correctamente, pero eso es otra historia…

Etiquetas: , , ,

¿Ingenieros o Licenciados en Informática?

Ando muy liado estos días. Tanto que no he tenido tiempo ni de leerme la enésima polémica sobre la posibilidad de crear un Colegio de Informáticos. Parece que esta vez ha sido buena. ¡Vaya ganas de bronca bronca que tiene la gente! :-)

Según entiendo, la ordenación cronológica de la discusión ha sido:

Sin menospreciar las “rutas alternativas” tomadas por Al otro lado del mostrador en el razonamiento y Halón Disparado (parece que a Bakunin le interesa especialmente el tema :-D) y por último, otra entrada más extensa del tendero :-)

Total, todo muy divertido, y sigue siempre más o menos el mismo patrón de discusión:

  • Que si el software no es fiable.
  • Que si aquí lo que se quiere es hacer caja por una firmita.
  • Que si todos los ingenieros informáticos son unos patanes.
  • Que si todos los que no han estudiado la ingeniería son unos máquinas autodidactas.
  • Que si yo les tengo que enseñar a los ingenieros en mi trabajo porque no tienen ni idea.
  • Que si no se tiene en cuenta a los de FP a la hora de organizar la profesión.
  • Que sí… que sí… que creeis el colegio, pero al primer pete de windows ¡a la cárcel con ellos!
  • Que si los físicos y los matemáticos son intrusos.
  • Que si no lo son ya que la informática la empezaron ellos.
  • … (aquí la cosa empieza ya a desvariar irremediablemente) :-)

Lo que nunca he visto expuesto ha sido mi visión de la “Ingeniería Informática”. ¿Por qué se le cambió el nombre a Ingeniería? ¿No estaba bien siendo una Licenciatura? ¿Habeis visto los planes de estudio de las Ingenierías Informáticas? A parte de unas cuantas asignaturas (que no son pocas, eso sí) dedicadas a la Ingeniería del Software (o como gestionar un proyecto) todas las demás asignaturas versan sobre matemáticas, algoritmia, inteligencia artificial, compiladores, arquitectura de sistemas operativos y de hardware, sistemas en tiempo real… y un largo etc.

En otros paises, sin duda más serios que este en el que vivimos, los estudios de Informática se denominan “Computer Science”, ¿no es un nombre más lógico? Quizás mi vida profesional me lleve a tener que implementar un compilador, utilizar redes bayesianas, algoritmos geneticos, etc, en una empresa… pero lo veo bastante difícil. ¿Y por qué estudio esto? ¡Porque me encanta!

Por otro lado. El resto de ingenierías. ¿No podrían llamarse “Fisica Aplicada: especialidad en X”? :-) Fijaos que todas las ingenierías se basan en aplicar conceptos físicos. ¿Y la informática? En mi opinión se sale por la tangente. ¿No es más lógico pensar en la informática como una nueva rama de la ciencia? Sí, usamos las matemáticas como base, al igual que los estudios de física, todo sea dicho. Pero, obviando este detalle, estudia campos novedosos con entidad propia:

  • Diseño de sistemas operativos
  • Compiladores y lenguajes de programación
  • Inteligencia artificial (¿a alguien a parte de los informáticos y los matemáticos le interesan los algoritmos genéticos?)
  • Algoritmia (¿podríamos definirla como “matemáticas aplicadas? :D) ¿Quien se encarga de modelar algoritmos para sistemas distribuidos, procesamiento vectorial… etc?

¿Que hay mucha gente que se mete en la carrera sin que le gusten estas cosas? Si, claro, igual que en casi todas.

¿Que alguien con menos formación podría hacer mi trabajo? Seguramente, con los mismos años de experiencia profesional que yo, haga el mismo trabajo diario. A la hora en que aparecen los “problemas de verdad” es cuando se nota el bagaje de cada uno. Seguramente un autodidacta con muchos de trasteo a la espalda tenga exáctamente mi mismo desempeño. Pero, eso sí, que no me venga cualquiera diciendo que porque se ha leido un libro de SQL me da mil vueltas :-D

Profesionalmente, a la hora de trabajar con alguien sin conocerlo a priori y a igualdad de experiencia (muy importante esto último), escogería a un Ingeniero Informático que a alguien de otra rama, no lo voy a negar. Soy consciente de los conocimientos mínimos que ha adquirido en la carrera y, en principio, debería tener la capacidad de formarse en lo que necesite, rellenando las lagunas que pudiera tener o especializándose en un campo concreto.

A la hora de la verdad, en el trabajo diario, lo realmente deseable es alguien con experiencia, “espabilado” y que le interese y le guste lo que hace. En todas partes cuecen habas. He trabajado con Físicos, Químicos, Matemáticos, titulados en FP y, por supuesto, Licenciados e Ingenieros Informáticos con los que es un placer trabajar. Sin embargo, abundan mucho más los morningsingers, ¡que le vamos a hacer! No es algo exclusivo de nuestra profesión, aunque en mi opinión lo sufrimos especialmente.

Lo que sí que tengo comprobado es que al buen profesional se lo rifan las empresas. No es tan fácil encontrar a alguien con la “actitud” necesaria para trabajar en este campo y, cuando aparece, se intenta retener. Y si la empresa no cuida a estos profesionales, tiene un grave problema de base y se les acaban cayendo los proyectos. Tras años de auténticas chapuzas, parece que se empieza a desconfiar de los vendedores de humo y se intenta invertir más dinero en un proyecto con garantías a largo plazo. Pero me voy por las ramas, que este tema daría para varios posts más.

Total, un lío de narices :-)

En cuanto al colegio… En principio un colegio, como asociación profesional es algo que echo de menos. Eso sí, el derecho de pernada siempre me ha hecho gracia. En principio una profesión se puede regular con leyes, no hace falta un colegio para nada. Un edificio no se puede construir sin la firma de un arquitecto (y graves problemas legales que se encuentran a veces). Un médico… ¿para qué le hace falta un colegio? Alguien sin el título de medicina no puede ser contratado en un hospital y punto… No se son casos extremos. Como asociación sí que tienen sentido. Establecen salarios mínimos para el gremio y tal. Hace años suspiraba cuando amigos de otras profesiones me decían “es que está establecido por el colegio que un recién titulado debe cobrar X por convenio”.

En cuanto a otros colegios, como los de telecomunicaciones y los de industriales, me da la impresión que son, símplemente, recolectores de competencias. Cuantas más tengamos mejor. Me toca especialmente las narices cuando intentan acaparar parcelas que no les corresponden y repartirse el pastel. ¿Sería mejor tener un colegio de informáticos o quitar de enmedio los colegios que intentan acaparar competencias? Pues no me queda claro el asunto.

Y ya por último, que me estoy enrollando bastante. Los estudios de informática y “el Estado”. Unas oposiciones de informática deben ser cubierta por títulados en informática. ¡Que menos! Ya que uno realiza unos estudios oficiales, ¿qué menos que “premiar” de cierta manera dicha dedicación? ¿Sería lógico que el cuñado informático de un determinado alcalde, por enchufismo puro y duro obtuviera la plaza de arquitecto municipal? ¿A que no? ¿Y por qué en informática sí pasa esto? No me lo explico.

Bueno, pues me ha quedado un artículo bastante desordenado, un poco caótico, polémico, y laaaaargo. Seguramente tendría que haberlo dividido en varios post. Pero bueno, ahí queda. ¿Linchamientos? Digoooo… ¿opiniones?

Tuneando el blog con Flickr

Me encantan las nubes de tags. No es ningún secreto. A parte de los enlaces a la música que más escucho en la barra del blog, de la que hablé hace tiempo, en la página raiz del dominio tengo la nube de tags correspondiente a mis favoritos en del.icio.us. Hoy, tras el exámen, me he picado para añadir la correspondiente nube de mi cuenta de flickr. Para ello he usado el código de Dan Steingart, modificándolo ligeramente para que pille los caracteres en utf-8 (para las ñ y los acentos).

El resultado lo podeis ver en mi página principal del domino o, directamente, aqui.

Tambien he aprovechado para añadir en la barra lateral una colección aleatoria de mis fotos (sustituyendo las de Zooomr que ya no actualizo).

Technorati Tags: , , ,

Developer Abuse

Cada año se contratan 100.000 personas en T.I.
Matthew es sólo uno de ellos.
Sufre de “maltrato al desarrollador”.
Los demás programadores se ríen de él cuando habla de “desarrollo orientado a las pruebas”.
El Jefe de Proyecto lo infravalora cruelmente – ya le marcará algunos hitos, dice.
Matthew ha aprendido que nadie acude cuando quiere trabajar en pareja [*]
El piensa que esto es normal.
Nosotros no…

Si tú o alguien que conoces sois víctimas de “maltrato al desarrollador” id a www.thoughtworks.com/carerrs.html
Comprueba como podemos ayudar.

[*] Entiendo que se refiere a Extreme Programming, una de cuya características es programar por parejas: uno codifica y el otro revisa al mismo tiempo.

[Visto en un comentario de Diario de un Director de Sistemas.]

Spam para Geeks

  • On a 68040, this could be used in conjunction with an asm expression to access the move16 instruction which requires 16-byte aligned operands. Tras una parrafada en el cuerpo del mensaje compuesta por un primer grupo de frases sueltas sin sentido y una segunda mitad sobre temas técnicos (tambien mezclados y sin concierto ninguno) ¡viagra es lo que ofrecen! El ASM es sexy… ¿pero tanto?
  • SETI Makes Alien Contact? Con el subtítulo, ya en el cuerpo del mensaje de “ENLARGE your WEENIE” (wtf!). ¿Hay que prepararse para abducciones masivas entonces y queremos quedar bien como planeta? No lo entiendo. Me viene a la cabeza el Maestro Sombrita, pero dejo esto último para otra entrada, que el personaje lo merece.
Technorati Tags: , , , , ,

El interface

Hay veces, que es tan embrollado el código que te toca reparar, que hay que cambiar un poco de perspectiva. La pantalla y el ratón se sustituyen por los folios, el bolígrafo y ¡muy importante! ¡el rotulador fluorescente! xDDDDDDD Aquí tenemos un bonito ejemplo (bonito, porque me pilló con la mesa despejada… jejeje)

Interface
Interface

El tocho de J2EE

Dos meses para meterme ese tocho entre pecho y espalda (además de hacer un portal para estudiantes como práctica) ¿Seis créditos? Me parto de risa…

La verdad es que no se que me da más susto, si el libro en sí o la cara de los autores… jejeje

Bueno, ahora que me he desahogado, habrá que seguir “chapando”

Mi entorno de trabajo

Aprovecho este esbozo de entrada que tenía pendiente… aunque sea a título póstumo… :-)

Otra vez cambio de trabajo… ¡Que sí! ¡Que sí! Que no es broma ni nada… :) Paso de tardar en llegar al trabajo 50 minutos, a tardar entre 10 y 15. No está mal el asunto, ¿eh? Además el nuevo trabajo se adapta perfectamente al perfil que he estado desarrollando los últimos tres años, ¡así que estoy bastante contento! :-)

A lo que íbamos, el caso es que iba a escribir un post sobre el software que estaba usando, pero habré de sustituirlo por “el que usaba en mi anterior trabajo” jejeje. La cosa es curiosa porque empecé trabajando sobre Windows pero, al no tener que hacer uso ningún software específico de esta plataforma, una buena mañana de lunes migré todo mi escritorio a Ubuntu.

No he hablado nunca de mi historia con Linux, pero digamos que llevo algo más de 9 años con distintas distribuciones. De hecho hace ya bastante tiempo que en casa no tengo otra cosa. Exceptuando el tema de los juegos (para los que desgraciadamente ya no tengo tiempo) es un sistema que me resulta muchísimo más cómodo y manejable que Windows.

El caso es que en el trabajo, dedicado a desarrollar módulos de sugarcrm, con php contra mysql (y sobre Apache, claro), no tenía ningún inconveniente en migrar a un entorno de desarrollo libre (el único “inconveniente” era el ahorro en licencias, claro ;-D)

El software que usaba día a día se componía por:

Y seguro que se me olvida algún otro. Pero vamos, estos eran los principales. No está mal, ¿verdad? Para el que todavía se lo pregunte… si… en KDE… }:-) Aunque haya sido usuario durante más tiempo de Gnome que de KDE, al final he caido rendido ante determinados elementos, como los kioslaves, que realmente me facilitan bastante la vida. Como la simplicidad en el escritorio no es algo que realmente me preocupe en demasía… pues tenemos un cóctel explosivo :-)

Por último, solo me queda destacar, que al escritorio “perfecto” se unía el hecho de disponer de dos monitores TFT con Xinerama activado, lo que ha resultado ser excepcionalmente cómodo para estar programando en uno de los monitores y comprobando el resultado en el otro. Simplemente genial. Uno se acostumbra rápidamente a lo bueno… ;-)

LastFM tag cloud

Como comentaba en el post anterior, me ha dado por hacer un script que genere una nube de tags de los grupos que más escucho, basándome en los datos que va guardando LastFM.

Definitivamente he medio terminado el script con el código que astoever publicó en los foros de audioscrobbler y que solucionaba el tema de la caché (para no estar continuamente sacando datos de LastFM). Se basa en la creación de un fichero (por lo que tendremos que tener permisos de escritura en el directorio en que lo vayamos a instalar).

El código es autoexplicativo (en inglés, por aquello de internacionalizarlo un poco jejeje) y puede encontrarse aqui. El anuncio oficial en los foros de audioscrobbler es este.

La versión de la barra de tareas ya es dinámica. Se refresca cada tres minutos para no saturar el servidor (¡mucho más que suficiente! :-) ) Ahora me pondré a hacer una versión del script para que genere la nube estática para el que no quiera complicarse mucho la vida (como no es muy habitual que cambie demasiado la frecuencia es una solución totalmente válida).

Nada más, ¡a disfrutarlo!

Actualización: Ejemplos de la nube de tags en la columna de la izquierda y aqui.

Escuchando

Ultimamente no he escuchado nada

Tags Musica

Cache is empty.
lastfm logo

Fotillos

T9
Fotillos...

Fotillos por RSS 2.0