<?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>stenyak.com &#187; es</title>
	<atom:link href="http://www.stenyak.com/archives/category/es/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stenyak.com</link>
	<description>porque a veces uno se aburre...</description>
	<lastBuildDate>Mon, 30 Jan 2012 10:38:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Zonas horarias, DST, Desplazamientos y otras zarandajas</title>
		<link>http://www.stenyak.com/archives/1070/zonas-horarias-dst-desplazamientos-y-otras-zarandajas/</link>
		<comments>http://www.stenyak.com/archives/1070/zonas-horarias-dst-desplazamientos-y-otras-zarandajas/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 13:48:10 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=1070</guid>
		<description><![CDATA[[ Ir a la parte 1 de 2: "Sobre la Hora Universal y los relojes atómicos (o qué tienen en común el TomTom y unos trigales)" ] Continuamos desentrañando el misterio de las horas, orientando la explicación principalmente a programadores. Hemos establecido qué sistemas de medición de la hora existen. También hemos visto que el estandard de [...]]]></description>
			<content:encoded><![CDATA[<p>[ <a class="vt-p" href="http://www.stenyak.com/archives/1004/sobre-la-hora-universal-y-los-relojes-atomicos-o-que-tienen-en-comun-el-tomtom-y-unos-trigales/"><strong>Ir a la parte 1 de 2</strong>: "Sobre la Hora Universal y los relojes atómicos (o qué tienen en común el TomTom y unos trigales)"</a> ]</p>
<p>Continuamos desentrañando el misterio de las horas, orientando la explicación principalmente a programadores.</p>
<p>Hemos establecido qué sistemas de medición de la hora existen. También hemos visto que el estandard de facto es UTC, y por buenas razones.</p>
<p>Y ahora vamos a ver como se pueden representar esas horas en una aplicación.</p>
<blockquote><p>A efectos prácticos, en este artículo voy a llamar &#8220;<em><strong>hora</strong></em>&#8221; al conjunto de &#8220;<em><strong>fecha+hora</strong></em>&#8220;.</p></blockquote>
<p>&nbsp;</p>
<h1>Conceptos básicos</h1>
<h2>Repaso de UTC</h2>
<p>Quedabamos en que UTC es una hora universal, que trata de indicar <strong>la hora del planeta</strong> Tierra en general. No está ligado a ningún país en concreto, ni a ningún continente, sino al planeta entero: España no tiene horas UTC. Argentina no tiene horas UTC. El planeta Tierra sí que tiene horas UTC.</p>
<p>Si en una hora UTC particular es pleno día en España, entonces en esa misma hora UTC será noche cerrada en sus antípodas; y será el amanecer o el anochecer si nos quedamos a medio camino entre ambos puntos.</p>
<p><strong>UTC no sufre saltos</strong> [*], sino que avanza siempre a una velocidad constante. Porque el planeta Tierra tampoco sufre saltos ni rotaciones bruscas en ningún momento (menos mal <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> ).<br />
<span style="color: #808080;">[*] <span style="color: #808080;"><a href="http://www.stenyak.com/archives/1004/sobre-la-hora-universal-y-los-relojes-atomicos-o-que-tienen-en-comun-el-tomtom-y-unos-trigales/">Técnicamente sí (tiene saltos por debajo del segundo)</a></span>, pero se puede ignorar perfectamente para este artículo.</span></p>
<p>&nbsp;</p>
<h2>Hora Local (Local Time)</h2>
<p>Los habitantes de este planeta estamos acostumbrados a hablar en términos locales. Yo, como habitante de Madrid, puedo decir &#8220;Me levanto a trabajar a las 07:00&#8243;. Un japonés, a su vez, puede decir &#8220;Yo también me levanto a trabajar a las 07:00&#8243;. Pero obviamente no hablamos de la misma hora UTC, sino de una hora &#8220;local&#8221;.</p>
<p>Trabajar con horas locales <strong>puede ser complicado</strong>, por ejemplo cuando el locutor se desplaza de sitio. Si despegas de Madrid a las 10:00 (hora local madrileña), vuelas 10 horas, y aterrizas en Miami, la hora local de Miami no serán las 20:00, sino otra, que hay que calcular <strong>en base a unos cuantos factores</strong>.</p>
<p>En cambio, si despegas a las 10:00 UTC, <strong>sí</strong> que aterrizas a las 20:00 UTC.</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2012/01/clock.jpg"><img class="aligncenter size-medium wp-image-1097" title="" src="http://www.stenyak.com/wp-content/uploads/2012/01/clock-300x230.jpg" alt="" width="300" height="230" align="center" /></a></p>
<h2>Desplazamiento (Offset)</h2>
<p>El offset es, literalmente, la siguiente resta matemática: <strong>hora local</strong> &#8211; <strong>hora UTC</strong>.</p>
<p><strong>Por ejemplo</strong>: La hora local actual en Madrid es finales de Enero a las 20:00. La hora UTC actual en el planeta es finales de Enero a las 19:00 UTC. Por tanto, 20:00 &#8211; 19:00 = 01:00 de offset.</p>
<blockquote><p><strong>Inciso sobre el Horario de Verano:</strong></p>
<p>El Horario de Verano, como sabeis, tiene como objetivo reducir el consumo eléctrico, tener más luz durante las horas laborales, etc (al margen de que se consigan o no dichos propósitos <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> ).</p>
<p>Consiste en mover las manecillas de los relojes locales de un país, para atrasar o adelantar la hora local durante unos meses determinados, cada año.</p>
<ul>
<li>Lo típico es atrasar o adelantarlo 1h, pero en algunos paises es 30 minutos.</li>
<li>Cada país lo puede aplicar durante unos meses diferentes: de marzo a octubre, de abril a septiembre&#8230; Los días exactos también pueden variar.</li>
<li>En muchos países ni siquiera se aplica el Horario de Verano.</li>
</ul>
<p>En cualquier caso, el offset <strong>ya</strong> lleva incluído el horario de verano cuando se usa, puesto que el offset se obtiene restando la hora local (que ya lleva aplicado el cambio horario) y la hora UTC.</p></blockquote>
<p><strong>Otro ejemplo</strong>: En Agosto de este año se habrá aplicado el horario de verano en Madrid, por lo que el offset no será 01:00h sino 02:00h.</p>
<p>El offset de una localización geográfica puede variar tanto a lo largo de un mismo año, como hemos visto, pero también <strong>a lo largo de varios años</strong>. Por ejemplo:</p>
<ul>
<li>Antes del 1901, cada provincia española tenía su propia hora local, en base a su meridiano concreto. Ahora ya no.</li>
<li>En el 1918, en España se decide <strong>empezar a aplicar el horario de verano</strong>, que nunca antes se había utilizado. El offset ya no es el mismo todo el año, sino que aumenta 1h en verano (como en el presente).</li>
<li>El 16 de Marzo de 1940, España decide incrementar todos sus relojes en una hora: el offset pasa de 0h a 1h en invierno, y de 1h a 2h en verano. (se <strong>ha cambiado la zona horaria</strong>, que explico más abajo)</li>
<li>Si varios paises con diferentes horas locales <strong>eliminan sus fronteras políticas</strong> para unirse en un solo país, seguramente modifiquen sus horas locales para coincidir en todo el territorio (variando por tanto el offset).</li>
</ul>
<p>Por tanto, es perfectamente posible que dos países tengan el mismo offset durante algunos meses del año, pero difieran durante otros.</p>
<p>Dicho de otra forma: <em><strong>a partir de un offset, no se puede deducir en qué localización te encuentras, ni por tanto qué otros offsets existirán en otros momentos del año</strong></em>.</p>
<p><strong>Por ejemplo</strong>: Si no sabes si tu +01:00h actual es de Madrid o del Congo, no puedes saber si en Agosto será un +02:00h (caso de Madrid), o se mantendrá en +01:00h (caso de Congo, sin horario de verano).</p>
<p>&nbsp;</p>
<h2>Zona horaria (Time Zone, o TZ)</h2>
<p>Se dice que varias poblaciones están en una misma Zona Horaria, cuando desde el año <strong>1970</strong> han compartido <strong>siempre</strong> la misma<strong> hora local</strong>. La nomenclatura es &#8220;Area/Localización&#8221;.</p>
<div id="attachment_1098" class="wp-caption aligncenter" style="width: 360px"><a class="vt-p" href="http://en.wikipedia.org/wiki/List_of_tz_database_time_zones"><img class="size-full wp-image-1098" style="border-width: 4px; border-color: black; border-style: solid;" title="Time Zones Map" src="http://www.stenyak.com/wp-content/uploads/2012/01/tzdb.png" alt="" width="350" height="178" /></a><p class="wp-caption-text">Mapa de todos los TimeZones</p></div>
<p>No hay que confundir con los husos horarios, meridianos ni offsets. Son conceptos diferentes: &#8220;UTC+02:00&#8243; no es realmente una Zona Horaria, es un Offset respecto de UTC.</p>
<p>Por ejemplo: En España, desde el 1970 hasta ahora, han existido tres regiones que <strong>no siempre</strong> han compartido completamente las horas locales en todo momento. Las tres zonas horarias (o TZs) son:</p>
<ul>
<li><strong>Europe/Madrid</strong>: para la península y baleares principalmente.</li>
<li><strong>Atlantic/Canary</strong>: para el archipiélago canario.</li>
<li><strong>Africa/Ceuta</strong>: para Ceuta y Melilla.</li>
</ul>
<p>Actualmente, esas 3 timezones usan horario de verano, por lo que actualmente sus offsets respectivos de invierno son 1h, 0h y 1h; y los de verano 2h, 1h y 2h.</p>
<p>Cada TZ ha tenido un pasado diferente: algunos aplicaron el horario de verano durante 20 años, otros no lo aplicaron; unos tenian un offset de 5h, otros de 10h, etc.</p>
<p>Toda esa información se almacena en lo que se llama <strong><a class="vt-p" href="http://en.wikipedia.org/wiki/Tz_database">tz database</a></strong> (en castellano, base de datos de zonas horarias).</p>
<p>La <strong>tz database</strong> debe ser actualizada constantemente, reflejando los cambios horarios que se pueden producir a lo largo de los años.</p>
<p>&nbsp;</p>
<h1>Empieza el meollo de la cuestión</h1>
<p><img class="size-medium wp-image-1101 alignright" style="border-width: 4px; border-color: black; border-style: solid;" src="http://www.stenyak.com/wp-content/uploads/2012/01/flights-300x199.jpg" alt="" width="300" height="199" /><br />
Una vez que conocemos los conceptos básicos, podemos pasar a la acción:</p>
<p><em>¿En qué me influye todo eso a la hora de diseñar mi software?</em></p>
<p><em>¿Cómo gestiono las horas correctamente?<br />
¿Y si mi usuario vuela de España a la India y cambia el reloj de su portatil?<br />
¿Y si mi usuario quiere introducir la hora local de despegue y la hora local de aterrizaje en mi software de calendario?<br />
¿Y si mi software tiene varios usuarios simultáneos en diferentes zonas del mundo?</em></p>
<p>Una política habitual en el mundo de la programación es:</p>
<blockquote><p>&#8220;<strong><em>Almacena y procesa globlamente, muestra localmente</em></strong>&#8220;.</p></blockquote>
<p>Dicho de otra forma: elige un formato <strong>neutro</strong> para almacenar y operar sobre los datos, y preocúpate de las particularidades culturales cuando debas mostrar o recoger los datos de un usuario final.</p>
<blockquote><p>Recordemos que en este post se usa la palabra &#8220;<em>hora</em>&#8221; como abreviación de &#8220;<em>fecha+hora</em>&#8220;.</p></blockquote>
<p>&nbsp;</p>
<h2>&#8220;Almacena y procesa globalmente&#8221;</h2>
<p>Empecemos con un ejemplo sencillote:</p>
<blockquote>
<div>Tenemos una variable tipo <em>entero</em>, cuyo valor es 7 millones.</div>
<div>
<ul>
<li>El ordenador <strong>almacena y opera</strong> <strong>globalmente</strong>. Concretamente, usa el binario: <strong>00000000011010101100111111000000</strong>.</li>
<li>En cambio al <strong>mostrarlo</strong> en una hoja de cálculo, nos puede mostrar &#8221;<strong>7.000.000</strong>&#8220;, o bien &#8220;<strong>7,000,000</strong>&#8220;, o tal vez &#8220;<strong>7e6</strong>&#8220;, o incluso &#8220;<strong>######</strong>&#8220;, según el contexto <strong>local</strong> (dónde vivimos, tamaño de la celda, formato del número&#8230;).</li>
</ul>
</div>
</blockquote>
<div>De igual forma, la práctica apropiada suele ser <strong>almacenar y operar</strong> en Hora UTC, y <strong>mostrar</strong> en Hora Local.</div>
<div></div>
<div>Y no es porque sea <strong>conveniente</strong>, sino que muchas veces además es <strong>necesario</strong>. Por ejemplo:</div>
<blockquote><p>Tenemos una Hora Local, las 15:00 de un día de Enero. Se le quiere sumar casi medio año (24h*180días=4320h) a esa hora. ¿Cuál será la Hora Local resultante?:</p>
<ol>
<li>Las 15:00 hora local, como en la hora de partida.</li>
<li>Las 16:00 hora local, porque hay que aplicar el Horario de Verano.</li>
<li>Ninguna de las 2 anteriores.</li>
<li>Cualquiera de las 3 anteriores.</li>
</ol>
<p>Y la solución es <em>4) Cualquiera de las tres anteriores</em>, puesto que depende de la zona horaria:</p>
<ul>
<li>En el Moscú actual o el Madrid del año 1910, no hay horario de verano, luego sería <em>1) Las 15:00</em>.</li>
<li>En el Madrid actual hay horario de verano, luego sería <em>2) Las 16:00</em>.</li>
<li>En la Isla de Lord Howe hay horario de verano de 30m, en vez de la hora típica, luego sería <em>3) Las 15:30</em>.</li>
</ul>
</blockquote>
<p>Queda claro entonces que la única forma de operar correctamente con horas es pasarlas a UTC, operar sobre ellas y finalmente (si hace falta), convertirlas a la Hora Local de nuestra elección para mostrárselo al usuario final.</p>
<p>&nbsp;</p>
<h2>&#8220;Muestra localmente&#8221;</h2>
<p>Hemos establecido que, para la interfaz con el usuario final, necesitamos conversiones de UTC a Hora Local (al renderizar en pantalla) y viceversa (al aceptar datos del usuario)</p>
<p>Si habéis entendido perfectamente todo lo explicado hasta hora, se pueden deducir cuáles son las posibles conversiones <strong>inequívocas</strong> que podemos hacer:</p>

<table id="wp-table-reloaded-id-3-no-1" class="wp-table-reloaded wp-table-reloaded-id-3">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Para conseguir esto...:</th><th class="column-2">...puedes usar esto:</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Hora Local</td><td class="column-2"><b>UTC</b> con <b>TZ del usuario</b></td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">Hora Local</td><td class="column-2"><b>UTC</b> con <b>Offset del usuario en esa hora y lugar</b></td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">UTC</td><td class="column-2"><b>Hora Local</b> con <b>Offset del usuario en esa hora/lugar</b></td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">UTC</td><td class="column-2"><s><b>Hora Local</b> con <b>TZ del usuario</b></s> -- Imposible</td>
	</tr>
</tbody>
</table>

<div>Dos aspectos a destacar son:</div>
<h3>a) Almacenar el offset no vale para mucho</h3>
<div>Un offset solamente es válido para una hora concreta del año, en un lugar concreto del planeta.</div>
<div></div>
<div>Tal y como se explicó antes, en la <em>sección de Offset</em>: si solamente conocemos el Offset para una Hora Local, no podemos averiguar mágicamente a qué lugar (TimeZone) pertenece esa Hora Local.</div>
<div></div>
<div>Y por tanto, tampoco podemos calcular automágicamente el offset que habrá en otros momentos del año (o lo que es lo mismo, la Hora Local en otros momentos del año). Para ello <strong>necesitamos</strong> el TZ; no queda otra opción posible.</div>
<div></div>
<div>Así que en vez de almacenar, Hora Local + Offset, bien podríamos almacenar únicamente el UTC a secas.</div>
<h3>b) El usuario debería poder especificar el offset al introducir una hora</h3>
<div>Como veis en la tabla, la unica forma <strong>inequívoca</strong> de que el usuario introduzca una hora, es indicar también el offset <strong>de alguna forma</strong>.</div>
<div></div>
<div>Por ejemplo: si el usuario introduce la Hora Local &#8220;02:30&#8243;, necesitamos saber a <strong>cuál de las dos posibles &#8220;02:30&#8243;</strong> existentes se refiere (en caso de existir horario de verano en ese lugar).</div>
<div></div>
<div>Existen muchas formas de hacerlo:</div>
<div>
<ul>
<li>Un checkbox con el que marcar si la fecha va con DST o no.</li>
<li>Una dropdown con 25 o 23 elementos (horas), en vez de los 24 habituales.</li>
<li>Una mensaje de pregunta que únicamente saltará cuando se dé el caso de una hora ambigua.</li>
<li>Etc.</li>
</ul>
</div>
<div>Por ejemplo, esta es una forma que aconseja Microsoft si se utiliza su framework de .NET:  <a class="vt-p" title="How to: Let Users Resolve Ambiguous Times" href="http://msdn.microsoft.com/en-us/library/bb397782.aspx">MSDN &#8211; How to let users resolve ambiguous times</a></div>
<p>&nbsp;</p>
<div>Si <strong>no</strong> se da esa opción al usuario, <strong>el sistema informático deberá resolver la ambigüedad de forma arbitraria</strong>. Que en función del caso concreto, puede ser algo perfectamente aceptable (aunque siempre mejorable).</div>
<h1>Ultílogo</h1>
<div>Con esto terminamos la segunda y última parte del temario.<br />
Espero que hayais conseguido leer y entender hasta este punto, y no estéis aquí unicamente porque os haya llamado la atención eso de &#8220;<em>ultílogo</em>&#8221; <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .<br />
Con suerte el artículo ha sido de ayuda y os evitará bugs y quebraderos de cabeza en un futuro.</div>
<p>&nbsp;</p>
<div><strong>Happy coding!</strong></div>
<p>[ <a class="vt-p" href="http://www.stenyak.com/archives/1004/sobre-la-hora-universal-y-los-relojes-atomicos-o-que-tienen-en-comun-el-tomtom-y-unos-trigales/"><strong>Ir a la parte 1 de 2</strong>: "Sobre la Hora Universal y los relojes atómicos (o qué tienen en común el TomTom y unos trigales)"</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/1070/zonas-horarias-dst-desplazamientos-y-otras-zarandajas/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sobre la Hora Universal y los relojes atómicos (o qué tienen en común el TomTom y unos trigales)</title>
		<link>http://www.stenyak.com/archives/1004/sobre-la-hora-universal-y-los-relojes-atomicos-o-que-tienen-en-comun-el-tomtom-y-unos-trigales/</link>
		<comments>http://www.stenyak.com/archives/1004/sobre-la-hora-universal-y-los-relojes-atomicos-o-que-tienen-en-comun-el-tomtom-y-unos-trigales/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 20:37:57 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=1004</guid>
		<description><![CDATA[[ Ir a la parte 2 de 2: "Zonas horarias, DST, Desplazamientos y otras zarandajas" ] Con este ladrillazo de artículo intento esclarecer unos cuantos detalles sobre esos grandes desconocidos que son UTC, GMT y demás acrónimos indescifrables. &#160; Obligatory disclaimer: Intento dar una explicación inteligible, no algo 100% tećnicamente correcto. En parte porque&#8230; bueno, tampoco soy [...]]]></description>
			<content:encoded><![CDATA[<p>[ <a class="vt-p" href="http://www.stenyak.com/archives/1070/zonas-horarias-dst-desplazamientos-y-otras-zarandajas/"><strong>Ir a la parte 2 de 2</strong>: "Zonas horarias, DST, Desplazamientos y otras zarandajas"</a> ]</p>
<p>Con este ladrillazo de artículo intento esclarecer unos cuantos detalles sobre esos grandes desconocidos que son UTC, GMT y demás acrónimos indescifrables.</p>
<p>&nbsp;</p>
<p><strong><span style="color: #800000;">Obligatory disclaimer</span></strong><span style="color: #808080;">: Intento dar una explicación inteligible, no algo 100% tećnicamente correcto. En parte porque&#8230; bueno, tampoco soy aquí un experto en la materia <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Tanto mis fuentes como mi interpretación pueden ser erróneas. Así que <strong>si algo canta, os ruego dejéis un comentario para corregirlo</strong>.</span></p>
<p>&nbsp;</p>
<h2>TAI</h2>
<p><a class="vt-p" href="http://es.wikipedia.org/wiki/Tiempo_at%C3%B3mico">TAI</a> es una medición del tiempo, independiente del planeta Tierra, del sistema solar, y de cualquier astro en general. Está basada en relojes atómicos.<br />
Empezó a medirse en el 1972, y es completamente independiente de cualquier otro sistema de medición.</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.flickr.com/photos/eviloars/4807091389/"><img class="wp-image-1011 aligncenter" style="border-width: 4px; border-color: black; border-style: solid;" title="Dinosaours Time" src="http://www.stenyak.com/wp-content/uploads/2012/01/meteor-300x225.jpg" alt="" width="250" height="187" /></a></p>
<p>Si el día de mañana cae un meteorito que ralentiza el giro del planeta, haciendo que los días duren 3 minutos extra desde ese momento, al TAI se la trae floja. <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Actualmente el TAI lleva un desfase acumulado de más de medio minuto (porque la Tierra ha ido ralentizándose desde 1972).</p>
<p>&nbsp;</p>
<h2>UT</h2>
<div id="attachment_1009" class="wp-caption alignright" style="width: 190px"><img class=" wp-image-1009 " style="border-width: 4px; border-color: black; border-style: solid;" title="Casiochentero" src="http://www.stenyak.com/wp-content/uploads/2012/01/casio-300x240.jpg" alt="" width="180" height="144" /><p class="wp-caption-text">No, no aceptamos la hora de un Casio como UT.</p></div>
<p>UT es una medición del tiempo, conforme al planeta Tierra. Por tanto, UT varía si el comportamiento de la Tierra varía.</p>
<p><span style="color: #333333;">Ejemplos: movimientos de placas tectónicas, terremotos, el susodicho meteorito de los dinosaurios, mareas por la Luna, o por si al Sol, Saturno y Jupiter les toca alinearse, etc.</span></p>
<p>El UT puede medirse de muchas formas diferentes. Ninguna de ellas se puede dar como Verdadera &#8482; realmente, porque la Tierra ni siquiera es una esfera, y esto de &#8220;la hora del día&#8221; es una invención humana al fin y al cabo.</p>
<p>Existen unos cuantos de esos métodos de medición: UT0, <strong>UT1</strong>, UT1R, UT2, UT2R, y <strong>UTC</strong> (para más info: <a class="vt-p" title="UT Versions" href="http://en.wikipedia.org/wiki/Universal_Time#Versions">UT Versions</a>).</p>
<p>&nbsp;</p>
<h2>UTC</h2>
<div id="attachment_1006" class="wp-caption alignleft" style="width: 310px"><a class="vt-p" href="http://en.wikipedia.org/wiki/Leap_second" target="_blank"><img class="size-full wp-image-1006   " style="margin-right: 20px;" title="DUT1" src="http://www.stenyak.com/wp-content/uploads/2012/01/dutc.png" alt="DUT1" width="300" height="240" /></a><p class="wp-caption-text">Evolucion del DUT1 a lo largo de los años</p></div>
<ul>
<li><strong>UTC</strong>, en concreto, usa una especie de media entre varios relojes atómicos situados en diferentes puntos del planeta (por <a class="vt-p" href="http://en.wikipedia.org/wiki/Relativity_of_simultaneity">efectos relativistas</a> que no vienen al caso)</li>
<li><strong>UT1</strong>, por su parte, usa fuentes &#8220;externas&#8221; (como cuásares, posiciones de satélites, etc) para intentar medir el UT. Se suele considerar como la <em>mejor</em> técnica de las existentes. Aunque es algo subjetivo, claro está, y dependerá de la aplicación.</li>
<li>Al offset que acumula UTC respecto a UT1, se le denomina <strong>DUT1</strong>.</li>
</ul>
<p>&nbsp;</p>
<p>Por definición, UTC debe mantener el DUT1 por debajo de 1 segundo.</p>
<p>&nbsp;</p>
<p>Este año 2012, el DUT1 anda muy cerca del segundo, por lo que en Junio el UTC sufrirá un salto para corregir ese DUT1 excesivo. A eso se le llama<strong> leap-second</strong>.</p>
<p>Los ordenadores se suelen sincronizar via <strong><a class="vt-p" href="http://es.wikipedia.org/wiki/Network_Time_Protocol">NTP</a></strong> con un proveeder de UT basado en relojes atómicos (UTC), de ahí que se use tanto el término UTC en computación.</p>
<p>Si quitas todos los leap-seconds que ha habido, UTC se convierte efectivamente en TAI.</p>
<div align="center">
<div id="attachment_1033" class="wp-caption aligncenter" style="width: 172px"><a class="vt-p" href="http://en.wikipedia.org/wiki/Quasar"><img class="wp-image-1033 " style="border-width: 4px; border-color: black; border-style: solid;" title="Quasar" src="http://www.stenyak.com/wp-content/uploads/2012/01/quasar-300x231.jpg" alt="" width="162" height="125" /></a><p class="wp-caption-text">Esto es un cuasar, por si te lo estabas preguntando.</p></div>
</div>
<h2>GMT</h2>
<p>GMT es lo que se usaba antes de establecerse los UTs actuales para medir el tiempo del planeta Tierra. En el <strong>1972</strong>, se decidió pasar a llamarlo &#8220;UT&#8221;, sin más, así en general. A veces GMT se refiere a UTC, a veces a UT1, y a veces a lo que usaban antes del 1972 (observaciones únicamente desde el meridiano de Greenwhich).</p>
<p>Además, GMT es una zona horaria usada como referencia para otras. Por ejemplo, GMT (ó GMT+0), es usada en ciertas épocas del año por UK.</p>
<p>No solo eso, sino que el viejo GMT tuvo varias definiciones: inicialmente se ponía la &#8220;hora cero&#8221; al mediodía (muy usada por astrónomos, y ahora llamada <strong>GMAT</strong>), y más tarde, a la noche. El cambio se produjo <strong>al pasar del año 1924 al 1925</strong>. Ese año Diciembre no tuvo 31 días, sino 31.5 días.</p>
<p>Resumiendo, tenemos unas cuantas acepciones de GMT:</p>
<ol>
<li>Sistema previo al 1924 (basado en mediodía, también llamado GMAT)</li>
<li>Sistema entre 1924 y 1972 (basado en medianoche)</li>
<li>Sistema posterior al 1972 (UT1).</li>
<li>Sistema posterior al 1972 (UT1+DUT1, es decir, UTC).</li>
<li>Zona horaria de algunos países.</li>
<li>Otras posibles acepciones (cualquier otro UT) en fechas posteriores a 1972.</li>
</ol>
<p>Efectivamente: al explicarlas, las siglas GMT suelen ir acompañadas de las siglas WTF.</p>
<p>Por todo ello, GMT se puede usar en entornos informales (peliculeros, noticiarios, o lo que sea). Pero en entornos computacionales, militares, médicos, aeronáuticos, y cualquier otro que sea crítico, <em>lo mentalmente saludable es usar siempre algo como UTC</em>.</p>
<p>&nbsp;</p>
<h2>TomTom y los trigales</h2>
<div id="attachment_1013" class="wp-caption alignleft" style="width: 160px"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2012/01/tonton.jpg"><img class="size-thumbnail wp-image-1013 " style="border-width: 4px; border-color: black; border-style: solid;" title="tonton" src="http://www.stenyak.com/wp-content/uploads/2012/01/tonton-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">&quot;En la próxima rotonda, tome la tercera salida hacia el primer trigal que vea&quot;</p></div>
<p>En realidad esto de los trigales lo había puesto por atraer un poco la atención (<em>¿¿ha funcionado??</em>), pero ya que estamos, habrá que explicarlo&#8230;</p>
<p>El GPS como sabéis, utiliza satélites. Concretamente, utilizan muchísimo las mediciones de tiempo para poder estimar la posición y altitud. Es imperioso que todos los GPS funcionen en un marco horario común, o sino los delicados cálculos de vuestro TomTom no valdrían para nada.</p>
<p>Usar UTC no es muy serio, por el tema de los leap-seconds. UT1 tampoco es especialmente útil, porque cambia continuamente, según cambia el planeta Tierra.</p>
<p>Así que los GPS usan su propio sistema, el <strong>GPS-Time</strong>. GPS-Time es idéntico al TAI mencionado al principio del post, pero tiene un offset constante de unos 19 segundos. Esto se debe a que el GPS-Time coincidía con UTC en el momento de su creación (en <strong>1980</strong>), pero no avanza a la velocidad de UTC, sino a la del TAI.</p>
<p>Si el GPS-Time tuviera una velocidad variable como cualquier UT, entonces sería facil que el navegador del coche acabara situándote 100 metros más allá de donde realmente estás, plantándote en medio de una pradera, o en el fondo de un lago.</p>
<p>Así que, por suerte para los conductores, el TomTom y los trigales tienen pocos puntos en común.</p>
<p>&nbsp;</p>
<h2>Zonas horarias, DST</h2>
<p>¿Creíais que empezabais a entender el tema?</p>
<p>Pues olvidaos, porque aún falta todo el tema de zonas horarias y DST, que es la verdadera miga del asunto en lo que a programación se refiere.</p>
<p>Y eso que no se han tocao apenas temas tangenciales, como pueden ser los meridianos de referencia, las horas métricas, las horas decimales como la <a class="vt-p" href="http://www.timeanddate.com/time/internettime.html">Internet Time</a> de Swatch, el protocolo NTP con sus stratums&#8230;</p>
<p>&nbsp;</p>
<p>Pero lo dejo ahi, porque bastante gordo ha quedado ya el post!</p>
<p>&nbsp;</p>
<p>[ <a class="vt-p" href="http://www.stenyak.com/archives/1070/zonas-horarias-dst-desplazamientos-y-otras-zarandajas/"><strong>Ir a la parte 2 de 2</strong>: "Zonas horarias, DST, Desplazamientos y otras zarandajas"</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/1004/sobre-la-hora-universal-y-los-relojes-atomicos-o-que-tienen-en-comun-el-tomtom-y-unos-trigales/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Puenting en Azkoitia</title>
		<link>http://www.stenyak.com/archives/932/puenting-en-azkoitia/</link>
		<comments>http://www.stenyak.com/archives/932/puenting-en-azkoitia/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 20:03:50 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[aviation]]></category>
		<category><![CDATA[chorrada]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=932</guid>
		<description><![CDATA[Vamos a dar un poco de vidilla al blog, paradójicamente tirándome de un puente Aterrizamos en el lugar (inmediaciones de Azkoitia) al mediodia, recibiéndonos una grandiosa vista, de esas que tanto echo de menos ahora que he dejado la capital del mundo (Bilbao) para irme a la capital del país (Madrid): Muy bonito, sí, pero [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos a dar un poco de vidilla al blog, paradójicamente tirándome de un puente <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Aterrizamos en el lugar (<a title="Lugar del salto" href="http://maps.google.es/?ll=43.20076,-2.345704&amp;spn=0.006538,0.01354&amp;t=h&amp;z=17&amp;vpsrc=6&amp;layer=c&amp;cbll=43.20076,-2.345704&amp;panoid=L-kNUfwdkrzkUtF7CYzv8g&amp;cbp=12,142.85,,0,4.06" target="_blank">inmediaciones de Azkoitia</a>) al mediodia, recibiéndonos una grandiosa vista, de esas que tanto echo de menos ahora que he dejado la capital del mundo (Bilbao) para irme a la capital del país (Madrid):</p>
<p style="text-align: center;"><a href="http://www.stenyak.com/wp-content/uploads/2011/11/2011-11-12-Bruno-Puenting-004.jpg"><img class="aligncenter size-medium wp-image-933" style="border: 2px solid black;" title="Vistas" src="http://www.stenyak.com/wp-content/uploads/2011/11/2011-11-12-Bruno-Puenting-004-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Muy bonito, sí, pero cambiando un poco la perspectiva se aprecia el cuadro completo&#8230;</p>
<p style="text-align: center;"><a href="http://www.stenyak.com/wp-content/uploads/2011/11/2011-11-12-Bruno-Puenting-002.jpg"><img class="size-medium wp-image-934 aligncenter" style="border: 2px solid black;" title="Shit happens" src="http://www.stenyak.com/wp-content/uploads/2011/11/2011-11-12-Bruno-Puenting-002-e1321558755902-225x300.jpg" alt="Shit happens" width="225" height="300" /></a></p>
<p>El salto fue posible fruto de <a title="Sorteo GNG" href="http://gng.es/blog/2011/11/las-fotos-del-puenting-ya-estan-aqui/" target="_blank">un sorteo que hizo GNG</a>. Fui con un par de colegas, el señor Kazbayadum y su compañero de trabajo Luis.</p>
<p>La altura oficial desde donde saltabamos eran 30 metros, aunque existia otro salto (doble puenting, o <a title="Wikipedia - Pupuenting" href="http://es.wikipedia.org/wiki/Pupu%C3%A9nting" target="_blank">pupuenting</a>) de 60 metros, que no pudimos probar.</p>
<p style="text-align: center;"><a href="http://www.stenyak.com/wp-content/uploads/2011/11/2011-11-12-Bruno-Puenting-006.jpg"><img class="aligncenter size-medium wp-image-936" style="border: 2px solid black;" title="Vertical del puente" src="http://www.stenyak.com/wp-content/uploads/2011/11/2011-11-12-Bruno-Puenting-006-e1321559052778-225x300.jpg" alt="Vertical del puente" width="225" height="300" /></a></p>
<p>Y sin más dilación, el momento del Salto de Fe:</p>
<p style="text-align: center;"><a href="http://www.stenyak.com/wp-content/uploads/2011/11/6349487215_58513bba79_z.jpg"><img style="border: 1px solid black;" title="Un servidor" src="http://www.stenyak.com/wp-content/uploads/2011/11/6349487215_58513bba79_z-200x300.jpg" alt="Un servidor" width="120" height="180" /></a><a href="http://www.stenyak.com/wp-content/uploads/2011/11/6349487299_01a2815cbf_z.jpg"><img style="border: 1px solid black;" title="6349487299_01a2815cbf_z" src="http://www.stenyak.com/wp-content/uploads/2011/11/6349487299_01a2815cbf_z-200x300.jpg" alt="" width="120" height="180" /></a><a href="http://www.stenyak.com/wp-content/uploads/2011/11/6349487381_678b5e4263_z.jpg"><img style="border: 1px solid black;" title="6349487381_678b5e4263_z" src="http://www.stenyak.com/wp-content/uploads/2011/11/6349487381_678b5e4263_z-200x300.jpg" alt="" width="120" height="180" /></a></p>
<p style="text-align: center;"><object width="425" height="344" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/DHMtImLXaIc&amp;hl=en&amp;fs=1&amp;color1=0xCFCFCF&amp;color2=0xEEEEEE" /><param name="allowfullscreen" value="true" /><embed width="425" height="344" type="application/x-shockwave-flash" src="http://www.youtube.com/v/DHMtImLXaIc&amp;hl=en&amp;fs=1&amp;color1=0xCFCFCF&amp;color2=0xEEEEEE" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>La próxima de espaldas, que se rumorea que da más sensación; o de paracaídas que dura más <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Si a alguien le apetece, los que organizan el tema son <a title="ERTZ" href="http://www.ertz.net/azcoitia.htm" target="_blank">Experiencias Radicales Tremendas y Zumbonas</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/932/puenting-en-azkoitia/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Cliente *libre* de mensajeria en la nube (part 2)</title>
		<link>http://www.stenyak.com/archives/816/cliente-libre-de-mensajeria-en-la-nube-part-2/</link>
		<comments>http://www.stenyak.com/archives/816/cliente-libre-de-mensajeria-en-la-nube-part-2/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 18:06:29 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[computing]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=816</guid>
		<description><![CDATA[(…continuación de la parte 1) Bueno, andabamos en las nubes con el tema de mensajería. Para recapitular, el objetivo era: Conectividad 24/7 Acceso a todas nuestras redes de IM con el mínimo esfuerzo Software libre por donde se pueda. En la primera parte, hemos solucionado la papeleta mediante GNU Screen, Finch y una conexión SSH. [...]]]></description>
			<content:encoded><![CDATA[<p><em>(…continuación de la </em><em><a class="vt-p" href="http://www.stenyak.com/archives/790/cliente-libre-de-mensajeria-en-la-nube">parte 1</a></em><em>)</em></p>
<p>Bueno, andabamos en las nubes con el tema de mensajería. Para recapitular, el objetivo era:</p>
<ul>
<li><strong>Conectividad 24/7</strong></li>
<li><strong>Acceso a todas nuestras  redes</strong> de IM con el mínimo  esfuerzo</li>
<li><strong>Software libre</strong> por donde se pueda.</li>
</ul>
<p>En <a class="vt-p" href="http://www.stenyak.com/archives/790/cliente-libre-de-mensajeria-en-la-nube">la primera parte</a>, hemos solucionado la papeleta mediante GNU Screen, <a class="vt-p" href="http://developer.pidgin.im/wiki/Using%20Finch">Finch</a> y una conexión SSH. La solución mola porque es completa, y no hace falta ningún software &#8220;raro&#8221; en los ordenadores cliente (solamente un cliente ssh). Para hacernos a la idea, quedaba tal que asín:</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/cloud-im-part1.png"><img class="size-medium wp-image-819  aligncenter" title="IM en la nube - Primera solución" src="http://www.stenyak.com/wp-content/uploads/2011/02/cloud-im-part1-297x300.png" alt="IM en la nube - Primera solución" width="297" height="300" /></a></p>
<p>Pero tiene algunos defectos:</p>
<ul>
<li>Hay que <strong>usar exclusivamente el teclado</strong> (finch + screen + ratón es algo lioso de configurar, yo no lo he conseguido).</li>
<li>Los enlaces <strong>multilínea</strong> pueden <strong>no ser reconocidos</strong> en su totalidad por el emulador de terminal que usemos, así que en esos casos, toca copy-paste de los cachos de enlace que haya en cada línea.</li>
<li>Puede ser <strong>poco responsivo</strong> dado que, al fin y al cabo, screen+ssh es como un VNC de texto plano&#8230; y se nota cuando escasea el ancho de banda.</li>
</ul>
<p>Así pues, intentaremos arreglar esos defectos:</p>
<h2>Segunda solución: Bitlbee + Quassel IRC</h2>
<p>Ahora vamos a ponernos en la piel de un <em>Ubuntero</em> típico de hoy en día: apesta andar con conexiones ssh, y más aún aprenderse que <code>alt+n</code> es para el siguiente tab de finch, o que <code>ctrl+a,F</code> redimensiona los contenidos del screen a nuestra terminal, etc&#8230;</p>
<p>Así pues, vamos a intentar tener un <strong>cliente de IM <em>gráfico</em></strong>: en el que se pueda hacer copy-paste con el ratón, hacer clicks para hablar con las personas, y ese tipo de cosillas que se vienen haciendo <a class="vt-p" href="http://en.wikipedia.org/wiki/Windows_3.0">desde hace 2 décadas</a>. Por desgracia, no conozco ninguna solución  tan <em>elegante</em> como la primera, por lo que esta vez va tocará  instalar una aplicación en cada cliente que usemos, con un mínimo de configuración. Tampoco es mucho pedir, no? <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Pasos a seguir:</p>
<ol>
<li>Instalar Quassel Core en el servidor (ponerlo en un bucle o demonio para que esté siempre rulando)</li>
<li>Instalar Bitlbee en el servidor (ponerlo tb a lo demonio)</li>
<li>Instalar al menos un cliente de Quassel para hacer la configuración inicial.</li>
</ol>
<p>Pero vamos por partes.</p>
<p><a class="vt-p" href="http://quassel-irc.org/"><strong><strong> </strong></strong></a><strong><strong><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/quasselirc.png"><img class="alignleft size-full wp-image-831" title="quasselirc" src="http://www.stenyak.com/wp-content/uploads/2011/02/quasselirc.png" alt="" width="100" height="100" /></a></strong>Quassel IRC</strong> es un cliente de IRC que tiene una estructura cliente-servidor para la interfaz gráfica. Es decir, puedes tener o no tener una ventana (Quassel Client) abierta, y puede estar en el mismo o en otro ordenador que el servidor (Quassel Core). Lo mismo que hace MLDonkey y Amule, para entendernos.</p>
<p>Podeis pensar que vaya chorrada, que para eso ya hay otros protocolos estandard como <a class="vt-p" href="http://en.wikipedia.org/wiki/Virtual_Network_Computing"> VNC</a>, o el propio <a class="vt-p" href="http://tldp.org/HOWTO/XDMCP-HOWTO/ssh.html">SSH con X-Forwarding</a> habilitado para usar unas Xorg remotas. El tema es que el protocolo de Quassel está especializado en&#8230; en sus cosas, por lo que es mucho más eficiente, más rapido, y a veces hasta te plancha la ropa. No hay color, vamos&#8230; si habeis usado VNC o X remotas, sabeis a qué me refiero.</p>
<p><a class="vt-p" href="http://www.bitlbee.org"><img class="alignleft size-full wp-image-830" title="bitlbee" src="http://www.stenyak.com/wp-content/uploads/2011/02/bitlbee.png" alt="" width="108" height="91" /><strong>Bitlbee</strong></a>, por otro lado, es una jartada de software que básicamente hace de pasarela desde diversas redes de IM hacia/desde IRC. Es decir, Bitlbee te permite interactuar con MSN, ICQ, Jabber, incluso <a class="vt-p" href="http://wiki.bitlbee.org/HowtoTwitter">Twitter</a> y <a class="vt-p" href="http://wiki.bitlbee.org/HowtoFacebook">Facebook</a>, mediante cualquier cliente de IRC. Se puede decir, por tanto, que es literalmente un <a class="vt-p" href="http://en.wikipedia.org/wiki/IRC_daemon">servidor de IRC</a> (uno muy curioso, sí xD).</p>
<p>Bitlbee utiliza un canal IRC especial, el <code>#&amp;bitlbee</code>, dentro del cual mete como participantes a todos tus contactos de IM (del messenger, gtalk, etc). De esta forma, si coges un cliente IRC para conectarte a ese canal, la lista de participantes es realmente tu lista de contactos multiprotocolo. Obviamente, al usar IRC como pasarela, perdemos features (como los avatares del contacto, las razones de estar <code>/away</code>, etc). Basta tirar un <code>/query</code> a cualquier contacto para iniciar una conversación con esa persona.</p>
<p>Así que la idea es, usar un cliente de IRC (Quassel Client) en cada ordenador que queramos conectar a las redes IM, y conectarnos al servidor IRC Bitlbee que aúna todas ellas en un solo punto centralizado y nuboso.</p>
<p>Existe una posible pega: si nuestro build de Bitlbee no tiene libpurple como backend (sí, el mismo que usa Pidgin y Finch, entre otros), no hay soporte de pasarela para redes IRC, con lo que tenemos que configurar nuestras redes IRC en cada cliente/ordenador que usemos. La cosa quedaría tal que asín:</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/cloud-im-part2.png"><img class="size-medium wp-image-835  aligncenter" title="IM en la nube - Segunda solución" src="http://www.stenyak.com/wp-content/uploads/2011/02/cloud-im-part2-300x261.png" alt="IM en la nube - Segunda solución" width="300" height="261" /></a></p>
<p><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/cloud-im-part2.png"></a>Si os atrevéis a montar todo este lío, los pasos un poco más detallados de configuración inicial son:</p>
<ol>
<li><strong>Instalar como demonio Bitlbee</strong> en el servidor. Si no vamos a usar teléfonos moviles, podemos limitarlos a conexiones en 0.0.0.0 (conexiones del core de Quassel, que está en la misma máquina) para mayor seguridad.</li>
<li><strong>Instalar como demonio Quassel Core</strong> en el servidor.</li>
<li><strong>Instalar un Quassel client</strong> en un sobremesa o portatil y <strong>conectarlo al core</strong>.</li>
<li>Una vez conectados al core, le <strong>añadimos el servidor IRC de bitlbee</strong> en &#8220;localhost&#8221; (el propio servidor nuboso), con puerto default. Adicionalmente, podemos configurarle nuestras redes de IRC habituales (Freenode, etc), a menos que las vayamos a meter en el propio Bitlbee (solo si tiene libpurple de backend, como ya he mencionado).<br />
Toda esta configuración se guardará en el core, así que no hay que hacerlo de nuevo nunca más.</li>
<li>Al conectarnos al servidor IRC de bitlbee, se unirá al canal #&amp;bitlbee automáticamente. Aquí es donde toqueteamos los settings de Bitlbee (todas las redes de IM, etc).<br />
Primero, <strong>nos registramos en Bitlbee</strong> con una contraseña, para poder guardar los settings: <code>register &lt;contraseña&gt;</code></li>
<li>Ahora <strong>añadimos las cuentas de IM a Bitblee</strong> con unos comandos especiales: <code>account add &lt;parámetros&gt;</code>. Para más información, aquí hay <a class="vt-p" href="http://en.linuxreviews.org/Bitlbee#Getting_started">una guía rápida de Bitlbee</a>.</li>
<li>Una vez añadidas las cuentas IM, <strong>guardamos estos settings en Bitlbee</strong> con: <code>save</code></li>
<li>Y ya, si queremos, podemos configurar Quassel para que automáticamente ejecute un <code>/identify &lt;contraseña&gt;</code> al conectar, para que se autentique en Bitlbee y nos cargue toda la configuración del tirón (lo mismo que la autenticación de la mayoría de servers IRC, vamos).</li>
</ol>
<p>Si a estas alturas seguís despiertos, entonces habéis configurado por fin vuestro molón cliente de IM en la nube! <strong>Congratulations!</strong> <img src='http://www.stenyak.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Y para terminar, así es como pinta la cosa una vez hecho todo:</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/quassel-n-bitlbee.png"><img class="size-medium wp-image-840   aligncenter" style="border: 4px solid black;" title="quassel-n-bitlbee" src="http://www.stenyak.com/wp-content/uploads/2011/02/quassel-n-bitlbee-300x187.png" alt="quassel-n-bitlbee" width="300" height="187" /></a></p>
<p>Una vez escrito el post, veo que al final puede ser o parecer un poquillo más complicado que la primera solución, por lo que si tenéis alguna duda, y yo algo de tiempo libre, podéis preguntarme aki abajo (o en mi buzz, o donde queráis, con tal que sea un sitio público para que el resto del internet se pueda beneficiar de las explicaciones), y os intento echar un cable.</p>
<p><em>Hasta la próxima, frikomaníacos!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/816/cliente-libre-de-mensajeria-en-la-nube-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cliente *libre* de mensajeria en la nube (part 1)</title>
		<link>http://www.stenyak.com/archives/790/cliente-libre-de-mensajeria-en-la-nube/</link>
		<comments>http://www.stenyak.com/archives/790/cliente-libre-de-mensajeria-en-la-nube/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 22:59:40 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[computing]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=790</guid>
		<description><![CDATA[Vamos a darle un poco de caña al blog, que lo tengo abandonao! Voy a explicar como tener un cliente de mensajería instantánea en &#8220;la nube&#8221;. Antes de nada,  vamos a explicar el concepto. El Concepto Tradicionalmente, nuestro usuario Joe tiene: - Un chat en Facebook - Un chat en Gmail (Google Talk) - Un [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos a darle un poco de caña al blog, que lo tengo abandonao! Voy a explicar como tener un cliente de <strong>mensajería instantánea en &#8220;la nube&#8221;</strong>. Antes de nada,  vamos a explicar el concepto.</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/bushclouds.jpg"><img class="aligncenter size-full wp-image-796" title="Mario clouds are bushes!" src="http://www.stenyak.com/wp-content/uploads/2011/02/cloud.png" alt="Mario clouds are bushes!" width="501" height="391" /></a></p>
<h2>El Concepto</h2>
<p>Tradicionalmente, nuestro usuario Joe tiene:<br />
- Un chat en <a class="vt-p" href="https://www.facebook.com/sitetour/chat.php" target="_blank">Facebook</a><br />
- Un chat en Gmail (<a class="vt-p" href="http://www.google.com/talk" target="_blank">Google Talk</a>)<br />
- Un chat en su PC (<a class="vt-p" href="http://explore.live.com/windows-live-messenger" target="_blank">Microsoft Messenger</a>)<br />
Y algunos frikis tenemos además cuentas de <a class="vt-p" href="http://www.icq.com" target="_blank">ICQ</a>, <a class="vt-p" href="http://www.jabber.org/" target="_blank">Jabber</a>, <a class="vt-p" href="http://freenode.net/" target="_blank">IRC</a>, y quién <a class="vt-p" href="http://messenger.yahoo.com/" target="_blank">sabe</a> <a class="vt-p" href="http://www.imqq.com/" target="_blank">qué</a> <a class="vt-p" href="http://www.aim.com/" target="_blank">más</a>.</p>
<p>Tanta nube, tanta nube, pero necesitamos configurar <strong>un cliente de IM en cada ordenador</strong> (sobremesa, netbook, oficina&#8230;). Los clientes multiprotocolo  (como <a class="vt-p" href="http://kopete.kde.org/" target="_blank">Kopete</a> o <a class="vt-p" href="http://www.pidgin.im/" target="_blank">Pidgin</a>) ayudan un poco. Pero cuidado como intentes <strong>conectarte desde varios ordenadores a la misma cuenta</strong> de MSN o de ICQ (porque es <em>técnicamente imposible</em>). Y si además quieres <strong>buscar algo en tu historial</strong> de conversaciones, te hará falta mucho café, algunas aspirinas, conectividad a <em>todos</em> los ordenadores y webs por las que hayas hablado, y una buena dosis de <a class="vt-p" href="http://www.commandlinefu.com">bash-fu</a> para parsear todos los logs.</p>
<p>Lo suyo sería olvidarse de tanto protocolo, y usar <a class="vt-p" href="http://googlewavedev.blogspot.com/2010/12/introducing-apache-wave.html">Apache Wave</a>, pero como a la gente no le gusta el cambio, voy a presentar no una, sino <strong>DOS</strong> soluciones a este problema. En ambos casos, nos hace falta una nube, es decir, un servidor que vaya a estar online permanentemente. Ya sea algún hierro viejo encendido en el trastero, o un servidor alquilado a terceros en la vasta red.</p>
<h3>Ambas soluciones permiten:</h3>
<ul>
<li>Estar <strong>conectado 24/7</strong> a <strong>todas nuestras redes de IM</strong>, sin necesitar un solo ordenador encendido en casa.</li>
<li>Tener el <strong>historial</strong> de conversaciones en un sitio <strong>centralizado</strong>.</li>
<li>Poder acceder a esas redes <strong>simultáneamente</strong> desde varios ordenadores, sin ningún problema en absoluto.</li>
<li><strong>No necesitar configurar</strong> nuestras redes de IM en cada ordenador que toquemos.</li>
<li>No depender de software propietario para nada.</li>
</ul>
<h2>Primera solución: ssh + screen + finch</h2>
<p>Si eres un frikón como dios manda, conocerás <a class="vt-p" href="http://www.gnu.org/software/screen/">GNU screen</a>. Esta utilidad permite tener sesiones de terminal abiertas &#8220;<em>en background</em>&#8220;, pudiendo verlas en pantalla u ocultarlas cuando se quiera.</p>
<p>SSH, obviamente, es una forma de conectarte de un ordenador a otro, ya sea con putty, openssh, o el cliente de turno.</p>
<p>Y finalmente, <a class="vt-p" href="http://developer.pidgin.im/wiki/Using%20Finch">Finch</a> es, para entendernos, un Pidgin portado a la terminal. Es un cliente IM multiprotocolo, que en vez de GTK o QT, usa <a class="vt-p" title="libgnt" href="http://www.site.uottawa.ca/~schow031/gnt/gntgaim-statusbox.html">letras en tu terminal</a>. De hecho, tanto Finch como Pidgin se apoyan internamente en <a class="vt-p" href="http://developer.pidgin.im/wiki/WhatIsLibpurple">libpurple</a>, una librería de IM multiprotocolo.</p>
<p>Como montamos el tinglado entonces?</p>
<ol>
<li>Instalamos <strong>screen</strong> y <strong>finch</strong> en nuestro servidor.</li>
<li>Configuramos nuestras cuentas de mensajería en ese finch, una sola vez.</li>
<li>Creamos un bucle/demonio/cron que mantenga finch arrancado en un screen todo el rato (por si peta, que se arranque de nuevo él solo).</li>
</ol>
<p>Una vez hecho esto, basta conectarnos vía <strong>SSH</strong> al servidor, y acceder al screen donde está finch encendido. Por ejemplo:</p>
<blockquote>
<pre>$ ssh stenyak@servidor.com
$ screen -x miFinch</pre>
</blockquote>
<p>Y en pantalla veremos nuestro cliente, con su lista de contactos, sus pestañas para cada conversación, etc.</p>
<p>Por ejemplo, he aquí una sesión de Finch conectado a GTalk, MSN y un canal IRC en Freenode:</p>
<p style="text-align: center;"><a class="vt-p" href="http://www.stenyak.com/wp-content/uploads/2011/02/finch-screen.png"><img class="aligncenter size-full wp-image-791" style="border: 2px solid black;" title="finch-screen" src="http://www.stenyak.com/wp-content/uploads/2011/02/finch-screen.png" alt="" width="419" height="259" /></a></p>
<p>(por si alguien se pregunta donde entra Facebook en todo esto, comentar que el chat de Facebook  tira desde hace bastantes semanas del protocolo Jabber. No es 100%  compliant, pero cualquier cliente de Jabber decente debería poder  conectarse a él)</p>
<p>Como podéis comprobar, es una solución solo apta para muy frikis. Los logs están todos legibles en texto plano en <code><strong>~/.purple/logs</strong></code>.</p>
<h2>Segunda solución</h2>
<p>Pero a estas alturas de la vida, muchos linuxeros prefieren poder hacer clics y cosas así; por ello existe otra segunda solución, que como es un poco tarde, explicaré en el siguiente post.</p>
<h4>Stay tuned!</h4>
<p><em>(continúa en la <a href="http://www.stenyak.com/archives/816/cliente-libre-de-mensajeria-en-la-nube-part-2/">parte 2</a>&#8230;) </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/790/cliente-libre-de-mensajeria-en-la-nube/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Yuki TV</title>
		<link>http://www.stenyak.com/archives/767/yuki-tv/</link>
		<comments>http://www.stenyak.com/archives/767/yuki-tv/#comments</comments>
		<pubDate>Sat, 01 May 2010 08:24:35 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[es]]></category>
		<category><![CDATA[pets]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=767</guid>
		<description><![CDATA[Akí teneis a Yuki en vivo y en diferido! No estaba muy activa en ese momento, pero a veces se pone a dar vueltas por el sofa y no hay quien le haga una foto, así que mejor así.]]></description>
			<content:encoded><![CDATA[<p>Akí teneis a Yuki en vivo y en diferido!</p>
<p style="text-align:center"><object width="425" height="344" data="http://www.youtube.com/v/jA7F5b9BBKg&amp;hl=en&amp;fs=1&amp;color1=0xCFCFCF&amp;color2=0xEEEEEE" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="src" value="http://www.youtube.com/v/jA7F5b9BBKg&amp;hl=en&amp;fs=1&amp;color1=0xCFCFCF&amp;color2=0xEEEEEE"/><param name="allowfullscreen" value="true"></object></p>
<p>No estaba muy activa en ese momento, pero a veces se pone a dar vueltas por el sofa y no hay quien le haga una foto, así que mejor así.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/767/yuki-tv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>El nuevo mando para Wii, out now!</title>
		<link>http://www.stenyak.com/archives/740/el-nuevo-mando-para-wii-out-now/</link>
		<comments>http://www.stenyak.com/archives/740/el-nuevo-mando-para-wii-out-now/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 21:24:07 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[chorrada]]></category>
		<category><![CDATA[pets]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=740</guid>
		<description><![CDATA[Se llama Yuki! Ni lo ha fabricado Nintendo, ni vale como micrófono, pero mola un cacho. Al igual que Kintaro con sus currelos, todos los días se aprende algo nuevo con los erizos. Hoy he aprendido que si la eriza quiere suicidarse sofá pabajo, mejor no intentes salvarla. Su técnica ninja de aterrizaje pelota-style funciona. [...]]]></description>
			<content:encoded><![CDATA[<p>Se llama Yuki! Ni lo ha fabricado Nintendo, ni vale como micrófono, pero mola un cacho.</p>
<div id="attachment_741" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.stenyak.com/wp-content/uploads/2010/03/25032010194.jpg"><img class="size-medium wp-image-741     " style="border: 3px solid black;" title="Es inalámbrico, y no lleva baterías! Y el año que viene la Black Edition al doble de precio, eh MA?" src="http://www.stenyak.com/wp-content/uploads/2010/03/25032010194-300x225.jpg" alt="Es inalámbrico, y no lleva baterías! Y el año que viene la Black Edition al doble de precio, eh MA?" width="300" height="225" /></a><p class="wp-caption-text">Yukiphone</p></div>
<p>Al igual que <a title="el prota de Golden Boy" href="http://en.wikipedia.org/wiki/Golden_Boy_(manga)">Kintaro</a> con sus currelos, todos los días se aprende algo nuevo con los erizos.</p>
<p>Hoy he aprendido que si la eriza quiere suicidarse sofá pabajo, mejor no intentes salvarla. Su técnica ninja de aterrizaje <em>pelota-style</em> <strong>funciona</strong>. Agujerearte la mano intentando frenar suavemente su caída, <strong>no</strong>.</p>
<div id="attachment_743" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.stenyak.com/wp-content/uploads/2010/03/25032010185.jpg"><img class="size-medium wp-image-743   " style="border: 3px solid black;" title="Mi barba no pincha tanto, pero debería podarla un poco de todas formas..." src="http://www.stenyak.com/wp-content/uploads/2010/03/25032010185-300x225.jpg" alt="Mi barba no pincha tanto, pero debería podarla un poco de todas formas..." width="300" height="225" /></a><p class="wp-caption-text">El efecto tunel</p></div>
<p>Otras cosa que les gustan hacer, aparte de tirarse por precipicios, es engancharse <em>a lo anzuelo</em> en tubos demasiado pequeños.</p>
<div id="attachment_744" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.stenyak.com/wp-content/uploads/2010/03/23032010171.jpg"><img class="size-medium wp-image-744  " style="border: 3px solid black;" title="Refactorizando código de espaguetti" src="http://www.stenyak.com/wp-content/uploads/2010/03/23032010171-300x225.jpg" alt="Refactorizando código de espaguetti" width="300" height="225" /></a><p class="wp-caption-text">Se va a convertir en toda una hacker</p></div>
<p style="text-align: center;">
<p>Como veis, también le gusta programar en PHP. Aunque estoy pensando en enseñarle un <a href="http://en.wikipedia.org/wiki/LOLCODE">lenguaje más apropiado, de más bajo nivel</a>.</p>
<div id="attachment_745" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.stenyak.com/wp-content/uploads/2010/03/22032010163.jpg"><img class="size-medium wp-image-745   " style="border: 3px solid black;" title="lo cogeis? jugar! comida! turu-tukiisss!!! :-D" src="http://www.stenyak.com/wp-content/uploads/2010/03/22032010163-300x225.jpg" alt="lo cogeis? jugar! comida! turu-tukiisss!!! :-D" width="300" height="225" /></a><p class="wp-caption-text">A Yuki le gusta jugar con la comida</p></div>
<p>Nada más anochecer, se pone a darle un poco al <a title="en vez de cerezas, comen gusanotes tiernos y cucarachas crujientes" href="http://www.youtube.com/watch?v=pIrvpn3k9A4">PacMan</a> mientras come (lo que en realidad es su desayuno, $DEITY sabe por qué).</p>
<p>Bueno, hay mil fotos más, pero con esto vale rescatar el blog, y de paso seguir la <a title="Rock Solid's Blog" href="http://ivmos.net/index.php/2010/03/18/doctest-en-php/" target="_blank">serie</a> de <a title="B. A. Baracus' Blog" href="http://miguelangelnieto.net/?action=view&amp;url=replicaci%C3%B3n-multi-master-y-s%C3%ADncrona-con-galera" target="_blank">petposts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/740/el-nuevo-mando-para-wii-out-now/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Chuck Norris Facts Bash Script</title>
		<link>http://www.stenyak.com/archives/725/the-chuck-norris-facts-bash-script/</link>
		<comments>http://www.stenyak.com/archives/725/the-chuck-norris-facts-bash-script/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 23:20:10 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[es]]></category>
		<category><![CDATA[chorrada]]></category>
		<category><![CDATA[computing]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=725</guid>
		<description><![CDATA[Pon un Chuck Norris en tu vida! O mejor aun, pon miles de Chuck Facts en tu consola! Bored STenyaK Productions presents: chuckfacts.sh! Coming this winter to a console in front of you&#8230; #!/bin/bash # check for parameters if [ -z $1 ] then echo "Please specify the destination chuck norris facts file." echo "E.g.: [...]]]></description>
			<content:encoded><![CDATA[<p>Pon un Chuck Norris en tu vida! O mejor aun, pon miles de <a href="http://en.wikipedia.org/wiki/Chuck_Norris_facts">Chuck Facts</a> en tu consola!</p>
<p style="text-align: center;"><a href="http://www.stenyak.com/archives/tag/chorrada">Bored STenyaK Productions</a> presents: chuckfacts.sh!</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-734" title="Chuck Norris for god" src="http://www.stenyak.com/wp-content/uploads/2009/12/chucknorris1.png" alt="Chuck Norris for god" width="520" height="650" /><br />
Coming this winter to a console in front of you&#8230;</p>
<pre>#!/bin/bash

# check for parameters
if [ -z $1 ]
then
    echo "Please specify the destination chuck norris facts file."
    echo "E.g.: $0 ~/.chuckfacts.txt"
    exit
fi
ffile=$1

old=0
if [ -s $ffile ]
then
    old=$(wc -l $ffile |sed "s/\s.*//g")
fi

echo -n "Getting facts pack"
# download the 170 first chuck norris pages of 4q.cc site to disk
for i in $(seq 1 170)
do
    echo -n " $i"
    # only store facts
    wget -qO - \
       "http://4q.cc/index.php?pid=listfacts&amp;person=chuck&amp;page=$i" \
        | grep "index.php?pid=fact&amp;amp;person=chuck" &gt;&gt; $ffile</pre>
<pre>done
echo ""

echo -n "Post-processing facts..."
# remove unnecessary html code
perl -pi -e "s/.*id=.{32,32}\"&gt;//g;s/&lt;\/a&gt;.*//g" $ffile

# replace most common html entities
perl -pi -e "s/&amp;quot;/\"/g" $ffile
perl -pi -e "s/&amp;amp;/&amp;/g" $ffile

# remove empty lines
perl -ni -e "print unless /pid=/" $ffile

# remove redundant lines
cat $ffile |sort |uniq &gt; /tmp/chuckfacts.tmp
mv /tmp/chuckfacts.tmp $ffile
new=$(wc -l $ffile |sed "s/\s.*//g")
echo " OK"
echo "Generated $(($new-$old)) new facts ($new in total) facts."

# show how to add a fortune-like command to bashrc
echo ""
echo "You can add this to your ~/.bashrc file:"
echo 'test -s '$ffile' &amp;&amp; cowsay -f $(ls /usr/share/cowsay/cows
      | shuf |head -1) "$(cat '$ffile' |shuf |head -1)"'</pre>
<p>Mira que no me aburro a veces ni nada eh&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/725/the-chuck-norris-facts-bash-script/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>En defensa de los derechos de los ciudadanos en Internet</title>
		<link>http://www.stenyak.com/archives/722/en-defensa-de-los-derechos-de-los-ciudadanos-en-internet/</link>
		<comments>http://www.stenyak.com/archives/722/en-defensa-de-los-derechos-de-los-ciudadanos-en-internet/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 11:17:16 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[es]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=722</guid>
		<description><![CDATA[Ante la inclusión en el Anteproyecto de Ley de Economía Sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que… 1.- Los [...]]]></description>
			<content:encoded><![CDATA[<p>Ante la inclusión en el <a href="http://www.20minutos.es/noticia/579200/0/desconexion/internet/pirateria/">Anteproyecto de Ley de Economía Sostenible</a> de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…</p>
<p>1.- <strong>Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos</strong>, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.</p>
<p>2.- <strong>La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial.</strong> Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.</p>
<p>3.- <strong>La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español</strong>, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.</p>
<p>4.- <strong>La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural.</strong> Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.</p>
<p>5.- <strong>Los autores</strong>, como todos los trabajadores, <strong>tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades</strong> asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.</p>
<p>6.- Consideramos que <strong>las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales</strong>, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.</p>
<p>7.- <strong>Internet debe funcionar de forma libre y sin interferencias políticas</strong> auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.</p>
<p>8.- <strong>Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España</strong>, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.</p>
<p>9.- <strong>Proponemos una verdadera reforma del derecho de propiedad intelectual</strong> orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.</p>
<p>10.- <strong>En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público</strong> y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/722/en-defensa-de-los-derechos-de-los-ciudadanos-en-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google&#8217;s &#8220;go&#8221; simple &amp; stupid benchmark (2nd round: memspeed)</title>
		<link>http://www.stenyak.com/archives/711/googles-go-simple-stupid-benchmark-2nd-round-memspeed/</link>
		<comments>http://www.stenyak.com/archives/711/googles-go-simple-stupid-benchmark-2nd-round-memspeed/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 08:30:14 +0000</pubDate>
		<dc:creator>stenyak</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[es]]></category>
		<category><![CDATA[computing]]></category>

		<guid isPermaLink="false">http://www.stenyak.com/?p=711</guid>
		<description><![CDATA[Continued from Round 1: I/O Thanks to Juanval for the suggestion. $ cat hello.cpp &#38;&#38; g++ hello.cpp &#38;&#38; &#62; time for i in $(seq 10); do ./a.out; done int main (int argc, char** argv) { const int size = 250; int a[size],b[size],c[size]; for(int i=0;i&#60;size;++i) for(int j=0;j&#60;size;++j) for(int k=0;k&#60;size;++k) c[k]+=a[i]*b[j]; } real 0m1.041s user 0m0.944s sys [...]]]></description>
			<content:encoded><![CDATA[<p>Continued from <a href="http://www.stenyak.com/archives/697/googles-go-simple-stupid-benchmark/">Round 1: I/O</a></p>
<p>Thanks to <a href="http://hombrealto.com">Juanval</a> for the <a href="http://www.stenyak.com/archives/697/googles-go-simple-stupid-benchmark/#comments">suggestion</a>.</p>
<pre>$ cat <strong>hello.cpp</strong> &amp;&amp; g++ hello.cpp &amp;&amp;
&gt; time for i in $(seq 10); do ./a.out; done
int main (int argc, char** argv)
{
    const int size = 250;
    int a[size],b[size],c[size];
    for(int i=0;i&lt;size;++i)
        for(int j=0;j&lt;size;++j)
            for(int k=0;k&lt;size;++k)
                c[k]+=a[i]*b[j];
}
<strong>real</strong><span><strong>	</strong></span><strong>0m1.041s</strong>
<strong>user</strong><span><strong>	</strong></span><strong>0m0.944s</strong>
<strong>sys</strong><span><strong>	</strong></span><strong>0m0.020s</strong></pre>
<hr />
<pre>$ cat <strong>hello.py</strong> &amp;&amp;
&gt; time for i in $(seq 10); do python hello.py; done
size = 250
a,b,c = [0]*size, [0]*size, [0]*size
for i in a:
    for j in b:
        for k in range(0,size):
            c[k] += i*j
<strong>real</strong><span><strong>	</strong></span><strong>1m7.210s</strong>
<strong>user</strong><span><strong>	</strong></span><strong>1m4.924s</strong>
<strong>sys</strong><span><strong>	</strong></span><strong>0m0.084s</strong></pre>
<hr />
<pre>$ cat <strong>hello.go</strong> &amp;&amp; 8g hello.go &amp;&amp; 8l hello.8 &amp;&amp;
&gt; time for i in $(seq 10); do ./8.out; done
package main
func main()
{
    var a,b,c [250]int;
    for i := range a
    {
        for j := range b
        {
            for k := range c
            {
                c[k] += a[i] * b[j];
            }
        }
    }
}
<strong>real</strong><span><strong>	</strong></span><strong>0m3.000s</strong>
<strong>user</strong><span><strong>	</strong></span><strong>0m2.812s</strong>
<strong>sys</strong><span><strong>	</strong></span><strong>0m0.020s</strong></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.stenyak.com/archives/711/googles-go-simple-stupid-benchmark-2nd-round-memspeed/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

