JASoft.org

Recuérdalo siempre: la estupidez humana puede hacerte rico

Recuérdalo siempre: la estupidez humana puede hacerte rico
Esa debería ser la primera regla que te enseñasen en los MBA o en las escuelas de negocio. Y si no cómo se explican ciertos imperios que se han levantado alrededor de las cosas más peregrinas y sin el menor mérito técnico, ético o funcional (y no quiero dar muchos ejemplos que todos conocemos). De todos modos, desde mi punto de vista, este último ejemplo raya el surrealismo más radical... Lo he sacado del editorial del último número del boletín BECK sobre el mundo TIC de Krasis. Aunque no seas aficionado al fútbol seguro que, si estabas en el planeta Tierra durante la reciente Eurocopa, te enteraste del famoso penalti que David Beckham falló en los cuartos de final contra Portugal y que mandó a Inglaterra de vuelta a casa. Bien, pues resulta que un joven gallego de 25 años, Pablo Carral, que estaba en el estadio lisboeta junto a otras 65.000 personas tuvo la suerte de que el balón perdido fue a caer directamente en sus brazos. El chico cuando regresó a España, ni corto ni perezoso, ... [Más]

Artículos de la Knowledge Base para partirse de risa

Artículos de la Knowledge Base para partirse de risa
Ya sé que es tal vez un poco freeky de más, pero no me he podido resistir: Esta página recoge una colección de artículos de la Knowledge Base de Microsoft que parecen sacados de un portal de coñas marineras. La verdad es que es bastante divertido. Puedes encontrar artículos de la Knowledge Base de Microsoft que dicen cosas divertidísimas. Hay cientos y te recomiendo que la visites un día con bastante tiempo, pero no tiene desperdicio. No me he podido resistir a destacar una pequeña muestra aquí: Q145675: Pregnancy: Who Can I Send Suggestions To? Q147373: Remove All Does Not Remove Everything Q189826: PowerPoint Centimeters Different from Actual Centimeters Q835826: The complete guide to uninstalling Windows Q152697: The Story of Koi and the Kola Nuts Q303969: How to Work with More Than 64,000 Children Per Parent Q72540: Calculator Does Not Reliably Subtract Two Numbers in Windows Q178748: SATAN Causes High Memory Utilization in WUSER32 Q133357: Differences Between ... [Más]

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.

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