<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1743125470502421334</id><updated>2012-01-24T14:49:05.225-03:00</updated><category term='comunicaciones'/><category term='Software Libre'/><category term='Proyeccion psicologica'/><category term='JRSL 2008'/><category term='NSA'/><category term='Teoria sobre otras mentes'/><category term='generators'/><category term='pycon 2009. python'/><category term='smalltalk'/><category term='smarties'/><category term='Reinvention programming'/><category term='fisica de particulas'/><category term='Random surfer'/><category term='ET'/><category term='pycon'/><category term='RecursosLibres'/><category term='Educacion'/><category term='argentina'/><category term='PHP'/><category term='comprehension lists'/><category term='PHP internals'/><category term='python'/><category term='CapeTown'/><category term='haskell'/><category term='neutrino'/><category term='Alan kay'/><category term='Traits'/><title type='text'>La pilita de Gutes</title><subtitle type='html'>Sobre pilitas se sostiene el hombre... Guarda que no sean de papel!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-8336810851149848082</id><published>2010-07-16T13:42:00.006-03:00</published><updated>2010-10-26T17:16:50.290-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='argentina'/><category scheme='http://www.blogger.com/atom/ns#' term='Random surfer'/><category scheme='http://www.blogger.com/atom/ns#' term='NSA'/><title type='text'>Documentos Argentinos Declasificados por NSA y el Random surfer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://t0.gstatic.com/images?q=tbn:ANd9GcR_KR3BpbrpnKrixnj3kpYn1LBwHeUwyNo8oJtJdJRzhvsC2lw&amp;t=1&amp;usg=__v4s2qJ075SyK6ZxXZpRici18lh0="&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 201px;" src="http://t0.gstatic.com/images?q=tbn:ANd9GcR_KR3BpbrpnKrixnj3kpYn1LBwHeUwyNo8oJtJdJRzhvsC2lw&amp;t=1&amp;usg=__v4s2qJ075SyK6ZxXZpRici18lh0=" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Extraños son los caminos que sigue el &lt;span style="font-weight:bold;"&gt;navegante aleatorio&lt;/span&gt;,Que estos dias en particular me tiene leyendo papers a rolete y que en otra ocasión voy a escribir específicamente sobre lo interesante del problema del mismo (si están ansiosos empiecen sin mí: &lt;a href="http://en.wikipedia.org/wiki/PageRank"&gt;http://en.wikipedia.org/wiki/PageRank&lt;/a&gt;).  &lt;br /&gt;&lt;br /&gt;En esta ocasión, a raíz del descubrimiento un &lt;a href="http://thebroccoliconspiracy.com"&gt;amigo&lt;/a&gt; que descubrió una lista de documentos declasificados de la &lt;a href="http://www.nsa.gov/"&gt;NSA&lt;/a&gt; (National Security Agency para los amigos). Donde figuran 14 documentos que contienen información de inteligencia y espías en argentina, por la época de la segunda guerra:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size:10px"&gt;&lt;br /&gt;NR 407  CBBC12 5863A 19380408 REPORT OF ARGENTINIAN CRYPTANALYST BOARD&lt;br /&gt;NR 746  CBCB11 242A 19430223 ARGENTINE FIVE LETTER CODE&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NR 1403 CBKG76 10933A 19440829 GERMAN CLANDESTINE RADIO CODE MESSAGES AND AXIS AGENTS IN ARGENTINA&lt;/span&gt;&lt;br /&gt;NR 1574 CBKI13 5395A 19431122 GERMAN AGENT ENCIPHERED MESSAGES FROM ARGENTINA TO SPAIN&lt;br /&gt;NR 1604 CBKI62 5914A 19430508 ARGENTINE MERCHANT SHIP GRID POSITION REPORTS&lt;br /&gt;NR 1605 CBKI62 5919A 19431122 CABLE ADDRESSES USED BY COMPANIES AND INDIVIDUALS IN ARGENTINA&lt;br /&gt;NR 1616 CBKI62 5955A 19421204 SECRET INK COMMUNICATION FROM ARGENTINA TO NEW YORK&lt;br /&gt;NR 1950 CBLJ43 411A 19430721 MILITARY ATTACHE REPORTS FROM ARGENTINA CONCERNING GERMAN COMMUNICATIONS&lt;br /&gt;NR 2053 CBLK11 131A 19450315 TAPPING OF CABLES, ARGENTINA, 1945&lt;br /&gt;NR 2054 CBLK11 158A 19450616 INFORMATION ON CODE MESSAGES FOUND IN EX-GERMAN EMBASSY ARCHIVES-ARGENTINA&lt;br /&gt;NR 2383 CBLM11 1061A 19420818 WORKSHEETS FOR ARGENTINE A-O CODE&lt;br /&gt;NR 4064 ZEMA151 46229A 19440112 INTELLIGENCE REPORT SERIAL NO. 23-44 ON ARGENTINA FOREIGN PENETRATION&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NR 4663 ZEMA42 506A 19430916 HANS ZWEIGERT, WITH ALIASES; JAVIER AZAROLA, ARGENTINA ESPIONAGE&lt;/span&gt;&lt;br /&gt;NR 4923 ZEMA99 45438A 19420000 CODES AND CIPHERS: ARGENTINA AR-29 ENCODE AND DECODE.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.monomachines.com/skin/frontend/default/a025/images/nsa_seal.jpeg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 150px;" src="http://www.monomachines.com/skin/frontend/default/a025/images/nsa_seal.jpeg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ahondando un poco en los nombres que aparecen como HANS ZWEIGERT, WITH ALIASES; JAVIER AZAROLA, llegué (&lt;a href="http://www.stanford.edu/~dgleich/publications/2010/gleich-2010-teleportation.html"&gt;cortesía del fenómeno de teletransportación del navegante aleatorio&lt;/a&gt;) llegé a un &lt;a href="http://www.elgrancapitan.org/foro/viewtopic.php?p=244454&amp;sid=8fd944430e73a2dbf1752945e51a68b9#p244454"&gt;post en un foro&lt;/a&gt; que tiene algunas cosas que también resultan interesantes.&lt;br /&gt;&lt;br /&gt;De ahí, y otra vez gracias al navegante, me enteré que los nazis intentaron destruir reiteradas veces las instalaciones nucleares de &lt;a href="http://en.wikipedia.org/wiki/Oak_Ridge,_Tennessee"&gt;Oak Ridge&lt;/a&gt;, en el contexto del &lt;a href="http://en.wikipedia.org/wiki/Manhattan_Project"&gt;Proyecto Manhattan&lt;/a&gt;. Resulta que en mayo anduve por ahí, en el &lt;a href="http://www.ornl.gov/"&gt;Oak Ridge National Laboratory&lt;/a&gt;, pura &lt;span style="font-style:italic;"&gt;"casualidad"?&lt;/span&gt;, nahhh determinado por el mismísimo random surfer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-8336810851149848082?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nsa.gov/public_info/declass/entries.shtml' title='Documentos Argentinos Declasificados por NSA y el Random surfer'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/8336810851149848082/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=8336810851149848082' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/8336810851149848082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/8336810851149848082'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2010/07/documentos-argentinos-declasificados.html' title='Documentos Argentinos Declasificados por NSA y el Random surfer'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-5552875578014166699</id><published>2009-09-10T15:25:00.015-03:00</published><updated>2009-10-31T17:35:22.368-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='generators'/><category scheme='http://www.blogger.com/atom/ns#' term='haskell'/><category scheme='http://www.blogger.com/atom/ns#' term='comprehension lists'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>List comprehensions y generadores: Haskell y Python para principiantes</title><content type='html'>Un feature que siempre me gustó de Python son las &lt;a href="http://docs.python.org/tutorial/datastructures.html#list-comprehensions"&gt;list comprehensions&lt;/a&gt; (o listas por comprensión) y los &lt;a href="http://docs.python.org/tutorial/classes.html#generators"&gt;generadores&lt;/a&gt;. En este post voy a escribir un texto que me hubiera gustado encontrar un tiempo atrás cuando por primera vez me topé con estas maravillas.&lt;br /&gt;&lt;br /&gt;Una lista por comprensión es una forma de obtener una lista de manera "descriptiva", por ejemplo la lista de las primeras 10 potencias de 2:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Podría obtenerse como:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;[2**n for n in range(0,11)]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Que se pdoría leer como: &lt;span style="font-style:italic;"&gt;"2 elevado a la n, para n en el rango de 0 a 11"&lt;/span&gt;. En este caso &lt;span style="font-family:monospace;"&gt;range()&lt;/span&gt; es un generador de números.&lt;br /&gt;&lt;br /&gt;Qué significa que sea un generador? simplemente que retorna un iterador y a medida que se le pidan cosas las va a ir produciendo (existe otra función que hace esto mismo con mejoras en el consumo de memoria, llamada &lt;span style="font-family:monospace;"&gt;xrange()&lt;/span&gt;, pero no me voy a poner a explicarlo acá).&lt;br /&gt;&lt;br /&gt;Entonces podríamos por ejemplo, querer hacer un generador que me devuelva los números de la &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number"&gt;secuencia de fibonacci&lt;/a&gt; (nunca le encontré el sentido a usar esta secuencia, salvo para jugar, que es lo que estamos haciendo...). Entonces veamos un poco qué herramientas nos provee python (algunas) para hacer generadores.&lt;br /&gt;&lt;br /&gt;El siguiente código va contando. Hasta cuando? por siempre, me devuelve un número atrás del otro siempre que yo le pida:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def contar():&lt;br /&gt;  x = 0&lt;br /&gt;  while True:&lt;br /&gt;   yield x&lt;br /&gt;   x = x + 1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;El operador &lt;a href="http://docs.python.org/reference/simple_stmts.html#grammar-token-yield_stmt"&gt;&lt;span style="font-weight:bold;"&gt;yield&lt;/span&gt;&lt;/a&gt; alcanza para crear un generador. Lo que hace es devolver el control al caller de la función generadora. Al volver a llamarse el generador, retoma la ejecución desde la línea siguiente al yield, haciendo lo que queremos y no devolviendo siempre 0, o colgarse (por el while True).&lt;br /&gt;&lt;br /&gt;En una consola de python, podemos probarlo:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;&gt;&gt;&gt; a = contar()&lt;br /&gt;&gt;&gt;&gt; a.next()&lt;br /&gt;0&lt;br /&gt;&gt;&gt;&gt; a.next()&lt;br /&gt;1&lt;br /&gt;&gt;&gt;&gt; a.next()&lt;br /&gt;2&lt;br /&gt;&gt;&gt;&gt; a.next()&lt;br /&gt;3&lt;br /&gt;&gt;&gt;&gt; a.next()&lt;br /&gt;4&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Lo mismo hacemos ahora, pero para generar la venerada secuencia (notar que los dos primeros están aparte pues son los casos base de la definición recursiva de la secuencia)&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def fib():&lt;br /&gt;  i = 0 &lt;br /&gt;  first = 0 &lt;br /&gt;  yield first&lt;br /&gt;  second = 1  &lt;br /&gt;  yield second&lt;br /&gt;  while True:&lt;br /&gt;    next = first + second &lt;br /&gt;    first = second&lt;br /&gt;    second = next&lt;br /&gt;    yield next&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ahora bien, todo muy lindo pero de donde vienen estas bondades como las listas por comprensión y los generadores? Bueno, las listas por comprensión al menos, fue un feature que Python "tomó prestado" de otro lenguaje... &lt;a href="http://www.haskell.org/"&gt;Haskell&lt;/a&gt;, del paradigma funcional. &lt;br /&gt;&lt;br /&gt;Cómo hacemos esto mismo que acabamos de hacer en Python en Haskell? Empecemos por las listas por comprensión:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightblue;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;Main&gt; [2^n| n&lt;-[0..10]]&lt;br /&gt;[1,2,4,8,16,32,64,128,256,512,1024]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Que "leído" sería: "Los dos-a-la-N que vienen de tomar n de la lista de 0 a 10", como Haskell habla mas que nada, el lenguaje de los matemáticos, no tiene problemas similares al range(n,m) de python, que va de n a (m-1)...&lt;br /&gt;&lt;br /&gt;Sigamos. Qué notan de raro en la línea en haskell? Un &lt;span style="font-weight:bold;"&gt;generador&lt;/span&gt;!, en realidad dos! Por qué?&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightblue;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;Main&gt; [0..10]&lt;br /&gt;[0,1,2,3,4,5,6,7,8,9,10]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Genera la secuencia de 0 a 10. Mientras que &lt;span style="font-style:italic;"&gt;n &lt;-[0..10]&lt;/span&gt;&lt;br /&gt; en el contexto de la lista por comprensión, va "tomando" n's de la lista.&lt;br /&gt;&lt;br /&gt;Algo importante para decir, es que los generadores dentro de las listas por comprensión, tanto en Python como en Haskell pueden anidarse, prueben estos códigos en Python y Haskell respectivamente:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightblue;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;Main&gt; [ (x,y)| x&lt;-[0..5], y&lt;-[11..15] ]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;[(x,y) for x  in range(0,6) for y in range(11,16)]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Dan lo mismo!&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Una prueba de velocidad&lt;/h3&gt;&lt;br /&gt;Ya es suficiente como para que el que este leyendo esto siga investigando por su cuenta las bondades de los generadores y las listas por comprensión tanto en Python como en Haskell, al final del post hay algunos links.&lt;br /&gt;Pero me quedé jugando, y probé algunas cosas... por ejemplo. Fíjense estas definiciones de funciones que hay para ir tomando los números de fibonacci en Haskell:&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightblue;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fibo 0 = 0&lt;br /&gt;fibo 1 = 1&lt;br /&gt;fibo n = fib (n-1) + fib (n-2)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;fib :: Int -&gt; Integer&lt;br /&gt;fib n = fibs !! n&lt;br /&gt;  where&lt;br /&gt;    fibs = 0 : 1 : zipWith (+) fibs (tail fibs)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;fibo&lt;/span&gt; es la versión recursiva, LENTA que me va dando los números de la lista. Cada vez que quiere calcular el n-ésimo número, tiene que calcular los (n-1) y (n-2)-ésimos, y para calcular cada uno de estos seguir hacia atrás, por lo que el orden de este algoritmo es exponencial.&lt;br /&gt;En cambio &lt;span style="font-style:italic;"&gt;fib&lt;/span&gt; es una versión que hace uso de una SUPER bondad de los lenguajes funcionales que son los &lt;a href="http://www.haskell.org/haskellwiki/Fold"&gt;folds&lt;/a&gt;, funciones de alto orden (les recomiendo leer este último link!). Esta implementación tiene orden lineal, o sea, que la podemos poner a competir con la versión que habíamos armado para python y que la competencia sea mas justa... hagamoslo!&lt;br /&gt;&lt;br /&gt;Los competidores:&lt;br /&gt;&lt;div style="background-color:lightblue;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;fib :: Int -&gt; Integer&lt;br /&gt;fib n = fibs !! n&lt;br /&gt;  where&lt;br /&gt;    fibs = 0 : 1 : zipWith (+) fibs (tail fibs)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;VS.&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color:lightgreen;font-family:'monospace';font-size:10px;width:300px;padding:3px;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def fib():&lt;br /&gt;  i = 0 &lt;br /&gt;  first = 0 &lt;br /&gt;  yield first&lt;br /&gt;  second = 1  &lt;br /&gt;  yield second&lt;br /&gt;  while True:&lt;br /&gt;    next = first + second &lt;br /&gt;    first = second&lt;br /&gt;    second = next&lt;br /&gt;    yield next&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Los invito a que lo prueben... En el próximo post mis resultados...&lt;br /&gt;&lt;br /&gt;Espero que este post les haya dejado algo!&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;a href="http://wiki.python.org/moin/PythonVsHaskell"&gt;Este link&lt;/a&gt; es en la doc de python una comparación con Haskell.&lt;br /&gt;&lt;a href="http://www.haskell.org/haskellwiki/List_comprehension"&gt;http://www.haskell.org/haskellwiki/List_comprehension&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.haskell.org/haskellwiki/Fold"&gt;http://www.haskell.org/haskellwiki/Fold&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zvon.org/other/haskell/Outputprelude/zipWith_f.html"&gt;http://www.zvon.org/other/haskell/Outputprelude/zipWith_f.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.python.org/tutorial/datastructures.html#list-comprehensions"&gt;http://docs.python.org/tutorial/datastructures.html#list-comprehensions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.python.org/tutorial/classes.html#generators"&gt;http://docs.python.org/tutorial/classes.html#generators&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-5552875578014166699?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='' href='http://www.haskell.org/haskellwiki/List_comprehension' length='0'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/5552875578014166699/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=5552875578014166699' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/5552875578014166699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/5552875578014166699'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2009/09/list-comprehensions-haskell-y-python.html' title='List comprehensions y generadores: Haskell y Python para principiantes'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-5062991045181073278</id><published>2009-09-05T23:13:00.003-03:00</published><updated>2009-09-05T23:23:43.361-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pycon 2009. python'/><title type='text'>Se fue Pycon Argentina 2009</title><content type='html'>Hoy terminó &lt;a href="ar.pycon.org/2009"&gt;Pycon 2009&lt;/a&gt;, la verdad es que nos llevo mucho tiempo prepararla y superó las expectativas en todos los sentidos (asistentes, salió todo perfecto, no se robaron nada... :D). Las charlas estuvieron muy buenas y variadas y la gente parece haberla disfrutado mucho. &lt;br /&gt;&lt;br /&gt;En cuanto estén los slides de las charlas comento las que pude ver. Ahora me voy a dormir, que no doy mas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-5062991045181073278?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/5062991045181073278/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=5062991045181073278' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/5062991045181073278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/5062991045181073278'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2009/09/se-fue-pycon-argentina-2009.html' title='Se fue Pycon Argentina 2009'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-2884523370524096234</id><published>2009-06-02T15:17:00.006-03:00</published><updated>2009-10-31T17:36:16.376-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='argentina'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='pycon'/><title type='text'>Pycon Argentina Call for Charlas (CFCh)</title><content type='html'>Se agradece la difusión. y espero verlos a todos ahi! (quienquiera que lea este blog!)&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Call For Charlas (CFCh)&lt;br /&gt;PyCon Argentina - &lt;a href="http://ar.pycon.org"&gt;http://ar.pycon.org/ &lt;/a&gt;&lt;br /&gt;Primera Conferencia Argentina de Python &lt;br /&gt;Buenos Aires - 4 y 5 de Septiembre de 2009'''&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;PyAr, el grupo de usuarios de Python de Argentina invita a toda la comunidad de usuarios de Python y de Software Libre en general a proponer presentaciones y charlas para la Primera Conferencia Argentina de Python. &lt;br /&gt;&lt;br /&gt;En este evento nos juntaremos desarrolladores y programadores tanto principiantes como avanzados; bloggers, autores y diseñadores web; gerentes, administradores y emprendedores; científicos, ingenieros, curiosos y todo aquel que tenga ganas de acercarse a la comunidad Python en Argentina.&lt;br /&gt;&lt;br /&gt;El autor de cada charla seleccionada podrá participar presencialmente, como orador en el evento. En los casos en que la charla sea realizada por varios autores, se permitirá un máximo de 3 oradores.&lt;br /&gt;&lt;br /&gt;Aclaración: Por cuestiones presupuestarias, sólo se podrán financiar los pasajes, total o parcialmente, de algunos autores seleccionados que residan fuera de Capital Federal o Gran Buenos Aires. Por favor aclarar junto a la propuesta de charla si se solicita ayuda económica.&lt;br /&gt;&lt;br /&gt;Agradecemos la contribución de todos en la difusión de este llamado y del evento en si mediante los banners diseñados para tal fin y que se encuentran en http://ar.pycon.org/2009/helping/publicize/&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dónde enviar las Charlas&lt;/b&gt;&lt;br /&gt;Las charlas deben ser ingresadas para su aprobación en &lt;br /&gt;http://ar.pycon.org/2009/conference/proposals/submit/ &lt;br /&gt;La fecha límite de envío de charlas es el Lunes 29 de Junio inclusive.&lt;br /&gt;En caso de consultas o inconvenientes, contactarse con charlas[.--arroba-- .]python.org.ar&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cómo enviar las Charlas&lt;/b&gt;&lt;br /&gt;El envío de la propuesta de charla debe tener los siguientes datos:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Título:&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Autor(es): Nombre y apellido, breve descripción de cada uno, foto, asociación, grupo de usuarios, organismo, o empresa a la que pertenece, si corresponde.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tiempo estimado de duración: Las charlas generalmente son de 45'. En caso de que sea mayor o menor el tiempo requerido solicitamos su justificación.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Breve descripción de la charla: Uno o dos párrafo(s) que explique -no tan brevemente- el contenido de la presentación.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Nivel objetivo de la charla: introductorio / intermedio / avanzado&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tipo de publico: Desarrolladores avanzados, desarrolladores principiantes, empresarios, docentes, público en general&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Conocimientos previos: Especificar que conocimientos previos deberán tener los asistentes.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tags: web, gui, databases, frameworks, orm, ide, ciencia, educación, juegos, comunidad, etc.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Teléfono del/los autor/es: Para poder comunicarnos.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ciudad de residencia del/los autor/es.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Qué formato deben tener las Presentaciones&lt;/b&gt;&lt;br /&gt;El envío de las diapositivas y/o presentaciones debe tener alguno de los siguientes formatos:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;Openoffice.org presentation&lt;/li&gt;&lt;br /&gt; &lt;li&gt;HTML standard &lt;/li&gt;&lt;br /&gt; &lt;li&gt;Postscript o PDF &lt;/li&gt;&lt;br /&gt; &lt;li&gt;Texto plano &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Licencia&lt;/b&gt;&lt;br /&gt;Debe especificarse una licencia que permita que !PyAr distribuya el material en un CD de Documentación y que permita ser descargado del sitio web de !PyAr. Se recomienda &lt;a href="http://creativecommons.org"&gt;Creative Commons&lt;/a&gt; o similares.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-2884523370524096234?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/2884523370524096234/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=2884523370524096234' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/2884523370524096234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/2884523370524096234'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2009/06/pycon-argentina-call-for-charlas-cfch.html' title='Pycon Argentina Call for Charlas (CFCh)'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-3173040385972067780</id><published>2008-08-22T10:43:00.005-03:00</published><updated>2008-08-22T13:29:05.095-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JRSL 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Libre'/><title type='text'>Jornadas de software libre 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tbn0.google.com/images?q=tbn:0s4Hgvalec5bJM:http://www.cafeconf.org/eventos/octubre-04/logo-cafelug.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px;" src="http://tbn0.google.com/images?q=tbn:0s4Hgvalec5bJM:http://www.cafeconf.org/eventos/octubre-04/logo-cafelug.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Ayer estuve en las &lt;a href="http://jornadas.cafelug.org.ar/8/es/home.php"&gt;Jornadas Regionales de Software Libre&lt;/a&gt;, muy bien organizadas por &lt;a href="http://wiki.cafelug.org.ar/index.php/Portada"&gt;CaFelug&lt;/a&gt;, la verdad es que estuvo muy bueno (hoy sigue) y les recomiendo ir. &lt;br /&gt;&lt;br /&gt;Tuve la oportunidad de ir a las charlas de &lt;a href="http://users.rcn.com/python/index.htm"&gt;Raymond Hettinger&lt;/a&gt;, core developer de python y la verdad me encataron sus charlas. En la primera habló de &lt;a href="http://www.python.org/download/releases/3.0/"&gt;python-3000 (py3k)&lt;/a&gt; y algunos de los features/cambios que hicieron en el lenguaje (que vale la pena aclarar, no es backward-compatible con código 2.x, aunque proveen de las tools para transformar el código). En cuanto suban el material de las charlas lo apunto.&lt;br /&gt;&lt;br /&gt;En cuanto a la segunda charla, dió un tutorial de &lt;a href="http://users.rcn.com/python/download/Descriptor.htm"&gt;descriptors&lt;/a&gt; que estuvo muy bueno. Basicamente fue una charla muy didactica y con un nivel tecnico interesante.&lt;br /&gt;&lt;br /&gt;Sobre el final del día y como broche de oro, habló &lt;a href="http://es.wikipedia.org/wiki/Jon_Hall"&gt;John "maddog" Hall&lt;/a&gt; (su &lt;a href="http://www.linuxjournal.com/blog/1000864"&gt;blog&lt;/a&gt;) titulada "Making Money and Saving Money with Free Software" donde hizo un muy comico (vestido de astronauta!) recorrido sobre las formas de emprender proyectos con software libre, los beneficios reales de este y en particular, se concentró en desmentir la falacia del TCO (Total Cost of Ownership), medida que &lt;a href="http://www.microsoft.com"&gt;algunas empresas&lt;/a&gt; utulizan como bandera de ataque el software libre, contra el &lt;span style="font-weight:bold;"&gt;valor&lt;/span&gt; del software libre en cuanto a flexibilidad para adaptarse a las necesidades de negocios y no de los negocios al software.&lt;br /&gt;&lt;br /&gt;Bueno, no queria dejar de contar algunas cosas que vi, pronto pongo links al material&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-3173040385972067780?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jornadas.cafelug.org.ar/8/es/home.php' title='Jornadas de software libre 2008'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/3173040385972067780/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=3173040385972067780' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/3173040385972067780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/3173040385972067780'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/08/jornadas-de-software-libre-2008.html' title='Jornadas de software libre 2008'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-7575262999657929105</id><published>2008-07-03T21:24:00.006-03:00</published><updated>2008-08-10T16:42:58.771-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Alan kay'/><category scheme='http://www.blogger.com/atom/ns#' term='smalltalk'/><category scheme='http://www.blogger.com/atom/ns#' term='Reinvention programming'/><title type='text'>El fin de los tiempos</title><content type='html'>Bueno, hace tiempo que quiero postear algo sobre esto. Parece que un cambio de paradigma GROSO se esta gestando.&lt;br /&gt;&lt;br /&gt;Resulta que hay un señor llamado &lt;a href="http://en.wikipedia.org/wiki/Alan_Kay"&gt;Alan Kay&lt;/a&gt;, ya consagrado científico, ganador del &lt;a href="http://awards.acm.org/homepage.cfm?awd=140"&gt;Turing Award 2003&lt;/a&gt; (que es como el oscar pero en ciencias de la computacion), premio que otorgaron a Dijkstra, Knuth, Rivest+Shamir+Adelman (RSA), y otros. Kay se embarco en un proyecto cuyo proposito es "Revolucionar la programacion".&lt;br /&gt;&lt;br /&gt;Para variar, entre las cosas que hizo Kay, está el lenguaje &lt;a href="http://en.wikipedia.org/wiki/Smalltalk"&gt;Smalltalk&lt;/a&gt; que lo inventó mientras trabajaba para Xerox. Dicho sea de paso, este lenguaje revolucionó el mundo de la programación, con el denominado Object Oriented Programming (OOP) que basicamente se transformo en el paradigma de-facto para la industria de software (salvo uno que otro kamikaze que programa COBOL u otras yerbas), ojo, en el ambito academico hay muchos otros paradigmas recopados como el funcional, pero no me quiero ir de tema.&lt;br /&gt;&lt;br /&gt;Entonces Kay Recibió un &lt;a href="http://www.vpri.org/pdf/NSF_prop_RN-2006-002.pdf"&gt;funding de la NSF&lt;/a&gt; para llevar a cabo un proyecto &lt;span style="font-weight:bold;"&gt;PARA REVOLUCIONAR LA COMPUTACION&lt;/span&gt;, asi, como lo digo. Y se lo grantearon.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vpri.org/pdf/steps_TR-2007-008.pdf"&gt;Este&lt;/a&gt; es el informe de avance del primer año, donde cuentan los delirios que se les ocurrieron. Basicamente proponen:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;Reinventar los sistemas operativos&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Reinventar las conexiones entre redes&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Reinventar los soportes de informacion&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Reinventar todo&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Como? Inventaron un &lt;span style="font-weight:bold;"&gt;Meta-meta language- language&lt;/span&gt; (lo escribo en ingles porque los modificadores directos tienen sentido solo en ese idioma) que basicamente es un lenguaje para escribir lenguajes, incluso para reescribirse a si mismo. Si, limaron.&lt;br /&gt;&lt;br /&gt;Entonces comenzaron a reinventar todo, obviamente, con el concepto de que TODO, TODO es un objeto. Conexiones de red, documentos impresos, pdf. Todo combinable, ya que los objetos deberian poder recibir estimulos de otros objetos, y saber responder, todo con mensajes. O sea, que un objeto deberia poder hacer SOLO lo que su interfaz (de objeto) le permite. &lt;br /&gt;&lt;br /&gt;Es muy largo el informe, y sinceramente parece de ciencia ficcion al principio, pero a medida que vas leyendo no podes creer lo que estan haciendo.&lt;br /&gt;&lt;br /&gt;Cada vez mas convencido, si este tipo levanta un dedo, es porque tiene algo para decir, ninguna pavada.&lt;br /&gt;&lt;br /&gt;Les recomiendo, leanlo. Por mi parte a medida que pueda seguir les voy a contar mas. &lt;br /&gt;&lt;br /&gt;Ahh, otra cosa, Kay tambien invento cosas como &lt;a href="http://en.wikipedia.org/wiki/Etoys_(programming_language)"&gt;Etoys&lt;/a&gt; para enseñar a programar a los chicos, ya que tambien da clases en escuelas primarias, enseñando programación. En el informe (entre tantas cosas) dice que "los chicos deberian aprender a programar en el mismo momento en el que aprenden a escribir". Loco? en 20 años vemos.&lt;br /&gt;&lt;br /&gt;Que lo disfruten!&lt;br /&gt;&lt;br /&gt;Toda la info del proyecto en : &lt;a href="http://www.vpri.org/html/work/ifnct.htm"&gt;http://www.vpri.org/html/work/ifnct.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;gutes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-7575262999657929105?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.vpri.org/html/work/ifnct.htm' title='El fin de los tiempos'/><link rel='enclosure' type='text/html' href='http://www.vpri.org/html/words_links/articles_ifnct.htm' length='0'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/7575262999657929105/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=7575262999657929105' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/7575262999657929105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/7575262999657929105'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/07/el-fin-de-los-tiempos.html' title='El fin de los tiempos'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-2965905919109815431</id><published>2008-05-21T10:38:00.003-03:00</published><updated>2008-05-21T11:14:35.907-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ET'/><category scheme='http://www.blogger.com/atom/ns#' term='comunicaciones'/><category scheme='http://www.blogger.com/atom/ns#' term='neutrino'/><category scheme='http://www.blogger.com/atom/ns#' term='fisica de particulas'/><title type='text'>ET Phone Home: sobre neutrinos</title><content type='html'>Ayer encontré en &lt;a href="http://slashdot.org/"&gt;slashdot&lt;/a&gt; un &lt;a href="http://arxiv.org/pdf/0805.2429v1"&gt;paper (en formato pdf)&lt;/a&gt; sobre unos tipos que plantean las comunicaciones intergalacticas (suena muy a ficción, pero básicamente se refieren a distancias enormes en el espacio) que como medio usan a los neutrinos.&lt;br /&gt;&lt;br /&gt;Para entender mejor de que hablaban volvi a leer con mas detenimiento que son los neutrinos, que tipos hay, etc. Les cito algo de historia:&lt;br /&gt;&lt;br /&gt;(NOTA: también descubrí que los papers de física de este tipo, estan escritos horribles, como una narrativa del siglo 13 sobre alguna construcción matemática, pero bue, debe ser su estilo particular)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Neutrinos&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Los neutrinos son de la familia de los &lt;a href="http://en.wikipedia.org/wiki/Fermion"&gt;fermiones&lt;/a&gt;, son particulas super chiquitas, tan chiquitas que traspasan cualquier tipo de materia (mas chiquitos incluso que los fotones).&lt;br /&gt;&lt;br /&gt;Resulta que &lt;a href="http://en.wikipedia.org/wiki/Wolfgang_Pauli"&gt;W. Pauli &lt;/a&gt;postuló la noción de neutrino para encajar un error de cuenta que tenía cuando estab midiendo la conservación de energía y de momento en &lt;a href="http://en.wikipedia.org/wiki/Beta_decay"&gt;beta decays&lt;/a&gt; (según la sabia wikipedia, esto es cuando por resultado de un decaimiento radioactivo una particula beta (electron o positron) es emitido). Bueno, en fin, lo postuló (aparentemente) para describir que una particula no detectaba se llevaba la energía que le faltaba en la medición de energía, momento y  &lt;a href="http://en.wikipedia.org/wiki/Angular_momentum"&gt;momento angular&lt;/a&gt;.&lt;br /&gt;El nombre "neutrino" se lo dió &lt;a href="http://en.wikipedia.org/wiki/Enrico_Fermi"&gt;E. Fermi&lt;/a&gt; pero no voy a ahondar en esto que no lei nada.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Volviendo al paper. Primero discuten qué tipo de neutrinos son mejores para este tipo de comunicaciones, basandose en los niveles de Señal/Ruido que aceptan, también evalúa neutrinos de distintos niveles de energía (medidos en &lt;a href="http://en.wikipedia.org/wiki/Electronvolt"&gt;eV, electronVolt&lt;/a&gt; - 1 MeV/c² = 1.783×10&lt;sup&gt;−30&lt;/sup&gt; kg, parede que en fisica de particulas, la masa y la energía son intercambiables, gracias al laburo de Einstein, entonces esta medida se usa como medida de masa o energía).&lt;br /&gt;&lt;br /&gt;Una de las cosas que postulan estos tipos es que los de &lt;a href="http://www.seti.org/"&gt;SETI&lt;/a&gt; que son una fundación que se dedica a tratar de explicar la vida en el universo, no encuentran hace años ninguna señal que viene del espacio (o del mas alla) porque de alguna manera ya no se transmite sobre fotones o particulas mas grandes. O sea, que como no tenemos la tecnología como para sensar partículas más chicas entonces por eso (podría ser) que no podemos escuchar a los parientes de ET.&lt;br /&gt;&lt;br /&gt;Después discute como codificar la información (usando la oscilación de los neutrinos)  con propiedades de los neutrinos, tambien parece que plantean una especie de super rayos de neutrinos que tienen mucha energía (o masa) pero bue, mi super nulo entendimiento de la materia no me permite llegar ams alla.&lt;br /&gt;&lt;br /&gt;Les recomiendo el &lt;a href="http://arxiv.org/pdf/0805.2429v1"&gt;paper&lt;/a&gt;, yo no lo terminé de leer, ni entendí un 10%. Lo que sí pude hacer, es acordarme por qué era eso de que quería estudiar física después de computación :D .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-2965905919109815431?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://arxiv.org/abs/0805.2429' title='ET Phone Home: sobre neutrinos'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/2965905919109815431/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=2965905919109815431' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/2965905919109815431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/2965905919109815431'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/05/et-phone-home-sobre-neutrinos.html' title='ET Phone Home: sobre neutrinos'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-1266656580003618689</id><published>2008-03-18T11:42:00.014-03:00</published><updated>2008-04-03T12:31:36.202-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smarties'/><category scheme='http://www.blogger.com/atom/ns#' term='Teoria sobre otras mentes'/><category scheme='http://www.blogger.com/atom/ns#' term='Proyeccion psicologica'/><title type='text'>Teorias acerca de otras mentes</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span&gt;&lt;strong&gt;&lt;span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Disclaimer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;strong&gt; Este NO es un post &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;computronico&lt;/span&gt; pero debo advertirles que es un poco volado (al menos el tema que trata). Si esperan algo mas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;terricola&lt;/span&gt; salteen este post.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Un &lt;a href="http://cosas-jb.blogspot.com/"&gt;amigo&lt;/a&gt; me prestó un &lt;a href="http://www.fondodeculturaeconomica.com/ED_Detalle.asp?ctit=731029R"&gt;libro&lt;/a&gt; Titulado &lt;strong&gt;Sistemas emergentes. O qué tienen en común hormigas neuronas, ciudades y software.&lt;/strong&gt; de &lt;a href="http://www.amazon.com/s/ref=nb_ss_gw/104-0365681-2092756?url=search-alias%3Daps&amp;amp;field-keywords=steven+johnson+&amp;amp;x=0&amp;amp;y=0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Steven&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Johnson&lt;/span&gt;&lt;/a&gt;. El libro es una especie de introducción un tanto &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;computrónica&lt;/span&gt; a la &lt;a href="http://en.wikipedia.org/wiki/Collective_intelligence"&gt;inteligencia colectiva&lt;/a&gt;, este término refiere a la inteligencia que (con un apropiado uso del término) &lt;strong&gt;emerge&lt;/strong&gt; de la interacción de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;indivduos&lt;/span&gt; (personas/animales/programas) con comportamiento de cierta forma acotado y atómico. Un ejemplo recurrente en el libro son las hormigas.&lt;br /&gt;&lt;br /&gt;Las hormigas forman colonias y poseen un comportamiento bastante elemental como individuos. Una hormiga puede decidir cargar comida y llevarla al hormiguero, recolectar cadáveres y llevarlos al área que la propia colonia designó para esto. El asunto es (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;brevemente&lt;/span&gt;, ya que no es el propósito del post) que la colonia como una unidad tiene comportamiento del cual los individuos que la componen (las hormigas) no son conscientes, ni siquiera saben que está'ocurriendo, y por supuesto, tampoco ejercen una conducta que lleve a estos resultados colectivos. En fin, esa es muy brevemente, una posible explicación mediante un ejemplo de lo que significa el comportamiento emergente.&lt;br /&gt;&lt;br /&gt;Pero dentro del libro, descubrí un tema que realmente me interesa, y es la capacidad del ser humano de elaborar teorías acerca de otras mentes. Y me voy a detener un rato en contar de qué se trata esto con 2 ejemplos sacados del libro:&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;La prueba de los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;smarties&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Perner&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Leekam&lt;/span&gt;, &amp;amp; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Wimmer&lt;/span&gt;, 1987)&lt;/h4&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JflrjiMnR0Y/R9_ypy47OYI/AAAAAAAAAe8/0SI3WI04AOE/s1600-h/smarties.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_JflrjiMnR0Y/R9_ypy47OYI/AAAAAAAAAe8/0SI3WI04AOE/s320/smarties.gif" alt="" id="BLOGGER_PHOTO_ID_5179124896348453250" border="0" /&gt;&lt;/a&gt; Si &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;clickean&lt;/span&gt; en la imagen la van a ver mas grande. Pero &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;aca&lt;/span&gt; va al traducción: Una maestra muestra a un niño una caja de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;smarties&lt;/span&gt; (unas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;pastillitas&lt;/span&gt; de chocolate muy conocidas, que vienen en &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;tubito&lt;/span&gt;) y le pregunta:&lt;br /&gt;- "Qué hay dentro de la caja?", a lo que el niño responde&lt;br /&gt;- "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Smarties&lt;/span&gt;."&lt;br /&gt;- "No. Hay un lápiz." Responde la maestra.&lt;br /&gt;Entretanto la maestra le cuenta que otro adulto (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Jose&lt;/span&gt;) se va a incorporar a la charla, y le dice que Jose no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;vió&lt;/span&gt; el contenido de la caja. Entonces le pregunta al niño:&lt;br /&gt;- "Si le muestro el paquete a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Jose&lt;/span&gt; y le pregunto 'Qué &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;pensas&lt;/span&gt; que hay en la caja'? Que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;pensás&lt;/span&gt; que me va a contestar?&lt;br /&gt;&lt;br /&gt;Y aquí la diferencia: Un chico de 4 años respondería (en general y correctamente) "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Smarties&lt;/span&gt;" pues sabe que le va a pasar igual que a el, que pensó que había eso. En cambio, uno de 3 años contestaría "un lápiz", erróneamente. Esto es a lo que me refiero con las &lt;strong&gt;teorías sobre otras mentes&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Algunas definiciones que encontré sobre este tema:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;"Teoría de la mente": Es la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;atribución&lt;/span&gt; de estados mentales (e.g. pensamientos, creencias, deseos, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;intenciones&lt;/span&gt;) a otros (y uno mismo)(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Premack&lt;/span&gt; &amp;amp; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Woodruff&lt;/span&gt;, 1978).&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Ojo que acá "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;mindreading&lt;/span&gt;" es como se lo llama nomas, no es nada &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;paranormal&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El entendimiento de estados mentales (lectura de la mente/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;mindreading&lt;/span&gt;) nos permite explicar eventos observables (acciones) mediante la inferencia de entidades no observables (creencias, deseos, etc.)&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;También involucra entender que los estados mentales del otro pueden diferir de los de uno mismo, y también pueden diferir con la realidad (lo que sea que sea la realidad :D) (por &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;ej&lt;/span&gt;: falsas creencias, intentos insatisfechos)&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Bueno, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_33"&gt;podría&lt;/span&gt; seguir escribiendo pero tengo este post en el tintero hace demasiado tiempo &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"&gt;asi&lt;/span&gt; que corto &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;acá&lt;/span&gt;, y &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;quiza&lt;/span&gt; hago otro post &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_37"&gt;después&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Unos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;links&lt;/span&gt; que pueden ser &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_39"&gt;útiles&lt;/span&gt; para entender de que se trata esto:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eva.mpg.de/psycho/staff/carpenter/"&gt;La pagina de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;Malinda&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;Carpenter&lt;/span&gt;&lt;/a&gt;: Esta mujer hizo una cantidad notable de estudios sobre el comportamiento de los &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;chimpances&lt;/span&gt;. Les recomiendo leer su material.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nbu.bg/cogs/events/presentations/carpenter/Carpenter%20Lecture%201%20ToM1.ppt"&gt;Un curso de M. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Carpenter&lt;/span&gt; [&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;slides&lt;/span&gt;]&lt;/a&gt;. Esta muy bueno este &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;PPT&lt;/span&gt; es como un resumen de un &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_46"&gt;montón&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;laburos&lt;/span&gt; de muchas personas.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eva.mpg.de/psycho/pdf/Publications_2007_PDF/Shared_intentionality_07.pdf"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;Shared&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;intentionality&lt;/span&gt;&lt;/a&gt;. Lo escribieron M. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;Tomasello&lt;/span&gt; y M. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;Carpenter&lt;/span&gt;. Hasta ahora, los que me parece hicieron mas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;laburo&lt;/span&gt; en este campo.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Psychological_projection"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;Psychological&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;projection&lt;/span&gt;: La &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_55"&gt;visión&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;Freud&lt;/span&gt; de este &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;fenomeno&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;Wikipedia&lt;/span&gt;)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Theory_of_mind"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;Theory&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;of&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;mind&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;Wikipedia&lt;/span&gt;)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.neuropsychologie.uni-bremen.de/diploma/Summary%20Diploma%20False%20Belief.pdf"&gt;Este&lt;/a&gt;  es un breve escrito sobre la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_63"&gt;relación&lt;/span&gt; entre la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_64"&gt;teoría&lt;/span&gt; de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_65"&gt;otras&lt;/span&gt; mentes y &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_66"&gt;los&lt;/span&gt; "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_67"&gt;False&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_68"&gt;Beliefs&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.maa.org/devlin/devlin_01_04.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_69"&gt;The&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_70"&gt;mathematics&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_71"&gt;of&lt;/span&gt; human &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_72"&gt;thought&lt;/span&gt;&lt;/a&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_73"&gt;Quiza&lt;/span&gt; no tenga mucho que ver con lo que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_74"&gt;escribí&lt;/span&gt;, pero me parece que puede &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_75"&gt;interesarles&lt;/span&gt; si llegaron a leer hasta &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_76"&gt;acá&lt;/span&gt; (en realidad no &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_77"&gt;tiene&lt;/span&gt; NADA que ver).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.edge.org/3rd_culture/everett07/everett07_index.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_78"&gt;RECURSION&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_79"&gt;AND&lt;/span&gt; HUMAN &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_80"&gt;THOUGHT&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_81"&gt;WHY&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_82"&gt;THE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_83"&gt;PIRAHÃ&lt;/span&gt; DON'T &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_84"&gt;HAVE&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_85"&gt;NUMBERS&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;\g&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-1266656580003618689?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/1266656580003618689/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=1266656580003618689' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/1266656580003618689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/1266656580003618689'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/03/teorias-acerca-de-otras-mentes.html' title='Teorias acerca de otras mentes'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_JflrjiMnR0Y/R9_ypy47OYI/AAAAAAAAAe8/0SI3WI04AOE/s72-c/smarties.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-7759445284061450352</id><published>2008-02-25T16:48:00.011-02:00</published><updated>2008-02-26T15:21:05.622-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RecursosLibres'/><category scheme='http://www.blogger.com/atom/ns#' term='Educacion'/><category scheme='http://www.blogger.com/atom/ns#' term='CapeTown'/><title type='text'>Cape Town Open Education Declaration</title><content type='html'>La verdad es que ya hice un post sobre esto en otro blog, pero parece que no intereso como pense que lo iba a hacer.&lt;br /&gt;&lt;br /&gt;De todos modos ahora que tengo mi blog ( :D ) voy a expresar algunos pensamientos sobre esta iniciativa.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Qu&amp;eacute; es esta decalaraci&amp;oacute;n?&lt;/h4&gt;&lt;br /&gt;B&amp;aacute;sicamente se trata de un listado de puntos sobre el uso de recursos libres en la ense&amp;ntilde;anza.&lt;br /&gt;&lt;br /&gt;La declaraci&amp;oacute;n la pueden encontrar en espa&amp;ntilde;ol &lt;a href="http://www.capetowndeclaration.org/translations/spanish-translation"&gt;acá&lt;/a&gt;. Entre otras cosas que me gustaría destacar sobre esta iniciativa estan:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;Uso de recursos educativos libres, como ser &lt;span style="font-style:italic;"&gt;"materiales de cursos con licencias abiertas, planificaciones de clases, libros de textos, juegos, software y otros materiales que apoyen la enseñanza y el aprendizaje"&lt;/span&gt;. &lt;/li&gt;&lt;br /&gt; &lt;li&gt;Uso de &lt;span style="font-style:italic;"&gt;"tecnologías abiertas que facilitan un aprendizaje colaborativo, flexible y en el compartir practicas de enseñanza que facultan a los educadores a beneficiarse de las mejores ideas de sus colegas"&lt;/span&gt;.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Muchas veces me veo discutiendo el por que SI el software libre. Las personas con las que constructivamente discuto piensan que están intentando que un testarudo idealista cambie de idea, puede ser, no se. Lo que si se, es que el uso de tecnologías de software libre y de licenciamiento libre (es decir, material no-software distribuido bajo licencias que autorizan compartirlo, modificarlo y redistribuirlo, por ejemplo &lt;a href="http://creativecommons.org/"&gt;Creative Commons&lt;/a&gt;) permiten que el intercambio sea mas ágil, mas provechoso para la comunidad y para las generaciones futuras.&lt;br /&gt;&lt;br /&gt;Desde el punto de vista educativo (al que me interesa llegar) es importante ver c&amp;oacute;mo repercute sobre la formaci&amp;oacute;n de nuestros alumnos el hecho de poder compartir lo que es de su autoría. &lt;br /&gt;Una vez (hace un par de horas... ) un compa&amp;ntilde;ero educador que respeto mucho me dijo "Si a los chicos no los dejas escribir y ser autores, entonces lo que vos escribas no lo van a leer, de ninguna manera". Esto es buenisimo, qu&amp;eacute; pasar&amp;iacute;a si transpolamos esta idea al aprendizaje y al conocimiento?&lt;br /&gt;&lt;br /&gt;Creo que dejar ese rol exclusivamente &lt;strong&gt;expositor&lt;/strong&gt; al momento de dar una clase colabora a la incorporaci&amp;oacute;n de conocimiento. &lt;br /&gt;&lt;br /&gt;Creo que incitar a que los recursos sean libres y no privativos (repito que no me refiero solo al software) colaboran a formar otro tipo de apertura mental. &lt;br /&gt;&lt;br /&gt;En fin, ojal&amp;aacute; les quede clara mi postura y ahonden un poco mas en recursos libres para la ense&amp;ntilde;anza. &lt;br /&gt;&lt;br /&gt;Les dejo algunos links interesantes sobre los temas que mencion&amp;eacute; y otros que no.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.capetowndeclaration.org/related-initiatives"&gt;Iniciativas para educaci&amp;oacute;n libre&lt;/a&gt;: Un listado de inciativas relacionadas con la declaraci&amp;oacute;n de Cape Town.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://creativecommons.org/"&gt;Creative Commons&lt;/a&gt;: Esquema de licenciamiento libre para distribuir trabajos en general (educadores, cientificos, artistas, etc.) con distintos niveles de proteccion de la propiedad intelectual.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Free_software"&gt;Free Software en Wikipedia&lt;/a&gt;: Explicacion del termino y un poco de historia.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fsf.org/"&gt;Free Software Foundation&lt;/a&gt;: Eso.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.stallman.org/"&gt;Pagina de R. Stallman&lt;/a&gt;: Ferviente activista y fundador de la FSF.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;\g&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-7759445284061450352?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.capetowndeclaration.org/' title='Cape Town Open Education Declaration'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/7759445284061450352/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=7759445284061450352' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/7759445284061450352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/7759445284061450352'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/02/cape-town-open-education-declaration.html' title='Cape Town Open Education Declaration'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-1062974368779695563</id><published>2008-02-20T15:34:00.016-02:00</published><updated>2008-02-22T10:46:07.834-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP internals'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Traits'/><title type='text'>RFC: Traits para PHP</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span&gt;&lt;span style="color:#cc6600;"&gt;&lt;strong&gt;22-02-2008&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span style="color:#cc6600;"&gt;Disclaimer&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;:&lt;strong&gt; Este es un post computronico. Si esperan algo mas terricola salteen este post.&lt;/strong&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Leyendo la lista de internals de PHP (version web: http://news.php.net/php.internals) Stefan Marr mando un patch mas que interesante.&lt;br /&gt;Se trata de una implementacion de Traits para PHP.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pero qué son traits?&lt;/h4&gt;&lt;br /&gt;Traits son básicamente Behavioral Blocks (en castellano, bloques de comportamiento) que engloban "funcionalidad" (lo pongo entre comillas porque en realidad engloban funciones).&lt;br /&gt;&lt;br /&gt;En general estamos acostumbrados (o no, depende del lenguaje de programación...) a usar interfaces y hacer que nuestras jerarquías de clase implementen esas interfaces. Por ejemplo: (en algún lenguaje de programació que se lo banque)&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;Interface LaInterface&lt;br /&gt;{&lt;br /&gt;    public void metodo1();&lt;br /&gt;    public int metodo2();&lt;br /&gt;    ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;interface LaInterface&lt;br /&gt;{&lt;br /&gt;    public void metodoA();&lt;br /&gt;    public int metodoB();&lt;br /&gt;    ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class LaClase implements LaInterface, LaOtraInterface&lt;br /&gt;{&lt;br /&gt;    /* Aca deben estar implementados todos los&lt;br /&gt;      * metodos de LaInterface y LaOtraInterface               &lt;br /&gt;      */&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Pero qué pasa con las jerarquías de clases? A veces tenemos que elegir entre un diseño elegante y bien objetoso, respetando los conceptos que aprendimos en &lt;a href="http://en.wikipedia.org/wiki/Object-oriented_programming"&gt;OOP&lt;/a&gt; (o_O) como abstracción, encapsulamiento, bajo acoplamiento, polimorfismo, etc. (debo admitir que los tuve que buscar... ya que no me los acordaba...) que respete el problema a modelar o bien, hacer un codigo mas pulenta y que sea mas reusable faltando un poquito nomas, a los principios puristas de la OOP.&lt;br /&gt;&lt;br /&gt;Entonces tenemos jerarquías de clases, donde hay clases que extienden a otras, creando familias complejas de padres con hijos herederos de algunos metodos que pueden modificar, o no, visibles dentro de la familia, privados a la clase o publicos al mundo en general...&lt;br /&gt;&lt;br /&gt;Pero a veces, tenemos funcionalidades que queremos que muchas familias disfruten, por ejemplo: queremos que todas sepan hacer &lt;a href="http://en.wikipedia.org/wiki/Asado"&gt;asado&lt;/a&gt;, sean del origen que sean... ya que viven en &lt;a href="http://en.wikipedia.org/wiki/Argentina"&gt;Argentina&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Entonces supongamos el siguiente ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_JflrjiMnR0Y/R7x2AksSsEI/AAAAAAAAAV0/vGbyH9V-DgY/s1600-h/familiesGral.GIF"&gt;&lt;img src="http://bp2.blogger.com/_JflrjiMnR0Y/R7x2AksSsEI/AAAAAAAAAV0/vGbyH9V-DgY/s320/familiesGral.GIF" border="0" alt="" id="BLOGGER_PHOTO_ID_5169136224536014914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Acá tenemos una jerarquí (no muy util por cierto) que modela familias, de distinto origen. Todas las familias tienen un apellido, y saben tener hijos (espero sepan entender el propósito ilustrativo del ejemplo).&lt;br /&gt;Entonces las familias saben cocinar diferentes tipos de comidas, dependiendo de donde son originarios. En el caso de los tanos: cocinar pasta, risotto y canoli. Los japoneses cocinan sushi y saben tomar sake y los argentinos, sabemos hacer asado, tomar mate e ir a la cancha (yo no, no voy a la cancha :D).&lt;br /&gt;&lt;br /&gt;Pero estaría bueno que cualquier familia que viva en argentina sepa cocinar asado y tomar mate (lo mismo vale para cualquier actividad...). Entonces podemos hacer un "paquetito", o Trait (que ni por asomo se parece a un package) con distintas "habilidades". Por ejemplo:&lt;br /&gt;&lt;br /&gt;trait CostumbresArgentinas&lt;br /&gt;{&lt;br /&gt;   public void cocinarAsado(){&lt;br /&gt;     // codigo para cocinar asado...&lt;br /&gt;   }&lt;br /&gt;   public void tomarMate(){&lt;br /&gt;     // codigo para tomar mate...&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Entonces podriamos tener una clase por ejemplo:&lt;br /&gt;&lt;br /&gt;class FamiliaItaliana&lt;br /&gt;{&lt;br /&gt;   use CostumbresArgentinas;&lt;br /&gt;   public void cocinarRisotto(){...}&lt;br /&gt;   public void cocinarPasta(){...}&lt;br /&gt;   public void cocinarCanoli(){...}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Y tener facilmente una familia italiana que tiene costumbres argentinas (raro no???).&lt;br /&gt;&lt;br /&gt;A mi me gusta pensar en una forma de atravesar una jerarquía de clases de manera horizontal, como intento mostrar en este dibujo (click para agrandar):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JflrjiMnR0Y/R7x9l0sSsFI/AAAAAAAAAV8/DIB1k0x3ta4/s1600-h/familiesTrait.GIF"&gt;&lt;img src="http://bp3.blogger.com/_JflrjiMnR0Y/R7x9l0sSsFI/AAAAAAAAAV8/DIB1k0x3ta4/s400/familiesTrait.GIF" border="0" alt="" id="BLOGGER_PHOTO_ID_5169144561067536466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Traits para PHP&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;Hay muchos detalles con que lidiar, por ejemplo los conflictos. Qué pasa si 2 traits tienen métodos con igual nombre? quién los rsuelve?&lt;br /&gt;&lt;br /&gt;En esta primer implementacion para PHP, los traits son "Aplanados" dentro del c&amp;amp;código de la clase, el propio lenguaje no decide a quién darle prioridad con los conflictos (como se hace en algunos lenguajes) esto se dejo a decision del programador. Uno puede hacer cosas como:&lt;br /&gt;&lt;br /&gt;class Hablador {&lt;br /&gt;     use A { !smallTalk }&lt;br /&gt;     use B { !bigTalk }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Donde la clase Hablador tiene los metodos del Trait A y del Trait B, pero excluyendo el metodo smallTalk del Trait A y el bigTalk del trait B. También se pueden renombrar métodos al incluir un Trait en una clase.&lt;br /&gt;&lt;br /&gt;Una ventaja que tiene esto es que no tiene penalizaci&amp;ocaute;n en runtime, ya que solo es una forma de copy-pastear codigo de una manera formal entre clases.&lt;br /&gt;&lt;br /&gt;Les recomiendo leer lo que escribio este hombre Stefan, esta muy bien explicado el caso para PHP.&lt;br /&gt;&lt;br /&gt;Bueno, dejo de escribir porque si no se van a aburrir. Espero que se entienda lo suficiente para que si les interesa, lean mas.&lt;br /&gt;&lt;br /&gt;/g&lt;br /&gt;&lt;br /&gt;Lean &lt;a href="http://www.stefan-marr.de/artikel/rfc-traits-for-php.html"&gt;aca&lt;/a&gt;.&lt;br /&gt;Mas info sobre traits &lt;a href="http://www.iam.unibe.ch/~scg/Research/Traits/"&gt;aca&lt;/a&gt;.&lt;br /&gt;O pueden leer mas sobre esto en la &lt;a href="http://www.iam.unibe.ch/~scg/Archive/PhD/schaerli-phd.pdf"&gt;Tesis&lt;/a&gt; de Nathanael Schäarli.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-1062974368779695563?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.stefan-marr.de/artikel/rfc-traits-for-php.html' title='RFC: Traits para PHP'/><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/1062974368779695563/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=1062974368779695563' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/1062974368779695563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/1062974368779695563'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/02/rfc-traits-para-php.html' title='RFC: Traits para PHP'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_JflrjiMnR0Y/R7x2AksSsEI/AAAAAAAAAV0/vGbyH9V-DgY/s72-c/familiesGral.GIF' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1743125470502421334.post-1598490273560143825</id><published>2008-02-20T15:33:00.001-02:00</published><updated>2008-02-20T15:34:30.777-02:00</updated><title type='text'>Primer post</title><content type='html'>Hola, &lt;br /&gt;bueno hace muchos meses que tengo este blog y esta vez me decidi a empezar a escribir. &lt;br /&gt;Basicamente quiero que este sea un lugar donde volcar ideas, opiniones y demases. Son todos bienvenidos a discutir y eso..&lt;br /&gt;&lt;br /&gt;chau!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1743125470502421334-1598490273560143825?l=lapilitadegutes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lapilitadegutes.blogspot.com/feeds/1598490273560143825/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1743125470502421334&amp;postID=1598490273560143825' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/1598490273560143825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1743125470502421334/posts/default/1598490273560143825'/><link rel='alternate' type='text/html' href='http://lapilitadegutes.blogspot.com/2008/02/primer-post.html' title='Primer post'/><author><name>Gutes</name><uri>http://www.blogger.com/profile/15873495153879395915</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
