<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="es-es" xmlns="http://www.w3.org/2005/Atom">
  <title>JASoft.org</title>
  <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/" />
  <link rel="self" href="http://www.jasoft.org/blog/SyndicationService.asmx/GetAtom" />
  <logo>http://www.jasoft.org/JASoft.gif</logo>
  <icon>favicon.ico</icon>
  <updated>2010-07-19T10:32:07.9543750+02:00</updated>
  <author>
    <name>José Manuel Alarcón Aguín</name>
  </author>
  <subtitle>El blog de José Manuel Alarcón Aguín. Programación .NET y mucho más...</subtitle>
  <id>http://www.jasoft.org/blog/</id>
  <generator uri="http://www.dasblog.net" version="1.9.7174.0">DasBlog</generator>
  <entry>
    <title>Si programas para ganarte la vida, este libro te interesará seguro...</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,6d5bd864-832a-44d8-ae41-2ab7661e9153.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,6d5bd864-832a-44d8-ae41-2ab7661e9153.aspx</id>
    <published>2010-07-19T10:14:34.7356250+02:00</published>
    <updated>2010-07-19T10:32:07.9543750+02:00</updated>
    <category term="Noticias Programaci&amp;#243;n" label="Noticias Programaci&amp;#243;n" scheme="http://www.jasoft.org/blog/CategoryView,category,Noticias%2BProgramaci%c3%b3n.aspx" />
    <content type="html">&lt;p align=justify&gt;
&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=6d5bd864-832a-44d8-ae41-2ab7661e9153&amp;amp;url=http%3a%2f%2fshop.campusmvp.com%2fProduct-.NET-Windows-Development---Everyday-Tips%2c-Tricks-Optimization_93.aspx"" target=_blank&gt;&lt;img border=0 hspace=10 alt=".NET Windows Development - Everyday tips and tricks " align=right src="http://www.campusmvp.com/CampusMVP/img/libros/grandes/net-windows-development.jpg"&gt;&lt;/a&gt;Hoy
en Krasis Press hemos lanzado nuestro nuevo libro &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=6d5bd864-832a-44d8-ae41-2ab7661e9153&amp;amp;url=http%3a%2f%2fshop.campusmvp.com%2fProduct-.NET-Windows-Development---Everyday-Tips%2c-Tricks-Optimization_93.aspx"" target=_blank&gt;"&lt;span id=ctl00_ContentPlaceHolder1_lblProductName&gt;.NET
Windows Development - Everyday Tips, Tricks &amp;amp; Optimization&lt;/span&gt;"&lt;/a&gt; de &lt;strong&gt;Alberto
Población&lt;/strong&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Se trata de un libro escrito en inglés cuyo prólogo recomendándolo lo ha escrito la
mismísima &lt;strong&gt;Lisa Feigenbaum&lt;/strong&gt;, respondable de producto&amp;nbsp;de Visual
Studio de Microsoft en Redmond.
&lt;/p&gt;
&lt;p align=justify&gt;
Desde hoy está disponible ya para compra España y en las próximas semanas estará a
la venta en &lt;strong&gt;Amazon&lt;/strong&gt;, &lt;strong&gt;Barnes&amp;amp;Noble&lt;/strong&gt; y en muchas
otras librerías on-line de todo el mundo, así como en el circuito de librerías de
EEUU y UK.
&lt;/p&gt;
&lt;p align=justify&gt;
Alberto es un experimentadísimo desarrollador y formador que desde hace muchos años
desarrolla y consulta para empresas de diversos países.
&lt;/p&gt;
&lt;p align=justify&gt;
La experiencia del autor a la hora de hacer consultoría para equipos de desarrolladores
que crean aplicaciones de negocio le ha llevado a un interesante descubrimiento: aunque
la mayoría de los desarrolladores de este tipo de aplicaciones son muy buenos escribiendo
formularios de datos, manipulación de los mismos e informes, sin embargo no saben
sacar partido a muchos subconjuntos de la plataforma .NET que les proporcionarían
grandes ventajas.
&lt;/p&gt;
&lt;p align=justify&gt;
De vez en cuando se necesita alguna característica diferente en los programas. Puede
ser necesario visualizar un gráfico personalizado como un organigrama, o quizás generar
un informe personalizado que no se puede generar con el motor de informes estándar.
O a lo mejor el programa se puede beneficiar de sacar partido a algunas de las nuevas
características de Windows 7. O el código utilizado para persistir objetos complejos
se puede hacer más sencillo gracias a la serialización...
&lt;/p&gt;
&lt;p align=justify&gt;
En este libro se presentan diversas técnicas que pueden ser útiles para llevar a cabo
tareas que no serán familiares para el lector, pero que pueden ser muy apropiadas
a la hora de mejorar las aplicaciones y darles un toque de calidad.&lt;br&gt;
&amp;nbsp;&lt;br&gt;
Algunas de las materias cubiertas por el libro son:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p&gt;
· Técnicas especiales de acceso a datos 
&lt;br&gt;
· Nuevas características de UI de Windows 7&lt;br&gt;
· Uso de gráficos, serialización y reflexión&lt;br&gt;
· Técnicas varias que deberían ser muy conocidas, pero que no lo son.&lt;br&gt;
· Trucos para crear aplicaciones Windows Forms
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
La mayor parte de los trucos y técnicas explicados funcionarán con todas las versiones
de Visual Studio, y si se necesita alguna versión determinada se indica siempre. Unos
cuantos ejemplos muy específicos son nuevos para Visual Studio 2010 en exclusiva.
&lt;/p&gt;
&lt;p align=justify&gt;
En definitiva: si te ganas la vida escribiendo aplicaciones de negocio con .NET es
un libro que te encantará tener en tu mesa :-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=6d5bd864-832a-44d8-ae41-2ab7661e9153" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>Cómo extraer contenidos desde un archivo .MSI de instalación</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,9f3fb81c-c9ae-49bf-a22f-2961b1aaa088.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,9f3fb81c-c9ae-49bf-a22f-2961b1aaa088.aspx</id>
    <published>2010-07-16T14:13:14.2200000+02:00</published>
    <updated>2010-07-16T14:52:33.1575000+02:00</updated>
    <category term="Trucos y consejos gen&amp;#233;ricos" label="Trucos y consejos gen&amp;#233;ricos" scheme="http://www.jasoft.org/blog/CategoryView,category,Trucos%2By%2Bconsejos%2Bgen%c3%a9ricos.aspx" />
    <content type="html">&lt;p&gt;
Hoy uno rápido...
&lt;/p&gt;
&lt;p&gt;
Muchas veces tenemos que descargarnos archivos de Windows Installer, con extensión
.msi, que contienen las aplicaciones que deseamos instalar. Pero si sabemos que las
aplicaciones contenidas en su intereior no necesitan instalación, sino que pueden
ser utilizadas directamente ¿para qué vamos a instalar usando el .msi?
&lt;/p&gt;
&lt;p&gt;
Es más, a veces Microsoft se empeña en meter en este tipo de archivos de instalación
cosas que realmente no necesitan ser instaladas en absoluto. Por ejemplo, archivos
de tipo .chm con documentación (me ha ocurrido en diversas ocasiones), o ejecutables
escritos en C++ sin ningún tipo de dependencia, o los ejemplos de MSDN Magazine sin
ir más lejos.
&lt;/p&gt;
&lt;p&gt;
A mi me resulta muy útil poder extraer de dentro del MSI los archivos sin necesidad
de instalarlos y sin que quede registrada en el sistema la instalación. Para ello
podemos usar el propio Windows Installer desde la línea de comandos.
&lt;/p&gt;
&lt;p&gt;
Lo que debemos hacer es abrir la línea de comandos &lt;strong&gt;como administradores&lt;/strong&gt;:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/CMDComoAdmin.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
y una vez allí escribimos:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p&gt;
&lt;font face="Courier New"&gt;&lt;strong&gt;msiexec /a&amp;nbsp;"Ruta archivo .msi"&amp;nbsp;/qb targetdir="Ruta
a una carpeta donde extraer"&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
¡Listo! Encontrarás todos los contenidos expandidos y ordenados dentro de la carpeta
de destino.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=9f3fb81c-c9ae-49bf-a22f-2961b1aaa088" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>Cómo suplantar usuarios de tu aplicación para soporte</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,165d94f3-c399-4257-a0d7-ae150d746cd8.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,165d94f3-c399-4257-a0d7-ae150d746cd8.aspx</id>
    <published>2010-07-11T11:44:48.4842500+02:00</published>
    <updated>2010-07-11T11:52:08.5467500+02:00</updated>
    <category term="ASP.NET" label="ASP.NET" scheme="http://www.jasoft.org/blog/CategoryView,category,ASP.NET.aspx" />
    <category term="Desarrollo Web" label="Desarrollo Web" scheme="http://www.jasoft.org/blog/CategoryView,category,Desarrollo%2BWeb.aspx" />
    <category term="Seguridad" label="Seguridad" scheme="http://www.jasoft.org/blog/CategoryView,category,Seguridad.aspx" />
    <content type="html">&lt;p align=justify&gt;
Esta es una cuestión bastante habitual y es que es muy útil, siendo administrador
de una aplicación, poder entrar como cualquier otro usuario para ver lo mismo que
éste ve y poder hacer cosas en su nombre. Sobre todo a la hora de dar soporte técnico,
poder atender mejor a los usuarios, ayudarles o detectar posibles problemas en sus
cuentas.
&lt;/p&gt;
&lt;p align=justify&gt;
La idea es la de &lt;strong&gt;poder entrar haciéndonos pasar por otros usuarios&lt;/strong&gt;,
como si fuésemos ellos, &lt;strong&gt;pero sin conocer sus credenciales&lt;/strong&gt;. El otro
día un alumno de mi &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=165d94f3-c399-4257-a0d7-ae150d746cd8&amp;amp;url=http%3a%2f%2fshop.campusmvp.com%2fProduct-Desarrollo-de-aplicaciones-web-con-ASP.NET-3.5-y-Visual-Studio-2008_8.aspx"" target=_blank&gt;curso
de Desarrollo Web con ASP.NET&lt;/a&gt; me preguntó&amp;nbsp; precisamente esto, por lo que
me he decidido a grabar un vídeo práctico explicando como hacerlo.
&lt;/p&gt;
&lt;p align=justify&gt;
Como verás es muy fácil, pero interesante. Dejo el vídeo a continuación y te recomiendo
que, antes, te leas este post que escribí hace tiempo sobre &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=165d94f3-c399-4257-a0d7-ae150d746cd8&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fPermaLink%2cguid%2ce7174bfd-93d2-47f8-8a14-9c4db2cffd63.aspx"&gt;el
funcionamiento de las cookies de autenticación&lt;/a&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
¡Espero que te resulte útil!
&lt;/p&gt;
&lt;p align=center&gt;
&lt;object width=800 height=600&gt;
&lt;param name="allowfullscreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=13230781&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00adef&amp;amp;fullscreen=1"&gt;
&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=13230781&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00adef&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="800" height="600"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Nota: Si el vídeo no se ve vete directamente al original &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=165d94f3-c399-4257-a0d7-ae150d746cd8&amp;amp;url=http%3a%2f%2fwww.vimeo.com%2f13230781"" target=_blank&gt;aquí&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=165d94f3-c399-4257-a0d7-ae150d746cd8" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>WebMatrix: herramienta ideal para los que aún están en ASP 3.0 clásico</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,8c770433-a8e6-4ded-af56-4ecda0d03fbe.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,8c770433-a8e6-4ded-af56-4ecda0d03fbe.aspx</id>
    <published>2010-07-09T10:44:54.1560000+02:00</published>
    <updated>2010-07-09T11:03:13.2811250+02:00</updated>
    <category term="Art&amp;#237;culos" label="Art&amp;#237;culos" scheme="http://www.jasoft.org/blog/CategoryView,category,Art%c3%adculos.aspx" />
    <category term="Desarrollo Web" label="Desarrollo Web" scheme="http://www.jasoft.org/blog/CategoryView,category,Desarrollo%2BWeb.aspx" />
    <content type="html">&lt;p align=justify&gt;
Estos días, salvo que hayas estado debajo de una piedra encerrado, te habrás hartado
de oir hablar de &lt;strong&gt;WebMatrix&lt;/strong&gt;,&amp;nbsp;desde que lo presentó Scott Guthrie
hace nada.
&lt;/p&gt;
&lt;p align=justify&gt;
He estado probando Webmatrix con unas semanas de antelación a ese anuncio gracias
a estar en el grupo de "Insiders" de ASP.NET en Microsoft. Mi primera reacción cuando
lo vi fue: &lt;em&gt;"Dioss! que porquería: esto va a crear muchos bodrios por ahí"&lt;/em&gt;.
Y la verdad es que si eres un programador experimentado con ASP.NET WebForms o con
ASP.NET MVC, Webmatrix y su nueva sintaxis Razor no creo que te aporten gran cosa
o que te vayan a interesar de entrada. Pero luego realmente te das cuenta de lo interesante
que es una herramienta como esta para otro perfil de programadores: &lt;strong&gt;aquellos
que se "han quedado" en ASP 3.0 clásico &lt;/strong&gt;o en PHP, JSP, etc... y &lt;strong&gt;que
quieren saltar a desarrollar con .NET&lt;/strong&gt;. En ese caso WebMatrix &lt;strong&gt;es un
producto genial&lt;/strong&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Es más: dado que &lt;strong&gt;viene con multitud de aplicaciones Open Source&lt;/strong&gt; ya
listas para usar (desde gestores de contenidos o foros hasta cosas más complicadas,
hay de todo) y que es muy fácil probarlas, retocarlas o ampliarlas con páginas propias
usando el nuevo motor, &lt;strong&gt;abre la puerta a multitud de empresas pequeñas que
desarrollan aplicaciones Web a medida&lt;/strong&gt; para sus clientes y que lo que realmente &lt;strong&gt;les
interesa es aprovechar software ya hecho&lt;/strong&gt;, simplemente adaptándolo o &lt;strong&gt;retocándolo
un poco&lt;/strong&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Además WebMatrix presenta por primera vez &lt;strong&gt;IIS Express&lt;/strong&gt; y &lt;strong&gt;SQL
Server Compact&lt;/strong&gt;, dos herramientas que TODOS los programadores Web vamos a
usar mucho en los próximos meses.
&lt;/p&gt;
&lt;p align=justify&gt;
Tenía pensado escribir un buen artículo sobre la herramienta, pero el día a día me
lo ha impedido, y además nuestro tutor y amigo José María Aguilar se nos ha adelantado
a todos publicando un excelente articulo que da un buen repaso a WebMatrix y todas
sus herramientas para que sepas por donde estás pisando. &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=8c770433-a8e6-4ded-af56-4ecda0d03fbe&amp;amp;url=http%3a%2f%2fwww.scribd.com%2fdoc%2f34098155%2fAnalizando-el-entorno-de-WebMatrix"" target=_blank&gt;Lo
hemos colgado en Scribd&lt;/a&gt;, así que puedes leerlo, imprimirlo y descargarlo desde
allí.
&lt;/p&gt;
&lt;p align=justify&gt;
¡¡Esperamos que te guste!!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=8c770433-a8e6-4ded-af56-4ecda0d03fbe" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>Cómo forzar la configuración correcta de ASP.NET en un servidor</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,50ed5c49-5ce7-4d17-a127-7e7f46a09d75.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,50ed5c49-5ce7-4d17-a127-7e7f46a09d75.aspx</id>
    <published>2010-07-03T13:26:03.8790000+02:00</published>
    <updated>2010-07-03T13:40:09.4416250+02:00</updated>
    <category term="ASP.NET" label="ASP.NET" scheme="http://www.jasoft.org/blog/CategoryView,category,ASP.NET.aspx" />
    <category term="Trucos y consejos gen&amp;#233;ricos" label="Trucos y consejos gen&amp;#233;ricos" scheme="http://www.jasoft.org/blog/CategoryView,category,Trucos%2By%2Bconsejos%2Bgen%c3%a9ricos.aspx" />
    <content type="html">&lt;p align=justify&gt;
Existen una serie de ajustes en aplicaciones Web que deberíamos cuidar especialmente
cuando las despleguemos en un servidor en producción. Se trata de características
que, de estar mal establecidas en un servidor abierto a cualquiera a través de Internet, &lt;strong&gt;pueden
suponer un problema de seguridad o mermar el rendimiento de una aplicación&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p align=justify&gt;
En este artículo vamos a estudiar dos de estos ajustes críticos, lo que suelen hacer
mal los programadores con ellos y cómo podemos forzar su correcto uso en servidores
de producción.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Depuración&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Cuando estamos desarrollando una aplicación Web con ASP.NET (tanto Web Forms como
MVC) establecemos una serie de configuraciones que nos facilitan la depuración de
las mismas: &lt;strong&gt;mensajes de error detallados, depuración paso a paso, trazas del
código, etc…&lt;/strong&gt; 
&lt;/p&gt;
&lt;p align=justify&gt;
Existe &lt;strong&gt;un ajuste en la configuración&lt;/strong&gt; de la aplicación Web (archivo &lt;em&gt;web.config&lt;/em&gt;)
que controla de manera global el estado de depuración y, por tanto, todas estas características:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p align=justify&gt;
&lt;em&gt;&lt;font face="Courier New"&gt;&amp;lt;compilation debug=”true”/&amp;gt;&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
Es más, &lt;strong&gt;cuando lanzamos por primera vez una aplicación&lt;/strong&gt; Web desde
Visual Studio pulsando F5, se nos muestra una ventana de confirmación para &lt;strong&gt;establecer
de manera automática este ajuste &lt;/strong&gt;y que funcionen todas las características
de depuración:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/WebConfigDebugDlg.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Al aceptar la opción por defecto se establece este ajuste automáticamente por nosotros:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/WebConfigDebug.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Aunque está muy bien mientras desarrollamos, se trata de algo &lt;strong&gt;inaceptable
en un servidor en producción&lt;/strong&gt;, una vez que la aplicación está terminada y
puesta a funcionar en su ubicación definitiva.
&lt;/p&gt;
&lt;p align=justify&gt;
El principal motivo para desaconsejar el ajuste &lt;em&gt;debug=true&lt;/em&gt; en producción
es que obtendremos &lt;strong&gt;menos rendimiento en la aplicación&lt;/strong&gt;, ya que el
código de depuración generado es menos eficiente.
&lt;/p&gt;
&lt;p align=justify&gt;
Es muy habitual que los desarrolladores se olviden de desactivar la depuración en
el web.config antes de subir la aplicación al servidor.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Detalles de los errores &lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Otro ajuste que es frecuente encontrarse mal establecido es el relativo a los &lt;strong&gt;mensajes
detallados de error&lt;/strong&gt;. Si colocamos el ajuste:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p align=justify&gt;
&lt;em&gt;&lt;font face="Courier New"&gt;&amp;lt;customErrors mode="On"&amp;gt; &lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
en la configuración, siempre que se produzca un error no controlado se mostrarán los
detalles a través de la típica &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=50ed5c49-5ce7-4d17-a127-7e7f46a09d75&amp;amp;url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fScreens_of_death"" target=_blank&gt;“página
amarilla de la muerte”&lt;/a&gt; (YSOD), que es como se conoce a las habituales páginas
de error de ASP.NET.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;JAMÁS debemos dejar que nuestras aplicaciones muestren los detalles de los
errores a los usuarios&lt;/strong&gt;. Aparte de denotar dejadez por parte de los programadores
y falta de calidad de las aplicaciones,&amp;nbsp; a los usuarios tampoco les van a decir
nada. Pero es que además mostrar esa información detallada de los errores &lt;strong&gt;revela
multitud de información&lt;/strong&gt; sobre cómo están hechas las aplicaciones e incluso,
en casos extremos de chapuza, pueden revelar &lt;strong&gt;claves, estructuras de directorios,
estructuras de bases de datos, etc…&lt;/strong&gt; Esto proporciona información importante
a posibles asaltantes de nuestro servidor, que pueden usarla para atacar nuestra aplicación.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Sin rodeos: mostrar detalles de los errores es una de las peores prácticas
de seguridad universalmente reconocidas.&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Una vez más, suele ser habitual que los desarrolladores suban aplicaciones a producción
con este ajuste establecido.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;¿Cómo podemos evitar estas malas prácticas?&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Si somos responsables de algún servidor Web en producción sería muy conveniente que
pudiésemos &lt;strong&gt;forzar de algún modo que los programadores cumplieran las buenas
prácticas&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p align=justify&gt;
Esto es lo que podemos conseguir usando un &lt;strong&gt;ajuste poco conocido&lt;/strong&gt;: &lt;strong&gt;&amp;lt;deployment
retail&amp;gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Este ajuste sólo se puede indicar en la &lt;strong&gt;configuración global del servidor&lt;/strong&gt;,
es decir, en el archivo &lt;strong&gt;machine.config&lt;/strong&gt; ubicado en &lt;em&gt;C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config&lt;/em&gt; o
similar (vale también para la versión 2.0 o superior de .NET).
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/MachineConfig.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Si abrimos este archivo y buscamos la sección “configuration•system.web” podemos establecer
dicho atributo a true así:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p align=justify&gt;
&lt;em&gt;&lt;font face="Courier New"&gt;&amp;lt;configuration&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deployment retail=”true”/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;br&gt;
&amp;lt;/configuration&amp;gt;&lt;/font&gt;&lt;/em&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
Al hacerlo, da exactamente igual que el programador se haya olvidado de quitar el
debug=true, las trazas o las páginas de error detalladas, ya que &lt;strong&gt;este ajuste
prevalece sobre los locales de nuestra aplicación y deshabilita todas estas funciones&lt;/strong&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Además, si vemos su definición en el mismo archivo machine.config, vemos que tiene
establecido el atributo AllowDefinition=”MachineOnly”:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/MachiConfigDeplyment.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=50ed5c49-5ce7-4d17-a127-7e7f46a09d75&amp;amp;url=http%3a%2f%2fmsdn.microsoft.com%2fes-es%2flibrary%2fms228298.aspx"" target=_blank&gt;Esto
significa&lt;/a&gt; que no podrá ser sobrescrito por configuraciones en niveles inferiores,
es decir, que aunque algún programador intentase saltárselo poniendo lo mismo (pero
a false) en el web.config, recibiría un error indicándole que no se puede sobrescribir
e impediría que la aplicación funcionase.
&lt;/p&gt;
&lt;p align=justify&gt;
Por todo ello, este poco conocido pero importante ajuste &lt;strong&gt;es algo que todos
deberíamos asegurarnos de utilizar en los servidores que tengamos en producción&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p align=justify&gt;
¡Espero que te resulte útil!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=50ed5c49-5ce7-4d17-a127-7e7f46a09d75" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>Cambiando los límites de las URLs en ASP.NET 4.0</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,4c0c2b08-a902-4094-8ea9-8619e1b3edfc.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,4c0c2b08-a902-4094-8ea9-8619e1b3edfc.aspx</id>
    <published>2010-06-26T21:10:21.6090000+02:00</published>
    <updated>2010-06-27T09:34:52.5937500+02:00</updated>
    <category term="ASP.NET" label="ASP.NET" scheme="http://www.jasoft.org/blog/CategoryView,category,ASP.NET.aspx" />
    <category term="Desarrollo Web" label="Desarrollo Web" scheme="http://www.jasoft.org/blog/CategoryView,category,Desarrollo%2BWeb.aspx" />
    <content type="html">&lt;p align=justify&gt;
La última versión de ASP.NET, la 4.0, incorpora varias opciones de configuración que
tienen que ver con las URLs de nuestras páginas. Por ejemplo: los &lt;strong&gt;caracteres
que son válidos &lt;/strong&gt;y, por lo tanto, admitidos en una URL. 
&lt;/p&gt;
&lt;p align=justify&gt;
Por defecto existen &lt;strong&gt;8 caracteres especiales que no se admiten en la ruta de
una página&lt;/strong&gt;, a saber:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p align=justify&gt;
&amp;lt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;amp;&lt;br&gt;
*&lt;br&gt;
%&lt;br&gt;
:&lt;br&gt;
\&lt;br&gt;
?
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
La verdad es que es bastante lógico, puesto que no puede existir ningún archivo ni
carpeta que los use en su nombre, y además el "et" o "ampersand" (&amp;amp;) y la interrogación
(?) forman parte siempre de la parte de parámetros o "Query String" de una URL, no
de la ruta.
&lt;/p&gt;
&lt;p align=justify&gt;
Cuando se introduce uno de estos caracteres en una URL, ASP.NET devuelve un &lt;strong&gt;error
400, de petición errónea&lt;/strong&gt;:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/HTTP400.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
En ASP.NET 4.0 &lt;strong&gt;es posible definir la lista de caracteres no válidos&lt;/strong&gt; en
una URL tocando el &lt;em&gt;web.config&lt;/em&gt; de la aplicación, en concreto el &lt;strong&gt;nodo &lt;em&gt;httpRuntime&lt;/em&gt;&lt;/strong&gt; en
su &lt;strong&gt;propiedad &lt;em&gt;requestPathInvalidChars&lt;/em&gt;&lt;/strong&gt;:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p align=justify&gt;
&lt;font face="Courier New"&gt;&lt;em&gt;&amp;lt;httpRuntime requestPathInvalidChars="&amp;amp;lt;,&amp;amp;gt;,*,%,&amp;amp;amp;,:,\,?"&amp;nbsp;
/&amp;gt;&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
Este es su valor por defecto que como vemos incluye los 8 caracteres que comentaba
antes. 
&lt;/p&gt;
&lt;p align=justify&gt;
Si quisiésemos &lt;strong&gt;añadir algunos caracteres &lt;/strong&gt;más que consideremos que
no debemos admitir por seguridad, bastaría con &lt;strong&gt;incorporarlos a la lista anterior&lt;/strong&gt; redefiniendo
este nodo dentro de &lt;em&gt;web.config&lt;/em&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Además, hay una serie de caracteres no imprimibles que si se intentaran utilizar producirían
el mismo efecto, y no hay forma de quitarlos de la lista. Se trata de todos los caracteres
ASCII que están entre el 0 y el 31 (el 32 es el primer caracter imprimible y es es
el espacio en blanco). Estos caracteres son siempre no válidos por la misma &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=4c0c2b08-a902-4094-8ea9-8619e1b3edfc&amp;amp;url=http%3a%2f%2fwww.ietf.org%2frfc%2frfc2396.txt"" target=_blank&gt;definición
de lo que es una URL&lt;/a&gt;, y es el propio sistema operativo a través del módulo&amp;nbsp;&lt;em&gt;&lt;strong&gt;http.sys&lt;/strong&gt;&lt;/em&gt; quien
se encarga de rechazar esas URLs (ni siquiera llega a .NET).
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;font size=3&gt;&lt;strong&gt;&amp;gt;&amp;gt; Longitud de las URL&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;img border=0 hspace=10 align=right src="http://www.jasoft.org/blog/content/binary/url.jpg"&gt;Otro
parámetro que ha sido &lt;strong&gt;constante hasta ahora&lt;/strong&gt; en el mundo .NET es &lt;strong&gt;la
longitud máxima de una ruta&lt;/strong&gt; de nuestra aplicación: &lt;strong&gt;260 caracteres&lt;/strong&gt;.
El motivo es que esta es la longitud máxima que se admite en el sistema de archivos
NTFS, que al final es donde residen los archivos de nuestra aplicación. 
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Otro límite&lt;/strong&gt; habitual ha sido el de la &lt;strong&gt;longitud máxima de
la Query String &lt;/strong&gt;(lo que va después de la ? en una URL, que define los parámetros
de la petición). En ASP.NET el límite ha sido siempre de &lt;strong&gt;2.048 caracteres&lt;/strong&gt;.
De hecho este límite &lt;strong&gt;debería ser más que suficiente&lt;/strong&gt;, aunque la mayor
parte de los navegadores lo superan: &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=4c0c2b08-a902-4094-8ea9-8619e1b3edfc&amp;amp;url=http%3a%2f%2fsupport.microsoft.com%2fkb%2fq208427%2f"" target=_blank&gt;Internet
Explorer soporta "sólo" 2.083 caracteres&lt;/a&gt; que ya es superior, pero otros navegadores
como Opera (4.050 caracteres), Firefox (8.182 caracteres) o safari (8.184 caracteres)
soportan como vemos muchos más.
&lt;/p&gt;
&lt;p align=justify&gt;
A veces será útil modificar el límite autoimpuesto por ASP.NET de 2.048 caracteres.
La mayor parte de las veces &lt;strong&gt;mi consejo sería reducir esta longitud&lt;/strong&gt; ya
que &lt;strong&gt;si tienes que enviar realmente tanta información mejor que uses un POST&lt;/strong&gt; y
no un GET, y si permites tamaños muy grandes se podrían utilizar para intentar saturar
el servidor o hacer que falle tu aplicación si no se espera algo tan grande y trata
de ahcer alguna conversión de datos, por ejemplo.
&lt;/p&gt;
&lt;p align=justify&gt;
Tocando &lt;strong&gt;el mismo nodo&lt;/strong&gt; de &lt;em&gt;web.config&lt;/em&gt; que en el caso anterior
puedes modificar ambos límites en ASP.NET 4.0:
&lt;/p&gt;
&lt;blockquote style="MARGIN-RIGHT: 0px" dir=ltr&gt; 
&lt;p align=justify&gt;
&lt;font face="Courier New"&gt;&lt;em&gt;&amp;lt;httpRuntime maxRequestPathLength="260" maxQueryStringLength="2048"
/&amp;gt;&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p align=justify&gt;
El primer parámetro permite definir longitudes de ruta más largas o más cortas (se
refiere a la parte de la URL que no es ni el&amp;nbsp; http://, ni el nombre del servidor,
ni el QueryString). El segundo parámetro modifica la longitud permitida en el &lt;em&gt;Query
String&lt;/em&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;&amp;gt;&amp;gt; Conclusión&lt;/font&gt;&lt;/strong&gt;
&lt;br&gt;
Aunque generalmente no necesitarás tocar ninguno de estos parámetros es bueno saber
que ahora puedes hacerlo si surge la necesidad. En cualquier caso es raro que una
aplicación llegue a necesitar alcanzar esos límites de tamaño en las rutas, por lo
que puede ser interesante cambiarlas por defecto para que sean más cortas y disminuir
así la superficie de ataque por esta vía.
&lt;/p&gt;
&lt;p align=justify&gt;
No te olvides tampoco de que estas limitaciones afectan tanto a peticiones "normales"
desde el navegador, como a peticiones Ajax que no ves porque se hacen en segundo plano.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=4c0c2b08-a902-4094-8ea9-8619e1b3edfc" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>La firma digital y la necesidad de un estándar Web común sobre esto</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,32e08255-9ec2-475d-b937-2b1aa38061ca.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,32e08255-9ec2-475d-b937-2b1aa38061ca.aspx</id>
    <published>2010-06-23T10:59:55.3123791+02:00</published>
    <updated>2010-06-23T11:15:36.8603736+02:00</updated>
    <category term="Mundo TIC" label="Mundo TIC" scheme="http://www.jasoft.org/blog/CategoryView,category,Mundo%2BTIC.aspx" />
    <content type="html">&lt;p align=justify&gt;
&lt;img border=0 hspace=10 align=right src="http://www.jasoft.org/blog/content/binary/digicert.jpg"&gt;En
las últimas semanas he tenido que &lt;strong&gt;presentar telemáticamente diversos documentos
en otras tantas Administraciones del Estado&lt;/strong&gt;, tanto locales como nacionales.
En todas era necesario, como no, firmar digitalmente ciertos documentos o el propio
envío de información en sí. En cada una de ellas &lt;strong&gt;el método para conseguirlo
era diferente&lt;/strong&gt;: control ActiveX, programa Java, una combinación de ambos…
Lo único que tenían en común es que &lt;strong&gt;es un absoluto dolor conseguir llevar
a buen término la operación&lt;/strong&gt; :-(
&lt;/p&gt;
&lt;p align=justify&gt;
Y no digamos también si intentamos usar el DNIe (o “DNI digital”) en un banco o para
hacer algún trámite on-line: otro terrible dolor. Es más: yo no he conseguido aún
usar mi DNIe con ninguno de los bancos con los que trabajo.
&lt;/p&gt;
&lt;p align=justify&gt;
En todos los casos tienes &lt;strong&gt;problemas con el software&lt;/strong&gt;, debes lanzar
el navegador &lt;strong&gt;como administrador&lt;/strong&gt;, &lt;strong&gt;instalar componentes&lt;/strong&gt;,
y conocer todo tipo de &lt;strong&gt;terminología “esotérica”&lt;/strong&gt; para entender lo
que haces. Y si me cuesta a mí que soy un usuario avanzado y entiendo bien el funcionamiento
subyacente de todo eso y la terminología, &lt;strong&gt;qué no le ocurrirá a un usuario
“normal”&lt;/strong&gt;, con conocimientos básicos de informática. Hoy por hoy veo imposible
que mi padre haga un trámite on-line él solo con la administración.
&lt;/p&gt;
&lt;p align=justify&gt;
Todo esto me ha hecho pensar en la &lt;strong&gt;necesidad de disponer algún tipo de estándar&lt;/strong&gt; de
programación y metodología &lt;strong&gt;para todos los navegadores&lt;/strong&gt; que permita
simplificar el uso de la criptografía de clave pública basada en certificados. De
este modo el desarrollo y, sobre todo, el uso de estas funcionalidades por parte de
los usuarios sería muy sencillo y exento de problemas.
&lt;/p&gt;
&lt;p align=justify&gt;
Dado que todos los sistemas operativos del mercado soportan el uso de certificados
digitales y que todos los navegadores son capaces de sacarle partido &lt;strong&gt;¿por
qué no disponemos ya de algo así?&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
La primera cosa que se me ocurrió es “la gran esperanza blanca” del desarrollo Web:
el futuro HTML5. La verdad es que no me sonaba haber leído en los borradores del estándar
nada acerca de criptografía o seguridad de clave pública, pero por si acaso lo verifiqué. &lt;strong&gt;En
el &lt;/strong&gt;&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=32e08255-9ec2-475d-b937-2b1aa38061ca&amp;amp;url=http%3a%2f%2fdev.w3.org%2fhtml5%2fspec%2f"" target=_blank&gt;&lt;strong&gt;actual
draft de HTML5&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;nbsp; no aparece nada al respecto&lt;/strong&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Una verdadera lástima.&amp;nbsp; HTML5 va a suponer una revolución si conseguimos que
todos los navegadores lo soporten bien (y parece que hay voluntad de eso), e incluye
algunas APIs muy interesantes demandadas por todos los programadores. Pero me parece &lt;strong&gt;una
verdadera pena que se pierda una oportunidad como está&lt;/strong&gt; de implicar a todos
los fabricantes de navegadores en el soporte de la criptografía de clave pública con
una API común promovida por la W3C. &lt;strong&gt;Esto por si solo impulsaría de verdad
la sociedad de la información&lt;/strong&gt;, más que los millones de euros gastados en
otras cosas :-(
&lt;/p&gt;
&lt;p align=justify&gt;
El caso es que &lt;strong&gt;he intentado enterarme del motivo&lt;/strong&gt; por el que HTML5
no contempla estas capacidades, y si realmente se “les ha olvidado” o no. Lo único
que he encontrado es &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=32e08255-9ec2-475d-b937-2b1aa38061ca&amp;amp;url=http%3a%2f%2fwww.mail-archive.com%2fdev-tech-crypto%40lists.mozilla.org%2fmsg04093.html"" target=_blank&gt;este
documento de Anders Rundgren&lt;/a&gt;, un ex-ingeniero de RSA, en el que cita y muestra
correo intercambiado con la gente del equipo de HTML5 que &lt;strong&gt;dicen que lo descartan
intencionadamente porque HTML ya es muy grande y no hay mucha demanda para este asunto
en particular&lt;/strong&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
¿Qué no hay mucha demanda? &lt;strong&gt;¡Alucino!&lt;/strong&gt;. Si no hay demanda de eso que
baje Dios y lo vea.
&lt;/p&gt;
&lt;p align=justify&gt;
En fin, insisto en creo que &lt;strong&gt;se está perdiendo una oportunidad de oro&lt;/strong&gt; de
incorporar un estándar para la implementación de firmas digitales en HTML5, en un
momento en el que parece haber consenso en el sector en torno a esta nueva especificación
y que ello perjudicará mucho al avance de la sociedad de la información en todo el
mundo :-(
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Y tú ¿qué opinas?&lt;/strong&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=32e08255-9ec2-475d-b937-2b1aa38061ca" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>¿Office 2010 en Linux/Mac/Otros y Gratis?</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,aa43fab4-a228-4c01-912d-5788edcca9f0.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,aa43fab4-a228-4c01-912d-5788edcca9f0.aspx</id>
    <published>2010-06-19T12:17:55.1490000+02:00</published>
    <updated>2010-06-19T13:37:08.1806250+02:00</updated>
    <category term="Sistemas operativos" label="Sistemas operativos" scheme="http://www.jasoft.org/blog/CategoryView,category,Sistemas%2Boperativos.aspx" />
    <content type="html">&lt;p align=justify&gt;
No es que en Microsoft se hayan vuelto locos y hayan apostado por el sistema del pingüino.
Es simplemente que he estado probando bien las &lt;strong&gt;Office Web Apps&lt;/strong&gt; en
este Linux, para ver si son una buena opción para trabajar con Office sin tener verdaderamente
el producto instalado. Y la verdad es van muy bien. Y además tienes 25 GB para almacenar
lo que quieras :-)
&lt;/p&gt;
&lt;p align=justify&gt;
Desde hace muy poco tiempo, para todo el mundo, en &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2fskydrive.live.com%2f"" target=_blank&gt;&lt;strong&gt;Skydrive&lt;/strong&gt;&lt;/a&gt; ya
están integradas las &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2foffice.microsoft.com%2fes-es%2fweb-apps%2foffice-web-applications-FX100996074.aspx"" target=_blank&gt;&lt;strong&gt;Office
Web Apps&lt;/strong&gt;&lt;/a&gt;. Se trata de versiones basadas en Wed de las principales herramientas
de la Suite Office 2010, en concreto: &lt;strong&gt;Word&lt;/strong&gt;, &lt;strong&gt;Excel&lt;/strong&gt;, &lt;strong&gt;Powerpoint &lt;/strong&gt;y &lt;strong&gt;OneNote&lt;/strong&gt;,
para toma de notas. Ofrecen, evidentemente, una &lt;strong&gt;versión recortada&lt;/strong&gt; de
la funcionalidad disponible en la suite de escritorio, pero aún así son una &lt;strong&gt;buena
alternativa gratuita para disponer de la funcionalidad más básica&lt;/strong&gt;. Y además
tienes &lt;strong&gt;25 GB de espacio para almacenar&lt;/strong&gt; lo que quieras, no sólo documentos
de Office, sino &lt;strong&gt;cualquier cosa &lt;/strong&gt;:-)
&lt;/p&gt;
&lt;p align=justify&gt;
Hace más&amp;nbsp; de un año, cuando oí hablar de estas aplicaciones internamente en Microsoft
y vi las primeras capturas de pantalla, &lt;strong&gt;todos pensábamos que iban a estar
basadas en Silverlight&lt;/strong&gt;. La interfaz de usuario es muy compleja y hacerla
en Silverlight parecía la opción más sencilla y rápida. Fue toda una sorpresa descubrir
hace unos meses, con las primeras betas, que &lt;strong&gt;están basadas totalmente en HTML
+ JavaScript&lt;/strong&gt;, como &lt;strong&gt;&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2fdocs.google.com%2f"" target=_blank&gt;Google
Docs&lt;/a&gt;&lt;/strong&gt;. Una maravilla y mucho más fácil transportarlas a otros sistemas
seguro.
&lt;/p&gt;
&lt;p align=justify&gt;
En esta figura (click para ampliarla) se puede ver una presentación hecha en Powerpoint
en &lt;strong&gt;Firefox bajo Linux&lt;/strong&gt; abierta en &lt;strong&gt;Powerpoint Web App&lt;/strong&gt;:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fcontent%2fbinary%2fOfficeWeb_1.jpg"" target=_blank&gt;&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/OfficeWeb_1s.jpg"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Como se puede observar la sensación es la misma que usando Powerpoint 2010, disponiendo
del famoso &lt;strong&gt;Ribbon escamoteable&lt;/strong&gt;, la &lt;strong&gt;vista previa&lt;/strong&gt; de
las diapositivas en el lateral, &lt;strong&gt;formatos&lt;/strong&gt;, &lt;strong&gt;inserción de figuras&lt;/strong&gt;, &lt;strong&gt;efectos
de imágenes&lt;/strong&gt;, varios tipos de &lt;strong&gt;plantillas&lt;/strong&gt; de diapositivas,
etc... Y lo mismo con el resto de aplicaciones de la suite. No es tan potente como
la versión completa de escritorio, eso desde luego, pero sí es &lt;strong&gt;suficiente
para lo que hace la mayor parte de los usuarios&lt;/strong&gt;. Y además permite &lt;strong&gt;compartir
y colaborar&lt;/strong&gt; con otras personas directamente on-line, la capacidad de &lt;strong&gt;impresión
de documentos&lt;/strong&gt; es realmente buena, y además los tendremos disponibles desde
cualquier parte, incluso &lt;strong&gt;desde teléfonos móviles &lt;/strong&gt;para visualización.
&lt;/p&gt;
&lt;p align=justify&gt;
Por ejemplo, estas son algunas capturas utilizando Skydrive y las Office Web Apps
desde un iPhone (pulsa para ampliar):
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fcontent%2fbinary%2fOfficeWeb_Iphone.jpg"" target=_blank&gt;&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/OfficeWeb_Iphone_s.jpg"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Por supuesto se puede usar la pantalla multitátil para hacer zoom en los documentos
y leerlos con toda claridad. Muy interesante.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Soporte de Navegadores&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
En principio estás aplicaciones están soportadas sin problema en &lt;strong&gt;Internet
Explorer, Firefox y Safari&lt;/strong&gt;. Microsoft ha dejado &lt;strong&gt;fuera del soporte
a Google Chrome&lt;/strong&gt; (mi favorito) alegando cuestiones de incompatibilidad, pero
dado que tanto Chrome como Safari están basados en Webkit mi idea es que no debería
haber demasiado problema usándolo tampoco, así que lo he probado.
&lt;/p&gt;
&lt;p align=justify&gt;
En &lt;strong&gt;Windows&lt;/strong&gt; todo parece funcionar &lt;strong&gt;sin problema&lt;/strong&gt; alguno &lt;strong&gt;bajo
Chrome&lt;/strong&gt;. Por ejemplo, esta es una captura usando Word Web App bajo Chrome
en Windows 7 (pulsa para ampliar):
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fcontent%2fbinary%2fOfficeWeb_2.jpg"" target=_blank&gt;&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/OfficeWeb_2s.jpg"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Sin embargo, y esto sí que me llama la atención, con la misma versión de Chrome (la
última) trabajando en Ubuntu se muestra este inquietante mensaje:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/OfficeWeb_3.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
¿A qué será debido? Ni idea. Según tengo entendido Chrome es el mismo código base
tanto en Windows como en Linux, pero se ve que alguna diferencia hay, algo que no
dice mucho por parte de Chrome. Incluso falla la visualización de los documentos,
algo que no pasa ni siquiera en el iPhone como se ve en las pantallas anteriores.
En Firefox, como ya se ha visto, no hay problema ni diferencia alguna en Linux o en
Windows (y es de suponer que en Mac tampoco, pero no tenía uno a mano para probarlo).
Chrome debería tener ofrecer mayor consistencia entre sus versiones para diferentes
sistemas operativos.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Silverlight en Linux&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Cuando visualizas una presentación Powerpoint en Firefox bajo Linux, aunque está perfectamente
soportada su visualización con HTML y JavaScript, se te muestra una franja amarilla
de información diciéndote que si instalas Silverlight tendrás mejor rendimiento:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/OfficeWeb_4.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Si pulsas en esa franja te lleva a una página de Microsoft, que tras detectar tu navegador
y sistema operativo te lleva a la descarga e instalación directa del &lt;strong&gt;plug-in
de Moonlight&lt;/strong&gt;, la versión para Linux de Silverlight hecha en el proyecto Mono.
&lt;/p&gt;
&lt;p align=justify&gt;
No la instales (o deshabilita el plug-in). En cuanto lo instalas, aunque hayas instalado
también los Codecs adicionales, las presentaciones dejan de verse, mostrándose una
pantalla negra. Mejor dejar la versión HTML de las diapositivas.
&lt;/p&gt;
&lt;p align=justify&gt;
Por lo demás no hay ningún problema que yo haya visto.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Office web Apps vs Google Docs&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Esta es la pregunta del millón. Es más, también habría que compararlas con &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=http%3a%2f%2fwww.zoho.com%2f"" target=_blank&gt;Zoho
Apps&lt;/a&gt;, que tiene verdaderas joyas como Zoho Creator, y de las cuales ya he hablado
aquí en alguna ocasión.
&lt;/p&gt;
&lt;p align=justify&gt;
Esto daría para un amplio artículo o dos, pues hay muchas cosas que comparar. No haré
el extenso analisis que requeriría compararlas aquí, sólo daré un par de opiniones
concretas.
&lt;/p&gt;
&lt;p align=justify&gt;
Diré que, en mi caso particular, una funcionalidad que tiene &lt;strong&gt;Google Docs&lt;/strong&gt; en
el caso de las hojas de cálculo y que, sólo por eso, hace que lo prefiera frente a
la versión on-line de Excel, es la &lt;strong&gt;capacidad de convertir las hojas de cálculo
en formularios para recogida de datos&lt;/strong&gt;, con &lt;strong&gt;análisis básico automático&lt;/strong&gt; de
los datos recogidos. Excel Web App es una buena hoja de cálculo pero Google Spreadsheets
va un paso más allá en cuanto a las aplicaciones prácticas que le puedes dar gracias
a estos formularios. Esto, no obstante no deja de ser una &lt;strong&gt;mera anécdota para
la mayor parte de los usuarios &lt;/strong&gt;y si lo que buscas es una hoja de cálculo
para usar como tal, ambas son buenas opciones, llevándole algo de ventaja Google debido
a los addins de los que dispone. Además, para formularios prefiero Zoho Creator, que
le da mil vueltas a Google Spreadsheets también.
&lt;/p&gt;
&lt;p align=justify&gt;
Si estás acostumbrado a usar Office 2007/2010 y quieres una suite de ofimática gratuita
y con toda la funcionalidad básica que generalmente necesita un usuario promedio,
Office web Apps es una gran opción. Otra ventaja es que, desde luego, la &lt;strong&gt;compatibilidad
con los formatos nativos de Office&lt;/strong&gt; es mayor en el caso de Office web Apps
que en Google Docs, y si es importante para ti que los &lt;strong&gt;documentos sean lo
más parecidos a los originales&lt;/strong&gt; cuando los subes desde el escritorio, entonces
ahí también lleva ventaja. 
&lt;/p&gt;
&lt;p align=justify&gt;
Eso sí, un detalle que me gustaría destacar y que seguro que es fruto de polémica:
ahora ya me parece bien que comparen Open Office con Microsoft Office... pero, eso
sí, con Microsoft Office web Apps. En ese caso sí que podrían ser comparables de algún
modo, desde luego mucho mas que cuando se compara Open Office con la suite completa
de Office: es que no hay comparación posible. Sin embargo entre Open Office, Google
Docs y Office WebApps, la cosa ya está más equilibrada.. 
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;font size=3&gt;&lt;strong&gt;¿Que me moje y de mi opinión?&lt;/strong&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Vale... Yo me quedo con Office de escritorio + &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0&amp;amp;url=https%3a%2f%2fwww.dropbox.com%2freferrals%2fNTMzMDUxMzY5"" target=_blank&gt;&lt;strong&gt;DropBox&lt;/strong&gt;&lt;/a&gt;,
con un uso combinado de Google Docs + Office Web Apps + DropBox cuando no estoy en
alguno de mis equipos ;-)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=aa43fab4-a228-4c01-912d-5788edcca9f0" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>Anexo a mi libro de ASP.NET 4.0 - Plantillas AJAX</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,e3cae0b5-25be-49bc-9ec1-9b789016d2da.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,e3cae0b5-25be-49bc-9ec1-9b789016d2da.aspx</id>
    <published>2010-06-14T10:00:35.0990000+02:00</published>
    <updated>2010-06-14T10:07:05.4587500+02:00</updated>
    <category term="AJAX" label="AJAX" scheme="http://www.jasoft.org/blog/CategoryView,category,AJAX.aspx" />
    <category term="ASP.NET" label="ASP.NET" scheme="http://www.jasoft.org/blog/CategoryView,category,ASP.NET.aspx" />
    <content type="html">&lt;p align=justify&gt;
Por fin está disponible el anexo a mi libro de ASP.NET 4.0. Se trata de un pequeño
capítulo adicional que explica unos &lt;strong&gt;pequeños cambios que ha habido en la versión
definitiva respecto a la funcionalidad de plantillas HTML enlazadas a datos&lt;/strong&gt; de
ASP.NET Ajax Library, en el capítulo 5.
&lt;/p&gt;
&lt;p align=justify&gt;
Básicamente explica cómo obtener la última versión del código de Script y sacarle
partido desde ASP.NET o desde cualquier otra tecnología (PHP, JSP, MVC o incluso HTML
puro y duro), y los pequeños cambios en sintaxis que ha habido en un par de características
en la versión final.
&lt;/p&gt;
&lt;p align=justify&gt;
Puedes leerlo íntegramente gratis on-line en Scribd:
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a title="View Tecnologías ASP.NET 4.0 - Anexo A - Enlazado a datos AJAX on Scribd" href="http://www.jasoft.org/blog/ct.ashx?id=e3cae0b5-25be-49bc-9ec1-9b789016d2da&amp;amp;url=http%3a%2f%2fwww.scribd.com%2fdoc%2f32979455%2fTecnologias-ASP-NET-4-0-Anexo-A-Enlazado-a-datos-AJAX"" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;"&gt;Tecnologías
ASP.NET 4.0 - Anexo A - Enlazado a datos AJAX&lt;/a&gt; 
&lt;object id="doc_563801178850874" name="doc_563801178850874" height="(auto)" width="650" type="application/x-shockwave-flash" data="http://d1.scribdassets.com/ScribdViewer.swf" style="outline:none;" &gt;
&lt;param name="movie" value="http://d1.scribdassets.com/ScribdViewer.swf"&gt;
&lt;param name="wmode" value="opaque"&gt;
&lt;param name="bgcolor" value="#ffffff"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowScriptAccess" value="always"&gt;
&lt;param name="FlashVars" value="document_id=32979455&amp;access_key=key-hrrqgjx54iim82y9bgp&amp;page=1&amp;viewMode=slideshow"&gt;
&lt;embed id="doc_563801178850874" name="doc_563801178850874" src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=32979455&amp;access_key=key-hrrqgjx54iim82y9bgp&amp;page=1&amp;viewMode=slideshow" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="(auto)" width="650" wmode="opaque" bgcolor="#ffffff"&gt;&lt;/embed&gt; 
&lt;/object&gt;
&lt;p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=e3cae0b5-25be-49bc-9ec1-9b789016d2da" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
  <entry>
    <title>¡Este blog ha cumplido 6 años! - Evolución de Internet, de mi persona y de lo que publico y hago.</title>
    <link rel="alternate" type="text/html" href="http://www.jasoft.org/blog/PermaLink,guid,69098e32-bc55-4040-ac54-48b8d1f3d961.aspx" />
    <id>http://www.jasoft.org/blog/PermaLink,guid,69098e32-bc55-4040-ac54-48b8d1f3d961.aspx</id>
    <published>2010-06-08T11:11:08.7450000+02:00</published>
    <updated>2010-06-18T09:35:14.5087500+02:00</updated>
    <content type="html">&lt;p align=justify&gt;
Casi me pasa inadvertido, pero me acabo de dar cuenta de que este blog ha cumplido
el pasado día 3 de Junio nada menos que ¡6 años! La verdad es que no está mal, y en
Internet eso es mucho tiempo. 
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Es curioso ver cómo uno ha ido evolucionando junto con Internet&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p align=justify&gt;
Al final me he liado y he escrito, en un arrebato de nostalgia, mi evolución personal
y cómo ésta ha ido acompasada con la de Internet en estos últimos 15 años.
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/Evolucion.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Mediados de los '90 - Páginas Web y papel, mucho papel&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Antes de tener este blog, durante muchos años desde mediados de los noventa, tuve
una página personal que colgaba del &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.arrakis.com%2f"" target=_blank&gt;proveedor
sevillano Arrakis&lt;/a&gt;, uno de los pioneros de Internet en España, y unos frikazos
de cuidado pues el nombre de arrakis viene de las &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fen.wikipedia.org%2fwiki%2fDune_(novel)"" target=_blank&gt;novelas
de ciencia ficción Dune&lt;/a&gt; ("Ni una sola gota de agua sobre la superficie de arrakis").
&lt;/p&gt;
&lt;p align=justify&gt;
La página se llamó durante muchos años "Visual Basic Extremo" y en ella me dedicaba
a contar muchos trucos y técnicas avanzadas de Visual Basic, que era lo que se llevaba
entonces. Eran tiempos más sosegados (aunque no más fáciles), mucho antes de .NET
y la explosión verdadera de Internet. No tenía ni dominio propio.
&lt;/p&gt;
&lt;p align=justify&gt;
Por aquel entonces empecé también a escribir en revistas del sector, en papel. En
concreto en la tristemente desaparecida RPP (Revista Profesional para Programadores).
Una joya con verdaderas virguerías de artículos que murió, en mi opinión, por tener
artículos demasiado "cañeros" (la compraban cuatro frikis al final). 
&lt;/p&gt;
&lt;p align=justify&gt;
A finales de los 90 me dedicaba profesionalmente a escribir artículos, llegando a
publicar hasta 4 o 5 por mes en diferentes revistas. Comía de eso y de consultoría
y desarrollo a medida, así como de dar charlas y cursos.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Principios de siglo - Página Freeware, empresa y más papel&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
A primeros de 2001 me decidí a cambiar y creé este dominio JASoft.org, con un cambio
de filosofía respecto a lo anterior para hacer la página mas dinámica y más orientada
a software gratuito que yo creaba, pero con un estilo página personal todavía. Publiqué
muchísimo software gratuito allí. Algunos de estos programas &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fCategoryView%2ccategory%2cFreeware.aspx"&gt;aún
los tengo en este blog&lt;/a&gt;, aunque actualizados, y alguno llegó a tener mucho éxito.
De todos modos seguía siendo una página personal al uso.
&lt;/p&gt;
&lt;p align=justify&gt;
La evolución de los contenidos de este dominio se puede ver en la siempre útil &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fweb.archive.org%2fweb%2f*%2fhttp%3a%2f%2fwww.jasoft.org"" target=_blank&gt;Internet
Wayback Machine&lt;/a&gt;. Es de flipar :-)
&lt;/p&gt;
&lt;p align=justify&gt;
También en esta época (Abril de 2000) fué cuando monté &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.krasis.com"" target=_blank&gt;Krasis&lt;/a&gt;,
con la que hemos cumplido 10 años hace poco. Seguí manteniendo colaboraciones con
algunas revistas, sobre todo PC World y la recientemente desaparecida Windows TI Magazine,
pero bajando un poco la cantidad de colaboraciones (2 artículos al mes) por que tenía
que dedicar mucho más tiempo a la empresa.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Mediados de década - La era de los blog y menos papel&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
En 2004 no se oía hablar de otra cosa que de los blog. Aún estaban empezando pero
ya era una tendencia imparable. Así que, tras las dudas iniciales sobre si sería una
moda o no, en Junio de 2004 me lancé a ello de la mano de mi buen amigo &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fgeeks.ms%2fblogs%2fivan"" target=_blank&gt;Iván
González&lt;/a&gt;&amp;nbsp;y posterior compañero de fatigas, que llevaba entonces la comunidad
de blogs &lt;strong&gt;Golem Project &lt;/strong&gt;(ahora desparecida tristemente por el escaso
apoyo de la institución que lo creó. De eso también aprendí).
&lt;/p&gt;
&lt;p align=justify&gt;
El blog realmente da muchas facilidades que una página no tenía. Puedes mantener los
contenidos sin esfuerzo y preocupándote sólo de ir metiendo nuevo material, sin los
problemas y desvelos que daba mantener una página (además "a pelo", porque a mediados
de los 90, cuando empecé con ella, un &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fes.wikipedia.org%2fwiki%2fSistema_de_gesti%25C3%25B3n_de_contenidos"&gt;CMS&lt;/a&gt; no
se sabía ni lo que era). Así que el blog realmente me dio muchas facilidades para
contribuir y crear mucho contenido. Empecé a toda máquina y aquí sigo tantos años
depues. Este fue &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fPermaLink%2cguid%2c08fb6191-303c-4104-8ad2-7e4d2678de45.aspx"&gt;el
primer post del blog&lt;/a&gt;.
&lt;/p&gt;
&lt;p align=justify&gt;
Mi nivel de colaboración con las revistas en papel bajó mucho. En aquella época empecé
a colaborar también con DotNetMania. Actualmente sólo escribo 2 o 3 artículos al año
en papel (este mes, por ejemplo, puedes ver un artículo mio sobre Visual Studio 2010
si te compras PC World en el kiosko). Mi tiempo no da para tanto y la verdad es que
escribir para publicaciones on-line o en blogs me proporciona mayor impacto que con
cualquier revista en papel, y lo puedo hacer mucho más a mi ritmo.
&lt;/p&gt;
&lt;p align=justify&gt;
Además, poco después, en 2005, nació nuestro proyecto de formación on-line &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.campusmvp.com"" target=_blank&gt;campusMVP&lt;/a&gt;.
A través de él he creado muchísimo material formativo todos estos años: cursos, vídeos,
demos... Y &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.campusmvp.com%2fCampusMVP%2fNuestros_tutores.htm"" target=_blank&gt;muchas
otras personas se han unido al proyecto&lt;/a&gt; por el camino. A esto dedico gran parte
de mi tiempo. Es una lástima que no vea la luz para todo el mundo, pero los frikis
también tenemos que comer, así que no queda más remedio que cobrar por dar acceso
a este material (por el momento y&amp;nbsp;mientras no tenga una idea féliz que no sea
la publicidad, por que &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.theemailingexperience.com%2fES%2fPermaLink%2cguid%2c7864fa77-2fb6-4332-bb31-9ca66c4c4d09.aspx"" target=_blank&gt;la
gente no pincha&lt;/a&gt;).
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;&lt;font size=3&gt;Final de década - Redes sociales y casi no hay papel&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Y ahora, en 2010,&amp;nbsp;estamos inmersos en el mundo de las redes sociales. He de reconocer
que yo era de los que me resistía, sobre todo a una en particular: Twitter. De hecho
entré a finales del año pasado todavía. Pero si los blog supusieron para mi una revolución
a la hora de compartir con la comunidad técnica, &lt;strong&gt;Twitter está empezando a
ser otra revolución también para mi&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p align=justify&gt;
Confieso que mi primera reacción a Twitter hace un par de años cuando empezó a sonar
fue: "&lt;em&gt;¿micro-blogging? ¿140 caracteres? ¿Estáis de coña? No tengo tiempo para
esas memeces&lt;/em&gt;". Al final me metí por la "presión social" que tenía, sobre todo&amp;nbsp;de
mis compañeros del &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.facebook.com%2fMondayReadingClubVigo%3fref%3dts"" target=_blank&gt;The
Monday Reading Club&lt;/a&gt;, a los cuales se lo agradezco. Y es que los de marketing son
los que más están tirando del medio.
&lt;/p&gt;
&lt;p align=justify&gt;
Lo cierto es que ahora&amp;nbsp;donde más cosas pongo&amp;nbsp;es en &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2ftwitter.com%2fjm_alarcon"" target=_blank&gt;mi
Twitter&lt;/a&gt;. Ya lo contaba hace unos meses en un post: &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.jasoft.org%2fblog%2fPermaLink%2cguid%2c9bb19a17-28e3-43e0-9dfc-2695bb4cbbc8.aspx"&gt;Los
tiempos están cambiando&lt;/a&gt;. A través de él voy posteando las cosas interesantes que&amp;nbsp;me
voy encontrando, ya que no todo tiene porque ser contenido original tuyo. El blog
es más para crear, y Twitter es más para compartir. Twitter te permite además mantenerme
al día más facilmente si escoges bien a qué gente seguir y si evitas a los pesados
que están todo el día twitteando memeces, claro.
&lt;/p&gt;
&lt;p align=justify&gt;
Tras haberlo estado usando más de medio año ahora lo encuentro indispensable. Y por
supuesto cada vez que escribo algo en este blog también lo twitteo para que la gente
se entere, por lo que ni siquiera es necesario pasarse por aquí para ver si hay algo
nuevo.
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Me llama mucho la atención que los técnicos, generalmente, somos los más reacios
a adoptar este tipo de herramientas sociales&lt;/strong&gt;. De hecho&amp;nbsp;esta circunstancia
me ha dado pie para escribir un artículo para una conocida revista (en papel) que
verá a la luz en breve. Iba a ser un post para este blog pero la cosa ha ido creciendo
y creo que quedará un artículo interesante. Ya os contaré en mi Twitter :-P
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Mi consejo&lt;/strong&gt;: si&amp;nbsp; no la tienes ya,&amp;nbsp;hazte con una cuenta de
Twitter y escoge bien a quien vas a seguir. Aunque tú no publiques nada y sólo "consumas".
Y si encima &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2ftwitter.com%2fjm_alarcon"" target=_blank&gt;te
haces follower mío&lt;/a&gt; pues mejor que mejor :-) Mis twitts no son solo de programación,
sino también de tecnología, mucho de Internet y tendencias, algo de marketing... Sólo
cosas interesantes, eso sí, y alguna que otra opinión personal de vez en cuando.
&lt;/p&gt;
&lt;p align=justify&gt;
En cuanto a mis colaboraciones en papel, se han reducido aún más si cabe. Prefiero
dar charlas y conferencias, escribir en este blog o el &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.theemailingexperience.com%2fES"" target=_blank&gt;blog
de email marketing de Krasis&lt;/a&gt;. He diversificado, ya que ahora hablo también mucho
de marketing y empresa. Son cosas de la edad. Además siguen estando ahí los libros.
Desde que empecé con mi primer libro para &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.anayamultimedia.es"" target=_blank&gt;Anaya
Multimedia&lt;/a&gt; cuando tenía &lt;strike&gt;24&lt;/strike&gt; 25 años no ha pasado ningún año (a
excepción de 2008) en el que no haya escrito algún libro, revisado una obra mía anterior
para actualizarla&amp;nbsp;o al menos haya colaborado en alguno con algún otro autor.
Y es que eso sí que me puede. Los libros no dan dinero, pero sí que siguen siendo
una gran fuente de satisfacción, sobre todo si se difunden mucho, como he tenido la
suerte de experimentar con alguno de los que me han publicado. Además, ahora como &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.krasispress.com"" target=_blank&gt;la
editorial es nuestra&lt;/a&gt; aún me gusta mas :-) Qué conste que mis anteriores editores
han sido siempre una maravilla, y jamás me han tocado una coma de los textos que he
enviado, y eso se agradece mucho.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;font size=3&gt;2010 en adelante - ¿Quién sabe?&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
Y aquí estamos ahora: Twitter, Blog pero menos, papel pero mucho menos, libros en
papel (y pronto electrónicos).... Desde hace poco hasta tengo &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.jmalarcon.es"" target=_blank&gt;"mi
página de gurú"&lt;/a&gt;, que me da mucha vergüenza con vosotros, los técnicos, pero&amp;nbsp;es
que en otros ámbitos -más empresariales- tienes que "venderte" para que te paguen
una conferencia. En el ámbito técnico ya hace muuuchos años que es imposible que nadie
te pague por nada, y menos por una charla/conferencia/evento/webcast&amp;nbsp;;-) Una
verdadera vergüenza pues parece que nuestro trabajo no se valora, pero en fin...
&lt;/p&gt;
&lt;p align=justify&gt;
Tengo mucha curiosidad por saber qué estaré posteando (o twitteando o veteasaberque-ando)
dentro de 2, 5 o 10 años. Quizá la vida me haya vencido ya, y haya mandado todo a
paseo y ni me dedique a la tecnología. Quizá siga a tope, como ahora, pero usando
sabe Dios qué medio esotérico, aún por inventar, para crear contenidos. ¿Grabaciones
holográficas? ¿Un simple móvil del futuro con teclado virtual? ¿O quizá Google haya
dominado el mundo ya y nos tenga a todos censurados para no criticarlos?
&lt;/p&gt;
&lt;p align=justify&gt;
Quién sabe. Quédate por aquí para descubirlo y por el camino haré lo que pueda para
ir aportando cosas, como hasta ahora.
&lt;/p&gt;
&lt;p align=center&gt;
&lt;img border=0 src="http://www.jasoft.org/blog/content/binary/google2084.jpg"&gt;
&lt;/p&gt;
&lt;p align=justify&gt;
&lt;strong&gt;Actualización 18/6/2010&lt;/strong&gt;: Hoy he encontrado esta tira del bueno de
Hugh MacLeod (os recomiendo &lt;a href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fgapingvoid.com%2fbooks%2f"" target=_blank&gt;su
libro "Ignore Everybody"&lt;/a&gt;, por cierto), y me he sentido identificadísimo X-DD
&lt;/p&gt;
&lt;p align=center&gt;
&lt;a href="http://www.gapingvoid.com/history76156222.jpg" s_oidt="0" s_oid="http://www.gapingvoid.com/history76156222.jpg" mce_ href="http://www.jasoft.org/blog/ct.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961&amp;amp;url=http%3a%2f%2fwww.gapingvoid.com%2fhistory76156222.jpg"&gt;&lt;img style="DISPLAY: inline; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px" border=0 src="http://www.gapingvoid.com/history76156222-thumb.jpg" width=500 height=292 mce_src="http://www.gapingvoid.com/history76156222-thumb.jpg"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.jasoft.org/blog/aggbug.ashx?id=69098e32-bc55-4040-ac54-48b8d1f3d961" /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;a href="http://www.jasoft.org"&gt;JASoft.org&lt;/a&gt;: El Blog de Jose Alarcón. Programación
.NET y mucho más.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;S&amp;iacute;gueme en:&lt;/b&gt; &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/jm_alarcon"&gt;Twitter
JM Alarc&amp;oacute;n&lt;/a&gt; | &lt;img src="http://www.jasoft.org/twitter.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://twitter.com/campusMVP"&gt;Twitter
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/facebook.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.facebook.com/campusMVP"&gt;Facebook
campusMVP&lt;/a&gt; | &lt;img src="http://www.jasoft.org/email.gif" border="0" valign="absmiddle" hspace="5" /&gt;&lt;a target=_blank class="TitleLinkStyle" href="http://www.campusmvp.com/CampusMVP/Bolet%EDn.htm"&gt;Bolet&amp;iacute;n
campusMVP&lt;/a&gt;</content>
  </entry>
</feed>