JASoft.org

IIS frente a Apache: ¿Cuál es más seguro?

IIS frente a Apache: ¿Cuál es más seguro?
La sabiduría popular suele ser útil para muchas cosas. Sólo hay que darse una vuelta por el rico refranero español para obtener una gran cantidad de sabios consejos grátis. No obstante el saber popular muchas veces que se confunde con lo que son simplemente mitos y leyendas urbanos, que están alejados de la realidad. En el mundo de la informática existen multitud de estas leyendas urbanas. Algunas están sustentadas en hechos "históricos" acaecidos al principio de los tiempos que sin embargo perduran hasta nuestros días como si las cosas permaneciesen inmutables. Por ejemplo, hay quien sigue comparando Windows 98 con Linux para decir que éste último es más estable, etc... (claro que no dicen nada del nefasto "98" en cuestión, sólo de "Windows"), o SQL Server 6.5 con Oracle, etc... Una de estas posibles leyendas urbanas es la de que Apache es mucho más seguro que Internet Information Server. Todo esto viene a raíz de un artículo aparecido en Computer World el pasado día 7, en el que R... [Más]

Compatibilidad entre versiones de SQL Server - problema la ordenación ORDER BY y los prefijos

Compatibilidad entre versiones de SQL Server - problema la ordenación ORDER BY y los prefijos
Bueno, he estado completamente "missing" durante 5 semanas. No es que me haya ido de vacacione (ojalá) sino que simplemente he tenido demasiado trabajo :-( Retomo mi actividad blogera habitual con una cosa curiosa que me ha pasado recientemente y que estoy seguro de que a más de uno le podrá resultar útil. Resulta que recientemente migramos una base de datos hecha con SQL Server 2000 a SQL Server 2005. Lo primero que hice una vez adjuntada al nuevo servidor fue poner el modo de compatibilidad con SQL Server 2005, es decir, hacer que se comportara nativamente como si siempre hubiera estado en esta última versión del SGBDR: sp_dbcmptlevel 'MiBaseDatos', '90' Este comando T-SQL hace que la BD indicada se comporte con el nivel de compatibilidad indicado, en este caso la versión 9.0 de SQL Server, o sea, la 2005. El caso es que todo parecía ir estupendamente, pero una de las consultas empezó a fallar. Y se tratata de una consulta muy sencilla. No la voy aponer aquí porque forma parte... [Más]

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]

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