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

Update: XChat is dead and the new project is HexChat (a fork).

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.

martes, 19 de agosto de 2014

Listo el tocadiscos

Quería un tocadiscos. Compré el primero que vi y no lo pensé mucho. Creo que es suficiente para escuchar el disco que me regalaron y muchos más.


Ahora puedo irme a locales a cazar discos baratos. Lo bueno con la música es que a uno le puede gustar algo que no le interesa a los demás.

lunes, 4 de agosto de 2014

Generating a Bitcoin Vanity Address



There is good (fast) software to build vanity addresses.

I wanted to build something easy to audit. And I got what I wanted, but it is very slow.

Here it is : generate_vanity_address.py, in case you want to waste some CPU cycles.


lunes, 21 de julio de 2014

Quiero un tocadiscos

Quiero un tocadiscos.

Hace unos años jamás lo habría pensado pero ahora existe el deseo.

La imperfección es bonita. Casi todas las copias de una canción digital son el mismo archivo. Así es por diseño. Casi todas las copias, si no existieran los benditos rayos cósmicos y otros azares.

Todos los discos son sutilmente diferentes.

Lo mortal es bonito. Es bonito aprovechar las cosas mientras duran.

Un disco que me regalaron. No tengo donde escucharlo.

Creo que lo he escrito antes: Un defecto humano es querer que lo bueno dure mucho, que dure por siempre.

Nos fijamos más en las arrugas que en las historias de los viejos. Les preguntamos más por los achaques que por las alegrías pasadas que ellos quieren compartir.

La aguja no suena igual cuando es nueva que cuando ya está un poco gastada.

Lo mismo pasa con el acetato. Nuevo funciona de una forma. Con el tiempo surge un ruido de fondo que el cerebro aprende a filtrar.

Uno aprende a enfocarse en lo bonito que todavía suena y no en el ruido blanco que el tiempo permite.

Quiero esa imperfección en mi sala.

Es fácil explicarle a un niño o a un adulto curioso como funciona un tocadiscos.

Quiero un disco que tenga que cuidar. Uno que no dure por siempre. Nada dura por siempre. No me parece malo.

Quiero un tocadiscos.

jueves, 1 de mayo de 2014

Expected value of random walk

I found this nice answer where a guy draws a random walk that simulates the stock market.

The remarkable thing is that he talked about the expected distance of the one dimensional random walk from the starting point, after N steps.

It is different from the average distance (taking signs into account), that should be 0.

So, the expected (absolute) distance from the origin (see 1 and 2) is:


And this surprised me. Yeah, you even get PI there.

The math seems nice, I haven't checked it all :-)

Here is a quick simulation: expected_distance.cc.

Here is the output for 1000 steps:

$ ./random_walk_distance_1000_steps 
Theoretical average distance: 25.2313
Empirical average distance: 25.0942

$ ./random_walk_distance_1000_steps 
Theoretical average distance: 25.2313
Empirical average distance: 25.1914

$ ./random_walk_distance_1000_steps 
Theoretical average distance: 25.2313
Empirical average distance: 25.2604

It checks out. I'm glad I know this now.

lunes, 24 de marzo de 2014

Re: Un sistema universal de timestamps + Usando el Blockchain

Resumen: puedo comprobar que fui la primera persona en meter en el blockchain de Bitcoin el hash de un texto.

En esta entrada en su weblog, Sergio, quien siempre anda con buenas ideas, escribe sobre un servidor de timestamps.

Esto permite comprobar que uno sabía algo en un determinado momento antes de firmar un acuerdo de confidencialidad, o que uno tenía una foto antes que otra persona (sin necesidad de compartirla), o que uno fue el primero en publicar algo en Internet.

Seguro hay muchos otros casos de uso en los que baste con tener un servidor de timestamps confiable para hacer algo útil.

Sigamos con un ejemplo de la vida real.

Es probable que yo sea la primera persona en grabar el texto "Reductio ad Pambelé" en Internet, al escribirlo en una entrada anterior.

Y espero no meterme en problemas al poder comprobarlo de forma indeleble. Digo indeleble porque no estoy contando con el fin de la tierrra, ni el del sol, ni el del universo.

La página https://www.btproof.com, que tiene código libre, permite generar una dirección de Bitcoin a partir de un texto, y la acabo de usar para generar una dirección con base en:

"Reductio ad Pambelé  -- @n12o"

Es el texto sin las comillas y sin el enlace.

Transferí la cantidad en bitcoins equivalente a un dólar de hoy a la dirección pública generada. Uno puede transferir mucho menos.

Los bitcoins transferidos no se pueden recuperar porque la dirección no es generada a partir de un par de llaves, pública y privada. En inglés le dicen "quemar" bitcoins a este proceso.

La dirección pública es 136Dmd1AmhCmjNWQfN5Dfq4Fekv2q12yyo. Esta dirección se generó en mi navegador.

El screenshot tomado de www.btproof.com:

Ejemplo de uso del servidor de timestamp


Screenshot de www.btproof.com. Hay que dar click en "Check timestamp", "Create Timestamp" no verifica si el hash ya existe en el blockchain.


Si tienen un poquito de bitcoins consideren darle una propina al que escribió btcproof.

Reductio ad Pambelé

Inspirado en Reductio ad Hitlerum, más por el nombre y como se cita en las discusiones que por lo que significa, creo que cuando uno termina hablando de que tener más dinero es mejor, debe terminar la conversación con Reductio ad Pambelé y cambiar de tema.

Por supuesto, este no debe ser el caso cuando se está discutiendo un problema personal de alguien que puede necesitar ayuda, sin importar si está presente o no en la conversación. Es solo cuando se habla del tema en abstracto.


sábado, 22 de marzo de 2014

Análisis Técnico / ¿Un Fraude? / Random Walks

Desde el año pasado me comenzó a interesar el trading, especialmente el automático, cuando vi que podía usar el API de un exchange y hacer trading, sin pedir permiso ni dar explicaciones, gracias a la existencia de las criptomonedas.

Siempre he visto con escepticismo el análisis técnico. No todo el análisis técnico, pero sí gran parte de él. Creo que leer gráficas y predecir el comportamiento futuro de las acciones no es tan diferente a leer la taza del café o el tabaco.

Creo en la hipótesis random walk. Y que el comportamiento de las acciones en la mayoría de los casos es muy difícil (casi imposible) de predecir solo con análisis técnico. Mucha gente que hace dinero en la bolsa lo hace con información privilegiada.

También creo que para algunas personas el análisis técnico funciona y creo que lo he visto funcionar, aunque en teoría no debería. Y hoy creo que entendí un poco más la contradicción.

Antes de contar la razón quiero decir que no todos los métodos de análisis técnico pueden meterse en la misma categoría.

Aunque no estoy seguro de su efectividad, me parece seria la teoría detrás del indicador RSI y creo que es útil. Es hasta bonito. Y parece funcionar en la práctica en muchas ocasiones.

También me parece que el análisis de los volúmenes de las órdenes de compra y venta tiene mucho sentido, pero estas órdenes pueden ser manipuladas por programas rápidos que están físicamente cerca del exchange y pueden actuar más rápido que la mayoría.

Hay otros métodos populares que parecen sacados de un libro de esoterismo de Hilda Strauss, por ejemplo el Retroceso de Fibonacci: Patrones bonitos que se ven en la naturaleza y (supuestamente) también en el mercado de acciones.

Este comentario de Reddit me puso a pensar.

Aunque el análisis técnico no sea realmente efectivo, mucha gente cree que lo es y juega con sus reglas. Eso hace que en efecto el análisis técnico termine permitiendo una estrategia mejor que una aleatoria. Como una mentira que de tanto repetirse parece ser verdad.

Las publicaciones usan análisis técnico (y algo de fundamental) y predicen los máximos y mímimos de una acción. Luego los agentes que juegan en el mercado y que confían un poco en estas publicaciones (y que usan los mismos métodos para confirmar las predicciones) hacen que lo predicho se vuelva realidad, y así dan más credibilidad a las publicaciones. Un ciclo de realimentación positiva.

¿No es rara esta vida?

Sigo estudiando. Ya veremos como cambian mis puntos de vista. Es lo que pienso hoy.

Nota: Puse un enlace al API de kraken.com pero realmente he usado solo el API de btc-e. La razón es que creo que Craken es una empresa más confiable. Btc-e es un poco oscuro (porque es anónimo) y aunque funciona muy bien, no me atrevo a recomendarlo a otros. El API de Craken es muy bonito, pero desafortunadamente todavía el exchange no tiene mucho volumen.

viernes, 21 de marzo de 2014

A quote I like - About productivity

Today I was talking to a friend and I remembered when I was a student and I believed my future was in academia. It didn't happen, but one of the interesting things that I did read back then is still with me.
What Bode was saying was this: ``Knowledge and productivity are like compound interest.'' Given two people of approximately the same ability and one person who works ten percent more than the other, the latter will more than twice outproduce the former. The more you know, the more you learn; the more you learn, the more you can do; the more you can do, the more the opportunity - it is very much like compound interest. I don't want to give you a rate, but it is a very high rate. Given two people with exactly the same ability, the one person who manages day in and day out to get in one more hour of thinking will be tremendously more productive over a lifetime. I took Bode's remark to heart; I spent a good deal more of my time for some years trying to work a bit harder and I found, in fact, I could get more work done. I don't like to say it in front of my wife, but I did sort of neglect her sometimes; I needed to study. You have to neglect things if you intend to get what you want done. There's no question about this.
Later in life I learned that the implied advice might not be that healthy. Nothing is healthy anyway.

I take many small decision based on this lesson somebody else learned, and I wanted to share this text, for no special reason.

This is the Internet. No reason is required.

miércoles, 12 de marzo de 2014

Flappy Bird

An important lesson I learned in life, more than 5 years ago, is : Be careful of what you dream, because it might become true. And that's why I find this article about Flappy Bird very interesting. I'm glad the guy made money (he is still making it from the games people kept installed).

My favorite part :
But Nguyen understood the mantra of game design that Nolan Bushnell, creator of Pong and founder of Atari, described as "easy to learn and difficult to master." More recently, indie game makers had taken this to speed-metal extremes with the so-called masocore genre – games that are masochistically hard.
The article is here : The Flight of the Birdman: Flappy Bird Creator Dong Nguyen Speaks Out.

-----

Too bad this article has a video that is auto-played, and it sucks. The video is decent, though.

jueves, 27 de febrero de 2014

BIP70

En este momento pagar con Bitcoin no es tan cómodo y la propuesta BIP70 implementa mejoras que hacen más fácil pagar con Bitcoin. Funcionará tanto para pagos por Internet como para pagos de un usuario a otro usando NFC o Bluetooth.

En este video hay una charla que hace una buena introducción a la mejora.

Good Lovin'

Desde hace años conocía la canción Good Lovin', en versión salsa.

Esta es la primera versión que fue un éxito (no la primera grabada).


Esta la salsa de 1986, la versión que más  he escuchado.


Hay una versión de Grateful Dead. Es interesante. Sé que el grupo es importante, pero no estoy familiarizado con él.