<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://labloguera.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Thempra.NET</title><link>http://labloguera.net/blogs/thempra/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Mi raton ha dejado de funcionar en Word 2007</title><link>http://labloguera.net/blogs/thempra/archive/2008/10/24/mi-raton-ha-dejado-de-funcionar-en-word-2007.aspx</link><pubDate>Fri, 24 Oct 2008 07:45:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:55547</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/55547.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=55547</wfw:commentRss><description>&lt;p&gt;La primera vez que lo comento mi compañero de trabajo todos nos lanzamos a reir pensado que algo habria liao para llegar a ese punto. Pero como muchas cosas, hasta que no te pasa a ti no lo tomas en serio. Para solventarlo solo se han de seguir los siguientes pasos:&lt;br&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;1. Abrir el Editor de registro. (Inicio &amp;gt; Ejecutar ... y escribir&amp;nbsp; "regedit")&lt;br&gt;&lt;/p&gt;
2. Dentro del Editor de registro navegar hasta &lt;b&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Data&lt;/b&gt;&lt;br&gt;&lt;br&gt;
3. Relizar clic con el boton secundario de raton en la carpeta "&lt;b&gt;Data&lt;/b&gt;" y borrarla&lt;br&gt;&lt;br&gt;
4. Abrimos el Word y solucionado el problema.

&lt;/blockquote&gt;&lt;/blockquote&gt;



&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Para mas informacion de problemas relacionados con office pasar por este &lt;a href="http://support.microsoft.com/kb/921541/es" target="_blank"&gt;enlace&lt;/a&gt;.&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=55547" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Office/default.aspx">Office</category></item><item><title>EDK 2.5 Update del iPac-9302</title><link>http://labloguera.net/blogs/thempra/archive/2008/10/10/edk-2-5-update-del-ipac-9302.aspx</link><pubDate>Fri, 10 Oct 2008 13:57:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:48226</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/48226.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=48226</wfw:commentRss><description>&lt;p&gt;&lt;img src="http://www.sjjmicro.com/images/net_MF_h_rgb_3.jpg" width="200" height="22"&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; Hoy me he encontrado con la grata sopresa, por fin &lt;a href="http://www.sjjmicro.com" target="_blank"&gt;SJJ&lt;/a&gt; ha sacado la actualizacion del sus EDK con una gran novedad ....... &lt;u&gt;&lt;b&gt;Soporte ethernet !!!&lt;/b&gt;&lt;/u&gt; para ello tendremos que actualizar la imagen que lleva interna. Muy bien preparado nos presenta un fichero llamado "EDK_Firmware Update.pdf" en el propio fichero la actualizacion.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sjjmicro.com/Docs/EDK_v2.5_Update.zip" target="_blank"&gt;Descargar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; Para tener un MAC se ha de enviar un mail a &lt;span class="HcCDpe"&gt;support@sjjmicro.com con el numero de serie que esta escrito en la parte inferior de la placa, en pocas horas te enviaran el paquete de actualizacion con tu MAC personalizada.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div align="left"&gt;
            &lt;p&gt;&lt;img src="http://www.sjjmicro.com/images/EDK1a.jpg" width="200" height="133"&gt;&lt;/p&gt; &lt;br&gt;&lt;/div&gt;&lt;p&gt;Aqui os dejo con todo lo que se puede jugar: &lt;br&gt;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0"&gt;
              
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;2 RS-232 serial ports&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;COM1 only for Development&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;Internal Real time clock/calendar (no battery backup) &lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Supported&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;16 processor GPIO lines&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Supported&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;16 PLD output lines - 8 lines are for high drive output lines&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Supported&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;16 PLD 5 volt tolerant input lines&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Supported&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;SPI/I2S&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;SPI-only&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;Green status LED&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Supported&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;Internal flash data storage&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Supported&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;Battery backed RTC&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;N/A&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;1 + 2 PWM I/O lines&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Available in v2.5 Update&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;5 channels of 12 bit A/D (0 to 3.3V)&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Available in v2.5 Update&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;1 10/100 BaseT Ethernet port&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Available in V2.5_Eth Update&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;MMC/SD hot-swap socket&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;Support available from &lt;a href="http://www.dotvision.com/" target="_blank" class="sidetable2"&gt;DotVision.com&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;p&gt;2 USB 2.0 host ports&lt;/p&gt;&lt;/td&gt;
                &lt;td&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
                
              &lt;/tr&gt;
            &lt;/table&gt;
            &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=48226" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Microframework/default.aspx">Microframework</category></item><item><title>Ampliar periodo de evaluacion de Vista o Windows 2008</title><link>http://labloguera.net/blogs/thempra/archive/2008/10/02/ampliar-periodo-de-evaluacion-de-vista-o-windows-2008.aspx</link><pubDate>Thu, 02 Oct 2008 09:31:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:44367</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/44367.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=44367</wfw:commentRss><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aunque parezca molesto el tener que introducir una licencia, Microsoft se ha vuelvo algo mas permisivo ultimamente. Como todos sabemos se permite la instalacion del Sistema Operativo completamente funcional sin tener el numero de licencia a mano, dejandonos un periodo de 30/60 dias para introducirlo. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Siempre puede darnos el caso que por excesiva carga de trabajo, o para maquinas virtuales, no podamos o no nos interese introducir una licencia y simplemente evaluarlo durante un tiempo limitado. Por lo que la permisividad ha sido mayor dandonos la posibilidad de ampliar este periodo con un comando para gestionar las licencias.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; En linea de comando podremos ver la cantidad de dias que nos quedan para que cumpla la licencia lanzando desde linea de comando:&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class=userInput&gt;slmgr.vbs -dli&lt;/SPAN&gt;&lt;/B&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Si queremos ampliar este perido simplemente debemos de lanzar el comando:&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=userInput&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;B&gt;&lt;I&gt;slmgr.vbs -rearm&lt;/I&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Con esto conseguiremo un perido extra para poder ir a comprar el producto o bien rescatar los datos que dejar en ese sistema.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Tambien es factible automatizar este proceso, simplemente teneis que seguir las instrucciones de la &lt;A class="" href="http://support.microsoft.com/kb/948472" target=_blank&gt;knowledge database.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=44367" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Windows/default.aspx">Windows</category></item><item><title>MicroFramework 3.0 SDK beta disponible</title><link>http://labloguera.net/blogs/thempra/archive/2008/08/02/microframework-3-0-sdk-beta-disponible.aspx</link><pubDate>Sat, 02 Aug 2008 06:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:15545</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/15545.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=15545</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/netmfteam/archive/2008/07/28/v3-0-sdk-beta-now-available.aspx" target="_blank"&gt;&lt;img src="http://blogs.msdn.com/photos/netmfteam/images/8765016/original.aspx"&gt;&lt;/a&gt; &lt;br&gt;
&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ya podemos descargar para empezar a realizar las primeras
pruebas de desarrollo con el nuevo MicroFramework, que cada vez mas le
vamos a tener que cambiar el nombre de micro a macro, por la cantidad
de implementaciones que esta teniendo, :) .&amp;nbsp; &lt;span style="font-size:10pt;line-height:115%;font-family:'Verdana','sans-serif';"&gt;&lt;font color="#000000" size="4"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font size="2"&gt;Las principales novedades son: &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Verdana','sans-serif';"&gt;&lt;font color="#000000" size="4"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font size="2"&gt;Interop con codigo nativo.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Verdana','sans-serif';"&gt;&lt;font color="#000000" size="4"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font size="2"&gt;Touch Screen.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Verdana','sans-serif';"&gt;&lt;font color="#000000" size="4"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font size="2"&gt; Inking.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Verdana','sans-serif';"&gt;&lt;font color="#000000" size="4"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font size="2"&gt;Soporte para USB.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:'Verdana','sans-serif';"&gt;&lt;font color="#000000" size="4"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;&lt;font size="2"&gt;Sistema de ficheros.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; Para descargarlo primero tendreis que&amp;nbsp; registraros en &lt;a href="http://connect.microsoft.com/netmf" target="_blank"&gt;http://connect.microsoft.com/netmf&lt;/a&gt;
y contestar a una pequeña encuesta. Asi entrareis a la comunidad de
desarrolladores y poder participar activamente en este testeo.&lt;/p&gt;&lt;img src="http://connect.microsoft.com/Images/MSConnect_Logo.gif" alt="http://connect.microsoft.com/Images/MSConnect_Logo.gif"&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=15545" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Microframework/default.aspx">Microframework</category></item><item><title>Ajax y el &quot;Access Denied&quot; cross-domain con un IFrame</title><link>http://labloguera.net/blogs/thempra/archive/2008/08/01/ajax-y-el-access-denied-cross-domain-con-un-iframe.aspx</link><pubDate>Fri, 01 Aug 2008 09:15:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:15544</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/15544.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=15544</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp; Uno de los grandes problemas que tenemos en lo referente a seguridad web, 
son los temido ataques &lt;i&gt;"cross-site scripting"&lt;/i&gt;. Algo que navegadores como 
IE (Internet Explorer) solventa con la negacion por defecto de acceso a scripts 
que estan hospedados en dominios distintos a los de nuestras aplicacion. Algo 
que otros navegadores no han optado por llevarlo desde un inicio.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; Esto nos lleva a que si tenemos que empotrar nuestro desarrollo dentro de 
un &lt;b&gt;iframe &lt;/b&gt;de terceros, hospedados ambos en servidores distintos nuestra 
aplicacion funcionara perfectamete en Firefox, Safari, ..... pero no en IE, 
dandonos el error de &lt;b&gt;"Access is denied"&lt;/b&gt; a ese script.&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; La solucion es bastante mas sencilla de lo que hayamos podidos leer en 
otros sitios (&lt;a href="http://weblogs.asp.net/bleroy/archive/2007/01/31/how-to-work-around-the-quot-access-denied-quot-cross-domain-frame-issue-in-asp-net-ajax-1-0.aspx" target="_blank"&gt;1&lt;/a&gt; 
y &lt;a href="http://blogs.msdn.com/delay/archive/2007/02/05/safely-avoiding-the-access-denied-dialog-how-to-work-around-the-access-denied-cross-domain-iframe-issue-in-the-ajax-control-toolkit.aspx" target="_blank"&gt;2&lt;/a&gt;), 
simplemente tendremos que agregar a nuestra pagina o master page (dependiendo de 
donde nos convenga) el siguiente script:&lt;/p&gt;
&lt;blockquote&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;= 
&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;text/javascript&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;
&lt;/font&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (Sys.Browser.agent == Sys.Browser.InternetExplorer){&lt;/span&gt;
&lt;/p&gt;&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Sys.UI.DomElement.getLocation=&lt;span style="color:blue;"&gt;function&lt;/span&gt;(a){&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(a.self||a.nodeType===9)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; Sys.UI.Point(0,0);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; b=a.getBoundingClientRect();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(!b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; Sys.UI.Point(0,0);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c=a.document.documentElement,d=b.left-2+c.scrollLeft,e=b.top-2+c.scrollTop;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;try&lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; g=a.ownerDocument.parentWindow.frameElement||&lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt;(g){&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; f=2-(g.frameBorder||1)*2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;d+=f;e+=f&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="color:blue;"&gt;catch&lt;/span&gt;(h){}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:'Courier New';"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; Sys.UI.Point(d,e)}};&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;script&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
Espero que os sea util, y no os saque de vuestras casillas las distintas 
politicas e interpretaciones de cada navegador.&lt;img src="http://labloguera.net/aggbug.aspx?PostID=15544" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>PDFSharp llega a su version 1.2</title><link>http://labloguera.net/blogs/thempra/archive/2008/07/26/pdfsharp-llega-a-su-version-1-2.aspx</link><pubDate>Sat, 26 Jul 2008 11:36:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:15273</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/15273.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=15273</wfw:commentRss><description>&lt;p&gt;&amp;nbsp; Para que podamos genera documentos PDF con la facilidad que nos da C# tanto para nuestras aplicaciones de escritorio como para las Web.Con caracteristicas tan interesantes como:&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Crear documentos PDF en tiempo de ejecucion con .NET&lt;br&gt;&lt;/li&gt;&lt;li&gt;Facil compresion del modelo de objetos para la composicion de documentos&lt;br&gt;&lt;/li&gt;&lt;li&gt;Posibilidad de dibujar en un pagina PDF, una ventana o una impresora&lt;br&gt;&lt;/li&gt;&lt;li&gt;Modificar, fusionar o dividir fichero PDF&lt;br&gt;&lt;/li&gt;&lt;li&gt; Imágenes con transparencia (máscara de color, monocromo máscara, la máscara alfa) &lt;/li&gt;&lt;li&gt;Nueva concepción, partiendo de cero y escrito enteramente en C #&lt;/li&gt;&lt;li&gt;Compatibilidad con las clases graficar de .NET&lt;br&gt;&lt;/li&gt;&lt;li&gt;Incluye MigraDoc Lite de alto nivel con capas de texto (se puede usar tanto PDFsharp y MigraDoc Lite en un solo documento)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Y gran cantidad de ejemplos desde &lt;a href="http://www.pdfsharp.com/PDFsharp/index.php?option=com_content&amp;amp;task=view&amp;amp;id=24&amp;amp;Itemid=35" target="_blank"&gt;aqui&lt;/a&gt;.Como este "Hello World":&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;pre class="csharp"&gt;&lt;span&gt;// Create a new PDF document&lt;/span&gt;&lt;br&gt;PdfDocument document = &lt;span&gt;new&lt;/span&gt; PdfDocument&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span&gt;// Create an empty page&lt;/span&gt;&lt;br&gt;PdfPage page = document.&lt;span&gt;AddPage&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span&gt;// Get an XGraphics object for drawing&lt;/span&gt;&lt;br&gt;XGraphics gfx = XGraphics.&lt;span&gt;FromPdfPage&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;page&lt;span&gt;)&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span&gt;// Create a font&lt;/span&gt;&lt;br&gt;XFont font = &lt;span&gt;new&lt;/span&gt; XFont&lt;span&gt;(&lt;/span&gt;&lt;span&gt;"Verdana"&lt;/span&gt;, &lt;span&gt;20&lt;/span&gt;, XFontStyle.&lt;span&gt;Bold&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span&gt;// Draw the text&lt;/span&gt;&lt;br&gt;gfx.&lt;span&gt;DrawString&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;"Hello, World!"&lt;/span&gt;, font, XBrushes.&lt;span&gt;Black&lt;/span&gt;,&lt;br&gt;  &lt;span&gt;new&lt;/span&gt; XRect&lt;span&gt;(&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;, &lt;span&gt;0&lt;/span&gt;, page.&lt;span&gt;Width&lt;/span&gt;, page.&lt;span&gt;Height&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;,&lt;br&gt;  XStringFormat.&lt;span&gt;Center&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;span&gt;// Save the document...&lt;/span&gt;&lt;br&gt;&lt;span&gt;string&lt;/span&gt; filename = &lt;span&gt;"HelloWorld.pdf"&lt;/span&gt;;&lt;br&gt;document.&lt;span&gt;Save&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;filename&lt;span&gt;)&lt;/span&gt;;&lt;br&gt;&lt;span&gt;// ...and start a viewer.&lt;/span&gt;&lt;br&gt;Process.&lt;span&gt;Start&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;filename&lt;span&gt;)&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="csharp"&gt;&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;pre class="csharp"&gt;Desde aqui lo podeis &lt;a href="http://www.pdfsharp.com/PDFsharp/index.php?option=com_content&amp;amp;task=view&amp;amp;id=54&amp;amp;Itemid=64" target="_blank"&gt;descargar.&lt;/a&gt; &lt;br&gt;&lt;/pre&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=15273" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/PDF/default.aspx">PDF</category></item><item><title>GNU/Linux + GPE en HTC s200 (Prophet)</title><link>http://labloguera.net/blogs/thempra/archive/2008/06/28/gnu-linux-gpe-en-htc-s200-prophet.aspx</link><pubDate>Sat, 28 Jun 2008 20:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:15031</guid><dc:creator>Thempra</dc:creator><slash:comments>7</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/15031.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=15031</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp; Ultimamente me esta dando por experimentar con mi s200, hasta que por fin lo he conseguido. Bueno mas bien lo han conseguido los crack que trabajan en el proyecto &lt;a href="http://linwizard.wiki.sourceforge.net/" target="_blank"&gt;linwizard&lt;/a&gt;, dadas las similitudes de la&lt;a href="http://en.wikipedia.org/wiki/HTC_Wizard" target="_blank"&gt; HTC Wizard&lt;/a&gt; con la &lt;a href="http://en.wikipedia.org/wiki/HTC_Prophet" target="_blank"&gt;Prophet&lt;/a&gt; podemos correr perfectamente el kernel montado de una para la otra.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; Desde hace tiempo podiamos correr la linea de comandos, pero ya estan empezando a moverse los primeros entronos graficos como GPE, Opie, OpenMoko e incluso Android.&lt;/p&gt;&lt;p&gt;&amp;nbsp; Hoy vamos a correr el primero GPE, aunque es si, recordad que esto es una BETA !!, todo lo que hagais corre a cargo y riesgo vuestro. Pues bien, empezemos a definir los pasos:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Descargar la distro desde &lt;a href="http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2" target="_blank"&gt;aqui&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Descomprimir el directorio GWIZARD en la PDA o en una tarjeta SD/MMC&lt;br&gt;&lt;/li&gt;&lt;li&gt;Simplemente ejecutar "Haret" y clickar en "Run"&lt;/li&gt;&lt;li&gt;Cuando nos salga "linwizard login:" podremos arrancar la interfaz de red (tenemos que tener conectada la PDA por USB)&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;ifconfig usb0 10.100.0.2 up&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;telnet 10.100.0.1&lt;/i&gt;&lt;/li&gt;&lt;li&gt;login: root&amp;nbsp; / pass: (en blanco, darle a enter)&lt;br&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Ya solo nos falta arrancar GPE:&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;# startx &amp;amp;&lt;/i&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&amp;nbsp;&amp;nbsp; Ya podemos empezar a jugar con este entorno:&lt;br&gt;&lt;p style="margin-left:80px;"&gt;&amp;nbsp;&lt;img src="http://familiar.handhelds.org/releases/v0.8.2/install/dl-gpe.png" width="240" height="320"&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;Montar tarjeta MMC/SD&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Si necesitamos mas espacio de almacenamiento para seguir haciendo pruebas solo tenemos que haber preparado nuestro tarjetero antes de arrancar la distro. Gracias a la iniciativa &lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1593777&amp;amp;group_id=174107&amp;amp;atid=867988" target="_blank"&gt;SD-Workaround&lt;/a&gt; podemos hacerlo. Solo tenemos que seguir los siguientes pasos:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Descargar el &lt;a href="http://sourceforge.net/tracker/download.php?group_id=174107&amp;amp;atid=867988&amp;amp;file_id=202149&amp;amp;aid=1593777%20" target="_blank"&gt;zip&lt;/a&gt; y descomprimirlo en la PDA (Muy importante que sea en la PDA y no en la tarjeta)&lt;/li&gt;&lt;li&gt;Arrancar el "ns.exe"&lt;/li&gt;&lt;li&gt;Cargar "install.ns" : File / Open / install.ns. Obtendras el mensaje "Installation OK"&lt;br&gt;&lt;/li&gt;&lt;li&gt;Cargar "hideSD.ns" : File / Open / hideSD.ns&lt;/li&gt;&lt;li&gt;Ahora tienes que sacar y volver a meter la tarjeta.&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;La siguiente vez que arranques linwizard ya podras detectar la tarjeta en /dev/mmcblk0. En las ultimas versiones la dectecta automaticamente, pero en la 0.2.0 y anteriores tienes que forzarlo para que funcione:&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;# cat /proc/partitions &lt;/i&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; major minor&amp;nbsp; #blocks&amp;nbsp; name&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20504 ram0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;179&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990656 mmcblk0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;179&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 78136 mmcblk0p1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;179&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 1912512 mmcblk0p2&lt;br&gt;&lt;br&gt;&lt;i&gt;# cd /dev&lt;br&gt;# mknod mmcblk0 b 179 0&lt;br&gt;# mknod mmcblk0p1 b 179 1&lt;br&gt;# mknod mmcblk0p2 b 179 2&lt;/i&gt;&lt;br&gt;&lt;br&gt;&lt;i&gt;# mkdir /mnt&lt;br&gt;# mkdir /mnt/sda2&lt;br&gt;# mount /dev/mmcblk0p2 /mnt/sda2 &lt;/i&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;Montar el rootfs desde una tarjeta MMC/SD&lt;/b&gt;&lt;/u&gt; &lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; En el primer apartado hemos lanzado el Sistema Operativo desde el initrd, pero ahora vamos a probar a cargar el kernel, pero lanzar el rootfs que este copiado en una tarjeta SD o MMC. En este caso vamos a ver como lanzarlo con el &lt;a href="http://wiki.openmoko.org/wiki/Main_Page" target="_blank"&gt;OpenMoko&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; Primero preparamos nuestra tarjeta con dos particiones, la primera (mmcblk0p1) un sistema de ficheros FAT y en la segunda particion (mmcblk0p2) ha de ser EXT2. (Dado que existen mil tutoriales de como hacerlo me abstengo de detallarlo)&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;En la primera copiaremos el Haret.exe, zImage y default.txt. Desde aqui podremos arrancar nuestro GNU/Linux. El archivo que lleva la configuracion para que arranque el Haret es default.txt por lo que cambiaremos el actual:&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;set MTYPE 1229&lt;br&gt;set KERNEL "zImage"&lt;br&gt;&lt;b&gt;set INITRD "initrd"&lt;/b&gt;&lt;br&gt;set CMDLINE "&lt;b&gt;root=/dev/ram0&lt;/b&gt; ramdisk_size=20504 init=/linuxrc panic=30 video=omapfb:accel console=tty0"&lt;br&gt;bootlinux &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Por el siguiente:&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;set MTYPE 1229&lt;br&gt;set KERNEL "zImage"&lt;br&gt;set CMDLINE "&lt;b&gt;root=/dev/mmcblk0p2&lt;/b&gt; ramdisk_size=20504 init=/linuxrc panic=30 video=omapfb:accel console=tty0"&lt;br&gt;bootlinux&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;En la segunda particion debemos de copiar descomprimido el sistema de ficheros a pelo, como por ejemplo &lt;a href="http://www.angstrom-distribution.org/unstable/autobuild/a780/Angstrom-openmoko-image-glibc-ipk-2007.12-a780.rootfs.tar.gz" target="_blank"&gt;este&lt;/a&gt;, (aunque es para el Motorola A780 arranca).&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-left:80px;"&gt;&amp;nbsp;&lt;img src="http://www.newspeak.org.uk/img/openmoko.png" style="cursor:-moz-zoom-in;" alt="http://www.newspeak.org.uk/img/openmoko.png" width="281" height="374"&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;De la misma forma podremos hacerlo con &lt;a href="http://forum.xda-developers.com/showthread.php?p=2350920" target="_blank"&gt;Android&lt;/a&gt; en breve. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Mas info:&lt;/b&gt;&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;irc://irc.freenode.org/#linwizard&lt;br&gt;irc://irc.freenode.org/#htc-linux&lt;br&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=15031" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category></item><item><title>Virtual Machine Remote Control Client Plus (VMRCplus)</title><link>http://labloguera.net/blogs/thempra/archive/2008/06/28/virtual-machine-remote-control-client-plus-vmrcplus.aspx</link><pubDate>Sat, 28 Jun 2008 06:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:14466</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/14466.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=14466</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Aunque todos virtualizamos, siempre oigo las mismas quejas sobre la interfaz de administracion de Virtual Server R2, dado que la interfaz administrativa es via web perdemos algo de la velocidad que tenemos con los clicks en las aplicaciones de escritorio (bien sea real o bien nos da la sensacion).&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; Pues bien, tenemos una alternativa poco conocida, incluso con esta herramienta podremos instalar algunas &lt;a href="http://www.microsoft.com/technet/prodtechnol/virtualserver/2005/proddocs/vs_deploy_setup_VM_OS_additions.mspx#ETC" target="_blank"&gt;Additions&lt;/a&gt;. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80adc08c-bfc6-4c3a-b4f1-772f550ae791&amp;amp;DisplayLang=en" target="_blank"&gt;&lt;img src="http://blogs.technet.com/blogfiles/mattmcspirit/WindowsLiveWriter/RunningVirtualServeronWindowsServer2008B_91D9/VMRCplus_b7b6e2ab-6682-4ad8-9329-2678f2017957.png" alt="VMRCplus Interface" height="480" width="558" border="0"&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80adc08c-bfc6-4c3a-b4f1-772f550ae791&amp;amp;DisplayLang=en#filelist%20" target="_blank"&gt;Descargar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=14466" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Virtualizacion/default.aspx">Virtualizacion</category></item><item><title>Obtener posicion GPS con GoogleMaps</title><link>http://labloguera.net/blogs/thempra/archive/2008/05/23/obtener-posicion-gps-con-googlemaps.aspx</link><pubDate>Fri, 23 May 2008 06:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:14449</guid><dc:creator>Thempra</dc:creator><slash:comments>1</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/14449.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=14449</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Muchas veces hemos necesitado obtener la posicion GPS de un punto sin estar alli. para metersela al &lt;a href="http://www.tomtom.com" target="_blank"&gt;TomTom,&lt;/a&gt; para hacer algun estudio, por curiosidad, ... Pues bien, simplemente siguiendo los cuatro pasos que se muestras a continuacion los tendreis&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Busca el punto que quieres localizar&amp;nbsp;&lt;/li&gt;&lt;li&gt;Centralo todo lo que puedas&lt;/li&gt;&lt;li&gt;Pon en la barra de tu navegador (sin espacios entre javascript y void, solo los dos puntos):&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; javascript : void(prompt('',gApplication.getMap().getCenter())); &lt;/i&gt;&lt;/b&gt;&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Y ya lo tienes !!! Posicion GPS de &lt;a href="http://www.symbiait.com/" target="_blank"&gt;SymbiaIT&lt;/a&gt;:&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img alt=""&gt;&lt;img alt=""&gt;&lt;a href="http://blog.thempra.net/photos/thempra/images/14448/original.aspx" target="_blank"&gt;&lt;img src="http://blog.thempra.net/photos/thempra/images/14448/640x446.aspx" border="0"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;PD. Muy recomendable tambien pasarse por &lt;a href="http://www.gmap-pedometer.com/%20" target="_blank"&gt;http://www.gmap-pedometer.com/ &lt;/a&gt;si lo que queremos es medir distancias.&lt;br&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=14449" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Google/default.aspx">Google</category></item><item><title>Duelo de titanes: Windows Mobile vs Android</title><link>http://labloguera.net/blogs/thempra/archive/2008/05/06/duelo-de-titanes-windows-mobile-vs-android.aspx</link><pubDate>Tue, 06 May 2008 06:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:14262</guid><dc:creator>Thempra</dc:creator><slash:comments>2</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/14262.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=14262</wfw:commentRss><description>&lt;p&gt;Despues de la rendicion de &lt;a href="http://euro.palm.com/es/es/index.html" target="_blank"&gt;Palm&lt;/a&gt; y la no llegada al publico de &lt;a href="http://www.openmoko.org/" target="_blank"&gt;OpenMoko&lt;/a&gt;, ataca Google con su Sistema Operativo &lt;a href="http://code.google.com/android/" target="_blank"&gt;Android&lt;/a&gt; siendo una realidad, hoy sale a la venta el &lt;b&gt;HTC Dream&lt;/b&gt;, con este S.O. empotrado, pudiendo desarrollar con lenguajes como Java, Mono, .....&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;ACTUALIZACION: &lt;/u&gt;&lt;/b&gt;(HTC parece que corre el rumor de anunciar el lanzamiento del Diamond en el Sur de África en Q4 2008)&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;img src="http://img.xataka.com/2008/03/HTC-039-Dream-039-Mobile-Phone-Coming-true-2.jpg" title="HTC Dream" alt="HTC Dream" height="239" width="279"&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Y aunque teoricamente es novedad hardware, desde hace ya tiempo podemos ver videos en youtube de como funciona en otros dispositivos&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-weight:bold;"&gt;
 HTC Touch Dual
&lt;/span&gt;&lt;br&gt;

&lt;object height="355" width="425"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/bed6KIxZ6zI&amp;amp;hl=es"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://www.youtube.com/v/bed6KIxZ6zI&amp;amp;hl=es" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
 &lt;span style="font-weight:bold;"&gt;HTC Wizard&lt;/span&gt;
&lt;br&gt;

&lt;object height="355" width="425"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/iS_AmG8fCR4&amp;amp;hl=es"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://www.youtube.com/v/iS_AmG8fCR4&amp;amp;hl=es" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-weight:bold;"&gt;
HTC TyTN
&lt;/span&gt;&lt;br&gt;

&lt;object height="355" width="425"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/2LZRo3dSDs0&amp;amp;hl=es"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://www.youtube.com/v/2LZRo3dSDs0&amp;amp;hl=es" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-weight:bold;"&gt;
HTC Polaris
&lt;/span&gt;&lt;br&gt;

&lt;object height="355" width="425"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/64LYnTxhj44&amp;amp;hl=es"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://www.youtube.com/v/64LYnTxhj44&amp;amp;hl=es" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/object&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=14262" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Mono/default.aspx">Mono</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category></item><item><title>Un servidor web en 30 l&#237;neas de c&#243;digo</title><link>http://labloguera.net/blogs/thempra/archive/2008/05/05/un-servidor-web-en-30-l-neas-de-c-digo.aspx</link><pubDate>Mon, 05 May 2008 06:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:14261</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/14261.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=14261</wfw:commentRss><description>&lt;p&gt;&amp;nbsp; Tiembla IIS !! je ,je , interesante articulo de &lt;a href="http://ayende.com" target="_blank"&gt;Oren Eini&lt;/a&gt;, en el que nos muestra como programar un servidor web en pocas lineas de codigo en &lt;a href="http://es.wikipedia.org/wiki/Boo_%28programaci%C3%B3n%29" target="_blank"&gt;Boo&lt;/a&gt;, un  leguaje que empezo como experimento inspirado en Python, pero que cada vez coje mas fuerza, dada la comunidad que le acompaña.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre&gt;&lt;span&gt;import&lt;/span&gt; System.Net&lt;br&gt;&lt;span&gt;import&lt;/span&gt; System.IO&lt;br&gt;&lt;br&gt;&lt;span&gt;if&lt;/span&gt; argv.Length != 2:&lt;br&gt;	&lt;span&gt;print&lt;/span&gt; "&lt;span&gt;You must pass [prefix] [path] as parameters&lt;/span&gt;"&lt;br&gt;	&lt;span&gt;return&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span&gt;prefix&lt;/span&gt; = argv[0]&lt;br&gt;&lt;span&gt;path&lt;/span&gt; = argv[1]&lt;br&gt;&lt;br&gt;&lt;span&gt;if&lt;/span&gt; not Directory.Exists(&lt;span&gt;path&lt;/span&gt;):&lt;br&gt;	&lt;span&gt;print&lt;/span&gt; "&lt;span&gt;Could not find ${path}&lt;/span&gt;"&lt;br&gt;	&lt;span&gt;return&lt;/span&gt;&lt;br&gt;&lt;br&gt;listener = HttpListener()&lt;br&gt;listener.Prefixes.Add(&lt;span&gt;prefix&lt;/span&gt;)&lt;br&gt;listener.Start()&lt;br&gt;&lt;br&gt;while true:&lt;br&gt;	context = listener.GetContext()&lt;br&gt;	file = Path.GetFileName(context.Request.RawUrl)&lt;br&gt;	fullPath = Path.Combine(&lt;span&gt;path&lt;/span&gt;, file)&lt;br&gt;	&lt;span&gt;if&lt;/span&gt; File.Exists(fullPath):&lt;br&gt;		context.Response.AddHeader("&lt;span&gt;Content-Disposition&lt;/span&gt;","&lt;span&gt;attachment; filename=${file}&lt;/span&gt;")&lt;br&gt;		bytes = File.ReadAllBytes(fullPath)&lt;br&gt;		context.Response.OutputStream.Write(bytes, 0, bytes.Length)&lt;br&gt;		context.Response.OutputStream.Flush()&lt;br&gt;		context.Response.Close()&lt;br&gt;	&lt;span&gt;else&lt;/span&gt;:&lt;br&gt;		context.Response.StatusCode = 404&lt;br&gt;		context.Response.Close()&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Para compilarlo solo&lt;br&gt;&lt;/p&gt;&lt;pre&gt;# booi prueba.boo http://localhost:8085/ ~/Desktop/&lt;br&gt;&lt;/pre&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=14261" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.IIS/default.aspx">.IIS</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Mono/default.aspx">Mono</category></item><item><title>Mapear la definicion SOAP del WSDL</title><link>http://labloguera.net/blogs/thempra/archive/2008/04/23/mapear-la-definicion-soap-del-wsdl.aspx</link><pubDate>Wed, 23 Apr 2008 10:06:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:14150</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/14150.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=14150</wfw:commentRss><description>&lt;P&gt;&amp;nbsp;Si por cualquier&amp;nbsp;motivo no te gusta la devulucion del WSDL que nos brinda&amp;nbsp;un Servicio&amp;nbsp;Web, no te preocupes,&amp;nbsp;todo se puede modificar.Gracias a un articulo de Christian Weyer, puedes alterar, como es este caso la URL que nos devuleve el la etiqueta &lt;SPAN class=m&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t&gt;&lt;FONT color=#990000&gt;soap:address&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=t&gt;&lt;FONT color=#990000&gt;location&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;A href="http://www.tuurl.com/"&gt;http://www.tuURL.com&lt;/A&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=m&gt;&lt;/SPAN&gt;&lt;SPAN class=m&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt; o &lt;SPAN class=m&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t&gt;&lt;FONT color=#990000&gt;soap12:address&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=t&gt;&lt;FONT color=#990000&gt;location&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;A href="http://www.tuurl.com/"&gt;http://www.tuURL.com&lt;/A&gt;&lt;/B&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=m&gt;"&lt;/SPAN&gt;&lt;SPAN class=m&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt; .Casos reales en los que el IIS contesta por&amp;nbsp;el puerto&amp;nbsp;80 y estan mapeados en el firewall los puertos, existen redirecciones, ..... &lt;/P&gt;
&lt;P&gt;Creamos un fichero SoapAddressReflector.cs dentro del App_Code&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.Configuration;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; System.Web.Services.Description;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;namespace&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SymbiaIT.Tools.Web.Services.Metadata&lt;BR&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;SoapAddressReflector&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; : &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;SoapExtensionReflector&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;{&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;override&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; ReflectMethod()&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ServiceDescription&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; sd = ReflectionContext.ServiceDescription;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ServiceCollection&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; myServiceCollection = sd.Services;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;Port&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; port &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; myServiceCollection[0].Ports)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ServiceDescriptionFormatExtension&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; extension &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; port.Extensions)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; (extension &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;is&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;SoapAddressBinding&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;SoapAddressBinding&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; address = (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;SoapAddressBinding&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;)extension;&lt;/P&gt;
&lt;P&gt;address.Location = &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;&lt;FONT color=#2b91af size=2&gt;ConfigurationManager&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;.AppSettings[&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"SoapAddress"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;];&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;En las secciones pertinentes del&amp;nbsp;web.config &lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;configuration&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;appSettings&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;!--&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt; URL del web service, para el parseo soap &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;--&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;add&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;key&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SoapAddress&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;value&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;http://scorm.cuadernia.educa.jccm.es/cuadernia/service.asmx&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;appSettings&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;system.web&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;webServices&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;soapExtensionReflectorTypes&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;add&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;type&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;SymbiaIT.Tools.Web.Services.Metadata.SoapAddressReflector, App_code&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;soapExtensionReflectorTypes&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;webServices&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;system.web&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;configuration&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=14150" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.IIS/default.aspx">.IIS</category></item><item><title>[CLMNET] Hands On Lab.- Desarrollo guiado por pruebas</title><link>http://labloguera.net/blogs/thempra/archive/2008/03/17/clmnet-hands-on-lab-desarrollo-guiado-por-pruebas.aspx</link><pubDate>Mon, 17 Mar 2008 12:50:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:12889</guid><dc:creator>Thempra</dc:creator><slash:comments>0</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/12889.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=12889</wfw:commentRss><description>&lt;p&gt;El proximo dia 29 de Marzo contaremos con la presencia de Hadi Hariri con una estupenda sesion de TDD, ya oodeis apuntaros:&lt;br&gt; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES" target="_blank"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES &lt;/a&gt;&lt;br&gt;
&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES" target="_blank"&gt;
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES&lt;br&gt;

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;&lt;div class="eventdetails"&gt;
                                    &lt;p&gt;&lt;span id="lblEventDescription"&gt;&lt;h3&gt;&lt;img src="https://mseventsww.microsoft.com/BannerImages/418b5849-f9e8-4305-8e4f-fe2ce586b214.jpg" alt="No se puede mostrar la imagen “https://mseventsww.microsoft.com/BannerImages/418b5849-f9e8-4305-8e4f-fe2ce586b214.jpg” porque contiene errores." height="166" width="505"&gt;&lt;/h3&gt;&lt;br&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="font-size:14pt;"&gt;&lt;span style="font-size:11pt;font-family:'Calibri','sans-serif';"&gt;
&lt;h5 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:10pt;font-family:'Arial','sans-serif';"&gt;&lt;font size="3"&gt;&lt;span style="font-size:11pt;font-family:'Times New Roman','serif';"&gt;&lt;span style="font-size:10pt;font-family:'Arial','sans-serif';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="" size="4"&gt;&lt;font face="Calibri"&gt;&lt;font size="4"&gt;&lt;span style="font-size:10pt;font-family:'Arial','sans-serif';"&gt;&lt;span style="font-size:11pt;"&gt;&lt;span style="color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;span style="color:black;font-family:'Verdana','sans-serif';"&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span&gt;CLMNET.- Hands On Lab.- Desarrollo guiado por pruebas (TDD)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Descripción:&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Hadi
Hariri realizará un Hand On Lab (Taller práctico guiado) con una charla
extendida de desarrollo utilizando TDD (Test Driven Development o
desarrollo guiado por pruebas), con un enfoque práctico, con ejemplos,
de cómo resolver casos reales incluyendo aspectos de metodología y de
desarrollo en equipo como: &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle" style="margin:0cm 0cm 0pt 54pt;text-indent:-18pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Pruebas unitarias&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle" style="margin:0cm 0cm 0pt 54pt;text-indent:-18pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Mocks (prototipos)&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle" style="margin:0cm 0cm 0pt 54pt;text-indent:-18pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Arquitectura en capas incluyendo MVC&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Ponente&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;: Hadi Hariri &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Fecha&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;:&amp;nbsp;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Sábado 29&amp;nbsp;marzo del 2008 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Horas&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9:00h &amp;nbsp;a 13:00&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;"&gt;&lt;u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Lugar&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;&amp;nbsp; &lt;/span&gt;Laboratorio Software 5, &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;Escuela Politécnica superior de Albacete (EPSA) &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:'Verdana','sans-serif';"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h5&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
                                    &lt;/div&gt;
                                    &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES" target="_blank"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES &lt;/a&gt;&lt;br&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES" target="_blank"&gt;
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES&lt;br&gt;
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032373678&amp;amp;Culture=es-ES&lt;br&gt;&lt;/a&gt;
&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=12889" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/TDD/default.aspx">TDD</category></item><item><title>Charles Simonyi o como escribir codigo</title><link>http://labloguera.net/blogs/thempra/archive/2008/03/17/charles-simonyi-o-como-escribir-codigo.aspx</link><pubDate>Mon, 17 Mar 2008 07:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:12857</guid><dc:creator>Thempra</dc:creator><slash:comments>1</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/12857.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=12857</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Dado que llevo un tiempo sin escribir, la mejor forma que me ha parecido de retomar la marcha es recordando (en mi opinion) al padre de la notacion en la programacion. Este caballero de origen hungaro, ha estado trabajando durante muchos años en proyectos de Microsoft de los menos conocidos, Word, Excel, ... no se si os sonaran ;) &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Charles_simonyi.jpg" class="image" title="Charles Simonyi"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Charles_simonyi.jpg/200px-Charles_simonyi.jpg" alt="Charles Simonyi" border="0" height="301" width="200"&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Y no vamos a hablar sobre su &lt;a href="http://www.clarin.com/diario/2006/08/14/um/m-01252432.htm" target="_blank"&gt;proximo viaje espacial&lt;/a&gt;, si no sobre la&amp;nbsp; &lt;b&gt;"Notacion Hungara"&lt;/b&gt;, obviamente en la epoca que se planteo esta nomemclatura se basaba en usar unos prefijos antes de cada variable:&lt;/p&gt;&lt;p&gt;&lt;b&gt;Prefijo&lt;/b&gt; &lt;b&gt;Significado&lt;/b&gt;&lt;/p&gt;&lt;b&gt;a&lt;/b&gt; de 'array'. Para vectores/matrices/listas de n dimensiones ordenados escalarmente.&lt;b&gt;b&lt;/b&gt; de 'booleano'. Para variables que tomen sólo dos tipos de valores.&lt;b&gt;c&lt;/b&gt; de 'char'. Para el tipo primitivo de carácter alfanumérico individual.&lt;b&gt;d&lt;/b&gt; de 'double'. Para tipos numéricos de alta precisión, como double o float.&lt;b&gt;e&lt;/b&gt; de 'event'. Para eventos.&lt;b&gt;f&lt;/b&gt; de 'función'. Sólo la utilizaremos delante de funciones
cuando se traten de funciones que se añadan como observadores de un
evento (ya que usar esta notación para cualquier método o función sería
bastante engorroso).&lt;b&gt;g&lt;/b&gt; de 'delegated'. Para tipos delegados.&lt;b&gt;h&lt;/b&gt; de 'hashtable'. Colecciones ordenables mediante clave hash (hUsuarios[“juan23”]).&lt;b&gt;i&lt;/b&gt; de 'int'. Para números enteros en general, tanto enteros normales como aquellos tipos enteros de más capacidad (como long).&lt;b&gt;l&lt;/b&gt; de 'lock'. Para objetos de control que nos faciliten el uso de exclusiones mutuas, candados y semáforos.&lt;b&gt;n&lt;/b&gt; de 'enum'. Para tipos enumerados.&lt;b&gt;o&lt;/b&gt; de 'objeto'. Para objetos en general (no se debe usar la
notación húngara para distinguir entre tipos de objetos, salvo escasas
excepciones).&lt;b&gt;p&lt;/b&gt; de 'puntero'. Para lenguajes con aritmética de punteros.&lt;b&gt;s&lt;/b&gt; de 'string'. Para variables de tipo cadena de texto, ya
sean nativos o arrays de chars. Este tipo de datos es muy habitual en
lenguajes sin lógica de punteros. Si se usara el objeto de tipo
“String” en estos casos, acudiremos a este identificador en lugar de al
‘o’ de objeto.&lt;b&gt;t&lt;/b&gt; de 'struct'. Similar al 'o' de objetos, éste se usaría
para variables de tipo struct en general (es decir, objetos de tipo
primitivo).&lt;b&gt;v&lt;/b&gt; de 'variable'. Para variables que adquieran diferentes
tipos de valores. Normalmente sólo acudiremos a esta opción en
lenguajes no tipados (como &lt;a href="http://es.wikipedia.org/wiki/JavaScript" title="JavaScript"&gt;JavaScript&lt;/a&gt;/&lt;a href="http://es.wikipedia.org/wiki/EcmaScript" class="mw-redirect" title="EcmaScript"&gt;EcmaScript&lt;/a&gt;).
La usaremos cuando no estemos seguros del tipo de valor que albergará
una variable. También puede valer para objetos que tengan un tipo
genérico T.&lt;b&gt;y&lt;/b&gt; de 'byte'.&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; El detalle es que la programacion avanza, y al crearse nuevos objetos, tipos, ... nos encontramos con nuevas posibilidades, y lo peor, que la tecnologia nos permite (en mi opinion) la aberracion de llamar a proyectos que generan dll de la forma &lt;b&gt;"La_Libreria v1.0.dll"&lt;/b&gt; vale, muy bien, aplaudo la posibilidad de estas opciones, pero cuando eres desarollador el echo de tenerque picar Shift +&amp;nbsp; guion , el punto, los espacios, .... seamos realistas &lt;b&gt;ES UN INCORDIO !!&lt;/b&gt; , y mas, si queremos usar la gran capacidad de cambio de plataforma del .NET hemos de recordar que no todos los sistemas operativos interpretan igual los nombres, sin ir mas lejos la diferenciacion de Mayusculas y Minisculas.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; La solucion de este tipo de inconvenientes es obvio, evolucionar la notacion hungara y readaptarla a nuestras nuevas clases. Si queremos simular un espacio se hace cambio de minusculas a mayusculas ( asiDefinimosEspacios ), simpre empezar a escribir con minusculas, cada objeto lo definiremos con dos o tres letras delante. Por ejemplo:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;txtCuadrado&lt;/b&gt;: para los TexBox.&lt;/li&gt;&lt;li&gt;&lt;b&gt;cmbCombo&lt;/b&gt;: para los ComboBox.&lt;/li&gt;&lt;li&gt;&lt;b&gt;rbOpcion&lt;/b&gt;:&amp;nbsp; para los RadioButton.&lt;/li&gt;&lt;li&gt;&lt;b&gt;chkOpcion&lt;/b&gt;: para los CheckBox.&lt;/li&gt;&lt;li&gt;.....&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; De esta forma el leer codigo de otras personas, junto con los comentarios, nos sera muuucho mas sencillo, hasta el punto en el que solo sepamos diferenciar quien lo has escrito por el nombre de autor que ponga en el comentario y la complejidad de sus algoritmos.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br&gt;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=12857" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/Nomenclatura/default.aspx">Nomenclatura</category></item><item><title>Como IIS o Apache no protege y como nos empe&#241;amos en ser vulnerables</title><link>http://labloguera.net/blogs/thempra/archive/2008/01/02/como-iis-no-protege-y-como-nos-empe-amos-en-ser-vulnerables.aspx</link><pubDate>Wed, 02 Jan 2008 07:00:00 GMT</pubDate><guid isPermaLink="false">982ae711-7ac7-407a-b99e-5d5a6cc12179:8243</guid><dc:creator>Thempra</dc:creator><slash:comments>1</slash:comments><comments>http://labloguera.net/blogs/thempra/comments/8243.aspx</comments><wfw:commentRss>http://labloguera.net/blogs/thempra/commentrss.aspx?PostID=8243</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Una propuesta para el nuevo año, ser algo mas seguros de lo que nos encabezonamos algunas veces de practicar, todos sabemos perogrulladas tales como que nuestro servidor web con soporte .NET no nos permitira nunca servir determinados ficheros, tales como cualquier fichero dentro del directorio &lt;b&gt;bin,&lt;/b&gt; algunos tales como&lt;b&gt; web.config&lt;/b&gt;, y algunos mas que en ningun momento nos interesa que rescaten, dado que acostumbran a poseer informacion comprometida.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; El guardar las cadenas de conexion en el web.config es una opcion usado por todos, dada la facilidad de rescatar esta informacion en nuestra aplicacion web, y poder portarla de un server a otro, pero ........ &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; ¿Quien no ha modificado alguna vez este fichero y &lt;b&gt;para asegurarse de tener un backup&lt;/b&gt; no ha guardado copia del mismo con un cambio de su extion con .OLD,&amp;nbsp; .BAK, .....?&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pues bien, si estas malas formas las realizas en servidores de desarrollo, "&lt;i&gt;hasta cierto punto"&lt;/i&gt; no exite mayor&amp;nbsp; problema, el problema real es cuando las haces en un servidor de producion, añadiendole a esto el dejar marcada la casilla de "examinar directorio" con la excusa ...... "es que queria ver si estaba bien subido" u otras similares,&amp;nbsp; ..... ejem, ejem, .....&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;img src="http://mx.geocities.com/txeme_7/google_hacker.gif" alt="http://mx.geocities.com/txeme_7/google_hacker.gif"&gt; &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; Cualquiera en este momento diria ....... nadie es tan retorcido para buscar estas cosas ...... pues si, ahi uno, el mas retorcido de todos, nuestro gran amigo GOOGLE !!!, basicamente lanzando ciertas busquedas puedes encontrar informacion muy comprometida de muchos servidores, solo hace falta un poco de paciencia.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Realizemos una busqueda al azar &lt;a href="http://www.google.com/search?hl=es&amp;amp;q=web.config.OLD" target="_blank"&gt;CLICK&amp;nbsp; &lt;/a&gt;o &lt;a href="http://www.google.es/search?hl=es&amp;amp;q=%5BTo+Parent+Directory%5D+app_code.dll" target="_blank"&gt;CLICK&lt;/a&gt;, &lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;¿Os animais a publicar algunas mas ...?&amp;nbsp; ;)&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://labloguera.net/aggbug.aspx?PostID=8243" width="1" height="1"&gt;</description><category domain="http://labloguera.net/blogs/thempra/archive/tags/Software+Libre/default.aspx">Software Libre</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.NET/default.aspx">.NET</category><category domain="http://labloguera.net/blogs/thempra/archive/tags/.IIS/default.aspx">.IIS</category></item></channel></rss>