Archivo de la categoría Internet

Una de enlaces (II)



Seguimos con la recopilación de links en una de enlaces.

Bananabreed
Alucinante demostración de juego 3D multijugador en Javascript con WebGL.

Cinemagraph
Página dedicada a los cinemagraph, habitualmente GIF animados con técnicas cinematográficas.

Entrevista a David Leitch
Juegosa entrevista a David Leitch, el programador de la conversión ZX Spectrum de Double Dragon.

Junca Zapatos
Zapatería online, con unos precios de saldo.

node-webkit
Embede aplicaciones HTML en un ejecutable para Windows, Mac y Linux.

Pica Pic
Varios simuladores en Flash de maquinitas Game & Watch y similares.…

Continuar leyendo...

Breadbox Ensemble



En DOS en la actualidad terminaba la pequeña saga de tres artículos, dando un repaso superficial a Ensemble, del que creo que merece un mayor detalle.

Breadbox Ensemble, conocido anteriormente como Newdeal Office (1996-2000), y GeoWorks o PC/GEOS (1990-1994), con el permiso de Xerox, GEOS era el entorno gráfico probablemente más profesional para ordenadores de los años 80. No en vano, sus orígenes se remontan a 1986 cuando lanzaron la versión para Commodore 64/128.

Desde su primera versión contaba con multitarea preemtiva, y menú inicio, por lo que no es de extrañar que Microsoft se acercara a ellos para intentar adquirirlos mientras trabajaban sobre Windows 2.…

Continuar leyendo...

GIF clásicos



Los que vivimos el principio de la multimedia, recordamos como en los tiempos de DOS, intercambiábamos disquetes con imágenes de alta calidad, primero artísticas, y luego de otros tipos.

No existía todavía JPEG, que llegaría a principios de los 90, y no empezaría a popularizarse hasta algunos años después, de manera que nos conformábamos con el máximo de 256 colores basados en paleta que ofrecía GIF, y que para ser sinceros, ya nos parecían de calidad fotográfica.

Usábamos CSHOW (CompuShow), nacido en 1987, poco después de la primera versión del formato GIF, la 87a, y que iría evolucionando enormemente, dando soporte a 89a, y llegando hasta 1995.…

Continuar leyendo...

Bitdefender Antivirus Free Edition



Después de años usando alternativamente Avast y Avira, probando de vez en cuando soluciones más esotéricas, y revisando regularmente las alternativas gratuitas, me he topado con Bitdefender Antivirus Free Edition.

A diferencia de las anteriores ediciones gratuitas de Bitdefender, que estaban basadas en una versión anterior de la edición comercial, el nuevo Bitdefender Antivirus Free Edition, es un desarrollo completamente nuevo, conocido anteriormente con el nombre clave de Gonzales.

Utiliza firmas locales, pero está basado en cloud, como veréis más adelante, viene a ser lo que Panda Cloud Antivirus debería haber sido.…

Continuar leyendo...

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