26 de junio de 2013
¿ Cuánto consume un teléfono ?
Un teléfono solo, no sirve para comunicarse.
Sólamente puede comunicarse con otros, si es que existen otros y están encendidos; sino no.
Usualmente el consumo eléctrico se refiere a la medida de potencia, es decir, cuanta energía por segundo utiliza. Para saber esto, no alcanza con tener en cuenta un teléfono aislado, porque la existencia de los demás teléfonos es obligatoria (además del sistema de antenas, transmisores, etc.). Por lo tanto para que un teléfono cualquiera pueda comunicarse con otro cualquiera debe estar funcionando toda la red.
No es sencillo saber qué beneficios traen, pero sí podemos saber que la potencia que le exigimos al mundo para tener un celular es de miles de millones de Watts.
24 de febrero de 2013
Peaceful General Public License
Las ventajas del software libre están a la vista, las desventajas..no tanto, tenemos mucho por pensar aún; en 2005 había preparado una reflexión sobre este tema en una página de geocities (que no existe más)... fue motivada por una charla en la lista de lugro ( un grupo muy amable dicho sea de paso ), el tema planteado era "el soft es libre..¿y nosotros?", pasaron varios años de esa pregunta pero creo que sigue siendo un tema actual, revivo aquí entonces algunas de esas palabras pensando que todavía tienen algo que decir.

Libertad sin intención suena algo contradictorio, libre implica expresar intenciones, si se separa el software de las intenciones, no hay más libertad humana ahí, es sólo la libertad para el software en sí mismo. La licencia GPL ofrece libertades y establece obligaciones. ¿Qué libertades ofrece y cuales son las obligaciones? ¿A quién?
Las "libertades" que ofrece son la de usar/estudiar/modificar/distribuir el software, y las obligaciones que implica, son justamente las que posibilitan esas libertades, es decir, el programador que quiera usar esa licencia o librerías que la usen, está obligado a entregar el código fuente de su algoritmo, es decir la receta de su programa, facilitando así la posibilidad de estudiar el funcionamiento y modificarlo. Esas obligaciones reflejan entonces la más profunda de las motivaciones de la licencia: propagarse.
Algunos pensamos que la libertad es un concepto elevado, y no alcanzable mediante licencias ni leyes, porque atiende a una idea muy general e inaprensible, por eso a la palabra libertad se la puede (y suele) utilizar de las maneras más diversas: sea para mejorar la vida de las personas, como para justificar guerras, para hacer propagandas de gaseosas light, etc... Defenderla como palabra en sí, sin aclaraciones ni restricciones es defender a todos sus usos
En las obras bellas no suelen usarse las armas, y si la GPL no permite cerrar el código con el fin de auto-sostenerse y propagarse ¿Porque no resignar entonces otra libertad con algún fin más humano? ¿Valorar la vida?.
Como el Software Libre no le permite al programador decidir a quién entregar su código fuente una vez liberado, quien utilice la licencia GPL está obligado a perder el control sobre dónde, quién y para qué se utilizará su trabajo, su código fuente, para así dar libertad al software en sí mismo, y supongamos también quizás al usuario.. Se resigna cualquier intención original a cambio de que el código siga siendo abierto.
Podríamos preguntarnos, si el software puede copiarse de todas formas, y la licencia no es más que para declarar intenciones; (porque sabemos que una vez liberado un software, cerrado o abierto, nada se puede hacer con el uso que se le da, incluso un software cerrado podría reutilizarse) aún así, quizás la pregunta es entonces cuáles son esas intenciones nuestras, cuál es nuestra postura en esa declaración, ¿Es para nosotros más importante declarar nuestro apoyo irrestricto a la propagación de un código fuente y auto-sustentar una licencia, que contar nuestras intenciones sobre sustentar la vida y la paz , evitando así "ensuciar" la licencia con cuestiones humanas ?
Así puede ser para unas personas, pero no para otras. Por tanto, ya que hablamos de libertad, llevémosla al terreno de un programador que debe elegir su licencia, y por tanto se puede admitir la diversidad de opciones (cosa que no asegura la libertad pero al menos permite una parte). Lo que podemos proponer es que la GPL sea siempre opcional, y quien no quiera publicar su código tenga siempre la libertad de no publicarlo.
Que cada uno pueda decidir es poner por encima una libertad y un derecho humano a un derecho maquinal, una libertad para bits ( no sé por cuanto tiempo sean más importantes los humanos que las máquinas, pero podemos hacer algo mientras ).
Incluso puede que alguien quiera publicar su código, pero no para cualquier fin, lo cual es un poco paradójico porque al publicar ya dijimos no hay chance de controlar la finalidad del source, sin embargo, aún así se puede declarar una intención, y por ejemplo quien esté interesado en apuntar sus intenciones a la paz, puede publicar con una licencia "Peaceful" GPL en lugar de la GPL.
El software libre es muy importante, tanto como el software privativo. Creo entonces que no debería prohibirse ninguno.
No hay ninguna necesidad de discutir acerca de si hay fines bélicos correctos o incorrectos. Sencillamente hay gente que preferiría usar una PGPL (GPL Pacifica) y puede expresar su intención.
¿Queda claro que: "Por más que pongamos cláusulas, lo pueden igual usar ilegalmente...."? Clarísimo, pero las licencias libres también pueden ser usadas ilegalmente cerrando el código, sin embargo, sus cláusulas siguen ahí! (que obligan a entregar el código fuente)... Esto es porque las cláusulas así como las leyes de un país, no eliminan el delito, sino que representan una postura, una filosofía, un ideal al cual apuntar a que sea parte de la cultura. ¿Cuál es el ideal del software libre, y quién posee esa libertad además del mismo soft? Probablemente hay una comunidad que NO es representada por una GPL o cualquier licencia de soft libre a la que "le da lo mismo" si el código es utilizado para un juego que para matar personas. Y estos comentarios que estoy haciendo son un parche que se sabe poco útil de entrada porque no soluciona el problema, pero su objetivo es otro, es dejar bien clara una postura para invitar a la paz, y no a la indiferencia.
Agregado Pacifista :Este agregado es para hacer notar que la reutilización del código puede tener la finalidad más insospechada. Y si ya somos lo suficientemente inconscientes como para desarrollar tecnología, podríamos decir al mundo que se puede dar un mal uso, y si se da un mal uso : "No es nuestra intención", que si le dan un mal uso lo tendrán que hacer ilegal, para no ser cómplices porque lo rechazamos desde el origen mismo.
"Esta prohibido utilizar el software que cubre esta licencia (source y binario) directa o indirectamente
o como parte de otro software con el objetivo de causar daño a seres humanos, la fabricación de armas o para ser usado en cualquier tipo de aplicaciones bélicas. Al autor de este software No le da lo mismo cualquier aplicación de su trabajo."
Que por otro lado, es quizás todo lo que podemos hacer...
Es adjuntar una propaganda pacífica, humana. Para que, cuando se reproduce el software, ya que está, se reproduzcan juntas.
Y ¿Qué pasa si se necesitan desarrollar armas para defenderse de "malos", extraterrestres, meteoritos, y otros etcéteras? En tal caso se puede usar soft con otra licencia, o se le puede consultar al autor si lo permite, o cambiar la licencia, o usarlo ilegalmente ¿ o qué tal joderse ? La paz no es gratis.
"Lo preocupante no es la perversidad de los malvados, sino la indiferencia de los buenos" Martin Luther King
9 de diciembre de 2010
Los Bits vs El Espacio-tiempo
Sin embargo, mirando el asunto de una forma más general, el intento de abstracción, de transformar lo único/analógico/infinito, en reproducible/digital/finito, abarca cada vez más lugares, y algunas veces no me gusta para nada. Por ejemplo, desde el punto de vista temporal se podrían
cambiar las noticias del pasadoYa no va a haber un millón de copias de papel distribuidas por ahí como una prueba para contrastar cuales fueron las noticias de tal día, y así se pierde la conexión concreta con el universo humano. En el caso de un cuadro de arte, un manuscrito, un jarrón de barro, puede sospecharse la época en que fueron concebidos pero no se puede saber cuando (ni donde) se escribió un bit, porque son todos iguales ( algo similar les pasa a los fotones de luz son indistinguibles en su universo cuántico, y no les afecta eso que llamamos tiempo ).
La "historia" almacenada en servidores con la posibilidad de cambiarse a gusto, los datos y el pasado como una referencia fantasmal poco creíble y no verificable.
No podemos confiar racionalmente en lo digital, ni en las noticias electrónicas, ni en el dinero electrónico, ni en el voto electrónico, etc.. El universo digital no está sujeto al paso del tiempo tal cual lo estamos nosotros.
Ante la desconexión de ese universo con el nuestro, podemos intentar acercarnos nosotros con una virtualización de nuestra vida, una conexión para nuestra mente al estilo The Matrix que nos sumerge en ese mundo digital atemporal, sin inercia, sin cambios naturales, quizás totalmente flexible a nuestros deseos, pero profundamente diferente a nuestra naturaleza infinita, analógica y temporal, el costo no es menor, la realidad virtual elimina la posibilidad del razonamiento, el universo sin espacio y tiempo, es el fin de la razón.
Los surrealistas pueden ya comenzar a festejar.
Link a página del pasado como ejemplo
Lo virtual, una construcción de la razón, en aparente paradoja, elimina la posibilidad de la razón, justamente por la necesidad del contexto. Sólo puede existir y funcionar la razón dentro del mundo espacio temporal que la produce, no puede autocontenerse a sí misma.
28 de junio de 2010
La lista
¿Cuantas canciones son posibles? ¿Cuantas películas son posibles?
La limitada capacidad auditiva del ser humano, en intensidad y frecuencia y un similar limite en la capacidad visual, acotada en colores e intensidades, hace que todas las experiencias audiovisuales posibles estén en una lista limitada. Eh? Es decir que ningún sonido se puede crear o escuchar, ninguna imagen ver o inventar, que sea tan novedosa como para no estar en la lista, ya está ahí.
Un director de cine no puede crear cualquier película, sólo puede crear una que esté en la lista.
Esto se ve más sencillamente aplicado a un medio de almacenamiento de información ya que éstos intentan con su calidad cubrir todo lo humanamente perceptible en términos audiovisuales: libros, CD, mp3, DVD, Blu Ray, etc...
Por ejemplo:
Un DVD de 4,7 GB permite unas: 10 elevado a la 10 elevado a la 10 películas diferentes, y ninguna más.(Esto es un uno y diez mil millones de ceros)
Es un número grande.. bueno es tan grande que no hay analogía que hacer, ninguna comparación intuitiva se ajusta. Es un número monstruosamente gigante, pero, No infinito.
(Estas ideas, aplicadas a libros -todos los posibles- aparecen explicadas en el texto "El horizonte de la doctrina humana" G.W.Leibniz(1700), son también el fundamento de un cuento de J.L.Borges "La biblioteca de Babel" (1941) )
¿Es esto un límite para las películas que pueden filmarse y canciones componerse?
Claro, y no solo eso, más aún, nuestras payasadas por más mayúsculas que fueren, están representadas y acotadas por un número, y existen sin necesidad de nuestra existencia.
Partiendo de que la canción tiene un límite en duración, entonces existe también un número limitado de canciones posibles, todas representables. Por ejemplo Imagine de John Lennon, o El Concierto 5 de Brandenburgo de Johann Sebastian Bach, son un número en una lista, una combinación que existe aunque estos músicos jamás hubiesen nacido.
¿Y uno de esos números es Volver al Futuro?
Así es.
¿Significa eso que el recital de Jimi Hendrix tocando en Woodstock en DVD es sólo un número de esa lista y podría existir esa performance en vivo aunque Jimi Hendrix jamás hubiera nacido?
Obvio, es un número.
¿Y el sonido logrado por Pink Floyd, la belleza de la música de los Beatles, el swing con el que tocan Miles Davis, Arturo Sandoval o Pat Metheny?
Toda esa música está en la lista, y están ahí desde siempre, en el año 1900 no había nacido ninguno de esos músicos, pero su música ya figuraba en la lista. La teoría de la relatividad está en la lista sin necesidad que Einstein la proponga. La lista incluye hasta videos donde vos mismo estás tocando con The Beatles, incluso otros para todas las personas que conocés y de gente que aún no ha nacido, o no nacerá, tocando y cantando con los Beatles.
Al menos la parte audiovisual, obvio que está ahí, el swing y la belleza quizás sean más dificil de enlistar, pero a eso probablemente les quepa un número también.
Pará, entonces ¿En ese número también están vivencias, digamos mis videos reales familiares de cumpleaños y fiestas?
Que los videos fueran Reales o no, a la lista no le importa, de hecho la palabra Real no tiene un sentido más allá de nuestra memoria, esa suma de lo perceptible y lo expresable, es finita, y por tanto, cabe, y está en una lista.
Así que claro que incluye tus videos familiares, de tu nacimiento, de tus perros, de tu familia, y ya está listo el video de tu muerte para cuando ocurra (la real y también versiones de todas las variantes imaginables).
Cualquier pregunta que se te ocurra, y también lo que yo tenga para responder ya están en la lista. Con todo respeto: todas las ideas que puedas tener van a estar ya en esa lista, nada de lo que se te pueda ocurrir va a faltar en esa lista, lamento ser yo quien te informe de tus limitaciones.
¿Entonces no tenemos libertad?
Amigo, esa palabra es una exageración siempre, pero por suerte esta lista de la cual estamos hablando está muy lejos como para ser un impedimento cotidiano, casi cualquier cosa te limita más tu libertad que esta lista.
No sólo nosotros no tenemos libertad fuera de esa lista, sino que lo eso que llamamos "realidad" es apenas todo lo humanamente perceptible, es decir que incluso esa "realidad" tampoco tiene libertad (en el sentido de salirse de la lista), dicho de otro modo:
Ninguna cosa puede existir ni ocurrir que no esté ya en la lista.
La lista de humanos
Para representar la parte del genoma que varía entre humano y humano aparentemente serían suficientes 20MBytes (aproximados según este interesante post (en inglés): how much data is human genome? ) .
Siguiendo la idea de las combinaciones, podemos concluir que "sólo" son posibles
10 elevado a la 10 elevado a la 7 seres humanos biológicamente diferentes, y ninguno más.
(Un uno y siete millones de ceros.)
Por lo tanto, no puede nacer cualquier ser humano, sólo quienes estén en esa lista.
Conclusiones
Ya que estamos, ensayo una predicción. Estas listas nos dan una increíble posibilidad, que probablemente pueda ser explotada en algún futuro (si llega), supongamos existan extremadamente rápidas y entrenadas computadoras, capaces de "descubrir" a estos ítems únicos, rastreando muchísimas posibilidades con algún criterio, hasta toparse con cosas como un "Concierto 3 de piano de Rachmaninoff ", sería genial, pero aún hay más, qué tal la posibilidad de entablar comunicación con algún ser mucho más inteligente que nosotros con quien charlar, porque obviamente ese ser, de poder existir, está en la lista!, en algún punto la prueba y error es un increíble método, si sabemos detectar el error y el éxito, y tenemos rapidez para buscar, o tiempo suficiente (eso nos enseña la evolución) podremos lograr lo inimaginable.
(Siempre que esté en la lista claro)
Voy a poner ya mismo mi computadora a buscar combinaciones de bits hasta que me comuniquen con un ser extraterrestre de inteligencia súper avanzada, que no hacen falta naves, ni ir al espacio para encontrarlo!, porque ese ser está y estuvo siempre en la lista!, probablemente como muchas veces ocurre, la respuesta está más cerca de lo que pensamos. Y eso me recuerda lo lenta que es mi PC...
Y para terminar, un consuelo para pensar de una manera optimista nuestra pequeñés ante la lista, autoreferencia : Cárcel demasiado grande
Actualización 2015
Una página para buscar en la lista thelistofeverything24 de junio de 2010
Optimización de algoritmos
Aún cuando la lógica fuera netamente combinacional, en un algoritmo las condiciones se evalúan secuencialmente, por lo tanto elegir el orden de esa evaluación teniendo en cuenta la probabilidad es fundamental para evitar evaluar repetidamente condiciones que fueran (casi) obvias.
Durante el diseño, por prolijidad e intuición, sin embargo, suele (y quizás deba) realizarse al revés, es decir pensar primero en generalidades poco específicas, ya que son útiles para agrupar y una vez probada la lógica puede pasarse a una versión optimizada.
Un ejemplo:
Top-Down (Para diseñar)
Si el siguiente algoritmo se ejecuta 1 vez por hora
if(month == 12)
{
if(day == 31)
{
if(hour == 0)
{
}
}
}
//Se suprimieron los "else" y cualquier código para simplificar la exposición
En un año chequeará el segundo "if", unas 31*24= 744 veces, y chequeará el tercero además 24 veces ( 768 tests )
Bottom-Up (Para optimizar)
Si el siguiente algoritmo se ejecuta 1 vez por hora
if(hour == 0)
{
if(day == 31)
{
if(month == 12)
{
}
}
}
En un año chequeará el segundo "if", unas 365 veces, y chequeará el tercero además 1 sola vez ( 366 tests ).
Con este simple cambio hemos mejorado la eficiencia en más del 100%, es decir, que el segundo algoritmo podría ser el doble de rápido, consumirá la mitad de los recursos computacionales.
No podemos esperar que el compilador resuelva este tipo de optimizaciones porque no conoce la probabilidad de los resultados para cada condición (al menos en los lenguajes/compiladores actuales no permiten especificar tal probabilidad) cosa que podría ser útil.
8 de enero de 2010
Capas
Capas del Modelo OSI
Capa 7 - Aplicación
Capa 6 - Presentación
Capa 5 - Sesión
Capa 4 - Transporte
Capa 3 - Red
Capa 2 - Enlace
Capa 1 - Física
También en la ciencia pueden reconocerse algunas capas.
(Obviamente no es la intención ser completo, sino mostrar en un ejemplo el orden)
Capa 4 - Economía, Ciencias Sociales
Capa 3 - Biología
Capa 2 - Química
Capa 1 - Física
------------------ Universo perceptible, detectable.
Capa 0 - Realidad
La capa [i] está sujeta a los límites (leyes) de la capa [i-1]
hasta se podría decir que la capa [i] no existe sin la capa [i-1]
Pero no es una cuestión de jerarquía, acá el número no identifica a la más compleja,
ni a la mejor, ni hay fundamento para algún tipo de comparación o competencia
son partes etiquetadas de un todo, una forma de descripción y estudio,
en ningún caso hay otra cosa que la realidad de fondo, pero de ahí
para arriba (arriba en el sentido del texto) son todas interpretaciones,
y justamente ahí vivimos, en el mundo donde las pensamos y actuamos en
la realidad en función a esas interpretaciones de orden superior de forma
que signifiquen algo para nosotros. (Superior en el sentido del número de capa)
UPDATE Dos años después de escribir este post, encontré un artículo de Philip Warren Anderson llamado "more is different" de 1972 donde habla de las jerarquías, casi con estos mismos ejemplos de ciencias apiladas, además habla de la ruptura de las simetrías, en fin, cuando vi la relación con este pequeño post, me sorprendí y vine a agregar el dato, es profundo y altamente recomendable: (en español)Philip Warren Anderson - "más es diferente" (Original en inglés)Philip Warren Anderson - "more is different"
26 de octubre de 2009
Lenguaje vs Instrucciones, GUI vs Consola, etc..
como los sistemas operativos a las computadoras,
como las API's a los sistemas operativos,
como los front-end a las aplicaciones.
Pero una buena intefaz,
es un límite, que más que limitar, define.
Autoreferencia:
http://sinosucedenopasa.blogspot.com/2009/10/limites.html