Archivo de la categoría Informática

Samsung Galaxy S4



Tras casi 3 años con el LG Optimus E900 Optimus 7, tocaba una renovación, y el elegido ha sido el Samsung Galaxy S4 (modelo GT-I9505).

Lo primero que llama la atención es la poca calidad aparente del producto, y más teniendo en cuenta su precio actual, con una tapa posterior de plástico, que va anclada por unos anclajes interiores de plástico, y un packaging más bien discreto y espartado. Nada que ver con la de aluminio negro del E900. A este respecto, las fuentes oficiales afirman que la tapa de plástico es resistente y ligera, y que no tiene nada que ver con un ahorro de costes… Permitidme que discrepe.…

Continuar leyendo...

Facebook HipHop



Hip Hop es la herramienta desarrollada por Facebook que permite ejecutar PHP como binarios nativos de la plataforma. Las versiones iniciales se basaban en transformar una aplicación completa PHP a un binario nativo, mientras que las siguientes permitían convertir un único archivo PHP y sus dependencias a C++, y compilarlo.

Él último enfoque es HHVM, que funciona como el intérprete de bytecode de PHP, pero que es capaz de compilar Just In Time (JIT) ese bytecode a código nativo en memoria. El código nativo generado queda cacheado en una base de datos SQLite, de manera que si se vuelve a solicitar, no es necesario volver a compilarlo.…

Continuar leyendo...

Simulador de Casio F-91W en HTML



Hace casi 3 años ya de Simulador de Casio W-59 en Flash, llevaba un año o así dándole vueltas a programar un simulador, que además incluyera la funcionalidad del reloj.

Me puse manos a la obra, y tras cuatro días de trabajo, y más de 1000 lineas de código, finalmente os puedo presentar Simulador de Casio F-91W en HTML. Además de cambiar el modelo de reloj de un W-59 a un F-91W-1YEF, que no obstante comparten el módulo 593, incluye bastantes novedades en base a mi experiencia anterior.

Obviamente, y al dominar mucho más la plataforma, hay algunos refinamientos muy interesantes, como el uso de requestAnimationFrame en el caso de estar disponible, efectos CSS, manejo de eventos independientemente del navegador (tanto para dispositivos táctiles, como de escritorio o versiones antiguas de Internet Explorer), etc.…

Continuar leyendo...

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...

¿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...

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...

Mi relación con Pascal



Hace algunos días surgió una conversación en la que varias personas se sorprendían porque siguiera usando el lenguaje Pascal en estos días. Me pareció lo suficientemente interesante como para reflexionar sobre ello, y publicarlo aquí, ya que en lo que a mi respecta, Pascal es un lenguaje que nunca me ha gustado demasiado, que que en cambio si he utilizado bastante.

Analicemos a continuación el porqué… Primero de todo, Pascal fue el primer lenguaje más o menos serio que aprendí. Dominaba varios dialectos de BASIC, algo de ensamblador Z80, y otros lenguajes sencillitos como LOGO, pero quería algo más.…

Continuar leyendo...

Una de enlaces



Doy comienzo a una nueva iniciativa, que espero se acabe convirtiendo en una saga periódica y exitosa, donde iré poniendo sin ningún orden en particular, enlaces frescos acompañados de una breve descripción que os de una idea del contenido, y a la vez no os quite demasiado tiempo.

Empezamos…

Amstrad Personal. Colección completa
Los 10 números de la efímera revista Amstrad Personal, disponibles para descargar en formato DjVu.

Introducing “Find Your Way to Oz”, a new Chrome Experiment
El nuevo experimento de Chrome/Chromium desarrollado por UNIT9 basado en la nueva película de Disney, y que explota los gráficos WebGL y CSS3.…

Continuar leyendo...