Conversiones peligrosas en MySQL



La informática demuestra que por más tiempo que llevemos, siempre nos encontraremos cosas que nos puedan sorprender, como por ejemplo el rendimiento de adición de elementos a un array en PHP. Hoy os traigo otra sorpresa, que tal vez sea menos agradable.

Tradicionalmente se ha recomendado en MySQL, forzar los parámetros numéricos a cadena dentro de las consultas, para evitar errores de tipo, y que por tanto fallen las queries.

Así por ejemplo, en vez de escribir:

SELECT * FROM t_mstr_agenda WHERE agenda_id=47

Escribíamos:

SELECT * FROM t_mstr_agenda WHERE agenda_id='47'

Cuando por el motivo que sea, ese 47 ya no es un numérico, quedamos protegidos del error, no retornándose ningún registro:

SELECT * FROM t_mstr_agenda WHERE agenda_id='ABC'

Lamentablemente si ese string, es convertible, aunque sea parcialmente a un numérico, MySQL efectuará directamente la conversión, reportando la advertencia query – Error Code 1292 – Truncated incorrect DOUBLE value:

SELECT * FROM t_mstr_agenda WHERE agenda_id='1-5W38'

No sería nada grave, si no fuera porque PHP no nos informará de esa advertencia, y transformará la consulta anterior, convertida directamente a numérico:

SELECT * FROM t_mstr_agenda WHERE agenda_id='1'

Es decir, estamos pidiendo un registro con identificador 1-5W38, que no debería existir, pero él nos está devolviendo el que corresponde a 1.…

Continuar leyendo...

Rendimiento de adición de elementos a un array en PHP



Cuando tenemos que añadir elementos a un array en PHP, al igual que en otros lenguajes, hay muchas formas de hacerlo. En mi caso utilizaba el acceso directamente por índice, que para bucles triviales era muy conveniente (opción 2); o bien array_push, muy efectivo si nos queríamos ahorrar el índice, o si era necesario agregar más de un elemento a la vez.

Sin embargo, resulta sorprendente que no conociera la construcción $array[] =, que automáticamente mete elementos al final del arreglo, y que se encuentra incluso documentada como mejor candidato a array_push al agregar solamente un elemento.…

Continuar leyendo...

Opera 15. ¿Se acabó la innovación?



Os adelantaba hace algunas semanas la decisión de Opera de abandonar Presto en favor de Webkit, y al mismo tiempo os adelantaba mis temores.

A día de hoy, los resultados son variados, mientras que Opera para Android, en su versión 14 resulta prometedor, y ya de momento un producto ágil y sencillo de utilizar, la versión 15 para escritorio, de la que ya se han publicado dos actualizaciones es harina de otro costal.

El esfuerzo dedicado, no se ha transformado en resultados visibles, y es poco más que un Chromium 28 con un skin de apariencia nativa.

El cliente de correo M2, es ahora un producto independiente, que pasa a llamarse Opera Mail, no está mal, pero la decisión de sacarlo del navegador, conlleva perder el lector integrado de feeds, grupos de noticias, y por supuesto de correo.…

Continuar leyendo...

Paredes



Cuando yo era niño, España todavía no se había incorporado a la Unión Europea (que al hacerlo, sería todavía la Comunidad Económica Europea), el mundo no estaba tan globalizado, las diferencias entre ciudades y pueblos eran abismales, y todavía estábamos empezando a salir de una dictadura.

Era difícil conseguir unas zapatillas de Nike, o Adidas, y si las tenías, es que eras un pijo porque eran muy caras. Por supuesto ni Reebok ni Avia ni Asics habían todavía llegado al mercado, así que nos conformábamos con productos nacionales como Kelme, Yumas, Joma, Crube, Rox o Victoria.

Los más afortunados, calzaban marcas que todos pensábamos serían americanas, sin embargo nada que ver, y eran más bien magníficos ejemplos de marketing 1.0: J’hayber, John Smith, o Puma.…

Continuar leyendo...

Relojes digitales



Resulta sorprendente que en la cifra de negocio de Casio, en su división de relojes, la gama digital apenas represente un 30% de sus ingresos, en contraposición con los analógicos que se comen el resto de pastel. Esa compañía que llenó las muñecas de los años 70 y 80 con modelos cargados de novedad y funcionalidades nunca antes vistas.

Seguro que todos os acordáis de como la tecnología digital se vislumbraba en el futuro cercano, y de como Casio se hizo una marca reconocida por ello, incluso para los no entusiastas de la relojería.

Me gustan los relojes, si. Todos los tipos de relojes, pero en particular los digitales.…

Continuar leyendo...

¿Qué fue de… en la informática?



Los que llevamos tiempo en el apasionante mundo de la informática, hemos tenido la suerte de ser participantes de primera linea en sus numerosas revoluciones. Pero también hemos podido ser testigos de grandes cambios, que luego no lo fueron tanto.

Voy a haceros memoria sobre algunas tecnologías, que prometían ser un nuevo paradigma, y que a día de hoy, en un profundo declive, se han extinguido, integrado con otras, o pasan sus días sin pena ni gloria.

Sistemas expertos
Los sistemas expertos son llamados así porque emulan el razonamiento de un experto en un dominio concreto y en ocasiones son usados por éstos.

Continuar leyendo...

Vostok Amphibia Classic 060434



Siempre me ha fascinado la tecnología rusa de aquella época comunista, así que al descubrir que Vostok, seguía en activo, empezó a picarme el gusanillo. Ya sea bajo las marcas Boctok (para el mercado interno de la federación rusa), Vostok (para productos exportados), como Wostok (la antigua marca que usaban para exportación), siguen fabricando los mismos diseños de hace más de 50 años. Nada que ver con Vostok Europe, que ofrece modelos más cuidados.

La historia empieza en la fábrica de Chistopol, donde en 1941, con 500 trabajadores evacuados de Moscú, empiezan a desarrollar relojes con fines militares.…

Continuar leyendo...

Errores de escritura



El título de este post puede tener connotaciones informáticas, pero no es la intención que pretendo exponer. Pretendo inventariar esos errores ortográficos que en mayor o menor medida vamos cometiendo, a pesar de la existencia de correctores informáticos. La razón es que ambas alternativas son correctas, no obstante su significado es diferente.

El problema radica en que a medida que escribimos incorrectamente algunas palabras y expresiones, los textos se contaminan, y al ser leídos por otras personas, es fácil que se contagien y a su vez los escriban también incorrectamente.

Por mi parte, entono el mea culpa, y reconozco haber rectificado más de 100 artículos con errores de este tipo.…

Continuar leyendo...

WikiquoteES



WikiquoteES lleva funcionando más de un año, pero acabo de darme cuenta, que no llegué a anunciarlo aquí.

Es un sencillo bot que he creado, que sindica en RSS la frase del día de Wikiquote. Es decir, poco más que un parseador HTML escrito en PHP, que obtiene el contenido deseado.

Menos de 100 lineas de código son las responsables de tomar y seleccionar el contenido, manejar un caché de citas diarias por días, y devolverlo en formato RSS, o bien HTML

Con twitterfeed.com se publica además en la cuenta de Twitter de @WikiquoteES, y se publica en Facebook en Wiki Quote ES.

Unos resultados bastante vistosos y convincentes.…

Continuar leyendo...

Citizen Pilot Radiocontrolado



Llevaba un tiempo detrás de él, y al final ha caído. Fue amor a primera vista cuando vi el Citizen AS2020-53H. Su estética de reloj de aviador, unido a la originalidad de su esfera gris, y a la tecnología punta que ofrecía, resultaba una combinación ganadora.

Por desgracia su precio me echaba para atrás cada vez que me lo planteaba, y para hacerlo todavía más difícil, la escasez de puntos de venta Citizen, me hacían difícil adquirirlo. Por fortuna, vinieron los chicos de Ciberwatch, y me hicieron una oferta imbatible.

Lanzado en 2011, a nivel externo, cuenta con unos acabados impecables, tanto la pulsera como la caja están construidos de acero inoxidable 316L (calidad quirúrgica), el conjunto tiene aspecto Full silver con la citada esfera gris.…

Continuar leyendo...