
Ayer necesité hacer precisamente eso: tenía varias carpetas de primer nivel con una estructura de subcarpetas muy grande y llena de niveles. Dentro de éstas había una serie de carpetas -todas con el mismo nombre- en las que debía copiar un determinado archivo o, si existía, sobrescribirlo con el nuevo. Significaba revisar miles de carpetas en intrincados niveles, localizar las que se llamaban de determinada forma, y copiar dentro de éstas el archivo. Hacer algo así a mano para cada caso me hubiera llevado horas, por lo que estuve buscando la manera de automatizarlo. Primero lo intenté usando una simple línea de comandos y la instrucción FOR y también la instrucción FORFILES. Estuve bastante tiempo intentándolo, pero no fui capaz de conseguirlo :-S Así que al final invertí un rato en crear un programa de línea de comandos en C# que hiciera exactamente lo que yo necesitaba, y debería haber empezado por ahí, pues me hubiera ahorrado un precioso tiempo. El programa se llama "Copiar...
[Más]
Tags: Herramientas, Freeware
8a8e8781-36b5-46cf-9082-7ef7d4a12d37|0|.0

Instapaper es un sensacional servicio para los que leemos mucho en Internet. Es muy simple pero extremadamente útil: cuando estás ojeando un post en un blog, un artículo, un vídeo o cualquier otra cosa en Internet y no tienes tiempo de pararte a leerlo a fondo pulsas el botón”Read later” y automáticamente te guarda una referencia en tu cuenta de Instapaper para que lo leas con calma más tarde, cuando tengas tiempo. Yo generalmente acumulo de esta forma decenas de artículos interesantes que luego leo el fin de semana desde mi tablet. Para conseguir su “magia” Instapaper utiliza un scriptlet -es decir, un fragmento de JavaScript- que se coloca en tu barra de favoritos y cuando lo pulsas, envía la URL a la lista de leer más tarde (debes estar autenticado antes, claro). En esta figura puedes ver el scriptlet (lo he renombrado) en mi navegador de escritorio: También existen extensiones para Firefox y Chrome que permiten hacer lo mismo. Navegador en Windows 8 Con los años esta aplic...
[Más]
Tags: Instapaper, Windows 8, Freeware, Utilidades
4f7452d7-f980-45cc-90ba-167693bf3db4|2|5.0

I was using the YouTubePlayer and VimeoPlayer extensions that come with BlogEngine.NET out of the box. They do a great work showing videos in desktop browsers, but I found some limitations that I wanted to overcome. So I decided to write my own extensions to substitute this two.
The YoutubeViewer and VimeoViewer extensions that I've written offer the following features:
Automatically embed a viewer for YouTube or Vimeo videos with a simple syntax. The basic syntax is and where XXXX is the video ID that you can get from the URL (squared in red in the images):
The viewer adapt automatically to the capabilities of the browser used to browse your site. That means that they will be displayed correctly and full-featured even in mobile devices like iPhone, Android or iPad.
From the Extensions tab of BlogEngine you can set the default values for the viewer's Width, Height, Border (Yes or No), Include related videos (YouTube only), Allow Full Screen (YouTube only), Title text ...
[Más]
Tags: Freeware, BlogEngine.net
900c5efb-bdf0-4958-8b10-28f70b8a81cd|0|.0

Yo me suelo conectar en remoto a un equipo de mi oficina, el cual luego queda en modo "Sleep", o sea suspendido, cuando no lo voy a usar. Cuando lo quiero volver a usar lo despierto remotamente.
El caso es que desde Terminal Server (escritorio remoto) se puede apagar el equipo (con shutdown.exe), cerrar tu sesión e incluso hibernarlo, pero no hay una forma directa de poner el equipo en modo de suspensión, de forma que luego arranque instantáneamente.
Así que he hecho una pequeña utilidad con una sólo línea de código sacando partido a un nuevo método de la clase Application de Windows Forms que apareció con .NET 4.0: SetSuspendState.
Este método permite forzar la suspensión o hibernación del equipo actual siempre que nuestro usuario tenga permisos para ello. Así que todo el código de la aplicación, incluyendo gestión de posibles excepciones, es este:
Más sencillo imposible.
Para el que no quiera pasar el trabajo de compilarlo le dejo el ejecutable en un zip, y también el p...
[Más]
Tags: Freeware
8293fa3e-6aed-49ba-8ef2-840ce2ebdaee|0|.0

Este es un proyecto personal en el que he estado trabajando durante los últimos meses en mis ratos libres (que son pocos). Lo empecé como un juego para desestresarme y no oxidarme en las lides de la programación. Pero al final he querido darle calidad profesional y me he enredado más de la cuenta añadiéndole posibilidades, puliendo la interfaz de usuario, añadiendo pequeños detalles técnicos complicados que seguramente no va a notar ningún usuario "normal", en el periodo de pruebas, etc... Twitter Followers Monitor es una aplicación gratuita y Open Source. Como su propio nombre indica te permitirá monitorizar los seguidores de cualquier cuenta de Twitter, llevando un histórico de cambios y siendo notificado cuando se produzcan. Puedes monitorizar varias cuentas a la vez y no tienen porque ser cuentas tuyas, ya que no es necesario saberse las claves. El proyecto está hecho con Visual Studio 2010 y .NET 4.0, y usando el lenguaje C#. No utiliza ningún módulo componente externo, así que c...
[Más]
Tags: Freeware
e7f6a1ee-ade6-43b6-be7a-2693ecdcc6e2|0|.0

Meneame.net es una Web recopiladora de enlaces en la que los usuarios publican enlaces que creen de interés, y el resto de los usuarios votan o critican en función de lo sus intereses. La teoría es que, de este modo, los enlaces más interesantes subirán hacia las primeras posiciones de su categoría en virtud de este proceso de "crowdsourcing". La práctica es que no siempre es así (prueba a posicionar un enlace técnico, por ejemplo). Pero no obstante la web es muy interesante para encontrar enlaces y noticias de interés general dentro de temáticas más o menos prosaicas. A cada voto que recibe una URL se le denomina "meneo".
El caso es que, al menos oficialmente, no existe ningún botón de información sobre cuántos "meneos" tiene una determinada URL, al estilo de los que tiene Facebook o Twitter. Los únicos desarrollos que integran este botón para poder poner dicha información en tu blog o web pertenecen a sitios de valoración social, estilo ShareIt y compañía, por lo que si quieres tene...
[Más]
Tags: ASP.NET, Desarrollo Web, Freeware
5e4b493a-0c09-4c0a-bdfc-b97a2d5a7248|0|.0

I'm a big fan of the "youtube of documents", Scribd. Our company has a page full of interesting technical documents there (in Spanish, sorry) and it's frequent that we need to add one of those documents embedded in a blog post or page.
So I decided to create a new extension for BlogEngine.net that will allow to use the already available embdedded codes that Scribd offers for WordPress users.
Installing the Scribd Viewer Extension for BlogEngine.net
Just download this ZIP here: ScribdViewer.zip (108KB), expand the contenst and copy the ScribdViewer.cs file to your BlogEngine.net /App_Code/Extensions folder. That's it.
Now go to the administration part of your blog and in the "Extensiones" tab make sure that the new "Scribd Viewer" extension is enabled. You can configure it by setting the width and height of the viewer (read more about it below).
Now you can start using the extension for embedding Scribd documents in your posts and pages (both types of content are supported).
...
[Más]
Tags: Freeware, BlogEngine.net
e4cf69c9-6015-49b6-a222-8f78f57f7891|0|.0

Hace ya más de 4 años, en diciembre de 2005, creé esta pequeña pero útil herramienta para programadores llamada CassiniAqui.
Se trata de una aplicación que, una vez registrada en el sistema, añade una nueva opción al menú contextual de cada carpeta que nos permite servir sus contenidos usando el servidor Web de desarrollo de Visual Studio:
Esto resulta muy útil a la hora de probar aplicaciones Web sin tener que abrir Visual Studio, para poder jugar con ellas de forma ligera en local.
El servidor de desarrollo que viene con cualquier versión de Visual Studio es una versión modificada del conocido servidor Web Open Source llamado Cassini, de ahí el nombre de la herramienta.
Novedades de esta versión
Esta versión de CassiniAqui lleva el número 4.0 para hacerlo coincidir con el de la plataforma .NET. Lo he escrito con Visual Studio 2010 y C#, pero lo he compilado con la versión 2.0 del framework, por lo que puede ser utilizado aunque tengamos instaladas versiones más antig...
[Más]
Tags: ASP.NET, Freeware
119cf62b-bcd5-47a4-baaa-d370fbc16234|0|.0

Ayer necesité hacer precisamente eso: que una pequeña ventana que estaba utilizando se quedase por encima de todas las demás para tenerla siempre a la vista. Y de repente me acordé que hace muuuuchos años había desarrollado un programa para hacer precisamente eso. Así que rebusqué en el baúl de los recuerdos y encontré esta joyita. ¡Qué recuerdos!
Se trata de un programa que hice nada más y nada menos que hace 12 años, en 1997, y que está escrito ¡en Visual Basic 3!. Me entran escalofríos sólo de recordarlo. De aquellas ya había por lo menos VB5, asi que seguramente lo hice con VB3 porque entonces casi todos los ordenadores con Windows 95 tenían las DLLs de tiempo de ejecución de VB3 incluidas, y era más "portable". Por fortuna tenía una versión compilada para usarlo, porque, si no, ni de broma me iba a poner a buscar una copia deVB3 para recompilarlo :-)
Lo alucinante es que funciona igual de bien en Windows 7 hoy en día. Eso es compatiblidad hacia atrás, jeje
El programa WindowUP
...
[Más]
Tags: Freeware
7f13cf0c-7b93-4aca-b75e-608ccb6bdcb4|0|.0

Hoy, coincidiendo con el evento ReMIX en Madrid, en el que Microsoft está regalando mi nuevo libro "Tecnologías ASP.NET 4.0 (saltando desde la versión 2.0)", hemos puesto a disposición de todo el mundo este mismo libro gratuitamente en formato electrónico.
Así que puedes leerlo completo on-line y, si te gusta, comprarlo en papel a la editorial. Ya tienes un botón directo de compra a la derecha de la página del libro. Tenemos DISTRIBUCIÓN EN TODO EL MUNDO, no sólo en España, así que no hay disculpa aunque estés en Alemania, jeje
El libro estará disponible en Scribd para su lectura por un tiempo limitado, así que aprovecha, leelo ahora y ¡díselo a tus amigos!
Este es el enlace al libro:
http://www.scribd.com/doc/20154009/Tecnologias-ASPNET-40-saltando-desde-la-version-20
Esta disponible desde hoy por la mañana, pero se lo hemos comunicado en privado antes que a nadie a nuestros fans de la página de Facebook de campusMVP. Es una de las muchas ventajas de ser fan en Facebook, así que ...
[Más]
Tags: ASP.NET, Freeware
a3850461-6d6a-41e4-ae66-232db7af8a1c|1|4.0

Hace unos meses hice una utilidad llamada FileEncodingConverter que permitía cambiar la codificaicón en masa de los archivos de una carpeta y sus subcarpetas. Toda la información aquí.
Esta utilidad sólo buscaba archivos de texto o HTM porque era loq ue me hacía falta a mi en ese momento. A raíz de varias peticiones que tuve, ahora he hecho unas modificaciones pequeñas para añadirle la capacidad de decidir qué archivos queremos procesar. Así, ahora hay un tercer parámetro opcional que te permite especificar una o varias plantillas de nombres de archivo a buscar. Si no le pones nada funciona igual que antes, pero puedes especificar, separados por comas, qué tipos de archivos quieres transformar. Por ejemplo:
FileEncodingConverter C:\MisArchivosDedatos ANSI *ES*.xml,*.txt,*.htm*
Esto transformará a codificación ANSI todos los archivos XML cuyo nombre contenga las letras 'ES', además de todos los de texto así como los HTM (tanto .htm como .html). Puedes usar los comodines que quieras...
[Más]
Tags: Freeware
e56b999e-b213-47ee-972f-e16d94062b7c|1|5.0

Estos días he estado trabajando unas cuantas horas de mi (poco) tiempo libre en una idea que tuve ya hace bastante tiempo. Se puede resumir con sólo una frase: crear una pequeña biblioteca JavaScript que, añadida a tu página Web (PHP, ASP, ASP.NET...) la dotará automáticamente de funcionalidad AJAX, sin que tengas que escribir ni una sola línea de código.
Pensé que iba a resultarme mucho más dificil, pero lo cierto es que ha sido bastante fácil de conseguir.
Ahora ya la puedo presentar para que el que quiera se descargue el resultado: AJAXInterceptor 0.5 Beta.
Sólo con añadir este pequeño módulo JavaScript al final de tus páginas consigues que los envíos de tus formularios se intercepten (de ahí el nombre), y en lugar de enviarse la petición al servidor de la manera normal, se hacen de manera asíncrona y en un modo suave estilo AJAX.
Dado que es una biblioteca de lado de cliente funcionará con cualquier tecnología de servidor: ASP.NET, PHP, JSP, Classic ASP... e incluso con archivo...
[Más]
Tags: AJAX, Freeware, JavaScript
dfa5ba60-ebc4-475a-82b4-f7acf4079718|0|.0

These last days I've been working a few hours of my spare time on a idea I had long time ago. It can be summed up in just one sentence: to write a small JavaScript library that added to your Web page (PHP, ASP, ASP.NET...) will enable it to be AJAX-enabled without you needing to write a single line of code.
I thought that it would be more difficult, but the fact is that it's been quite easy to achieve.
Now I can present it for you to freely download the result: AJAXInterceptor 0.5 Beta.
Just by adding this small JavaScript module to the end of your web pages, you get your form's submissions intercepted and, instead of sending request to the server in the usual way, they are done asynchronously and in an AJAX-style smooth way.
As long as it is a client-side library it will work with any server technology: ASP.NET, PHP, JSP, Classic ASP... and even with local HTM files. However I've only tested it against ASP.NET and ASP 3.0 applications (please, drop me a line if you test it with o...
[Más]
Tags: AJAX, Freeware
61db9e92-1494-4e91-8611-bddf4e443688|0|.0

Ayer tuve la necesidad de hacer uncambio de codificación masivo de archivos para un proyecto. El caso es que tenía varias decenas de archivos de texto y HTML distribuidos en varios niveles de carpetas. Éstos estaban codificados como UTF-8 y necesitaba disponer de los mismos con codificación ANSI. Dado que es un problema que se puede presentar a menudo en empresas como la nuestra que maneja muchos contenidos decidí escribir una utilidad que hicera conversiones entre diferentes tipos de coficación. Así que mientras veía un par de capítulos de CSI (no me pueden dejar de rodrgíguez, si ya lo digo yo) escribí esta pequeña utilidad que estoy seguro que a muchos les puede resultar de ayuda.
Se trata de FileEncodingConverter.exe. Es una aplicación de consola que toma como parámetros la ruta base que contiene nuestros archivos y, opcionalmente un tipo de codificación a la que queremos convertirlos. Acepta rutas relativas a la carpeta actual y rutas absolutas.
Los tipos de codificación soport...
[Más]
Tags: Freeware
7fe56e42-02cd-42be-9a7f-1a07fe594277|0|.0

El otro día me topé de casualidad con un post de Daniel Fisher que hablaba de una pequeña utilidad que había escrito para lanzar el servidor Web que viene con Visual Studio 2005 para cualquier carpeta. Su código lo había adaptado de otro hecho por Chris Fraizer.
El caso es que la he retocado un poco, la he "castellanizado" y he hecho que funcione bien el lanzamiento final de Internet Explorer, además de ofrecer un archivo de registro válido. El resultado lo puedes descargar desde aquí (11,8 KB), y el código fuente desde aquí (27,1 KB).
Descarga el primer archivo con el programa y descomprímelo en C:\Windows o análogo (en el raíz de tu sistema, vamos, aunque puede ser en cualquier carpeta que esté en el "path" del sistema). Haz doble clic sobre el archivo CassiniAqui.reg. A partir de este momento tienes una nueva opción en el menú contextual de las carpetas en el explorador de Windows: "Lanzar la web de esta carpeta"
Si utilizas esta opción se abrirá el servidor integrado que viene...
[Más]
Tags: Freeware, Programación
198b4bdb-4d12-4972-968d-d7580b717c50|0|.0

Poco a poco, sin prisa pero sin pausa, estoy metiendo aquí algunos de los archivos que tenía en mi anterior página, en la era pre-Blog.
Uno de los controles interesantes que tenía en la antigua JASoft.org era este: AniIcon.ocx.
Se trata de un control ActiveX escrito íntegramente en Visual Basic que permite utilizar iconos animados en los formularios. Puede ser útil para destacar ciertas cosas en la interfaz de usuario o como simple divertimento.
El código fuente está comentado por lo que es relativamente fácil de seguir. Es un buen ejemplo de cómo se manejan archivos RIFF, empleados también en otros formatos genéricos aparte de en iconos animados (como algunos archivos de sonido, gráficos,etc...)
Se puede descargar pulsando aquí.
¿Alguien se atreve a migrarlo a .NET y Windows Forms? Debería ser fácil escribirlo en VB.NET. Si alguien lo hace le agradeceré que tenga la deferencia de enviármelo ;-)
Tags: Freeware
58f3082a-35fe-4976-b13e-3d16dd00b270|0|.0

Una reminiscencia de mi etapa como ingeniero mecánico ;-)
Este software estaba en mi anterior página y, al crear este Blog desapareció. El caso es que estaba bastante demandado dado que lo usan en algunas universidades para práctica de tecnología mecánica, por lo que he decidido volver a ponerlo aquí en el apartado de Freeware.
Este software sirve para simular procesos teóricos de corte ortogonal (fresado, torno, cepillado, etc..). Tiene un interfaz gráfico muy intuitivo que permite variar de manera contínua las condiciones del corte, reflejándose automáticamente los cambios en los cálculos y la representación gráfica. Permite escoger la teoría de corte a utilizar, los parámetros fijos, unidades, etc.. y representa el diagrama del proceso descomponiendo todas las fuerzas y velocidades en sus componentes más importantes. Facilita más de 30 variables del corte y permite imprimir los resultados y/o exportarlos a Microsoft Excel (necesitas tener instalado Excel para esto).
Con la inst...
[Más]
Tags: Freeware
7ae07664-96fb-44b5-b7b2-07c735c2b33f|2|5.0

Como es bien sabido la clase DataSet de .NET (dentro del espacio de nombres System.Data), permite utilizar de manera sencilla y potente un pequeño gestor de datos en memoria, sin necesidad de haber obtenido por fuerza los datos a partir de un gestor de datos convencional. El objeto DataSet puede haber sido creado dinámicamente por nosotros o se puede haber generado para trabajar en memoria con tablas y relaciones obtenidos de una fuente de datos relacional, por ejemplo.
Un DataSet contiene, entre otras cosas, una colección de objetos DataTable que, como puede imaginar, son equivalentes conceptualmente a las tablas o relaciones en una base de datos relacional. No voy a entrar aquí a explicar todas las características de este tipo de objetos, pero sí me gustaría recordar que generan dos eventos con el fin de notificar de los cambios que sufren. Estos eventos son RowChanged y RowDeleted, y se lanzan cuando se cambia algún valor o cuando se elimina una fila de la tabla respectivamente.
...
[Más]
Tags: Freeware, Programación
71e214ee-cfe8-4d72-ba34-35d34edf91e7|0|.0

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]
Tags: Freeware
1688e87a-0c8f-4662-b94a-96f517251ec3|0|.0