Las 5 cosas que más me gustaron de vivir 2.5 meses en Boston

Mi trabajo me permitió vivir 2.5 meses en Boston, de marzo a mayo. En estos días, después de conversaciones con nuevos amigos, compañeros de trabajo, interacciones profesionales, fiestas, comidas y de más, aquí están las 5 cosas que más me gustaron:

1. Nunca antes hice amigos tan rápido. Conocí gente en el tren, internet, fiestas, bar, etc. La gente es muy amigable y viene de todas partes.

2. “Boston never drinks alone” – Esta canción me trae muy Buenos recuerdos:

3. Comí más burritos en esos 2.5 meses que en toda mi vida (exagerando un poco). No me arrepiento. Anna’s Taquería fue uno de mis lugares favoritos.

4. Boston fue uno de tantos factores que influenció mi leve cambio de carrera profesional al área de IT para Investigación Biológica (voy a escribir sobre esto en otro artículo). Boston tiene una comunidad académica muy grande, quizás la ciudad con el porcentaje más alto de personas con educación superior de todos Los Estados Unidos, con Harvard, MIT y otras más de 70 universidades en el vecindario. Además de una de las concentraciones más altas de compañías de biotecnología, software y otras áreas. Esto realmente crea una atmósfera muy interesante.

5. La ciudad simplemente es bonita. Mezcla de arquitectura moderna con muchos edificios históricos. Muchas cervecerías, restaurantes, mar, parques y todo lo que uno pueda necesitar en una ciudad.

Boston City

Ahora estoy de regreso en Colonia, Alemania. Feliz de estar de regreso en casa, pero super feliz de haber tenido la oportunidad de conocer Boston un poco a profundidad.

Advertisements

Oficialmente sin tarjeta de crédito personal

15556440_10209845377223902_73191367_o

Sí, aun soy parte del sistema, aun tengo mecanismos para compras en línea y aun utilizo muchos servicios bancarios, sin embargo hace algunos años tomé la decisión personal de no tener ninguna deuda, a menos que mi integridad o la de mis seres queridos esté en riesgo y siempre dejando la deuda como la última opción cuando se está entre la espada y la pared.

Hasta hace algunos meses aun solía tener una tarjeta de crédito que no sabía que ya estaba expirada hasta que en mi último viaje en el altiplano de Guatemala quise hacer un pago y no pude. Fue allí cuando pensé “¡tengo que ir al banco a renovar mi tarjeta!” y luego tuve unos segundos de reflexión y llegué a la conclusión que no tenía ningún sentido para mí en este momento. Todo lo que necesito puede ser cubierto con dinero que tengo, y si no me alcanza seguramente no lo necesito de verdad.

Aun encuentro las tarjetas como mecanismo my práctico de pago, pero decidí utilizar tarjeta de débito únicamente. Y aunque una tarjeta de crédito bien utilizada puede no causar ningún daño, prefiero evitar. No sé si en el futuro cambie mi sistema.

En la foto estoy yo en el cráter del volcán extinto Chicabal en el departamento de Quetzaltenango, Guatemala. Tuve un pequeño encuentro con la naturaleza y fue un recordatorio de tratar de vivir de la forma más simple posible, disfrutando la naturaleza y las cosas simples y preocupándome menos por lo material.

Aprendiendo alemán con El Principito

der-kleine-prinz

“Aprender idiomas no se me da” es la excusa que siempre he utilizado después de haber aprendido inglés para no aprender otro idioma. Hago el intento de aprender alemán desde hace 5 años aproximadamente y he ido dando pasos poco a poco pero la verdad es que siempre pongo cualquier excusa para no echarle más ganas. Mudarme a Alemania me ha incentivado a aprender un poco más, aunque la opción de hablar inglés siempre es más fácil, especialmente en el trabajo con tanta gente internacional.

Tengo un profesor de alemán que realmente se convirtió en mi amigo (Heinz), nos podemos juntar solo dos horas por semana en las que hablamos de la vida, cocinamos y tomamos mucho café, auf Deutsch (en alemán). Después de varios meses y finalmente con un grupo de amigos alemanes he llegado a un punto en el que me siento cómodo para tener una conversación informal de temas muy casuales así que he decidido dar el siguiente paso; leer un libro.

Cuando le pregunté a Heinz qué libro me recomendaba para empezar, me dijo nada más y nada menos que Der Kleine Prinz (El Principito). Así que comenzaré esta lectura, que por muy fácil y corta que sea, quizá me tome meses asegurándome de entender el 100%.

Así que después les cuento qué tal me fue.

Bis bald!

Está caro el aguacate – Un año en Alemania

WP_20160509_19_06_47_Raw    WP_20160702_22_58_50_Pro

El 1 de agosto cumplí un año de vivir en Colonia, Alemania. Yo soy de Guatemala y estas son mis primeras 5 percepciones del país y su gente, por cierto, muy superficiales y muy generalizadas.

  1. Está caro el aguacate: no solo el aguacate pero en general las frutas y las verduras, el precio puede ser el doble o el triple de lo que cuesta normalmente en Guatemala. Los precios de otros productos como lácteos, carnes y cereales tiene precios similares a Guatemala.
  2. Los alemanes no son tan fríos como los pintan: definitivamente es diferente, generalmente un saludo es dándose la mano o incluso solo diciendo “hallo” sin tocarse pero solo es cuestión de tomar un poco de confianza, yo generalmente saludo con un abrazo y mis amigos lo reciben muy bien. La mayoría de mis amigos han estado en mi casa y conozco las casas de la mayoría. También hablamos de cosas personales.
  3. Todo está regulado: Existe un contenedor para cada tipo de basura, el gobierno sabe la religión de todos sus habitantes (y a algunos les cobra impuestos especiales basado en eso, y por supuesto, se vale no tener religión), precios de renta, tráfico de internet (una multa por ver o compartir películas piratas en internet puede llegar a ser de hasta 2,000 euros), existe un seguro para casi cualquier cosa (por ejemplo, hay un seguro que cubre los gastos de accidentes como botar el celular de un amigo), y podría seguir mencionando algunos datos curiosos pero se haría muy larga la lista.
  4. Los alemanes son puntuales, aunque no siempre: en términos generales se espera de mí que sea puntual, y ahora que vivo aquí distingo mucho más “la hora chapina” de la que yo mismo era complice, sin embargo hay ocasiones en que las cosas no son tan puntales como deberían, por ejemplo el transporte publico más de varias veces al día está algunos minutos tarde, a veces las reuniones comienzan 5 o 10 minutos después de la hora acordada y los proyectos muchas veces necesitan algunos días extra.
  5. En Alemania es muy seguro: usar el celular o incluso la computadora en un bus o tren a la media noche de camino a casa no es un problema, nunca he visto un arma en manos de alguien que no sea un policía oficial, nunca he visto seguridad privada y las casas no tiene rejas en las ventanas (al menos lo que he visto hasta ahora). Nunca he visto un policía armado cuidando un almacén o restaurante. Obviamente hay que tener ciertas precauciones como no dejar la bicicleta en lugares muy desolados y sin candado porque se las roban, o cuidar la billetera porque alguien puede bolsear, pero nunca o al menos casi nunca (en casos muy raros podría ocurrir) alguien amenazará mi vida por quitarme un celular.

En algún punto quiero escribir cosas un poco menos superficiales pero por ahora quería escribir algo sobre mi experiencia en el primer año.

Aplicando a una posición de SDE o SDET en Microsoft

 

P1000901

Recientemente inicié la aventura de aplicar a una posición de trabajo de tiempo completo en Microsoft como SDE o SDET (Software Developer Engineer in Test) como un recién graduado pues solo tengo algunas semanas de haber terminado la Universidad como Ingeniero en Informática y Sistemas. Por esta vez no fue posible ganar una posición, sin embargo avancé hasta la etapa final y realmente creo que es una experiencia increíble que debo compartir.

Para los que estén interesados, todo inicia en el sitio http://careers.microsoft.com/ en la sección de “STUDENTS & GRADUATE”, allí podes buscar las posiciones de tu interés, en los equipos de tu interés, en el país de tu interés, realmente es una herramienta muy útil que te acompaña en todo el proceso, incluso en la creación de tu CV hasta el envío y aplicación a posiciones específicas.

En mi caso, aplique aproximadamente a 3 posiciones, todas tenían que ver con equipos de desarrollo de juegos, si no mal recuerdo apliqué para trabajar con el equipo de Halo y con el de Flight, aproximadamente 3 meses después de mi aplicación, recibí un correo de Microsoft diciendo que estaban interesados en mi perfil y que les gustaría tener una entrevista por teléfono conmigo, y efectivamente así fue, una semana después estaba teniendo una conversación con alguien de Microsoft por teléfono en dónde se me preguntaban cosas como mis intereses, trabajo en equipo, algunas preguntas técnicas, preguntas sobre proyectos personales y la resolución de algún problema, en fin, una entrevista de aproximadamente 40 minutos. 1 mes después estaba recibiendo la confirmación de haber avanzado a la etapa final del proceso y esta etapa es nada más y nada menos que viajar a Readmond, WA en donde están los Head Quarters de Microsoft y tener un día completo de entrevistas, y por si se lo estaban preguntando, efectivamente Microsoft cubre todos los gastos, desde el boleto aéreo desde la ciudad en donde estés, hasta el hotel, comida, transporte (taxi o renta de un auto), llamadas y en algunos casos el pago de algún show como concierto, teatro, etcétera. Es allí cuando uno se comienza a sentir “importante” realmente para mí fue impresionante que alguien cubriera todos estos gastos por el simple hecho de querer entrevistarme en persona. En algunos casos, las entrevistas pueden ser en otro país, en el caso de Latinoamérica suelen ser en Brasil también, esto depende del equipo de RRHH de Microsoft.

En fin, viajé a Redmond, WA al edificio 111, parece ser que viajan cientos de personas a entrevistas porque en cada taxi al que me subí, el taxista me preguntaba cosas como: ¿Se está entrevistando con Microsoft? jajajaja, era gracioso de alguna forma ver que incluso los taxistas conocían mejor el proceso de selección de Microsoft que uno mismo, en el hotel fue exactamente lo mismo, ellos conocían exactamente lo que Microsoft estaba cubriendo por mí y todo mundo deseándome suerte en mis entrevistas y pues allí ya no me sentí tan importante, jajaja.

En mi caso, llegado el día de las entrevistas, tuve 4 entrevistas con 4 personas distintas de países distintos, cada una con una duración de 1 hora aproximadamente, todas iniciaron con una pequeña charla y terminaron con la resolución de algún problema técnico como de creación de algoritmos que realizaran alguna tarea específica. El equipo que me entrevisto no era de juegos, era el Ad Center, y es que cuando se aplica se tiene que estar abierto a trabajar en cualquier equipo.

Sinceramente sentí que no me había ido mal, incluso sentí que me había ido más bien que mal, pero al final los resultados no lo demostraron ya que no me gané la posición. Para mi este viaje era como un gran evento e inversión que Microsoft estaba haciendo en mí, sin embargo me di cuenta que para ellos era solo una entrevista más cuando me dijeron: “Sr. Mario, realmente agradecemos que haya tomado el tiempo para entrevistarse con nosotros, hemos encontrado habilidades increíbles en usted, sin embargo no son las que buscamos específicamente en este momento, por favor si sigue interesado en Microsoft vuelva a aplicar en aproximadamente 1 año”. Esto solo significaba que existe un presupuesto (muy grande me imagino) apartado solo para hacer que las personas viajen desde sus países hasta Redmond, WA y tengan una entrevista.

Me hubiera gustado ganarme la posición de una sola vez, sin embargo ahora que no la tengo, está bien para mi tomar un descanso y hacer las cosas en mi tiempo y mi espacio ya que me he venido esforzando durante mucho tiempo por cumplir las expectativas específicas de alguien más como es el caso de ganar los exámenes en la Universidad, terminar una carrera, o bien desempeñarse bien en una entrevista de trabajo, así que vuelvo muy contento de haber tenido esta increíble experiencia, la comunidad de Indie Game Developers me está esperando con los brazos abiertos y ya veré en un año si vuelvo a repetir la aventura, por lo demás solo me queda decirles que de esta experiencia no perdí nada, todo fue ganar, y no me refiero precisamente a gastos del viaje y demás sino a la experiencia en sí de conocer la central de Microsoft, entrevistarse con ingenieros de distintas partes del mundo y todo el aprendizaje que esto trae consigo.

Los motivo a que si les interesa la compañía, exploren un poco sobre las posibilidades porque seguro hay un espacio para ustedes tambiénclip_image001.

001 Serie Guerra Espacial: Dibujar Modelos 3D en Pantalla

Esta serie inicia como parte de la secuencia de DEMOs cortas que se estarán transmitiendo en los episodios de MSCafeTV. La idea es iniciar un juego en 3D desde lo más básico e irlo construyendo y haciéndolo más complejo en cada episodio, aceptando ideas y sugerencias de ustedes! Espero que al final entre todos tengamos un juego divertidoSmile.

Para iniciar esta serie, lo primero que haremos es cargar modelos 3D al juego y dibujarlos en pantalla, para esto, en la parte de Content del Solution Explorer de Visual Studio creamos una carpeta llamada Models en donde agregamos todos los modelos que utilizaremos. Para este ejemplo utilizaremos un lanzador de misiles que está compuesto por dos modelos, la base y la cabeza (launcher_base.fbx y launcher_head.fbx) además incluimos la textura que en este caso se llama launcher.tga, luego de haber agregado estos 3 elementos, le damos clic derecho a la textura y seleccionamos la opción Exclude from Project para que no tengamos conflictos con los nombres y al final se debería ver así:

image

 

Seguido de eso proseguimos a declarar tanto los vectores y matrices que servirán para construir la cámara, creamos una clase para definir la estructura de nuestros objetos como esta:

class GameObject
{
        public Model model = null;
        public Vector3 position = Vector3.Zero;
        public Vector3 rotation = Vector3.Zero;
        public float scale = 1.0f;
        public Vector3 velocity = Vector3.Zero;
        public bool alive = false;
}

Luego declaramos nuestros modelos y los inicializamos. Luego de haberlo hecho, en el método de LoadContent() cargamos a nuestros objetos los modelos que agregamos anteriormente de la siguiente manera:

armaBase.model = this.Content.Load<Model>("Models/launcher_base");
armaCabeza.model = this.Content.Load<Model>("Models/launcher_head");

Y finalmente los dibujamos en pantalla para obtener un resultado como este:

image

Acá te dejo los siguientes links para que obtengas el código fuente y algunos artículos de interés:

Las herramientas utilizadas fueron:

  • Visual Studio 2010 – .NET Framework 4
  • XNA 4.0

Sprites Series: Draw many Sprites from a single Sprite Sheet

With a Sprit sheet you can combine sprite images into larger sheets, so you will only have to load one image to your project and then draw different sprites from it.

In this example the sprite sheet I’m going to use is a simple image named colors.png with four colors to be drawn in different sprites each color, first I have to add it to our project. (Right click to Content—>Add –> existing item)

colors

After adding colors.png to my project, I’m going to create a texture2D to hold my colors.png image and I’m also going to create four rectangles which are going to indicate where in the image colors.png is located each color square so the we can draw them separately:

Texture2D colorsSprite;

Rectangle red = new Rectangle(0, 0, 103, 150);
Rectangle green = new Rectangle(103, 0, 100, 150);
Rectangle yellow = new Rectangle(203, 0, 100, 150);
Rectangle brown = new Rectangle(303, 0, 100, 150);

Then I’m going to load colors.png to my content pipeline:

colorsSprite = this.Content.Load<Texture2D>("colors");

Now I’m ready to draw different sprites from the same colorsSprite like this:

protected override void Draw(GameTime gameTime)
{
     GraphicsDevice.Clear(Color.CornflowerBlue);

     spriteBatch.Begin();

     spriteBatch.Draw(colorsSprite, new Vector2(50.0f, 50.0f), brown, Color.White);
     spriteBatch.Draw(colorsSprite, new Vector2(150.0f, 100.0f), yellow, Color.White);
     spriteBatch.Draw(colorsSprite, new Vector2(250.0f, 150.0f), green, Color.White);
     spriteBatch.Draw(colorsSprite, new Vector2(350.0f, 200.0f), red, Color.White);

     spriteBatch.End();

     base.Draw(gameTime);
}

And the result is this:

colorsSprites

Resources:

SpriteSheetDEMO Source Code

Tool For Building Complex Sprite Sheets Easily