martes, 30 de junio de 2015

#11 Pequeño Proyecto de un grupo cuyo nombre no puedo decir

Nótese que el título está hecho para crear expectativa...pero a nadie le importa xD


Se acuerdan de la conjetura de Collatz? La he mencionado 04 veces en el blog:



En qué consiste? Voy a tomar la explicación que escribí alguna vez:

"La conjetura de Collatz es una proposición aún no demostrada ( no se sabe si es verdad o mentira) proveniente del área de La Teoría de Números (algunos prefieren llamarla "Aritmética Superior"). La conjetura dice más o menos lo siguiente: Si a cualquier número natural (1,2,3.......) le aplicas sucesivamente la regla de Collatz, que consiste en, "si el número es par (2,4,6, etc), lo divides entre 2; y si es impar (1,3,5, etc) lo multiplicas por 3 y le agregas 1"......entonces, siempre, y SIEMPRE, vas a llegar a 1.

Me explico mejor: Vamos a tomar para el ejemplo el número 5. 

El 5 es impar. La regla de Collatz dice "multiplícalo por 3 y súmale 1": 3x5+1=16. 
Ahora aplicas de nuevo la regla: El 16 es par, la regla de Collatz dice "divide entre 2": 16/2=8. 
Ooootra vez, aplicamos Collaz. 8 es par, por lo tanto, volver a dividirlo: 8/2=4. 
Nuevamente: 4 es par, entonces 4/2=2. 
2 es par, por lo tanto: 2/2=1. 
El 1 es impar, Collatz dice "multiplícalo por 3 y agrégale 1: 3x1+1=4. 
Pero el 4 ya salió antes.

Y precisamente, la Conjetura de Collatz nos dice que a cualquier número que tú le apliques sucesivamente esta regla, siempre vas a terminar en el ciclo: 4,2,1....Es una conjetura solamente, para saber si es verdad, tienes que demostrarla, y si es mentira, pues dar un contraejemplo (o sea, un número que no cumpla con esa regla)."

El asunto es que la Conjetura de Collatz no se resuelve desde que en 1969, un tal Collatz (sorpresa!) la mencionó. Yo la conocí cuando habré tenido mis 14 ó 15 años, y fue la única conjetura en la que (en ese tiempo) me sentí capaz de resolver y dedicarle realmente tiempo. Hay muchas conjeturas abiertas en matemáticas y archiconocidas, como la de Goldbach o la de Riemann, pero todo el mundo está detrás de ellas, Collatz en cambio, si bien tiene sus seguidores, la población que lo intenta resolver aún sigue siendo muy inferior que cualquiera de las anteriores.

Volviendo, estoy en un grupo en la que nos dedicamos a hacer proyectos para aprender y con ánimos de hacer por que nos gusta hacerlo (muchas veces sin ver las utilidades prácticas) y hay proyectos de todas las complejidades, desde hacer un Sistema Operativo desde cero y crear un nuevo lenguaje de programación que corra sobre él, pasando por hacer un resolutor de sudokus y terminando como los míos, que en este caso creo que ha sido el más cortito y el menos complejo. 

Como estoy aprendiendo recién javascript (el lenguaje de programación que se utiliza para hacer dinámica una web) decidí que mi primer proyecto sería escribir en js (la extensión de javascript) la función de Collatz y correrla en una web (en realidad quería hacer una página en la que introduzcas un número cualquiera en un cuadro de texto y te "bote" automáticamente toda la cadena de números) pero me conformé con el código. Fue escrito por mi amigo (él asesora y hace seguimientos a los proyectos, el pata es un capo) y yo prácticamente sólo miraba lo que hacía xD

Código escrito en javascript 

function collatz (n) {
    while (n> 1) {
        if (n % 2 === 0) {
            n = n/2;
        } else {
            n = 3*n + 1;
        }
        console.log(n);
    }
}

Código escrito en clojure


(defn collatz [n] ;; defn -> definir función
  (println n)     ;; imprimir a la consola
  (if (= n 1)     ;; si n es igual a 1
    n             ;; entonces retornar n
    (collatz      ;; sino, entonces llamar a la misma función con el resultado de abajo
     (if (= (mod n 2) 0) ;; si n es par
       (/ n 2)           ;; retornar el resultado de n/2
       (inc (* n 3)))))) ;; sino entonces retornar el resultado de n*3 + 1


Para aterrizar esto a una realidad más palpable (?) vamos a hacer una cosa. Si están usando Google Chrome (es válido también en Mozilla), hagan clic derecho sobre la página de este blog, y dénle a "Inspeccionar Elemento" (es la última de las opciones). Se les abrirá una ventana, con herramientas de desarrollador. Lo que ven es la pestaña "Elements" y el código que están viendo es HTML, el lenguaje de maquetado, y al costado, el CSS, el lenguaje de los estilos. Pero no nos vayamos por las ramas. 

Clic en la imagen para ver más grande

Ahora cambien la pestaña a "Console". No se asusten por la cantidad de líneas en rojo que aparecen, al final encontrarán al cursor tintineando para que escriban algo ahí. Pues ahí van a colocar el código de collatz (copiénlo y péguenlo ahí). Al dar enter les saldrá el mensaje "undefined".

Clic en la imagen para ver más grande



Ahora testearemos la función. Escriban  collatz(5) y den enter de nuevo. Lo que les sale es la cadena de números para el número 5 aplicada la función de Collatz, que es el ejercicio que hicimos manualmente al inicio. 

Clic en la imagen para ver más grande


Pueden probar con los números que ustedes quieran, sólo deben reemplazar el número 5 por cualquiera que se les apetezca, a mí particularmente me gusta rayar a la computadora con números como 45678909876543235693489850909386093406980753285984528493579129914903294902402309072408270820478472380748027034870340284803804720374082308470238748027304728404200

Eso es todo por hoy. Hace rato que me pasé de la regla de "30 minutos para escribir un post".

Pdta 01: Sugeriría, para los nuevos, no leer entradas antes de "Patydrómeda 2.0" (o sea, las entradas escritas antes de junio del 2015) porque era muy egocéntrica en ese entonces (lo sigo siendo) y personalmente percibo que hacía sobreesfuerzos por parecer divertida y entretenida. Como que me da rochecito.

Pdta 02: El próximo proyecto será hacer el juego de 2048 en javascript. Aunque antes de eso, a lo mejor resolveremos un problema de la Code Jam en este lenguaje.

Pdta 03: Desactivé la protección copyrigth, ésa que hace que en este blog no puedas seleccionar texto. Lo desactivé momentáneamente para que puedan copiar y pegar la función de Collatz. Para los que están interesados en implementarlo en sus blogs/página, el código es éste:

function disableselect(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function ("return false")
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}

Y sí, está en javascript (por si acaso el código me lo robé "de por ahí").

lunes, 29 de junio de 2015

#07 Solía leer a Nietzche

Conversando ayer con un amigo recordé una época "oscura" de mi vida. Casi al final de la charla, luego de que un tema llevara al otro, terminó hablándome de su tendencia a la introspección y las preguntas que se hacía a solas. 

Tuve una época así, cuando era chibola, entre los 12 y 17 años, quizá poco más. Solía "filosofar" todos los días, leer libros de Nietzche o Freud y hacerle preguntas a mi hermano que lo aburrían y hacían que me ignore (generalmente escuchando música con audífonos) y me odirara (con razón). 

Mientras (mi amigo) me hablaba con tanto entusiasmo de las cosas que pensaba y de los ideales que tenía recordé también las razones que me hicieron abandonar esa antigua forma de ser. 

Una actividad como el pensar y hacerlo haciéndote preguntas del tipo "y de dónde salen los pensamientos?", a menudo te aislan de la gente. Si no tienes un círculo que se muevan en esa sintonía, es casi un hecho que la sensación de aislamiento se hará evidente. Y algo más: Me di cuenta que, si bien "filosofar" y cuestionarme me resultaba agradable y a veces hasta adictivo, cuanto más lo hacía, más tendía a la tristeza y a la depresión (aunque puede que sea una consecuencia de la primera, del efecto del aislamiento).

Cuando miré a mi alrededor, me di cuenta que la gente más feliz (o al menos la que se veía y parecía feliz) eran personas que no se tomaban las cosas demasiado en serio y no se hacían tantas preguntas ni se cuestionaban demasiado. Eran prácticas. Así que empecé a cambiar hasta donde estoy. Ya no profundizo en nada ni me pregunto tantos porqués. Al menos ya no le permito a mi mente invertir energía en eso. Ahora me considero con mayor predisposición a la felicidad, y mi hermano ya no se tapa los oídos :)

Post Post: Descubriendo, recién, a Marron 5.

sábado, 27 de junio de 2015

#05 Come Fruta

El año pasado, por el 13 de mayo, me cogió una tos terrible. Estuve con ella cerca de dos meses, fui a dos doctores, gasté más de 600 soles en medicinas y exámenes médicos para descartar/identificar para que al final el segundo doctor al que recurrí (sé que debería decir médico, pero siempre prefiero la palabra "doctor")  determinó que no era nada una tos sino una alergia en la garganta. Su receta me curó en un par de semanas. No voy a seguir dando más detalles, pero el hecho es que la experiencia me resultó tan traumante que me prometí que siempre haría de todo para prevenir que vuelva a suceder. 

Desde entonces, tomé la decisión de que, en vez de gastar para curar una enfermedad, invertiré dinero en prevenirla. Y desde entonces como más fruta. De lo que antes era un "antojito" que comía una, dos o tres veces por semana, ahora lo he convertido en mi rutina diaria. Todos los días: 03 platanitos manzanita, 03 mandarinas, y 01 manzana (aunque esta última como a veces sí, a veces no, ya sabes, el plátano y la mandarina las pelas y ya está, la manzana en cambio hay que lavarla, cortar el centro, picarla si gustas...okey, soy bien floja! jaja). Escogí la mandarina por lo de la vitamina C que previene la gripe, y el plátano, a su vez, dicen que aumenta los niveles de serotonina en el cerebro (o sea que te pone más feliz). No he leído ninguna prueba científica al respecto, pero creo en ello. Creo en los beneficios de la fruta en general. Si mañana sale alguien diciendo que el consumo de pacae aumentará mi inteligencia emocional y me hará una líder, mañana mismo compraré pacaes. Como digo: Es mejor tener creencias que te hagan bien aunque probablemente sean mentira, que tener creencias que te hagan mal y que probablemente sean verdad (Por si acaso de los pacaes fue una exageración, pero que se entendió la idea, no?)

No me he enfermado en un año (algo que sucede por primera vez desde que tengo uso de razón) y se lo atribuyo a este nuevo hábito. De hecho, quizá al año el plátano y la mandarina como que ya no saben tan rico como los comiste la primera vez, pero inmediatamente recuerdo que más feo sabe un jarabe o pasar un mal momento por el hecho de estar enfermo, que automáticamente las frutas me saben ricas de nuevo.






Pdta: En Comas hay graffitis de "Come Fruta" por todos lados. No sé quién lo hizo, pero me pareció genialísimo.

viernes, 26 de junio de 2015

#03 Cómo adquirir un hábito

El objetivo de escribir estos post's tan tempranito básicamente es por mantener la disciplina de levantarme temprano. El día en que no tenga la obligación de hacerlo por un trabajo de horario fijo (que sucederá el día en que sea independiente) este valor me servirá demasiado. Supongo que existen muchas formas de cultivar la disciplina, pero de momento, éste es el que me está resultando efectivo (okey, apenas si van tres días...). 

Recuerdo que hace dos o tres meses me levantaba para salir a trotar, todas las mañanas, por diez o quince minutos. La gracia me duró 2 semanas, como mucho. Cuándo y cómo lo dejé? eso no lo recuerdo, pero sí es un hecho que la mente (al menos la mía) tiende a elegir la opción más cómoda (que la mayoría de veces no es la mejor) y mi mente es muy astuta para inventarse las excusas y justificar la flojera. Ante ello, hace un tiempo vi un vídeo (clic aquí) cuyo consejo es: Para hacerte un hábito, es buen método premiarte con algo cada vez, de modo que tu mente asocie el hábito que quieras adquirir (que seguramente te cuesta hacer) con un estímulo positivo. Citó un ejemplo práctico: Si quieres coger el hábito de hacer ejercicios todas las mañanas, pues a lo mejor puedes "recompensarte" con una buena sesión de relajación que incluye una tina con agua caliente. En mi caso, parece que un post tempranero puede hacerme eso.

Pdta: Si mantengo el ritmo de escribir un post al día, corro el evidente riesgo de que se me acaben los temas y/o comience a escribir cosas demasiado centradas en mi día a día (aunque el 95% post son de ésos jaja). Si bien escribir de por sí me hace bien, lo que me motiva realmente a hacerlo es el hecho de que "alguien me está leyendo / siguiendo". Me esforzaré por no aburrir a nadie, y si lo hago, me aseguraré de que salgan aprendiendo algo nuevo, así que, en ciertos post incluiré un "pdta" en la que lanzaré un dato (que creo yo) interesante o algo que en lo personal me sirvió. 

Nos vemos!

miércoles, 24 de junio de 2015

#02 Mis días

Hace cerca de un año que empecé a trabajar en un horario completo y fijo, y mi casi mutismo en este blog se debe a gran parte a ello. Un tanto al tiempo que invierto en el trabajo y otro tanto en el cambio de la manera de pensar que ha implicado aquéllo: Al no tener tanto tiempo para el "ocio" como el que tenía antes, me he vuelto algo más cuadriculada y fría al momento de decidir en qué invierto el tiempo. 

Así que, brevemente, así van mis días:

Lunes - Viernes: Levantase a las 6:45 am, comer y bañarme como loca, llegar al trabajo, invertir en la chamba y la movilidad 13 horas, disponer de mi tiempo libre a partir de las 9pm, momento en que chateo un poco Fb si hay alguien con quien, y dedicarme a uno de mis objetivos que es aprender javascript (quiero dedicarle más tiempo a la programación, no esta 1, 2 ó 3 diarias, sino 8 ó 9- y ya saben qué implica esto) .

Sábado: Los días que tengo permiso en el trabajo (que últimamente es seguido) ir al Hackaton y pasar 1 hora y media en el carro (qué hincha soy!) y quedarme ahí hasta las 9pm. Regresar a casa demasiado tarde, navegar un poco, etc.

Domingo: Levantarme tarde, hacer las compras, lavar la ropa, limpiar el cuarto, salir con mi tía, y dedicar, como de lunes a viernes, la una, dos o tres horas que pueda para aprender, ya sea de programación o emprendimientos y startups.

A veces juego fútbol los domingos con la colonia (no la que huele rico, sino los de la comunidad nikkei, que no sé si huelen rico, pero es que tampoco huelan feo-okey, mal chiste). Y así son mis días. Parece rutina (y en realidad lo es) y la gente en el trabajo es chévere que hace que no lo parezca, es un buen trabajo, en verdad y me dolerá mucho el día que salga de ahí, pero ése no es sueño. Aún no sé cuál es mi sueño, pero al menos sé que ése no lo es. 

Patydrómeda 2.0

Hoy es la primera vez en varios días que me despierto en una sin mucha flojera (no les ha pasado?, lo de la flojera, quiero decir) y es que he venido varios días pensando en un método para que levantarme en las mañanas no me sea tan difícil, y por el contrario, amanezca motivada y emocionada. Había pensado en un par de formas, y la que se me acaba de ocurrir hoy creo que es la que podría ser más efectiva: Publicar todas las mañanas. De paso, es una forma de mantenerme en forma en la escritura y aterrizar un poco las ideas que suelen darme vuelta todos los días y sin ponerlas nunca al papel. 
Dos requisitos me he propuesto para estos post: Que sean escrito en un tiempo no mayor a 30 minutos, y claro, que sean escritos ni bien comiencen la mañana. 

Estoy pensando migrar a Wordpress dada la nueva lavada de cara que le estoy dando a Patydrómeda que ahora luciría en su versión 2.0, y cambiar el blog por un nombre más apropiado con la palabra "píldoras" como primera palabra del nombre, pero creo que sería mejor probar el experimento por unas semanas y si al menos lo he hecho durante 30 días seguidos (que dicen por ahí que es el tiempo en que a una le toma adquirir un hábito) entonces ya está, nos vamos para Wordpress.