Archivo de la categoría Programación

Cambios en los ActiveX de IE



En el Blog de USACD he escrito el artículo titulado Cambios en los ActiveX de Internet Explorer, resumiendo los cambios de comportamiento en los controles ActiveX que están por llegar debidos a la patente de Eolas.

Tanto si eres desarrollador web, como usuario de Internet Explorer, deberías echarle un vistazo.



Continuar leyendo...

13,5 FPS en un Spectrum



Hoy en día, conseguir una tasa de refresco de 13,5 fotogramas por segundo en cualquier animación o juego que se ejecuta a pantalla completa, es algo bastante sencillo.

Hacerlo posible en un ZX Spectrum resulta bastante más divertido. Aunque no por ello complicado.

Si tienes menos de 20 años, seguro que estás convencido de que 48 Kb de memoria RAM, y un procesador de 8 bits a 3,5 Mhz no dan para mucho… Nada más lejos de la realidad.

El programa en cuestión está escrito en C usando el z88dk, por lo que con algunas optimizaciones, y reescribiéndolo en ensamblador, sería fácil conseguir al menos 25 FPS.…

Continuar leyendo...

Opera pasa el test Acid2



La última versión semanal de Opera 9, la compilación 8265, ha superado exitosamente el test Acid2.

La finalidad del Acid2 es ayudar a los desarrolladores de navegadores a comprobar que su software soporta los estándares.

No se trata de inventar cosas nuevas que nadie cumple, sino de poner en práctica funcionalidades ya existentes, que al estar poco extendidas, no se implementan en los navegadores más habituales.

Hasta dónde yo se, solamente Safari, Konqueror e iCab lo habían superado.

Ni Internet Explorer 7 Beta 2, ni el último trunk de Firefox lo superan con éxito.

¡Accede aquí para comprobar si tu navegador también lo supera!…

Continuar leyendo...

Instrucciones privilegiadas



Desde la aparición del modo protegido del 80286, y sobre todo del 80386 y los sistemas operativos de 32 bits, los diferentes procesos en ejecución que hay en la máquina están aislados unos de otros.

Esto evita que el fallo en una tarea afecte a las otras, y por tanto impacte en la estabilidad del sistema.

El sistema operativo, en combinación con el hardware, limitan la memoria, y las instrucciones que pueden ejecutar los procesos de usuario. Es decir, aquellos que corren en el anillo (ring) 1 o superior. Mientras que el propio sistema operativo, ejecuta sus funciones desde el anillo 0, y por tanto sin ninguna restricción.…

Continuar leyendo...

Resultados del Assembly 05



Los resultados del Assembly 2005 ya están disponibles.

No soy ningún experto en demoscene, pero desde hace mucho que me gusta de vez en cuando ir revisando la piezas que participan en la competición.

Este año me ha sorprendido la categoría Browser, destinada funcionar en navegadores de internet.

Los ganadores de esta categoría fueron:

1.- Redbug by Shingebis.
2.- the drop by komplex.
3.- pure javascript demo by IKU.
4.- Neja by ribbon + bomb.
5.- Scene of Life by Inapt & Static.
6.- I,Mofo by Pyrotech.
7.- Etsin unelmaa by CND GROUP.

Especialmente Redbug, escrita enteramente en Javascript, es alucinante.…

Continuar leyendo...

Generación dinámica de libros Excel



Muchas veces debemos ser capaces de exportaciones a Excel que contengan datos de nuestra aplicación.

El problema es que los libros de Excel con extensión .xls son archivos binarios. Si tenemos suerte y la máquina es Windows, y tiene instalado Microsoft Excel, podremos usar los controles ActiveX de éste para generar los archivos.

Si no, tendremos que implementar, o utilizar algunas de la librería que permiten acceder a archivos binarios de Excel. Lo que nos dará bastantes quebraderos de cabeza; o bien conformarnos con una exportación a CSV.

El caso es que de casualidad, viendo la exportación a Excel de phpMyAdmin, he visto que se pueden generar hojas de Excel, utilizando XML con una DTD concreta.…

Continuar leyendo...

Lenguajes y programas



Cuando alguien se inicia en el mundo de la programación, de las primeras cosas que le vienen a la cabeza, es saber en que lenguaje de programación está desarrollado tal o cual programa comercial.

Para los neófitos, es difícil comprender que por ejemplo GCC está compilado con GCC. También pueden plantearse si Windows está desarrollado en Visual Basic, … Y cosas por el estilo.

Por mi parte, he cogido una lista de los programas Windows que utilizo con más frecuencia, y les he pegado un repaso rápido para ver con lenguaje estaban programados.

Este es el resultado:

– 7-Zip: Visual C++
– Access: Visual C++
– ACDSee: Visual C++
– Ad-Aware: Microsoft Visual C++
– Apache: Visual C++
– C++ Builder: Delphi
– C++ BuilderX: Java
– CLCL: Visual C++
– CodeWright: Delphi
– Delphi: Delphi
– Dexpot: Visual Basic
– Director: Visual C++
– Dreamweaver: Visual C++
– Excel: Visual C++
– Everest: Delphi
– FeedDemon: Delphi
– FileZilla: Visual C++
– FlashGet: Visual C++
– Firefox: Visual C++
– Fireworks: Visual C++
– Flash: Visual C++
– FlashFXP: Delphi
– Foobar2000: Visual C++
– FrontPage: Visual C++
– HomeSite: Delphi
– Internet Explorer: Visual C++
– Isobuster: Delphi
– JBuilder: Java
– jv16 Powertools: Delphi
– Locate: Visual C++
– Magic Mail Monitor: Visual C++
– MetaPad: Visual C++
– MySQL: Visual C++
– MySQL-Front: Delphi
– NeoMule: Visual C++
– Nero Burning ROM: Visual C++
– Notepad2: Visual C++
– Open Office: Visual C++
– Opera: Visual C++
– PDF Factory Pro: Visual C++
– PDF Reader: Visual C++
– PerfectDisk: Visual C++
– PHP: Visual C++
– phpEd: Delphi
– Photoshop: Visual C++
– Powerpoint: Visual C++
– Process Explorer: Visual C++
– Project: Visual C++
– Sambar: Visual C++
– SeaMonkey: Visual C++
– SlickEdit: Visual C++
– StatBar: Visual Basic
– SpeedCommander: Visual C++
– Take Command: Visual C++
– TaskSwitchXP: Visual C++
– Teleport Pro: Visual C++
– The Bat!: Delphi
– Total Commander: Delphi
– Trillian: Visual C++
– Ultra-Edit: Visual C++
– UltraISO: Visual C++
– UltraVNC.…

Continuar leyendo...

Fuentes de Buggy Boy



Vía speccy.org veo que en Maz Spork's Source Code Repository el código fuente de Buggy Boy. Lo podéis obtener desde aquí.

Si preferís ver como se hizo Chain Reaction, lo podéis encontrar aquí. También hay una versión del clásico Xevious aquí.

Ambos están escritos en ensamblador de Z80 para Spectrum, con gran cantidad de comentarios.

El apartado de códigos fuente, incluye también otras creaciones para Spectrum, Amiga y otras plataformas, usando varios lenguajes de programación.

Como se puede ver en el CV de Maz Henrik Spork, estuvo empleado por Durrell y Elite en los viejos tiempos.…

Continuar leyendo...

Ofertas de empleo



La agencia para la que trabajo desea ampliar la plantilla. Estamos buscando los siguientes perfiles:

Desarrollador .NET
Se requiere programador para integración en equipo joven, dinámico, altamente cualificado y en constante crecimiento, encargado del desarrollo de aplicaciones en entornos on-line.

Buscamos a una persona con capacidad para trabajar en equipo, con interés en el desarrollo de soluciones on-line, experiencia en el uso de las principales tecnologías y sistemas de desarrollo relacionados con el tema, y con capacidad para resolver problemas y enfrentarse a nuevos retos.…

Continuar leyendo...

Turbo C++ 3 con 128 Kb de memoria



¿Te imaginas poder ejecutar Turbo C++ 3 para DOS con solamente 128 Kb de memoria?

Al menos eso es lo que asegura Borland en la página de producto de Turbo C++ Suite.

Turbo C++ 3 para DOS es capaz de funcionar con solamente 128 Kb de RAM (1 Megabit).
Turbo C++ 4.5 para Windows 3.1, se conforma con solamente 2,5 Mb de espacio en disco (20 Megabit).

Juraría que las cantidades correctas estaban entorno a 8 veces más… porque si la memoria no me falla, ya el Turbo C++ 1.0 requería al menos 512 Kb de memoria.

Por supuesto la confusión se debe a un error de transcripción, indicando las unidades en bits, cuando se quiere decir bytes.…

Continuar leyendo...