Archivo de la categoría Programación

Web SQL



La API Web SQL brinda la posibilidad de acceder a una base de datos local en el cliente (navegador del usuario) desde Javascript.

A día de hoy, es soportada desde Chrome/Chromium/Iron 4, Opera 10.5 y Safari 4. A nadie le sorprender que Internet Explorer 8 no lo soporte, aunque a más de uno le sorprenderá que Firefox/SeaMonkey siga apostando por la alternativa no estándar de MDM

Típicamente Web SQL está implementado sobre SQLite, que hace que sea ligero y rápido.

De momento no hay demasiados sites que aprovechen Web SQL, aunque dado lo sencillo que es de usar, preveo una paulatina migración de base de datos de servidor a cliente, al menos en aquellos casos que tenga sentido.…

Continuar leyendo...

LOCs en programas Open Source



Hace 5 años, en Lenguajes y programas, analizaba el lenguaje de programación principal en el que estaban escritas aplicaciones de uso mayoritario.

En el índice de proyectos de código abierto de Ohloh, se nos muestran multitud de proyectos con el código fuente disponible. El punto interesante, es que ofrecen la cifra de LOCs (Lines Of Code) de cada uno de ellos.

Los LOC fueron una métrica muy utilizada en el pasado para el análisis de la complejidad de los proyectos informáticos, y aunque hoy día, se tiende a otras fórmulas, siguen teniendo la ventaja de reflejar con mucha claridad el esfuerzo de implementación necesario.…

Continuar leyendo...

Cuidado: Descargas automáticas



En la mayoría de navegadores recientes, con la salvedad de Internet Explorer, se pueden configurar las descargas para que automáticamente se guarden en una carpeta determinada sin intervención alguna del usuario.

En el caso de Safari, Firefox, Seamonkey u Opera, las opciones están relativamente escondidas, y no suele ser habitual que los usuarios lo cambien.

Con Internet Explorer, sencillamente no existe tal opción.

En cambio, con Chrome/Chromium/Iron, la mencionada preferencia está más que accesible, y he visto en varios equipos que está configurada de esta manera, lo cual, es sin duda una grave brecha de seguridad.…

Continuar leyendo...

Técnicas víricas: Polimorfismo



El polimorfismo consiste en cifrar nuestro programa de manera que su contenido varíe dinámicamente, y que por tanto lo haga más complicado de detectar.

Lo que hace nuestro código VBS es básicamente leer el contenido del fichero original, y codificarlo de una manera que siga siendo ejecutable, de manera que se explota también las características de código automodificable.

La idea es transformar el contenido en una cadena de caracteres, que contienen el carácter original, pero encriptado con XOR. Utilizamos como clave de encriptación un carácter generado más o menos aleatoriamente sobre los segundos de la fecha del sistema.…

Continuar leyendo...

Técnicas víricas: Introducción



Desde hace bastante tiempo que me planteaba explicar con palabras inteligibles y códigos de ejemplo, las técnicas más utilizadas por virus y malware.

Hablando con un amigo, surgió el reto de desarrollarlo en VBScript, un lenguaje sencillo, fácil de entender, y dónde además había cierta complicación técnica al aplicar los conocimientos, pero que al mismo tiempo evitaba tener que lidiar con juegos de instrucciones y formatos de ejecutables.

Me pareció prudente atacarlo también en VBS, pues hay mucho desalmado inconsciente que le entusiasma el copiar y pegar, de manera que los ejemplos que veamos en esta serie de artículos, serán funcionales unitariamente, aunque no conjuntamente como malware.…

Continuar leyendo...

Flash, no tan rápido



Como sabéis, la máquina virtual que usa Adobe Flash para el código ActionScript 3, está basada en el proyecto Tamarin de la Fundación Mozilla. Esto quiere decir, que aunque AS3 sea un superconjunto de Javascript, comparte gran parte de la base de código utilizada en TraceMonkey, que a su vez se usa por ejemplo en Firefox, para la ejecución de Javascript.

En Rendimiento Javascript vs VBScript, analizaba las diferencias de rendimiento que había bajo Internet Explorer a la hora de ejecutar el mismo código en VBScript y Javascript. Luego en Benchmark de CPU/FPU en Flash, hacía un análisis del rendimiento en lo que a cálculos se refiere desde Flash.…

Continuar leyendo...

Tag video y Theora



HTML 5, añade soporte al incrustado de audios y videos, aunque de momento no especifica los formatos a soportar debido a la controversia creada.

Sin embargo, si usas un navegador moderno como Chrome/Chromium/Iron 3, Firefox 3.5, Opera 9.52 o Seamonkey 2, tendrás disponible el soporte de videos empotrados encapsulados con Theora (OGV). Si estás con Safari, quizás deberías saber que ni siquiera la versión 4.0.4 lo soporta, en lo que me da la impresión es un desesperado intento por revitalizar QuickTime. Algo parecido podríamos decir sobre Internet Explorer 8, que tampoco lo soporta.

Ello te va a permitir reproducir video nativamente, sin necesidad de plugins externos.…

Continuar leyendo...

Usuarios más satisfechos con Visual Studio 2010



Aunque Visual Studio 2010, se encuentra todavía en beta 2, ya es posible evaluar las mejoras de rendimiento que obtienen los programas con él generados, además de la estabilidad del IDE, que a diferencia de la primera beta, es muy estable.

Sin embargo, este artículo, no va destinado tanto a programadores, como usuarios finales, y es que con las mejoras introducidas en el compilador de Visual C++, las aplicaciones que se recompilen con Visual C++ 10 en vez de 9/2008, gozarán de hasta un 15% de rendimiento, especialmente en arquitecturas x64.

Obviamente en el mundo real, dudo que la diferencia llegue a tanto, aunque si puedo decir que por ejemplo 7-Zip 9.09 y superiores, han sufrido un leve aumento de desempeño gracias a ello.…

Continuar leyendo...

SRWare Iron



Con motivo de PeaceKeeper, hablé de pasada de SRWare Iron, la versión aligerada de Chrome/Chromium, pero es que no deja de sorprenderme para bien.

En concreto, la versión para Linux, una plataforma donde de momento Opera 10.50 pre-alfa, no es apto para uso diario, Iron, se ha mostrado magnífico, es muy estable a pesar de ser beta, y muy veloz, más incluso que su hermano para Windows.

Personalmente sobre Kubuntu, Iron se ha convertido en mi navegador preferido. No me malinterpretéis, Opera sigue siendo mi preferido, y es evidente que entre sus muchas innovaciones, en la actualidad dispone de una arquitectura superior, y de un rendimiento que parece bastante claro, supere a Iron/Chromium/Chrome a medida que se vaya puliendo.…

Continuar leyendo...

SQLite 3 compilado para x64



Siempre me ha gustado la base de datos SQLite. Una base de datos local, de código abierto, con un funcionamiento muy sencillo, y tremendamente eficiente.

Probablemente su eficiencia, sobre todo en el caso de consultas y relaciones moderadamente simples, que son atacadas con baja concurrencia, y mayoritariamente para accesos de lectura, convierte a esta base de datos en la más veloz de todas las existentes.

Escrita en un lenguaje C extremadamente portable, resulta realmente sencillo de utilizar en diferentes plataformas, o incluso de embeder en nuestros ejecutables. Sería la alternativa abierta y portable a Access, quizás no tan sencilla de utilizar, aunque mucho más veloz y con menos consumo de memoria.…

Continuar leyendo...