lunes, 1 de agosto de 2016

RC planes



En Diciembre de 2015 comencé a jugar con aviones a control remoto. Hace un año comencé a armarlos. Ha sido muy divertido y creo que es un hobby para mucho tiempo. Dejo este video acá porque me gustó mucho como quedó.

domingo, 13 de diciembre de 2015

La historia indeleble

Le pasó a un amigo. Me identifique tanto con la historia que solo puedo contarla en primera persona. ¿Así es la amistad? ¿Será eso la amistad? ¿Es para eso? Ahora solo puedo preguntarme ¿Quién soy yo ahora? No se… Y no sé qué hacer, y si una cosa he logrado entender después de tantas noches pensando es que lo único que puedo hacer es contar la historia. Pero no sé si puedo hacerlo. ¿Por qué me gustan los imposibles?

La historia. A veces parece infinita, y nunca la recuerdo bien. Nunca recuerdo la misma, lo diré más tarde y ya lo dije. A veces la recuerdo en pasado, a veces en presente, y a veces en futuro. No recuerdo quién me contó por primera vez que los tres tiempos son iguales y es cosa de mortales separar los tiempos. ¿Cómo me pudo decir eso alguien que es mortal? Es una pregunta retórica, lo juro.

A veces siento que la historia está en mis genes, en los tuyos, en los de los ratones. Como si una y otra vez en un universo anterior algo la hubiera gritado (por no utilizar una palabra más abstracta) y una y otra vez hubieran matado a lo que la contó. Y como castigo (¿divino?) ahora todos cargamos una historia indeleble.

Los animales que cenamos tienen pedazos de la historia. Contada en otro tiempo y en otro lugar. La sienten con un cerebro ajeno que tratamos de entender matando cerebros para mirar en microscopio, con la vaga esperanza de pensar como piensa un pez sin tener que convertirnos en uno. Como si no hubiera tiempo para ser cada cosa, como si ya no lo hubiéramos sido, como si el tiempo no fuera infinito.

El tiempo alcanza. El siempre alcanza porque es infinito, el que no alcanza es uno. Pero es el uno, el yo, el que no importa.

Esa es la historia. La versión comprimida, con gran entropía, si bien no máxima, y solo puedo redundar.


Esa es la historia que recuerdo ahora. No siempre recuerdo la misma. ¿Qué sentido tiene entonces contar una historia? A veces me pierdo y siento que cualquier historia se puede expandir tanto como yo quiera, tanto como mi amigo quiera, tanto como tú quieras, pero no es fácil, no en tiempo finito. Pero eso no importa.

¿Cómo se puede contar una historia infinita y elusiva en un instante? ¿En 0 segundos?

Solo si no hace falta contarla. Es la forma más eficiente de transmitir información. Parece una paradoja.

Por pequeño que sea lo que tienes que contar,  si no tienes que hacerlo, ya lo contaste, y lo hiciste con eficiencia infinita, en el pasado, en el presente y en el futuro, que son la misma cosa para alguien que no es humano y puede ver la línea por la que creemos caer.

Idea / 0 = infinito

Es algo que me gusta tener presente. Que hay que apreciar mucho lo que ya está ahí y que no hay que comunicar. Es mejor sonreír que hablar. Es mejor bailar que hablar. ¡Hay tanto que compartir sin hablar!

Hablamos demasiado, y sé que mi hámster (#1) me entiende porque le hablo y no me responde. Bobo no es. Si me hablara no sería capaz de darle más comida y tendría que salir corriendo al hospital.

miércoles, 12 de agosto de 2015

Ethereum

Una de las cosas interesantes de este año es que he estado trabajando bastante con criptomonedas (como programador).

Hoy hice un pago en Efecty y va a demorar un día en hacerse efectivo. Eso no es aceptable.

El futuro no es por ese lado.

Hace unos 12  días comenzó a funcionar Ethereum.

La torta de cumpleaños de un amigo.

La calidad del lanzamiento es impresionante. Por ahora es para desarrolladores más que para usuarios finales. El dashboard muestra la actividad de un subconjunto de los nodos que están en la red, y algunas estadísticas  de la red. Se siente bien tener un nodo dibujado en Bogotá.

Algunos dicen que el lanzamiento fue un fracaso por el precio actual del Ether, un token que sirve para para pagar por el cómputo que se puede realizar en la red (o el almacenamiento). No creo que el precio sea tan importante.

He estado haciendo pruebas con contratos muy básicos y he pensado en las posibilidades.

El cliente más auditado está en lenguaje Go, geth, y el REPL se puede usar con JavaScript, el API es bonito. Este año quiero aprender Go: Varios proyectos que me importan están en Go y estoy esperando este libro.

Cuando se lanzó no era posible realizar transacciones porque era necesario que poco a poco los que minan fueran votando para subir el límite de gas (cantidad de Ether) que puede ser usado en un bloque.

Para aproximar cuánto tiempo faltaba para que fuera posible realizar transacciones me basé en un programa publicado para hacer una simulación que estima el número de horas que faltaban para alcanzar el límite necesario para hacer una transacción.  Funcionó relativamente bien. Y se puede correr en el REPL de geth (Aunque ya hoy no muestra nada interesante ya que el límite máximo ha sido alcanzado).

El punto es que solo eso ya marca una diferencia grande con otros proyectos. Es como cuando uno aprende UNIX y ve que casi todo se puede programar. Se pueden programar cosas raras, como una pirámide (Ponzi Scheme) auditable que corre en un computador descentralizado que es muy díifcil de censurar.

Algunos creen que el "killer app" de Ethereum puede ser un mercado de predicciones y Augur, la primera implementación para Ethereum, hará crowdsale pronto (o una preventa de tokens de reputación). Ya hay una versión alfa funcionando.

Es apenas en los últimos años que la gente ha comenzado a ver que Internet es mucho más que hacer interfaces glorificadas para bases de datos. Creo que muchas cosas van a cambiar. No sé si masivamente, pero en estos momentos no me importa.

PD: MaidSafe es otro proyecto que creo va a tener un impacto considerable en la forma de hacer aplicaciones para Internet. Una "nube" difícil de censurar porque está en todos lados y en ningún lado a la vez. Están pasando cosas interesantes.

miércoles, 8 de octubre de 2014

Sobre los créditos condonables a niños con buen rendimiento académico

Actualización: Ya hay más información, no se necesita codeudor.

Lo que menos me gusta del plan del gobierno colombiano de dar créditos condonables en lugar de becas a los niños que tengan buen rendimiento académico, es que los que reciben los créditos no tiene derecho a equivocarse y abandonar los estudios.

La universidad no siempre es la mejor opción. Hay gente que se enamora y se va, otros descubren un talento y otros siemplemente se aburren o algo les pasa y no quedan en condiciones de seguir estudiando. O aprenden lo más importante (matemáticas y esas cosas básicas) y se retiran para hacer algo interesante y estudiar por su cuenta.

Si algo no tienen los pobres es el derecho a equivocarse mucho en las decisiones que toman en su vida. ¿Cómo comprometen a un niño de 15 años (y tal vez a un codeudor) con una responsabilidad de esas?

Por otro lado, ¿Quién dijo que entrar a una universidad y no graduarse es necesariamente malo para la persona o para el país? Conozco gente que se ha retirado que es mucho más competente en un oficio que muchos que terminan la universidad.

Hay gente que abusa y se queda mucho tiempo en universidades públicas con bajo rendimiento académico, pero los créditos condonables no son la solución a ese problema.

viernes, 3 de octubre de 2014

Humor por reemplazo (¿grado uno?)

Sé que hay gente que ha estudiado con cuidado el humor y la lógica en el humor. Acá solo escribiré un poco sobre algo que llamo humor de grado uno: Reemplazar algo en una frase conocida por algo que cambie el contexto. Algo hace click. Y es chistoso cuando la broma es nueva para uno.

La frase que motivó este post es esta: “All my chess games end when one knight stands”, sacada de un comentario de Reddit. No tiene tanto sentido más allá de sacar algo fuera del contexto, pero me gustó mucho.

Algunos ejemplos vistos en Twitter:


Terminemos con uno que me gustó mucho:


Este tipo de humor es muy frecuente. Pero deja de ser divertido si el patrón que se usa es muy común. Se podría analizar más, para ver qué hace un reemplazo más interesante que otro.

domingo, 28 de septiembre de 2014

Año sabático

Hace un mes terminó el año en el que no trabajé (no mucho).

No me dediqué al ocio.

Estuve estudiando dos cosas: trading algorítmico y Bitcoin.

No es la primera vez. Hace muchos años tuve un año en el que me dediqué a estudiar por mi cuenta, financiado por mi mamá. Es algo que he intentado repetir más, pero no había lograrlo más de tres meses seguidos.

Con respecto al trading, aprendí bastante. Es un tema interesante, aunque se siente muy impersonal. Uno solo ve que se manda un 'bid', o un 'ask', y no se ven las risas o lágrimas que hay detrás de la ejecución de una orden. Trabajé con FOREX, y es impresionante el volumen que tienen los pares más populares. No creo en el análisis técnico. Creo que no estaba lejos de lograr algo rentable, pero por ahora me cansé. Trabajar en esto cansa bastante, y además no seguí trabajando con una amiga, con la que estudié bastante, y trabajar solo me da pereza. No sé si retome el tema. Tal vez el otro año, aunque no depende solo de mí. Me hace falta trabajar con ella.

Una anécdota interesante con el trading es que el programa MT5 no simula bien los ticks. Yo estaba trabajando con segundos, no con minutos, y el MT5 simula los segundos con una curva predecible. Encontramos una estrategia que explotaba eso, pero no es interesante en la vida real. Lo que al parecer hace la gente es usar la versión anterior (la 4), con la que es posible hacer backtesting con ticks reales importados de un archivo.

El MT5 usa objetos, pero el diseño no es bueno. Mi amiga hizo un diagrama de clases y el asunto rayaba en lo cómico. Yo no creo que la gente que hace trading algorítmico use MT5 (por lo menos, no usan mucho las clases que ellos diseñaron).

Con respecto a Bitcoin aprendí un montón. Estudié bastante el protocolo y creo que el futuro es descentralizado. Con un amigo lanzamos un servicio sencillo que casi nadie usa, pero me alegra haber llegado a lanzarlo. A pesar de ser algo simple no es trivial. Aprendí bastante.

Y ahora estoy ocupado otra vez. No he logrado concentrarme tanto como quisiera. Pero todo pinta bien.

domingo, 7 de septiembre de 2014

You might want to use noatime.

This is not a new issue.

From http://lwn.net/Articles/244829/ (Ingo Molnar):
Atime updates are by far the biggest IO performance deficiency that Linux has today. Getting rid of atime updates would give us more everyday Linux performance than all the pagecache speedups of the past 10 years, _combined_.
This comment is about 7 years old and noatime is still not a default option (nor relatime). Tracking access time makes sense in many scenarios, not not too much for a desktop user.

Really. Usually a lot of disk reads are cached and even for them the OS has to write to the disk. It is stupid.

If you are not using noatime, and you don't need to track access times for your file-system, you're causing your disks a lot of avoidable pain (and you are wasting time).

I just enable it and if something breaks because of this, it deserves to break. My guess is that many developers run their systems with the noatime option set.

sábado, 6 de septiembre de 2014

Use Freenode with SSL

I always have to look for this image. So let's put it here. If you do not use SSL everything you do (including sending your passwords) will be sent in clear (unencrypted) text.


jueves, 4 de septiembre de 2014

Claro no te ayuda

Actualización: Hoy 10 en la mañana instalaron el internet. 9 días después.

-----------------

Hace unos días llamé a Claro Colombia para solicitar un enlace de Internet.

Al teléfono me dijeron que yo estaba en DataCrédito y que tocaba poner el enlace a nombre de otra persona. La atención fue pésima y la persona que me atendió fue grosera y no me quiso explicar más.

Por cosas que he hecho recientemente sabía que no estaba en DataCrédito, así que para verificar pagué en http://midatacredito.com y en efecto no estaba reportado. Ahí perdí unos 25.000 pesos.

Luego llamé a quejarme y me dijeron que me arreglarían el problema. Esta es parte de la llamada donde me dijeron que me llamarían (la que está en el video que sigue). Llamada del 1ro de septiembre de 2014. Tengo la llamada completa donde dicen cuál es el problema y que sí es un error de ellos.

video

Yo quedé a paz y salvo con Telmex (antes de ser Claro Colombia) en 2010 y tengo el paz y salvo.

El 3 de Septiembre me dijeron que sí era necesario mandar el paz y salvo. Aunque antes me habían dicho que no. Pedí más ayuda en Twitter (donde me habían atendido antes) y me contestaron sin contexto, como si fuera la primera vez que les hablara.


En ese momento me molesté. Y es 5 de septiembre y no me han resuelto.

Subí un video a Youtube que estuvo disponible unos minutos. Yo lo pude ver, y tengo un testigo que también pudo. Luego dejó de estar disponible y Youtube me dice que no lo pudo procesar, y eso es imposible, porque lo alcanzamos a ver. Sería feo pensar que me lo censuraron, pero eso es lo que parece. Todavía no puedo afirmarlo con certeza pero eso es lo que parece. Yo uso HTML5 y nunca más instalaré Flash, entonces para concederle el beneficio de la duda a Youtube, subí otra vez el video acá, usando instrucciones viejas que he usado antes. Sería muy extraño que deje de aparecer, pero pasó. Acá lo subí otra vez para asegurarme de que usé el video que codifiqué con las instrucciones.

Subí el video a Vimeo también (y espero que algún día lo procesen, que lento es).

Para terminar, es feo que no haya buenos competidores para servicio de Internet y que uno tenga que rogale a Claro para que le instalen a uno Internet en su casa. Me dicen que otros proveedores tienen un servicio mucho peor.

Me han contado que el camino más efectivo es una queja en la Superintendencia de Industria y Comercio. Ya radiqué la queja.

Espero no terminar llamando y gritando como la pobre señora Patricia.

No es aceptable que un problema que se puede arreglar en horas les tome días.

Además, me están discriminando abusivamente con la mala excusa de que es culpa del sistema.

jueves, 28 de agosto de 2014

pylint for Python 3 in Ubuntu 14.04

The steps to get pylint for Python 3 in Ubuntu 14.04 are:
  • sudo aptitude install python3-pip
  • sudo pip3 install pylint
  • /usr/local/bin/pylint your_file.py
By the way, today is the day I stop caring about Python 2. I will use Python 3 for my new programs.