Archivo de la categoría Programación

800 FPS en un PC



Después de los anteriores artículos de frames por segundo en un PC, a la hora de mostrar una imagen en pantalla, usando tecnología de los 80 y los 90, a raiz de hacerlo en un Spectrum.

El código está escrito en Visual C++ 2008 (9.0), y aprovecha las características de DirectDraw 7 en DirectX para aprovechar el hardware de la GPU en los procesos. Es extremadamente portable, pudiéndose compilar en ANSI o UNICODE, y soportando las arquitecturas x86, x64 e IA64 (Itanium).

Viene de un código original mío de hace algunos años, con algunos añadidos de última hora. No se incluye el array de bytes conteniendo el mapa de bits de la imagen, sino que se ha incluído vía recurso de Windows.…

Continuar leyendo...

Funciones intrínsecas en VC++ 2008



Publican en el Visual C++ Team Blog, un inventario exhaustivo de las funcionalidades intrísecas que se han incorporado al Visual C++ 9 (2008).

Las funciones intrínsecas, permiten aprovechar a bajo nivel los juegos de instrucciones de procesadores CISC recientes, de forma más o menos portable. Así, mientras las compilaciones para x64 no soportan ensamblador en linea, las funciones intrínsecas siguen estando disponibles.

Parece ser también, que al compilador, y sobre todo al optimizador, les resulta más fácil manejarlas que el assembler inline, por lo que es probable que ofrezcan también un mejor rendimiento.…

Continuar leyendo...

Canciones del programador



En varios blogs, he leído sobre las canciones del programador para estas navidades, en sus dos variantes:

1) Reggaeton

2) Punk-Rock

Personalmente, me quedo con la segunda versión, aunque la letra de ambas, merece la pena.…

Continuar leyendo...

Listado de contraseñas por defecto



Hace algún tiempo encontré por algún sitio que no recuerdo de internet, un listado actualizado a mediados de 2007, con los passwords por defecto en multitud de software y hardware.

El listado contempla routers, bases de datos, BIOS, firewalls, … y aunque no es exhaustiva, ¡incluye más de 1200 referencias!

Descargar listado completo de contraseñas por defecto (157 Kb en formato PDF).…

Continuar leyendo...

Pac-Man en Javascript



Un buenísimo remake del clásico Puckman / Pac-Man de Namco, aunque desarrollado integramente en Javascript.

Funciona sin problemas en Opera 9, Firefox 2, e Internet Explorer 7.

Está disponible para jugar online aquí.

var googletag=googletag || {}; googletag.cmd=googletag.cmd || [];googletag.cmd.push(function() { googletag.defineSlot("/360613911/GenericosDFP2018", [728, 90], "div-gpt-ad-1523882324353-5").addService(googletag.pubads()); googletag.pubads().set("page_url", "http://www.javiergutierrezchamorro.com/category/informatica/programacion/page/29"); googletag.pubads().enableSingleRequest(); googletag.enableServices(); });googletag.cmd.push(function() { googletag.display("div-gpt-ad-1523882324353-5"); });



Continuar leyendo...

Borrar un nodo XML



Resulta que eliminar por completo un nodo completo dentro de un XML, no es algo trivial como podría parecer.

Imaginemos que tenemos la siguiente estructura XML:
<node id="node01" title="Nodo 01">
<child id="child01-01">Child 01-01</child>
</node>

Y ejecutamos el siguiente código:
oNode.RemoveAll();

El resultado, nos dejaría algo así:
<node>
</node>

Que no es exactamente lo que queremos, para borrarlo totalmente, es decir, eliminar también <node>, habría que hacer:
oNode.ParentNode.RemoveChild(oNode);

Continuar leyendo...

Turbomania



Pasé divertidísimas tardes jugando al simplón Bandera de 1985 escrito por L. Casaus y publicado por MicroHobby, así que cuando hoy he descubierto el Turbomania de 2005 escrito por el prolífico Jonathan Cauldwell, por un momento he vuelto atrás.

Turbomania es un juego sencillo, al igual que el Bandera que conocí, pero con detalles gráficos y de jugabilidad más trabajados. Es fácil de aprender, y muy adictivo. Además, es compatible con Spectrums de 16K, lo que le da todavía más mérito.

Jonathan ha actualizado su tutorial sobre la programación de videojuegos para Spectrum, Writing Spectrum Games, que también podéis descargar (368 Kb.…

Continuar leyendo...

Campanyacompensacio.com



Parece que los responsables de Ferrocarrils Catalans de la Generalitat de Catalunya (FGC), han decidido calmar los ánimos de los sufridos usuario, ofreciendo una compensación equivalente a 1/3 de los billetes que se consuman entre el 1 de diciembre, y 1 mes después a la solución de la incidencia, en el tramo afectado.

Como novedad, han implementado un sistema electrónico online, bajo el sugerente nombre de Campanya de Compensació, que permite hacer el intercambio a la antigua usanza: Se rellena el formulario, y luego se entregan presencialmente los billetes usados.

Para más inri, han sido de los pocos en atreverse hoy día, a poner una web en público, funcionando bajo Microsoft Access, y eso que el número de afectados es superior a los 20.000… ¡Sólo espero que sea la minoria los que use el sistema electrónico, y no haya problemas de concurrencia!…

Continuar leyendo...

Generador de números aleatorios optimizado en AS3



A raiz de un antiguo código C, que implementaba de forma simple un generador de números aleatorios, donde lo que primaba era el rendimiento, he decidido portarlo a ActionScript 3, para ver como ser comportaba al compararlo con el Math.random() incorporado.

He creado una función llamada FastRandom, que recibe dos enteros, que representan el intervalo mínimo y máximo sobre el que queremos sacar el número. Por eficiencia, y porque de hecho es lo que normalmente necesitamos, la función trabaja con números enteros. De hecho son enteros sin signo, aunque como ya vimos, parece que a la máquina virtual de Flash le gustan más con signo, por lo que para él, son con signo.…

Continuar leyendo...

HTML Applications (HTA)



Hypertext Applications (HTA), también llamado HTML Applications, es una plataforma construida sobre Internet Explorer para el desarrollo de aplicaciones de escritorio.

Al estar basado en Internet Explorer, con HTA podemos desarrollar programas, con tecnologías ya conocidas. A saber: HTML/XHTML, CSS, Javascript, VBScript, en pocas palabras, hacer lo mismo que hacíamos para internet, pero ejecutado desde nuestro ordenador local.

HTML Applications, no es que sea demasiado potente, pero su nula curva de aprendizaje, nos permite desarrollar pequeños aplicativos, que se crean en un tiempo récord, y son bastante resultones.…

Continuar leyendo...