JASoft.org

Migración de Outlook entre equipos

Migración de Outlook entre equipos
Bueno, obviamente esto viene del post en el que el otro día ocmentaba que estuve migrando mi equipo del trabajo desde XP a Vista... Hasta ahora siempre había migrado el Outlook "a las bravas", es decir, copiaba el archivo .pst y santas pascuas. Pero haciendo esto me perdía muchas cosas, como por ejemplo la configuración de las cuentas de correo o los correos frecuentes a los que les envío entre otras. Yo tengo más de 10 cuentas de correo así que no es ninguna tontería. Esta vez decidí hacerlo más "profesional". Primero veamos en dónde estan todos los archivos de Outlook en Windows XP. Están ubicados en dos carpetas fundamentalmente (si no los hemos cambiado): C:\Documents and Settings\[usuario]\Application Data\Microsoft\OutlookC:\Documents and Settings\[usuario]\Local Settings\Application Data\Microsoft\Outlook o análogas (pueden cambiar en castellano u otros idiomas, pero te será fácil enocntrarlas). Archivo de Outlook Extensión o nombre Carpeta por defecto ... [Más]

Habilitar auto-completar en controles de Windows Forms

Habilitar auto-completar en controles de Windows Forms
Se trata éste de un truco muy útil y  muy sencillo, si bien muchos programadores desconocen. En la versión 2.0 de la plataforma .NET algunos controles para interfaz de usuario con Windows Forms (en concreto los cuadros de texto y los combos, tanto los normales como los que van dentro de los ToolStrip), permiten mostrar a los usuarios sugerencias acerca de los datos que están introduciendo de una manera muy sencilla. Esta caraterística no estaba presente en la versión 1.x de la plataforma. Para ello basta con seleccionar el control en cuestión y ajustar sus propiedades AutoCompleteMode y AutoCompleteSource (ver figura lateral). La primera nos sirve para indicar de qué modo se hara el auto-rellenado. Puede ser simplemente una sugerencia desplegada por debajo (estilo navegador Web), que el texto se vaya autocompletando automáticamente dentro del control o ambas cosas. La propiedad AutoCompleteSource sirve para indicar de dónde se sacarán las sugerencias de rellenado automático. P... [Más]

Cómo personalizar la barra lateral de los diálogos de archivo y los comandos "Send To" en Windows Vista

Cómo personalizar la barra lateral de los diálogos de archivo y los comandos "Send To" en Windows Vista
Ya hace una temporada larga empecé con una serie de posts sobre Windows Vista que luego abandoné no sé muy bien porqué. He decidido que los iré retomando de vez en cuando intercalados con mis posts sobre programación porque son trucos sencillos pero que se agradecen mucho. Por ejemplo los dos de hoy... El primero de ellos tiene que ver con la personalización de la barra lateral de los diálogos comunes de archivos (ver figura de la izquierda). Ésta, por defecto, ofrece una serie de elementos bajo el epígrafe "Favoritos", pero generalmente no serán nuestros favoritos. Un "power-user" normalmente no guarda las cosas en el escritorio ni usa para nada la carpeta de Música o Imágenes, ¿verdad?. Así que lo mejor es cambiar esos enlaces enseguida. En XP ya había algo similar pero eran un número limitado de iconos (5 o 6, ahora no lo recuerdo) y para personalizarlos había que tocar el registro y los cambios no eran reconocidos, por ejemplo, por los diálogos comunes de Office que eran especia... [Más]

Migración a Windows Vista en un dominio AD con perfiles móviles: un infierno.

Migración a Windows Vista en un dominio AD con perfiles móviles: un infierno.
Llevo usando Windows Vista en mi portatil personal desde que salió internamente la versión definitiva (RTM) del sistema. Además llevo años probando las diversas alfas y betas (incluso esa primera alfa "pirata" que se liberó sin saber bien de donde a Internet hace ya muchos años, poco después de salir XP). El caso es que estoy muy contento con el sistema. Tiene algún detalle feo (por ejemplo que los inadecuados diálogos de copiado de archivos que le han metido dan la sensación de que tardan mucho más que antes), pero la verdad es que siempre me ha gustado mucho el sistema, incluso en las betas, e incluso a pesar del "peñazo" que supone el diálogo UAC que te pregunta si quieres seguir cada dos por tres. Bueno, el caso es que como estoy muy contento con él en mi portátil, el pasado miércoles aprovechando que era festivo en la comunidad en la que resido, decidí aprovechar que estaba de "Rodriguez" y migrar mi equipo de la oficina a Windows Vista. Supuse que sería coser y cantar. nada... [Más]

El evento Session_OnEnd de Global.asa no salta en ASP Clásico

El evento Session_OnEnd de Global.asa no salta en ASP Clásico
Resulta que, de repente, sin razón aparente, el evento Session_OnEnd que estaba declarado en el Global.asa de una de nuestras aplicaciones escritas en ASP clásico, dejó de funcionar. Este evento se usa para realizar una serie de operaciones de "limpieza" al terminar la sesión de un usuario, y son importantes para mantener la calidad de servicio de dicha aplicación. Tratando de investigar el tema y de depurarlo en caso de haber un error (que nunca había existido anteriormente) llegué al aconclusión de que, inexplicablemente, ese evento era el único que no saltaba jamás, pero no había motivo alguno para este comportamiento. ?????? Bueno, resulta que buscando en la Knowledge Base de Microsoft me enocntré con esto: FIX: The Session_OnEnd() event is not raised in ASP Web applications as expected after you install Windows Server 2003 with Service Pack 2 Es decir, es un bug reconocido por Microsoft y se deriva de la instalación del Service pack 2 de Windows Server 2003. Así que ya lo... [Más]

Cómo insertar valores aleatorios en una base de datos SQL Server

Cómo insertar valores aleatorios en una base de datos SQL Server
Esta parece fácil pero no lo es tanto. Imagínate que tienes que meter valores aleatorios dentro de un campo de una tabla para todos los registros de ésta. Por ejemplo, le vamos a asignar un número aleatorio como pin de acceso inicial a cada usuario de nuestra base de datos y éste debe estar entre 1 y 100.000 (Vale, el ejemplo es un poco chorrada, pero se capta la idea). Queremos actualizar los miles de registros de nuestra base de datos y asegurarnos de que cada uno recibe un valor aleatorio en el campo correspondiente. Lo primero que salta a la mente para intentar es esto: UPDATE Usuarios Set pin = Round(((100000) * Rand() + 1 Es decir, usamos la función RAND para obtener un valor aleatorio dentro del rango especificado. Parece correcto ¿no? Si lo ejecutamos nos llevaremos una sorpresa: todos los registros se quedan con el mismo valor. :-( Pero ¿no era aleatorio?. Sí. El problemilla es que RAND se evalúa sólo una vez para el proceso completo, y se inserta sólo un valor. No nos ... [Más]

"El doctor House debería ser innecesario" o "La informática contra el doctor House"

"El doctor House debería ser innecesario" o "La informática contra el doctor House"
He de confesar que soy un adicto a la serie televisiva del doctor House. Me mola que sea un genio descontrolado aunque a veces nos indigne a todos con sus salidas de tono. Y la serie engancha porque en el fondo se trata de un relato detectivesco, al fin y al cabo ¿qué más da que sea un asesino micro o macroscópico lo que perseguimos? ¿no?. Estoy deseando que empiece la cuarta temporada :-) A raíz de esta serie sin embargo me ha dado por pensar (que friki soy, jeje) en cómo hacemos uso de la medicina hoy en día y de cómo ésta deja de lado, al menos en lo que vemos de manera cotidiana, las ventajas que la informática podría aportarnos. Y es que si lo pensamos friamente ¿para qué deberíamos necesitar un Dr. House? No soy médico ni entiendo de medicina, pero lo que voy a decir aplicadlo si queréis a otos ámbitos y creo que valdría igual. Si dejamos de lado esos destellos de genialidad que marcan la diferencia en todas las disciplinas, en el 99% de los casos no deberíamos necesitar ning... [Más]

Obtener (bien) la lista de temas disponibles para una aplicación

Obtener (bien) la lista de temas disponibles para una aplicación
Los Temas son una estupenda característica que se añadió en ASP.NET 2.o y que permite separar el aspecto de nuestra aplicación de la disposición de los elementos de las páginas ASPX. De este modo puedes cambiar todo el aspecto estético de la aplicación completa o de una parte de ella con sólo cambiar un ajuste en web.config correspondiente. Los temas son junto con las (mal traducidas) páginas principales (Master Pages) un gran paso adelante para independizar el diseño de la interfaz del desarrollo del código. El caso es que aprovechando estas características mucha gente ha implementado portales en los que se le deja elegir al usuario qué tema quiere aplicar a la aplicación, de modo que cada uno elige la combinación de colores, etc... que más le guste. Combinándolo con la API de perfiles (Profile) se consigue almacenar la preferencia y así mejorar la experiencia del usuario. El cambio dinámico de tema, al igual que el de Master Pages, se suele hacer en el evento Pre_Init de las páginas... [Más]

Nuevos algoritmos criptográficos en "Orcas"

Nuevos algoritmos criptográficos en "Orcas"
Desde siempre soy un gran aficionado a la criptografía, y en mi opinión Whitfield Diffie se merece el premio Nobel de matemáticas por su contribución a la humanidad :-) El caso es que en .NET hay un gran soporte criptográfico, tanto en código manejado, como haciendo uso de la API de criptografía del sistema operativo. Sobre todo en .NET 2.0, porque en .NET 1.x había bastantes carencias en cuanto al manejo de algoritmos de clave pública basados en certificados (lo sufrí enun proyecto a base de bien). En .NET 3.5, o la versión de la plataforma que saldrá conorcas dentro de unos meses, el soporte de criptografía se ha mejorado mucho. En concreto se han centrado en ofrecer todos los algoritmos conocidos como Suite B, de la NSA. Esta suite contempla una serie de algoritmos avanzados de seguridad exigidos por el Estado USA e implica ofrecer soporte para AES, SHA-256 y SHA-384 (ya los ofrecía) y una serie de algoritmos criptográficos de curvas elípticas que se han tenido que incorporar (E... [Más]

Ejecutar código con todos los permisos desde un recurso de red

Ejecutar código con todos los permisos desde un recurso de red
Esta pregunta ha surgido en uno de los cursos de campusMVP que imparto y me ha parecido interesante comentarla aquí. Resulta que un alumno tenía un ejecutable que, entre otras cosas, necesitaba escribir una serie de registros en un inofensivo archivo de texto. Al ejecutar la aplicación en local todo iba perfectamente, pero al hacerlo cuando el .exe estaba en una unidad de red compartida o en una carpeta remota el programa, lógicamente, le rompía con un error de falta de permisos. El motivo de que no funcione el código en estas circunstancias es que, al ejecutarlo desde la Red, el ejecutable cae bajo el conjunto de permisos "LocalIntranet" que es mucho más recortado que el conjunto normal que se aplica a los ejecutables .NET y que se llama "FullTrust". Lo primero que se debería hacer es declarar los permisos que el código necesita para que al menos el runtime pueda saber qué necesita esos permisos antes de "petar", nada más intentar ejecutarla. De este modo si se ejeucta sin los per... [Más]

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