miércoles, 27 de diciembre de 2006

Los insondables misterios de la informática

Bien háganse una idea...

Tengo un conjunto de datos, del que cada ciclo extraigo uno. Ese dato se almacena en un vector, bajo la condición de que la distancia con el valor anterior almacenado entre dentro de un umbral predeterminado. Si se sale del rango, asigno a ese ciclo el dato del ciclo anterior. Es un filtrado simple para evitar espúreos y es aceptable en el entorno de datos que estoy manejando. La idea es que el valor del vector representa un cierto estado, y solo permito cambios de estado de +- el umbral. En código de Matlab:

grupoDCT2(i) = datoSeleccionado;
if abs(grupoDCT2(i) - grupoDCT2(i-1)) > umbral
grupoDCT2(i) = grupoDCT2(i-1);
end


Ejecutando el programa donde va eso, me encuentro que en ciertos conjuntos de datos, el comportamiento es malo. Viendo los vectores resultantes, llego a la conclusión de que el problema está en el filtro, ya que dadas ciertas condiciones iniciales extremas, puede fastidiarlo todo.

Así que se me ocurre hacer una pequeña modificación en el programa, de manera que me queden dos vectores, uno filtrado y otro sin filtrar, para así poder comparar el efecto del filtro.

grupoDCT2(i) = datoSeleccionado;
if abs(grupoDCT2(i) - grupoDCT2Filtro(i-1)) > umbral
grupoDCT2Filtro(i) = grupoDCT2Filtro(i-1);
else
grupoDCT2Filtro(i) = grupoDCT2(i);
end


O sea, comparo el valor seleccionado en este ciclo, almacenado en grupoDCT2(i), con el valor anterior del vector filtrado. Al final debería tener dos vectores, teniendo en grupoDCT2Filtro el mismo vector que antes de las modificaciones. En principio yo diría que está bien, ¿no?

Pues va a ser que no...

El vector filtrado resultante era completamente distinto al calculado con la versión anterior del programa.

Tocaba revisar...

Y revisar...

Y revisar...

Después de darle ochocientas mil vueltas, he encontrado la solución:


grupoDCT2(i) = datoSeleccionado;
grupoDCT2Filtro(i) = datoSeleccionado;
if abs(grupoDCT2Filtro(i) - grupoDCT2Filtro(i-1)) > umbral
grupoDCT2Filtro(i) = grupoDCT2Filtro(i-1);
end


O sea, en vez de usar en la comparacion grupoDCT2(i) uso grupoDCT2Filtro(i), al que le he asignado el mismo valor que a grupoDCT2(i).

Y así funciona...

Estoy convencido de que hay alguna soberana chorrada que se me escapa, pero no he sido capaz de encontrarla...

En fin... Ya suelo decir que la informática es cualquier cosa menos una ciencia exacta...


lunes, 18 de diciembre de 2006

Meme de 4 en 4

Bien, señores, prepárense, por que se hacerca el fin de los tiempos. Las estrellas están alineadas, Cthulhu empieza a desperezarse en R'yleh y en la blogosfera aparecen las primeras señales:

Voy a postear un meme...
(resplandor de rayos y centellas tras la ventana)

Es algo que no suelo hacer, pero ya que Bakarti ha tenido a bien acordarse de un servidor, pues por una vez, y sin que sirva de precedente, procederemos a responderlo adecuadamente.

Así que ahí va...

Cuatro trabajos que he tenido:
- Becario de informática en la facultad de químicas.
- Becario de investigación.
- Recolector de cerezas (totalmente verídico XD).
- “Chico para todo” (desde albañil a electricista pasando por podador de encinas, todo ello sin remuneración, por supuesto…)

Cuatro películas que puedo ver una y otra vez:
¿Solo cuatro? Que chungo…
- La chaqueta metálica. (vamos todos chicos y chicas también… eme i ce ca e i eme o u ese e… XD)
- La delgada línea roja.
- Aliens.
- 2001: Una odisea en el espacio.

Cuatro lugares donde he vivido:
- Villabona City
Y si por vivir en un sitio cuentan “estancias vacacionales prolongadas” (más de un mes):
- Salamanca
- Cáceres

Cuatro programas televisivos que me gusta ver:
Entiendo que programas en emisión actualmente…
- Los telediarios.
- Homo Zapping News (cuando lo pillo)
- House (eMule TV)
- Scrubs (eMule TV)

Cuatro lugares donde he estado de vacaciones:
- Japón.
- Italia.
- Costa Dorada (sin poner un pie en una playa… XD)
- Badajoz – Córdoba – Salamanca (este veranito).

Cuatro de mis platos favoritos:
- Chuletón de morucha a la brasa.
- Tostón asado.
- Casi cualquier cosa hecha con un buen cerdo ibérico de bellota.
- Mini-croissants. (no se si cuenta como plato, pero soy adicto… XD)

Cuatro sitios que visito a diario:
- Mi blogroll en Bloglines (dios, tengo que hacer poda, tengo demasiados feeds… XD)
- Frozen-Layer
- Gmail.
- Webs de Torrents (FL, Tokyo Toshokan, Animersion)

Cuatro lugares en los que preferiría estar ahora:
- ¡En casa!
- Gorroneándole la Wii a alguien.
- De viaje lo mas lejos posible.
- En cualquier otro sitio que no sea este puto laboratorio.

Cuatro personas que TIENEN que hacer esto:
- Harlocko (a ver si tu blog pasa de los 3 posts… XD)
- Malize (pa comprobar si aun se pasa por aquí de vez en cuando… :P)
- Sary/Kala/Angela (ídem del anterior)
- El primero que lea esto (si, TU, ahora no disimules… XD)



martes, 5 de diciembre de 2006

Phishing

Esta mañana tenía por triplicado en el correo del curro esta carta del "Banco Caja Madrid":

Estimado cliente,
Es muy importante y obligatorio a leer!
Posiblemente Usted notó que la semana pasada nuestro sitio www.banesto.es funcionaba inestable y se observaban frecuentes intermitencias.
Hemos renovado nuestras instalaciones bancarias y ahora el problema está resuelta.
Pero para activar un sistema nuevo de protección de los datos y una capacidad de trabajo correcta de sus cuentas bancarias, le pedimos a Usted a introducir los detalles completos de la cuenta para que pudamos renovar nuestra base de los clientes y comprobar la capacidad de trabajo de nuestro nuevo sistema de protección de los datos.
Si Usted no active su cuenta bancaria, no va a tener las posibilidades complementarias de la defensa de seguridad en su cuenta.

Si Usted tiene una cuenta bancaria personal, pase a la referencia:
http://www.cajamadrid.es/particulares/ (NdF: apunta a www.cajamadrid.hk)

Si Usted tiene una cuenta bancaria corporativa, pase a la referencia:
http://www.cajamadrid.es/empresas/

Esta carta se automaticamente manda a cada cliente del Banesto, no es necesario a responderla.
Gracias por comprensión y apoyo.

Con respeto,
El servicio del mantenimiento técnico del Banco.



Pero vamos a ver... ¿Como coño puede ser alguien tan GILIPOLLAS como para poder picar con un puto mail que no solamente está pésimamente redactado (por algún rumano o algo así que ha recibido un cursillo acelerado de español, seguramente), sino que encima confunde caja con banco o relaciona el Banesto con Caja Madrid siendo del Santander, que son cosas que cualquier cliente debería saber? Y digo debería, por que probablemente asumirlo sea confiar demasiado.

Lo jodido es que si se sigue haciendo es por que... bueno, siempre hay alguien que pica...

Tanto gilipollas y tan pocas balas, que diría Ford Farlane...