Archivo de la categoría Programación

Depurar VS 2005 con VS 2005



¿Qué es lo que ocurre cuando hay un problema con Visual Studio 2005?

Pues básicamente lo mismo que con cualquier otro programa… Windows ofrece la posibilidad de cerrarlo, o en el caso de tener instalado Visual Studio 2005, depurarlo.

Lo irónico de este caso, es que podemos llegar a depurar el código ensamblador que ha generado la excepción de Visual Studio, ¡con el propio depurador de Visual Studio!

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



Continuar leyendo...

Larry Wall



Larry Wall, el inventor del lenguaje PERL (Practical Extraction and Report Language), además de un excelente programador y lingüista, destacó por ser un magnífico pensador.

Fuera de la faceta tecnológica, pero aplicable a todos los aspectos de la vida (incluída la tecnología), enunció lo siguiente:

Si tienes un solo clavo, tiendes a ver a los martillos como un problema.…

Continuar leyendo...

Demo de Photosynth



Blaise Agüera y Arcas nos presenta en Youtube, una impresionante demostración de Photosynth. Una tecnología que está siendo desarrollada por Microsoft para representar imágenes en pantalla.

Su funcionamiento se rige por un principio tremendamente simple, que es no obstante, complejo de implementar: Visualizar en pantalla solamente aquellos píxels que están visibles. Una técnica que ha sido implementada en multitud de algoritmos, sobre todo en cuanto a rasterizado de 3D.

Es impresionante el momento donde se muestran en pantalla decenas de imágenes, y se hace zoom de una de ellas.…

Continuar leyendo...

Informática y coches



¿Qué es lo que tienen en común la informática y los coches?

Encontrarás la respuesta en el Blog de USACD.

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



Continuar leyendo...

Código fuente de XPlorer



A pesar de la buena acogida que obtuvo XPlorer en su día, y la relativa vigencia que tiene gracias a Windows Marketplace, es un hecho que el proyecto lleva bastante tiempo abandonado.

Las causas del abandono son principalmente que los Shell Controls de Plasmatech, a pesar de los hackeos a que les sometí, se acabaron quedando cortos. La nueva versión 2.0 incluye sustanciales mejoras, pero haría falta volver a analizar el código, y aplicar los parches de nuevo.

Además hay que contar con el trabajo extra que supondría actualizarlo a C++ Builder 2006, con la nueva versión de los componentes VCL de TMS Software.…

Continuar leyendo...

'80004005' Error no especificado



Utilizando ActiveX Data Objects (ADO) con una base de datos Access a la que se conecta con el motor Jet suele dar problemas.

La conectividad a la base de datos funcionará perfectamente hasta que deje de hacerlo. Típicamente se presentará el siguiente mensaje:

Microsoft JET Database Engine error '80004005' Error no especificado

Supongamos que tenemos un código en ASP 3 con VBScript que conecta a una base de datos Access en versión 2000/2003 (Jet 4.0), o Access 97 (Jet 3.51):

Dim cnnConexion
Set cnnConexion=Server.CreateObject("ADODB.Connection")
cnnConexion.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("datos.mdb")

Para evitar el error 80004005, de Jet, lo conveniente sería convertirlo para que usara el driver de Access en vez del motor Jet.…

Continuar leyendo...

Redirección anónima



Aunque ya lo había utilizado en el pasado, he decidido documentar el funcionamiento de mi redirector anónimo por si alguien más lo quiere utilizar.

A veces queremos enlazar a algún sitio, pero sin darle ventajas en cuanto a enlaces entrantes, y no podemos especificar el atributo nofollow.

Otras simplemente no queremos que nuestro sitio aparezca como referrer del destinatario.

Pues es tan sencillo como enlazar a:
http://guti.awardspace.com/redirect.php?sUrl=TU_URL

Por ejemplo, si quisiera hacer un enlace anónimo a Google, sería así:
http://guti.awardspace.com/redirect.php … .google.es

¡Que lo disfrutéis!…

Continuar leyendo...

SFX con WinRAR



El compresor RAR que desde sus inicios ha ofrecido ciertas opciones de personalización en sus archivos autoextraíbles (SelF eXtracting).

Ya en las antiguas versiones 1.5 para DOS, incluían un relativamente potente lenguaje procedural de scripting. En los módulos autoextraíbles para Windows, aquella potencia ha desaparecido, pero a cambio nos permite realizar operaciones muy habituales de manera sencilla.

En muchos casos, no es descartable utilizar el propio WinRAR para reemplazar a programas generadores de instalaciones como NSIS, InnoSetup, Wise o InstallShield; siempre y cuando los procesos a realizar consistan en descompresión y poco más.…

Continuar leyendo...

Insertar saltos de linea en ALT y TITLE



En todo el tiempo que llevo tocando HTML, nunca había tenido la necesidad de insertar saltos de carro en los atributos ALT y TITLE.

Tras probar lo evidente: <br>, \n, he visto que con un retorno de carro físico, la cosa funcionaba. Aunque claro, con algunos problemas en cuanto a validación.

En conclusión, de estas formas no funciona:
<a href="#" title="Linea 1<br>Linea 2">Enlace</a>
<a href="#" title="Linea 1\nLinea 2">Enlace</a>

Y de esta forma, a veces da problemas de validación:
<a href="#" title="Linea 1
Linea 2">Enlace</a>

Finalmente he encontrado la clave.…

Continuar leyendo...

Mala práctica 4



La sección de malas prácticas de programación, la había dejado abandonada desde hace algún tiempo.

Hoy la retomo con un fragmento de código muy simple, que habla de consistencia.

Como podéis ver, es un PHP que se encarga de ir concatenando un string, con el contenido del mensaje que se mandará por email.

La mala práctica está en la falta de coherencia del código. En ese caso, a veces el operador de concatenación (.), va precedidos de espacios, y en otros casos no.

Puede parecer algo tonto, pero ello dificulta la lectura, y lo que es más importante, puede introducir problemas al efectuar búsquedas y reemplazos masivos.…

Continuar leyendo...