JASoft.org

"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]

Expression Web Designer y la codificación UTF-8

Expression Web Designer y la codificación UTF-8
Hay una cosa de Expression Web Designer que me molesta un montón, y es que por defecto guarda todas las páginas HTML con codificación UTF-8. Esto se me pega con otros programas que uso y además puede provocar problemas en algunos programas ya que esta codificación mete una marca de ordenación de bytes (BOM o Byte Order Mark) para distinguir la plataforma en la que se generaron. Es por este motivo que a veces al visualizar ciertas páginas, incluso páginas de servidor, éstas aparecen con unos caracteres extraños delante () muy molestos. En concreto en e-mail marketing que es fundamentalmente para lo que lo utilizo yo da muchos problemas. Por defecto Expression Web genera los archivos HTML así. Cuando editamos una página y no está especificada explícitamente en la página la codificación a utilizar siempre las guarda como UTF-8. Podemos cambiar este comportamiento por defecto si vamos a las "Herramientas·Opciones del editor" y lo ajustamos así: El problemilla es que cuando creamos p... [Más]

Cómo colocar un icono para indicar la ordenación en la cabecera de un GridView

Cómo colocar un icono para indicar la ordenación en la cabecera de un GridView
Esta pregunta surge muchas veces en cursos y conversaciones técnicas varias. La cosa es la siguiente: tengo una rejilla (GridView) de ASP.NEt 2.0 en un formulario ASPX, y he activado las opciones de ordenar sus columnas, de modo que cuando pulso sobre una cabecera logro de manera automática la ordenación por el campo correspondiente. Es estupendo pues no tengo ni que escribir código para lograrlo, al contrario de lo que pasaba al usar un DataGrid en ASP.NET 1.x. Pero... ¿Qué pasa si quiero evidenciar de un modo más claro cuál es el orden concreto de mi rejilla? Lo típico es colocar un iconito con una flecha hacia arriba o hacia abajo en la cabecera adecuada para indicarlo, algo así: (Fíjate en el iconito al lado de "Nombre" que indica el orden inverso) Pero ¿cómo lo consigo? Hay que responder adecuadamente al evento RowCreated de la rejilla. Antes de nada asegúrate de tener un par de iconos para las flechas de ordenación. En mi caso los he colocado en la carpeta "Imgs" de la raí... [Más]

Otro motivo más por el que molan mucho estos tíos de Google: GMail Theater

Otro motivo más por el que molan mucho estos tíos de Google: GMail Theater
Lo reconozco: es una debilidad la que tengo por Google. Y más desde que estuve en sus instalaciones de visita  a principios de año. Yo mismo lo reconocía: "Si no fuese Google esto serían unas oficinas normales. Chulas, pero normales". Pero es que el ambiente "cool" que se respira, esas salas de juegos, esos "peacho" monitores giratorios que les ponen, la comida, los cuadros en los pasillos... es tan guay :-)) Y no me digáis que el marketing que hacen, aparentemente ingénuo, no mola un montón. El último ejemplo: GMAil Theater. Bue-ní-si-mo. Y no parece que se hayan gastado mucha pasta: Si a alguien le quedaban dudas de usar GMail (a mi no, desde luego, he sido usuario acérrimo desde que se vendían las primeras invitaciones en eBay por una pasta), este tipo de cosas seguro que las despeja :-) Y es que, oye, aparte de Microsoft también hay otra gente que hace las cosas bien generalmente ;-) (antes de que alguno me acribille a comentarios chorras, nótese el tono irónico... [Más]

Errores al recompilar aplicaciones ASP.NET 2.0 y cómo solucionarlos

Errores al recompilar aplicaciones ASP.NET 2.0 y cómo solucionarlos
Una cosa típica que pasa en VS2005 desde que salió es que estamos trabajando en una aplicación, cambiamos algo en el código, la lanzamos para probar, paramos, y así sucesivamente y, de repente, en un momento determinado y sin venir a cuento, nos aparece un mensaje de error y nos dice que no se ha podido compilar porque un archivo estaba bloqueado o algo así (he intentadno reproducir una captura, pero justo hoy no está por la labor y me funciona perfectamente). El caso es que suelen ser mensajes estilo: Could not load file or assembly 'XXXXXXX' or one of its dependencies. The system cannot find the file specified. aunque hay algunos más. Este error se produce porque hay algunos archivos resultantes de la anterior compilación que quedan bloqueados y el entorno no puede sobrescribirlos. Hay varias soluciones: 1.- Compilar entero el proyecto otra vez desde el menú Build·Build all. Es lo que suelo hacer yo.2.- Borrar los archivos temporales de ASP.NET. Es fácil de hacer ocn un bat... [Más]

Creación de tablas de proveedores ASP.NET desde línea de comandos

Creación de tablas de proveedores ASP.NET desde línea de comandos
Como muchos programadores de ASP.NET saben (y también se ha comentado aquí en otras ocasiones) en la carpeta "C:\Windows\Microsoft .NET\Framework\v2.0.xxxx" existe un ejecutable, aspnet_regsql.exe, que permite crear la estructura de tablas necesarias por ASP.NEt para almacenar la información de sus proveedores en SQL Server. Sirve tanto para SQL Server 2005 como para versiones más antiguas, como la 2000. La estructura de tablas creada sirve para almacenar todo tipo de información implementada mediante proveedores de tipo "SQLProvider" que vienen con ASP.NET: autenticación y autorización (usuarios y roles), perfiles, Webparts, sesiones, eventos, configuración y mapas de sitios. Podemos lanzar ese ejecutable para obtener un sencillo asistente gráfico que nos permitirá crear esta estructura de tablas y procedimientos almacenados en cualquier base de datos. Pero además podemos ejecutar aspnet_regsql.exe desde la línea de comandos para crear esta estructura automáticamente duran... [Más]

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

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.