<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://www.geekandroll.com/wp-atom.php">
	<title type="text">Geek &amp; Roll</title>
	<subtitle type="text">Tecnología con personalidad</subtitle>

	<updated>2012-12-05T22:15:53Z</updated>
	<generator uri="http://wordpress.org/" version="2.8.6">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://www.geekandroll.com" />
	<id>http://www.geekandroll.com/feed/atom/</id>
	

			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/geekandroll" /><feedburner:info uri="geekandroll" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
		<author>
			<name>Rafyta</name>
						<uri>http://rafyta.com</uri>
					</author>
		<title type="html"><![CDATA[Fechas legibles con PHP]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/vkPnGwWyHTE/" />
		<id>http://www.geekandroll.com/?p=1792</id>
		<updated>2012-12-05T22:15:53Z</updated>
		<published>2012-12-05T22:15:53Z</published>
		<category scheme="http://www.geekandroll.com" term="programacion" /><category scheme="http://www.geekandroll.com" term="php" />		<summary type="html"><![CDATA[
Para muchos tal vez sea como llover sobre mojado, pero para mí esta función representa un ahorro increíble de tiempo y no me la había topado hasta hace unas semanas.
Digamos que quieres cambiar fechas de un formato a otro. Por ejemplo si tienes &#8220;1-May-2012&#8243; y quieres convertirla a &#8220;2012-05-01&#8243;, manualmente puede ser un tormento; pero [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/12/fechas-legibles-con-php/"><![CDATA[<p><img class="size-full wp-image-1793 aligncenter" src="http://www.geekandroll.com/wpress/wp-content/uploads/2012/12/fechas.jpg" alt="fechas con php" width="455" height="250" /></p>
<p>Para muchos tal vez sea como llover sobre mojado, pero para mí esta función representa un ahorro increíble de tiempo y no me la había topado hasta hace unas semanas.</p>
<p>Digamos que quieres cambiar fechas de un formato a otro. Por ejemplo si tienes &#8220;1-May-2012&#8243; y quieres convertirla a &#8220;2012-05-01&#8243;, manualmente puede ser un tormento; pero con la función strtotime() ya puedes irte de fin de semana a acampar, escribir un libro, romper el reto de los 2 hot dogs de un kilo, o lo que sea que te guste.<br />
<strong></strong></p>
<p><strong>echo date(&#8221;Y-m-d&#8221;, strtotime(&#8221;1-May-2012&#8243;));<br />
&#8211;&gt;  **MAGIA**<br />
&#8211;&gt;  2012-05-01</strong></p>
<p>Lo interesante es cuando empiezas a hacer cosas como:</p>
<p><strong>echo date(&#8221;Y-m-d&#8221;, strtotime(&#8221;tomorrow&#8221;));<br />
&#8211;&gt;  2012-12-06</strong></p>
<p><strong>echo date(&#8221;l F jS, Y&#8221;, strtotime(&#8221;monday&#8221;));<br />
&#8211;&gt;  Monday December 10th, 2012</p>
<p>echo date(&#8221;l F jS, Y&#8221;, strtotime(&#8221;a month ago&#8221;));<br />
&#8211;&gt;  Wednesday December 5th, 2012</p>
<p>echo date(&#8221;l F jS, Y&#8221;, strtotime(&#8221;next week&#8221;));<br />
&#8211;&gt;  Wednesday December 12th, 2012</p>
<p></strong></p>
<p><strong>echo date(&#8221;l F jS, Y&#8221;, strtotime(&#8221;end of times&#8221;));<br />
&#8211;&gt;  Friday December 21st, 2012</strong></p>
<p>Los detalles completos para hacer tu formato a la medida están en: <a href="http://php.net/manual/en/function.date.php" target="_blank">http://php.net/manual/en/function.date.php</a></p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/12/fechas-legibles-con-php/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/12/fechas-legibles-con-php/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/12/fechas-legibles-con-php/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Rafyta</name>
						<uri>http://rafyta.com</uri>
					</author>
		<title type="html"><![CDATA[Hospeda tu sitio en Dropbox con Site 44]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/AeX7GCwScFM/" />
		<id>http://www.geekandroll.com/?p=1785</id>
		<updated>2012-10-02T04:51:21Z</updated>
		<published>2012-10-02T04:44:35Z</published>
		<category scheme="http://www.geekandroll.com" term="internet" /><category scheme="http://www.geekandroll.com" term="utilidades" />		<summary type="html"><![CDATA[
Aunque hay quienes lo hacen desde hace tiempo con soluciones poco prácticas, Site44 rasca la comezón de aprovechar los gigabytes de espacio web gratuito del que muchos usuarios de Dropbox disfrutamos.
En pocas palabras te permite configurar un archivo en tu cuenta de Dropbox como si fuera tu folder de html público. Tienes la opción de [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/10/hospeda-tu-sitio-en-dropbox-con-site-44/"><![CDATA[<p><a href="http://site44.com"><img class="size-full wp-image-1786 alignnone" title="site44" src="http://www.geekandroll.com/wpress/wp-content/uploads/2012/10/site44.gif" alt="" width="450" height="144" /></a></p>
<p>Aunque hay quienes lo hacen desde hace tiempo con <a href="http://www.maclife.com/article/howtos/how_host_your_website_dropbox" target="_blank">soluciones poco prácticas</a>, Site44 rasca la <em>comezón</em> de aprovechar los gigabytes de espacio web gratuito del que muchos usuarios de Dropbox disfrutamos.</p>
<p>En pocas palabras te permite configurar un archivo en tu cuenta de Dropbox como si fuera tu folder de html público. Tienes la opción de usar un subdominio como <a href="http://geekandroll.site44.com" target="_blank">geekandroll.site44.com</a> o utilizar tu propio dominio si así lo deseas.</p>
<p>Hoy lo probé unos minutos y me parece bastante recomendable para mini sitios estáticos (sólo admiten html/js/pdf e imágenes). Nada de scripting o bases de datos. Me parece excelente opción para compartir mockups en vivo con clientes, o para los que están aprendiendo –o perfeccionando– sus habilidades en markup.</p>
<p><a href="http://site44.com" target="_blank">site44.com</a></p>
<p><strong>Update:</strong> en la página de <a href="http://www.site44.com/advanced" target="_blank">opciones avanzadas</a> se detalla cómo poner contraseñas, poner un mensaje 404, personalizar los mime types y hacer redirects.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/10/hospeda-tu-sitio-en-dropbox-con-site-44/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/10/hospeda-tu-sitio-en-dropbox-con-site-44/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/10/hospeda-tu-sitio-en-dropbox-con-site-44/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[RockProducer, o cómo uso emacs para crear Rockofonia.]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/HY6IwpWRKtY/" />
		<id>http://www.geekandroll.com/?p=1771</id>
		<updated>2012-09-14T22:49:23Z</updated>
		<published>2012-09-14T22:49:23Z</published>
		<category scheme="http://www.geekandroll.com" term="FLOSS" /><category scheme="http://www.geekandroll.com" term="aplicaciones" /><category scheme="http://www.geekandroll.com" term="programacion" /><category scheme="http://www.geekandroll.com" term="utilidades" />		<summary type="html"><![CDATA[Para los que no saben de que lado masca la iguana, Rockofonia es un podcast semanal que se transmite tanto por Internet como por radio (en Baja California). Somos dos &#8220;DJs&#8221; que alternamos, por lo tanto cada 2 semanas me toca aventarme la emisión en turno. Siendo programador de profesión, siempre que me enfrento con [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/09/rockproducer-o-como-uso-emacs-para-crear-rockofonia/"><![CDATA[<p>Para los que no saben de que lado masca la iguana, Rockofonia es un podcast semanal que se transmite tanto por Internet como por radio (en Baja California). Somos dos &#8220;DJs&#8221; que alternamos, por lo tanto cada 2 semanas me toca aventarme la emisión en turno. Siendo programador de profesión, siempre que me enfrento con un problema recurrente mi mente viaja y se imagina como solucionarlo con software. Ese fue el caso de No Te Pases (antes Everlasting Flame) y muchos otros proyectos tal vez no tan conocidos, pero que me han salvado de tener que repetir los mismos pasos una y otra vez, algo para lo que las computadoras se pintan solas.</p>
<p><strong>El reto</strong><br />
En el caso de Rockofonia, siempre que me tocaba armar la emisión de la semana me enfrentaba con un problema. Verán, al inicio cuando Rockofonia no era más que un podcast no había tanto problema. Digamos que teníamos completa libertado sobre el formato, los comentarios, las canciones y sobre todo la duración de la emisión. Aunque siempre dijimos que serían de media hora, no era un límite estricto, y había emisiones que podían pasarse hasta los 40 o 50 minutos sin mayor problema. Cuando Rockofonia da el salto a la radio, la emisión se alargó a una hora. Esto nos permitió incluir mas material, pero a la vez nos restringió en la duración: la emisión tenía que durar una hora. Más bien, entre 57 y 59 minutos, sin pasarte pero tampoco sin quedarte corto. Las reglas exactas son un poco más complicadas que esas:</p>
<ol>
<li>La emisión se divide en dos bloques de media hora</li>
<li>Puedes incluir dos canciones seguidas, pero deben llevar una cortinilla entre las dos</li>
<li>Cada bloque debe durar 30 minutos aproximadamente, incluyendo la duración de las cortinillas, el intro y el outro</li>
<li>La versión que se transmite por radio no incluye un segmento que dura aproximadamente 30 segundos, exclusivo para la versión por Internet</li>
<li>La emisión completa en total no se debe pasar de 59 minutos</li>
</ol>
<p>El reto es cuando estas planeando la emisión. Por la manera en la que se produce el programa, las voces se graban aparte y puedes terminar grabando mas material del que puedes incluir al final. Entonces, ¿Cómo llevar un control de lo que va a durar una emisión, basado en las canciones que se planean incluir y el material que se tiene para comentar entre cada emisión? Basicamente necesitamos:</p>
<ol>
<li>Una manera de calcular la duración de los segmentos musicales</li>
<li>Una manera de calcular el tiempo disponible para los segmentos de comentarios</li>
<li>Una manera de reorganizar las canciones de la emisión, de tal manera que los dos bloques sean de 30 minutos aproximadamente</li>
<li>Una manera de incluir notas para la planeación de la emisión</li>
<li>De preferencia, que la solución sea fácil de migrar entre computadoras (generalmente armo la emisión en mi PC de escritorio, pero las voces las grabo en otro sitio)</li>
</ol>
<p>Mi primer impulso fue una aplicación Web, incluso inicié un proyecto llamado RockProducer, en donde la intención era hacer todos estos cálculos, integrar búsquedas (Wikipedia, Last.FM, Songfacts, Grooveshark entre otros) para la recopilación de material, un editor de notas para armar la emisión, distintas visualizaciones. La idea era ya teniendo algo completo, hostearlo en algún lado para todos aquellos que se dediquen a la creación de podcasts musicales y tengan los mismos retos que nosotros, pudieran usar esta aplicación para planear sus emisiones. Como dije, esa era la idea. <span id="more-1771"></span></p>
<p><strong>La solución</strong><br />
Como podrán adivinar del título, la solución involucra emacs. Me di cuenta que terminar RockProducer me llevaría mucho tiempo del cual no dispongo actualmente, y aunque la visión de RockProducer es mucho mas grande de la solución que tengo actualmente y me gustaría llevarla a cabo algún día, yo necesitaba una solución y rápido. Mis notas de las emisiones las llevaba en Evernote, pero se volvió muy pesado y terminé por deshacerme de el, así que migre a emacs + org mode + dropbox.</p>
<p><strong>Emacs + Org Mode</strong><br />
La mayor parte del tiempo que estoy en emacs, estoy en org mode. Org mode sabe de que lado masca la iguana, pero no nos lo dice porque no podríamos lidiar con la verdad. Chuck Norris una vez quiso hacer un modo de emacs, pero cuando vio org mode desistió de sus esfuerzos. Este no es un tutorial sobre cómo usar emacs u org mode, mas bien explicar cómo es que yo lo uso para planear mi emisión de la semana. Tal vez les sirva a modo de idea, sobre cómo pueden ustedes dejar que org mode les facilite la vida, y dejen a un lado formatos complicados para abrirse a una vida planeada en formato texto.</p>
<p>Org mode trabaja con el concepto de outlines. Básicamente empiezas con el cascarón de un texto, planeando lo que va a contener. Por ejemplo, esta sería la estructura de una emisión de Rockofonia:</p>
<blockquote><p>
* Rockofonia xxx</p>
<p>** Intro</p>
<p>** Bloque 1</p>
<p>*** Track 1<br />
*** Track 2</p>
<p>** Bloque 2</p>
<p>*** Track 3<br />
*** Track 4</p>
<p>** Interludio (solo podcast)</p>
<p>** Bloque 3</p>
<p>*** Track 5<br />
*** Track 6</p>
<p>** Bloque 4</p>
<p>*** Track 7<br />
*** Track 8</p>
<p>** Outro
</p></blockquote>
<p>Org mode se encarga de ponerle colores a cada título de sección, y por supuesto hay comandos para navegar entres secciones, agregar, eliminar, indentar, vincular y todo el repertorio de macros que emacs te proporciona. Esto me permite agregar mis notas a cada sección y planear el contenido de la emisión completa. Pero en realidad no sería una solución si no me ayudara a calcular la duración de la emisión, y para eso org mode nos trae el manejo de tablas.</p>
<p><strong>Org mode como hoja de cálculo</strong><br />
Org mode tiene soporte para tablas, y es una de las características que mas me gustan. Las uso para organizar cualquier dato tabular, por ejemplo para documentar una tabla en una base de datos, para organizar una lista de actividades, o en este caso para calcular la duración de una emisión de Rockofonia. Así es, las tablas en org mode son mas que simples tablas, sino que se pueden utilizar como una hoja de cálculo. Se pueden agregar fórmulas para calcular valores de una columna entera o una celda en específico, muy similar a lo que paquetes de hoja de cálculo dedicados ofrecen, solo que todo integrado en emacs. Por ejemplo:</p>
<p><a href="http://www.geekandroll.com/wpress/wp-content/uploads/2012/09/Screen-Shot-2012-09-14-at-3.13.37-PM.png"><img src="http://www.geekandroll.com/wpress/wp-content/uploads/2012/09/Screen-Shot-2012-09-14-at-3.13.37-PM-300x282.png" alt="Spreadsheet en org mode" title="Spreadsheet en org mode" width="300" height="282" class="aligncenter size-medium wp-image-1776" /></a></p>
<p>La fórmula de abajo dice: multiplica 59 (minutos) por 60 (segundos por minuto) y al resultado restale la suma de la columna dos y divídelo entre 60 (para tener el resultado en minutos). Lo anterior me permite meter la duración de las canciones (en segundos) y la tabla calcula el tiempo restante. Lo que hago es primero meter todas las canciones que quiero incluir, en cualquier orden. Después las acomodo (la tabla permite mover, agregar o eliminar filas y recalcular los tiempos) hasta que me quedo con el orden definitivo, donde cada sección mida aproximadamente 30 minutos. Si es necesario agrego o elimino canciones (filas). En la imagen podemos ver como al final del tercer bloque nos restan 27.2 minutos, por lo que el primer bloque se nos pasó un poquito, pero está dentro del límite de lo aceptable. Finalmente calculo el tiempo que queda para cada segmento de voz (las filas que llevan por nombre Comentario) y si es muy poco, tal vez sea necesario eliminar una canción para hacer más espacio (en este caso cada comentario puede durar máximo 50 segundos, lo cual es muy poco).</p>
<p><strong>Dropbox</strong><br />
Ya todos conocemos dropbox. En este caso guardo todos mis archivos .org en dropbox, para así tenerlos disponibles en mi computadora de escritorio (donde planeo las emisiones) y en la computadora donde se graban las emisiones (para poder tener las notas a la mano). Si necesito hacer un cambio rápido en las notas, los archivos .org son simples archivos de texto, así que aún sin tener emacs instalado en alguna computadora, estos archivos pueden ser leidos y editados en cualquier editor de texto.</p>
<p><strong>Flujo de trabajo final</strong><br />
Cuando me siento a planear una emisión, siempre tengo emacs visualizando el mismo buffer en dos ventanas separadas, una ventana en la posición donde estoy escribiendo las notas, y otra ventana con la parte de la tabla de canciones visible, de tal manera que siempre puedo hacer referencia a las canciones que vienen o que ya aparecieron en secciones pasadas o futuras, puedo reorganizarlas fácilmente, agregar o eliminar canciones de acuerdo a si me extiendo o no en mis comentarios entre canciones. Mi emacs se ve mas o menos así:</p>
<p><a href="http://www.geekandroll.com/wpress/wp-content/uploads/2012/09/Screen-Shot-2012-09-14-at-3.32.50-PM.png"><img src="http://www.geekandroll.com/wpress/wp-content/uploads/2012/09/Screen-Shot-2012-09-14-at-3.32.50-PM-300x277.png" alt="RockProducer" title="RockProducer" width="300" height="277" class="aligncenter size-medium wp-image-1778" /></a></p>
<p>En la parte de la izquierda es donde voy haciendo mis anotaciones para tenerlas a la mano a la hora de grabar la emisión. En la parte de la derecha está la tabla con las canciones, el orden y los tiempos. De esa manera se que tantas anotaciones llevar, ya que la experiencia me dice que si para una entrada tengo mas de 4 puntos generales que tocar, es muy posible que me tarde mas de 2 minutos. Si solo tengo 50 segundos entre canciones, no es necesario llevar tantas anotaciones, tal vez solo con uno o dos puntos basta.  Lo único que me gustaría agregar es un navegador para facilitarme la vida al momento de estar creando las notas de la emisión, lo cual es bastante posible gracias a w3, solo que no me he dado el tiempo para aprender a usarlo. Tal vez algún día.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/09/rockproducer-o-como-uso-emacs-para-crear-rockofonia/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/09/rockproducer-o-como-uso-emacs-para-crear-rockofonia/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/09/rockproducer-o-como-uso-emacs-para-crear-rockofonia/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[Bajando música como lo hacían nuestros antepasados (en Napster, Kazaa, Limewire&#8230;)]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/jL-8a7EAvwE/" />
		<id>http://www.geekandroll.com/?p=1769</id>
		<updated>2012-07-01T02:03:06Z</updated>
		<published>2012-07-01T02:03:06Z</published>
		<category scheme="http://www.geekandroll.com" term="Uncategorized" />		<summary type="html"><![CDATA[Hace muchísimo (el 4 de Abril del 2007) estaba sentado en el que alguna vez fue mi cuarto en casa de mis Papás, cuando se me ocurrió escribir una pieza sobre el fileshare. Adelantando un poco el tiempo, hoy me pregunta mi esposa si llegará el día en el que pueda descargar música ella sola [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/06/bajando-musica-como-lo-hacian-nuestros-antepasados-en-napster-kazaa-limewire/"><![CDATA[<p>Hace muchísimo (el 4 de Abril del 2007) estaba sentado en el que alguna vez fue mi cuarto en casa de mis Papás, cuando se me ocurrió escribir <a href="http://www.geekandroll.com/2007/04/historia-del-fileshare-moderno/">una pieza sobre el fileshare</a>. Adelantando un poco el tiempo, hoy me pregunta mi esposa si llegará el día en el que pueda descargar música ella sola sin requerir de mi ayuda. No se si ese día llegará, pero si reconozco que antes era más sencillo descargar música. Siempre había un cliente dedicado a esto, una red P2P que estaba &#8220;de moda&#8221;, el &#8220;Napster en turno&#8221;. Ya fuera audiogalaxy, Kazaa, Gnutella, Limewire o canales en IRC con fileservers, cualquiera de ellos era muy superior a método que al parecer todos prefieren ahora: servicios de lockers online.</p>
<p>Una de las razones por las que es tan complicado descargar singles actualmente es por algo bueno: se ha hecho extremadamente sencillo suscribirse legalmente a un servicio de streaming (como spotify), o de descargas (como iTunes) cosa que no existía anteriormente. Eso no significa que no existan las redes antes mencionadas, pero el servicio de lockers online como rapidshare o megaupload hizo que surgieran otros sitios con grandes directorios de links hacia estos lockers, donde suscriptores postean links a discografías completas, temporadas de series de TV, programas, juegos, porno o lo que sea. Explicarle como buscar en uno de esos directorios (llámese Taringa, 4Shared o el propio Google) a mi esposa, llenar los captchas, verificar si es lo que ella estaba buscando para al final esperar 1 minuto mientras se habilita el link a la descarga, y encima de eso encontrar el verdadero link y no uno que sea publicidad engañosa, esta muy por encima de las habilidades computacionales de mi esposa, y algo por lo que yo no estaba dispuesto a seguir pasando.</p>
<p>Viendo las opciones que tenía en su computadora (Mac, OS X) volví al que conocí como la única red de intercambio exclusiva de música: SoulSeek. En GNU/Linux existe Nicotine+ como cliente, y en teoría este funciona en cualquier sistema operativo con Python disponible, pero depende de PyGTK que nunca pude compilar con brew. <a href="http://www.macupdate.com/app/mac/17228/soulseex">SSX</a> nunca me ha funcionado, y no quise darle otra oportunidad. Viendo mis opciones bastante reducidas, decidí darle la oportunidad a <a href="http://www.slsknet.org/news/node/1">SoulseekQt</a>. Con el puro nombre sabemos que está hecho con el toolkit Qt, por lo que no podemos esperar mucho en el apartado visual. A mi no me importa mucho eso, es mas, si hubiera un modo emacs para usarlo como cliente de SoulSeek sería mi elección, pero en este caso tiene que pasar la prueba de la esposa. SoulseekQt es el cliente oficial de la red SoulSeek.</p>
<p>Aún con la interfaz poco intuitiva, SoulSeek en la mac de mi esposa fue todo un éxito. Una vez hecho el setup inicial, hizo lo que siempre había soñado: descargar música sin mi ayuda. Le expliqué como abrirlo (en el ícono del pájaro azul pixeleado), como buscar y &#8220;a donde se van las canciones&#8221; una vez que terminan las descargas. Sigo sin poder jugar Diablo 3 gracias a las descargas que tiene pendientes. Funcionó tan bien que inclusive lo instalé en mi PC.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/06/bajando-musica-como-lo-hacian-nuestros-antepasados-en-napster-kazaa-limewire/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/06/bajando-musica-como-lo-hacian-nuestros-antepasados-en-napster-kazaa-limewire/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/06/bajando-musica-como-lo-hacian-nuestros-antepasados-en-napster-kazaa-limewire/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[Diablo III]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/q3rh8YDDpiI/" />
		<id>http://www.geekandroll.com/?p=1767</id>
		<updated>2012-05-19T23:24:58Z</updated>
		<published>2012-05-19T23:24:58Z</published>
		<category scheme="http://www.geekandroll.com" term="aplicaciones" /><category scheme="http://www.geekandroll.com" term="cracking" /><category scheme="http://www.geekandroll.com" term="internet" />		<summary type="html"><![CDATA[Para algunos, la llegada de Diablo III este pasado 15 de Mayo no significó más que tolerarme al hablar por horas de la historia, características y peculiaridades del nuevo juego de Blizzard. Y es que la franquicia Diablo siempre ha guardado un lugar especial en mi corazón, por mas blasfemo que se escuche.
Me tocó estar [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/05/diablo-iii/"><![CDATA[<p>Para algunos, la llegada de Diablo III este pasado 15 de Mayo no significó más que tolerarme al hablar por horas de la historia, características y peculiaridades del nuevo juego de Blizzard. Y es que la franquicia Diablo siempre ha guardado un lugar especial en mi corazón, por mas blasfemo que se escuche.</p>
<p>Me tocó estar ahí cuando el primer Diablo tomó por sorpresa a los jugadores del mundo. Un título exclusivo para PC inicialmente, después lanzado para PlayStation, en donde el control de la acción era via el mouse principalmente. Clickity clack todo el día. No se si sea el primero en el género, pero para mi fueron dos cosas: descubrir el género de los dungeon crawlers, hack &#038; slash, y parar oreja para cualquier cosa que Blizzard hiciera en el futuro ya que era la segunda vez que me sorprendía con algo totalmente nuevo y desconocido para mi (la primera fue con Warcraft). Recuerdo perfectamente toparme con el &#8220;Butcher&#8221; en el primer nivel del laberinto de la Catedral de Tristam. Su grito de &#8220;Ah, fresh meat&#8221; era sinónimo de tener que reiniciar el juego con la esperanza de que no volviera a salir. La muerte segura.</p>
<p>Cuatro años mas tarde, Diablo II. En ese entonces ya había yo pasado por Warcraft, Warcraft 2 y su expansión, Diablo, Starcraft y su expansión: Brood Wars. Blizzard ya era grande en el mundo del juego online, y Battle.net era poco más que el nexo entre los distintos juegos de Blizzard y su componente online. Diablo II fue grande, pero nada revolucionario si lo comparamos con su antecesor. Para empezar, los escenarios ya no eran completamente generados al azar. Además, uno de los aspectos que más me atrajeron al primer Diablo fue que literalmente ibas descendiendo al infierno nivel tras nivel, después de entrar a la Catedral de Tristam. En Diablo II la mayor parte de los escenarios son espacios abiertos.</p>
<p>Tan solo 12 años después (Diablo II salió en el 2000) Blizzard completa otra entrega de la franquicia Diablo, aún cuando su desarrollo se inició desde el 2001, un año después de Diablo II. Diablo III me recuerda mucho a como ha evolucionado OSX, implementando características de su hermano iOS, solo que Diablo III se las copia a su hermano World of Warcraft, también conocido como la gallina de los huevos de oro de Blizzard. En los 12 años que pasaron, Battle.net pasó de ser un simple nexo a una compuerta virtual que separa los diferentes mundos que Blizzard crea con sus juegos. Battle.net es necesario para comprar, activar, descargar y jugar cualquiera de los juegos de Blizzard, sea multijugador o no.</p>
<p>Si creían que el DRM que te impide iniciar una partida a menos que tengas una conexión a Internet para autentificarte es molesto, eso <strong>no es nada</strong> en comparación de lo que Blizzard ha hecho. Pero la verdadera hazaña es haberlo hecho de una manera en la que es completamente necesario. Battle.net no solo es necesario para autentificarte, sino que además forma parte del juego. Sin Battle.net, sencillamente tu juego no funciona, y por lo mismo esta restricción no puede eliminarse con un crack y ya. Para poder eliminar la necesidad de una conexión permanente, necesitarías un servidor que emule Battle.net. No es que esté yo de acuerdo con el DRM, y por supuesto que me gustaría jugar Diablo III sin estar conectado a Internet (por ejemplo durante un vuelo, aunque mi laptop no tenga lo necesario para correrlo) pero es fascinante la tecnología detrás de un juego que literalmente le hacen falta piezas clave, y estas se encuentran en el servidor. ¿Alguien dijo <em>uncrackable</em>?</p>
<p>¿Por que? se preguntarán&#8230; bueno, en Diablo III parte de la funcionalidad del juego se encuentra ejecutándose en los servidores de Blizzard. Diablo III se comunica con Battle.net por medio de <a href="http://code.google.com/p/protobuf/">protocol buffers</a>, los mismos que Google usa para la comunicación y ejecución de métodos remotos (RPC) en sus servidores. Tanto el cliente (o sea nosotros) como el servidor (Battle.net) define distintos servicios. Por ejemplo, el proceso que genera los niveles aleatorios (conocido como DRLG o Dungeon Random Level Generator) se ejecuta del lado del servidor aunque el cliente tiene cierto control sobre el proceso.</p>
<p>Todo bien pero, ¿y el juego? En lo personal, no decepciona. Ir con tus amigos en una partida mutijugador a atacar a las fuerzas del mal es tan divertido como lo era en Diablo II (el Diablo original nunca lo pude jugar online). Claro que fue frustrante no poder jugar el día de lanzamiento, aún cuando había preordenado el juego meses antes. Pero no es posible que la gente se queje del DRM en Diablo III siendo que se anunció perfectamente claro que así sería, que no se podría jugar sin estar conectado a Internet, que la conexión es requerida, aún en single player, por las razones que ya describí anteriormente.</p>
<p>¿Se hubiera podido desarrollar de otra manera, sin necesitar conexión a Internet permanente? Claro que si, ¿pero porqué habrían de hacerlo? Les funcionó tan bien en World of Warcraft, y aunque Diablo III no es un MMORPG, tiene suficientes elementos del mismo como para justificar el DRM tan agresivo.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/05/diablo-iii/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/05/diablo-iii/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/05/diablo-iii/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[El trojano Flashback en OS X]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/ku8yaGckAV0/" />
		<id>http://www.geekandroll.com/?p=1765</id>
		<updated>2012-04-07T18:40:41Z</updated>
		<published>2012-04-07T18:40:41Z</published>
		<category scheme="http://www.geekandroll.com" term="internet" /><category scheme="http://www.geekandroll.com" term="sistemas operativos" />		<summary type="html"><![CDATA[Mucha tinta virtual se ha regado en estos últimos días sobre el trojano que ha logrado infectar a más de 600,000 Macs en todo el mundo. Eso no sería noticia si sucediera en el mundo de Windows, pero siendo Macs que como dicen coloquialmente &#8220;no les entran virus&#8221; entonces hay alarma general entre usuarios, fanboys [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/04/el-trojano-flashback-en-os-x/"><![CDATA[<p>Mucha tinta virtual se ha regado en estos últimos días sobre el trojano que ha logrado infectar a más de 600,000 Macs en todo el mundo. Eso no sería noticia si sucediera en el mundo de Windows, pero siendo Macs que como dicen coloquialmente &#8220;no les entran virus&#8221; entonces hay alarma general entre usuarios, <em>fanboys</em> y <em>haters</em> por igual.</p>
<p>Hablar sobre la plataforma Mac se ha convertido (desgraciadamente) en uno de esos temas en los que tienes que tener cuidado. Es como la política, religión o el fútbol. Gente autodeclarada experta se pone a hablar sobre el tema, y el FUD llega a niveles insospechados. Esto exactamente sucede actualmente con el tema del trojano Flashback en OS X, un caldo de cultivo especial para que amantes de la manzana y enemigos de cupertino se enfrenten en alegatos interminables. En estos casos es importante ser objetivos y hablar con los hechos.</p>
<p>Veamos, <strong>¿que es Flashback?</strong> Flashback es un método de entrega que depende de una vulnerabilidad en la versión de Java para OS X. Dicho de otra forma, se ha aprovechado una vulnerabilidad de Java en OS X para descargar, instalar y ejecutar un programa sin que el usuario lo sepa. El usuario primero es dirigido a un sitio Web que contiene código JavaScript, que a su vez carga un applet de Java y aprovechándose de la vulnerabilidad expuesta, este descarga un binario sin intervención del usuario. Después, el binario es ejecutado (de nuevo sin intervención) y este descarga y ejecuta el código malicioso convirtiendo a la Mac en turno en miembro de la botnet.</p>
<p>La vulnerabilidad es bien conocida, de hecho son dos y pueden consultarlas <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-3544">aquí</a> y <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-5353">aquí</a>. Las dos tienen que ver con Java Web Start (una funcionalidad para ejecutar código Java desde un servidor remoto) y la ejecución segura de applets Java. Cuando estas dos vulnerabilidades fueron cerradas en Febrero, los autores de Flashback comenzaron a utilizar otra vulnerabilidad (CVE-2012-0507) ya arreglada por Oracle (autores de Java) en Febrero, pero aún sin distribuir el parche por Apple. Recordemos que Apple ya no es el responsable de Java en su sistema operativo, dejando esta tarea a Oracle.</p>
<p><strong>¿Entonces de quien es la culpa?</strong> De Oracle. Ellos son los responsables de la seguridad en Java. Flashback no ataca una vulnerabilidad en OS X, sino varias vulnerabilidades en Java que permiten la descarga y ejecución de código malicioso fuera de las restricciones impuestas (el famoso <em>sandbox</em>).</p>
<p><strong>Apple arregló el error muy rápido. ¡Bien por ellos!</strong>. De hecho no. Apple se tardó 1 mes aproximadamente en liberar el parche creado por Oracle, y solo lo hizo una vez que la vulnerabilidad había sido aprovechada y usuarios infectados. Las razones técnicas para hacerlo (si las hay) no las se, pero lo que si se es que eso más que hacer quedar mal a OS X, hace quedar mal a Java en OS X a costa de sus usuarios. Bien sabido por todos es la negligencia de Apple por plataformas que permitan el desarrollo de aplicaciones que puedan ser ejecutadas en múltiples plataformas. La manzana prefiere el <em>lock-in</em> (al igual que Microsoft). Aún así, el error está en código de Oracle, y no de Apple. </p>
<p>Esto no quiere decir que OS X &#8220;no le entran virus&#8221; por favor no caigan en la desinformación. OS X al igual que todos los sistemas operativos del mundo son vulnerables. Las mismas precauciones deben ser tomadas por usuarios de OS X, que usuarios de Windows o de GNU/Linux.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/04/el-trojano-flashback-en-os-x/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/04/el-trojano-flashback-en-os-x/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/04/el-trojano-flashback-en-os-x/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[Crónica de Yo vs. Proveedores de Internet Mexicanos]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/FfUto_6WwWw/" />
		<id>http://www.geekandroll.com/?p=1760</id>
		<updated>2012-03-31T01:09:52Z</updated>
		<published>2012-03-30T23:23:38Z</published>
		<category scheme="http://www.geekandroll.com" term="opinion" /><category scheme="http://www.geekandroll.com" term="servicios" />		<summary type="html"><![CDATA[Desde que trabajo desde casa, mi conexión a Internet se volvió algo mas importante. Aunque siempre lo he considerado como una prioridad, el hecho es que ahora es aún más crítico ya que si no tengo Internet, básicamente no puedo trabajar. Hago telecommuting y no tener Internet, o no tener Internet en óptimas condiciones significa [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/03/cronica-de-yo-vs-proveedores-de-internet-mexicanos/"><![CDATA[<p>Desde que trabajo desde casa, mi conexión a Internet se volvió algo mas importante. Aunque siempre lo he considerado como una prioridad, el hecho es que ahora es aún más crítico ya que si no tengo Internet, básicamente no puedo trabajar. Hago <em>telecommuting</em> y no tener Internet, o no tener Internet en óptimas condiciones significa algo así como no ir a la oficina. Claro, puedo hacer <em>algo</em> de trabajo, pero estoy severamente limitado con mis opciones cuando las cosas no van como debieran.</p>
<p><strong>Megacable</strong><br />
El caso es que por varias razones, mi proveedor de Internet era <a href="http://din.megacable.com.mx/paquetes/1/sonora/hermosillo.html">Megacable</a> y por un tiempo no tuve quejas. Estaba dispuesto a tolerar sus caídas frecuentes siempre y cuando estuvieran en el rango de una vez al mes, y por períodos cortos de tiempo. Cualquier cosa por arriba de 1 hora ya se convierte en un problema. Lo que me agradaba de Megacable es que siempre estaban por encima de la competencia con respecto a ancho de banda / precio. Por ejemplo, cuando contraté lo hice con el paquete de 2 Mbps, al tiempo lo subieron a 5 Mbps y después a 10 Mbps manteniendo un costo muy similar. Pero con el incremento vinieron otros problemas:</p>
<ul>
<li>Interrupciones en el servicio más frecuentes (varias veces al mes, a veces en la misma semana)</li>
<li>Ancho de banda extremadamente variado dependiendo de la hora del día</li>
<li>Dificultad para usar ciertos servicios (bloqueo de puertos, o fallos en su Web proxy)</li>
<li>Servicio al cliente muy deficiente. En repetidas ocasiones me dicen que mandarán a un técnico a ver el problema, y el técnico nunca llega</li>
</ul>
<p><strong>Telmex</strong><br />
Soy creyente de darle a una compañía en donde más le duele: su billetera. Decidí <em>quejarme con mi dinero</em> y llevar mi negocio a otra parte. La pregunta era <strong>¿a donde?</strong>. La única opción viable en mi cabeza en ese momento era Telmex con su servicio <em>infinitum</em>; con el plus de recibir una línea de teléfono y llamadas ilimitadas a cualquier parte de México y USA, contraté el servicio de 10 Mbps con llamadas y no se que tanta cosa más. Lo que sucedió después de ahí es largo y complicado, así que lo voy a explicar con una lista en orden cronológico:</p>
<ol>
<li>Fuimos a contratar el servicio a las oficinas de Telmex. En ese momento me entregaron el modem ASDL, y me dijeron que los técnicos tardaban hasta 8 días hábiles para hacer la instalación en la casa (mi casa no contaba con instalación telefónica).</li>
<li>A los cinco días hábiles, nos llama un técnico a preguntar si el domicilio es correcto. El domicilio estaba completamente mal, se les dio el domicilio correcto y nos dijeron que más tarde hablarían para confirmar la dirección.</li>
<li>La llamada nunca llegó, por lo que fuimos al centro de atención donde se hizo la contratación. Nos indicaron que &#8220;hubo un error en el sistema&#8221; y capturaron mal la dirección. Por este error, se tenía que hacer una cancelación del contrato y hacer un contrato nuevo y esperar <em>solamente</em> tres días más, ya que me pondrían en <em>prioridad uno</em>. </li>
<li>En ese momento les dije que no me interesaba su servicio. Precisamente la falta de buen servicio fue una de las razones que me hizo cambiarme de proveedor de Internet, y Telmex, desde el inicio, me estaba demostrando su incapacidad de proporcionar un buen servicio. Así que quedé de llevarles el modem de regreso y hacer como si nada hubiera pasado.</li>
<li>Ese mismo día por la tarde (un Sábado) llegaron los técnicos de Telmex a hacer la instalación. Mágicamente no tuve que esperar tres días más, sino que ese mismo día podía quedar la instalación aunque la señal de Internet no llegaría sino hasta el Lunes. Decidí (malamente) darles una segunda oportunidad y deje que hicieran la instalación. Lo que yo quería era un servicio estable y que cumpla lo que me ofrecen y por lo que estoy pagando, no estarme peleando con ISPs. Por lo visto no puedes tener una sin la otra.</li>
<li>Llega el Lunes y si, llega la señal de Internet. Hasta ahora todo bien. Comienzo a utilizarlo y se siente extremadamente lento. No lento, lentísimo. Inmediatamente hice una prueba de ancho de banda, y para mi sorpresa solo alcanza los <strong>320 Kbps</strong> un servicio que supuestamente es de <strong>10 Mbps</strong>. Confirmé este dato en la propia configuración del modem, en la información del enlace claramente dice 320 Kbps de bajada máximo.</li>
<li>Inmediatamente fuimos a las oficinas a ver que estaba pasando, y nos informan que la colonia en donde vivo no ofrece el servicio de 10 Mbps y por esta razón tengo el servicio que tengo. Si, esto no me lo habían dicho antes. Ahora mi pregunta es: ¿Y la gente que no sabe como checar el ancho de banda? ¿Que no sabe que son 10 Mbps? Me prometieron que verían que hacer en este caso para darme los 10 Mbps, pero si es verdad que en esta colonia no se puede ofrecer el servicio de 10 Mbps es porque no existe la infraestructura para hacerlo. Jalar un cable de una colonia vecina (que fue lo que me dijeron que harían) no va a solucionar el problema, a menos que sea lo suficientemente cerca para no degradar la señal.</li>
<li>Me dijeron que llamarían <em>en la semana</em> para confirmar la solución a mi problema, pero nunca llamaron. Eso si, llamaron para hacer una encuesta de calidad en el servicio (irónicamente) y después me llamaron para ver que había pasado con mi situación, y me aconsejaron muy amablemente que le diera seguimiento, que hablara a las oficinas (!) en vez de ser ellos los que le den seguimiento.</li>
</ol>
<p>Lo que me sorprende es cómo después de todo, me llaman para decirme que &#8220;me aconsejaban que le diera seguimiento, que hablara, que insistiera&#8221;. Eso no debe ser necesario, aqui yo soy el cliente, y ellos deben ofrecerme un servicio de calidad y si no, me voy con otra empresa que si lo haga. A mi no me interesa darle seguimiento a una situación que ni es mi culpa, ni tiene por qué haber pasado. Entiendo el error en la dirección, eso nos puede pasar a todos, pero no decirme que el servicio (mas caro) que estoy contratando no existe en mi domicilio, darme un servicio más barato automáticamente sin avisarme, y después aconsejarme que le de seguimiento es <strong>completamente ridículo</strong>. Es una situación que no estoy dispuesto a tolerar.</p>
<p><strong>Iusacell</strong><br />
Así que viendo mis opciones fui a <a href="http://www.axtel.com.mx/">Axtel</a>, pero solo ofrecen 2 Mbps como máximo. Mi última opción fue <a href="http://www.iusacell.com.mx/">Iusacell</a>. Después de hablar con el representante de ventas, que me juraba y perjuraba que su paquete de 3 Mbps me era suficiente ya que lo hacían por fibra óptica, y explicarle que yo <strong>necesito</strong> el de 10 Mbps sin importarme si es por fibra, cable, aire, palomas mensajeras o señales de humo, me indicó que por $700.00 (más barato que Telmex) me ofrecen un paquete de 10 Mbps con fibra óptica a la casa, solo que tenía que esperar 3 días más para que entraran las nuevas tarifas y velocidades. La espera en realidad no era necesaria pero lo hicimos así ya que, de otra manera, me hubieran ofrecido un paquete de 7 Mbps por un precio un poco mayor así que esperamos. Me indicaron que fuera el tercer día temprano para que la instalación quedara ese mismo día y, para mi sorpresa, el mismo día quedó la instalación. <strong>Hasta ahora son los únicos que cumplen lo que prometen</strong>.</p>
<p>Después de hacer la instalación, los técnicos se retiraron y me indicaron que mandarían a alguien con el modem. Por qué no traían ellos el modem no lo se, pero les doy el beneficio de la duda ya que, hasta ahora, han cumplido con todo al pie de la letra. Si traen el modem hoy como lo prometieron, el ancho de banda ofrecido es el disponible, y su sevicio a cliente es tan bueno como el servicio de venta, seré un usuario de Iusacell feliz y contento.</p>
<p><em>Update</em>: Iusacell cumplió. Tengo fibra óptica instalada en mi casa, a 10 Mbps instalados el mismo día que dijeron que se haría la instalación. Así si hago negocio con ellos con gusto.</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/03/cronica-de-yo-vs-proveedores-de-internet-mexicanos/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/03/cronica-de-yo-vs-proveedores-de-internet-mexicanos/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/03/cronica-de-yo-vs-proveedores-de-internet-mexicanos/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[Hackintosh: cómo habilitar los 2 GB en RAM en una Nvidia GT 430]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/uOt5wVoWw6s/" />
		<id>http://www.geekandroll.com/?p=1745</id>
		<updated>2012-03-10T05:42:33Z</updated>
		<published>2012-03-10T05:42:33Z</published>
		<category scheme="http://www.geekandroll.com" term="Uncategorized" />		<summary type="html"><![CDATA[Llegó el momento de actualizar mi PC de escritorio, y decidí morder la manzana de la tentación y armarme una hackintosh. Después de un breve período con una computadora de las llamadas &#8220;de marca&#8221; me quedó claro que lo mio no es comprar una computadora de paquete, sino armarme una a mi imagen y semejanza&#8230; [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/03/hackintosh-como-habilitar-los-2-gb-en-ram-en-una-nvidia-gt-430/"><![CDATA[<p>Llegó el momento de actualizar mi PC de escritorio, y decidí morder la manzana de la tentación y armarme una hackintosh. Después de un breve período con una computadora de las llamadas &#8220;de marca&#8221; me quedó claro que lo mio no es comprar una computadora de paquete, sino armarme una a mi imagen y semejanza&#8230; o algo por el estilo. Si alguna vez les ha entrado curiosidad por saber que ocurre en el mundo de las hackintosh, sabrán que parte crucial es seleccionar hardware que sea compatible. En mi caso:</p>
<ul>
<li>Tarjeta madre Gigabyte H61M-USB3-B3</li>
<li>Procesador Quad Core i7 3.39 GHz</li>
<li>RAM 8 GB 1333 MHz DDR3</li>
<li>Video GeForce GT 430 1024 MB</li>
</ul>
<p>Y esta última parte, el video, es de lo que voy a hablar en este post. Resulta y resalta que mi tarjeta de video en realidad tiene 2048 MB en RAM, y no 1024 como lo reporta el OS. Mi instalación de OS X Lion funciona a la perfección, si no fuera por ese pequeño detalle que no me deja dormir en las noches. No puedo concebir la idea de usar solo la mitad del RAM disponible en mi tarjeta de video, aun cuando para los propósitos que la uso (que no son propósitos gamer) funcione más que aceptable. Quartz Extreme y Core Image funcionan, los efectos de escritorio son fluídos, el rendimiento es bueno.</p>
<p><a href="http://www.geekandroll.com/wpress/wp-content/uploads/2012/03/Screen-Shot-2012-03-09-at-3.42.02-PM.png"><img src="http://www.geekandroll.com/wpress/wp-content/uploads/2012/03/Screen-Shot-2012-03-09-at-3.42.02-PM-300x169.png" alt="About this mac" title="About this mac" width="300" height="169" class="aligncenter size-medium wp-image-1753" /></a></p>
<p>La GT 430 en particular se supone que funciona sin modificación alguna en Lion, pero no fue mi caso. Estaba atorado en 1024&#215;768 sin efectos de escritorio, lo cual apesta. Para esto seguí <a href="http://www.osx86.net/view/2005-new10.7.2_nvidia_geforce_gt_430_fully_working_lion.html">una guía en OSx86</a> que te explican como, mediante el uso de kexts modificados, puedes habilitar tu GT 430 pero con el pequeño inconveniente de que es para tarjetas de 1024 MB en RAM. Y si, efectivamente, mi tarjeta funciona como lo expliqué, con 1024 MB en RAM.</p>
<p>La cantidad de RAM se especifica en un archivo de propiedades en formato plist. Este formato está basado en XML y puede ser modificado con un editor de texto. El problema es que el formato define nodos <data> que pareciera que están codificados con algún algoritmo. Se ven así:</p>
<blockquote><p>&#60data&#62<br />
BAAAAAAAAwAMAAAAAAAABwAAAAA=<br />
&#60/data&#62
</p></blockquote>
<p>El último signo = lo delata: es codificación <a href="http://en.wikipedia.org/wiki/Base64">Base64</a>. Así que manos a la obra.</p>
<p>Si siguieron la guía de OSx86 para habilitar la tarjeta de video, entonces el archivo que contiene toda la configuración sobre nuestra tarjeta de video se encuentra dentro de /System/Library/Extensions/Natit.kext. Seleccionen el kext, y con la opción &#8220;Show Package Contents&#8221; naveguen a Contents/info.pl de tal manera que la ruta completa es:</p>
<blockquote><p>/System/Library/Extensions/Natit.kext/Contents/info.pl</p></blockquote>
<p>El archivo puede ser editado con cualquier editor de texto. Así que aproximadamente en la línea 61 se van a encontrar con lo siguiente:</p>
<blockquote><p>&#60key&#62VRAM,totalsize&#60/key&#62<br />
&#60data&#62<br />
AAAAQA==<br />
&#60/data&#62</p></blockquote>
<p>Ese valor AAAAQA== de alguna manera sabemos que significa 1024, ya que es el valor que se le pasa al sistema operativo como VRAM. Para saber qué es realmente, hay que decodificarlo. En la terminal:</p>
<blockquote><p>Cesars-Mac-Pro: cesar$ echo &#8220;AAAAQA==&#8221; | base64 -D > decoded</p></blockquote>
<p>El programa base64 hace precisamente eso: codificar y decodificar cadenas usando base64, así que le pasamos el valor codificado y usamos la opción -D que es decodificar, finalmente la salida la guardamos en un archivo llamado decoded (para eso es el > decoded). Es necesario guardar la salida en el archivo porque la salida de base64 la da en formato ASCII, sin embargo eso no es lo que buscamos. Verán, los valores que vemos en el archivo plist son cadenas codificadas en base64, pero de datos en hexadecimal y no valores ASCII como lo interpreta la salida de base64.</p>
<p>De hecho, si vemos el archivo decoded:</p>
<blockquote><p>Cesars-Mac-Pro: cesar$ cat decoded<br />
?Cesars-Mac-Pro: cesar$</p></blockquote>
<p>¿Ven el signo ? que se agrega al inicio de la segunda línea? Ese es el contenido del archivo decoded. Bueno, de hecho ese es el único caracter imprimible del archivo decoded, en realidad hay otros 2 bytes que no se traducen a nada en ASCII, y por lo tanto no son imprimibles. Para ver el contenido en hexadecimal como nos interesa está hexdump en la terminal:</p>
<blockquote><p>xxd decoded<br />
0000000: 0000 0040                                &#8230;@</p></blockquote>
<p>Como vemos, el valor son 4 bytes: 0000 0040. Ese 0040 es el que debemos cambiar. ¿Pero por cual valor? Un poco de zen cracking me dice que por 0000 0080 ya que 8 es el doble de 4, y 2048 es el doble de 1024. Pero necesitamos mayor evidencia antes de hacer un cambio de este tipo, y gracias a la comunidad hackintosh todo se aclara en http://forum.netkas.org/index.php?topic=222.0</p>
<blockquote><p>32 &#8211; 0&#215;02000000<br />
64 &#8211; 0&#215;04000000<br />
128 &#8211; 0&#215;08000000<br />
256 &#8211; 0&#215;10000000<br />
320 &#8211; 0&#215;14000000<br />
512 &#8211; 0&#215;20000000<br />
640 &#8211; 0&#215;28000000<br />
768 &#8211; 0&#215;30000000<br />
1024 &#8211; 0&#215;40000000</p></blockquote>
<p>Estos son los posibles valores para el tamaño de la memoria, pero solo llega hasta 1024. Siguiendo la lógica:</p>
<blockquote><p>
512 &#8211; 0&#215;200<br />
1024 &#8211; 0&#215;400<br />
2048 &#8211; 0&#215;800
</p></blockquote>
<p>Así que ya tenemos confirmación. Ahora tenemos que editar el archivo decoded pero en hexadecimal. Yo uso un editor llamado <a href="http://ridiculousfish.com/hexfiend/">Hex Fiend</a> pero pueden usar cualquier editor hexadecimal (como <a href="http://www.suavetech.com/0xed/0xed.html">0xED</a>) y cambien ese 0040 por 0080, de tal manera que cuando verifiquen en la terminal de nuevo, salga algo como lo siguiente:</p>
<blockquote><p>xxd decoded<br />
0000000: 0000 0080                                &#8230;.</p></blockquote>
<p>Ahora lo que resta es codificarlo de vuelta a base64 y ver que tenemos de regreso. En la terminal:</p>
<blockquote><p>base64 -i decoded -o result</p></blockquote>
<p>Lo que nos da finalmente el resultado que buscamos:</p>
<blockquote><p>cat decoded<br />
AAAAgA==</p></blockquote>
<p>Esa cadena, AAAAgA== es la que tenemos que poner en vez de AAAAQA== ¿Pero en donde? en Natit.kext, sin embargo tenemos que hacer el cambio en el kext que aún no se encuentra en /System/Library/Extensions/ o sea, el que descargaron originalmente. Supongamos que descargamos el paquete de la guía de OSx86 a nuestro directorio home, entonces tendremos algo como:</p>
<blockquote><p>~/[NEW]GT430[1GB].by.KemalALKIN/[NEW]Natit/Natit.kext</p></blockquote>
<p>Y ese es el kext que debemos editar. Una vez editado, ejecutamos ka Kext Utility (también incluída en el paquete), reiniciamos y eso es todo.</p>
<p><a href="http://www.geekandroll.com/wpress/wp-content/uploads/2012/03/Screen-Shot-2012-03-09-at-10.33.51-PM.png"><img src="http://www.geekandroll.com/wpress/wp-content/uploads/2012/03/Screen-Shot-2012-03-09-at-10.33.51-PM-300x172.png" alt="About this mac" title="About this mac" width="300" height="172" class="aligncenter size-medium wp-image-1757" /></a></p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/03/hackintosh-como-habilitar-los-2-gb-en-ram-en-una-nvidia-gt-430/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/03/hackintosh-como-habilitar-los-2-gb-en-ram-en-una-nvidia-gt-430/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/03/hackintosh-como-habilitar-los-2-gb-en-ram-en-una-nvidia-gt-430/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[La importancia del Distributed Hash Table y los Magnet Links]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/1jbQzGSjk1E/" />
		<id>http://www.geekandroll.com/?p=1741</id>
		<updated>2012-01-21T18:41:01Z</updated>
		<published>2012-01-21T18:41:01Z</published>
		<category scheme="http://www.geekandroll.com" term="ciencia" /><category scheme="http://www.geekandroll.com" term="internet" />		<summary type="html"><![CDATA[&#8230; O por qué el .torrent debe morir y dar paso al siguiente escalón evolutivo.
Recientemente The Pirate Bay, uno de los sitios con más cojones que existe en el planeta, anunció que relegaría el uso de archivos .torrent y se enfocaría principalmente en los llamados magnet links. Sus argumentos son muy válidos, e inmediatamente se [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2012/01/la-importancia-del-distributed-hash-table-y-los-magnet-links/"><![CDATA[<p><em>&#8230; O por qué el .torrent debe morir y dar paso al siguiente escalón evolutivo.</em></p>
<p>Recientemente <a href="http://www.thepiratebay.com">The Pirate Bay</a>, uno de los sitios con más cojones que existe en el planeta, <a href="http://thepiratebay.org/blog/197">anunció que relegaría el uso de archivos .torrent</a> y se enfocaría principalmente en los llamados <em>magnet links</em>. Sus argumentos son muy válidos, e inmediatamente se dejaron venir olas de desinformación. Que si The Pirate Bay habían doblado las manitas y cedieron ante la presión de alguna organización. Que si SOPA. Que si PIPA. Que si es el fin del mundo como lo conocemos, o por lo menos del P2P facilitado por el protocolo Bittorrent.</p>
<p>Nada de eso puede estar más alejado de la verdad. Como todo, el uso de la Distributed Hash Table (DTH) y Magnet Links sobre los ya tradicionales archivos .torrent tiene sus ventajas y desventajas que es lo que precisamente vamos a explorar aquí.</p>
<p>Durante mis estudios de maestría, hice investigación en el tema de las redes inalámbricas de sensores (WSN por sus siglas en Inglés) y cómo múltiples dispositivos de bajo poder de procesamiento, podían colaborar para cubrir una área extensa. Esto tiene retos interesantes muy bien documentados en la literatura, pero una de las cosas que más llamó mi atención es la diseminación de datos entre los pares que forman la red. Estamos hablando de una red creada impromptu, sin infraestructura previa, que necesita compartir datos de manera continua. Tal vez definirla como una red P2P tenga sentido, pero quiero dejar al lado las connotaciones negativas que arrastra este término, similar a lo que sucede con &#8220;Pirata&#8221; o &#8220;Nazi&#8221;. <span id="more-1741"></span></p>
<p>En aquella época pensaba en una WWW descentralizada. La arquitectura actual de Internet ha pasado la prueba de escalabilidad: millones de nodos conectados, compartiendo millones y millones de paquetes. Además, cualquiera puede entrarle al juego, conectarse y compartir. Sin embargo uno de los servicios clave de Internet, o por lo menos de los más populares, es completamente centralizado. Estoy hablando de la Web y protocolos relacionados. La &#8220;simplicidad&#8221; en la arquitectura de la Web es tanto su mayor bendición, como su talón de Aquiles ya que la hace altamente vulnerable a distintos ataques. Los ataques de negación de servicio (DoS, infames ahora gracias en parte al colectivo Anonymous) son un ejemplo claro, aunque en este caso la solución no está al nivel de la implementación de la Web, sino dos capas más abajo (o 3 si consideran HTTP como capa de aplicación o de presentación) en la capa de transporte. </p>
<p>Otro ataque menos complejo (y menos efectivo) es el que enmarca la referida como ley &#8220;SOPA&#8221;. Esto no es más que eliminar el registro DNS de un sitio determinado. Una vez que esta eliminación sea diseminada en la mayoría de los servidores DNS que forman la World Wide Web, prácticamente nadie podría acceder al sitio atacado via URL. El sitio seguiría existiendo y sería accesible via IP, solo el nombre que hace referencia al sitio dejaría de funcionar. Una Web descentralizada resolvería estos problemas; una Web que no dependiera de un solo servidor central para operar. Donde fuera posible hacer privadas secciones de la Web, o conectarlas a la nube para formar parte de la Web pública. Donde todo, desde la resolución de nombres hasta las peticiones HTTP se basen en un protocolo P2P y no en un servidor central. Una Web imposible de censurar, controlada por todos y por nadie. Una Web apoyada en redes centradas al contenido como fue propuesto por Ted Nelson e investigado por Van Jacobson.</p>
<p><strong>Lo que tenemos actualmente</strong><br />
Internet no fue concebido para una Web de tal naturaleza. En sus orígenes, Internet fue concebido para habilitar la transferencia de datos no solo entre computadoras incompatibles, sino también entre distintas redes de computadoras. Esta red de redes proporciona un medio adecuado para la comunicación de datos entre dos computadoras que se encuentran, posiblemente, distribuídas alrededor del mundo. Sin embargo, con el uso masivo que se le da a Internet actualmente, el problema básico que se trató de solucionar con la arquitectura de Internet ha cambiado. El nuevo modelo de uso de Internet impone otro tipo de retos a la arquitectura unicast y multicast sobre la que está basado, caracterizándose por: </p>
<ul>
<li>Contar con un gran número de clientes autónomos comunicándose entre sí (hasta el punto de agotar las direcciones IPv4).</li>
<li>Variar el número de clientes en cualquier momento (Móviles, Tablets, Consolas y Refrigeradores, todos conectándose a la red).</li>
<li>Contar con una distribución geográfica amplia.</li>
<li>Contar con patrones de interacción entre los clientes dinámicos e impredecibles (como Twitter cuando hay un desastre natural o un evento inesperado).</li>
<li>Generar tráfico en grandes cantidades.</li>
</ul>
<p>Ejemplos de aplicaciones que utilizan a Internet con este <em>nuevo modelo</em> incluyen aplicaciones Web populares, redes de intercambio de información, agregadores de noticias, redes inalámbricas de sensores, descubrimiento de servicios y juegos masivos multijugador, entre otras. ¿Qué tienen en común estas aplicaciones? que el flujo de comunicación se determina por los intereses específicos de quien recibe información, contrario a lo que sucede actualmente en Internet, donde se utiliza una dirección específica asignada por quien envía los datos.</p>
<p>Van Jacobson propone una red en donde cualquier dispositivo que pueda mover datos, y tenga datos válidos, tenga la oportunidad de atender la petición. En dicha red se eliminan dos cosas:</p>
<ol>
<li>La rigidez de la pila TCP/IP. Si un punto final de la comunicación entre A y B es eliminado, todos los puntos intermedios se reconfiguran automáticamente para seguir moviendo datos.</li>
<li>El flujo de datos se determina por intereses y no por direcciones IP. Esto ayuda a eliminar la congestión por peticiones muy populares. Una petición muy popular puede ser el disco mas reciente de la banda en el último grito de la moda, o dos millones de script kiddies atacando a la víctima de la semana de Anonymous.</li>
</ol>
<p>Actualmente existen aplicaciones que implementan algunas de las ideas expuestas en la teoría de redes centradas al contenido. Estas aplicaciones crean una capa sobre la red existente (denominada <em>overlay</em>) y proporcionan servicios orientados al contenido, utilizando como transporte a la pila TCP/IP. Uno de estos overlays es precisamente <strong>Bittorrent</strong>.</p>
<p><strong>Bittorrent como overlay centrado al contenido</strong><br />
Bittorrent es un protocolo de aplicación, es decir forma parte de la <a href="http://es.wikipedia.org/wiki/Modelo_OSI">capa 6 en el modelo OSI</a>. Bittorrent sirve para la distribución de archivos de gran tamaño <strong>sin la necesidad de un repositorio central</strong>. ¿Suena conocido?  Los clientes inician una transferencia conectándose a un servidor central, que les comparte información de otros clientes que se encuentran compartiendo el mismo archivo. Una vez obtenida esta información, los clientes se conectan entre si para iniciar la transferencia.</p>
<p>Analicemos un poco más de cerca cómo se inicia una transferencia:</p>
<ol>
<li>El cliente descarga un archivo (el .torrent) que contiene metadatos sobre los archivos a transferir, y la localización de uno o más servidores a los cuales el cliente se debe conectar para obtener información sobre otros clientes descargando el mismo archivo.</li>
<li>El cliente lee el .torrent y se conecta a los servidores ahí listados (el tracker).
<li>Al conectarse a un tracker, este envía información sobre otros clientes interesados en el mismo archivo.</li>
<li>El cliente recibe la información enviada por el tracker, y se conecta a los otros clientes interesados en el mismo archivo.</li>
<li>Los clientes comienzan a compartir el archivo sin intervención del tracker.</li>
</ol>
<p>El overlay creado por los nodos participantes en una transferencia Bittorrent forman una arquitectura híbrida descentralizada, en donde el tracker facilita la comunicación entre los distintos clientes. Una vez que varios clientes se conectan entre si, se elimina la necesidad del tracker siempre y cuando los clientes mantengan su conexión. Si eliminas el tracker, ningún otro cliente puede unirse a la red formada por los clientes conectados (llamada swarm o enjambre).</p>
<p>Ya podemos determinar dos puntos críticos de Bittorrent:</p>
<ol>
<li>La dependencia del tracker. Sin este servidor central, otros clientes no pueden unirse al enjambre y no pueden iniciarse otras transferencias.</li>
<li>La dependencia del .torrent para obtener información del tracker. Este es un punto crítico ya que los archivos deben ser encontrados y descargados por los clientes para iniciar así una transferencia. Ya se ha probado (por medio de demandas a The Pirate Bay y otros) que el simple hecho de indexar y facilitar archivos .torrent es peligroso (legalmente hablando) aún cuando en tu servidor no se encuentre ningún archivo con copyright. Tener metadatos (pero no los datos mismos) de localizaciones de servidores con clientes que se encuentran descargando archivos con copyright, es suficiente para hacerte acreedor a una demanda. No se diga ya hostear un tracker&#8230;</li>
</ol>
<p><strong>Mejorando Bittorrent. Magnet Links y Distributed Hash Table.</strong><br />
Eliminando los dos puntos críticos expuestos anteriormente, Bittorrent se convierte en un overlay completamente descentralizado. ¿Pero cómo pueden encontrarse los clientes entre ellos, sin la existencia de un servidor central que los coordine? Tanto los Magnet Links como la Distributed Hash Table (DHT) juegan un papel determinante en la descentralización de Bittorrent.</p>
<p>El concepto de una DHT no es nuevo, su investigación y desarrollo fue motivado en parte por las redes P2P como GNUtella y Napster. Dos aproximaciones muy distintas al mismo problema:</p>
<ul>
<li>Los clientes de Napster, al conectarse enviaban al servidor una lista con los archivos compartidos. Las búsquedas se realizaban en el servidor único y dirigían al autor de la búsqueda hacia el nodo que contenía el recurso compartido.</li>
<li>Los clientes de GNUtella, en vez de enviar la búsqueda a un único servidor central, utilizaban un mecanismo de flooding o &#8220;inundación&#8221; que enviaba la búsqueda a todos los nodos de la red. Esto evita el servidor central, pero es mucho menos eficiente.</li>
</ul>
<p>Bittorrent adoptó una DHT para sustituir o complementar el tracker. De hecho, algunos clientes Bittorrent permiten al usuario evitar el uso del tracker, y solo recibir clientes que vengan directamente de la DHT. La implementación de la DHT de Bittorrent es basada en <a href="http://en.wikipedia.org/wiki/Kademlia">Kademlia</a>. Los nodos que forman el overlay se comunican utilizando UDP y son asignados un ID, y es este mismo ID el que es utilizado por la red para localizar el valor buscado (usualmente un hash de un archivo). Las búsquedas son restringidas a <em>O(log(n))</em> nodos, por aquello de la eficiencia.</p>
<p>Todo bien, pero aún es necesario que un cliente se conecte al enjambre formado por la DHT. A esto se le conoce como proceso de inicialización o <em>bootstrap</em>. En esta fase, el cliente necesita conocer la dirección IP de alguno de los nodos participantes, quien se encargará de diseminar el ID del nuevo nodo al resto de la red.</p>
<p>Aún eliminando la necesidad del tracker con la DHT, queda el inconveniente del proceso de inicialización, para lo cual el .torrent sigue siendo necesario. Para solucionar este inconveniente se desarrollaron los Magnet Links. Un Magnet Link en realidad es un esquema URI nuevo. ¿Un que? Un esquema URI se refiere a la estructura para nombrar recursos de manera uniforme. Seguramente se habrán topado con direcciones como file:, news:, http:, ftp:, mailto:, entre otros. Bueno pues esto forma parte de un esquema de nombramiento regulado por la IANA, y tiene una estructura fija.</p>
<p>Entonces, el esquema URI Magnet forma lo que llamamos Magnet Links, que son utilizados principalmente para referirnos a recursos disponibles para ser descargados de redes P2P. Un Magnet Link, contrario a un link regular, apunta a un archivo basado en su contenido o metadatos y no en donde se encuentra el archivo. Si encontramos similitudes con el contenido de un archivo .torrent, no es ninguna casualidad. Al igual que la investigación y el desarrollo de las DHT, el esquema Magnet fue desarrollado como parte de otros esquemas URIs utilizados en los proyectos <a href="http://en.wikipedia.org/wiki/EDonkey2000">eDonkey2000</a> (esquema ed2k:) y <a href="http://en.wikipedia.org/wiki/Freenet">Freenet</a> (esquema freenet:).</p>
<p>Un Magnet Link contiene uno o mas parámetros, que le indican al cliente de donde iniciar la descarga. Por ejemplo, un link puede contener el nombre del archivo, su tamaño en bytes, el hash del archivo, un link Web tradicional que se considere aceptable para descargar el archivo, palabras clave para realizar búsquedas del archivo, la dirección de un tracker Bittorrent, entre otras cosas. Ventajas del uso de magnet links sobre archivos .torrent es que pueden ser compartidos simplemente copiando y pegando el text en correos o mensajería instantánea, en comparación de los archivos .torrent en donde se tiene que enviar el archivo para iniciar la transferencia.</p>
<p><strong>The Pirate Bay elimina el uso de .torrent</strong><br />
Lo que nos lleva finalmente a la decisión de The Pirate Bay de dejar de ofrecer archivos .torrent como fuente de información principal (los .torrent siguen estando disponibles, pero no son la opción por defecto) para conectarse a un enjambre, favoreciendo a los Magnet Links.</p>
<p>La decisión anterior les ahorra mucho ancho de banda ya que no se tienen que descargar archivos .torrent. Además los Magnet Links son mas difíciles de bloquear, y aún no se ha probado en la corte que tener Magnet Links en una página sea algo ilegal (aunque seguramente no tardarán en probarlo).</p>
<p>Pero mucho más importante que esto es el paso que se da hacia un overlay completamente descentralizado, en donde no sea necesario el tracker ni el uso de archivos .torrent por los usuarios (en realidad el protocolo Bittorrent depende de los archivos .torrent, pero usando Magnet Links los usuarios no tienen que descargar el archivo manualmente). Si, sigue existiendo la necesidad de un directorio en donde se puedan buscar Magnet Links, y el bootstrap es mas lento, pero el ahorro de ancho de banda, además de descentralizar la localización del .torrent justifica su uso.</p>
<p><strong>Conclusión</strong><br />
Como vemos, es posible actualmente usar Bittorrent para compartir archivos de gran tamaño de manera descentralizada. Esto tiene la gran ventaja de ser menos propenso a ataques de censura (como SOPA y PIPA) y permite distribuir la carga de distribución entre los mismos clientes, en vez de en un solo servidor central.</p>
<p>En mi opinión, el futuro de la red es hacia una red completamente descentralizada, centrada al contenido. Ya sea implementada a nivel físico, o como un overlay sobre la existente. Las redes centradas al contenido se presentan como una evolución a la estructura tradicional de las redes actuales. No es que la solución actual (el protocolo TCP/IP) no sirva, sino que el problema original ha cambiado. La necesidad actual es una forma de diseminar datos y no de simplemente tener conversaciones entre dos puntos finales. La diferencia entre <em>diseminación</em> y <em>conversación</em> es que una diseminación puede ser uno a uno, uno a muchos o muchos a muchos. Claramante se observa que una conversación es solamente un caso especial (uno a uno) de una diseminación.</p>
<p>Una red centrada al contenido como la que propone Jacobson soluciona, por diseño, muchos de los problemas con los que se enfrenta Internet actualmente (siendo la censura uno de ellos). El hecho de que los datos mismos puedan ser validados y no se dependa de la seguridad del canal por el cual fueron transmitidos permite una diseminación <em>oportunista</em>, es decir, una red en donde cualquier dispositivo capaz de mover datos puede y será utilizado. La diseminación oportunista haría prácticamente imposible situaciones como la negación de servicio por parte de proveedores de Internet, o la eliminación de la neutralidad de Internet. Los usuarios se vuelven <em>administradores</em> de sus propios canales de comunicación, ya que pueden solicitar solo aquel contenido que le interesa, y la prioridad de éste (<em>deseo obtener el correo electrónico de mi lugar de trabajo, y el noveno juego de la serie mundial de béisbol</em>). La habilidad de definir solamente el contenido de interés elimina ataques del tipo negación del servicio ya que los altos volúmenes de tráfico no solicitado nunca llegarían a los canales de comunicación de la víctima si éste no lo solicita explícitamente.</p>
<p><strong>A lo largo de la historia, hemos visto como la guerra impulsa a la ciencia. Por un Internet libre, abierto, neutro y sin censura.</strong></p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2012/01/la-importancia-del-distributed-hash-table-y-los-magnet-links/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2012/01/la-importancia-del-distributed-hash-table-y-los-magnet-links/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2012/01/la-importancia-del-distributed-hash-table-y-los-magnet-links/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Cesar</name>
						<uri>http://www.cesarolea.com</uri>
					</author>
		<title type="html"><![CDATA[G&amp;R Labs: Rocksmith (PS3)]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/geekandroll/~3/_q86MR0nahw/" />
		<id>http://www.geekandroll.com/?p=1739</id>
		<updated>2011-11-22T05:10:12Z</updated>
		<published>2011-11-22T05:10:12Z</published>
		<category scheme="http://www.geekandroll.com" term="G&amp;R:L" /><category scheme="http://www.geekandroll.com" term="entretenimiento" /><category scheme="http://www.geekandroll.com" term="gadgets" />		<summary type="html"><![CDATA[Rocksmith que promete ser la evolución natural de los juegos de ritmo, con una diferencia muy interesante: el gancho no son trofeos virtuales, o un 100% en la dificultad más alta. El gancho y recompensa es el aprender a tocar la guitarra.
Apenas llevo un día con el juego/tutor de guitarra y esta es mi experiencia [...]]]></summary>
		<content type="html" xml:base="http://www.geekandroll.com/2011/11/gr-labs-rocksmith-ps3/"><![CDATA[<p><a href="http://rocksmith.ubi.com/rocksmith/en-US/home/">Rocksmith </a>que promete ser la evolución natural de los juegos de ritmo, con una diferencia muy interesante: el gancho no son trofeos virtuales, o un 100% en la dificultad más alta. El gancho y recompensa es el aprender a tocar la guitarra.</p>
<p>Apenas llevo un día con el juego/tutor de guitarra y esta es mi experiencia con la versión para PS3. Lo primero que haces es meter el juego en la consola y&#8230; claro, hay que descargar una actualización. 11 MB después ya puedes ver la pantalla de inicio del juego, que incluye un video en donde se ve a una persona tocando la guitarra nota por nota empezando en un nivel muy básico y progresando hasta un nivel decente, lo cual en la vida real lleva años de práctica y dedicación. El video hace un buen trabajo en animarte a tomar el juego y dedicarle tiempo, <em>hype </em>si asi lo quieren.</p>
<p>Lo que sigue es conectar la guitarra. El paquete del juego incluye instrucciones de como es mejor conectar todo para evitar el lag, desde los pickups de la guitarra hasta las bocinas de la TV o el sistema de sonido que tengan conectados a la TV. La mejor opción es usar HDMI para el video, pero solo para el video. El audio conectarlo ya sea por cables compuestos, y de preferencia a un teatro en casa o sistema de sonido externo. En mi caso lo tengo conectado de la salida óptica del PS3 al sistema de sonido externo, y el lag es práticamente negligible.</p>
<p>El paquete incluye el llamado <em>Real Tone Cable</em>, que es el que conecta la guitarra a la consola. La longitud del cable es adecuada, y se siente bastante profesional, no como algo de juguete. Si creían que no se podía tener más periféricos, esperen a tener una guitarra real conetada a su consola. Al inicio del juego te indica que no conectes nada extra entre tu guitarra y la consola, es decir el cable debe ir directo de la guitarra al PS3. Después te pide que selecciones entre derecho o zurdo y si el headstock de tu guitarra es de 3+3 o de 6 en línea, con imágenes descriptivas por si no sabes de lo que estoy hablando.</p>
<p>Entonces si, viene lo bueno. Primero te dice como agarrar el pick, pero como en 2 segundos lo cual no es suficiente porque siendo un novato tienes muchas dudas sobre cual es la manera correcta de agarrarlo, o por lo menos así fue en mi caso. Luego te indica el concepto de nota, fret, nota abierta y te hace tocar un riff, que luego te das cuenta que es el famoso riff de <a href="http://www.last.fm/music/The%2520Rolling%2520Stones/_/(I%2520Can't%2520Get%2520No)%2520Satisfaction?ac=Satisfaction">(I can&#8217;t get no) Satisfaction</a> por los Rolling Stones, así que si conoces la canción te emocionas porque crees que ya sabes y estas listo para rockear a lo grande.</p>
<p>El juego es difícil, pero así es como debe de ser. Aquí no puedes aventarte una canción sin conocerla y sacarla perfecta como en Guitar Hero o Rock Band. Recuerda que estas tocando guitarra real, así que lo mas recomendable es ir paso a paso, practicar la canción hasta que los riffs y los acordes salgan decentes y de hecho te memorices las partes, de otra manera es casi imposible improvisar y mover tu mano a los frets correspondientes.</p>
<p>En mi caso tuve algunas ocaciones en las que el juego no detectaba correctamente la nota. Es decir, el juego me pedía el tercer fret de Mi (o la cuerda E para los gringos) y presionaba eso precisamente, pero el juego lo detectaba como una nota más arriba, o más abajo, lo cual hace las cosas muy frustrantes. En modo práctica pasa más seguido al grado que hace imposible pasar la práctica. Leyendo en los foros me entero que la tonalidad puede afectar, o el treble, así que intentaré moverle a todos los switches y potenciómetros de mi guitarra a ver si puedo arreglarlo. Me gustaría tener la oportunidad de probarlo con otra guitarra, a ver si el efecto es el mismo.</p>
<p>Cuando menos lo pensé, ya tenía 2 horas de práctica en la guitarra. Creo que Rocksmith cumple con su cometido de una manera excelente. Falta ver los resultados, pero en un par de iteraciones más, yo veo una potencial revolución en la manera en la que se enseña a tocar guitarra. Si se complementa con algo más serio como videos que muestren técnicas al tiempo que el software califica tu ejecución, creo que existe la posibilidad de lecciones interactivas que no aburran.</p>
<p>¿Veredicto? Si son aficionados a la guitarra, probablemente ya tengan una en su casa. Si nunca han podido dominarla y solo la tienen agarrando polvo, van a disfrutar mucho Rocksmith. No es un juego de fiesta como Guitar Hero o Rock Band, necesita tiempo y dedicación. Piensen en Rocksmith como lecciones virtuales entretenidas.</p>
<p>Rock on!</p>
]]></content>
		<link rel="replies" type="text/html" href="http://www.geekandroll.com/2011/11/gr-labs-rocksmith-ps3/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.geekandroll.com/2011/11/gr-labs-rocksmith-ps3/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.geekandroll.com/2011/11/gr-labs-rocksmith-ps3/</feedburner:origLink></entry>
	</feed>
