Archivo de la categoría Programación

Blink (by D.T.S.)



Es inadmisible que después de hablar de AIN, o incluso de Ultra Compressor, mencionando la fuente de inspiración para mis programas, no haya tenido ocasión de hablar de BLINK.

Sin nada que ver con Blinker, salvo que el nombre me gustaba, y el concepto de parpadeo era muy pertinaz, Blink surgió a principios de 1997, con la idea de ser el archivador/desarchivador más rápido del mercado. No en vano, se basaba en mi apreciado RLE, como recientemente haría con RLE64, y a pesar del pobre control de calidad que me caracterizaba, estuvo activo hasta principios de 1999.

De la mano de De Trans Software (D.T.S.), aportaba importantes innovaciones.…

Continuar leyendo...

Ultra Compressor II



Hace unos meses hablando de AIN, os adelantaba mi interés en hacer exactamente lo mismo, pero con otra joya de la compresión bajo DOS: Ultra Compressor II.

Creado por AIP-NL (Ad Infinitum Programs), y bautizado comercialmente como Ultra Compressor II Pro, no dejaba de ser un desarrollo de tres individuos: Nico de Vries, Danny Bezemer y Jan-Pieter Cornet.

El propio Nico nos explica bastantes de sus detalles técnicos, que no obstante, os resumiré aquí.

Usaba el algoritmo LZHUF, comparable a la de otros compresores de la época, pero con algunas particularidades:
– Usaba una ventana de 64 Kb., cuando lo máximo que solía usarse de 32 Kb.…

Continuar leyendo...

Sieve en Javascript (asm.js)



Hace casi 6 años que en los artículos sobre Sieve programados en diferentes lenguajes, os mostré la implementación de Sieve en Javascript y de Sieve en Javascript optimizado.

Tanto tiempo es demasiado en tecnología, y mucho más en web. Y aunque a nivel de lenguaje Javascript, no ha habido grandes cambios, es cierto que en 2010, los JIT de Javascript estaban aún en pañales. Así que a raíz del artículo asm.js, me propuse comprobar por mi mismo, como de grande es esa mejora, si sacábamos partido a asm.js.

Recordemos que la versión original de la que partimos era esta:

var ITER=10000; var flags=Array(ITER); var i, k, iter, count; var start, end;   start=new Date().getTime(); for(iter=1; iter< =ITER; iter++) { count=0; for(i=0; i<=ITER; i++) { flags[i]=0; } for(i=2; i<=ITER; i++) { if (flags[i]==0) /* found a prime */ { count++; for (k=i+i; k<=ITER; k+=i) { flags[k]=1; } } } } end=new Date().getTime(); alert(ITER + ' iterations, ' + count + ' primes found, ' + (end-start) + ' ms.');

Procedemos a su conversión.…

Continuar leyendo...

asm.js



Recuerdo haber leído sobre asm.js, hace como un par de años. Quizás atraído por su nombre, mezclando ensamblador y Javascript. No me pareció nada relevante en su momento, pues además, sólo estaba adoptado en Firefox. Os voy a contar la esencia de asm.js, y vosotros decidiréis.

asm.js es un subconjunto de Javascript, es decir, cualquier navegador que ejecute Javascript, es en principio capaz de ejecutar asm.js. Está claro, aunque de momento no se le vea la utilidad.

Pero si desde hace años, que Javascript ya no es interpretado, y utiliza un compilador JIT, que en tiempo de ejecución convierte el script a código nativo, ¿qué ganamos?…

Continuar leyendo...

FileOptimizer 8



FileOptimizer 8 lleva ya un tiempo entre nosotros, concretamente desde finales de 2015, sobre el que he ido aplicando ya 4 actualizaciones. Sin embargo desde Estadísticas de FileOptimizer, que nos os mantenía al corriente.

La falta de tiempo, y porque no, también la creciente complejidad del proyecto, unido a que no hay colaboradores que ayuden a su mantenimiento, ha hecho que su progreso se frene notablemente. Los esfuerzos se han centrado en actualizaciones de herramientas, plugins y la corrección de bastantes errores (tanto propios, como vinculados a plugins de terceros).

Ello no quita que no haya nuevas características, como el añadido de ECT o UPX; nuevas opciones y configuraciones (EXEEnableUPX, LeanifyIterations, DisablePluginMask, AllowDuplicates, TempDirectory, …); y mejoras de rendimiento.…

Continuar leyendo...

Clipper y C



A nivel informático, recuerdo con mucho cariño, la época de principios de los años 90. En aquel momento, bastaba con saber lenguaje C y Clipper.

MS-DOS 3.30 era el sistema operativo más difundido, acababa de lanzarse DR-DOS 5 y MS-DOS 5 mientras que MS-DOS 6 y DR-DOS 6.0, estaban aún por salir. Se usaba Windows 3, luego 3.1 y después 3.11, pero solamente por parte de usuarios sin demasiados conocimientos, a modo de shell, o bien para necesidades muy específicas.

Aunque ya existía el 80486 de Intel (luego i486), la mayoría de ordenadores, montaban procesadores 8086, 80186, o 80286 y sus clones (NEC V20, V30, …).…

Continuar leyendo...

Leonardo Torres Quevedo



Resulta sorprendente que Leonardo Torres Quevedo resulte un completo desconocido para muchos. Debo admitir, que hasta hace unos meses, también lo era para mi, pese a ejercer una actividad intelectual muy próxima a la tecnología actual.

Por contra, si que conoceréis a Alan Turing, a Charles Babbage, a Nikola Tesla o a Ada Lovelace. No es justo.

Para que os hagáis una idea, en 1903 crea el Telekino, es decir el primer autómata controlado a distancia mediante ondas de radio, y que sería el precursor de los mandos a distancia, y otras tecnologías de transmisión de órdenes mediante ondas (Bluetooth, WiFi, …).…

Continuar leyendo...

DR-DOS



Tal vez os cueste de creer, pero hubo una época en que mi espíritu tecnológico, se encontraba al margen de Microsoft, así que cuando descubrí DR-DOS 3.41 (1989), en una época en la que MS-DOS 3.30 ya llevaba un tiempo establecido, directamente me entusiasmé.

Por aquel tiempo se me pasó por alto que DR-DOS pudiera estar basado en CP/M, lo que más me maravilló fue desarrollar algo, que sobre el papel era totalmente compatible con el estándar de facto, es decir MS-DOS, desde cero, y con innumerables mejoras, al menos a nivel visual. Os puede parecer una chorrada, pero en aquella época, los comandos de MS-DOS, no solían tener el argumento /?…

Continuar leyendo...

¿Por qué deberías quitar tu caché de WordPress?



Una de las primeras cosas que se recomiendan tras instalar un WordPress es activarle un plugin de caché. Yo mismo lo hice y lo recomendé en mi configuración de WP.

El caso es que tras configurar y optimizar CloudFlare, haciendo pruebas, me di cuenta que en realidad un plugin de cache, ya sea W3 Total Cache, como WP Super Cache, generalmente ralentizan la instalación de WordPress.

Es lógico, un plugin de caché, primero sobrecarga la instalación del blog, porque requiere gestionar un plugin adicional, y que por ejemplo en el caso de W3TC es realmente voluminoso y complejo. Ello implica cargar nuevas clases, instalar nuevos hooks, y enrutar varias funcionalidades de WordPress para que pasen por él.…

Continuar leyendo...

BPG



El formato de imágenes BPG (Better Portable Graphics), pretende reemplazar a JPEG y JPEG2000 en compresión con pérdida, y a GIF, PNG y APNG en compresión sin pérdida.

El enfoque es similar al de WEBP de Google, es decir un estándar abierto, que lo que hace es adaptar un CODEC de vídeo, a la compresión de imágenes. WEBP se basaba en VP, mientras que BPG lo hace con x265.

Impulsado por el popular Fabrice Bellard, tiene un enfoque único. Además de sus completas posibilidades, esto es, mejor calidad con menor peso, y sus correspondientes SDK, ofrece un decodificador en Javascript.

Basta incluirlo en nuestra página, para automáticamente visualzar imágenes BPG, sin necesidad de plugins, ni de actualizar el navegador.…

Continuar leyendo...

Uso de cookies

Esta web utiliza cookies para mejorar la mejor experiencia de usuario. Si continúas navegando estás dandos tu consentimiento para la aceptación de las mismas y la aceptación de la política de cookies, pincha el enlace para más información.

ACEPTAR
Aviso de cookies