Archivo de la categoría Programación

Las 20 excusas de los desarrolladores



20. Pues es raro…
19. Nunca había pasado antes.
18. Pues ayer funcionaba…
17. ¿Cómo es posible?
16. Tiene que ser un problema de tu hardware.
15. ¿Qué hiciste mal para lograr que fallara?
14. Algo debe de estar mal en tus datos.
13. ¡Si no he tocado ese módulo en meses!
12. Debes de estar usando una versión anterior.
11. Es sólo una desafortunada coincidencia.
10. ¡Es que no lo puedo probar todo!
9. ESTO, no puede ser la causa de ESO.
8. Funciona, pero no lo he probado.
7. ¡Alguien debe de haber cambiado mi código!
6. ¿Has comprobado que no haya algún virus en tu sistema?
5. Ya se que no funciona, ¿pero te gusta?…

Continuar leyendo...

Update 2 para BDS 2006



Borland ha puesto a disposición de todos la segunda actualización para el Borland DeveloperStudio 2006.

Están disponibles en info.borland.com/06/bds/bds2006_reg_updates_down.html o directamente en el FTP.

– Architect (58,8 Mb.).
– Enterprise (59 Mb.).
– Professional (60 Mb.).

(adsbygoogle = window.adsbygoogle || []).push({});



Continuar leyendo...

Variable CHARS



La variable de sistema CHARS del Sinclair ZX Spectrum, localizada en las posiciones de memoria 23606 y 23607 almacena la dirección de memoria del juego de caracteres a mostrar.

Por defecto CHARS apunta a la dirección de memoria 15360. Simplemente modificando el puntero, se nos permite permite cambiar el juego de caracteres por defecto de una forma sencilla, tal y como se aplica en multitud de títulos comerciales.

Pero también nos permite conseguir efectos más curiosos (y no tan útiles, dicho sea de paso).

El siguiente listado en Sinclair BASIC, modifica el byte menos significativo de CHARS para hacer que el juego de caracteres quede desplazado una posición.…

Continuar leyendo...

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.

var googletag=googletag || {}; googletag.cmd=googletag.cmd || [];googletag.cmd.push(function() { googletag.defineSlot("/360613911/GenericDFP2017", [728, 90], "div-gpt-ad-1506002846364-4").addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); });googletag.cmd.push(function() { googletag.display("div-gpt-ad-1506002846364-4"); });



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