<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-15782557</atom:id><lastBuildDate>Tue, 14 May 2013 19:42:30 +0000</lastBuildDate><category>Personal</category><category>screen</category><category>Música</category><category>terminal</category><category>Programacion</category><category>Internet</category><category>Ruby</category><category>Linux</category><category>Hardware</category><category>minipost blogosfera</category><category>Gadgets</category><category>Viajes</category><category>Gastronomía</category><category>Moodle</category><category>Ocio</category><category>cine</category><category>asciidoc</category><category>Inteligencia colectiva</category><category>natación</category><category>deliberación</category><category>katas</category><category>Educacion</category><category>Colaboración online</category><category>competencias básicas</category><title>Las últimas neuronas de Canx</title><description>Ideas inconexas de un pelotón de neuronas suicidas lanzadas al vacío del ciberespacio</description><link>http://canx.blogspot.com/</link><managingEditor>noreply@blogger.com (Ruben Cancho)</managingEditor><generator>Blogger</generator><openSearch:totalResults>294</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/canx" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="canx" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-5733357612493722112</guid><pubDate>Tue, 30 Apr 2013 07:53:00 +0000</pubDate><atom:updated>2013-04-30T09:53:54.993+02:00</atom:updated><title>Mapa de aprendizaje</title><description>No voy a comentar que he descuidado el blog, eso es algo evidente, y es algo de lo que no me arrepiento por cierto. Ahora las energías las redirijo de forma más selectiva pero me gustaría continuar usando el blog para definir a grandes rasgos mis nuevas inquietudes tecnológicas, para hacer un mapa más preciso que el que se pudiera hacer viendo mis entradas de Twitter.&lt;br /&gt;
&lt;br /&gt;
Así que allá vamos:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Desarrollo móvil y desarrollo web&lt;/b&gt;. Me interesa desde un punto de vista práctico, HTML5 es el futuro y hay que saber utilizarlo en la plataforma más importante del s.XXI: los móviles.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Javascript&lt;/b&gt;. Aunque no voy a dejar de aprender Ruby siento la necesidad de ponerme al día en el lenguaje más popular actualmente y el omnipresente en el lado del cliente. Javascript se ha convertido en un lenguaje de 1er nivel a pesar de su historia y su ecosistema está creciendo de forma bestial.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ruby/Rails&lt;/b&gt;. No voy a descuidar el lado del servidor y voy a 
continuar aprendiendo un lenguaje que me llamó la atención hace tiempo. 
Ruby ya no está de moda pero ya es maduro y sigue siendo un lenguaje muy
 moderno.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Edición de video y screencasts&lt;/b&gt;. Estoy realizando screencasts para mis clases y me está siendo muy útil para tratar la diversidad en clase. Básicamente mi idea es refactorizar mi tiempo de profesor y ser más eficiente, a la vez que tener un mayor alcance. Tengo un gran margen de mejora y aprendizaje aún.&lt;/li&gt;
&lt;/ul&gt;
Me gustaría tener tiempo para añadir más cosas a esta lista pero sería diluirme en el poco tiempo que tengo. De momento dejaré este apunte aquí y en los siguientes posts haré una bitácora de los avances en mi aprendizaje y futuros proyectos.</description><link>http://canx.blogspot.com/2013/04/mapa-de-aprendizaje.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-3582615889189818010</guid><pubDate>Mon, 04 Jun 2012 08:09:00 +0000</pubDate><atom:updated>2012-06-04T10:38:31.036+02:00</atom:updated><title>Experimentando con ejercicios cooperativos y escasez</title><description>Ayer le estuve dando vueltas a como realizar alguna actividad para experimentar con los comportamientos cooperativos vs individualistas y se me ocurrió hacer una actividad de este estilo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_AaXJKhmEhsY/SRT9mIwTQTI/AAAAAAAADvU/VbohSkBfEKs/s400/A.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="316" src="http://2.bp.blogspot.com/_AaXJKhmEhsY/SRT9mIwTQTI/AAAAAAAADvU/VbohSkBfEKs/s320/A.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Supongamos que: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;tenemos una clase con 20 alumnos (eso es mucho suponer, eh Wert?).&lt;/li&gt;
&lt;li&gt;hay un "pool" de 80 preguntas, cada una de ellas con un valor de 1 punto.&lt;/li&gt;
&lt;li&gt;El alumno que primero responde una pregunta tiene dos opciones&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;ol&gt;
&lt;li&gt;se lleva el valor de la pregunta (1 punto) ó&lt;/li&gt;
&lt;li&gt;puede renunciar a su valor y liberar 4 nuevas preguntas en el "pool".&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
Con estas sencillas reglas podríamos experimentar como se comportaría la clase frente a este problema de escasez, ya que es imposible que aprueben todos (80 preguntas sale a 4 puntos por alumno). Pero por otro lado es posible solventar el problema de escasez si los alumnos se comportan de forma cooperativa y renuncian a su propio beneficio inicialmente.&lt;br /&gt;
&lt;br /&gt;
Los alumnos más inteligentes liberarán primero preguntas, intentarán aprobar primero y luego liberaran preguntas o primero consumirán todas las preguntas disponibles hasta llegar a la máxima nota? Los más atrasados extorsionarán a los primeros para que liberen las preguntas? Se llegará a algún tipo de pacto global? Surgirán líderes que ayuden a solventar el conflicto? Como acabará todo? :)</description><link>http://canx.blogspot.com/2012/06/experimentando-con-ejercicios.html</link><author>noreply@blogger.com (Ruben Cancho)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_AaXJKhmEhsY/SRT9mIwTQTI/AAAAAAAADvU/VbohSkBfEKs/s72-c/A.jpg" height="72" width="72" /><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-4582485520989468828</guid><pubDate>Wed, 23 May 2012 21:14:00 +0000</pubDate><atom:updated>2012-05-23T23:27:58.183+02:00</atom:updated><title>Edicion colaborativa online y educación</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://etherpad.org/wp-content/blogs.dir/954/files/etherpad-lite-screenshots/chat-view.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="http://etherpad.org/wp-content/blogs.dir/954/files/etherpad-lite-screenshots/chat-view.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Hace unos meses que me llama la atención todo el tema de aplicaciones web en tiempo real, y más con el auge de los frameworks de servidor en javascript como &lt;a href="http://nodejs.org/"&gt;node&lt;/a&gt; o &lt;a href="http://meteorserver.org/"&gt;meteor&lt;/a&gt;, que permiten crear este tipo de aplicaciones de forma muy eficiente y sin salirse del modelo orientado a eventos de Javascript.&lt;br /&gt;
&lt;br /&gt;
Una de estas aplicaciones que me ha llamado más la atención es &lt;a href="https://github.com/Pita/etherpad-lite"&gt;Etherpad-lite&lt;/a&gt;, un editor colaborativo que está basado en &lt;a href="http://etherpad.com/"&gt;Etherpad &lt;/a&gt;pero a diferencia de este es muy estable y no consume apenas recursos.&lt;br /&gt;
&lt;br /&gt;
La cuestión es que quería comprobar si se podía utilizar esta aplicación en clase y ver si encajaba bien con una metodología de trabajo en grupo. La prueba la he realizado creando grupos de 4 personas que usaban un pad común y en el que yo también me encontraba. La práctica consistía en la realización en grupo de un conjunto de pasos y preguntas orientadas a la consulta y investigación online. Mediante el chat lateral los alumnos podían coordinarse o hacerme preguntas. Las preguntas orales no se permitían siempre y cuando no fueran problemas técnicos.&lt;br /&gt;
&lt;br /&gt;
El Etherpad-lite ha grabado el historial de todo el proceso realizado, lo que permite una evaluación posterior de todo el proceso: quien ha realizado cada parte, como se han ido solucionando los problemas, que interacciones han habido en el grupo, que preguntas se han realizado, etc...
Pero la gran ventaja de utilizar esta herramienta es que tienes un feedback instantaneo de todo el proceso: como profesor puedo ver y corregir en el mismo instante un error que se está escribiendo en tiempo real. Y no solo yo, cualquier otro miembro de su mismo grupo puede hacer lo mismo.&lt;br /&gt;
&lt;br /&gt;
Las preguntas contestadas son recibidas únicamente por el grupo que tiene interés, creandose 0 interferencias, y guardandose en el chat para una posterior lectura: adios a las afonías! Eso sí, el estrés verbal se ve transformado en un estrés de cambio de pestaña para controlar y dar contestación a todos los grupos :)&lt;br /&gt;
&lt;br /&gt;
Respecto al grupo me permite ver facilmente los roles de cada uno: los lideres, los trabajadores, etc... y motiva a los alumnos que no se involucran normalmente a colaborar más, ya que sus colaboraciones quedan reflejadas y registradas por el color de usuario de sus ediciones. Los alumnos más tímidos se sienten más comodos con la comunicación via chat.
A esto hay que sumar que la clase está mucho más tranquila y el tiempo se les pasa volando, lo cual para mí ya sería de por sí todo un exito.&lt;br /&gt;
&lt;br /&gt;
En definitiva, que esta herramienta ha sido un gran descubrimiento y da un gran valor añadido en la enseñanza de cualquier materia, pero como profesor de informática su aprendizaje es aún más valioso porque la colaboración online en tiempo real va a ser una de las competencias necesarias en muchas profesiones del futuro. 100% recomendable.</description><link>http://canx.blogspot.com/2012/05/edicion-colaborativa-online-y-educacion.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-2174614319227445083</guid><pubDate>Wed, 02 May 2012 08:01:00 +0000</pubDate><atom:updated>2012-05-02T12:24:31.929+02:00</atom:updated><title>Vim Zencoding</title><description>Escribir html con vim puede ser un infierno así que me he planteado utilizar algún plugin como &lt;a href="http://mattn.github.com/zencoding-vim/"&gt;Zencoding&lt;/a&gt; que me permita acelerar su escritura. 

Voy a escribir un resumen de los principales atajos, principalmente para evitar mi mala memoria:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1"&gt;
   &lt;tbody&gt;
&lt;tr&gt;
      &lt;th&gt;Accion previa&lt;/th&gt;
      &lt;th&gt;Atajo&lt;/th&gt;
      &lt;th&gt;Efecto conseguido&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;html:5&lt;/td&gt;
      &lt;td&gt;CTRL+y,&lt;/td&gt;
      &lt;td&gt;Crea la estructura básica de un archivo HTML&lt;/td&gt;

&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;div&amp;gt;ul&amp;gt;li*3&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + ,&lt;/td&gt;
      &lt;td&gt;Crea un div con una lista desordenada de 3 elementos vacios&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;div#foo&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + ,&lt;/td&gt;
      &lt;td&gt;Crea un div con el identificador "foo"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;div.foo&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + ,&lt;/td&gt;
      &lt;td&gt;Crea un div con la clase "foo"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;div&gt;p#foo$*3&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + ,&lt;/td&gt;
      &lt;td&gt;Crea un div con 3 párrafos que tienen los identificadores foo1, foo2 y foo3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;http://www.google.es&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + a&lt;/td&gt;
      &lt;td&gt;Crea un enlace a la URL con el contenido del título de la página&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;(Sobre una etiqueta)&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + k&lt;/td&gt;
      &lt;td&gt;Borra la etiqueta y todo su contenido&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;(Sobre una selección visual)&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + ,&lt;/td&gt;
      &lt;td&gt;Permite escribir una expresión que envuelva a la selección. Por ejemplo, escribiendo el tag "div*" envolvería a cada linea seleccionada con una etiqueta div. Si escribieramos el tag "ul&gt;li*" crearía una lista desordenada.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + n&lt;/td&gt;
      &lt;td&gt;Se posiciona en modo de inserción en la siguiente etiqueta con contenido vacío&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + N&lt;/td&gt;
      &lt;td&gt;Se posiciona en modo de inserción en la anterior etiqueta con contenido vacío&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;(Sobre una etiqueta)&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + /&lt;/td&gt;
      &lt;td&gt;Comenta la etiqueta&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
      &lt;td&gt;(Sobre una etiqueta)&lt;/td&gt;
      &lt;td&gt;(CTRL+y) + d&lt;/td&gt;
      &lt;td&gt;Selecciona &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div style="color: red;"&gt;
TODO: continuar añadiendo atajos...
&lt;/div&gt;</description><link>http://canx.blogspot.com/2012/05/vim-zencoding.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-2699974910625767959</guid><pubDate>Sun, 26 Feb 2012 18:43:00 +0000</pubDate><atom:updated>2012-03-01T10:37:23.164+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ruby</category><category domain="http://www.blogger.com/atom/ns#">katas</category><title>kata de ruby: data munging</title><description>Continuando con la entrada anterior esta vez le ha tocado a la &lt;a href="http://codekata.pragprog.com/2007/01/kata_four_data_.html"&gt;kata 4: data munging&lt;/a&gt;. Esta kata está dividida en 3 partes. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Primera parte&lt;/b&gt;&lt;br /&gt;
La primera se titula "Weather Data" y consiste en parsear un archivo de texto (&lt;a href="http://pragdave.pragprog.com/data/weather.dat"&gt;weather.dat&lt;/a&gt;) que contiene datos de temperaturas diarios y hay que obtener el día en el que las temperaturas máxima y mínima se distanciaron menos. Esta es mi versión en Ruby:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1918215.js"&gt; &lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Segunda parte&lt;/b&gt;&lt;br /&gt;
La segunda parte de la kata es muy parecida a la primera. Esta vez tenemos una tabla de equipos de futbol y tenemos que calcular que equipo tiene una diferencia menor entre los goles que ha encajado y los que ha marcado. Es prácticamente calcado al anterior:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1926735.js"&gt; &lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tercera parte&lt;/b&gt;&lt;br /&gt;
En la tercera parte nos proponen intentar refactorizar el código al máximo posible. He conseguido que se pueda resolver las dos partes anteriores en una linea cada una. Eso sí , quizás al refactorizar se ha perdido la expresividad de los símbolos, al no utilizar hashes.&lt;br /&gt;
Por otro lado también falta por refactorizar el calculo del mínimo, que queda pendiente.&lt;br /&gt;
&lt;script src="https://gist.github.com/1945149.js"&gt; &lt;/script&gt;</description><link>http://canx.blogspot.com/2012/02/kata-4-data-munging-parte-1.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-283837425686492528</guid><pubDate>Sun, 12 Feb 2012 17:06:00 +0000</pubDate><atom:updated>2012-02-24T20:54:32.550+01:00</atom:updated><title>kata de ruby: karate chop (v1)</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0kmLVzA0X-c/Tzfw0KrOsPI/AAAAAAAAA2o/ZFMStBlo3JQ/s1600/Iaido2.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="233" width="320" src="http://4.bp.blogspot.com/-0kmLVzA0X-c/Tzfw0KrOsPI/AAAAAAAAA2o/ZFMStBlo3JQ/s320/Iaido2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
En mi camino por recuperarme como programador (por lo que pueda pasar con la &lt;a href="http://www.publico.es/espana/361960/los-recortes-dejan-a-la-escuela-publica-tiritando"&gt;educación pública y tal&lt;/a&gt;) me he propuesto leer unos cuantos libros y aprender Ruby, RoR, Javascript, JQuery, HTML5, TDD, BDD, metodologías agiles, scrum, craftmanship... buff! que alguien pare el mundo que yo me bajo!&lt;br /&gt;
Al final el que mucho abarca poco aprieta y a veces tanta tecnología nueva nubla la vista. Uno de los ejercicios que recomienda Dave Thomas en el libro &lt;a href="http://pragprog.com/the-pragmatic-programmer"&gt;The Pragmatic Programmer&lt;/a&gt; para no bloquearse y avanzar en el aprendizaje es hacer &lt;a href="http://en.wikipedia.org/wiki/Kata_%28programming%29"&gt;katas de programación&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Las katas son problemas sencillos que hay que resolver de diferentes formas y que pueden ayudarte a descubrir nuevas formas de hacer las cosas. Parece ser que a veces con tanto framework y librería uno se olvida de la programación básica y estos ejercicios creo que te permiten respirar aire nuevo antes de volver al intrincado mundo de los proyectos.&lt;br /&gt;
&lt;br /&gt;
Otra ventaja de las katas es que no requieren demasiado tiempo así que me he planteado hacer algunas de las que he encontrado en &lt;a href="http://codekata.pragprog.com/2007/01/code_kata_backg.html"&gt;CodeKata&lt;/a&gt;. De momento esta es la primera solución que he realizado para la kata 2, titulada "&lt;a href="http://codekata.pragprog.com/2007/01/kata_two_karate.html"&gt;karate chop&lt;/a&gt;":&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1809602.js"&gt; &lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
UPDATE 1: Vesbri me avisa de que se puede hacer más corto.</description><link>http://canx.blogspot.com/2012/02/kata-de-ruby-karate-chop-v1.html</link><author>noreply@blogger.com (Ruben Cancho)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-0kmLVzA0X-c/Tzfw0KrOsPI/AAAAAAAAA2o/ZFMStBlo3JQ/s72-c/Iaido2.jpg" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-3750867926070173996</guid><pubDate>Wed, 14 Dec 2011 13:23:00 +0000</pubDate><atom:updated>2011-12-14T17:29:05.694+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Educacion</category><title>Evaluación de mis alumnos</title><description>Al final de la primera evaluación les he pedido a mis alumnos de 4º de la ESO que evaluen mi tarea docente en su blog de clase. Estas son algunas de las frases que me han llamado más la atención. He intercalado comentarios buenos con no tan buenos para compensar:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;"Lo que más me ha gustado de la forma de explicar es el explicar, que el profesor ha explicado bien con el proyeector y con ejemplos muy sencillos y hechos al mismo tiempo que explicaba, vamos que no era una presentación o tipo libro que lo pone y ya está, si no que lo iba haciendo a medida que explicaba." &lt;/blockquote&gt;-&gt; gracias majo :)&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;"Para la proxima evaluación, le pediria al profesor que tuviuese un poco más de caracter porque es muy... "ñoño" y la verdad es que poca gente se lo toma enserio. Que cuando expicase levantase más la voz para nosotros los de la última fila y también para imponerse un poco más."&lt;/blockquote&gt;-&gt; ñoño? no se me toma en serio? eso me ha tocado...&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;"Explica bien. No se pone histérico como otros profesores."&lt;/blockquote&gt;-&gt; a lo largo de mis años como profe he acumulado dosis ingentes de paciencia. O eso o me pillaba la baja por depresión como otros...&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;"Aber  yo  cuando  explicas no te entiendo   mucho por que mareo con tantas cosas   pero cuando te pregunto y bienes a   explicarmelo   como beo lo que aces al final    lo  entiendo todo"&lt;/blockquote&gt;-&gt; Duele leerlo...&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;"cuando no entiendo algo me boqueo y me deprimo, me doi vueltas por clase y te llamo para preguntarte algo, y antes de venir a mi, te das doscientasmiltrescientosochentaycinco vueltas por todos los demas y pasas de mi. osea queeee, no sé."&lt;/blockquote&gt;-&gt; pobre, es muy sensible!&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;"Lo que mas me ha gustado ha sido que lo ha explicado todo paso a paso y tenia el indice de cada clase en el proyector. Lo que menos es que a veces explica en valenciano."&lt;/blockquote&gt;-&gt; la proxima evaluación en ingles, te vas a enterar! :)&lt;br /&gt;
&lt;br /&gt;
Os haceis una idea de como deben ser mis clases y mis alumnos, no? :). En general han sido interesantes y graciosos los comentarios y me sirven para ver que cosas he de mejorar. Por ejemplo, me he dado cuenta de que he de gestionar mejor la forma de resolver dudas. Ir uno por uno es a veces improductivo y repetitivo, así que hay que resolver de forma colectiva más a menudo y con proyector.</description><link>http://canx.blogspot.com/2011/12/evaluacion-de-mis-alumnos.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-6550871222911789477</guid><pubDate>Mon, 05 Dec 2011 11:09:00 +0000</pubDate><atom:updated>2011-12-06T17:35:50.579+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Educacion</category><title>Evaluación de competencias: Rúbricas</title><description>Ya empiezo&amp;nbsp;a entender la forma de evaluar por competencias. Estas&amp;nbsp;se desarrollan principalmente haciendo proyectos y tareas, y&amp;nbsp;la forma de evaluar no es mediante un examen ni evaluando el resultado final con una única nota del&amp;nbsp;proyecto sino evaluando utilizando diferentes medidas relacionadas cada una de ellas con el grado de consecución de una competencia concreta. A esta herramienta de evaluar competencias se le llama rúbricas. Aquí una presentación explicativa:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.slideshare.net/slideshow/embed_code/1487400?rel=0"&gt;http://www.slideshare.net/slideshow/embed_code/1487400?rel=0&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
UPDATE (6/12): Curiosamente la reciente versión de Moodle (2.2) estrena el soporte a las Rúbricas: &lt;a href="http://moodle.org/mod/forum/discuss.php?d=190720"&gt;http://moodle.org/mod/forum/discuss.php?d=190720 &lt;/a&gt;</description><link>http://canx.blogspot.com/2011/12/evaluacion-de-competencias-rubricas.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-1764260985669962489</guid><pubDate>Mon, 05 Dec 2011 09:53:00 +0000</pubDate><atom:updated>2011-12-05T10:53:15.737+01:00</atom:updated><title>Dogma neoliberal</title><description>"Lo privado es siempre más&amp;nbsp;eficiente."&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.vnavarro.org/?p=6576"&gt;http://www.vnavarro.org/?p=6576&lt;/a&gt;</description><link>http://canx.blogspot.com/2011/12/dogma-neoliberal.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-5888832137496169509</guid><pubDate>Wed, 26 Oct 2011 17:42:00 +0000</pubDate><atom:updated>2011-10-26T19:53:39.346+02:00</atom:updated><title>Wifi para conocer vecinos</title><description>Hace poco me he trasladado a &lt;a href="http://g.co/maps/mwwk3"&gt;Burjasot&lt;/a&gt; (cerca de Valencia) y se me ha ocurrido una idea curiosa para conocer gente en el nuevo barrio: crear un punto de acceso abierto que redirija todo el tráfico a un foro &lt;a href="http://www.phpbb.com/"&gt;phpbb&lt;/a&gt; sea cual sea la petición. He creado unas reglas en &lt;a href="http://www.netfilter.org/"&gt;iptables&lt;/a&gt; para que toda petición IP se redirija a mi servidor y también he modificado el &lt;a href="http://thekelleys.org.uk/dnsmasq/doc.html"&gt;dnsmasq &lt;/a&gt;para que toda petición a cualquier dominio se conteste con la misma IP. Aún quedan cosas por pulir en cuanto a seguridad pero funciona... &lt;br /&gt;
Supongo que la típica persona que busca wifis abiertas es porque quiere Internet, y muy probablemente busca la pura consumición de recursos digitales sin más, algo bastante frío e impersonal. Por otro lado a veces es dificil conocer vecinos en la ciudad cuando todo el mundo parece tener un ritmo de vida muy ajetreado y escasean las oportunidades sociales más allá del ascensor. Lo que yo busco en este proyecto es usar las redes para conectar comunidades cercanas, y que nada más cercano que el radio de acción de una red wifi? Espero que el foro sirva para conocer vecinos que tengan inquietudes parecidas, o simplemente para compartir libros, música o películas. Ya veremos en que fructifica... Hace 2 horas que el punto de acceso está encendido. En cuanto el primer vecino comente algo actualizo el post!</description><link>http://canx.blogspot.com/2011/10/wifi-para-conocer-vecinos.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-1572726580788362660</guid><pubDate>Sat, 01 Oct 2011 04:52:00 +0000</pubDate><atom:updated>2011-10-01T10:36:11.961+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">screen</category><category domain="http://www.blogger.com/atom/ns#">Linux</category><category domain="http://www.blogger.com/atom/ns#">terminal</category><title>Fichero de configuración de screen</title><description>Escribo esta entrada para recordar como es un típico ejemplo de fichero de configuración screen (que debe llamarse .screenrc y estar en el directorio $HOME). Este en concreto permite visualizar las diferentes pantallas en la última columna de la terminal y un scroll vertical de 5000 lineas:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code"&gt;startup_message off
multiuser on
defscrollback 5000

caption string "%?%F%{= Bk}%? %C%A %D %d-%m-%Y
 %{= kB} %t%= %?%F%{= Bk}%:%{= wk}%? %n "
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?
%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+
Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'
&lt;/pre&gt;
&lt;br /&gt;
Algunas combinaciones básicas de teclas cuando usamos screen:

&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Ctrl-a+c&lt;/b&gt;: crea una nueva ventana de terminal&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ctrl-a+n&lt;/b&gt;: va a la siguiente terminal&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ctrl-a+p&lt;/b&gt;:va a la terminal anterior&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Ctrl-a+"&lt;/b&gt;:muestra un menú interactivo para elegir la terminal&lt;/li&gt;
&lt;/ul&gt;
Hay muchas opciones más que se pueden consultar con un &lt;b&gt;man screen&lt;/b&gt;. &lt;br /&gt;
&lt;br /&gt;
Con esto ya podemos aprovechar algo del poder de screen y su gestión de terminales!</description><link>http://canx.blogspot.com/2011/10/fichero-de-configuracion-de-screen.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-1153071932134445003</guid><pubDate>Mon, 12 Sep 2011 15:13:00 +0000</pubDate><atom:updated>2011-10-01T07:54:20.417+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Educacion</category><category domain="http://www.blogger.com/atom/ns#">competencias básicas</category><title>Aprendiendo de que van las competencias básicas</title><description>Este año toca rehacer las programaciones didácticas para incorporar las competencias básicas. ¿Y que es eso de las competencias básicas? Ni idea... Veamos si escribir este post me aclara las cosas.&lt;br /&gt;
&lt;br /&gt;
Para empezar leamos el &lt;a href="http://www.stes.es/documentacion/loe/LOE_anexo1_comp_basicas.pdf"&gt;anexo de la LOE sobre las competencias básicas&lt;/a&gt;. Si lo leemos por encima vemos que las competencias básicas son:&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;Aquellas competencias que debe haber desarrollado un joven o una joven al finalizar la enseñanza obligatoria para poder lograr su realización personal, ejercer la ciudadanía activa, incorporarse a la vida adulta de manera satisfactoria y ser capaz de desarrollar un aprendizaje permanente a lo largo de la vida&lt;/i&gt;&lt;/blockquote&gt;
Existen 8 competencias básicas:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;i&gt; Competencia en comunicación lingüística&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Competencia matemática&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Competencia en el conocimiento y la interacción en el mundo físico.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Tratamiento de la información y competencia digital&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Competencia social y ciudadana&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Competencia cultural y artística&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Competencia para aprender a aprender&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Autonomía e iniciativa personal&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&amp;nbsp;Por otro lado vemos cuales son los objetivos de incluir las competencias básicas en la programación didáctica:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;i&gt;Integrar los diferentes aprendizajes, tanto los formales, incorporados a las diferentes áreas o materias, como los informales y no formales.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Permitir a los estudiantes integrar sus aprendizajes, ponerlos en relación con distintos tipos de contenidos y utilizarlos de manera efectiva cuando les resulten necesarios en diferentes situaciones y contextos.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;Orientar la enseñanza, al permitir identificar los contenidos y los criterios de evaluación que tienen carácter imprescindible y, en general, inspirar las distintas decisiones relativas al proceso de enseñanza y de aprendizaje.&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
Veamos, y esto en que se concreta? De que estamos hablando cuando decimos &lt;b&gt;aprendizaje formal o informal&lt;/b&gt;? A que nos referimos con &lt;b&gt;integrar los aprendizajes&lt;/b&gt;? Como identificamos o creamos &lt;b&gt;contenidos y criterios de evaluación&lt;/b&gt; relacionados con las competencias básicas? Que &lt;b&gt;metodologías&lt;/b&gt; están asociadas al desarrollo de dichas competencias básicas? Como se desarrollarían las &lt;b&gt;actividades&lt;/b&gt;? Ejemplos, dadme ejemplos!&lt;br /&gt;
&lt;br /&gt;
A veces me parece que los de ahí arriba son como arquitectos de software que se dedican a hacer diagramas UML sin saber realmente como se van a implementar las clases (nunca mejor dicho) o como lo van a interpretar los programadores. Ningún tipo de feedback hasta el próximo informe PISA. No sería mejor aplicar el desarrollo ágil a la enseñanza y dejarnos de tanto ejercicio de abstracción?</description><link>http://canx.blogspot.com/2011/09/aprendiendo-de-que-van-las-competencias.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-5649690083398607665</guid><pubDate>Tue, 30 Aug 2011 09:31:00 +0000</pubDate><atom:updated>2011-09-12T17:19:53.453+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Educacion</category><title>Institutos en EEUU (II)</title><description>He encontrado &lt;a href="http://www.psk12.com/"&gt;una página&lt;/a&gt; que dice ordena los institutos por rankings, según unas pruebas externas. He querido comparar el mejor instituto de Nueva York con el peor. Esto es lo que sale:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;El mejor&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.blogger.com/%20http://www.psk12.com/rating/USindivphp/SchID_79549_year_2001.html"&gt;Townsend Harris&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Puntuación: 195.4&lt;br /&gt;
Etnias:&lt;br /&gt;
- White/Non-hispanic: 37.1%&lt;br /&gt;
- Black/Non-hispanic: 7.3%&lt;br /&gt;
- Hispanic: 11.6%&lt;br /&gt;
- Asian/Pacific Islander: 43.9%&lt;br /&gt;
- American Indian/Alaska Native: 0%&lt;br /&gt;
&lt;br /&gt;
Lugar: Queens&lt;br /&gt;
Ratio alumno-profesor: 20&lt;br /&gt;
&lt;br /&gt;
Hay un comentario de un alumno sobre el instituto que dice:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Townsend Harris High School is an exemplary academic institution. I am in my third year there. I enjoy the school and I feel that it is a very safe and desirable atmosphere. The students are very friendly, and all the students seem to have an underlying connection to each other, as they are all determined and intelligent people. As much as I enjoy the school and am very grateful for such a great opportunity to attend said school, I feel that there is a lot of unnecessary and tedious school work assigned. I also feel that the school is very competitive in its nature, and that the discipline code and security measures taken to ensure a safe environment are sometimes a bit extraneous. The staff is very friendly, yet I have come across many stringent instructors who have denied me a certain grade because they believe I didn't deserve such a grade. Although these things hang a damper over my opinion of the school, but I am proud of Townsend's superior athletics. Not only does Townsend excel in academics, but also in sports! We have many PSAL teams open to both boys and girls, including a 3-year undefeated girls' swim team, champions in girls' and boys' fencing and an outstanding track team.&lt;br /&gt;
&lt;br /&gt;
I enjoy the many education opportunities offered at Townsend, including the many clubs and exciting electives that are offered.&lt;br /&gt;
&lt;br /&gt;
Overall, I would say that I enjoy going to Townsend Harris, but if you're considering applying and don't feel that you can handle a rigorous curriculum and hours of homework (yes, usually about four!) then this is not the school for you!"&lt;/blockquote&gt;
&lt;br /&gt;
Vamos, parece un instituto modélico. Veamos ahora el peor:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;El peor&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.psk12.com/rating/USindivphp/SchID_79438_year_2001.html"&gt;Alfred E. Smith Vocational&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Puntuación: 0.4&lt;br /&gt;
Etnias:&lt;br /&gt;
- White/Non-hispanic: 1.0%&lt;br /&gt;
- Black/Non-hispanic: 32.6%&lt;br /&gt;
- Hispanic: 63.9%&lt;br /&gt;
- Asian/Pacific Islander: 1.9%&lt;br /&gt;
- American Indian/Alaska Native: 0.5%&lt;br /&gt;
&lt;br /&gt;
Lugar: Bronx&lt;br /&gt;
Ratio alumnos-profesor: 16&lt;br /&gt;
&lt;br /&gt;
Hay un comentario significativo de un profesor que dice:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
"My name is Alfred and I was a substitute at this school and I was almost killed during lunch period. There are fights fought even during rest period."&lt;/blockquote&gt;
&lt;br /&gt;
Vamos, que tiene que ser un infierno para los profesores :)&lt;br /&gt;
&lt;br /&gt;
En cuanto a razas parece que hay una correlación en general. Donde más blancos y asiaticos hay mejores notas. Donde más hispanos y negros peores notas. &lt;br /&gt;
&lt;br /&gt;
Por otro lado en el Townsend Harris para entrar hay que ser &lt;a href="http://staff.thhs.qc.edu/thhs/criteria.php"&gt;un máquina&lt;/a&gt;, mientras que en el Alfred solo dan el &lt;a href="http://schools.nyc.gov/ChoicesEnrollment/High/Admissions/Methods.htm"&gt;procedimiento del Departamento de Educación&lt;/a&gt;, mediante un método llamado "Screened", en el que se evalua la nota media de septimo grado para ordenar a los solicitantes. Aunque también pone que se da prioridad a los alumnos con habla hispana. Por otro lado el Alfred parece más bien un centro de FP porque se enseña una especie de módulo en automoción.&lt;br /&gt;
&lt;br /&gt;
También es curioso que el ratio de alumnos sea mayor en el instituto con mejor puntuación que en el peor, lo que rompe un mito educativo. Y curioso también: ambos centros son públicos.</description><link>http://canx.blogspot.com/2011/08/institutos-en-euu-ii.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-3834736126005623065</guid><pubDate>Tue, 30 Aug 2011 08:10:00 +0000</pubDate><atom:updated>2011-09-12T17:20:04.603+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Educacion</category><title>Institutos en EEUU (I)</title><description>Hoy me ha dado por interesarme por como está la educación secundaria en EEUU. En principio lo he hecho para ver si podía acceder a currículums y materiales para comparar lo que se da pero luego me ha llamado más la atención unas estadisticas que prueban la fragmentación social entre los institutos. Si vais a &lt;a href="http://www.high-schools.com/"&gt;esta página&lt;/a&gt;  podeis encontrar datos sobre todos centros de secundaria públicos o privados de EEUU. Un dato curioso es que se puede ver la etnia de los alumnos en porcentaje, el ratio de profesor-alumno, el número de alumnos y profesores, y si dan ayuda para el comedor escolar.&lt;br /&gt;
&lt;br /&gt;
Me ha dado por hacer una comparativa entre &lt;a href="http://high-schools.com/new-york/new-york.html"&gt;centros de Nueva York&lt;/a&gt; privados y públicos().&lt;br /&gt;
&lt;br /&gt;
Lo primero que llama la atención es que el ratio de alumnos en la pública es más alto en comparación a la privada. No ponen el agregado pero en la pública es más o menos de 15 alumnos por clase y en la privada de 8.&lt;br /&gt;
&lt;br /&gt;
Lo que más me ha chocado es que existen estadísticas de estudiantes por etnia. Los clasifican en estos grupos: indios americanos, asiaticos, negros, hispanos y blancos. De ese modo un padre puede decidir llevar a su hijo según sus preferencias racistas :)&lt;br /&gt;
&lt;br /&gt;
Pues bien, en casi todos los colegios privados que he mirado hay prácticamente un 100% de alumnos blancos, mientras que en los publicos es justamente lo contrario.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, el &lt;a href="http://high-schools.com/schools/12144/bard-high-school-early-college.html"&gt;Brad % Roses Integrated Arts High School&lt;/a&gt; (público), tiene estas etnias:&lt;br /&gt;
&lt;br /&gt;
American Indian - 2 (0%)&lt;br /&gt;
Asian - 2 (0%)&lt;br /&gt;
Black - 255 (52%)&lt;br /&gt;
Hispanic - 226 (46%)&lt;br /&gt;
White - 3 (1%)&lt;br /&gt;
&lt;br /&gt;
Mientras que el &lt;a href="http://high-schools.com/schools/108778/birch-wathen-lenox-school.html"&gt;Birch Wathen Lenox School&lt;/a&gt; (privado) tiene:&lt;br /&gt;
&lt;br /&gt;
American Indian - 0 (0%)&lt;br /&gt;
Asian - 28 (6%)&lt;br /&gt;
Black - 30 (7%)&lt;br /&gt;
Hispanic - 17 (4%)&lt;br /&gt;
White - 370 (83%)&lt;br /&gt;
&lt;br /&gt;
Si continuais mirando otros institutos el patrón se repite entre los públicos y privados. Lo próximo a investigar son los resultados académicos por escuelas públicas o privadas, si lo encuentro actualizaré el post.</description><link>http://canx.blogspot.com/2011/08/institutos-publicos-vs-privados-en-eeuu.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-8267823748834861926</guid><pubDate>Fri, 05 Aug 2011 16:31:00 +0000</pubDate><atom:updated>2011-09-12T17:21:01.894+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">asciidoc</category><title>Asciidoc,o cómo complicarse la vida para hacer un documento</title><description>De mi época en la universidad y de husmear alguna vez en los paquetes de Linux me suena &lt;a href="http://es.wikipedia.org/wiki/LaTeX"&gt;Latex&lt;/a&gt;, un lenguaje para la escritura de artículos y libros que prima la estructura frente al estilo. Os dejo un ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;\documentclass[12pt]{article}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\title{\LaTeX}
\date{}
% Este es un comentario, no será mostrado en el documento final.
\begin{document}
\maketitle \LaTeX{} es un programa para preparar documentos con 
el sistema de tipograf\'{\i}as\footnote{%nota al pie de página
Seg\'{u}n Wikipedia, la tipograf\'{i}a es el arte y t\'{e}cnica del manejo y selecci\'{o}n de tipos, 
originalmente de plomo, para crear trabajos de impresi\'{o}n } %fin nota al pie de página
\TeX{}. \LaTeX{} fue desarrollado originalmente por Leslie Lamport 
en 1984 y se convirti\'o en el m\'etodo dominante para la 
manipulaci\'on de \TeX. La versi\'on utilizada para generar 
este documento es \LaTeXe.
\newline
% El siguiente código muestra la calidad de la tipografía de LaTeX
\begin{align}
E &amp;amp;=&amp;amp; mc^2                              \\
m &amp;amp;=&amp;amp; \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
\end{align}
\end{document}
&lt;/pre&gt;
&lt;br /&gt;
Con Latex escribías este texto directamente en un editor de texto o apoyado con algun editor más visual como texmaker y luego lo convertías a un formato intermedio (dvi) antes de pasarlo a pdf o ps. Era un lenguaje popular en el ambiente universitario. Me acuerdo que me volvía loco con esos editores visuales porque no permitían más de un retorno de carro porque era la estructura la que dictaba la separación y no tu libre albedrío: me sentía reprimido :)&lt;br /&gt;
&lt;br /&gt;
Hace poco he leido en &lt;a href="https://groups.google.com/forum/#%21topic/asciidoc/F9gRpitXJVs"&gt;alguna parte&lt;/a&gt; que hay autores de O'reilly que escriben los libros en &lt;a href="http://www.methods.co.nz/asciidoc/"&gt;Asciidoc&lt;/a&gt;, y resulta ser un lenguaje parecido a Latex pero mucho más sencillo de entender y que además intenta separar el contenido del estilo, además de hacerlo estructurado. Os dejo un ejemplo:&lt;br /&gt;
&lt;pre&gt;Titulo del libro
================
Autor
v1.0, 2011
:toc:
:doctype: book

Primera parte del libro
=======================

[intro]
.Titulo de introducción opcional
--
Introducción opcional va aquí
--

Primer capítulo
---------------
Aqui escribimos el capítulo.
&lt;/pre&gt;
&lt;br /&gt;
Después de conocer Latex un poco de mis tiempos mozos y de compararlo con Asciidoc este último me ha enamorado. Es muy intuitivo de escribir y separa completamente el contenido y la estructura del estilo final del documento. Primero escribes el documento con un editor de texto (aún no existen por desgracia herramientas visuales para asciidoc aunque sí &lt;a href="http://www.vim.org/scripts/script.php?script_id=1832"&gt;plugins&lt;/a&gt; de coloreado para vim, por ejemplo). Posteriormente validas la estructura del documento con un DTD como &lt;a href="http://es.wikipedia.org/wiki/DocBook"&gt;DocBook&lt;/a&gt; y generas un archivo XML. A partir de este archivo le aplicamos los estilos con una hoja &lt;a href="http://es.wikipedia.org/wiki/XSLT"&gt;XSLT&lt;/a&gt; para generar el archivo &lt;a href="http://es.wikipedia.org/wiki/XSL_Formatting_Objects"&gt;XSL:FO&lt;/a&gt;, que contiene los datos más el estilo y que será transformado posteriormente a PDF o PS.&lt;br /&gt;
&lt;br /&gt;
Una ventaja de este tipo de formatos respecto a formatos &lt;a href="http://es.wikipedia.org/wiki/WYSIWYG"&gt;WYSIWIG&lt;/a&gt; como OpenOffice o Word es que no estamos atados a ningún editor en concreto, podemos usar el que mejor dominemos. Asciidoc además es muy facil de leer en plano. Otra ventaja es que al ser archivos de texto podemos usar un repositorio de versiones como &lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; para controlar el proceso de desarrollo del documento. También que nos ayuda a ceñirnos a una estructura predefinida de documento. Y por último que podemos generar automáticamente varios formatos personalizados (pdf, epub, html) a partir del mismo contenido&lt;br /&gt;
&lt;br /&gt;
Como desventaja está que hay que aprender el lenguaje de escritura (Asciidoc/Latex) y que el proceso de generación de los formatos finales puede ser tedioso. Por eso lo mejor es automatizarlo con algún script o archivo make (o rake), y luego ya puedes poner el editor a pantalla completa y centrarte en lo que realmente importa: el contenido. &lt;br /&gt;
&lt;br /&gt;
En fin, realizado el descubrimiento de Asciidoc creo que voy a intentar a partir de ahora usarlo para escribir los documentos del instituto y ya os iré contando mis peleas y conflictos internos en el camino. Creo que al final lo que me gusta de todo esto es que hace de la escritura un procedimiento muy limpio, parecido a compilar un programa. Al final parece que uno no puede ignorar sus orígenes :)</description><link>http://canx.blogspot.com/2011/08/asciidoco-como-complicarse-la-vida-para.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-6610829377788067469</guid><pubDate>Fri, 01 Jul 2011 12:50:00 +0000</pubDate><atom:updated>2011-09-12T17:20:23.113+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ruby</category><title>Asociación uno a muchos con ActiveRecord</title><description>Voy a continuar con mi proceso de aprendizaje de Ruby on Rails, y para ello nada mejor que ir contando las cosas a medida que se aprenden.&lt;br /&gt;
&lt;br /&gt;
Hoy hablaré de las diferentes formas de mapear un modelo relacional utilizando ActiveRecord. &lt;br /&gt;
Para empezar vamos a ver la relación de pertenencia "uno a muchos" y para ello crearemos dos tablas que se llamarán "grupo" y "persona" y las relacionaremos. Vamos a utilizar el scaffolding para este paso:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ rails generate model grupo nombre:string
$ rails generate model persona nombre:string
&lt;/pre&gt;
&lt;br /&gt;
Esto crea los archivos de migración siguientes en la carpeta "db/migrate":&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=migrations.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y también crea los modelos vacíos en "app/models" &lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=empty_model.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Ahora nos falta aplicar esas migraciones para que podamos usar los modelos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;rake db:migrate
&lt;/pre&gt;
&lt;br /&gt;
Si ahora vamos a la consola de rails veremos que podemos crear y salvar objetos de nuestros modelos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ rails c
ruby-1.9.2-p180 :005 &amp;gt; ramones = Grupo.new(:nombre =&amp;gt; "Los Ramones")
 =&amp;gt; #&lt;grupo "los="" created_at:="" id:="" nil,="" nil="" nombre:="" ramones",="" updated_at:=""&gt; 
ruby-1.9.2-p180 :006 &amp;gt; ramones.save
  SQL (64.9ms)  INSERT INTO "grupos" ("created_at", "nombre", "updated_at") VALUES (?, ?, ?)  [["created_at", Fri, 01 Jul 2011 07:57:20 UTC +00:00], ["nombre", "Los Ramones"], ["updated_at", Fri, 01 Jul 2011 07:57:20 UTC +00:00]]
 =&amp;gt; true 
ruby-1.9.2-p180 :007 &amp;gt; joey = Persona.new(:nombre =&amp;gt; "Joey Ramone")
 =&amp;gt; #&lt;persona "joey="" created_at:="" id:="" nil,="" nil="" nombre:="" ramone",="" updated_at:=""&gt; 
ruby-1.9.2-p180 :008 &amp;gt; joey.save
  SQL (0.4ms)  INSERT INTO "personas" ("created_at", "nombre", "updated_at") VALUES (?, ?, ?)  [["created_at", Fri, 01 Jul 2011 07:58:06 UTC +00:00], ["nombre", "Joey Ramone"], ["updated_at", Fri, 01 Jul 2011 07:58:06 UTC +00:00]]
 =&amp;gt; true
&lt;/persona&gt;&lt;/grupo&gt;&lt;/pre&gt;
&lt;br /&gt;
También podemos consultar las tablas en la base de datos directamente:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ rails db
sqlite&amp;gt; .tables
grupos             personas           schema_migrations
sqlite&amp;gt; .schema grupos
CREATE TABLE "grupos" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "nombre" varchar(255), "created_at" datetime, "updated_at" datetime);
sqlite&amp;gt; .schema personas
CREATE TABLE "personas" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "nombre" varchar(255), "created_at" datetime, "updated_at" datetime);
sqlite&amp;gt; SELECT * from grupos;
1|Los Ramones|2011-07-01 07:57:20.559158|2011-07-01 07:57:20.559158
sqlite&amp;gt; SELECT * from personas;
1|Joey Ramone|2011-07-01 07:58:06.926128|2011-07-01 07:58:06.926128
&lt;/pre&gt;
&lt;br /&gt;
Pero si ahora queremos añadir una persona a un grupo no podemos. Para solucionarlo vamos a crear una relación ""uno a muchos" entre los modelos utilizando los modificadores :has_many y :belongs_to. La única diferencia entre :has_many y :belongs_to es que :belongs_to se ha de usar en el modelo que contenga la clave foránea. Nuestras modelos quedarían así:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=model_2.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Ahora tendríamos que hacer una migración para añadir la clave foránea grupo_id en la tabla Persona:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;rails generate migration AddGrupoIdToPersona grupo_id:integer
&lt;/pre&gt;
&lt;br /&gt;
lo que me generaría la siguiente migración, a la que le hemos añadido manualmente el indice:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=migration_2.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
luego volvemos a hacer un "rake db:migrate". Para ver si se han aplicado los cambios podemos hacerlo también mirando el archivo "db/schema.rb":&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=schema.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Vemos que el schema está como toca y probamos a ver si está también en la base de datos real:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ rails db
sqlite&amp;gt; .schema personas
CREATE TABLE "personas" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "nombre" varchar(255), "created_at" datetime, "updated_at" datetime, "grupo_id" integer);
CREATE INDEX "index_personas_on_grupo_id" ON "personas" ("grupo_id");
&lt;/pre&gt;
&lt;br /&gt;
Parece todo correcto. Vamos a añadir algunas filas a las tablas, pero esta vez utilizando el fichero seeds.rb:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=seeds.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
A continuación recreamos la base de datos vacía y vamos a poblar la base de datos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;rake db:schema:load
rake db:seed
&lt;/pre&gt;
&lt;br /&gt;
Y ahora vamos a consultar las filas con ActiveRecord:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ rails c
&amp;gt; Persona.find_by_nombre("John Lennon").grupo.nombre
  Persona Load (0.2ms)  SELECT "personas".* FROM "personas" WHERE "personas"."nombre" = 'John Lennon' LIMIT 1
  Grupo Load (0.1ms)  SELECT "grupos".* FROM "grupos" WHERE "grupos"."id" = 2 LIMIT 1
 =&amp;gt; "The Beatles"
&lt;/pre&gt;
&lt;br /&gt;
Si ahora queremos que John Lennon pertenezca a "Los Ramones" podríamos hacer:&lt;br /&gt;
&lt;br /&gt;
&lt;script src="https://gist.github.com/1058457.js?file=add.rb"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Y eso es todo por hoy! En próximos capítulos intentaré ver el resto de tipos de asociaciones que podemos realizar con ActiveRecord. Hasta luego!</description><link>http://canx.blogspot.com/2011/07/tipos-de-asociaciones-con-activerecord.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-3092260450327862362</guid><pubDate>Tue, 07 Jun 2011 15:42:00 +0000</pubDate><atom:updated>2011-09-12T17:20:33.782+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Programacion</category><title>Virtual pair programming: ssh + screen</title><description>Para realizar programación en parejas virtual podemos utilizar herramientas de escritorio remoto como vnc, pero si no tenemos mucho ancho de banda o queremos más velocidad una opción es usar un editor de consola como vim o emacs, conectarse via ssh y compartir la consola con la herramienta screen. Aquí os enseño un poco como funciona esta herramienta:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/RFSd5B-DcGs" width="425"&gt;&lt;/iframe&gt;</description><link>http://canx.blogspot.com/2011/06/virtual-pair-programming-ssh-screen.html</link><author>noreply@blogger.com (Ruben Cancho)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/RFSd5B-DcGs/default.jpg" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-4501795514479174981</guid><pubDate>Sun, 03 Apr 2011 07:43:00 +0000</pubDate><atom:updated>2011-04-05T23:08:54.371+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ruby</category><title>Primeros pasos con ActiveRecord</title><description>&lt;a href="http://api.rubyonrails.org/classes/ActiveRecord/Base.html"&gt;ActiveRecord&lt;/a&gt; es la "gem" (o librería) normalmente utilizada para acceder a la base de datos en &lt;a href="http://www.rubyonrails.org"&gt;Ruby On Rails&lt;/a&gt;. ActiveRecord implementa el &lt;a href="http://en.wikipedia.org/wiki/Active_record_pattern"&gt;patrón que tiene su propio nombre&lt;/a&gt; y que fue expuesto por Martin Fowler en el 2003 en su libro "Patterns of Enterprise Application Architecture". Básicamente es un objeto que expone la funcionalidad CRUD de una base de datos utilizando clases, objetos, métodos y atributos.&lt;br /&gt;
&lt;br /&gt;
Se intuye la sencillez de la librería en este primer ejemplo que he hecho que crea una fila en una tabla:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;rubygems&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="ident"&gt;require&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;active_record&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;

&lt;span class="constant"&gt;ActiveRecord&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Base&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;establish_connection&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;
  &lt;span class="symbol"&gt;:adapter&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;mysql&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt;
  &lt;span class="symbol"&gt;:host&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;localhost&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt;
  &lt;span class="symbol"&gt;:username&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;project&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt;
  &lt;span class="symbol"&gt;:password&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;xxxxxx&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;,&lt;/span&gt;
  &lt;span class="symbol"&gt;:database&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;project_development&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt;

&lt;span class="keyword"&gt;class &lt;/span&gt;&lt;span class="class"&gt;Account&lt;/span&gt; &lt;span class="punct"&gt;&amp;lt;&lt;/span&gt; &lt;span class="constant"&gt;ActiveRecord&lt;/span&gt;&lt;span class="punct"&gt;::&lt;/span&gt;&lt;span class="constant"&gt;Base&lt;/span&gt;
&lt;span class="keyword"&gt;end&lt;/span&gt;

&lt;span class="ident"&gt;account&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Account&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;new&lt;/span&gt;
&lt;span class="ident"&gt;account&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;username&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;ruben&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&lt;/span&gt;
&lt;span class="ident"&gt;account&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;save&lt;/span&gt;
&lt;/pre&gt;</description><link>http://canx.blogspot.com/2011/04/primeros-pasos-con-activerecord.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-2481232933741141461</guid><pubDate>Sun, 13 Mar 2011 20:06:00 +0000</pubDate><atom:updated>2011-03-14T19:54:50.637+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ruby</category><title>Editando Rails con Vim</title><description>Una de las preguntas que uno se hace cuando empieza a aprender un lenguaje es: qué editor utilizo? En Ruby hay mucho frikismo respecto al editor, y la gente se ha vuelto fan de una aplicación para Mac que se llama &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt;. Pero como yo no pienso cambiar de Linux pues las opciones que había barajado eran:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&amp;nbsp;&lt;a href="http://projects.gnome.org/gedit/"&gt;Gedit&lt;/a&gt; (con los &lt;a href="https://github.com/mig/gedit-rails"&gt;plugins&lt;/a&gt; para rails)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://aptana.com/rails"&gt;Aptana RadRails&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Usar&lt;a href="http://www.vim.org/"&gt; vim&lt;/a&gt; (con los&lt;a href="http://rails.vim.tpope.net/"&gt; plugins&lt;/a&gt; para rails)&lt;/li&gt;
&lt;/ul&gt;Al final me he decantado por la 3a opción. Os dejo una captura donde estaba haciendo una de las prácticas del libro "Ruby on Rails 3 Tutorial: Learn By Example", con el vim a la izquierda y a la derecha el autotest, el servidor de rails y una consola de rails funcionando: &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-63EWvUkZkFs/TX0ile3toZI/AAAAAAAAAyM/fb7iDG9J7Jg/s1600/vim.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-63EWvUkZkFs/TX0ile3toZI/AAAAAAAAAyM/fb7iDG9J7Jg/s320/vim.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://canx.blogspot.com/2011/03/editando-rails-con-vim.html</link><author>noreply@blogger.com (Ruben Cancho)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh4.googleusercontent.com/-63EWvUkZkFs/TX0ile3toZI/AAAAAAAAAyM/fb7iDG9J7Jg/s72-c/vim.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-6242252517203959234</guid><pubDate>Tue, 08 Mar 2011 10:11:00 +0000</pubDate><atom:updated>2011-03-08T11:11:32.571+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ruby</category><title>Gems</title><description>Una de las cosas que más sorprende cuando empiezas con Ruby on Rails es que Ruby on Rails es solo el principio de todo porque existen cientos y cientos de librerías llamadas gems que permiten extender tu aplicación y usar nueva funcionalidad.&lt;br /&gt;
Todas las gems que utilices en un proyecto tienen que estar especificadas en el fichero "Gemfile". Para hacerse una idea de la cantidad de gems que existen y que es lo que hacen puedes pasarte por &lt;a href="http://rubygems.org/"&gt;RubyGems&lt;/a&gt;.</description><link>http://canx.blogspot.com/2011/03/gems.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-4453864251033750160</guid><pubDate>Mon, 07 Mar 2011 08:28:00 +0000</pubDate><atom:updated>2011-03-14T19:55:04.643+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ruby</category><title>Aprendiendo ruby</title><description>Últimamente estoy dedicando algunos ratos a aprender el lenguaje Ruby y su fantástico framework para desarrollo web: Ruby on Rails. Estoy leyendome el libro &lt;a href="http://ruby.railstutorial.org/"&gt;"Ruby on Rails tutorial: Learn Rails by Example"&lt;/a&gt; y estoy dando mis primeros pasos con BDD y TDD aprendiendo cucumber y rspec. En verdad es un choque cultural bastante grande tener que pensar que primero hay que redactar historias y tests antes de programar pero lo vamos a intentar.&lt;br /&gt;
Espero poner algunos ejemplos de mis fracasos y éxitos durante el proceso de aprendizaje...</description><link>http://canx.blogspot.com/2011/03/aprendiendo-ruby.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-4195082597697968821</guid><pubDate>Mon, 14 Feb 2011 11:58:00 +0000</pubDate><atom:updated>2011-02-14T12:58:06.421+01:00</atom:updated><title>idea para modelo de negocio Open Source</title><description>Se me ocurre que una forma refinada de monetizar el software libre ligeramente diferente a la típica de una versión libre y una versión premium:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Se comienza con un producto completamente libre para dar difusión al proyecto.&lt;/li&gt;
&lt;li&gt;Los desarrolladores o los usuarios proponen nuevas funcionalidades y le asignan colaborativamente un valor/coste al desarrollo de la funcionalidad, de forma democrática.&lt;/li&gt;
&lt;li&gt;Se pueden realizar donaciones para implementar funcionalidades, o de forma general al proyecto.&lt;/li&gt;
&lt;li&gt;Las funcionalidades se ordenan según valor/coste/donaciones. &lt;/li&gt;
&lt;li&gt;Se pueden desarrollar funcionalidades aunque no se hayan recaudado los fondos pero se guarda el valor de la funcionalidad realizada al desarrollador para pago en futuro.&lt;/li&gt;
&lt;li&gt;Las funcionalidades implementadas se introducen en la versión privativa.&lt;/li&gt;
&lt;li&gt;A medida que se vayan recaudando fondos (bien por donaciones, bien por venta de producto privativo) se irán pagando proporcionalmente a los desarrolladores en función del coste de las tareas acumuladas.&lt;/li&gt;
&lt;li&gt;Solo cuando una funcionalidad ha sido costeada completamente por los fondos de donación se introduce en la versión libre.&lt;/li&gt;
&lt;/ul&gt;</description><link>http://canx.blogspot.com/2011/02/idea-para-modelo-de-negocio-open-source.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-5516137126112608216</guid><pubDate>Thu, 03 Feb 2011 12:45:00 +0000</pubDate><atom:updated>2011-02-03T13:46:14.622+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">minipost blogosfera</category><title>Minipost: seguimiento de comentarios</title><description>En una comunidad de blogs la unica forma de seguir a un miembro es agregar su rss o visitar frecuentemente su página. Pero la actividad de un miembro no se limita a escribir posts, sino también a comentar otros blogs, bien sean de la comunidad o bien sean externos a ella.&lt;br /&gt;
&lt;br /&gt;
Como podríamos seguir no solo los posts de un miembro sino también los comentarios de este en cualquier otro blog, siempre que el nos de permiso?</description><link>http://canx.blogspot.com/2011/02/minipost-seguimiento-de-comentarios.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-3313335659766481837</guid><pubDate>Fri, 14 Jan 2011 11:48:00 +0000</pubDate><atom:updated>2011-01-14T13:00:05.024+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Colaboración online</category><title>Herramientas de colaboración online</title><description>Últimamente me estoy dedicando a buscar herramientas online que persigan la filosofía colaborativa explicada en el post anterior. De las que más me han llamado la atención están:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/www.ideatorrent.org"&gt; IdeaTorrent&lt;/a&gt;. Un generador de ideas colaborativo que es utilizado por &lt;a href="http://brainstorm.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; y también por el&lt;a href="https://xifrat.pirata.cat/"&gt; partido pirata catalán&lt;/a&gt; entre otros.&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/bettermeans.com"&gt;Bettermeans&lt;/a&gt;. Un sistema de colaboración online donde no hay jerarquías y todo se guia por una mezcla de democracia y meritocracia. Muy interesante!&lt;/li&gt;
&lt;/ul&gt;Estas y otras herramientas están incluidas en el &lt;a href="http://www.mindmeister.com/es/12213323/best-online-collaboration-tools-2010-robin-good-s-collaborative-map"&gt;Robin Good's Collaborative Map&lt;/a&gt;, un mapa conceptual de herramientas colaborativas que merece la pena estudiar para ver las últimas tendencias de las herramientas de colaboración online.</description><link>http://canx.blogspot.com/2011/01/herramientas-de-colaboracion-online.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-15782557.post-2478574045105247615</guid><pubDate>Sun, 02 Jan 2011 08:22:00 +0000</pubDate><atom:updated>2011-01-25T14:13:32.978+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Inteligencia colectiva</category><category domain="http://www.blogger.com/atom/ns#">deliberación</category><title>Deliberación, Internet y inteligencia colectiva</title><description>Últimamente le he estado dando vueltas a los problemas que tienen las herramientas de comunicación 2.0, es decir: los foros, los blogs, los wikis, facebook, twitter....&lt;br /&gt;
Parece que sean herramientas maravillosas para comunicarse pero el &lt;span style="font-weight: bold;"&gt;índice de ruido&lt;/span&gt; que generan es muy alto, o lo que es lo mismo, es dificil &lt;span style="font-weight: bold;"&gt;deliberar&lt;/span&gt; y llegar a consensos de forma sencilla.&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, en un foro es muy sencillo olvidarse del tema principal y enzarzarse en una lucha de egos, o centrarte únicamente en los hilos que te interesan. También está el problema de que todo se suele ordenar por el tiempo, como en los foros y blogs, donde una buena idea puede acabar enterrada por otros posts más irrelevantes. Y por último las opiniones a los posts están juntas, independientemente de su calidad o su afinidad con la resolución del problema.&lt;br /&gt;
&lt;br /&gt;
Creo que la próxima revolución en Internet será que la gente pueda &lt;span style="font-weight: bold;"&gt;participar de manera más constructiva y controlada&lt;/span&gt; en la búsqueda y resolución de problemas colectivos, vamos, que exista una verdadera inteligencia colectiva.&lt;br /&gt;
&lt;br /&gt;
No es un problema fácil porque potencialmente pueden haber millones de usuarios colaborando en un tema, que puede ser muy complejo y tener diferentes intereses contrapuestos. Sin embargo he visto ya varios proyectos que intentan controlar el proceso deliberativo siguiendo una estructura en el proceso deliberativo, en el que se siguen los siguientes pasos básicos:&lt;br /&gt;
&lt;br /&gt;
1.- Se fórmula un problema&lt;br /&gt;
2.- Se proponen soluciones&lt;br /&gt;
3.- Se dan argumentos a favor y en contra&lt;br /&gt;
4.- Se elige la mejor solución&lt;br /&gt;
&lt;br /&gt;
Esta sería la base, luego hay que añadirle pequeñas &lt;span style="font-weight: bold;"&gt;medidas de control&lt;/span&gt; que eviten el sabotaje o que mejoren el proceso de selección de soluciones, como la moderación distribuida, los incentivos a la colaboración positiva, el sistema de votación, etc...&lt;br /&gt;
&lt;br /&gt;
Buscando proyectos afines a esta idea llegué al&lt;a href="http://cci.mit.edu/"&gt; MIT Center of Collective Intelligence&lt;/a&gt;, un grupo de investigación que tiene varios proyectos relacionados y tiene una &lt;a href="http://cci.mit.edu/klein/videos/concepts-intro.mov"&gt;presentación sobre el tema&lt;/a&gt; que merece la pena ver para darse cuenta del problema.&lt;br /&gt;
&lt;br /&gt;
Tambien merece la pena que le echeis un vistazo al proyecto principal que desarrollan, llamado &lt;a href="http://climatecolab.org/"&gt;ClimateColab&lt;/a&gt;, un proyecto que pretende que podamos luchar contra el cambio climático proponiendo y opinando de una forma más constructiva.&lt;br /&gt;
&lt;br /&gt;
Creo que este tipo de cambios sutiles en las páginas web, para que sean más participativos y constructivos y permitan una mayor colaboración distribuida sin aumentar el ruido van a verse cada vez más en Internet. Igual algunos lo llamarán la Web 3.0, quien sabe!</description><link>http://canx.blogspot.com/2011/01/deliberacion-internet-y-inteligencia.html</link><author>noreply@blogger.com (Ruben Cancho)</author><thr:total>0</thr:total></item></channel></rss>
