<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gabriel Rodriguez Plancarte</title>
	<atom:link href="http://gabrielrodriguez.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://gabrielrodriguez.net</link>
	<description>Tecnologia, Diseño, Negocios y Desarrollo</description>
	<lastBuildDate>Mon, 29 Mar 2010 07:58:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Como poner imagenes en correos o paginas sin usar etiquetas de img o attachments</title>
		<link>http://gabrielrodriguez.net/como-poner-imagenes-en-correos-o-paginas-sin-usar-etiquetas-de-img-o-attachments/</link>
		<comments>http://gabrielrodriguez.net/como-poner-imagenes-en-correos-o-paginas-sin-usar-etiquetas-de-img-o-attachments/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 07:58:45 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Diseño Web]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=741</guid>
		<description><![CDATA[Habrá veces que queremos desplegar una imagen en un correo o en una página web sin utilizar una etiqueta (tag) de &#60;img&#62;. O también que en una hoja de estilos (CSS) queramos especificar literalmente el contenido de la imagen en lugar de hacer referencia a ella en algún path.
Utilizando Data URI Schemes, podemos especificar el [...]]]></description>
			<content:encoded><![CDATA[<p>Habrá veces que queremos <strong>desplegar una imagen en un correo o en una página web sin utilizar una etiqueta (tag) de &lt;img&gt;</strong>. O también que en una hoja de estilos (CSS) queramos especificar literalmente el contenido de la imagen en lugar de hacer referencia a ella en algún path.</p>
<p>Utilizando <a title="Data URI Schemes" href="http://en.wikipedia.org/wiki/Data_URI_scheme">Data URI Schemes</a>, podemos <strong>especificar el &#8220;string&#8221; de Base64 que equivale a una imagen gráfica</strong>. Es decir, estamos <strong>especificando &#8220;in-line&#8221; la imagen, en formato de datos</strong>, en lugar de utilizar una etiqueta img que implica la localización de la imagen como un recurso externo.</p>
<p>Es decir..es lo mismo poner esto:</p>
<pre class="brush: xml;">
&lt;img src=&quot;images/dotnet.gif alt=&quot;dotnet&quot; /&gt;
</pre>
<p>que esto:</p>
<pre class="brush: xml;">

&lt;img alt=&quot;dotnet&quot; src=&quot;data:image/gif;base64,R0lGODlhdQBvAPf/AGVlZbKysvH5/Ao2fKqqqvX19SIiIujo6RJqojWhyfz9/Y+51gpJm7jh7QiUwUhISC2jyQo7g0iIt4bS5IfM4BOjyUuZxPn5+QKLuwdfngdbmwxDd9Pt9On2+VWkyXa61hFimzw8PA1Cg83V5Nvx9gpCjOvu9gpIjOT0+TSHuMzr81xcXLHc6wdRk8vLy2bF3Kzb6gVjooSEhJTM4dvt9CqaxJzT5Q5Sh6Kiotra2kS41FRUVCSKvTxlqqHc6n3E3BYWFhhyqwZ0rSJ8tHFxcQ1RkeHh4Y7V5sPDwzKUwru7u0OqzSOaxAKQv9fX13p6eo+Pj+7u7iySwTilygZ8svHx8Vq01N3d3QAAABNmn1Gx0hV0rvr8/DGZxBJdoi6KvQ5cmuzs7KPW5w9dkhdzrRt7s0mu0ByaxG3C2rrc65ubm5OTk5rZ6ESiyoLI3hBVkNLS0iOCtTFmmy9zq4zL4AODtYqKiiSEuA1qpE2qzR51sDiTwleszhF6sg5KicXl8GS41hSRvhNdmYLE3RFyqODx9zAwMBR1sAoKChBPjXzN4cTp8nXA2hGWwkukyx2BtCJtp2DC2qnL4hlqqxdwqTV+sxdtqObm5j2ozW692ByFuguAtAs6bE+61u33+gmNvBuTwSOVwnqx0rzm8ByOvWe82BBupmKawzqYxWSsy2+51l2y0AZnpCmFuYnC3GrI3gdWl7/i7q3g7V282Gu01RCCs5fI4CmSvsrn8RWFuB15rwtlor3T5RONvVq51gSHuuvw9xV1qgGItH+nzAhMjyyAtg1LgBKZxD+dyCRdkTGex6jT5hBYlnjK3xd6rnHJ3jm00S2fxzSOwBhtpgpvqAuIuBNWnxF0rh1wphxnofb7/B1WkwZuqDCqzDxrrhNzrhdkqAhAhqTX6JLQ4jKjySiOvghGiggxdyKIuZTX53KzztLf6ziexySgyF+v0hxwr+/2+qnY6TOxz5rX6Bd/tlO/2Nfp8kOgxz+RvrHX52a20BxfnnPF2abF3H7A1////yH5BAEAAP8ALAAAAAB1AG8AAAj/AP8JHEiwoMGDAgUUsleogwABniJ2mEiRYiEa69Yd4CJQAcKPIA9q4xDvh5UlpMqoXLnSgr0OEiN6DElzoIIGjByhG5LCQqoZYmyMo0NnnFEKblJJmCNn2zZvEhbQ0PaQY82r/7TZsMLkzJlA1Q6JHUvWFgcUHVCoFYA1pAIWZnJxY0WXVYwYwSzQcfODAoVxjCRsE3GuMCc/XqxZmyMpLVqrbRGyWOL1TKNqwvqQ3Wwhlgq1hQqhmBnZIIlSpKjVXW03RopM/Cj4E3xuwABOuHGL8MLbmigSwEmwLU1QwI/KTAIJq1Mn2Oaxumx5Di6cuMEGS3Kxtsv9boY4szwk/ysc4Xbu3H7Aqffym4N7bdazljrDJFo75cIyb3l+6JsHFvlwQIJ7hZBmnQI2QKBJd63d5WAMrGQAyQYDRBDBBpxsoOGGGb4xySTgTGLWIouoYCBWCrhRHwTR4IdBHfz1N4Qty7DgngocDBefNm5Eg84uDwb5YBkpJGNMOBduqKSSWbxjySTFsLDIKKOQQBwM5JAzxRRMYOAlBpvs95x/y9jSgAoqLELCiZFxQUE05QApZAYxZGDnd5HwI0cyIrRgzAZ/BgrooDe8844e76TSwKINdBAZClokgAkm5HzypTCHiLnZEK7YMgOJJepInAJ0kJOEKXR6V+eddmoQxzMTKP8iQTbUZKCBMbjmqiuuWQyhhx662CDLsItEZsMUSyR7xpdN9LHFs9A++40FtrhiA5VVxieQGFN0oYudq7LaqgYpKDLBuark0ssuGdzg7rvw3mDMG0PUO4QHsvigr6NXCaCFGWbkgcknTWDQRDXfkBGttEN84Io/8WALGXHYsdOKuK3aaisslbhxxBET+MCBMqHQs8su8aZ8AzZ3xBFHKxT4wAYbo2AFlxY4M9HEzs0qvPAWZFjgygeDyDKKLIVoq4IW7OyBhwYZQ63B1BrAMscHR6RzhA9s+cNEKIQgAMIbZJdt9g0g3NFKK3GswobWbHhSkwI/aGGFFVo0YvDBP0P/OwQtH9BCx7CjsImVAJlggoouVDfeOCzYqOPG2z6gIJA40SijCSWmjPHGGKCHLvoQX/DwBSqKgDxBsTSddjcgS/Dcc9/T0mL7PMNafuA4ZqDyha2OTw1L1Vmk4g8d+ur+DwdLJNCFM7ogIPr0oGNzixTllINGrIr4MDFCDVgByPjk8FxN30APwYc77qiib83xNaAFMntQMjzVw+cPCxgefJCJvlYaiDZKMSl0lMEZIEigAhcIgixIQQpJkEIeFNGMZihCeQhBECAykQlAHINnfQgCGUY4QqCRAR984IMHYuYDuVmnEKUwwx5aUTX9weKGOMSHPvTxA1mowCAUABg7/+KADko08IhZQGLalNGFLrDjFc94xgvg95EO/CATjGCEFXi2CRJ6kQxBKIMjPOAIPqQjHawbFR2sgIo9ZAGHcMRhCyqxijqOw0TXMcO/svcIBPjxj4DchS4SoIxC+uIFL4jEEQw3EA5gkRE/wMTOMGDCL4LxC21oAzLQkA6uxScWpcjDHuLQgjjesAWoxAYftMCHVYwCPgYpxCw60Ql23OIWwTCFLnfJy2B0IQHANEMkhhkJFyKkJD8YxHF21gdLklAXSUAFKtpAgSP80DodaAYg9iANEJQSFqgEJypbAIY25OGcjBAVQRTwilnMwgxS6AI6TEGIetrTnqYoxxSAOf+FevizE2k0CBf2MggKZMIBB3PmCClxhyQ4dBUhY2RN4pEJUepinOIcJyq/kKxkpQEk84jEC2axzxoE454oNcUjgAlMHdBSB0f4CA2IQocZmGFnhxChJYOgh3I4FBXNmEAAiUMCRmTCd2DQ6DiJ0QJi6AITW5qCFtRZkFEg8gVmUMYUHkFPlNozGMoAJjvkoQMdQCMSjIxFTWcwAwg0YRNBiKtc40oGSsThgVLQQjNgIFGa2OAHotQDU5eKSmIQAwTKIAcwyTGOkBQCka/oRFhv4VWU3oKlU4AGNMg6VIJoIx4zGMdf9QbGucqVEmQoxwOTgAZF8Is4KnADI5A6WMP/NtW2PGBRNKKxBA6ERACKQGQk9pkAZ1TWno8gbgK6wdxuwOAghbCBdMUAiGZRwrSnHQL2ypEHNDQgPlywgRvcIQ3BGva85z1BMNrBhPZGAw0YPIgC2ABZTABznsclhDPCuthuQKAbFDgIB2ywDDGIARObsAQlFszgBvMge1LwBQVgSRwOuMENFvgCM9Br2BMQwxwaqIxXMBFgmlj1Ba+IlPPyW8/LAlMZEIixL9SpgFiIIR4wsEEvKDENS/j4xz6ehi6yx4M2lMK3BxIDBRghDWx4mBgejrI5iFGLYzTiytEww3NpwoFXCJel9OiqV02BDkIWsgbRqEECaFAQAQCI/wUsyETYpoEAOtu5ztO4Aw94kAQz2KCvIeFAUTzQCmaY4wSITvQJwoEHBzTCAQ44xhTMkDSaCKAZxLTvFMoh5pQ6owbKiEYXakDqGnyUIDRgQRrSEAsLZCEbWYi1rGVNhj2jow2AeG1pFACDoewBEoc+gTmGTWxi7G1n7SBHKbAyDnfGUKtdCAYeeEntW6Q5GlK43i1cURBcNCAWf3AFNhr46ljDOgv7yEIceKCJJOThu/GJrhhUkYIiEPve5giHEL70i0ZAoB02wEoDfOGLWah4qwjAgx8VnnA/PqLUoXhwOTxAGm38IRa4YEErGKjAfSSQEujQBA/u8QNAg6TG0v/1ALCHXYJ85zscsKjDL5jzCya0ox1IrgkK7oa3fZJDCrMOehZMUQMm1CDie5YGPAaCgj/gAhdLoIYgpk71qgviEZpoNx8qbR1P3HgG0ihCOFw+9nCEowTcqAMV1t6LdhzDChSmiQIYgTMtLAECiSUEGHaRQL6DwO/oaG8o0BGHO9zh1AogAS7sAYg6gIAZVqc6M6aR9ZHnQ1v/UIE4YDCIbJzd7KA3OyyEQAUhCGETXnGAGyKzjHPmYQnRiDE6wED72ts+GF8bfL3isACBaIMGhaAABoTAjOIb//iCKEPW9/CB77WJBTBggQf8EPrqs0II3MB+L6x8BnhjxR55cIT/+MnRDgjUAAHMsD3t0w8CUoQCFDspwxAs4BF4oMAGn/hFFsjGjDf0//9vgACaQA9fYAFc90JwBgNzEAHVhyQRAAtzMRdU0AjH4ACYYExXoQ0fkEltwA7lBwFl4H/HZ3xF4AxnAAqk8CvvUAn28A/wkAag8CJkUwRmYzZlQA93gA+nFh8KkHENYAvUx4BCaCHhkAFywgqfcGUOgAbEsQzI8ITIcHPsBQZFQINW+AZV2H6gAAqIYiiS8A9/AAq/gAF4kAhmeIZoiAD08AitsAAm91ux0AB/cAoVYiF2aCHEADwaIASQBmmxQByF4AjShArKIIXOQAxVmIiJ6Ad9EAig/0APHzIJw0ADCTCGdcAMfpAImaiJZugHzNAH9FAMp0BVpVEIcggD2VCHd2ghcJQBnwBpTbAEzncVrrAHtpgE7VAB7XAGgnACfkAMmpiJUMYMgRAIuaAe4DAHUoABYygEfvCM0BiNpkAPQyABbIZ5med0VnACFdKN5TEA5tACDCCOfAiL8RAf9iAN6igNNZCL7VALwaZowuYH1xAIvWAJ4GANDLBvv/ALYCACfgCQAhmQINAHelAJvICNWfEHKgADtRAOtvGNtjEADHACDFACGkAwCLUEpIgVrvAFIPkFZ1ABFXAGWSACImAOKbmS4VAE1RAIfWANJVACsOAlQiCQKP+ZkyJQBNcQBJDQDwr5DyiACxwwC9wwkUhZITM5k3y4M43wh9oCDBawNq1QDiVZAY2QCBGAkuEgAl2JJCDwCbuwlCVABRhQBDqpk36AB5aQDb0XlDTAATDQCBlQG0mpihHQArJDBwqZBndQDC4DCiRZAbWwiqsIC2RZAhBiISKwlReylbuQBYLwlgoQBVVQBVbxhp5FAySgBU3QAnZpG7WxilTAM4wQlP+wAPYyBI0wmIUZkd5YAheZmCIAmxYyACKwP/vwlv9QAGsAAEpABFVwAMLZFp5wf3oTDrWxnANwDhFQAhbCDQjVBG6gmTXBBQtQBr+iCw4wmJsQAaEpmwz/MJ5keZG2wQnnmZew4A0JSRBwQAQFYAA4gAMhcABt0QGFEDvC0Jz8OZp2GAM7AwEsgJoEIQkpYCiHkAvHQJJNQAwDIJ7jGaEzGaEQOZFTtg+nUAUGcQUy8A87QAQPIAOXgCKeYAM7QwXMuZzlsY8OsATj0JEKCQ+ucAoSIAEpsAf4UAne0AM94A0++qM8yqNAKgdyABXDsA4IYQR28A92YAdQgAMjehUKgALkAGnUAJu2UQLWUAzuMA64AKMEqgDA0AHAAAwmcKZnWqZqWqZpqqYmYJkmcAEgcQFh8A9hUAAXEAWz+BECgAsqgAvrMAKCOqiFwAXWSaCImqiKuqiM/9qojvqokBqpkjqplFqplnqpmJqpmrqp6+QWpOEEBFAAnPoPVwAAIbAClUoAhvAARoAQSGAIISCqBWAIWBAAnOoEBoAFBhAClWoHWIAFa4AQD/CronoBTxACcMCpRIAFHWqfvqkGhxofUPCrBiCqBYEEv4oI1tqbo7oDWJADA5EDWPAANrEGK7ACAbCn0ooIuUoABcEFK4AFQIAF28omUXAFrdoRcvoPB7Ct/HoFdWoQVXAF9lkQBYCvE3MB3uoCCtCwLoAFO3ABcooDRAAAREAEtkqgdoAIT4AIvOqeiLCq9PoPCiADD1Cw/2AERGAIBmAAK9CqdvAALrCyACCnSP+wAixrCCvgAgNxATIQAgZgCAAwEGFwrC37AGogEEoQAvMaAiEABTgrr07rAjIQAE8AAAGwBvsalL6qBN6KBATxBFhAAMMqqgowrFcgEC6QqwawA4YABGAbr7QKBOQaAL+6qnMLtv+wrAbwACwrEJcQArr6AMOKBUTwDwQABIggr0BwrPOKCEAABEpgBwRABDvgBFCwtQo5rUqArSswEwcABIZwAGVLst7aqgUguB0qEE7QqgAgr2B7sJCrBAPhq4Ygp+yar8n6D68LANYKB7lKu/8Qr04wEE6ABagqEDiwAwHwszyrsVhAu4aACODKpFiAA/8guGZ7uv9gtztwEK//u7r/IANY8AQEwQWCy7OQW7wDYQQhGwUEoQZYMLQeigW7+w9wALEDwQUBAAVrILzQa6s4UL69CQQGcAAKoL2miwWtuqxJaxDxqrf1C8ACsazYG69AoAb5arf0a7zjKhDeer/5+70EgaeK6qu2GgYGAAQKIL+Hm7ojqwDca8HgiwXPW78SLBC+uqRRQASLawC2SgAETBBX8MH1K8L6C6koLBDkCwXDiroKLMMMvLdY8MAF8bo3HK8ZOxCv666s+7pAkANKML8F8bDkesQDMcKRusT/kAOKCwTJC8PbO8VCvANsEq83vAbISxBRYADUWxBaXAXsmrYDIbarG8JpvMdK/1yrXPyrzyvHC4y6tAoAI3oAa1C8WDwQB5CrT6ChVxCvQ+uzaVsFgku7y/oA7EsAkBuliCwQRWwIUVAAKLuobPwPx/sAMwHJUpyva4sFkIsIiBC3NkwQSJCr7PqrO6ChXADMiguxcloA3sq48grArUyywwq5W7yoLmAHhCwQanDDF0AAdrCvzauhAnEAMrADp4oDoqoEIloQRvAE6rwDBAAZajDPULBOOLACIbADTxClAtG8AXvOIAoA7Duqc4oVmtupCLHQCP3QEB3REl0aF1AAFm3R0SoQF10AhlPRG/3RII3RNhHSJF3SJkygawDMKp28bREFKo0IXnzFLz3TNP/NzBIMB4pb0zqt0x0clNP6q0Ad01cRBUA9tgcRr0Wd1Ertyzc9r0v91E/d05ur1Afc0kUt1AOB1FC91De9uFv91b/K0j691ERgnVVw1UcN1Ozasmzd1mxtCDfsBCzr1mzt1NRK12xtvgT600pNwSFB1EGd1ndrBDlQ2IZ92Ia9rRdwBYht2FewrEDtAo1d2E4wy1O91IbgryBx1oENwUD9sajpq0Ct2Y3K131b1HpNE4D9q1gtEFoN2kFJvkANv5HK14agBHaNCDe82Wjt2b8K2wop27860I9q2r5Z1CFgcqtt1L6NBcCNjcKNBbQNqaZdp4IL1MEaEpzN2oLt3Ij/Gt3E7aimbZ9I4NXyer8IsdytPbyf/d1FPd3FDdRVPb5FHbG83dmA3N4ECt6SOt4CEQW0it8Hod7d/dyYF93wLd7yjbJjvOAfsd3Mnd+/7d5AHd6l7eCFXNRSzce9LeHevd/v3d8Y/t+5mq3ZTBAQvt6v3bAs3uIt3hb8XdsjHtBFDcsD3uEEodWMG7k83uMGnK81geAiTq2WzbuofRAp3t1g7cvVG+RFbeGM6t8FcQklztQGQeDNveRhjBVCLuNEfhBC/NmaneRZDtZA0M00EePUPeM9G82/ms8cLuBZDdSGEAB2fud4fuek/RFdvuZffhBGkNtN/g9k7uEGri1q/x7ff34QegzUdjwQWG7oFP6rCX7hi24QF1C4v2rFhZ7j+o2aia7gl24QOC3f+Rrpnj7hID7bQ66rRV4Q0Z28nT7nqg7qT97q8/0RF3Ddv2qrqE7rH27rrO7lrk4TLmDesHwBOA7shx4foW7pxU4TYgvUT3AB5q3inx7bIU7suQ4Ss6rWAXDtBT7pWADliyrlNFHedC7uzd3s1tHnChnOMrDe6E4TkJ2tcu7a2R7ctx6U0Ozo31PvIXEAAZ7U2H63OeAECr/wDM/w6koQ8I55dlvUJy7wITHxBq/kS/6rAA0Szx4fog3US0oQFh8Sr5vxZb7xr24QEa8tGM/dBBHyQGHQ8TVhBFUO8wXh5hvP8U5e4agZBW6+AppNAE7bz+YOEkRf9Ld9EDIAq0X/9FAP9UdPEDjg9CFgzkFZBQTwBAFA2gUQBmCP9ZERBWQfBWHg0L0ZBmW/9mzf9m+Yp2VPoAEBADs=&quot; /&gt;
</pre>
<p>Ahora, cómo saber el <strong>Base64 string </strong>de una imagen? Podemos utilizar la herramienta online llamada &#8220;<a title="Image to Base64 Converter" href="http://webcodertools.com/imagetobase64converter"><strong>Image to Base64 converter</strong></a>&#8220;, hecha por <a title="Mads Kristensen" href="http://madskristensen.net/">Mads Kristensen</a>, un excelente desarrollador de .NET. Mads trabaja en ZYB.</p>
<p><a title="Data URIs - CSS Tricks" href="http://css-tricks.com/data-uris/">Chris Coyier, de CSS Tricks, también escribió recientemente sobre Data URIs</a> y los comentarios en su blog post son interesantes. Chris también hace referencia a otra herramienta, similar a la de Mads, llamada <a title="Image to Data URI Convertor" href="http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/">Image to Data URI convertor</a>.</p>
<p>Esto es sólamente una técnica, una manera más de lograr las cosas, que podría ser la más correcta o no, dependiendo de los escenarios. Los Data URIs también tienen algunas limitantes:</p>
<ul>
<li>En Internet Explorer, solo funcionan en la version 8 en adelante.</li>
<li>En IE8, los Data URIs estan limitados a 32k, por lo que solo podrían servir para imagenes meramente decorativas, no fotos de alta resolución, etc.</li>
<li>Las imágenes no son cacheadas por separado, así que si el HTML o CSS se vuelve a descargar, las imágenes obviamente también.</li>
</ul>
<p>Evalúen sus opciones, y espero les sirva.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/como-poner-imagenes-en-correos-o-paginas-sin-usar-etiquetas-de-img-o-attachments/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MIX10 &#8211; excelentes conferencias y recursos de desarrollo</title>
		<link>http://gabrielrodriguez.net/mix10-excelentes-conferencias-y-recursos-de-desarrollo/</link>
		<comments>http://gabrielrodriguez.net/mix10-excelentes-conferencias-y-recursos-de-desarrollo/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 22:19:31 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[MIX]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=734</guid>
		<description><![CDATA[
Del pasado 15 al 17 de Marzo se llevó a cabo la conferencia MIX10, que es una serie de conferencias de diseño y desarrollo web organizada por Microsoft, con platicas impartidas por la gente que está causando más impacto en la comunidad de desarrollo online (las sesiones son escogidas en base a votos, durante meses [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-735" title="MIX10 Logo" src="http://gabrielrodriguez.net/wp-content/uploads/2010/03/mix10-logo.png" alt="MIX10" width="218" height="62" /></p>
<p>Del pasado 15 al 17 de Marzo se llevó a cabo la conferencia <strong>MIX10</strong>, que es una <strong>serie de conferencias de diseño y desarrollo web </strong>organizada por Microsoft, con platicas impartidas por la gente que está causando más impacto en la comunidad de desarrollo online (las sesiones son escogidas en base a votos, durante meses anteriores al evento).</p>
<p>Las platicas de este año se ve que estuvieron muy interesantes&#8230;así que aquí les dejo las ligas a los videos de las pláticas y también a una muy buena sección de recursos que armaron en el site de <strong>MIX10</strong>, con ligas a <strong>guías de desarrollo</strong> para <strong>Windows 7 Phone Series, Silverlight 4, WCF RIA</strong> y otros tantos temas que son lo relevante de hoy en día.</p>
<p>Algunas de las pláticas fueron:</p>
<ul>
<li>Overview of the Windows Phone 7 Series Application Platform</li>
<li>10 Ways to Attack a Design Problem and Come Out Winning</li>
<li>Stepping Outside the Browser with Microsoft Silverlight 4</li>
<li>Total Experience Design</li>
<li>Understanding the Model-View-ViewModel Pattern</li>
<li>Beyond File | New Company: From Cheesy Sample to Social Platform</li>
<li>The Microsoft Silverlight Analytics Framework</li>
</ul>
<p>Ligas:</p>
<p><a title="MIX10 - The Next Web Now Homepage" href="http://live.visitmix.com/">MIX10 &#8211; The Next Web Now</a></p>
<p><a title="MIX10 - Resources Page (Windows 7 Phone Series, Silverlight 4, etc)" href="http://live.visitmix.com/Resources">MIX10 &#8211; Resources Page (Windows 7 Phone Series, Silverlight 4, etc)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/mix10-excelentes-conferencias-y-recursos-de-desarrollo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automapper y un buen articulo de diseño de software</title>
		<link>http://gabrielrodriguez.net/automapper-y-un-buen-articulo-de-diseno-de-software/</link>
		<comments>http://gabrielrodriguez.net/automapper-y-un-buen-articulo-de-diseno-de-software/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 06:36:38 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Arquitectura]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Mejores Practicas]]></category>
		<category><![CDATA[AutoMapper]]></category>
		<category><![CDATA[Patrones de Diseño]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=716</guid>
		<description><![CDATA[
La semana pasada descubrí AutoMapper, que es un proyecto de .NET gratis y open-source de Jimmy Bogard.
Un desarrollador de la oficina me preguntó si había una manera integrada en el framework de transformar las clases generadas por LINQ-To-SQL en clases sencillas (DTOs). No creí que lo hubiera&#8230;pero le comenté que seguramente lo podía hacer por [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-728" title="Logo AutoMapper" src="http://gabrielrodriguez.net/wp-content/uploads/2010/03/automapper-logo.png" alt="Logo AutoMapper" width="480" height="49" /></p>
<p>La semana pasada descubrí <a title="AutoMapper" href="http://automapper.codeplex.com/">AutoMapper</a>, que es un proyecto de .NET gratis y open-source de <a title="Jimmy Bogard" href="http://www.lostechies.com/blogs/jimmy_bogard/default.aspx">Jimmy Bogard</a>.</p>
<p>Un desarrollador de la oficina me preguntó si había una manera integrada en el framework de transformar las clases generadas por LINQ-To-SQL en clases sencillas (DTOs). No creí que lo hubiera&#8230;pero le comenté que seguramente lo podía hacer por Reflection. Yo ya habia hecho eso antes, pero supuse que debía haber alguna mejor manera. Después de buscar un poco en StackOverflow.com, alguna de las respuestas linkeaba a AutoMapper y descubrí que era exactamente lo que aquel desarrollador estaba buscando.</p>
<p><strong>AutoMapper </strong>es descrito en su página principal de la siguiente manera:</p>
<p><em>AutoMapper uses a fluent configuration API to define an object-object  mapping strategy.  AutoMapper uses a convention-based matching algorithm  to match up source to destination values.  Currently, AutoMapper is  geared towards model projection scenarios to flatten complex object  models to DTOs and other simple objects, whose design is better suited  for serialization, communication, messaging, or simply an  anti-corruption layer between the domain and application layer.</em></p>
<p>Excelente&#8230;no solo utiliza <a title="Fluent Interfaces" href="http://en.wikipedia.org/wiki/Fluent_interface"><strong>interfaces fluidas</strong></a>, sino que también se basa en <a title="Convention over Configuration" href="http://en.wikipedia.org/wiki/Convention_over_configuration"><strong>Convention Over Configuration</strong></a>. Es decir&#8230;solo tenemos que (y podemos!) configurar las situaciones excepcionales. Las <strong>ventajas </strong>que le veo a utilizar AutoMapper (a pesar de estar incorporando una referencia más a nuestros proyectos) es que es un proyecto público (de open source) y que además tiene a un muy buen desarrollador respaldándolo, que por ser su proyecto, se enfoca en mejorarlo y perfeccionarlo con nuevas funcionalidades, haciéndolo más eficiente, etc. Además, debido a que ya tiene una considerable base de usuarios (3,702 downloads), la mayoría de los bugs que pudiéramos toparnos, ya han sido resueltos.</p>
<p>Un <strong>ejemplo </strong>exagerádamente básico del uso de AutoMapper:</p>
<pre class="brush: csharp;">

public class Class1
 {
   public string FullName { get; set; }
   public int Age { get; set; }
   public char Gender { get; set; }
   public void DoIt()
   {
     Console.WriteLine(&quot;Test&quot;);
   }

   public List&lt;string&gt; Addresses { get; set; }

   public Class1()
   {
     Addresses = new List&lt;string&gt;();
   }
 }

 public class Class2
 {
   public string FullName { get; set; }
   public int Age { get; set; }
   public char Gender { get; set; }
 }

private void Form1_Load(object sender, EventArgs e)
{
   Mapper.CreateMap&lt;Class1, Class2&gt;();

   var c2 = Mapper.Map&lt;Class1, Class2&gt;(c1);
   MessageBox.Show(c2.FullName);
}
</pre>
<p>Ok, de este ejemplo podemos ver:</p>
<ul>
<li>Class1 es poco más compleja que Class2, ya que tiene una List&lt;string&gt; y un método definido (DoIt())</li>
<li>Class2 es una versión simple de Class1, con el objetivo de funcionar como un <a title="Data Transfer Object" href="http://en.wikipedia.org/wiki/Data_transfer_object"><strong>Data Transfer Object</strong></a>.</li>
</ul>
<p>Como pueden ver, con la instrucción:</p>
<pre class="brush: csharp;">
Mapper.CreateMap&lt;Class1, Class2&gt;();
</pre>
<p>estamos indicándole a AutoMapper que la Class1 y Class2 están relacionadas (mappeadas). Y la siguiente línea de código:</p>
<pre class="brush: csharp;">
var c2 = Mapper.Map&lt;Class1, Class2&gt;(c1);&lt;/pre&gt;
</pre>
<p>está creando una instancia de tipo Class2, basada en la instancia de c1 que ya teníamos, inicializada y asignando dinámicamente los valores de dicha instancia (c1) a la nueva instancia c2.</p>
<p>Class1, en este caso, sería un ejemplo de una clase de LINQ-To-SQL, mientras que Class2 sería la clase que queremos usar como DTO.</p>
<p><strong>Esta funcionalidad es sólamente la más básica de AutoMapper (flattening</strong>). También soporta <strong>proyecciones </strong>(utilizar ciertas propiedades o sub-sets de un valor para mapear a otra propiedad), <strong>Listas y Arrays</strong>, etc. Para más información, visisten la <a title="Documentacion de AutoMapper" href="http://automapper.codeplex.com/documentation">documentación de AutoMapper</a>.</p>
<p>Y sobre el buen artículo de diseño&#8230;para mi sorpresa lo encontré 2 dias después de haber descubierto AutoMapper, y el artículo lo escribió Jimmy Bogard.</p>
<p>El artículo se llama originalmente &#8220;<a title="Strengthening your domain: Encapsulated collections" href="http://www.lostechies.com/blogs/jimmy_bogard/archive/2010/03/10/strengthening-your-domain-encapsulated-collections.aspx">Strengthening your domain: Encapsulated collections</a>&#8220;. Jimmy habla de como debemos de diseñar nuestras clases para <strong>no exponer inadvertidamente funcionalidad de más (extra, innecesaria) que podría permitir operaciones no lógicas sobre nuestras entidades</strong>, y enfocarnos en <strong>soportar exclusiva y claramente sólo las operaciones que el dominio de negocio debe permitir sobre las entidades de nuestro proyecto</strong>. El artículo también me hizo pensar que <strong>los accesors son algo que mucha gente no considera</strong> a la hora de exponer sus propiedades. Léanlo y si gustan dejar sus comentarios&#8230;adelante.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/automapper-y-un-buen-articulo-de-diseno-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No entran o salen llamadas de tu iPhone? Desactiva el 3G y dejalo en EDGE</title>
		<link>http://gabrielrodriguez.net/no-entran-o-salen-llamadas-de-tu-iphone-desactiva-el-3g-y-dejalo-en-edge/</link>
		<comments>http://gabrielrodriguez.net/no-entran-o-salen-llamadas-de-tu-iphone-desactiva-el-3g-y-dejalo-en-edge/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 16:29:17 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Problemas y Soluciones]]></category>
		<category><![CDATA[Servicios]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Telcel]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=707</guid>
		<description><![CDATA[Hace unos dos o tres días empecé a tener problemas al querer hacer llamadas con mi iPhone 3G S.
Apenas y seleccionaba un contacto que llamar, pasaba un segundo (ni siquiera daba línea el teléfono) y la llamada terminaba sola. &#8220;Call back failed&#8221;. Un día después, un amigo me avisó que mi celular lo estaba mandando [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_708" class="wp-caption alignnone" style="width: 210px"><img class="size-full wp-image-708" title="iPhone Telcel" src="http://gabrielrodriguez.net/wp-content/uploads/2010/02/iphone_telcel.png" alt="iPhone Telcel" width="200" height="232" /><p class="wp-caption-text">iPhone Telcel</p></div>
<p>Hace unos dos o tres días empecé a tener <strong>problemas al querer hacer llamadas con mi iPhone</strong> 3G S.</p>
<p>Apenas y seleccionaba un contacto que llamar, pasaba un segundo (ni siquiera daba línea el teléfono) y <strong>la llamada terminaba sola</strong>. &#8220;Call back failed&#8221;. Un día después, un amigo me avisó que mi celular lo estaba mandando directo a buzón al intentar llamarme. Las llamadas si podían salir, después de intentarle 3 o 4 veces. Y a veces recibía llamadas, no se realmente cuantas llamadas perdí.</p>
<p>Para poder hacer y recibir llamadas cuando tengan este problema, simplemente <strong>deshabiliten el 3G de su telefono, para dejarlo en EDGE</strong>, y problema arreglado (a medias).</p>
<p>Estoy leyendo en foros de Estados Unidos que alguna gente que ha tenido este problema lo arregla cambiando su chip SIM&#8230;tal vez luego intente eso.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/no-entran-o-salen-llamadas-de-tu-iphone-desactiva-el-3g-y-dejalo-en-edge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como formatear una cantidad a currency en .NET controlando el numero de decimales</title>
		<link>http://gabrielrodriguez.net/como-formatear-una-cantidad-a-currency-en-net-controlando-el-numero-de-decimales/</link>
		<comments>http://gabrielrodriguez.net/como-formatear-una-cantidad-a-currency-en-net-controlando-el-numero-de-decimales/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 19:08:44 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=701</guid>
		<description><![CDATA[Tantas opciones que hay para formatear strings en.NET, que es difícil memorizar todas.
Hoy tuve que formatear una cifra numérica que en la base de datos está como decimal, pero en el UI no quería desplegar ninguno de los decimales. Casi todo el mundo ha utilizado el string.Format(&#8220;{0:C&#8221;), el cual formatearía como si la cantidad fuera [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_381" class="wp-caption alignnone" style="width: 250px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/07/net-logo.png"><img class="size-full wp-image-381" title=".NET" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/net-logo.png" alt="" width="240" height="74" /></a><p class="wp-caption-text">.NET</p></div>
<p>Tantas opciones que hay para <strong>formatear strings en.NET</strong>, que es difícil memorizar todas.</p>
<p>Hoy tuve que <strong>formatear una cifra numérica</strong> que en la base de datos está como <strong>decimal</strong>, pero <strong>en el UI no quería desplegar ninguno de los decimales</strong>. Casi todo el mundo ha utilizado el <strong>string.Format(&#8220;{0:C&#8221;)</strong>, el cual formatearía como si la cantidad fuera una <strong>cifra monetaria</strong>, pero eso implica tener decimales.</p>
<p>Algua persona <strong>podría pensar en realizar esto desde el stored procedure</strong> o el query que trae la información, pero personalmente<strong> creo que eso es un error</strong>, ya que <strong>los datos deben estar siempre  intactos</strong> y <strong>lo unico que debemos modificar es el formato </strong>en el que los queremos desplegar. Además, eso implicaría tener que estar controlando también el formato del símbolo separador de miles. Esto es algo que simplemente no se debe hacer en base de datos.</p>
<p>Googleando, encontré en los forums de ASP.NET<strong> la siguiente manera de hacerlo, pero tampoco es la más correcta</strong>:</p>
<pre class="brush: csharp;">

System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.CurrencyDecimalDigits = 0;
nfi.CurrencySymbol =&quot;$&quot;;
myLabel.Text =string.Format(nfi,&quot;{0:C}&quot;, ad.Price);
</pre>
<p>Ya que estoy utilizando esto en un control Repeater, tendría que crear un método con las primeras 3 líneas de texto anteriores, y eso implicaría estar generando varias instancias de NumberFormatInfo.</p>
<p>Para ya no hacer más largo este post, <strong>les dejo la solución correcta</strong>.</p>
<pre class="brush: csharp;">

string.Format(&quot;0:C0&quot;, ad.Price);
</pre>
<p>Así de sencillo&#8230;y no lo especifican en ningun lugar de MSDN&#8230;lo vine a encontrar aqui: <a title=".NET Format String 101" href="http://blogs.msdn.com/kathykam/archive/2006/03/29/564426.aspx">.NET Format String 101</a>. Obvio decirlo, basta cambiar el C0 por C1, C2, C3 o Cx para<strong> determinar el número de decimales que queremos desplegar</strong>. Esto también hace mucho más facil <strong>poner ese format string en el archivo de configuración y poder reutilizarlo</strong> en varias pantallas sin tener que estar cambiando código.</p>
<p>Les dejo también otra buena referencia de string.Format: <a title="String Formatting in C#" href="http://blog.stevex.net/string-formatting-in-csharp/">String Formatting in C#</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/como-formatear-una-cantidad-a-currency-en-net-controlando-el-numero-de-decimales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aplicar formatos condicionales a numeros con string.Format</title>
		<link>http://gabrielrodriguez.net/aplicar-formatos-condicionales-a-numeros-con-string-format/</link>
		<comments>http://gabrielrodriguez.net/aplicar-formatos-condicionales-a-numeros-con-string-format/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 06:13:10 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=693</guid>
		<description><![CDATA[Esto es algo que descubrí hoy referente a formateo de números en .NET y que por más simple que parezca, tiene mucha utilidad, ya que puede reducir un bloque de 3 o 6 líneas de código, a una sola línea.
En lugar de necesitar varios if&#8217;s para evaluar el valor del número que vamos a formatear [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_381" class="wp-caption alignnone" style="width: 250px"><a href="http://gabrielrodriguez.net/wp-content/uploads/2009/07/net-logo.png"><img class="size-full wp-image-381" title=".NET" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/net-logo.png" alt="" width="240" height="74" /></a><p class="wp-caption-text">.NET</p></div>
<p>Esto es algo que descubrí hoy referente a <strong>formateo de números en .NET</strong> y que por más simple que parezca, tiene mucha utilidad, ya que puede reducir un bloque de 3 o 6 líneas de código, a una sola línea.</p>
<p>En lugar de necesitar varios if&#8217;s para evaluar el valor del número que vamos a formatear y poder determinar el formato que se va a aplicar (desplegar el número entre paréntesis si es negativo, desplegar la palabra Cero si el número es 0, etc), se puede hacer todo el una sola línea, ya que el metodo <strong>ToString()</strong> permite formatos condicionales de 2 o 3 condiciones&#8230;es decir, podemos hacer esto:</p>
<pre class="brush: csharp;">

const string formato = &quot;000;(##);Cero&quot;;

 Console.WriteLine(7.ToString(formato)); // va a desplegar &quot;007&quot;
 Console.WriteLine((-5).ToString(formato)); // va a desplegar &quot;(5)&quot;
 Console.WriteLine(0.ToString(formato)); // va a desplegar &quot;Cero&quot;
</pre>
<div id="attachment_695" class="wp-caption alignnone" style="width: 357px"><img class="size-full wp-image-695" title="Formatos condicionales en .NET usando ToString()" src="http://gabrielrodriguez.net/wp-content/uploads/2010/01/net-formatos-condicionales-strings.png" alt="Formatos condicionales en .NET usando ToString()" width="347" height="129" /><p class="wp-caption-text">Formatos condicionales en .NET usando ToString()</p></div>
<p>El formato entonces es: <strong> &#8220;positivo;negativo;cero&#8221;</strong>.</p>
<p>También es posible especificar solo el formato positivo y negativo.</p>
<p>Espero les sirva.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/aplicar-formatos-condicionales-a-numeros-con-string-format/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usar el operator ternario de C# con nullables</title>
		<link>http://gabrielrodriguez.net/usar-el-operator-ternario-de-c-con-nullables/</link>
		<comments>http://gabrielrodriguez.net/usar-el-operator-ternario-de-c-con-nullables/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 07:39:15 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=677</guid>
		<description><![CDATA[Todos los días se aprende algo&#8230;
Desde hace mucho tenemos disponible el operador ternario (o condicional) en C#, también conocido como el operador &#8220;?&#8220;.
El operador ternario sirve para regresar/usar uno de dos posibles valores, dependiendo de una condición boleana.
La estructura es:
condicion-boleana ? valor-si-se-cumple : valor-si-no-se-cumple
Es decir, permite reducir de esto:


int? myVar; //variable int nullable

if(string.IsNullOrEmpty(textbox1.Text))

{ myVar = [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_381" class="wp-caption alignnone" style="width: 250px"><img class="size-full wp-image-381" title=".NET" src="http://gabrielrodriguez.net/wp-content/uploads/2009/07/net-logo.png" alt=".NET" width="240" height="74" /><p class="wp-caption-text">.NET</p></div>
<p>Todos los días se aprende algo&#8230;</p>
<p>Desde hace mucho tenemos disponible el <a title="Operador Ternario o condicional en C#" href="http://msdn.microsoft.com/en-us/library/ty67wk28.aspx"><strong>operador ternario (o condicional) en C#</strong></a>, también conocido como el operador &#8220;<strong>?</strong>&#8220;.</p>
<p>El operador ternario <strong>sirve para regresar/usar uno de dos posibles valores, dependiendo de una condición boleana</strong>.</p>
<p>La estructura es:</p>
<p><strong>condicion-boleana ? valor-si-se-cumple : valor-si-no-se-cumple</strong></p>
<p>Es decir, permite reducir de esto:</p>
<pre class="brush: csharp;">

int? myVar; //variable int nullable

if(string.IsNullOrEmpty(textbox1.Text))

{ myVar = null; }

else

{ myVar = Convert.ToInt32(textbox1.Text); }
</pre>
<p>a esto:</p>
<pre class="brush: csharp;">

myVar =string.IsNullOrEmpty(textbox1.Text) ? null : Convert.ToInt32(textbox1.Text);
</pre>
<p>Y uno esperaría que el código del segundo bloque compile, pero no es así. En lugar de que funcione, el compilador nos marca el siguiente error:</p>
<p><strong> Type of conditional expression cannot be determined because there is no implicit conversion between &#8216;&lt;null&gt;&#8217; and &#8216;int&#8217; </strong></p>
<p>Yo llevaba años usando el operador ternario y siempre me pareció ilógico que no se permitiera esto. Y probablemente fue más ilógico el hecho de nunca haber googleado como solucionar esto..ya que la solución es simple.</p>
<pre class="brush: csharp;">

myVar =string.IsNullOrEmpty(textbox1.Text) ? (int?)null : Convert.ToInt32(textbox1.Text);
</pre>
<p>o</p>
<pre class="brush: csharp;">

myVar =string.IsNullOrEmpty(textbox1.Text) ? null : (int?)Convert.ToInt32(textbox1.Text);
</pre>
<p>Simple&#8230;el compilador tenía razon. No hay una conversión implícita entre null e int, <strong>pero sí entre null y Nullable&lt;int&gt; (a.k.a. int?)</strong>. Casteando cualquiera de los lados de la expresión, va a compilar sin problemas.</p>
<p>Espero les sirva.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/usar-el-operator-ternario-de-c-con-nullables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>God Mode (O Modo Dios) en Windows 7, Vista y Server 2008</title>
		<link>http://gabrielrodriguez.net/god-mode-en-windows-7/</link>
		<comments>http://gabrielrodriguez.net/god-mode-en-windows-7/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 08:16:38 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=671</guid>
		<description><![CDATA[El God Mode (o Modo Dios) en Windows 7, se logra simplemente agregando un nuevo folder en el Desktop y poniendole como nombre:
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Una vez que hagamos eso, inmediatamente aparecera en el desktop un shortcut que se verá asi:
Al dar doble click sobre el ícono, abrirá una pantalla que nos da acceso a 278 configuraciones específicas [...]]]></description>
			<content:encoded><![CDATA[<p>El <strong>God Mode</strong> (o Modo Dios) en <strong>Windows 7</strong>, se logra simplemente <strong>agregando un nuevo folder en el Desktop </strong>y poniendole como <strong>nombre</strong>:</p>
<p><strong>GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}</strong></p>
<p>Una vez que hagamos eso, inmediatamente aparecera en el desktop un shortcut que se verá asi:</p>
<div id="attachment_672" class="wp-caption alignnone" style="width: 212px"><img class="size-full wp-image-672" title="God Mode en Windows 7" src="http://gabrielrodriguez.net/wp-content/uploads/2010/01/god-mode-windows-7.PNG" alt="God Mode en Windows 7" width="202" height="122" /><p class="wp-caption-text">God Mode en Windows 7</p></div>
<p>Al dar doble click sobre el ícono, abrirá una pantalla que nos da <strong>acceso a 278 configuraciones </strong>específicas de Windows 7, divididas en<strong> 46 categorías</strong>. El siguiente es solo un screenshot de algunas de las categorías y los settings que podemos alterar, desde un solo lugar:</p>
<div id="attachment_673" class="wp-caption alignnone" style="width: 415px"><img class="size-full wp-image-673" title="Algunas configuraciones disponibles en el God Mode en Windows 7" src="http://gabrielrodriguez.net/wp-content/uploads/2010/01/configuraciones-god-mode-windows-7.png" alt="Algunas configuraciones disponibles en el God Mode en Windows 7" width="405" height="666" /><p class="wp-caption-text">Algunas configuraciones disponibles en el God Mode en Windows 7</p></div>
<p><strong>Funciona </strong>en <strong>Windows 7, Windows Vista y Windows Server 2008</strong>, <strong>PERO</strong>, al parecer<strong> las ediciones de 64 bits de Vista y 2008 Server presentan problemas</strong> a la hora de agregar el shortcut, así que no es recomendable probarlos. El <strong>God Mode</strong> funciona bien en 32 bits para los 3 sistemas operativos y Windows 7 64 bits.</p>
<p>Definitivamente a mi me servirá la próxima vez que esté intentando ayudar a alguien a reconfigurar algo de su máquina, especialmente por telefono&#8230;..tener todos los settings en el mismo lugar evita el típico: &#8220;Entra a esta categoría, dime si ves este icono, etc..&#8221;.</p>
<p>Espero les sirva.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/god-mode-en-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Los DNS de Google dan problemas al jugar en Xbox Live</title>
		<link>http://gabrielrodriguez.net/los-dns-de-google-dan-problemas-al-jugar-en-xbox-live/</link>
		<comments>http://gabrielrodriguez.net/los-dns-de-google-dan-problemas-al-jugar-en-xbox-live/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 03:23:34 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Problemas y Soluciones]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=666</guid>
		<description><![CDATA[Primer post del 2010.
Hace poco, Google hizo publico un servicio de DNS gratuito. Los DNS son los servidores que resuelven/transforman los nombres de dominio de internet como www.google.com, a una dirección IP (en formato 127.0.0.1, por ejemplo).
La mayoria de la gente no se preocupa por cuál DNS está usando, porque generalmente el proveedor de servicios [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_667" class="wp-caption alignnone" style="width: 286px"><img class="size-full wp-image-667" title="Google" src="http://gabrielrodriguez.net/wp-content/uploads/2010/01/google-logo.gif" alt="Google" width="276" height="110" /><p class="wp-caption-text">Google</p></div>
<p>Primer post del 2010.</p>
<p>Hace poco, <a title="Servicio DNS de Google" href="http://code.google.com/speed/public-dns/">Google hizo publico un servicio de DNS gratuito</a>. Los <a title="Que son los DNS" href="http://en.wikipedia.org/wiki/Domain_name_system">DNS </a>son los servidores que resuelven/transforman los nombres de dominio de internet como www.google.com, a una dirección IP (en formato 127.0.0.1, por ejemplo).</p>
<p>La mayoria de la gente no se preocupa por cuál DNS está usando, porque <strong>generalmente el proveedor de servicios de Internet determina unos servidores por default</strong>. Sin embargo, cada quién puede cambiarlos en la interfase de administración de su modem.</p>
<p>Con este servicio, Google tiene como <strong>objetivo </strong>ayudar a la gente a que su <strong>navegación por internet sea más rápida</strong>, asumiendo que sus servidores de DNS pueden realizar las resoluciones de nombre de dominio más rapido que la mayoría de los servidores DNS que existen.</p>
<p>Si quieren <strong>comprobarlo</strong>, existe una <strong>herramienta </strong>llamada <a title="namebench - herramienta para medir velocidades de servidores DNS" href="http://code.google.com/p/namebench/">namebench</a>, que <strong>ayuda a determinar</strong> cuales servidores DNS son los más <strong>óptimos </strong>para nuestro uso.</p>
<p>Y después de todo este rollo, la razón por la que escribo esto es porque hace unas horas, modifiqué mi configuración para utilizar los <strong>servidores DNS de Google</strong> y empecé a tener problemas al estar jugando en Xbox Live.</p>
<p>Jugué unos 5 o 6 juegos de <strong>Halo 3</strong> en Live, y durante cada juego <strong>perdí la conexión por unos 30 segundos</strong>, unas 2 o 3 veces. El juego se reestablece, pero con obvia desventaja. Incluso al final de un juego, <strong>la pantalla se quedó trabada </strong>con el clásico mensaje de &#8220;Connecting to new host..&#8221; como por 3 minutos y tuve que apagar el Xbox.</p>
<p>Seguiré haciendo experimentos y actualizaré este post, pero quería publicar esta información por si alguien más está teniendo problemas.</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/los-dns-de-google-dan-problemas-al-jugar-en-xbox-live/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software indispensable para una computadora nueva</title>
		<link>http://gabrielrodriguez.net/software-indispensable-para-una-computadora-nueva/</link>
		<comments>http://gabrielrodriguez.net/software-indispensable-para-una-computadora-nueva/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 02:48:10 +0000</pubDate>
		<dc:creator>Gabriel</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[utilerias]]></category>

		<guid isPermaLink="false">http://gabrielrodriguez.net/?p=651</guid>
		<description><![CDATA[La siguiente es una lista de todos los programas que le instalo a una computadora nueva, recién formateada, etc. Son los programas que yo creo que complementan perfectamente la funcionalidad que Windows no trae por default. La mayoría de estas aplicaciones son gratis.
Media

µTorrent &#8211; el mejor y más ligero programa para bajar torrents.
Windows Live Messenger [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_659" class="wp-caption alignnone" style="width: 258px"><img class="size-full wp-image-659 " title="Software" src="http://gabrielrodriguez.net/wp-content/uploads/2009/12/software.jpg" alt="Software" width="248" height="248" /><p class="wp-caption-text">Software</p></div>
<p>La siguiente es una lista de todos los programas que le instalo a una computadora nueva, recién formateada, etc. Son los programas que yo creo que <strong>complementan perfectamente la funcionalidad que Windows no trae por default</strong>. La <strong>mayoría </strong>de estas aplicaciones son <strong>gratis</strong>.</p>
<p><strong>Media</strong></p>
<ul>
<li><a title="µTorrent" href="http://www.utorrent.com/downloads/complete?os=win">µTorrent</a> &#8211; el mejor y más ligero programa para bajar torrents.</li>
<li><a title="Windows Live Messenger" href="http://download.live.com/?sku=messenger">Windows Live Messenger</a> &#8211; el unico cliente de IM que uso. Estoy pensando en empezar a probar las alternativas más conocidas, como <a title="Pidgin - Cliente de IM" href="http://www.pidgin.im/">Pidgin </a>o <a title="Trillian - Otro cliente de IM" href="http://www.trillian.im/">Trillian</a>, porque Windows Live Messenger ya está demasiado pesado y cargado de features que la mayoría de la gente no utiliza.</li>
<li><a title="Bajar Messenger Plus!" href="http://www.msgplus.net/download/">Messenger Plus!</a> &#8211; Este es una de las razones por las que sigo utilizando el Live Messenger. Provee encriptación de historial de conversaciones, todas las conversaciones en una sola ventana, Contactos en el desktop, etc.</li>
<li><a title="Bajar ImgBurn" href="http://www.imgburn.com/index.php?act=download">ImgBurn</a> &#8211; Software para quemar CD/DVD/ISO/Blu-ray y también para crear imágenes ISO de CDs o DVDs que tengas.</li>
<li><a title="Bajar DVD Flick" href="http://www.dvdflick.net/download.php">DVD Flick</a> &#8211; Creación de DVDs. Te permite tomar varios videos y quemarlos en formato DVD, agregarles subtitulos, menú al DVD, etc.</li>
<li><a title="DVD Shrink" href="http://www.dvdshrink.org/what_en.php">DVD Shrink</a> &#8211; Permite respaldar CD/DVDs a disco duro. El download directo no está en su pagina oficial, pero lo pueden encontrar en <a title="Bajar DVD Shrink" href="http://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Rip-Other-Tools/DVD-Shrink.shtml">esta liga</a>.</li>
<li><a title="PDF X-Change Viewer" href="http://www.docu-track.com/home/prod_user/PDF-XChange_Tools/pdfx_viewer">PDF X-Change Viewer</a> &#8211; Permite visualizar PDFs. Uso este porque el Adobe Reader, aunque gratis, es exageradamente pesado y lento para algo tan sencillo como ver PDFs.</li>
<li><a title="Videora Free iPhone 3GS Video Converter" href="http://www.videora.com/en-us/Converter/iPhone-3G/">iPhone 3GS Video Converter</a> &#8211; Transforma varios formatos de video a formato del iPhone. Gratis, muy bueno, hecho por Videora. También tienen convertidores para el iPod y otros.</li>
<li><a title="VLC - Programa para ver videos en Windows" href="http://www.videolan.org/vlc/">VLC</a> &#8211; Excelente programa para visualizar archivos de video. Muy ligero, permite ver subtítulos, y puede decodificar la mayoría de los formatos de video sin necesidad de instalar los codecs.</li>
</ul>
<p><strong>Gráficos</strong></p>
<ul>
<li><a title="Paint.NET" href="http://www.getpaint.net/download.html">Paint.NET</a> &#8211; Un mini-photoshop hecho en .NET. Muchas features, y muy ligero.</li>
</ul>
<p><strong>Utilerías</strong></p>
<ul>
<li><a title="Bajar Everything" href="http://www.voidtools.com/download.php">Everything</a> &#8211; Te permite encontrar rápidamente cualquier archivo que estés buscando en tu computadora. Ya hablé de el en <a title="Everything - Buscador de archivos en tu computadora" href="http://gabrielrodriguez.net/everything-buscador-de-archivos-en-tu-computadora/">este post</a>.</li>
<li><a title="Launchy - Lanzador de aplicaciones" href="http://www.launchy.net/">Launchy</a> &#8211; Lanzador de aplicaciones rápido y ligero. Intenté quedarme solamente con el &#8220;Search Programs and Files&#8221; de Windows 7, pero la verdad no es tan rápido como Launchy.</li>
<li><a title="Stardock Fences" href="http://www.stardock.com/products/fences/">Fences</a> &#8211; Permite organizar los iconos del desktop en sectores, no alenta la computadora.</li>
<li><a title="Bajar Gizmo Central" href="http://arainia.com/software/gizmo/download.html">Gizmo Central</a> &#8211; Para montar imágenes ISO a un drive de CD virtual, y poder instalarlas (suponiendo que fueran programas) desde ahí.</li>
<li><a title="Notepad++" href="http://notepad-plus.sourceforge.net/uk/site.htm">Notepad++</a> &#8211; Sustituto de Notepad. Permite MDI (multiples documentos en una sola ventana), tiene code coloring para cuando se está desarrollando en HTML y algunos otros lenguajes. También es muy util a la hora de usar el View Source sobre alguna página.</li>
<li><a title="Bajar WinRAR" href="http://www.rarlab.com/download.htm">WinRAR</a> &#8211; Sustituto de Winzip. Permite crear archivos ZIP y RAR, buena interfase, casi no usa RAM. Su página de downloads está algo confusa, solo busquen el que diga WinRAR x86 o x64 según sea su sistema operativo.</li>
<li><a title="SyncBack SE - Programa para respaldos" href="http://www.2brightsparks.com/syncback/sbse.html">SyncBack SE</a> &#8211; Excelente programa para respaldar archivos. Tiene varias opciones, filtros, excepciones y hasta  permite calendarizar los respaldos. Permite backups incrementales o totales. No he utilizado el nuevo programa de Backup de Windows 7, pero definitivamente SyncBack SE es una muy buena alternative.</li>
</ul>
<p><strong>Internet</strong></p>
<ul>
<li><a title="Mozilla Firefox" href="http://www.mozilla.com/en-US/firefox/">Firefox</a> &#8211; browser favorito. Permite instalar extensiones útiles (por ejemplo, para analizar páginas web), themes, etc. Lo unico que no me gusta es que después de una sesion larga, utiliza demasiado RAM y hay que reiniciarlo.</li>
</ul>
<p><strong>Seguridad</strong></p>
<ul>
<li><a title="AVG Free" href="http://free.avg.com/ww-en/download-avg-anti-virus-free">AVG</a> &#8211; Antivirus gratuito. Muy bueno, no alenta la computadora, bueno para detecciones.</li>
<li><a title="Truecrypt" href="http://www.truecrypt.org/">Truecrypt</a> &#8211; Permite crear discos duros virtuales encriptados adentro de un archivo, para luego montarlo como un disco duro temporal. También permite encriptar particiones completas para mayor seguridad.  Está demasiado sencillo de usar, pero si tienen problemas o no saben donde empezar, pueden ver esta <a title="Guia de como usar Truecrypt" href="http://www.kriptopolis.org/truecrypt-windows-01">guía de como usar Truecrypt</a>.</li>
</ul>
<p>Creo que son todos. Estaré actualizando esta lista. Si tienen alguna <strong>recomendación </strong>que crean deba estar incluida aquí, favor de <strong>dejar un comment</strong>.</p>
<p><strong>Última actualizacion</strong>: Diciembre 27, 2009</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielrodriguez.net/software-indispensable-para-una-computadora-nueva/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
