JASoft.org

TRUCO: Buscar contenidos de libros en Google

TRUCO: Buscar contenidos de libros en Google
Este truco lo publiqué hace unas semanas en los grupos de noticias privados de MVP y creo que resultó interesante pues no es muy conocido... Resulta que google está preparando un buscador de libros, revistas y publicaciones impresas (que estará disponible en print.google.com) y, aunque desde esta URL no funciona todavía, el propio Google como buscador te deja acceder a él de forma indirecta. Por ejemplo si quieres buscar algo sobre "bases de datos en C#" en revistas y libros prueba a escribir en la caja de búsquedas de google: C# Database site:print.google.com Te dará los resultados que su buscador de contenidos impresos tiene en la base de datos, a pesar de que el propio servicio no está accesible, ya que Google lo ha indexado ;-) De momento está un poco en mantillas, tiene pocos recursos y hay que afinar bastante la búsqueda por hacerla de forma tan indirecta, pero conociendo a estos de Google ya veremos lo que sale al final: una gozada seguro...

Lanzada la versión definitiva de Mono 1.0

Lanzada la versión definitiva de Mono 1.0
Hace unos días se presentó la versión definitiva de MONO. Mono es una plataforma de desarrollo de código abierto basada en la plataforma .NET.Se trata, en la práctica, de una implementación de la parte estándar ECMA de la plataforma de desarrollo de Microsoft que, con muy pocos cambios, permite ejecutar la mayoría de las aplicaciones .NET en Windows, Linux, MacOS y otros UNIX. Después de tres años de desarrollo, Novell, actual propietaria del proyecto, ha lanzado la versión definitiva. Mono es capaz de ejecutar tanto aplicaciones de escritorio con Windows Forms, como ASP.NET o servicios Web desde diversos sistemas operativos, compilando código C# estándar. Mono incluye un entorno de tiempo de ejecución para las aplicaciones .Net, un compilador para C# y un entorno de desarrollo integrado que dará a los desarrolladores de software Linux una alternativa a sus actuales herramientas de desarrollo. Precisamente desde el mundo Linux se ha criticado mucho la creación de este clon de la... [Más]

Snippet Compiler: se acabó abrir Visual Studio para cualquier tontería

Snippet Compiler: se acabó abrir Visual Studio para cualquier tontería
Este programita me lo recomendó el otro día un amigo y la verdad es que me pareció estupendo. Situación típica de programador: te surge una duda de programación y quieres hacer una pruebecilla tonta de código para comprobar cómo funciona algo, probar una función o una clase .NET. ¿Qué haces?: o eres de esos "machotes" que programa directamente en la línea de comandos y usa los compiladores con todas las opciones, o si eres un vago como yo abres Visual Studio .NET, creas un proyecto del tipo adecuado y pruebas el código con toda la comodidad del entorno: depuración, ayuda contextual, etc.. ¿verdad? El problema es que haciéndolo así creas un montón de proyectos tontos que no valen para nada después de usarlos, que se quedan en el disco duro, crean directorios virtuales en IIS (en el caso de aplicaciones ASP.NET) y aparecen después en la página principal cada vez que abres el entorno. A lo mejor piensas que soy un maniático, pero a mi me molesta un montón. La solución: Snippet Compil... [Más]

Cómo conectarse a un archivo de texto CSV con ADO/OLEDB

Cómo conectarse a un archivo de texto CSV con ADO/OLEDB
Últimamente me encontré con este problema en una integración y, aunque parece un tontería, lo cierto es que tiene más miga de la que parece... Tras haber investigado un poco y a base de prueba y error llegué a las siguientes conclusiones que considero bastante interesantes. Para conectarse a un archivo de texto CSV desde ADO/OLEDB como si se tratase de una base de datos se debe utilizar una cadena de conexión especial. Si se trata de un archivo CSV con encabezados, es decir, que lleva en su primera fila los nombres de los campos la cadena de conexión a utilizar es la siguiente: "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=Ruta_a_la_carpeta_contenedora_del archivo;Extensions=asc,csv,tab,txt;HDR=NO;Persist Security Info=False" Si, por el contrario, el archivo de texto no tiene cabeceras con nombres de columnas la cadena de conexión adecuada es la siguiente: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Ruta_a_la_carpeta_contenedora_del archivo;Extended Properties='text;HDR... [Más]

Resolución de problemas de comunicación con Oracle desde ADO/OLEDB

Resolución de problemas de comunicación con Oracle desde ADO/OLEDB
Cuando se intenta conectar mediante ADO/OLEDB con una base de datos Oracle 9i utilizando los componentes de cliente de esta versión del gestor de datos, se obtiene continuamente un error que dice que las bibliotecas de red y comunicación de oracle no están instaladas. Se trata de un problema bastante desesperante porque no hay pistas de porqué se produce y todo parece estar bien instalado.El mensaje de error que obtenemos dice: "The Oracle(tm) client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3 (or greater) client software installation." El problema se debe a que, tanto las bibliotecas de cliente de Oracle (las que vienen en el CD o el Instant Client que se puede descargar desde la Web de Oracle) como el propio MDAC introducen mal en el registro las entradas que indican al controlador OLEDB qué bibliotecas de Oracle debe utilizar. Lo que está en el registro se corresponde siempre con una versión a... [Más]

Cómo capturar el error 'ASP 0113': Script Timed Out

Cómo capturar el error 'ASP 0113': Script Timed Out
El error de "tiempo de ejecución de Script superado" es el único que no se puede capturar en una página Web debido a que, si el Script tarda mucho, IIS termina su ejecución y por lo tanto, por definición, no podemos capturarlo desde nuestro propio Script.Sin embargo existe un truco muy interesante que nos permitirá hacerlo sin problemas. Se trata de utilizar el modo transaccional de las páginas Web ASP. En este modo, si el script falla por cualquier razón (incluyendo la de que tarde mucho en ejecutarse), el sistema revoca la transacción y llama siempre a la función OnTransactionAbort(), que debe existir en la página. Esto lo podemos aprovechar para hacer lo que queramos tras el error. Por ejemplo, el siguiente código captura el error y muestra un mensaje cuando se produce un "Script timeout": <%@ TRANSACTION=Required LANGUAGE="VBScript" %> 'Esto la convierte en transaccional <HTML> <BODY BGCOLOR="White" topmargin="10" leftmargin="10"> <font size="4" ... [Más]

OXPAS 1.1

OXPAS 1.1
Microsoft Outlook, a partir de su versión XP, viene con una novedad interesante desde el punto de vista de la seguridad pero bastante molesta en cuanto al uso: prohibe el acceso a medio centenar de tipos de archivo cuando éstos vienen adjuntos en un e-mail, de modo que no hay manera de acceder a ellos aunque queramos. Ni siquiera da opción a guardarlos a disco para usarlos bajo nuestra responsabilidad. Esta característica hace que Outlook sea mucho más seguro que antes pero cuando queremos recibir, por ejemplo, un archivo ejecutable proveniente de una fuente de confianza nos veremos incapaces de hacerlo. Para ahorrarme el problema escribí hace ya un par de años este programa: OXPAS (Outlook XP Attachment Security)OXPAS permite desbloquear los tipos de archivos que deseemos, de forma que tengamos acceso a ellos bajo demanda y no nos quedemos sin poder acceder a cosas que nos interesan en nuestro propio correo electrónico. Este programa funciona con Outlook 2002 o superior. Ya verá... [Más]

Implementación sencilla de una interfaz con C# en VS 2003

Implementación sencilla de una interfaz con C# en VS 2003
Esto es un truco bastante útil para ahorrar tiempo programando en C# si usas Visual Studio .NET 2003 y necesitas implementar interfaces en tus objetos. Cuando vas a crear una clase que implementa una o más interfaces, deberás obviamente generar todos los métodos de éstas en la nueva clase. Es esta una tarea muy tediosa si la interfaz en cuestión tiene muchos métodos puesto que tienes que escribirlos a mano. Visual Studio 2003 tiene una característica nueva que es muy fácil que se nos pase por alto y es que, cuando escribes el nombre de la interfaz en la lista de derivación de la clase ( o sea, después de los consabidos dos puntos) basta con presionar la tecla TAB para que se genere el esqueleto de la interfaz automáticamente por nosotros y dentro de una región ya "encogida": Pulsa sobre la figura para ampliarla Aunque te lo indica el entorno mediante un "Tooltip" es bastante fácil pasarlo por alto y hacer lo mismo de siempre. Esto puede ahorrarte mucho tiempo.

Nueva e interesante aplicación de ejemplo - FotoVision

Nueva e interesante aplicación de ejemplo - FotoVision
Microsoft acaba de medio-publicar un nuevo ejemplo que es realmente interesante. Y digo medio publicar porque en el momento de escribir esto todavía no es oficial y de hecho los enlaces de la portada no funcionan bien. Sin embargo es fácil conseguir acceder a los archivos y bajarse la aplicación. Se trata de un ejemplo bastante extenso de un servicio a priori simple: la construcción de una galería de fotos e imágenes en Internet. Sin embargo han construido un ejemplo con vocación empresarial y nada básico que conlleva la programación de aplicaciones de escritorio, aplicaciones Web, aplicaciones para la Compact framework y por supuesto servicios Web. En la siguiente figura podéis ver algunas capturas. El ejemplo está lleno de detalles de calidad y código interesante (por ejemplo código para manipulación de imágenes o código para evitar los SPAM-Bots). La aplicación de Pocket PC sincroniza y guarda para visualizar off-line las imágenes e incluso permite hacer anotaciones sobre ellas... [Más]

¿Páginas Web escritas en ensamblador?

¿Páginas Web escritas en ensamblador?
Raro pero cierto... Resulta que acabo de descubrir un personaje en Internet (danés para más señas) que creó en su día un compilador de ensamblador para ASP.NET. De este modo los forofos de este lenguaje pueen crear páginas Web con instrucciones tan cómodas como MOV, JMP y compañía. Por si a alguien C# le parecía demasiado sencillo: Según el propio autor no es que sera muy útil pero desde luego es un experimento interesante. El compilador reconoce la sintaxis de ensamblador y crea a partir de ella código IL de la plataforma .NET. Desde su página web se puede descargar libremente (ocupa sólo 14 KB). Por lo visto ya hace tiempo que lo tiene pero yo no lo conocía. ¿Alguien sabía de su existencia? ¿Alguien lo ha probado aunque sea por curiosidad? Espero tus comentarios...

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico