<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://kartones.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>Kartones.Net</title><link>http://kartones.net/blogs/</link><description>Your development, technologies and RPGs community</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Noticias 26-Julio-2008</title><link>http://kartones.net/blogs/lawebdeprogramacion/archive/2008/07/26/noticias-26-julio-2008.aspx</link><pubDate>Sat, 26 Jul 2008 12:51:58 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14596</guid><dc:creator>Kartones</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Pocas pero interesantes novedades en el frente...&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.shacknews.com/onearticle.x/53810"&gt;Microsoft anuncia los primeros detalles de DirectX 11&lt;/a&gt;: Sólo para Vista (y futuros SOs), soporte de Tesselation, compatibilidad con DirectX 10, gestión de recursos multi-hilo, y capacidades para aprovechar las GPUs para tareas no-gráficas (algo como el &lt;a href="http://en.wikipedia.org/wiki/CUDA"&gt;CUDA&lt;/a&gt; de NVidia?).&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.shacknews.com/onearticle.x/53809"&gt;XBox 360 Community Games&lt;/a&gt;: Interesante movimiento de Microsoft para potenciar el desarrollo con XNA de juegos para el Live Arcade: Poder venderlos y llevarse hasta el 70% de las ganancias.&lt;/li&gt; &lt;li&gt;&lt;a href="http://community.winsupersite.com/blogs/paul/archive/2008/07/21/windows-home-server-power-pack-1-is-now-available.aspx"&gt;Windows Home Server Power Pack 1 disponible&lt;/a&gt;: Mejoras y nuevas funcionalidades para este &amp;quot;servidor casero&amp;quot;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://arstechnica.com/news.ars/post/20080715-intel-launches-centrino-2-with-host-of-chipset-improvements.html"&gt;Intel lanza el Centrino 2&lt;/a&gt;: Nuevo micro con FSB de 1066MHz, varios procesadores dual-core, más ahorro de batería y mejor rendimiento, y como no, nuevas placas para poder usarlos ;)&lt;/li&gt; &lt;li&gt;&lt;a href="http://google.dirson.com/post/4063-google-knol-wikipedia-google/"&gt;Google lanza Knol&lt;/a&gt;: Competencia directa a la wikipedia, y para intentar atraer gente, ofrecen el que los autores se lleven las ganancias de Adsense si deciden colocarlo en los artículos que escriban (si no puedes ofrecer mejoras, ofrece dinero ;).&lt;/li&gt; &lt;li&gt;&lt;a href="http://port25.technet.com/archive/2008/07/25/oscon2008.aspx"&gt;Microsoft se convierte en sponsor de la Apache Software Foundation&lt;/a&gt;: Curioso movimiento, supongo que para a la vez hacer research de posibles mejoras al IIS (Internet Information Server).&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=14596" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/3D/default.aspx">3D</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Apache/default.aspx">Apache</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/DirectX/default.aspx">DirectX</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Google/default.aspx">Google</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Hardware/default.aspx">Hardware</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Intel/default.aspx">Intel</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/NVidia/default.aspx">NVidia</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Service+Pack/default.aspx">Service Pack</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Windows+Home+Server/default.aspx">Windows Home Server</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/XBox+360/default.aspx">XBox 360</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/XNA/default.aspx">XNA</category></item><item><title>Creating custom search providers for Firefox and IE7</title><link>http://kartones.net/blogs/kartones/archive/2008/07/25/creating-custom-search-providers-for-firefox-and-ie7.aspx</link><pubDate>Fri, 25 Jul 2008 12:07:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14442</guid><dc:creator>Kartones</dc:creator><slash:comments>0</slash:comments><description>
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
 
&lt;p&gt;Firefox and Internet Explorer 7 use search providers based on the &lt;a href="http://www.opensearch.org/Specifications/OpenSearch/1.1"&gt;OpenSearch 1.1 specification&lt;/a&gt;. This means that anyone can develop their custom providers and add them to their browsers.&lt;/p&gt;
 
&lt;p&gt;So, I&amp;#39;ve learned a bit of how to create them and created one of each to &amp;quot;connect&amp;quot; with the blog community &lt;a href="http://kartones.net/search/SearchResults.aspx"&gt;search page&lt;/a&gt; (so you can search all blog posts for specific info).&lt;/p&gt;
 
&lt;p&gt;&lt;b&gt;&lt;u&gt;Firefox&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
 
&lt;p&gt;Starting with Firefox, info about creating custom search engines can be found in &lt;a href="http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox"&gt;this page&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;Here is the markup code for our custom Kartones.Net search provider (notice the &lt;b&gt;[SOMEDATAHERE]&lt;/b&gt; tag, it is to avoid placing base64 binary image data in the post).&lt;/p&gt;
 
&lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;SearchPlugin&lt;/font&gt;&lt;font color="red"&gt; xmlns&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;http://www.mozilla.org/2006/browser/search/&amp;quot;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;ShortName&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Kartones.Net&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;ShortName&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Description&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Kartones.Net Community Search&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Description&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;InputEncoding&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;UTF-8&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;InputEncoding&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Image&lt;/font&gt;&lt;font color="red"&gt; width&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;16&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; height&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;16&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;data:image/gif;base64,&lt;b&gt;[SOMEDATAHERE]&lt;/b&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Image&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Url&lt;/font&gt;&lt;font color="red"&gt; type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;text/html&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; method&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;GET&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; template&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;http://kartones.net/search/SearchResults.aspx&amp;quot;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Param&lt;/font&gt;&lt;font color="red"&gt; name&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;q&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; value&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;=&amp;quot;{searchTerms}&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Url&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;SearchForm&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;http://kartones.net/search/SearchResults.aspx&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;SearchForm&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;SearchPlugin&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;/p&gt;
 
&lt;p&gt;Basically, we setup:&lt;/p&gt;
 
&lt;ul&gt; 
&lt;li&gt;A short name (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;ShortName&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)  &lt;/li&gt;

&lt;li&gt;A description (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Description&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)  &lt;/li&gt;

&lt;li&gt;The input encoding, usually UTF-8 (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;InputEncoding&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)  &lt;/li&gt;

&lt;li&gt;An image (&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Image&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;, can be converted to base-64 &lt;a href="http://software.hixie.ch/utilities/cgi/data/data"&gt;here&lt;/a&gt;)  &lt;/li&gt;

&lt;li&gt;The URL that performs the search (&lt;font face="Courier New"&gt;&amp;lt;Url&amp;gt;&lt;/font&gt;) and its parameters (&lt;font face="Courier New"&gt;&amp;lt;Param&amp;gt;&lt;/font&gt;, our typed search will be in the &lt;font color="#0000ff" face="Courier New"&gt;{searchTerms}&lt;/font&gt; value)  &lt;/li&gt;

&lt;li&gt;A reference to the search form page (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;SearchForm&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)&lt;/li&gt;
&lt;/ul&gt;
 
&lt;p&gt; As you might have noticed, it simply creates a querystring similar to the ones the webpage creates (example: &lt;a href="http://kartones.net/search/SearchResults.aspx?q=RPG" title="http://kartones.net/search/SearchResults.aspx?q=RPG"&gt;http://kartones.net/search/SearchResults.aspx?q=RPG&lt;/a&gt;), and create info (image, name, description...).&lt;/p&gt;
 
&lt;p&gt;Here is a screenshot of the added search engine:&lt;/p&gt;
 
&lt;p&gt;&lt;img src="http://kartones.net/images_posts/screenshots/firefox_custom_searchprovider.png" alt="" /&gt;&lt;/p&gt;
 
&lt;p&gt;&lt;u&gt;&lt;b&gt;Internet Explorer 7&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
 
&lt;p&gt;Creating a IE7 provider is very simple too. Microsoft has &lt;a href="http://msdn.microsoft.com/en-us/library/ms532996.aspx"&gt;a MSDN page&lt;/a&gt; that explains quite simply the process.&lt;/p&gt;
 
&lt;p&gt;First the markup code:&lt;/p&gt;
 
&lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;?xml&lt;/font&gt;&lt;font color="red"&gt; version&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;1.0&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; encoding&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;UTF-8&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; ?&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;OpenSearchDescription&lt;/font&gt;&lt;font color="red"&gt; xmlns&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;http://a9.com/-/spec/opensearch/1.1/&amp;quot;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;ShortName&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Kartones.Net&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;ShortName&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Description&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Kartones.Net Search Engine&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Description&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Tags&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Kartones Blog Blogs Community Development .NET C# Java ASP.NET Hardware&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Tags&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Contact&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;admin@kartones.net&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Contact&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Image&lt;/font&gt;&lt;font color="red"&gt; height&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;16&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; width&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;16&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;image/x-icon&amp;quot;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;http://kartones.net/favicon.ico&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Image&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Developer&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Kartones&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Developer&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;font face="Courier New"&gt;&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;InputEncoding&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;UTF-8&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;InputEncoding&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Url&lt;/font&gt;&lt;font color="red"&gt; type&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;text/html&amp;quot;&lt;/font&gt;&lt;font color="red"&gt; template&lt;/font&gt;&lt;font color="blue"&gt;=&amp;quot;http://kartones.net/search/SearchResults.aspx?q={searchTerms}&amp;quot;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;/&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;OpenSearchDescription&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
 
&lt;p&gt;Once again, we have to setup some info: &lt;/p&gt;
 
&lt;ul&gt; 
&lt;li&gt;Short name (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;ShortName&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)&lt;/li&gt;
 
&lt;li&gt;Description (&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Description&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;)&lt;/li&gt;
 
&lt;li&gt;Few tags about the site (&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Tags&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;)&lt;/li&gt;
 
&lt;li&gt;A contact email (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Contact&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)&lt;/li&gt;
 
&lt;li&gt;An image (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Image&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;, this time can be a favicon and there&amp;#39;s no need to base-64 encode it)&lt;/li&gt;
 
&lt;li&gt;Name of the developer/author (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Developer&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)&lt;/li&gt;
 
&lt;li&gt;Input encoding (&lt;font face="Courier New"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;InputEncoding&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;)&lt;/li&gt;
 
&lt;li&gt;Search URL, including the earch terms (&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Url&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt;, again &lt;font color="#0000ff" face="Courier New"&gt;{searchTerms}&lt;/font&gt; will contain our typed search)&lt;/li&gt;
&lt;/ul&gt;
 
&lt;p&gt;Very straighforward too, no need for explanations.&lt;/p&gt;
 
&lt;p&gt;Here&amp;#39;s another screenshot of the search engine added to my IE7:&lt;/p&gt;
 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
 
&lt;p&gt;&lt;img src="http://kartones.net/images_posts/screenshots/ie7_custom_searchprovider.png" alt="" /&gt;&lt;/p&gt;
 
&lt;p&gt;And that&amp;#39;s all, I&amp;#39;ve created two different XMLs because I didn&amp;#39;t wanted to spend too much time, probably with more patience could be merged into a single one valid for both browsers (I haven&amp;#39;t tried either adding the IE7 one in FFox).&lt;/p&gt;
 
&lt;p&gt;You can install the Kartones.Net search engines from &lt;a href="http://kartones.net/demos/012/searchproviders.html"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;UPDATE: As Community Server doesn&amp;#39;t allows javascript in posts, I&amp;#39;ve created a small demo and updated the link to it. &lt;br /&gt;&lt;/p&gt;
&lt;img src="http://kartones.net/aggbug.aspx?PostID=14442" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/kartones/archive/tags/Firefox/default.aspx">Firefox</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Internet+Explorer+7/default.aspx">Internet Explorer 7</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Kartones.Net/default.aspx">Kartones.Net</category><category domain="http://kartones.net/blogs/kartones/archive/tags/OpenSearch/default.aspx">OpenSearch</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Search+providers/default.aspx">Search providers</category></item><item><title>Software de virtualización de Sun. VirtualBox</title><link>http://kartones.net/blogs/netcodigo/archive/2008/07/23/software-de-virtualizaci-243-n-de-sun-virtualbox.aspx</link><pubDate>Wed, 23 Jul 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14201</guid><dc:creator>fsancab</dc:creator><slash:comments>0</slash:comments><description>&lt;img src="http://kartones.net/images_posts/netcodigo/virtualboxlogo.gif" title="VirtualBox" alt="VirtualBox" /&gt; Sun ha desarrollado un software para virtualizar sistemas, lo han llamado &lt;a href="http://www.virtualbox.org/" target="_blank"&gt;VirtualBox&lt;/a&gt;. Por supuesto, siguiendo la filosofía de la empresa es open source y por supuesto multiplataforma. Se puede ejecutar en Windows, Linux, Macintosh (aún en beta), Solaris y soporta también una gran variedad de sistemas invitados como Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), y OpenBSD. 
&lt;p style="text-align:center;"&gt;&lt;img src="http://kartones.net/images_posts/netcodigo/virtualbox.gif" title="VirtualBox" alt="VirtualBox" /&gt; &lt;img src="http://kartones.net/images_posts/netcodigo/virtualbox1.gif" title="VirtualBox" alt="VirtualBox" /&gt;&lt;/p&gt;
&lt;p&gt;Para estar informado del producto visitar el &lt;a href="http://blogs.sun.com/VirtualBoxBuzz/" target="_blank"&gt;blog&lt;/a&gt;.&lt;br /&gt;Para descargar &lt;a href="http://www.virtualbox.org/wiki/Downloads" target="_blank"&gt;aquí&lt;/a&gt;. &lt;br /&gt;Para documentación &lt;a href="http://www.virtualbox.org/wiki/Documentation" target="_blank"&gt;aquí&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=14201" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/netcodigo/archive/tags/open+source/default.aspx">open source</category></item><item><title>El Espejo de Plata</title><link>http://kartones.net/blogs/master/archive/2008/07/23/el-espejo-de-plata.aspx</link><pubDate>Tue, 22 Jul 2008 22:26:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14190</guid><dc:creator>Vicente</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Mis jugadores y yo seguimos recortando y montando nuestro primer escenario de papel (un bosque), y así hacemos tiempo para que yo pueda inspirarme un poco y pensar en el argumento de la campaña. Esta última semana he estado mirando bastantes links sobre guiones de libros, películas y series, recursos literarios, diseño de aventuras, pensamiento lateral y puzles lógicos,... y la verdad que me están ayudando mucho a dar forma a las ideas que tengo en la cabeza (cuando ordene los links un poco los pondré por aquí).&lt;/p&gt;  &lt;p&gt;Voy a comentar primero como organicé a grandes rasgos la campaña que hemos jugado al DnD 3e y después ya os cuento que llevo pensado para esta nueva partida. En el DnD 3e quería que mi campaña girara alrededor de los siguientes puntos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Dos artefactos llamados &lt;i&gt;Espadas de Negación&lt;/i&gt; y &lt;i&gt;La Puerta a Cualquier Lugar&lt;/i&gt;. &lt;/li&gt;    &lt;li&gt;Las ideas de &lt;i&gt;memoria&lt;/i&gt; y &lt;i&gt;olvido&lt;/i&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Las &lt;i&gt;Espadas de Negación&lt;/i&gt; son dos dagas que usa uno de los antagonistas de los personajes (llamado originalmente el &lt;i&gt;Asesino&lt;/i&gt;, tengo un don para los nombres :p) que tienen el poder de poder matar a cualquiera que se desee resultando destruidas en el proceso. Cuando los personajes se encontraron con este NPC su objetivo era matar a Cyric, el dios de los asesinos (una venganza) aunque después han variado de objetivo (al menos una vez). La forma en que las espadas eligen su víctima es bastante personal, no basta con decir &amp;quot;matar a fulano&amp;quot;.&lt;/p&gt;  &lt;p&gt;La &lt;i&gt;Puerta a Cualquier Lugar&lt;/i&gt; es un objeto que permite establecer un destino, sea cual sea y cualquier persona que la cruce aparecerá en él. Una vez establecido este destino no puede cambiarse.&lt;/p&gt;  &lt;p&gt;La idea de memoria y olvido estaba relacionada con un tipo de criatura a la que se denomina &lt;i&gt;memento&lt;/i&gt;: una criatura que no puede olvidar nada. Había dos tipos de monstruos u organizaciones que simbolizaban todo esto:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Los &lt;i&gt;Vengadores de Cyric&lt;/i&gt;: un tipo especial de no muerto que tienen la propiedad de ser &lt;i&gt;mementos&lt;/i&gt; (y de ser extremadamente inteligentes y muy fáciles de confundir con personas vivas). &lt;/li&gt;    &lt;li&gt;Los &lt;i&gt;Señores de las Arenas&lt;/i&gt;: un misterioso grupo con intenciones poco saludables del que se olvida todo lo que está relacionado con ellos. Solo los mementos pueden recordarles. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Uno de los personajes (a través de una experiencia muy traumática) se convirtió en un &lt;i&gt;memento&lt;/i&gt; y permite al grupo recordar que ha ocurrido cuando se han encontrado con los &lt;i&gt;Señores de las Arenas&lt;/i&gt; (aunque a veces ha necesitado bastante charlatanería para convencer a los demás jugadores de ciertos eventos :p).&lt;/p&gt;  &lt;p&gt;La verdad que no empecé con todas estas ideas en la cabeza, si no que durante las primeras aventuras fueron saliendo cosas (personajes, situaciones,...) que poco a poco me ayudaron a dar los primeros pasos hacia el guion global. En particular el &lt;i&gt;Asesino&lt;/i&gt;, las &lt;i&gt;Espadas de Negación&lt;/i&gt; y los &lt;i&gt;Vengadores de Cyric&lt;/i&gt; aparecieron bastante pronto y las ideas de &lt;i&gt;memoria&lt;/i&gt; y &lt;i&gt;olvido&lt;/i&gt; y la &lt;i&gt;Puerta a Cualquier Lugar&lt;/i&gt; nacieron cuando me puse a pensar en cómo dar coherencia a todos los frentes que teníamos abiertos y a juntarlos en una sola línea argumental.&lt;/p&gt;  &lt;p&gt;En cambio, para esta nueva campaña del DnD 4e quiero tener el argumento un poco más en firme desde el principio (tampoco demasiado porque los jugadores son unos expertos en reventar tramas) así que he comenzado pensando en la escena final de la campaña y luego rellenando detalles hacia atrás.&lt;/p&gt;  &lt;p&gt;Y así ha nacido &lt;b&gt;&lt;i&gt;El Espejo de Plata&lt;/i&gt;&lt;/b&gt; :) La partida girará en torno a un objeto, un lugar y una idea (y hasta aquí puedo contar que mis jugadores también leen el blog :p). Además, como soy informático, he aplicado el algoritmo de &lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Divide_y_vencer%C3%A1s"&gt;Divide y Vencerás&lt;/a&gt;&lt;/i&gt; al guión global y he separado la aventura en las tres partes típicas que tiene cualquier narración: introducción (niveles 1-10, heroic tier), nudo (niveles 11-20, paragon tier) y desenlace (21-30, epic tier, aunque seguramente corte las cosas antes del 30). Ya tengo más o menos claros los eventos del nudo y el desenlace, ahora me toca trabajar en la introducción para presentar todo de forma coherente.&lt;/p&gt;  &lt;p&gt;Y vosotros que, ¿cómo organizáis vuestras campañas? ¿Al vuelo? ¿Las diseñáis al milímetro? ¿Empezáis con un comienzo que se basa en el trasfondo de los personajes y construís hacía adelante en vez de como he hecho yo imaginándome la escena de como quiero que terminen las cosas y yendo hacia atrás?&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=14190" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/master/archive/tags/Dise_26002300_241_3B00_o/default.aspx">Dise&amp;#241;o</category><category domain="http://kartones.net/blogs/master/archive/tags/DnD+4e/default.aspx">DnD 4e</category></item><item><title>Offtopic: Software Development meme</title><link>http://kartones.net/blogs/kartones/archive/2008/07/22/offtopic-software-development-meme.aspx</link><pubDate>Tue, 22 Jul 2008 13:12:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14168</guid><dc:creator>Kartones</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;u id="t-gj"&gt;&lt;b id="t-gj0"&gt;Software Development meme&lt;/b&gt;&lt;/u&gt;&lt;br id="t-gj1" /&gt;&lt;br id="t-gj2" /&gt;Via &lt;a href="http://kartones.net/blogs/jadengine/archive/2008/07/22/meme-de-desarrollo-de-software.aspx" title="Vicente" id="k8y5"&gt;Vicente&lt;/a&gt; I&amp;#39;m &amp;quot;forced&amp;quot; to do this meme about software development, but in english :P&lt;br id="t-gj3" /&gt;&lt;br id="t-gj4" /&gt;&lt;b id="k-30"&gt;What was your age when you started programming&lt;/b&gt;&lt;br id="k-300" /&gt;13 years old.&lt;br id="k-301" /&gt;&lt;br id="k-302" /&gt;&lt;b id="xsaq"&gt;How did you started programming&lt;/b&gt;&lt;br id="xsaq0" /&gt;I was born between computers, from an &lt;a href="http://en.wikipedia.org/wiki/Amstrad_PCW" title="AMSTRAD PC/W" id="myfg"&gt;AMSTRAD PC/W&lt;/a&gt; (in which my father wrote articles and news for a newspaper) to an &lt;a href="http://en.wikipedia.org/wiki/Amiga_500" title="AMIGA 500" id="feh:"&gt;AMIGA 500&lt;/a&gt;
to PCs (starting with a &amp;quot;fantastic&amp;quot; 386 SX). So when I wanted to
&amp;quot;create games&amp;quot; I asked my parents to go to a C development course (I
still got the diplomma :).&lt;br id="k-303" /&gt;&lt;br id="x23q" /&gt;&lt;b id="x23q0"&gt;What was the first language you used&lt;/b&gt;&lt;br id="x23q1" /&gt;C and bits of Assembler (to optimize for demoscene and graphics stuff).&lt;br id="x23q2" /&gt;&lt;br id="x23q3" /&gt;&lt;b id="x23q4"&gt;What was the first real program you coded&lt;/b&gt;&lt;br id="x23q5" /&gt;I
would have to look at my &amp;quot;repository&amp;quot; but probably the first would be a
planes &amp;quot;videogame&amp;quot; done with the Borland graphics libraries for C (16
color VGA, LOL).&lt;br id="n1hp" /&gt;&lt;br id="fucq" /&gt;&lt;b id="fucq0"&gt;What was your first professional experience&lt;/b&gt;&lt;br id="fucq1" /&gt;Working
helping with the 3.0 version of a e-learning portal (ASP 3, VB6 and SQL
Server 2000), in 2001. It was a &amp;quot;hardcore&amp;quot; beggining but I had help
from my colleages and I learned a lot of good n-tier architecture
practices. A pity that I was at unviersity so I could only work 3
months there (the summer).&lt;br id="ij9s" /&gt;&lt;br id="ij9s0" /&gt;&lt;b id="mgx."&gt;If you knew when you started programming what you now know, would you started doing it&lt;/b&gt;&lt;b id="e.oa"&gt; anyway&lt;/b&gt;&lt;br id="mgx.0" /&gt;Of
course! I love what I do, and I feel lucky to be able to work in what I
have passion to do... Even doing consulting services (of which I&amp;#39;m a
bit burnout right now) I&amp;#39;ve learned a lot about customer relationships,
having a lot of patience, and being a &amp;quot;swiss knife&amp;quot; in order to survive
all sort of problems and situations.&lt;br id="whou" /&gt;&lt;br id="whou0" /&gt;&lt;b id="whou1"&gt;If you had to say just one thing about what you&amp;#39;ve learned along this years to a newbie developer, what would you say to him&lt;/b&gt;&lt;br id="whou2" /&gt;Learn, be honest, and be patient. Everything comes if you keep on trying.&lt;br id="a.e-" /&gt;&lt;br id="n8ng" /&gt;&lt;b id="v25o"&gt;What is the most fun software piece you&amp;#39;ve ever developed&lt;/b&gt;&lt;br id="v25o0" /&gt;Probably, the &lt;a href="http://kartones.net/blogs/kartones/archive/2008/02/28/windows-live-agents-iz-our-first-wla.aspx" title="PSOE Windows Live Agent" id="trjr"&gt;PSOE Windows Live Agent&lt;/a&gt;.
Although it was a lot of work (with heavy crunch time included), we
enjoyed a lot checking the agent&amp;#39;s personality, some funny situations
and some funny behaviors included in the agent per customer request.&lt;br id="y_7u" /&gt;&lt;br id="y_7u0" /&gt;&lt;b id="lp8f"&gt;Who are you passing the meme&lt;/b&gt;&lt;br id="lp8f0" /&gt;Nobody, because I easily get tired of memes... &lt;br /&gt;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=14168" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/kartones/archive/tags/Offtopic/default.aspx">Offtopic</category></item><item><title>meme de desarrollo de software por obligación de vicente</title><link>http://kartones.net/blogs/codefreak/archive/2008/07/22/meme-de-desarrollo-de-software-por-obligaci-243-n-de-vicente.aspx</link><pubDate>Tue, 22 Jul 2008 12:58:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14167</guid><dc:creator>flipper83</dc:creator><slash:comments>4</slash:comments><description>&lt;p&gt;&amp;nbsp;vicente me ha pasado esta bola en su blog, asi q habrá q hacerlo&lt;br /&gt;&lt;/p&gt;&lt;h5&gt;Cuántos años tenías cuando empezate a programar&lt;/h5&gt;  &lt;p&gt;Unos 12-13 años.&lt;/p&gt;  &lt;h5&gt;Cómo empezaste a programar&lt;/h5&gt;  &lt;p&gt;Mis padre me metieron en un curso de ofimatica, asi que me aburria y mi profesor me enseño a programar en basic, numerando las lineas y con gotos, XD, e hice un pongo con las barras y con la &amp;quot;o&amp;quot;, nunca se me olvidará&lt;/p&gt;  &lt;h5&gt; Cual fue el primer lenguaje que usaste&lt;/h5&gt;  &lt;p&gt;basic y div, y al entrar en la carrerar ensamblador como los hombres.&lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;Cual fue el primer programa real que programaste&lt;/h5&gt;  &lt;p&gt;Hicimos un montón de juegos en div pero no terminamos ninguno XD, asi q se puede decir q lo primero q hice completo fueron las prácticas de ensamblador en la universidad. SE LO RECOMIENDO A TODO EL MUNDO, CUANDO TE TIRAS 3 MESES PROGRAMANDO ENSABLADOR EL PASCAL ES PARA MINDUNDIS.&lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;Cual fue tu primera experiencia profesional&lt;/h5&gt;  &lt;p&gt;con 20 años entre a trabajar en eBrain a hacer videojuegos, parece q fue ayer y han pasado casi 5 años&lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;Si tú hubieras sabido lo que sabes ahora cuando empezaste a programar, ¿hubieras empezado a hacerlo?&lt;/h5&gt;  &lt;p&gt;Hubiera empezado antes, a mi hijo en vez del micho le voy a dar el libro de c++ &lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;Si tuvieras que decir una sola cosa de las que has aprendido a lo largo de los años a un nuevo programador, qué le dirías&lt;/h5&gt;  &lt;p&gt;Lo que me dijo mi colega Rober, cuando tengas que hacer algo mira si alguien lo ha hecho antes si es que si, cogelo, aprendelo, mejoralo si puedes, si no lo encuentras hazlo tu y subelo para que otro lo pueda coger y mejorar.&lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;Qué es lo más divertido que has programado?&lt;/h5&gt;  &lt;p&gt;Formula Toon manager, algún día haré mi versión pero me lo pasé pipa con ese juego. Anque soy un cacharrero y todo lo que huela a desconocido me encanta.&lt;br /&gt;&lt;/p&gt;  &lt;h5&gt;A quién le pasas el meme&lt;/h5&gt;  &lt;p&gt;A Zalo y a alfredo, aunq como son unos mindundis no van a hacerlo, y a aquellos q se animen.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=14167" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/codefreak/archive/tags/corrada_5F00_de_5F00_vicente/default.aspx">corrada_de_vicente</category></item><item><title>Meme de desarrollo de software</title><link>http://kartones.net/blogs/jadengine/archive/2008/07/22/meme-de-desarrollo-de-software.aspx</link><pubDate>Mon, 21 Jul 2008 22:19:57 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14159</guid><dc:creator>Vicente</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Hace unas semanas &lt;a href="http://blep.blogspot.com/"&gt;ethernet&lt;/a&gt; public&amp;#243; este &lt;a href="http://blep.blogspot.com/2008/07/meme-de-desarrollo-de-software.html"&gt;meme&lt;/a&gt; en su blog y me puso en la lista, as&amp;#237; que aqu&amp;#237; van las respuestas :)&lt;/p&gt;  &lt;h5&gt;Cu&amp;#225;ntos a&amp;#241;os ten&amp;#237;as cuando empezate a programar&lt;/h5&gt;  &lt;p&gt;Unos 14-15 a&amp;#241;os.&lt;/p&gt;  &lt;h5&gt;C&amp;#243;mo empezaste a programar&lt;/h5&gt;  &lt;p&gt;Como me pasaba todo el d&amp;#237;a pegado al PC de un amigo (un 386) mis padres me apuntaron a una academia de inform&amp;#225;tica donde me &lt;strike&gt;ense&amp;#241;aron&lt;/strike&gt; hicieron copiar programas de Basic. Como no aprend&amp;#237;a nada de nada me cambiaron a otra donde s&amp;#237; que aprend&amp;#237; Basic y un poco de C (y Wordperfect O_o).&lt;/p&gt;  &lt;h5&gt; Cual fue el primer lenguaje que usaste&lt;/h5&gt;  &lt;p&gt;Basic y unos meses despu&amp;#233;s C. Y el &amp;#250;ltimo a&amp;#241;o de bachillerato mucho Div Games Studio :)&lt;/p&gt;  &lt;h5&gt;Cual fue el primer programa real que programaste&lt;/h5&gt;  &lt;p&gt;Un curso de aprender C en C :p (mi proyecto de fin de academia). Luego matamarcianos y cosas as&amp;#237; con Div.&lt;/p&gt;  &lt;h5&gt;Cual fue tu primera experiencia profesional&lt;/h5&gt;  &lt;p&gt;Pues fue bastante tard&amp;#237;a la verdad: las pr&amp;#225;cticas de empresa en HP. Hice algunas cosas antes con la Fundaci&amp;#243;n de Ayuda contra la Drogadicci&amp;#243;n y Juvenalia pero tuvieron muy poco de programaci&amp;#243;n.&lt;/p&gt;  &lt;h5&gt;Si t&amp;#250; hubieras sabido lo que sabes ahora cuando empezaste a programar, &amp;#191;hubieras empezado a hacerlo?&lt;/h5&gt;  &lt;p&gt;S&amp;#237;. Me encanta desarrollar software, me parece un reto muy entretenido y la verdad que no me arrepiento de la ruta que tome para mi vida en este aspecto.&lt;/p&gt;  &lt;h5&gt;Si tuvieras que decir una sola cosa de las que has aprendido a lo largo de los a&amp;#241;os a un nuevo programador, qu&amp;#233; le dir&amp;#237;as&lt;/h5&gt;  &lt;p&gt;No reinventes la rueda por favoooooor.&lt;/p&gt;  &lt;h5&gt;Qu&amp;#233; es lo m&amp;#225;s divertido que has programado?&lt;/h5&gt;  &lt;p&gt;La librer&amp;#237;a de IA de Jad Engine. En particular la parte de algoritmos gen&amp;#233;ticos a la que di muchas vueltas y que creo que ha quedado bastante bien (aunque su utilidad para juegos sea muy discutible :p).&lt;/p&gt;  &lt;h5&gt;A qui&amp;#233;n le pasas el meme&lt;/h5&gt;  &lt;p&gt;A todos los dem&amp;#225;s coders que hay en Kartones.net (en particular a Kartones, flipper y Pedrito que les conozco m&amp;#225;s, pero vamos, va para todos ;)).   &lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=14159" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/jadengine/archive/tags/Personal/default.aspx">Personal</category></item><item><title>IconTray con WPF</title><link>http://kartones.net/blogs/netcodigo/archive/2008/07/21/icontray-con-wpf.aspx</link><pubDate>Mon, 21 Jul 2008 11:24:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:14140</guid><dc:creator>fsancab</dc:creator><slash:comments>0</slash:comments><description>En este post veremos como conseguir que, al minimizar una aplicación WPF, en vez de mostrarse en el área de aplicaciones minimizadas se muestre en el área de la bandeja de iconos. Realmente es muy sencillo pero en WPF no existe un control específico para ello, con lo que tenemos que volver a utilizar la interorperabilidad con Windows Forms.
&lt;p style="text-align:center;"&gt;&lt;img src="http://netcodigo.webinfo.es/wp-content/IconTray2.gif" alt="IconTray" /&gt;&lt;/p&gt;
Para ello lo primero que debemos hacer es agregar las referencias System.Windows.Forms y System.Drawning. La segunda la utilizaremos para especificar el icono que queremos mostrar en la barra de iconos.
&lt;p style="text-align:center;"&gt;&lt;img src="http://netcodigo.webinfo.es/wp-content/IconTray1.gif" alt="IconTray" /&gt;&lt;/p&gt;
Aquí paso a paso el código.
El proceso sería:
1. Declaramos a nivel principal una variable del tipo NotifyIcon.
&lt;blockquote&gt;Class Window1
Dim _TrayIcon As New System.Windows.Forms.NotifyIcon&lt;/blockquote&gt;
2. En el evento de inicialización del formulario asignamos las propiedades al objeto NotifyIcon. Además crearemos un disparador para el evento Click del Notify.
&lt;blockquote&gt;Private Sub Window1_Initialized(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Initialized
&amp;#39; CREA ICONTRAY
_TrayIcon.BalloonTipText = &amp;quot;Aplicación minimizada. Click aquí para restaurar&amp;quot;
_TrayIcon.BalloonTipTitle = &amp;quot;Título Tray&amp;quot;
_TrayIcon.Text = &amp;quot;texto&amp;quot;
_TrayIcon.Icon = New System.Drawing.Icon(&amp;quot;Resources\Application.ico&amp;quot;)
AddHandler _TrayIcon.Click, AddressOf _TrayIcon_Click
End Sub&lt;/blockquote&gt;
3. Capturamos el evento Minimizar del formulario y mostramos el NotifyIcon.
&lt;blockquote&gt;Private Sub Window1_StateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.StateChanged
If Me.WindowState = Windows.WindowState.Minimized Then
&amp;#39; SI SE MINIMIZA EL FORM LO OCULTA Y MUESTRA ICONTRAY
Me.Hide()
_TrayIcon.Visible = True
_TrayIcon.ShowBalloonTip(2000)
End If
End Sub&lt;/blockquote&gt;
4. Capturamos el evento Click del NotifyIcon para que al producirse restaure la aplicación.
&lt;blockquote&gt;Private Sub _TrayIcon_Click(ByVal sender As Object, ByVal e As System.EventArgs)
&amp;#39; AL HACER CLICK EN ICONTRAY RESTAURA Y MUESTRA FORM
_TrayIcon.Visible = False
Me.Show()
Me.WindowState = Windows.WindowState.Normal
End Sub
End Class&lt;/blockquote&gt;
5. Al cerrar el formualario destruimos el objeto NotifyIcon.
&lt;blockquote&gt;Private Sub Window1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.Closing
&amp;#39; AL CERRAR FORM LIBERA RECURSOS DEL ICONTRAY
_TrayIcon.Dispose()
_TrayIcon = Nothing
End Sub&lt;/blockquote&gt;
Con esto conseguimos el mismo funcionamiento en WPF del NotifyIcon del espacio de nombres System.Windows.Forms.&lt;img src="http://kartones.net/aggbug.aspx?PostID=14140" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/netcodigo/archive/tags/VB.Net/default.aspx">VB.Net</category><category domain="http://kartones.net/blogs/netcodigo/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://kartones.net/blogs/netcodigo/archive/tags/wpf/default.aspx">wpf</category></item><item><title>Función IsArray en BuddyScript</title><link>http://kartones.net/blogs/sector7g/archive/2008/07/17/funci-243-n-isarray-en-buddyscript.aspx</link><pubDate>Thu, 17 Jul 2008 18:14:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13936</guid><dc:creator>Pedroafa</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/imagenes/messenger_nongenuine_logo.png" align="left" alt="" /&gt; La comprobación de tipos es muy importante en todos los lenguajes. Esto se vuelve aún más relevante en los lenguajes que no son fuertemente tipados, como es el caso de BuddyScript. Aunque dentro de las librerías del lenguaje encontraremos numerosas funciones que nos ayudarán en la tarea de validación de tipos, estás no cubren todas las posibilidades. &lt;/p&gt;
&lt;p&gt;De esta forma, no existe ningún medio para verificar si un objeto es una lista. Aunque dentro del SDK podremos encontrar la siguiente línea, la cual da una pista. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;“A list is an object where all the keys are successive numbers starting at 0.”&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;De esta forma sabemos que un objeto no puede tener como propiedades números. Es más, si intentamos hacer la siguiente declaración esta causará un error de compilación.&lt;/p&gt;&lt;pre class="code"&gt;OBJ=&lt;span style="COLOR:red;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;
OBT.1 = &lt;span style="COLOR:red;"&gt;&amp;quot;asda&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;De esta forma la siguiente función puede ayudarnos a verificar si un objeto es una lista.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:blue;"&gt;function &lt;/span&gt;&lt;span style="COLOR:navy;"&gt;IsArray&lt;/span&gt;(LIST)
  LIST |= &lt;span style="COLOR:red;"&gt;&amp;quot;&amp;quot;
  &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(IsObject(LIST))
    &lt;span style="COLOR:blue;"&gt;for value &lt;/span&gt;NUM &lt;span style="COLOR:blue;"&gt;in &lt;/span&gt;Keys(LIST)
      &lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(!IsInt(NUM))
        &lt;span style="COLOR:blue;"&gt;return &lt;/span&gt;0
    &lt;span style="COLOR:blue;"&gt;return &lt;/span&gt;1
  &lt;span style="COLOR:blue;"&gt;return &lt;/span&gt;0&lt;/pre&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13936" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/sector7g/archive/tags/BuddyScript/default.aspx">BuddyScript</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Agents/default.aspx">Windows Live Agents</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Dev/default.aspx">Windows Live Dev</category></item><item><title>Cómo Cambiar el Fondo de la Ventana de Conversación</title><link>http://kartones.net/blogs/sector7g/archive/2008/07/17/c-243-mo-cambiar-el-fondo-de-la-ventana-de-conversaci-243-n.aspx</link><pubDate>Thu, 17 Jul 2008 18:09:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13935</guid><dc:creator>Pedroafa</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/imagenes/messenger_nongenuine_logo.png" align="left" alt="" /&gt; Un agente tiene la capacidad de invitar a sus usuarios a cambiar el fondo de su ventana de conversación. Esto enriquece al agente como medio para hacer publicidad. En este caso las imágenes de fondo deben residir en el servidor donde encuentre alojado el bot, además deben de cumplir una serie de características:  &lt;ul&gt; &lt;li&gt;&lt;b&gt;Tipo de archivo&lt;/b&gt;: .gif (estático), .jpg  &lt;li&gt;&lt;b&gt;Dimensiones&lt;/b&gt;: 800x600 px  &lt;li&gt;&lt;b&gt;Tamaño del archivo&lt;/b&gt;: 75K  &lt;li&gt;&lt;b&gt;Animaciones&lt;/b&gt;: No&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;A cada imagen de fondo DEBE de ir asociado su Thumbnail. Esta imagen será utilizada dentro del menú de selección de fondos que se encuentra dentro de la ventana de conversación. En el caso de los agentes de Messenger, estas imágenes deben de tener un nombre en concreto, además de las siguientes características:  &lt;ul&gt; &lt;li&gt;&lt;b&gt;Tipo de archivo&lt;/b&gt;: .gif (estático), .jpg (preferido)  &lt;li&gt;&lt;b&gt;Dimensiones&lt;/b&gt;: 32 x 32 px  &lt;li&gt;&lt;b&gt;Tamaño del archivo&lt;/b&gt;: 10K  &lt;li&gt;&lt;b&gt;Animaciones&lt;/b&gt;: No  &lt;li&gt;&lt;b&gt;Texto Alt&lt;/b&gt;: 65 Caracteres incluyendo espacios&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;Respecto al nombre de los archivos, si el fondo se llama “&lt;b&gt;mifondo.jpg&lt;/b&gt;”. El Thumbnail que debe de acompañar al fondo se llamará “&lt;b&gt;mifondo.jpg.png&lt;/b&gt;”.  &lt;p&gt;Siguiendo esta guía no tiene porque haber ningún problema a la hora de diseñar los fondos para las ventanas de actividad. Aunque estos son los problemas que se suelen encontrar:  &lt;ul&gt; &lt;li&gt;A menudo se presentan los JPGs comprimidos (GIF o JPG sin comprimir)  &lt;li&gt;El formato PNG no es aceptado.  &lt;li&gt;La imagen excede los límites de tamaño de archivo.  &lt;li&gt;Los logotipos de los patrocinadores no está bien colocado y no se ve correctamente.  &lt;li&gt;A menudo son tratadas como un gran banner de publicidad  &lt;li&gt;No siempre la imagen de Thumbnail es proporcionada.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Para cambiar el fondo de la ventana de actividad, el primer paso es hacer referencia al package donde se encuentra el método que nos permite hacer esta operación.&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;package&lt;/span&gt; wlalib_languageneutral:/Utilities/WLMUtilities
&lt;/pre&gt;
&lt;p&gt;Una vez hecho esto, añadimos el código que hace esto posible. Hay que tener en cuenta que la imagen del fondo y el Tumbnail del fondo, deben de estar desplegados junto al agente. &lt;pre class="code"&gt;&lt;span style="color:maroon;"&gt;+ cambiar fondo
&lt;/span&gt;&lt;span style="color:red;"&gt;    - Pulse en aceptar para cambiar el fondo
    &lt;/span&gt;&lt;span style="color:blue;"&gt;call &lt;/span&gt;&lt;span style="color:purple;"&gt;ABMSNSetBackground(&lt;/span&gt;&lt;span style="color:red;"&gt;&amp;quot;domains:/images/mybackground.jpg&amp;quot;)
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/span&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13935" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/sector7g/archive/tags/BuddyScript/default.aspx">BuddyScript</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Agents/default.aspx">Windows Live Agents</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Dev/default.aspx">Windows Live Dev</category></item><item><title>Como hacer tortitas - How to make a Pancake</title><link>http://kartones.net/blogs/haztelotu/archive/2008/07/16/como-hacer-tortitas-how-to-make-a-pancake.aspx</link><pubDate>Wed, 16 Jul 2008 21:20:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13852</guid><dc:creator>lowtech</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;No todo va a ser trabajar ¿no? :P &lt;/p&gt;
&lt;p&gt;En honor a Big Samas, quien me enseñó a preparar auténticas tortitas americanas&amp;nbsp;;)&lt;/p&gt;
&lt;p&gt;Ingredientes necesarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;1 1/4&amp;nbsp;taza de harina&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;3 cucharadas pequeñas de levadura&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;2 huevos&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;1&amp;nbsp;taza de leche&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;1/2 cucharada pequeña de sal&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;1 cucharada grande de azucar&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;2 cucharadas grandes de aceite de oliva&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:163px;" height="163" src="http://lh6.ggpht.com/SergioZgz2010/SH5lvQfqmRI/AAAAAAAAA_g/40JHXFISjxg/s400/DSC00243.JPG" width="400" align="middle" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh5.ggpht.com/SergioZgz2010/SH5lxTK9PrI/AAAAAAAAA_o/HsJtBTPaNUQ/s400/DSC00244.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh3.ggpht.com/SergioZgz2010/SH5lyTODkoI/AAAAAAAAA_0/Zsvgk8MCvO0/s400/DSC00245.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Lo batimos todo bien batido...&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:300px;HEIGHT:400px;" height="400" src="http://lh6.ggpht.com/SergioZgz2010/SH5lut9Vk4I/AAAAAAAAA_Y/SMEYzoU8a_s/s400/DSC00242.JPG" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Y con esto ya tendremos la masa preparada... antes de usarla, conviene probarla cruda... tiene que saber bastante dulzona y ser bastante espesa (sin pasarnos).Si no esta suficientemente espesa, añadimos harina, si esta demasiado espesa añadimos leche, y si no esta suficientemente dulce, azucar.&lt;/p&gt;
&lt;p&gt;Una vez a nuestro gusto, encendemos la plancha o ponemos a calentar una sartén, y cuando esté bien caliente... echamos la mezcla... el diámetro de la tortita es el que cada cual quiera :P. &lt;/p&gt;
&lt;p&gt;Cuando veamos que por la parte de arriba tiene muchísimas burbujas, como en la foto, ya podremos proceder a voltearla con cuidado.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh6.ggpht.com/SergioZgz2010/SH5lzGi33LI/AAAAAAAAA_8/v37lQreZEYk/s400/DSC00246.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh4.ggpht.com/SergioZgz2010/SH5l0IX56rI/AAAAAAAABAE/FilkCzvNonE/s400/DSC00247.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Y ahora sólo nos queda lo mejor ... echarle encima lo que queramos para comernoslo :P&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:300px;HEIGHT:400px;" height="400" src="http://lh4.ggpht.com/SergioZgz2010/SH5l1bXEaBI/AAAAAAAABAU/eA6DgcrbKfM/s400/DSC00249.JPG" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Espero que os haya gustando este Haztelotu aun que se haya salido de la temática ;)&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:300px;HEIGHT:400px;" height="400" src="http://lh5.ggpht.com/SergioZgz2010/SH5l8Z_JRJI/AAAAAAAABAs/fVl7RqXJB1I/s400/DSC00252.JPG" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[English]&lt;/p&gt;
&lt;p&gt;Work is not going to be everything right? :P &lt;/p&gt;
&lt;p&gt;In Big Samas’ honor , who taught me how to make real American pancakes&lt;/p&gt;
&lt;p&gt;Ingredients:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;1 1/4 cup flour&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;3 teaspoons backing powder&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;2 eggs&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;1 cup milk&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;1/2 teaspoon salt&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;1 spoons sugar&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;2 spoons olive oil&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:163px;" height="163" src="http://lh6.ggpht.com/SergioZgz2010/SH5lvQfqmRI/AAAAAAAAA_g/40JHXFISjxg/s400/DSC00243.JPG" width="400" align="middle" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh5.ggpht.com/SergioZgz2010/SH5lxTK9PrI/AAAAAAAAA_o/HsJtBTPaNUQ/s400/DSC00244.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh3.ggpht.com/SergioZgz2010/SH5lyTODkoI/AAAAAAAAA_0/Zsvgk8MCvO0/s400/DSC00245.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;We mix everything&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:300px;HEIGHT:400px;" height="400" src="http://lh6.ggpht.com/SergioZgz2010/SH5lut9Vk4I/AAAAAAAAA_Y/SMEYzoU8a_s/s400/DSC00242.JPG" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;And with this we have already prepared the dough ... before backing it, we should taste it raw ... it must taste quite sweet and be quite thick (not too thick). If it’s not thick enough, add flour, if it is too thick add milk, and if not sufficiently sweet, sugar.&lt;/p&gt;
&lt;p&gt;Once at our taste, light the grill or put to warm a skillet, and when it is very hot ... we mix ... the diameter of the pancake is at your choice :P. &lt;/p&gt;
&lt;p&gt;When we see that the top has plenty of bubbles, as in the photo or more, then we will be able to proceed with caution to flip it over.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh6.ggpht.com/SergioZgz2010/SH5lzGi33LI/AAAAAAAAA_8/v37lQreZEYk/s400/DSC00246.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:400px;HEIGHT:300px;" height="300" src="http://lh4.ggpht.com/SergioZgz2010/SH5l0IX56rI/AAAAAAAABAE/FilkCzvNonE/s400/DSC00247.JPG" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;And now the only thing left is to add the topping you wish and eat it. Bon appétit!&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:300px;HEIGHT:400px;" height="400" src="http://lh4.ggpht.com/SergioZgz2010/SH5l1bXEaBI/AAAAAAAABAU/eA6DgcrbKfM/s400/DSC00249.JPG" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;I hope you have enjoyed this Haztelotu, although it’s not in the normal subjects, but then… we all have to eat ;)&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH:300px;HEIGHT:400px;" height="400" src="http://lh5.ggpht.com/SergioZgz2010/SH5l8Z_JRJI/AAAAAAAABAs/fVl7RqXJB1I/s400/DSC00252.JPG" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13852" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/haztelotu/archive/tags/pancakes/default.aspx">pancakes</category><category domain="http://kartones.net/blogs/haztelotu/archive/tags/tortitas/default.aspx">tortitas</category></item><item><title>Noticias 15-Julio-2008</title><link>http://kartones.net/blogs/lawebdeprogramacion/archive/2008/07/15/noticias-15-julio-2008.aspx</link><pubDate>Tue, 15 Jul 2008 19:52:40 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13822</guid><dc:creator>Kartones</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Montonazo de noticias de golpe debido a mi falta de tiempo libre!&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.downloadsquad.com/2008/07/01/windows-xp-goes-bye-bye/"&gt;Desde el 1 de julio Windows XP dejó de venderse&lt;/a&gt;: Una pena, ya que sigue siendo el mejor SO para juegos.  &lt;li&gt;&lt;a href="http://www.downloadsquad.com/2008/07/01/adobe-makes-flash-searchable-flash-designers-rejoice/"&gt;Adobe hace Flash buscable por Google y Yahoo&lt;/a&gt;: Aunque no sea igual aún que un HTML puro, pero por lo menos ya busca dentro de los SWFs.  &lt;li&gt;&lt;a href="http://tirania.org/blog/archive/2008/Jul-02.html"&gt;Moonlight 0.7 disponible&lt;/a&gt;: Ya compatible también con Firefox 3 (el cual es el único que soporta de momento el modo &amp;quot;Windowsless&amp;quot;). Va mejorando bastante por momentos! &lt;li&gt;&lt;a href="http://www.downloadsquad.com/2008/07/15/wordpress-2-6-released/"&gt;Wordpress 2.6 lanzado&lt;/a&gt; &lt;li&gt;&lt;a href="http://www.downloadsquad.com/2008/07/14/microsoft-equipt-subscription-based-office-to-go-on-sale-this/"&gt;Microsoft Equipt sale a la venta esta semana&lt;/a&gt;: Nuevo nombre para lo que el resto de los mortales conoceremos como &amp;quot;Microsoft Office por suscripción&amp;quot;. 70$ anuales para los que no puedan permitirse comprarse un office &amp;quot;normal&amp;quot;. &lt;li&gt;&lt;a href="http://googledataapis.blogspot.com/2008/07/google-data-apis-java-client-eclipse.html"&gt;Plugin para Eclipse de las Google Data APIs disponible&lt;/a&gt;: Pinta bastante chulo, una pena que no sea Javero :P &lt;li&gt;&lt;a href="http://arstechnica.com/news.ars/post/20080708-hands-on-googles-lively-social-3d-world-is-20-percent-done.html"&gt;Google Lively, su Second Life particular&lt;/a&gt;: Aunque reconozco que aún ni lo he probado, a favor tiene cosillas tipo editar modelos 3D con el Google Sketchup, o que es via webbrowser, y en contra que aparte de para hacer el tonto un rato, dudo que triunfe tanto como Second Life. Pero el tiempo dirá... &lt;li&gt;&lt;a href="http://google.dirson.com/post/4046-protocol-buffers-xml/"&gt;Google libera Protocol Buffers&lt;/a&gt;: Un protocolo para serialización binaria (usease para uso interno, hacia fuera el mundo ya habla XML o JSON casi exclusivamente). Interesante pero no creo que muy revolucionario. &lt;li&gt;&lt;a href="http://google.dirson.com/post/4050-accede-cuentas-gmail/"&gt;Mejoras en la seguridad de GMail&lt;/a&gt;: En caso de que nuestra cuenta esté abierta desde varios sitios a la vez nos informará de las direcciones IP. No está mal, aunque sólo es eso, un aviso y opción a desconexión. &lt;li&gt;&lt;a href="http://www.rlslog.net/apple-opens-iphone-app-store/"&gt;Apple abre la iPhone App Store&lt;/a&gt;: Repositorio de aplicaciones para su recién salido &amp;quot;iPhone 2.0&amp;quot;. &lt;li&gt;&lt;a href="http://www.downloadsquad.com/2008/07/08/adobe-reader-9-released-adobe-reader-lite-9-unofficially-releas/"&gt;Adobe Reader 9 ya disponible&lt;/a&gt;: Sigo prefiriendo el ligerísimo &lt;a href="http://www.filehippo.com/download_foxit/"&gt;Foxit Reader&lt;/a&gt;, pero ahi queda la noticia. &lt;li&gt;&lt;a href="http://www.downloadsquad.com/2008/07/08/my-yahoo-2-0-leaves-beta-gets-all-official-and-stuff/"&gt;My Yahoo! 2.0&lt;/a&gt;: Estrenan página de inicio personalizada, estilo iGoogle. &lt;li&gt;&lt;a href="http://arstechnica.com/news.ars/post/20080710-seagate-breaks-terabyte-barrier-with-new-1-5tb-hard-drive.html"&gt;Seagate presenta un HD de 1.5TB&lt;/a&gt;: La velocidad a la que sube el espacio de almacenamiento en discos duros es impresionante! &lt;li&gt;&lt;a href="http://www.heise-online.co.uk/security/Massive-DNS-security-problem-endangers-the-internet--/news/111070"&gt;Crítico agujero de seguridad afectó a gran parte de internet&lt;/a&gt;: El boquete permitía falsear llamadas de DNS (traducción de direcciones web a direcciones IP). Supuestamente ya está corregido pero dependerá de los servidores de DNS.&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13822" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Adobe/default.aspx">Adobe</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Apple/default.aspx">Apple</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Bugs/default.aspx">Bugs</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Eclipse/default.aspx">Eclipse</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Firefox/default.aspx">Firefox</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Flash/default.aspx">Flash</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Google/default.aspx">Google</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Hardware/default.aspx">Hardware</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/iPhone/default.aspx">iPhone</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Java/default.aspx">Java</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Microsoft+Office/default.aspx">Microsoft Office</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Moonlight/default.aspx">Moonlight</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/PDF/default.aspx">PDF</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Seguridad/default.aspx">Seguridad</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Windows+XP/default.aspx">Windows XP</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Wordpress/default.aspx">Wordpress</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/XML/default.aspx">XML</category><category domain="http://kartones.net/blogs/lawebdeprogramacion/archive/tags/Yahoo/default.aspx">Yahoo</category></item><item><title>Prototyping GUIs with Powerpoint</title><link>http://kartones.net/blogs/kartones/archive/2008/07/15/prototyping-guis-with-powerpoint.aspx</link><pubDate>Tue, 15 Jul 2008 18:58:55 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13818</guid><dc:creator>Kartones</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;In my new job I&amp;#39;ve started designing a new web module for an existing application. My first task (apart from reading documentation) is to design all the web interface of the module management. &lt;/p&gt; &lt;p&gt;As I became tired of Visio (is useful but only if you have the proper templates, and offers no interaction), I&amp;#39;ve used the &amp;quot;Paper Powerpoint Prototyping Toolkit&amp;quot;, a PPT template I found some time ago in my RSS feeds. It provides black&amp;amp;white Vista-like controls and some sample windows to prototype GUIs, and &amp;quot;hot zones&amp;quot; (shapes with 90% transparency) to simulate interactions with the placed controls.&lt;/p&gt; &lt;p&gt;The results are quite good and the design is quite fast. I made some changes to speed up Powerpoint&amp;#39;s rendering speed (big opaque shapes take long to repaint, so beaing all in black and white I made the windows backgroundless and now repaints quite fast ;)&lt;/p&gt; &lt;p&gt;Here is a small sample of the web page prototypes I&amp;#39;ve built today, complete with interactive buttons and tabs:&lt;/p&gt; &lt;p&gt;&lt;img src="http://kartones.net/images_posts/screenshots/ppt_prototyping_example.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://kartones.net/files/folders/design/entry13817.aspx"&gt;I&amp;#39;ve uploaded&lt;/a&gt; the 0.2 version of the PPT template because the author&amp;#39;s website appears to be down since days...&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13818" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/kartones/archive/tags/Design/default.aspx">Design</category><category domain="http://kartones.net/blogs/kartones/archive/tags/GUI/default.aspx">GUI</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Powerpoint/default.aspx">Powerpoint</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Prototyping/default.aspx">Prototyping</category></item><item><title>Averiguar formularios abiertos</title><link>http://kartones.net/blogs/netcodigo/archive/2008/07/13/averiguar-formularios-abiertos.aspx</link><pubDate>Sun, 13 Jul 2008 18:02:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13563</guid><dc:creator>fsancab</dc:creator><slash:comments>0</slash:comments><description>
&lt;p&gt;Esto va a ser un minipost, porque averiguar qué formularios tenemos abiertos en una aplicación es tan fácil como usar la clase System.Windows.Forms.Application.OpenForms, devuelve una colección de tipo Form con los formularios abiertos. Haciendo un bucle como el del ejemplo podremos manipularlos.&lt;/p&gt;&lt;p&gt;

&lt;code&gt;
Dim _Form As Form
    &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;For Each _Form In System.Windows.Forms.Application.OpenForms
    &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;... &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;Next
&lt;/code&gt;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13563" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/netcodigo/archive/tags/VB.Net/default.aspx">VB.Net</category><category domain="http://kartones.net/blogs/netcodigo/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category></item><item><title>Roleplaying vs Rollplaying</title><link>http://kartones.net/blogs/master/archive/2008/07/13/roleplaying-vs-rollplaying.aspx</link><pubDate>Sun, 13 Jul 2008 13:34:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13558</guid><dc:creator>Vicente</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Tenía pensado hablar de este tema en el futuro, pero leyendo los comentarios de David y Morthec en mi &lt;a href="http://kartones.net/blogs/master/archive/2008/07/07/mis-juegos-favoritos.aspx"&gt;último post&lt;/a&gt; he decidido comentarlo hoy. El primer juego de rol al que jugué fue la Llamada de Cthulhu, pero el primero al que hice de Master fue al AD&amp;amp;D. Recuerdo bastante claro el prólogo de la Guía del Dungeon Master escrito por &lt;a href="http://en.wikipedia.org/wiki/David_%22Zeb%22_Cook"&gt;David Cook&lt;/a&gt;. Un extracto:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;De elecciones es lo que trata esta segunda edición. Hemos intentado ofrecerte lo que creemos que son las mejores elecciones para tu campaña del AD&amp;amp;D, pero cada uno de nosotros tiene sus cosas que le gustan y sus cosas que no le gustan. El juego que me gusta a mí puede ser completamente distinto de tu campaña. Pero no me corresponde a mí decir lo que está bien o mal para tu juego. Cierto, yo y todos los que hemos trabajado en esta segunda edición hemos tenido que tomar decisiones fundamentales, pero hemos intentado evitar ser dogmáticos e inflexibles. El juego de AD&amp;amp;D es tuyo, es mío, es el juego de todos.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;En la Dungeon Master&amp;#39;s Guide del DnD 4e también hablan de este tema de la siguiente manera:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Everybody plays D&amp;amp;D to have fun, but different people get their enjoyment from different aspects of the game. If you’re preparing and running a game for a group of players, understanding player motivations—what they enjoy about the game and what makes them happiest when they play—helps you build a harmonious group&amp;nbsp; of players and a fun game for all. &lt;/p&gt;    &lt;p&gt;&lt;b&gt;Player Motivations&lt;/b&gt; &lt;/p&gt;    &lt;p&gt;Most players enjoy many aspects of the game at different times. For convenience, we define the primary player motivations as types of players: actors, explorers, instigators, power gamers, slayers, storytellers, thinkers, and watchers.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Después se incluyen descripciones de lo que le gusta y lo que le disgusta a cada tipo de jugador. Podría mirar más manuales, pero estoy seguro que casi todos dicen lo mismo: juega para divertirte.&lt;/p&gt;  &lt;p&gt;Pero aún así, hay ciertos grupos de gente que juega al rol que son partidarios de que hay formas mejores y peores de jugar al rol, normalmente ejemplificado por el debate de &lt;a href="http://en.wikipedia.org/wiki/Roleplaying"&gt;roleplaying&lt;/a&gt; (interpretar) vs &lt;a href="http://en.wikipedia.org/wiki/Roll-playing"&gt;rollplaying&lt;/a&gt; (tirar dados). Yo pienso que mientras el grupo se lo pase bien lo que hagan es cosa suya, y ni por asomo pienso que nuestra forma de jugar (storytelling + puzzles) sea mejor o peor que la de los que interpretan (actors) o los que machacan hordas de bichos (power gamers, slayers). Y he tenido tanto actors como power gamers en mi mesa y los dos me han dado dolores de cabeza para aburrir, simplemente mi forma de jugar no es compatible con la suya.&lt;/p&gt;  &lt;p&gt;Pero está claro que mucha gente piensa lo contrario, tanto que en los muchos debates sobre el tema nació la llamada &lt;a href="http://forums.gleemax.com/wotc_archive/index.php/t-822626"&gt;Stormwind Fallacy&lt;/a&gt;. Os recomiendo que os leáis el hilo entero, porque es bastante divertido, pero os hago un breve resumen: la gente partidaria de que interpretar es jugar al rol mejor argumenta que un jugador que optimiza a su personaje (es decir, que intenta hacerlo lo más efectivo posible, sea para lo que sea) no puede ser un buen actor. La Stormwind Fallacy demuestra (o intenta demostrar) que esa afirmación es falsa y que el ser un buen optimizador no está reñido con ser un buen actor ni que hacerte un personaje con ciertos problemas mejora tu capacidad interpretativa o su trasfondo.&lt;/p&gt;  &lt;p&gt;Lo que sigue después son posts y más posts discutiendo sobre si la Stormwind Fallacy es cierta o no. Y los argumentos de los defensores de que está equivocada (es decir, que si optimizas no interpretas) sueltan perlas como las siguientes:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The bottom line is that if you have a system that limits your choices, and there are choices that are more roleplaying-based and some that are more minimax-based, then if you choose one, you are doing less of the other. That&amp;#39;s why you cannot be a musical genius and a great football player. You simply don&amp;#39;t have the time to do both.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Esto me parece una tontería de tal calibre que no sé por donde empezar. Es cierto que es prácticamente imposible ser un genio de la música y del deporte a la vez (ya que esa gente se pasa la vida practicando y perfeccionándose), pero a ver, alma de cántaro, ¿tú te crees que tú o alguno de tus conocidos califica como genio de la interpretación o de la optimización? ¿Os pasáis 14 horas al día interpretando u optimizando? ¿O sois como la mayoría y curráis de lunes a viernes y luego en vuestros ratos libres salís de fiesta, jugáis a la play y además, a veces, jugáis al rol? La gente normal es capaz de ser razonablemente buena en varias cosas, y la verdad, optimizar un personaje no es que sea Física Cuántica (ni siquiera para inventarse el combo que dio lugar a &lt;a href="http://forums.gleemax.com/showthread.php?s=7aeebc5f4271c24359d4e2ec98f3a07d&amp;amp;t=491801"&gt;Pun Pun el Kobold&lt;/a&gt;, un personaje con atributos infinitos, acciones infinitas, alcance infinito, habilidades infinitas,... y solo tiene nivel 5 :p).&lt;/p&gt;  &lt;p&gt;Así que, aquí paz y después gloria: que cada cual juegue como le de la gana, que esa es una de las grandes virtudes de estos juegos.&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13558" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/master/archive/tags/Rol/default.aspx">Rol</category></item><item><title>Migrando a VS 2008</title><link>http://kartones.net/blogs/jadengine/archive/2008/07/13/migrando-a-vs-2008.aspx</link><pubDate>Sun, 13 Jul 2008 10:54:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13555</guid><dc:creator>Vicente</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hace un par de semanas por fin migramos Jade y Pluto de VS2005 a VS2008. Llevábamos bastante tiempo queriendo hacerlo pero muchas de las características del Framework 3.5 aún no estaban soportadas en Mono así que no nos decidíamos. Pero coincidiendo con el movimiento de &lt;a href="http://www.codeplex.com"&gt;Codeplex&lt;/a&gt; a &lt;a href="http://www.assembla.com"&gt;Assembla&lt;/a&gt;&amp;nbsp; y viendo que &lt;a href="http://www.mono-project.com/Mono_Project_Roadmap"&gt;Mono 1.9&lt;/a&gt; ya sí que soporta casi todo lo nuevo (excepto LINQ to SQL que no creo que usemos en la vida) decidimos migrar las soluciones a VS2008.&lt;/p&gt;  &lt;p&gt;El migrarnos a 2008 tiene varias ventajas:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;El VS2008 funciona mucho mejor en Windows Vista que el VS2005.&lt;/li&gt;    &lt;li&gt;Podemos aprovechar las nuevas características del lenguaje (propiedades automáticas, métodos extensionales, expresiones lambda, LINQ to Objects,...) y las nuevas clases que se han añadido al Framework (&lt;a href="http://msdn.microsoft.com/en-us/library/bb359438.aspx"&gt;HashSet&lt;/a&gt;,...).&lt;/li&gt;    &lt;li&gt;Con el SP1 tendremos un nuevo compilador que optimiza mejor los tipos por valor.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Las dos primeras ventajas son interesantes pero no son de vida o muerte. En cambio la tercera si que se merece unas líneas extra. Actualmente el compilador del Framework es incapaz de optimizar funciones que tengan en su firma un tipo por valor. Por ejemplo, si Vector3 es una estructura, no se podría optimizar esta función:&lt;/p&gt;  &lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;max-height:200px;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;   &lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;     &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   1:&lt;/span&gt; &lt;span&gt;public&lt;/span&gt; &lt;span&gt;static&lt;/span&gt; Vector3 &lt;span&gt;operator&lt;/span&gt; +(Vector3 left, Vector3 right)&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   3:&lt;/span&gt;     &lt;span&gt;return&lt;/span&gt; &lt;span&gt;new&lt;/span&gt; Vector3(left.X + right.X, left.Y + right.Y, left.Z + right.Z);&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   4:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;No poder optimizar significa:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;No se puede hacer un &lt;a href="http://en.wikipedia.org/wiki/Inline_expansion"&gt;inline&lt;/a&gt; de la función.&lt;/li&gt;

  &lt;li&gt;Como hay que realizar la llamada, y los tipos son por valor, hay que copiarlos.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Esto es lentísimo y la función sumar vectores (o cualquier otra operación matemática) es imprescindible para un motor 3D. Hasta ahora para solucionar este problema había que hacerse una función como esta (en &lt;a href="http://creators.xna.com/"&gt;XNA&lt;/a&gt; existe este mismo problema y se utiliza esta misma solución):&lt;/p&gt;

&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;max-height:200px;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   1:&lt;/span&gt; &lt;span&gt;public&lt;/span&gt; &lt;span&gt;static&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Add(&lt;span&gt;ref&lt;/span&gt; Vector3 value1, &lt;span&gt;ref&lt;/span&gt; Vector3 value2, &lt;span&gt;out&lt;/span&gt; Vector3 &lt;span&gt;value&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   3:&lt;/span&gt;     &lt;span&gt;value&lt;/span&gt;.X = value1.X + value2.X;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   4:&lt;/span&gt;     &lt;span&gt;value&lt;/span&gt;.Y = value1.Y + value2.Y;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   5:&lt;/span&gt;     &lt;span&gt;value&lt;/span&gt;.Z = value1.Z + value2.Z;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   6:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Donde los valores y el resultado van todos por referencia, con lo cual hay que pagar el coste de llamar a la función pero al menos no hay que copiar las estructuras. Pero el problema de funciones de este estilo es que escribir código matemático es horrendo. Por ejemplo:&lt;/p&gt;

&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;max-height:200px;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;
  &lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;
    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   1:&lt;/span&gt; &lt;span&gt;public&lt;/span&gt; &lt;span&gt;override&lt;/span&gt; Vector3 Calculate()&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   3:&lt;/span&gt;     Vector3 result = Vector3.Zero;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   5:&lt;/span&gt;     &lt;span&gt;foreach&lt;/span&gt; (IMovableEntity target &lt;span&gt;in&lt;/span&gt; _targets)&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   7:&lt;/span&gt;         Vector3 targetPos = target.Position;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;   8:&lt;/span&gt;         Vector3 ownPos = Owner.Position;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;   9:&lt;/span&gt;         Vector3 direction = Vector3.Subtract(&lt;span&gt;ref&lt;/span&gt; ownPos, &lt;span&gt;ref&lt;/span&gt; targetPos);&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;  10:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;  11:&lt;/span&gt;         Vector3 desiredSpeed = Vector3.Multiply(&lt;span&gt;ref&lt;/span&gt; direction, Owner.MaximumSpeed);&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;  12:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;  13:&lt;/span&gt;         Vector3 ownVel = Owner.Velocity;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;  14:&lt;/span&gt;         Vector3 difference = Vector3.Subtract(&lt;span&gt;ref&lt;/span&gt; desiredSpeed, &lt;span&gt;ref&lt;/span&gt; ownVel);&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;  15:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;  16:&lt;/span&gt;         result = Vector3.Add(&lt;span&gt;ref&lt;/span&gt; result, &lt;span&gt;ref&lt;/span&gt; difference);&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;  17:&lt;/span&gt;     }&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;  18:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;&lt;span&gt;  19:&lt;/span&gt;     &lt;span&gt;return&lt;/span&gt; result;&lt;/pre&gt;

    &lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;"&gt;&lt;span&gt;  20:&lt;/span&gt; }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Ese código deberían ser 4 operaciones encadenadas, pero como no podemos usar los operadores +,-,*,... hace falta utilizar un montón de valores temporales (y además es feo de leer de narices).&lt;/p&gt;

&lt;p&gt;Hace poco Reed hizo benchmarks con el nuevo compilador del Framework 3.5 SP1 Beta usando los operadores y las llamadas se optimizan correctamente, con lo que ahora usar +,-,... es más rápido (porque se hace el inline) y además el código es mucho más cómodo de leer. Así que ahora iremos cambiando el código de Jade para que utilice los operadores matemáticos.&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13555" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/jadengine/archive/tags/Jad+Engine/default.aspx">Jad Engine</category><category domain="http://kartones.net/blogs/jadengine/archive/tags/Pluto/default.aspx">Pluto</category></item><item><title>Bromas Cámara oculta 2</title><link>http://kartones.net/blogs/lobo666/archive/2008/07/12/bromas-c-225-mara-oculta-2.aspx</link><pubDate>Sat, 12 Jul 2008 19:25:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13541</guid><dc:creator>Lobo666</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Las grabé en 2001, las voy subiendo poco a poco:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;La Factura Telefónica &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;object width="435" height="365"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-l4syozwI_o&amp;rel=0"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/-l4syozwI_o&amp;rel=0" type="application/x-shockwave-flash" width="435" height="365"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ganadero vs. Informático &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;object width="435" height="365"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EsTOanc-bnc&amp;rel=0"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EsTOanc-bnc&amp;rel=0" type="application/x-shockwave-flash" width="435" height="365"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13541" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/lobo666/archive/tags/camara+oculta_7C00_bromas/default.aspx">camara oculta|bromas</category></item><item><title>Getting Start Con Windows Live Agents</title><link>http://kartones.net/blogs/sector7g/archive/2008/07/12/getting-start-con-windows-live-agents.aspx</link><pubDate>Sat, 12 Jul 2008 12:22:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13532</guid><dc:creator>Pedroafa</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/imagenes/messenger_nongenuine_logo.png" align="left" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Finalmente la versión 5.0 ha sido liberada al público en general. Esto permite que cualquier persona pueda, ya por fin, desarrollar Windows Live Agents para la plataforma de Windows Live Messenger.&lt;/p&gt;
&lt;p&gt;Esta nueva versión viene acompañada de muchas novedades dentro de la plataforma como: el PHI (Partner Hosting Infrastructure), un nuevo entorno de desarrollo integrado con Visual Studio, herramientas de migración de versiones y muchas más cosas...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;¿Por dónde empezar a desarrollar?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;El primer paso que hay que dar, es descargarse el SDK y el IDE para el Visual Studio, que pueden obtenerse &lt;a href="http://go.microsoft.com/?linkid=8602072"&gt;aquí&lt;/a&gt;. Una vez instalado, es necesario tener una licencia. Esta licencia permitirá lanzar el agente a la red de MSN. De esta manera, es posible probarlo desde un cliente Windows Live Messenger.&lt;/p&gt;
&lt;p&gt;Para obtener una licencia hay que, en primera instancia, iniciar sesión dentro de la red de Windows Live. Para ello, ir a &lt;b&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Code Management -&amp;gt; Sing-in to Windows Live&lt;/b&gt;. Para solicitar la licencia hay que ir a &lt;b&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Request License Certificate&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Dentro de la ventana de salida del Visual Studio deberá de aparecer el siguiente mensaje:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;Requesting authentication ticket...success.&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Calling License Certificate Request tool...&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Windows Live Agents License Certificate Request Tool.&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Requesting License.&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Found license with serial: WLA-&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Generating Certificate Request.&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Requesting Certificate.&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Installing Certificate.&lt;/i&gt; &lt;br /&gt;&lt;i&gt;Done.&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Este mensaje confirmará que el proceso se ha realizado correctamente.&lt;/p&gt;
&lt;p&gt;Los usuarios de XP deberán tener instalado en sus equipos la herramienta &lt;b&gt;certreq.exe&lt;/b&gt;. Esta herramienta se encuentra dentro del paquete de herramientas para Windows Server 2003, que se puede descargar de &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=C16AE515-C8F4-47EF-A1E4-A8DCBACFF8E3&amp;amp;displaylang=en"&gt;aquí&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Para crear un nuevo agente. Hay que ir al Visual Studio. El nuevo template, que se agrega al instalar el SDK, permitirá crear un agente con una conversación básica utilizando un wizard. De esta forma, en la pantalla que se muestra a continuación se dá nombre al proyecto.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/wla_getting_start_con_windows_live_agents.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Al pulsar &lt;i&gt;Ok&lt;/i&gt;, se mostrará el siguiente menú. En este menú se podrá seleccionar el idioma o idiomas que hablará el agente; si se desea que tenga un chit chat (una conversación básica) predefinida y si se quiere que almacene información del usuario como: su nombre, edad, sexo, etc…&lt;/p&gt;
&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/wla_getting_start_con_windows_live_agents2.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Una vez hecho esto, ya sólo queda compilar ( F5 ) y conversar con el agente.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/wla_getting_start_con_windows_live_agents3.PNG" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Recursos de interés:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://go.microsoft.com/?linkid=8602072"&gt;SDK&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc527897.aspx"&gt;Documentación SDK&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://phi.agents.live.com/"&gt;PHI&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://windowsliveagents.spaces.live.com/"&gt;Blog del equipo de Desarrollo&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=1687&amp;amp;SiteID=1"&gt;Foro MSDN&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13532" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/sector7g/archive/tags/bots/default.aspx">bots</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Agents/default.aspx">Windows Live Agents</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Dev/default.aspx">Windows Live Dev</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Windows+Live+Messenger/default.aspx">Windows Live Messenger</category></item><item><title>Como testear un mando a distancia con un móvil - How to test a remote control just with a cellphone</title><link>http://kartones.net/blogs/haztelotu/archive/2008/07/11/como-testear-un-mando-a-distancia-con-un-m-243-vil-how-to-test-a-remote-control-just-with-a-cellphone.aspx</link><pubDate>Thu, 10 Jul 2008 22:36:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13510</guid><dc:creator>lowtech</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Alguna vez os ha pasado que tras una caída el mando a distancia ha dejado de funcionar, pero no sabías si era porque las pilas ya se habían agotado del todo ¿porque todos pulsaremos los botones a lo bestia cuando tienen pocas pilas como decía Piedrahita? o si realmente se habia estropeado.&lt;/p&gt;
&lt;p&gt;En otro post comentaré como reparar la avería mas típica de los mandos a distancia, en este caso solo vamos a enseñar como comprobar si el mando aun esta vivo, es decir si el led infrarrojo aun emite, aun que las pilas tengan tan poco voltaje que la señal del led no llegue hasta el dispositivo sobre el que queremos actuar.&lt;/p&gt;
&lt;p&gt;Para esto necesitaremos un simple móvil, los led infrarrojos, como su propio nombre indica, emiten en un espectro de luz no visible por el ojo humano, el espectro infrarrojo, pero los sensores CMOS de cualquier camara del mercado, si es capaz de captar dicho espectro, a menos que tengan algun filtro,&amp;nbsp;y mostrarlo de un modo que nosotros somos capaces de visualizar.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Así que tan solo encendemos la camara de nuestro movil apuntamos el mando a distancia a la camara y miramos la pantalla viendo algo similar a esto:&lt;/p&gt;
&lt;p&gt;&lt;object width="435" height="365"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2cxfgDWSGmw&amp;rel=0"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2cxfgDWSGmw&amp;rel=0" type="application/x-shockwave-flash" width="435" height="365"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13510" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/haztelotu/archive/tags/cellphone/default.aspx">cellphone</category><category domain="http://kartones.net/blogs/haztelotu/archive/tags/mando+distancia/default.aspx">mando distancia</category><category domain="http://kartones.net/blogs/haztelotu/archive/tags/movil/default.aspx">movil</category><category domain="http://kartones.net/blogs/haztelotu/archive/tags/remote+control/default.aspx">remote control</category></item><item><title>Mis juegos favoritos</title><link>http://kartones.net/blogs/master/archive/2008/07/07/mis-juegos-favoritos.aspx</link><pubDate>Mon, 07 Jul 2008 17:41:55 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13453</guid><dc:creator>Vicente</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;La preparaci&amp;#243;n de la partida continua bastante bien: ya tenemos las figuras encargadas y uno de mis jugadores deber&amp;#237;a estar imprimiendo PDFs para el escenario seg&amp;#250;n escribo estas l&amp;#237;neas. Pero como puede que este finde tampoco podamos jugar por compromisos familiares, pues hoy a otra cosa.&lt;/p&gt;  &lt;p&gt;Mi top tres de juegos favoritos es:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Alternity"&gt;Alternity&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Dungeons_&amp;amp;_Dragons"&gt;DnD&lt;/a&gt; (2e/3e/4e) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Shadowrun"&gt;Shadowrun&lt;/a&gt; 2e-3e/&lt;a href="http://en.wikipedia.org/wiki/MechWarrior_(role-playing_game)"&gt;Mechwarrior&lt;/a&gt; 3e &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Seguramente como solo he hablado del DnD a alguno le soprenda encontrase al Alternity en primer lugar. Alternity fue el predecesor del DnD 3e y un poco un experimento de Wizards of the Coast para probar nuevas mec&amp;#225;nicas e ideas (de la mano de Rich Baker y Bill Slavicsek, que luego tuvieron bastante influencia en el DnD). Es un juego pensado para partidas de ciencia ficci&amp;#243;n y que me encant&amp;#243; desde que lo vi. Primero era un libro mucho m&amp;#225;s colorido y espectacular que el AD&amp;amp;D (el juego al que jugaba por esa &amp;#233;poca), y segundo ten&amp;#237;a unas mec&amp;#225;nicas de juego realmente elegantes (y modernas comparadas con el AD&amp;amp;D, adem&amp;#225;s de que me encanta la teor&amp;#237;a sobre el dise&amp;#241;o de juegos).&lt;/p&gt;  &lt;p&gt;Adem&amp;#225;s en Alternity fue la primera campa&amp;#241;a exitosa que jugu&amp;#233; con mi actual grupo de jugadores (intent&amp;#233; primero una partida de AD&amp;amp;D pero fue un desastre absoluto porque ten&amp;#237;amos formas muy diferentes de como jugar al rol), as&amp;#237; que solo tengo buenos recuerdos de este juego (al que ya no juego, pero puede que alg&amp;#250;n d&amp;#237;a lo saque de la estanter&amp;#237;a).&lt;/p&gt;  &lt;p&gt;Despu&amp;#233;s como no est&amp;#225; el DnD en todas sus versiones y sabores (excepto la primera edici&amp;#243;n que me pill&amp;#243; demasiado peque&amp;#241;o). Me encanta el estilo de fantas&amp;#237;a del DnD y como ha ido evolucionando a lo largo de los a&amp;#241;os. He crecido leyendo novelas sobre &lt;a href="http://en.wikipedia.org/wiki/Raistlin"&gt;Raistlin&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Huma_Dragonbane#Huma_Dragonbane"&gt;Huma&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Elminster"&gt;Elminster&lt;/a&gt; y &lt;a href="http://en.wikipedia.org/wiki/Drizzt_Do%27Urden"&gt;Drizzt Do&amp;#39;Urden&lt;/a&gt; as&amp;#237; que me encanta jugar en mundos sobre los que he le&amp;#237;do mucho y me resultan muy familiares.&lt;/p&gt;  &lt;p&gt;Y por &amp;#250;ltimo dos juegos que me encantan pero de en los que no he conseguido realizar una buena partida jam&amp;#225;s. Y quiz&amp;#225;s en los dos es por el mismo motivo: son juegos muy buenos (para mi gusto) que tienen varios subsistemas que no son nada divertidos. En el Shadowrun el culpable es el decker, que cuando se mete en la matriz para hackear ordenadores b&amp;#225;sicamente pasa a estar solo (con lo que el grupo se parte en dos y no mola nada). Y en el Mechwarrior es el combate de Battlemechs que b&amp;#225;sicamente te obliga a jugar a un juego diferente (&lt;a href="http://en.wikipedia.org/wiki/Battletech"&gt;Battletech&lt;/a&gt;) y parar el ritmo del juego de rol. Me da mucha pena porque son juegos que creo que pueden ser muy entretenidos (y la creacci&amp;#243;n de personajes del Mechwarrior 3e es la risa) pero a los que nunca he sido capaz de sacar todo su jugo (tambi&amp;#233;n es posible que no se adapten a nuestro estilo de juego).&lt;/p&gt;  &lt;p&gt;Tengo muchos m&amp;#225;s juegos por casa, pero no me gustan tanto:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Rolemaster"&gt;Rolemaster&lt;/a&gt;: el tablamaster. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/MERP"&gt;MERP&lt;/a&gt;: no est&amp;#225; mal, pero siempre me gust&amp;#243; m&amp;#225;s el DnD. Las tablas de cr&amp;#237;ticos eran graciosas un rato. &lt;/li&gt;    &lt;li&gt;Mechwarrior 2e: este juego a duras penas se puede llamar RPG porque es m&amp;#225;s un h&amp;#237;brido entre RPG/Battletech un poco raro (mucho peor que el Mechwarrior 3e). &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Call_of_Cthulhu_(role-playing_game)"&gt;La Llamada de Cthulhu&lt;/a&gt;: el sistema de juego es horrendo. Es cierto que para el Cthulhu da bastante igual, pero es que me supera. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Talislanta"&gt;Talislanta&lt;/a&gt;: este me lo compr&amp;#233; como curiosidad. Est&amp;#225; genial para sacar ideas y ver un mundo muy original, pero para jugar no lo s&amp;#233; la verdad porque es todo tan nuevo que los jugadores tienen que leer bastante para ponerse al d&amp;#237;a (y mis jugadores se llevan muy mal con leer cosas en ingl&amp;#233;s). &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ert.iespana.es/"&gt;ERT&lt;/a&gt;: una pena que este juego espa&amp;#241;ol se fuera al garete, promet&amp;#237;a. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Star_Wars_role-playing_game_(WEG)"&gt;Star Wars&lt;/a&gt; 2e: que legendario es este juego, la de veces que he jugado cuando era m&amp;#225;s peque&amp;#241;o :) Pero hay que reconocer que el sistema es una casta&amp;#241;a infernal :p &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/D20_Modern"&gt;d20 Modern&lt;/a&gt;: la versi&amp;#243;n moderna del d20 (DnD). Me gusta m&amp;#225;s el Shadowrun para este tipo de ambientaci&amp;#243;n. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Heavy_Gear"&gt;Heavy Gear&lt;/a&gt;: este me lo compr&amp;#233; porque ten&amp;#237;a robots (me encanta el Battletech, pero quer&amp;#237;a buscar un sistema que no fuera tan complicado para el Mechwarrior). La verdad que tiene bastante buena pinta, pero nunca he jugado una partida. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Warhammer_Fantasy_Roleplay"&gt;Warhammer Fantasy Roleplay&lt;/a&gt;: lo compr&amp;#233; de liquidaci&amp;#243;n, pero ni lo he abierto creo yo. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/The_Lord_of_the_Rings_Roleplaying_Game"&gt;The Lords of the Rings Roleplaying Game&lt;/a&gt;: otro que no me he le&amp;#237;do (al menos lo he ojeado :p). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Y no, no tengo ni un solo juego de &lt;a href="http://en.wikipedia.org/wiki/White_wolf"&gt;White Wolf&lt;/a&gt; :D Ni me gustan mucho la verdad. Puede que sea porque siempre los jugadores que he conocido jugando al Vampiro y dem&amp;#225;s sean los arquetipos de jugador &lt;em&gt;&amp;quot;roleplayer&amp;quot;&lt;/em&gt; al que las dem&amp;#225;s formas de jugar le parecen inferiores (otro d&amp;#237;a hablar&amp;#233; sobre lo de jugar mejor o jugar peor al rol), o porque la mec&amp;#225;nica no me ha gustado, o porque la ambientaci&amp;#243;n no me llama en absoluto (o una mezcla de las tres).&lt;/p&gt;  &lt;p&gt;&amp;#191;Cu&amp;#225;les son vuestros juegos favoritos?&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13453" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/master/archive/tags/General/default.aspx">General</category></item><item><title>Wakoopa +Visifire + Retaggr</title><link>http://kartones.net/blogs/sector7g/archive/2008/07/06/wakoopa-visifire-retaggr.aspx</link><pubDate>Sun, 06 Jul 2008 13:39:44 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13432</guid><dc:creator>Pedroafa</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&amp;#191;Qu&amp;#233; puede salir de la suma de Wakoopa, Visifire y Retaggr?, pues nada bueno la verdad. La idea es crear una gr&amp;#225;fica usando Visifire. Esta gr&amp;#225;fica tiene que mostrar la informaci&amp;#243;n del software que m&amp;#225;s he usado en el &amp;#250;ltimo d&amp;#237;a, semana y mes. Esta informaci&amp;#243;n la proporciona el servicio de Wakoopa. Adem&amp;#225;s, esta gr&amp;#225;fica debe verse en mi tarjeta Web 2.0 de Retaggr.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&amp;#191;Qu&amp;#233; es qu&amp;#233;?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://wakoopa.com/"&gt;Wakoopa&lt;/a&gt;&lt;/b&gt; es un servicio muy parecido a Last-fm, con la misma filosof&amp;#237;a, pero en vez de m&amp;#250;sica lo que mide es el software que utilizado. Este servicio se encarga de hacer un tracking del software que est&amp;#225; siendo utilizando y medir cuanto tiempo se ha estado utilizando. Este servicio adem&amp;#225;s permite consultar el top 10 de software utilizado, ver que software se ha utilizado durante el &amp;#250;ltimo mes y agregar contactos para ver que utilizan ellos. Tambi&amp;#233;n una cosa curiosa de la que dispone, es que se pueden crear Teams y ver que software usa la gente que forma parte de &amp;#233;l.&lt;/p&gt;  &lt;p&gt;Este servicio dispone de una API para acceder a su informaci&amp;#243;n. Esto permite consumir los datos que ha generado un usuario para aplicarlos en otros mashups y poder desarrollar alg&amp;#250;n gadget. Su API expone los siguientes servicios:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Your most used software &lt;/li&gt;    &lt;li&gt;Your most recently used software &lt;/li&gt;    &lt;li&gt;Summary of your usage for the last day/week/month &lt;/li&gt;    &lt;li&gt;Newly used software &lt;/li&gt;    &lt;li&gt;Latest versions of your software &lt;/li&gt;    &lt;li&gt;Comments on your profile &lt;/li&gt;    &lt;li&gt;Reviews you&amp;#39;ve written &lt;/li&gt;    &lt;li&gt;Your contacts on Wakoopa &lt;/li&gt;    &lt;li&gt;Teams you are a member of &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://www.retaggr.com"&gt;Retaggr&lt;/a&gt;&lt;/b&gt; es otro servicio con el que crear una tarjeta de presentaci&amp;#243;n Web. 2.0, donde se pueden recoger todos los servicios que un usuario utiliza. Se pueden agregar los profiles de: Facebook, Twitter, Wakoopa, Lasf-fm, LinkedIn, etc&amp;#8230; En la tarjeta, tambi&amp;#233;n se pueden incrustar los gadget que estos servicios ofrecen. De esta manera, se pueden tener disponibles desde ella. Adem&amp;#225;s, se pueden utilizar gadget desarrollados por terceros mediante el uso de un iframe.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="http://visifire.com/"&gt;Visifire&lt;/a&gt;&lt;/b&gt; es un control para generar gr&amp;#225;ficas. Esta hecho con Silverlight 2.0 beta 2 y evidentemente por el momento se encuentra en fase beta. Para usarlo s&amp;#243;lo hay que a&amp;#241;adir una referencia a un javascript dentro de la p&amp;#225;gina y subir un archivo .xab que ellos mismo proporcionan. Adem&amp;#225;s, para dise&amp;#241;ar las graficas se puede utilizar su dise&amp;#241;ador. &lt;a href="http://kartones.net/blogs/sector7g/archive/2008/06/07/creando-gr-225-ficas-con-visifire.aspx"&gt;M&amp;#225;s informaci&amp;#243;n&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&amp;#191;C&amp;#243;mo integrar todo?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;De la Api de Wakoopa vamos a utilizar el servicio que devuelve un resumen de las aplicaciones usadas. Devuelve una lista con las 10 aplicaciones que m&amp;#225;s han sido usadas. La url del servicio es:&lt;/p&gt;  &lt;p&gt;http://api.wakoopa.com/&amp;lt;username&amp;gt;/software_summary.json?period=&amp;lt;period&amp;gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&amp;lt;username&amp;gt;&lt;/b&gt;: El nombre de usuario o Nick dentro de Wakoopa. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&amp;lt;period&amp;gt;&lt;/b&gt;: Puede tomar los valores: day, week o month para devolver un resumen de los datos de un d&amp;#237;a, de una semana o de un mes respectivamente. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Esta url devuelve un archivo json con una colecci&amp;#243;n de la siguiente entidad:&lt;/p&gt;  &lt;pre class="code"&gt;{
    &amp;quot;complete_thumb_url&amp;quot;: &amp;quot;http://static.wakoopa.com/images/software/53/thumb/picture.png&amp;quot;,
    &amp;quot;name&amp;quot;: &amp;quot;Windows Internet Explorer&amp;quot;,
    &amp;quot;updated_at&amp;quot;: &amp;quot;2008/06/05 08:03:18 +0000&amp;quot;,
    &amp;quot;last_active_at&amp;quot;: &amp;quot;2009/06/03 17:22:05 +0000&amp;quot;,
    &amp;quot;url&amp;quot;: &amp;quot;http://www.windows.com/&amp;quot;,
    &amp;quot;category&amp;quot;: {
        &amp;quot;name&amp;quot;: &amp;quot;Browsers&amp;quot;,
        &amp;quot;id&amp;quot;: 1,
        &amp;quot;description&amp;quot;: &amp;quot;Check what&amp;#39;s happening on the web&amp;quot;,
        &amp;quot;complete_url&amp;quot;: &amp;quot;http://wakoopa.com/categories/browsers&amp;quot;
    },
    &amp;quot;id&amp;quot;: 53,
    &amp;quot;description&amp;quot;: &amp;quot;Windows Internet Explorer (formerly Microsoft Internet Explorer).&amp;quot;,
    &amp;quot;complete_url&amp;quot;: &amp;quot;http://wakoopa.com/software/windows-internet-explorer&amp;quot;,
    &amp;quot;developer&amp;quot;: {
        &amp;quot;name&amp;quot;: &amp;quot;Microsoft Corporation&amp;quot;,
        &amp;quot;id&amp;quot;: 13908,
        &amp;quot;complete_url&amp;quot;: &amp;quot;http://wakoopa.com/developers/microsoft-corporation&amp;quot;
    },
    &amp;quot;num_users&amp;quot;: 12551,
    &amp;quot;complete_icon_url&amp;quot;: &amp;quot;http://static.wakoopa.com/images/software/53/picture.png&amp;quot;,
    &amp;quot;created_at&amp;quot;: &amp;quot;2007/04/19 11:36:22 +0000&amp;quot;,
    &amp;quot;active_seconds&amp;quot;: 11371
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Despu&amp;#233;s con el dise&amp;#241;ador de gr&amp;#225;ficas de Visifire generamos el template de la gr&amp;#225;fica que queremos usar, en esta caso una de quesitos.&lt;/p&gt;

&lt;pre class="code"&gt;var chartXmlString = &amp;#39;&amp;#39;
 +&amp;#39;&amp;lt;vc:Chart xmlns:vc=&amp;quot;clr-namespace:Visifire.Charts;assembly=Visifire.Charts&amp;quot; &amp;#39;
 +&amp;#39; Width=&amp;quot;328&amp;quot; Height=&amp;quot;174&amp;quot; BorderThickness=&amp;quot;0&amp;quot; Theme=&amp;quot;Theme1&amp;quot; &amp;#39;
 +&amp;#39; View3D=&amp;quot;True&amp;quot; AnimationType=&amp;quot;Type1&amp;quot; ColorSet=&amp;quot;Visifire1&amp;quot; UniqueColors=&amp;quot;True&amp;quot;&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:Image Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:Legend Enabled=&amp;quot;True&amp;quot; FontSize=&amp;quot;10&amp;quot; FontFamily=&amp;quot;Arial&amp;quot; FontStyle=&amp;quot;Normal&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:ToolTip Color=&amp;quot;white&amp;quot; RadiusX=&amp;quot;2&amp;quot; RadiusY=&amp;quot;2&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:AxisX Title=&amp;quot;Companies&amp;quot;&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:AxisLabels Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:MajorGrids Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:MajorTicks Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
 +&amp;#39;&amp;lt;/vc:AxisX&amp;gt;&amp;#39;
 +&amp;#39;&amp;lt;vc:AxisY Enabled=&amp;quot;False&amp;quot;&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:AxisLabels Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:MajorGrids Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:MajorTicks Enabled=&amp;quot;False&amp;quot;/&amp;gt;&amp;#39;
 +&amp;#39;&amp;lt;/vc:AxisY&amp;gt;&amp;#39;
 +&amp;#39;&amp;lt;vc:DataSeries Name = &amp;quot;Series1&amp;quot; RenderAs=&amp;quot;Pie&amp;quot;&amp;gt;&amp;#39;
     +&amp;#39;&amp;lt;vc:DataPoint AxisLabel=&amp;quot;{0}&amp;quot; YValue=&amp;quot;{1}&amp;quot;/&amp;gt;&amp;#39;
 +&amp;#39;&amp;lt;/vc:DataSeries&amp;gt;&amp;#39;
 +&amp;#39;&amp;lt;/vc:Chart&amp;gt;&amp;#39;;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Pues ya s&amp;#243;lo hay que leer el json y generar la grafica, que eso ya no tiene misterio. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;El Resultado.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Utilizar el gadget dentro de una web, blog o Retaggr es muy sencillo, s&amp;#243;lo es necesario un iframe. La url donde se encuentra hospedado el gadget es http://demos.kartones.net/008/default.htm. Como par&amp;#225;metros dentro de la querystring acepta:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;User&lt;/b&gt;: con el nombre de usuario de Wakoopa. &lt;/li&gt;

  &lt;li&gt;&lt;b&gt;Foot:&lt;/b&gt; que se debe establecer a 0 para esconder el pie de la p&amp;#225;gina. El tama&amp;#241;o del gadget es de 328x188 px. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El c&amp;#243;digo para embeberlo ser&amp;#237;a:&lt;/p&gt;

&lt;p&gt;&lt;i&gt;&amp;lt;iframe id=&amp;quot;Iframe1&amp;quot; height=&amp;quot;188&amp;quot; width=&amp;quot;328&amp;quot; frameborder=&amp;quot;0&amp;quot; scrolling=&amp;quot;no&amp;quot; src=&amp;quot;http://demos.kartones.net/008/default.htm?user=Pedroafa&amp;amp;foot=0&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;As&amp;#237; que dentro de la configuraci&amp;#243;n de la tarjeta Web 2.0 en Retagrr, a&amp;#241;adimos un Custom Widget y el resultado es el siguiente:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/wakoopa_visifire_retaggr2.PNG" alt="" /&gt; &lt;/p&gt;

&lt;p&gt;&lt;img src="http://kartones.net/images_posts/sector7g/wakoopa_visifire_retaggr1.PNG" alt="" /&gt; &lt;/p&gt;

&lt;p&gt;Aqu&amp;#237; pod&amp;#233;is encontrar una &lt;a href="http://demos.kartones.net/008/default.htm?user=Pedroafa"&gt;Live Demo&lt;/a&gt; de la gr&amp;#225;fica y mi &lt;a href="http://www.retaggr.com/Card/Pedroafa"&gt;tarjeta personal&lt;/a&gt; de Retaggr. &lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13432" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/sector7g/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Gadget/default.aspx">Gadget</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://kartones.net/blogs/sector7g/archive/tags/Mashup/default.aspx">Mashup</category></item><item><title>Actualización de Galería Oficial de la Web</title><link>http://kartones.net/blogs/berksworlds/archive/2008/07/05/actualizaci-243-n-de-galer-237-a-oficial-de-la-web.aspx</link><pubDate>Sat, 05 Jul 2008 01:18:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13390</guid><dc:creator>GMsBerksWorlds</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span class="postbody"&gt;&lt;font size="2"&gt;Se han actualizado la Sección Web - Galerías. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="postbody"&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;br /&gt;Se ha introducido como os prometí más mapas para vuestro uso práctico: &lt;br /&gt;- Mapa de Portales &lt;br /&gt;- Mapa de Entradas a Lost Lands &lt;br /&gt;- Mapas de Salidas de Mundos Perdidos - Especificando a dónde &lt;br /&gt;&lt;br /&gt;Por otro lado se ha actualizado la Seccíon &amp;#39;&amp;#39;Galería Fotos Oficiales&amp;#39;&amp;#39; con 70 fotos nuevas del Servidor Berks Worlds. Animaos a hacer publicidad con vuestros conocidos usando estas galerías.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/font&gt;&lt;a href="http://picasaweb.google.com/berksworlds/GaleriaOficial" target="_blank"&gt;&lt;font color="#ef8700" size="2"&gt;http://picasaweb.google.com/berksworlds/GaleriaOficial&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13390" width="1" height="1"&gt;</description></item><item><title>Evitar descuido debug=true</title><link>http://kartones.net/blogs/netcodigo/archive/2008/07/03/evitar-descuido-debug-true.aspx</link><pubDate>Thu, 03 Jul 2008 18:31:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13234</guid><dc:creator>fsancab</dc:creator><slash:comments>0</slash:comments><description>¿No te ha pasado alguna vez publicar un sitio web con el debug a true o las trazas habilitadas? Es un tipico descuido que se da al subir aplicaciones a un servidor en producción. Evidentemente, a la hora de desarrollar es lógico tener las trazas habilitadas o el debuger habilitado. Lo que no es nada saludable es dejarlos activados en producción. ¿Qué diferencias hay entre tener esto habilitado o no?
&lt;ol&gt;
	&lt;li&gt;La compilación de las páginas toma más tiempo.&lt;/li&gt;
	&lt;li&gt;El código se ejecuta de forma más lenta.&lt;/li&gt;
	&lt;li&gt;Se necesita más memoria en tiempo de ejecución.&lt;/li&gt;
	&lt;li&gt;Los scripts y las imágenes no se cachean.&lt;/li&gt;
&lt;/ol&gt;
Si quieren más información al respecto, visitar &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx" target="_blank"&gt;este&lt;/a&gt; artículo de Scott Guthrie. Pero al grano, cómo evitar estos descuidos.

La solución la tenemos en la configuración del servidor de producción. Concretamente en el elemento &lt;a href="http://msdn.microsoft.com/en-us/library/ms228298.aspx" target="_blank"&gt;deployment&lt;/a&gt;. Para ello modificaremo el fichero &lt;a href="http://netcodigo.webinfo.es/wp-admin/machine.config" target="_blank"&gt;machine.config&lt;/a&gt;, recordar que es el del servidor de producción. Introduciremos el siguiente código, dentro del elemento configuración y system.web:
&lt;blockquote&gt;&amp;lt;configuration&amp;gt;
&lt;br /&gt;&amp;nbsp; &amp;lt;system.web&amp;gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deployment retail=”true”/&amp;gt;
&lt;br /&gt;&amp;nbsp; &amp;lt;/system.web&amp;gt;
&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/blockquote&gt;
Con esto conseguiremos que la configuración del servidor prevalezca a la de la aplicación en cuanto a cómo se ejecuta la misma. En este caso, el deployment retail en true indicará que todas las aplicaciones están en modo producción.

Por mi experiencia les aconsejo que usen este simple código para evitar quejas de los clientes o usuarios finales.&lt;img src="http://kartones.net/aggbug.aspx?PostID=13234" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/netcodigo/archive/tags/Ajax/default.aspx">Ajax</category><category domain="http://kartones.net/blogs/netcodigo/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://kartones.net/blogs/netcodigo/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category></item><item><title>Tides of change</title><link>http://kartones.net/blogs/kartones/archive/2008/07/02/tides-of-change.aspx</link><pubDate>Wed, 02 Jul 2008 20:50:00 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13128</guid><dc:creator>Kartones</dc:creator><slash:comments>5</slash:comments><description>
&lt;p align="justify"&gt;&lt;img src="http://kartones.net/images_posts/ilitia_new_logo.png" align="left" alt="" /&gt; Goodbyes are never easy. Times change, companies change, people changes, and our goals change too. &lt;/p&gt;
 
&lt;p&gt;After 4 years at &lt;a href="http://www.ilitia.com"&gt;ilitia&lt;/a&gt;, coinciding with the new company&amp;#39;s logo and office, I&amp;#39;m moving to a new job. &lt;/p&gt;
 
&lt;p&gt;This past weekend I went to &lt;a href="http://www.britannica.com/EBchecked/topic/53030/Barcelona"&gt;Barcelona&lt;/a&gt; to &lt;a href="http://en.wikipedia.org/wiki/Jack_johnson"&gt;Jack Johnson&lt;/a&gt;&amp;#39;s tour. His pianist, &lt;a href="http://en.wikipedia.org/wiki/Zach_Gill"&gt;Zach&lt;/a&gt;, amazed me. He spent all the show not only playing quite good the piano, but too an accordion, a melodica, and even signing a bit. But most of all, he was all the time dancing or rolling on his chair, when not getting up and animating the crowd to clap and dance. He really looked as being fully happy doing his work. &lt;/p&gt;
 
&lt;p&gt;Right now I&amp;#39;m tired of doing consulting services (my last 2 jobs, 5 years in total). This last months I&amp;#39;ve started to enjoy less my daily work, up to now when I&amp;#39;ve decided to cease this and change. &lt;/p&gt;
 
&lt;p&gt;I want to focus on software development, so I&amp;#39;m moving to a analyst-programmer position at the R+D department of a big company (if you&amp;#39;re curious, check my &lt;a href="http://www.linkedin.com/in/kartones"&gt;linkedin&lt;/a&gt; in few weeks to see where I&amp;#39;m moving to ;). &lt;/p&gt;
 
&lt;p&gt;As I&amp;#39;ll be focusing a lot on .NET development again, Windows Live Services (and Windows Live Agents) posts will decrease in frecuency, but I&amp;#39;ll try not to forget them. In fact, I&amp;#39;ve got a personal WLA project on hold since some months and I&amp;#39;ll probably unfreeze it now. &lt;/p&gt;
 
&lt;p&gt;It&amp;#39;s been a long time and I&amp;#39;ve &amp;quot;grown up&amp;quot; a lot at ilitia, but it is time for changes...&lt;br /&gt;&lt;/p&gt;
 
&lt;p&gt;Things said, end of post :)&lt;/p&gt;
&lt;img src="http://kartones.net/aggbug.aspx?PostID=13128" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/kartones/archive/tags/.NET/default.aspx">.NET</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Blogging/default.aspx">Blogging</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Offtopic/default.aspx">Offtopic</category><category domain="http://kartones.net/blogs/kartones/archive/tags/Windows+Live/default.aspx">Windows Live</category></item><item><title>Kartones.Net MVF June 2008 winners</title><link>http://kartones.net/blogs/kartones/archive/2008/07/02/kartones-net-mvf-june-2008-winners.aspx</link><pubDate>Wed, 02 Jul 2008 20:16:41 GMT</pubDate><guid isPermaLink="false">b86c0850-82e5-42ed-a9d8-bde9e8f94ec1:13126</guid><dc:creator>Kartones</dc:creator><slash:comments>2</slash:comments><description>&lt;p align="justify"&gt;&lt;img src="http://www.kartones.net/images/mvf_logo_small.png" align="left" alt="" /&gt;One day late, but here are the winners of the june edition:&lt;/p&gt; &lt;p align="justify"&gt;- &lt;a href="http://kartones.net/blogs/codefreak/"&gt;Code, Freak and Videotape&lt;/a&gt;, with 4 votes&lt;br /&gt;- &lt;a href="http://www.sectorsieteg.net/"&gt;Sector 7G&lt;/a&gt;, with 3 votes&lt;br /&gt;- &lt;a href="http://kartones.net/blogs/haztelotu/"&gt;Haztelo Tu&lt;/a&gt;, with 3 votes too&lt;/p&gt; &lt;p align="justify"&gt;This time there has been very little participation :( Anyway, the awards will continue and I&amp;#39;ll try to have some prizes apart from stickers for the winners.&lt;/p&gt;&lt;img src="http://kartones.net/aggbug.aspx?PostID=13126" width="1" height="1"&gt;</description><category domain="http://kartones.net/blogs/kartones/archive/tags/Kartones.Net/default.aspx">Kartones.Net</category><category domain="http://kartones.net/blogs/kartones/archive/tags/MVF/default.aspx">MVF</category></item></channel></rss>