Programación archivos | Página 36 de 52 | Bitácora de Javier Gutiérrez Chamorro (Guti)

Archivo de la categoría Programación

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

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/36"); googletag.pubads().enableSingleRequest(); googletag.enableServices(); });googletag.cmd.push(function() { googletag.display("div-gpt-ad-1523882324353-5"); });

Si preferís ver como se hizo Chain Reaction, lo podéis encontrar aquí.…

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

C++ Builder, de nuevo con retrasos



Acabo de ver en el Borland Developer Network, que a pesar de promesas anteriores, Borland vuelve a marginar a la comunidad de desarrolladores de C++ Builder.

Como no ha sido suficiente una espera de casi 4 años para poder disponer de una nueva versión de nuestra herramienta preferida, ahora en la carta Transparency in Development, se confirma que Developer Studio 2006, incluirá solamente una versión preliminar de C++ Builder. La versión final, no aparecerá hasta diciembre.

Tanta prisa, me hace temer más problemas de inestabilidad que con la anterior versión 6… Esperemos que en este caso no se cumpla el "tarde y mal".…

Continuar leyendo...

Actualización a SPHPBlog 0.4.6



Acaba de liberarse Simple PHP Blog 0.4.6, por lo que inmediatamente he aprovechado para actualizar.

Además he enviado algunos pequeños cambios al servidor de CVS.

Esta versión implementa nuevas funcionalidades sugeridas por los usuarios a Bill, así como algunas mejoras en cuanto a seguridad.



Continuar leyendo...

Optimización PNG



He procedido a optimizar todos los archivos PNG de mi bitácora, usando el excelente PNGOUT 08/17/2005.

PNGOUT se encarga de leer un archivo PNG, GIF, BMP o JPG, y generar un archivo PNG optimizado con menor tamaño, pero con la misma calidad original (lossless).

Típicamente los archivos optimizados con PNGOUT son de entre un 5% y un 50% más pequeños que los originales.

En total había almacenados 189 archvos PNG que totalizaban 3.244.553 bytes (3,09 Mb.). Los archivos originales habían sido generados fundamentalmente con Fireworks, aunque algunos estaban guardados con Irfanview o Photoshop.…

Continuar leyendo...