viernes, 28 de febrero de 2014

Fui a un torneo de golf

¡Y me gustó!

Ya he tenido chance de ir al club campestre en Mexicali, a tirar algunas bolas en el range. Lo que nunca había hecho, es recorrer los 18 hoyos, y menos estar cerca de la gente que sabe jugar, viendo cómo se desempeñan. Hoy Juanjo participó en un torneo a beneficio de los bomberos, y tuve chance de acompañarlo.












Fue muy divertido, al menos para mí. El golf es un deporte que combina variables físicas con técnica individual, y te enfrentas principalmente a tí mismo. Es cierto, al final tu puntaje es comparado con el de otros jugadores, pero esos jugadores no pueden hacerte nada para afectar tu desempeño, como en el fútbol, que el rival se puede poner más defensivo y ya no te deja anotar.















Lo estuve viendo y pensando, y decidí añadir el golf a una de las cosas a las que algún día me gustaría entrarle.  Es muy parametrizable, así que tengo que estudiarle mucho primero, pero uno de los principales obstáculos, el alto costo de entrada, lo tengo prácticamente sorteado. Puedo conseguir los palos y el dónde jugar fácilmente.















Juanjo no quedó en ninguno de los primeros lugares, pero al menos en la rifa se sacó un premio. Ahorita me siento muy motivado, pero no me veo entrando en una competencia hasta dentro de varios años, y eso si no se me baja mucho el hype.

jueves, 27 de febrero de 2014

TIL: Parenting sucks

Tienes que tomar decisiones a futuro sin ninguna especie de experimentación previa, escudándote detrás de "que me juzguen en 10 años (o más)". Y es cierto, es muy difícil juzgar tus decisiones en el momento, pues generalmente te la tienes que jugar a la segura. Esas decisiones, a fin de cuentas, pueden valer queso, porque a fin de cuentas las estás haciendo tratando de medir cómo se va a comportar otro ser humano que durante muchos años tendrá un comportamiento súper volátil. Encima, estás expuesto a ser súper orgulloso y para siempre ver a tu hijo como alguien inferior y que te debe mucho, así que será muy, muy difícil ver como el prospera mientras tu vida va bajando de ritmo, y todavía más difícil, aceptar que el tenga la razón y tu no.

Ok, al menos hoy, no tengo el más mínimo interés en tener hijos, y calculo que así será por un buen rato.

miércoles, 26 de febrero de 2014

martes, 25 de febrero de 2014

Cheap ass gamers


Cuando estaba morrillo... Bueno, hasta la prepa todavía, juraba que cuando tuviera suficiente dinero iba a comprarme todas las consolas. Tendría la de Nintendo, la de Sony, la de Microsoft, y obviamente las portátiles. Ahí se me iría mi sueldo. Obviamente eso nunca pasó, me di cuenta de que con una PC y las de Nintendo soy bastante feliz, aunque el año agregué un PSP, este año se me antoja un PS3 por Persona 5, y el Vita se me antoja para jugar indies on the go.

Hoy que lo pienso, también creo que era un comentario bastante inocente. No sabía que, a esta edad en que ya tengo mi dinero para comprarme videojuegos, lo que no tengo es tiempo ni energías para jugarlos todos a todas horas. ¿Cuántos juegos no tengo sin pasar en el 3DS, Wii U y Steam? Un par de decenas, fácil. Y si no me cuido, la lista crece facilísimo con todas las ofertas que hay en el año, especialmente las de distribución digital.

Pero, ¿por qué comprar tantos juegos y apilar el backlog? Cada semana pareciera salir un juego que los medios te quieren empujar por la garganta sea como sea. Cada semana, otra experiencia de lo mismo con otra pintura, y cada mes, otra experiencia con ligeros tweaks, y más o menos cada 3 meses, un juego un poco más original. El ritmo de salida de los juegos es demasiado rápido para mí, para cuando sale otro juego que supuestamente debería jugar porque ya está de moda, no he terminado de sacarle todo el jugo a los juegos que ya tengo.

Hoy le dije a unos amigos de Mexicali que se compraran Wii U con Mario Kart 8 en mayo, para jugar en línea desde Guadalajara. Uno me preguntó que si ya se podía piratear. C'mon, vives en frontera y tienes trabajo de ingeniero, ¿y todavía quieres piratear?

Siento que le hemos perdido mucho respeto al software, especialmente, a los videojuegos. Lo vemos como algo a lo que le debemos exigir el máximo, bien chiqueados, y esperando siempre el menor costo de entrada posible. Y nosotros nunca dejamos que los juegos nos exijan de la misma manera, nos excusamos en que "el juego está mal diseñado" cuando no ganamos sin esforzarnos, y si no te dan un incentivo por cada paso y cada disparo, ni lo terminas. Uff, ¿y dura más de 10 horas? Qué rayos, ¡tengo que jugar el nuevo juego de moda de la semana!

Detrás de los juegos hay muchísimo esfuerzo. Muchas veces, los juegos son los sueños realizados de gente que siempre quiso ver a tal personaje cobrar vida, experimentar alguna mecánica, o contar alguna historia. Es cierto que existen cosas turbo prefabricadas y medidas, cual blockbuster hollywoodense. Pero de eso no tienen la culpa que realmente están hechos con amor y dedicación, y cuyos desarrolladores y creadores no merecen que les desprecies su juego hasta que esté en la sale de Steam, o peor, que lo piratees.

A fin de cuentas, nuestra elección con nuestro dinero es la mejor manera de comunicar lo que queremos, lo que aceptamos. Es como Netflix, entre más veas lo que te gusta, más de eso pondrán. Yo acabo de comprar Bravely Default, edición de coleccionista, y ya tiene más de una semana en mis manos. ¿Ya lo empecé? No. ¿Por qué? Porque quiero dedicarle el tiempo, la atención, y el respeto que se merece, no mezclarlo con otros asuntos u otros videojuegos. En la prepa, mi utopía era la de tengo todos los juegos y los voy a jugar todos. Hoy creo que llegué a algo mejor: Tengo los juegos que realmente planeo jugar, y nada más.

lunes, 24 de febrero de 2014

Chupelupe


Ahora que he tenido acceso a la TV, y especialmente a TV de paga, veo como 4 horas diarias de Simpsons, y aunque son los mismos de toda la vida, este momento del "chupelupe" me dejó riéndome como 5 minutos.

domingo, 23 de febrero de 2014

Kill la Kill: The Mightiest Five

Spoilers de Kill la Kill

Este momento estuvo epiquísimo, y realmente lo sentí como una gran marca de cómo han evolucionado los personajes de Kill la Kill.

Van 19 capítulos, y Kill la Kill tiene una pérdida de ritmo por ahí de los capítulos 10 a 13, pero aun con eso, siento que cada capítulo te suelta una impacto bueno y un montón de risas. Es muy frenético, divertido e intenso. Ese frenetismo muchas veces se traduce en "dibujamos como queramos", como pueden ver en la imagen de arriba.

Igual, la presentación y el cambio de los Mightiest five me encantó. Quedan 5 capítulos de Kill la Kill, y espero que cuando termine, me queden muchas ganas de seguirlo viendo.

sábado, 22 de febrero de 2014

Demasiado tiempo sin venir a Tijuana




Siempre es muy bonito para mi venir a Tijuana, y no venía desde septiembre. Es un tipo de "volver a casa" diferente al de Mexicali. Quizás, como hay menos familia y amigos que atender, tengo más tiempo de relajarme.

viernes, 21 de febrero de 2014

Anagramas con Python

Hoy resolví un examen en el que necesitaba checar dos arreglos, y que la palabra arreglo_a[i] fuera un anagrama de arreglo_b[i]. Lo resolví en Python de dos maneras:
__author__ = 'frcelaya'


def check_anagrams(first_words, second_words):
    if len(first_words) != len(second_words):
        print "Arrays are not of the same size"
        return
    for i, word in enumerate(first_words):
        if len(first_words[i]) == len(second_words[i]):
            is_anagram = True
            copy = second_words[i]
            for letter in word:
                if letter in copy:
                    pos = copy.index(letter)
                    copy = copy[:pos] + copy[(pos+1):]
                else:
                    is_anagram = False
                    break
            if is_anagram:
                print 1
            else:
                print 0
        else:
            print 0
    return


def check_anagrams2(first_words, second_words):
    if len(first_words) != len(second_words):
        print "Arrays are not of the same size"
        return
    for i, word in enumerate(first_words):
        a = sorted(first_words[i])
        b = sorted(second_words[i])
        if a == b:
            print 1
        else:
            print 0


def main():
    import time
    first_words = ["cinema", "host", "aba", "train", "adela"]
    second_words = ["iceman", "shot", "bab", "rain", "aleda"]

    start = time.time()
    check_anagrams(first_words, second_words)
    end = time.time()
    print "Check_Anagrams time:", end-start

    start2 = time.time()
    check_anagrams2(first_words, second_words)
    end2 = time.time()
    print "Check_Anagrams2 time:", end2-start2


if __name__ == "__main__":
    main()
La segunda es un poco más rápida, pero siendo sinceros, fue inspirada en un post en Stack Overflow. La primera la pensé yo solito. Por ahí vi otra solución sobre llenar unas tablas de frecuencias, pero estas dos soluciones me parecieron más sencillas y entendibles. En cuanto a eficiencia, me exigían que se resolviera en 2 segundos, no tuve problemas con eso.

jueves, 20 de febrero de 2014

Primeros días con la rMPB

Llevo  casi una semana con la rMBP, y ha sido justamente lo que esperaba, algo que me pone muy feliz. Si tuviera que describirlo todo con una sola palabra, sería "comodidad". El desempeño es fluido, instalar aplicaciones muy fácil, cargarla, casi no depender del adaptador de corriente, lo placentero que es leer en la pantalla, y algunas otras cosas pequeñitas.

Siendo sinceros, tampoco me siento como "wow, ahora puedo hacer todo esto que antes no podía en Windows". Seguramente, una Ultrabook del mismo precio me hubiera dado una capacidad de poder similar, pero no estoy seguro de que con la misma elegancia y tranquilidad que esta computadora. Y seguramente, conforme empiece a familiarizarme más con el sistema operativo, le podré sacar más jugo.

Algo que me sorprende es que existan 4 modificadores de las teclas: Fn, Control, Option y Command.  En Windows eran 3: Fn, Alt y Control, aunque si nos ponemos exigentes, la tecla de Windows también era un modificador. Creo que lo que me pasa es que todavía no entiendo la filosofía detrás de cada uno, creo que Command tiene más que ver acciones de la aplicación que estás usando, y Control con acciones del sistema operativo. O... Algo así... Siento que cuando domine esto, me voy a ver turbo hacker hollywoodense, usando puros shortcuts y gestos del trackpad. Uff, esa es otra, el trackpad si está a otro nivel, si no me creen, estudien a personas usando laptops con Windows y MacBooks con multitouch trackpad. Les aseguro que habrá más gente usando un mouse del lado Windows que del lado Mac.

Hoy tuve chance de jugar con una MBA que acaba de comprar la esposa de mi papá. Con todo y que es más ligera, delgada, y de mejor batería, me quedo con mi rMBP.


También programé el problema de la mochila, en Python. El freaking PyCharm se ve HERMOSO en el modo retina:


Overall, es como dije, una experiencia muy, muy buena, como la esperaba. Quizás no me voló la tapa de los sesos, porque es una sensación parecida a la de las laptops que me dieron en Intel. Puedes confiar en la batería, en el desempeño, en la portabilidad. Lo que esas laptops no tenían era el game changer trackpad.

miércoles, 19 de febrero de 2014

Vade retro, nostalgia Evangelionera

Hoy, por andar moviendo cosas en los cajones de mis hermanas, encontré mis freaking mangas de Neon Genesis Evangelion!!!


Corrían los años de secundaria, entre 2005 y 2008. El Bugi, el Edgar y yo éramos turbo fans de Evangelion, conocimos la buena nueva por medio del Edgar, si no mal recuerdo. Creo que el Isra también llegó a hacerse medio fan, pero que yo recuerde, solo el Bugi y yo coleccionábamos los mangas.

Bonitos, muy bonitos. Costaban como 100 pesos y los terminaba como en dos horas, porque siempre me detenía a ver los dibujos super elaborados y asombrosos. La historia ya me la sabía por el anime, pero el manga añadía pequeños twists, y como digo, las ilustraciones se disfrutaban mucho. Era un muy buen trabajo de la editorial Mundo Vid.

Luego quién sabe que pasó, pero dejaron de publicarse. No tenían un ritmo muy constante, de hecho ni me acuerdo cómo me enteraba de cuándo salían los nuevos tomos. Llegué a escuchar el rumor de que el número 11 salió en Japón, y estuve para siempre esperándolo, y esperándolo, y esperándolo... Hasta que la tienda de cómics de la Cachanilla, donde compraba mis mangas, cerró. Ahí ya no supe de qué otra manera seguirles el rastro.

Hasta que el Internet llegó a mi vida, y me puse a investigar. Resulta que a Mundo Vid si le fue mal, y después del tomo 10, ya no publicaron más. Hoy que volví a buscar, encontré que Editorial Norma los publicó en España, y ellos si llevan los 13 que señalan en Wikipedia, es decir, la serie entera.




A mí me faltan el 1 y el 6. Al primero no sé que le pasó, el 6 si recuerdo que lo presté y nunca volvió. Ahora estoy muy tentado a completar la colección con las ediciones de Norma, porque pues, OCD y nostalgia. Además de la gran experiencia de la historia y la impresión de los dibujos, te queda ese feeling de la secundaria, de tener algo tubo japonés en tus manos, algo tan ajeno a tu cultura, que te está pegando de maneras a las que no estás acostumbrado. Y Neon Genesis Evangelion pega bien duro.

martes, 18 de febrero de 2014

Kadane's algorithm

En 1977, Ulf Granader propuso un problema conocido como "máximo sub-arreglo": Dado un arreglo, encontrar el sub-arreglo que diera la suma más grande. Es decir, dada la secuencia:

{−2, 1, −3, 4, −1, 2, 1, −5, 4}

Encontrar la secuencia interior que te da la suma más grande. Para el arreglo de arriba, la suma más grande es la dada por el sub-arreglo {4, -1, 2, 1}, en total, 6.

Para 1984, Jay Kadane dio una solución que, hasta hoy, sigue siendo la que viene en Wikipedia. Aquí una versión en Python:

A = [-2, 1, -3, 4, -1, 2, 1, -5, 4]
temp_start = start = end = 0
max_ending_here = max_so_far = 0
for i, x in enumerate(A):
    if max_ending_here < 0:
        max_ending_here = x
        temp_start = i
    else:
        max_ending_here += x

    if max_ending_here >= max_so_far:
        max_so_far = max_ending_here
        start = temp_start
        end = i

print "The highest sum was", max_so_far, "from position", start, "to", end, "."

Está bastante bien,  lo que más me confundía era la parte de cómo guardar el inicio. Ocupas un inicio y un inicio temporal, el temporal lo guardas cada que parece que empiezas una secuencia nueva. Comienza a avanzar con esa nueva secuencia, y si se confirma que ese inicio temporal es mas grande que el que ya tenías, lo sustituye.

Es el tipo de cosas que vendrán en un trabajo que estoy buscando.

lunes, 17 de febrero de 2014

Primos chiquitos

Lo chilo de tener primos chiquitos (aunque ya  más bien chicos), es que tu también te puedes comportar como uno!




domingo, 16 de febrero de 2014

My humbling ranchito

Hoy he dicho que estoy bien como mil veces. Al final del día, ya empecé a dudar. Intuyo que es por tanta exposición a la seguridad y confianza del refugio mexicalense, pero ya que lo estuve meditando, llegué a la conclusión de que hay mucho más detrás de esa sensación.

Ha sido una especie de bajón a la tierra, creo que porque llevaba un mes en un ambiente muy aislado, 75% del tiempo solo y el resto con ingenieros que hablan el mismo dialecto que yo. Ah, pero hoy que estuve viviendo en una atmósfera de paz y tranquilidad, constancia, cero tráfico, distancias cortas, gente pacífica, y todo eso... Me sentí muy, muy alejado. Y luego empecé a tener miedo.

“Wow, qué lejos estoy de todo esto“. Y la lejanía no la mides de aquí a Guadalajara, la mides hacia una barquita, en un océano muy agitado. Ahí estoy yo, tratando de dirigirla a la próxima tierra firme, tierra de oportunidad y aventura. Últimamente, he tenido que enfocar mis esfuerzos en la tierra que se ve más próxima: La tierra del empleo, que me dejará reforzar la barquita, acumular víveres, y zarpar otra vez al continente de la maestría.

El problema es que hoy eché un vistazo atrás, en mi chance de volver a ver la tierra desértica de donde salí. Yo sé que siempre podré volver y seré bien recibido, pero ya he soñado y trabajo por cosas tan lejanas, que también Mexicali lo siento distante. Lo inquietante es que tampoco es como que haya tierra firme a la vista, por más que ya me hayan hablado de una empresa y esté súper emocionado y enfocado en el proceso de aplicación. El miedo llegó cuando me di cuenta que estoy en medio de todo, con nada exactamente al alcance de la mano. ¿Qué estaré haciendo este verano? Si trabajo, ¿en qué estaré trabajando? ¿En qué ciudad? Y a todo esto, ¿quién chingados me creo para andarle jugando al vagabundo aventurero rockstar?

Esa pregunta fue la que me dejó más confundido. A ver cabrón, ¿qué haces solo en Guadalajara, jugando a el startupero-come-salmón-programador-indie-me-quiero-ir-a-Europa-weee? Ninguna de esas cosas figuraba en los motivos originales por los que te fuiste.

Tal vez no. Al menos no con esas palabras. Pero aprender y crecer si fueron los motivos originales, y lo que estoy haciendo ahorita me está enseñando mucho. Mi malestar es con mi actitud de vagabundear porque si, vagabundear porque qué cool. He caído un poco en el ser diferente por ser diferente, alejarme de Mexicali nomás porque si.  No puedo solamente andar detrás del próximo rush de adrenalina que te da la inseguridad, debe ser para alcanzar cosas puntuales y trascendentes. Ahorita, lo que más quiero es conseguir un trabajo con la empresa que ya me contactó. Después, será el proceso de aplicar a la uni en Múnich, conseguir la beca, y conseguir la visa.

Gracias Mexicali, porque no importa qué tan lejos me vaya, siempre eres una buena motherbase. Ranchitobase.

sábado, 15 de febrero de 2014

jueves, 13 de febrero de 2014

Job Interview One-Sheeter

¿Se acuerdan de los acordeones? En Lifehacker hay un artículo sobre cómo preparar algo parecido para tu próxima entrevista de trabajo. Lo más bonito es que es un template en Google Drive! No te la pueden poner más pelada.

Aquí algunos ejemplos de qué he puesto yo:

Five Key Points:
Quick learner

This is why I rock:
Always interested in finding new, better ways to to the work.

Areas of development:
I tend to let time pass without telling my superiors about my current activities and results, leading them to forget me or think I'm doing nothing.

Brilliand Ideas:
Uh, I don't work there yet!

My overall work/team philosophy:
Everything is open, hackable and improvable.

Questions I have:
What have been some recent wins or success cases for the team?

My short/long term goals:
I've found passion in informatics and software, now I want to drive my career through this path.

Specific challenges:
Test stations in the lab needed to always be up to date with the correct set of tools and environment, so I wrote a Python script that would install all the necesarry apps and files to get it done automatically.

miércoles, 12 de febrero de 2014

La ocarina en Link to the Past

Seguramente todos se acuerdan de la ocarina en The Legend of Zelda: A Link to the Past, la que usabas para viajar rápido por todo Hyrule. Hoy la volví a obtener en el juego, y la historia detrás de ella siempre me conmueve.

Primero, el pasármelo el bar, solo, extrañando a su hijo perdido. Después, la ilusión del flautista con los animales en un claro del bosque, que se desvanece antes de que puedas reaccionar. Y cuando vas al Dark World y encuentras al hijo perdido, convertido en un monstruo, te pide que por favor encuentres la ocarina que enterró en ese mismo claro del bosque. Te presta una pala, encuentras la ocarina, y cuando la tocas frente a el hijo perdido, pum, te pid  que le lleves la ocasión a su papá y se vuelve de madera. Queda ahí para siempre pero no le puedes hablar ni tener ningún otro tipo de interacción con él.

De vuelta en el bar, el papá está dormido (o borracho), y cuando lo despiertas con la ocarina, piensa que cuando abra los ojos su hijo estará ahí. Pero no, eres otra persona, pero la misma flauta. El papá se entera de lo que le pasó a su hijo, y decide dejarte la ocarina. Supongo que saber que a tu hijo le fue mal es mejor que no saber qué le pasó. Antes de que te vayas, te pide que toques la ocarina frente al pájaro de metal en la plaza del pueblo.

Y aquí es donde, para mí, la historia te sorprende. Vas y tocas para el pájaro de metal, y este explota, dejando salir un pájaro entre pato y paloma, que te ayuda a viajar por Hyrule. La mascota del flute boy, con la que empezó el viaje en el que se perdió. Otros han parecido en el camino, pero su legado te servirá para triunfar. 

La historia tiene final feliz, pues en los créditos del juego ves al papá y al hijo reunidos de nuevo. Es algo así como la historia del hijo pródigo, versión Zelda. 

martes, 11 de febrero de 2014

Choose your thrill

Hoy, nadé mejor que nunca, con unas instrucciones sencillas que vi en Internet. Tampoco parecía un delfín, pero antes tenía que salirme al a media hora porque me dolía la espalda y se me cansaban los brazos, pero hoy, ¡tenía ganas de quedarme más tiempo!

Hoy, entré a una universidad a la que nunca había ido para escuchar una plática sobre un organismo que te ayuda con el proceso de aplicar a una universidad en Alemania y buscar becas. Al parecer, llevaba los pasos un poco mal, y necesito meterle más intensidad a esto.

Hoy, compré una Macbook Pro, gastando 21,100 pesos cuando estoy desempleado. Necesito una lap nueva, y más si estoy a punto de empezar una empresa con mis amigos que no me dará nada de dinero durante un buen rato.

También hoy imaginé algo increíble: Chilli corn dog. Yeah, let that sink in your mind.

Necesito aprender más sobre desarrollar aplicaciones para Android, aprender más alemán, 160 dólares para la visa láser, como 320 dólares para aplicar a la maestría, ah si, y encontrar un trabajo. ¡ESO es emoción! Y pensar que otros de mi edad andan casándose y teniendo hijos y ese tipo de cosas, pfff. Bueno, cada quien elige sus riesgos.

lunes, 10 de febrero de 2014

¿Hoy trabajé?

Hoy pagué en Github para tener derecho a repos privados. ¿Por qué ocupo repos privados? Porque estoy empezando un proyecto con unos amigos. Originalmente estábamos pensando en hacer una empresa con fines de lucro, pero recapacitamos, y pensamos que lo mejor por ahorita es dedicarnos a hacer y aprender lo más que podamos, antes de querer vender algo. Por lo tanto, empezaremos a desarrollar algunas cosillas, y para poder colaborar en línea escogimos Github, que yo últimamente vengo amando bien fuerte.

El caso es que me encargaron lo de pagar y escribir algunas instrucciones sobre Github y cómo empezar a usarlo. Pagué, hice algunas pruebillas, escribí un documento, y en la junta del miércoles habrá un mini entrenamiento estilo Hello World para ver que todos estemos sincronizados y sepamos estar jalando y mandando código. Cuando estaba escribiendo el documento, me sentí como si estuviera trabajando, tal cual.  Investigando algo técnico, haciendo pruebas, comunicando resultados a los demás, preparando lo que sigue. Lo único que faltó es que me pagaran, pero al menos sentí un día mucho más productivo de lo que han sido los últimos. Y si esto algún día termina en algo que se genere dinero, sentiré que logré un súper achievement.

domingo, 9 de febrero de 2014

Syntax Highlighter

Estuve haciendo unos tests, y por fin pude medio configurar Syntax Highlighter para compartir cachos de código que vaya haciendo.

Cuando empecé a programar mucho en Intel, me fui dando cuenta de esta belleza filosófica que tiene el código de las computadoras. Llegue a pensar en el código como la más increíble materia prima, infinita y siempre capaz de volverse a moldear. Es la fundación de inventos increíbles de la humanidad. Todos deberían aprender a escribir código, para dar el siguiente paso y entender más el mundo que nos rodea. 

Siempre he proclamado lo talentosas que son mis hermanas, una hasta tiene un blog bien perro donde pone dibujos a diario. ¡A diario! No me imagino cómo lo logra. Yo puedo al menos poner fragmentos de código de vez en cuando.

El estilo de highlight que logré todavía no me convence, pero algo es algo. Por ahorita, les dejo mi Stop-Words.h, un archivo que uso para extraer una lista de palabras a ignorar que están guardadas en un archivo .txt, y regresarlo en un vector de Strings. Está escrito en C++, y es parte de mi proyecto de Information Retrieval:

 Stop-Words.h
#ifndef __STOP_WORDS_H_INCLUDED__
#define __STOP_WORDS_H_INCLUDED__

#include <vector>
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

vector<string> Create_StopWords_Vector() {
  string line;
  vector<string> stopwords_v;

  ifstream myfile("Stop-words.txt");
  if (myfile.is_open()) {
    while (getline(myfile, line)) {
      stopwords_v.push_back(line);
    }
    myfile.close();
  }
  else {
    cout << "Unable to open file";
    return { "Unable to open file" };
  }

  return stopwords_v;
}

#endif
Lo pueden jalar desde mi repo en Github.

viernes, 7 de febrero de 2014

Es un peligro Guadalajara

Restaurant al que vas, mesera de la que te enamoras.
Aunque tus amigos digan que se parece a la niña de Toy Story 3...

jueves, 6 de febrero de 2014

Let's play a game


Me lo pasó Rocío el otro día, y aunque no es nada científicamente comprobado o algo por el estilo, es un excelente iniciador de conversaciones, o una herramienta para saber más o menos cómo anda la otra persona.

Si les interesa saber cómo me fue:

Las cuatro cosas estaban en las 4 esquinas de un cuadro imaginario.

El cubo: Lo imaginé de un tamaño más o menos pequeño, lo podías sostener fácilmente con una mano. Era transparente, como de cristal, pero tenia un brillo azul. Estaba simplemente parado sobre la arena.

La escalera: Era de metal, de esas que las deslizas y se hacen más largas. Estaba simplemente sobre la arena, y no estaba extendida.

El caballo: Un caballo estándar, café oscuro, de buen tamaño y fuerte. Estaba pastando tranquilamente, minding it's own business.

Las flores: Mi primer impulso fue pensar en varios tulipanes rojos/naranja oscuro, pero luego pensé que era el desierto, así que mejor pensé en que solo habría dos o tres cactus con una flor grande y muy bonita, roja también, pero solo una en cada uno. Algo así.

La tormenta: Estábamos todos bajo la tormenta (por alguna razón, en este punto me imaginé yo en medio del cuadro imaginario). El cielo era muy negro y oscuro, y la tormenta era fuerte. Bastante viento, pero solo agua, no rayos ni hielo ni tornados o algo así. Solo viento y agua, y aunque fuertes, tanto el caballo como las flores y yo, intentábamos disfrutarla, porque era mucha agua en medio del desierto.

En mi opinión, por orden de credibilidad, estaría primero la tormenta como lo más creíble, luego el cubo, luego el caballo, luego la escalera, y luego las flores. Insisto, no es como que una fotografía exacta de mí mismo, pero es muy bueno para sacar plática.

miércoles, 5 de febrero de 2014

Pokémon Bank



Gracias Nintendo por darme otro "proyecto"  para entretenerme en mi ninez. Esta semana termino el Pokédex de XY si o si.

martes, 4 de febrero de 2014

The Importance of Place

Day 27: The importance of where you live: our home and environment have a tremendous impact on our lives. Take a look at the eight factors that should be considered when choosing where to live. Maybe you’ve never actually chosen, and you’ve just ended up where you are by default. Take the time today to think about the idea and importance of place. You may determine that where you are is perfect, or you may realize that you belong somewhere else.

Según The Art of Manliness, la felicidad de los hombres se puede basar, en gran medida, en el what, who y where.

"What will I do?"
"Whom will I marry?"
"Where will I live?"

La primera es mi pan de cada día. Todos los días, todo lo que pienso, como, escribo y hago me rebota con preguntas como "¿para qué?", "¿a dónde me llevará esto?", "¿qué clase de persona seré si hago esto?". Paranoias diarias del desempleo, I guess.

El whom will I marry me la pela.

Pero nunca me había detenido a pensar mucho en el where. Si, he estado buscando trabajos interesantes en Guadalajara, Mexicali y Tijuana, pero nunca viendo mucho más allá del dónde está el trabajo más chilo. Según The Art of Manliness, hay 8 factores en los que te puedes basar para decidirte por un lugar dónde vivir:

1) Oportunidades profesionales
Esto muchas veces depende de la vocación y las ventajas competitivas de la región en la que vives. Puedes vivir cerca del mar, y muchos trabajos involucrarán algo marítimo, o vivir en la pinche frontera y que este lleno de maquilas. Creo que, actualmente, existen trabajos mucho más interesantes en Guadalajara, al menos para el camino por el que me interesa llevar mi carrera profesional.

2) Estética
El qué tan bonita sea la comunidad en la que vives, aumenta tu sentido de pertenencia y orgullo por la comunidad. Lo bonito ya será diferente para cada quien, hay áreas de Guadalajara muy bonitas, y otras bastante gachas. Mexicali igual, aunque en general lo siento mucho más desabrido, todo plano y sin edificios grandes o algo importante.

3) Oportunidades recreativas
Las cosas bonitas están padres, pero necesitas más que solo ver pasivamente. Necesitas una variedad de ofertas de entretenimiento que vaya con tus gustos. Eso es algo muy perro de Guadalajara, tiene de todo, aunque a veces los precios de entrada no sean muy baratos. Mexicali tiene entre nada y casi nada.

4) Clima y geografía
Es lo más obvio de la lista, pero si nunca has vivido en un lugar cuyo clima te conforta y la geografía te invita a salir a explorar, no has vivido. Obviamente Guadalajara vuela a Mexicali fuera del parque, pero cuando vivía en Linz, era otro rollo. Guadalajara es "wow, ¡qué padre!". Linz era "como que ésta ciudad me está mimando". Obviamente, el clima y la geografía de un lugar modifica la personalidad de sus habitantes. En Mexicali son súper cerrados porque salir está cabrón. En Guadalajara el clima es mucho más a modo, y creo que por eso la gente es más activa durante todo el año. Linz tenía una rotación de estaciones muy marcado, así que la gente estaba muy disciplinada a en tales fechas, tal tipo de actividad.

5) Parejas disponibles
Creo que nunca he vivido en un lugar donde eso sea un problema.

6) Cercanía de la familia y amigos
Este puede ser muy cambiante. Eventualmente deberás hacer amigos a donde quiera que vayas, y si llegas soltero, es muy probable que también hagas familia. Pero definitivamente, es un punto a favor que una ciudad tenga a este tipo de personas. Tal vez cuando eres soltero no tanto, pero ya casado y con hijos, o peor, solo y anciano, la familia te ayudaría muchísimo. Aquí obviamente Mexicali le gana a todo.

7) Ambiente para criar hijos
Otra que ahorita no me interesa, pero ya intuyo, por opiniones propias y extrañas, que Guadalajara no me gustaría tanto para criar a mis hijos. Todo lejos, todo más caro, más complicado, más ruidoso. Por otro lado, Mexicali me gusta bastante, quizás por lo mismo de que el clima haría que no salgan, así que al menos estaría más tranquilo de que pasarían la mayor parte del tiempo en casa.

8) Costo de vida
Es otro punto muy obvio. En México parece que entre más pagas, es para alejarte un poquito más del desmadre. Pagas poco, vives en un pueblito sin mucho que hacer. Pagas algo medianón, vives en una ciudad chica con la mayoría de las atracciones básicas y algunas extra. Pagas mucho, y es porque vives en una ciudad grande que es un caos y pagas para alejarte y callarlo. Pero en otras partes del mundo, pagas mucho porque vives en un lugar muy muy perro y bonito. Y además, muchas de esas cosas se te regresan, como pagar muchos impuestos para mantener limpias las calles, al menos puedes salir a correr y no pagas gimnasio. Y muchas veces lo que ganas se balancea con el costo de vida. Si no es así, pues si está más jodido, deberías cambiar de trabajo o lugar de residencia.

Es muy difícil encontrar un lugar que cumpla exactamente con todo, más otros requisitos que agregue cada quien. Tienes que estar dispuesto a sacrificar algunas cosas, según las prioridades actuales en tu vida. Ya después, si las prioridades cambian, te preguntas "¿me mudo, o me adapto?". No creo que tenga nada de malo quedarnos en un lugar que nos guste mucho, y empezar a echar algunas bases para el resto de nuestras vidas. El problema es que me asusta bastante que esas bases me limiten y me hagan inflexible. No sé por qué razón valúo tanto la movilidad y capacidad de adaptación a situaciones nuevas, pero incluso considero digno de aplauso que una persona esté en constante rotación, llevando su vida de aquí para allá. Pero también reconozco que debe ser cansado, siempre estar pensando en el what's next, pendiente de la siguiente sorpresa para seguir saciando esa hambre de retos y aventuras, como si fueran la emoción que usas para distraerte de que, eventualmente, necesitarás sentarte ya en un lugar y empezar a disfrutarlo.

Quiero llegar a eso, extender raíces y florecer en algún lugar, pero no sin antes haber pasado por el vagabundeo intenso y profesional.

lunes, 3 de febrero de 2014

Jaeyook Bokum

Hay un lugar en Guadalajara, llamado Yam Yam, cuya especialidad es la comida coreana. En su menú tienen un platillo llamado "Jaeyook Bokum", que probé hoy y quedé encantado.


Jaeyook bokum es carne de cerdo marinada con kimchi. Kimchi es un staple de la comida coreana, una especie de col china. Según Wikipedia, "El kimchi es un alimento fermentado presente en la mesa diaria de todos los coreanos. De olor fuerte y característico, su sabor es salado y picante.". El jaeyook bokum que yo comí definitivamente era picosito, pero justo lo suficiente, y la carne muy suave. Combinado con las cebollas y calabacitas, era una especie de guiso adobado súper bueno. Además, el arroz en el Yam Yam es buenísimo, hemos pensado incluso pedir más arroz y menos guisado. Ah, porque eso también tiene, las porciones son bastante grandes.

Me encanta conocer restaurantes nuevos y dar con platillos diferentes, que me sorprendan y me den ganas de volver por más. Van dos veces que voy al Yam Yam, y la tercera pediré algo diferente, casi seguro de que también será una grata sorpresa.

domingo, 2 de febrero de 2014

Stop being a passive creator

Day 24: In modern times, men have become more spectators than doers; more consumers than creators. Yet one of the marks of a mature man is being someone who doesn’t just consume the culture around him, but actually helps create it. Think about all the ways you consume the world around you, and the time you spend doing it. Next, think about the ways you can reverse that, and start to actually be a creator. That’s an intimidating word to some, so come up with ways that you can get off the couch and do something productive instead of just mindlessly intaking.

Day 24: In modern times, men have become more spectators than doers; more consumers than creators. Yet one of the marks of a mature man is being someone who doesn’t just consume the culture around him, but actually helps create it. Think about all the ways you consume the world around you, and the time you spend doing it. Next, think about the ways you can reverse that, and start to actually be a creator. That’s an intimidating word to some, so come up with ways that you can get off the couch and do something productive instead of just mindlessly intaking.

Últimamente éste es un tema que pienso mucho. Cuando tuve que desempolvar mi CV para actualizarlo, me dí cuenta de que era fácil poner tareas que se me habían asignado, pero, ¿realmente que he creado hasta ahorita?

Yo consumo un chorro de cosas. Comida, servicios, videojuegos, cultura, música, películas, ideas. A veces las critico, y opino cómo las hubiera hecho yo o qué pienso deberían cambiar para ser mejores, pero hasta ahí. Nunca doy ese siguiente paso, el de crear algo similar, mi versión de lo que consumo. Hacer todo ese viaje de conseguir lo necesario, ensuciarse las manos armándolo, y luego ver el resultado y sentirte orgulloso, pero al mismo tiempo, consciente de lo se debe mejorar, es bien bonito. Crear, es bien bonito y enseña mucho.

Me dí cuenta cuando empecé a cocinar. Me he dado cuenta cuando programo, cuando ayudo a la gente a encontrar soluciones a sus problemas, cuando escribo en este blog. Transformar una lista de cosas en una sola cosa nueva es un proceso de aprendizaje que siempre está abierto a la mejora. Termina transformándote a tí mismo también, y dejándote bien claras tus áreas de mejora.

The labor one performs transforms something in the environment, which in turn transforms you. The act of creation shapes you as a man, refines your sensibilities, improves your strengths, hones your concentration, and builds your character. Passive consumption leaves you untouched and unchanged. Consumptions breeds indifference; creation begets empowerment.

¿Y qué tal ese auto-entitulamiento de decir "ah si, una vez hice una pintura, me gustó cómo me quedó"? O cualquier cosa que hayas creado, te da credibilidad y reafirma que eres un ser humano un poquito más preocupado por vivir y participar de la vida y el mundo, no solo ser uno más del montón, o peor, estar estorbando.

Creating can take many forms. The traditional ones are still some of the best: creating in your job, creating a life of love with your spouse and friends, and creating children. But there are other ways to create as well. Service to your community. Hobbies like gardening, blacksmithing, art, and music. Inventing, writing, blogging, political participation. Creating experiences for other people. Creating a spiritual life. And simply creating your character every day.

Alguna vez tuve que crear dos horas de grupo de jóvenes de iglesia a la semana. Alguna vez tuve que crear scripts de automatización de pruebas en una empresa. También me gusta crear fotos que saquen algo de belleza a las cosas a las que ya nos acostumbramos que sean bellas. Me gusta, me encanta encontrar esa solución perfecta para un problema, después de iterar mucho sobre versiones de prueba. Me encanta crearme mi propia idea y opinión de todo lo que consumo.

Y aún así, hay muchísimas cosas que conozco y aun no me someto al proceso de crearlas. Algún día debería hacer un videojuego. También me gustaría entrarle a la jardinería, y volver a aprender a tocar algún instrumento musical. Uy, y me muero porque algún día mis hermanas y yo involucremos alguna especie de arte interactivo, donde yo haga la progra y ellas el arte. Hay un chingo de cosas que quiero crear. Y todo esto con la persona que soy ahorita. Si algún día me caso y formo una familia, voy a procurar que hagamos cosas juntos, algo en lo que todos aportemos algo, digamos "wow, ¡miren qué bien nos quedó!", y tiempo después, volvamos a intentarlo, pero mejorándo y expandiendo el concepto. Si podemos ser una familia de creadores, me daré por satisfecho.

sábado, 1 de febrero de 2014

Chiste rápido #1

Ya casi se acaba el día y no he publicado nada! Fue un día muy completo, limpiar la casa, torta ahogada, y "The Wolf of Wall Street". Como no queda mucho contaré un chiste:
¿Cómo haces hablar a un birote?
.
.
.
Lo pones en agua toda la noche, y al siguiente día, ya está blando.
Es muy bonito.