Frequented asked job interview questions

The other day I had an interesting job interview. The interviewer ask me deep questions, but as I felt quite nervous due the pressure to get the job, my answers were terrible.

So, from the comfort of my chair and with all the time of the world to think about that questions, I will try to respond better this time. Continue reading

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Off topic, Personal | Leave a comment

Falkor, a social network completely hosted in Github

Falkor the luckydragon

I have been waiting for a long time for a social network that doesn’t belongs to a corporation. I would like to see something open and libre, like Wikipedia but as a social network.

But I also believe that social networks aren’t just a way to exchange irrelevant data between you and your friends. I think that  social networks are a way to exchange valuable information, that can be relevant to your, to your friends or to other people. Also, can be a tool to organize your digital data.

This means that your data in a social network should be treated like your must valuable files. And you should be able to keep the copyright of your data, you should be able to have the rights to do with your data whatever you want to do, and you should be able to have the best possible backup and versioning of that data.

So this morning the lucky dragon visited me, and I did the prototype of a social network that not only stores your precious information into a git repository. It also stores your settings, your contacts and even the engine, everything in the same git repository. Continue reading

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Off topic | Tagged , | Leave a comment

Puzzle captcha

The problem with current captchas

I think that people > 50 years have problems to recognize the current captchas. So I thought a different approach instead just make harder to read a bunch of symbols (current captcha direction).

A different approach

So I spend time seeking for a different way to separate humans from machines. And I found something more enjoyneable instead of tryng to recognize wierd letters. The result of this was puzzle captcha.

How it works?

Puzzle captcha demo image

On the left, the original image. Right, the puzzled

1. Load a random image from Flickr.
2. Create a puzzle
3. The user can drag the pieces to solve the puzzle, and when finish, click a button to send the result.

Internal mechanism

Each piece contains a code, the first piece has the code A1, the second piece B2, etc. When the puzzle is randomized, that codes are in a random order. When the user sends the result to the server, it must be in the correct order to pass the challenge.

What are the problems of puzzle captcha?

After a little research, I figure out that maybe this kind of captcha it’s easy to solve for a human, but also for a computer. The other nasty thing is that a 3×3 puzzle can take several time to solve (and that isn’t very cool). Maybe we can try with a 2×2 puzzle, but the possibilities to get the solved puzzle are very high, 1:24 (the factorial of 4 => 4.3.2.1).

How machines can solve this kind of puzzles

Machines can compare the % of similarity betwen the borders of each piece. This technique maybe is not 100% successful, but 1% of success is a serious problem. Just think 30 tries per second in 16 hours, that is 17 280 00 intents.

Possible solutions to this problems

  1. Leave a gap between each piece (losing part of the image) in order to force to the machine bot to compare between inner pixels instead compare the borders.
  2. Apply a mask with grain or diagonal lines in order to decrease the % of similarity between pieces.
  3. Show random shapes and then ask to the user to enter the number of a particular kind (i.e. how many red squares are in the image).
  4. Punish puzzle errors. The user can refresh the puzzle with a new image, but after X tries, she/he must wait 10 minutes.

Current state of puzzle captcha

For me, this project is archived. If you have some ideas or really think that it can work, please leave a comment or reach me.

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Development, Inspiration | Tagged | 1 Comment

Karma and reincarnation in software

This morning I was thinking about that when software grows very fast, it’s common to see ugly code.

Sometimes, also, the technologies changes and your code it’s old if you compare with the current solutions (for example, a web application written in Perl).

There is when it comes to your mind the possibility of complete code rewrite. And you say “Yes! I will do all right this time, based on the acquired experience of doing this application”.

But maybe you notice, or not, that program again all that functionalities that a mature software has is not so easy, and with the improved code comes also new bugs.  Not to talk about the incoming bugs that your new version justifies the complete code rewrite.

But well, what is the relation between this and reincarnation? Before ask that question, I will tell you what I understand about what karma and rencarnation is to me.

Personally, it don’t see as a religious think. It’s more like your heritage, but instead of an account balance, you get something like a life balance.

Karma and reincarnation in 3 steps

  1. In your life you do a lot of things. You relate with your family, friends, and eventually you become able to expand your family.
  2. What you do in your life doesn’t only affect you, it affects to all people where you relate with, and even with people that you don’t know.
  3. When you go to that place that nobody exactly knows where is it, the things that you leave are not just material. There are also experiences with others, teachings and examples that remains in the minds of your loved ones.

That is the concept of reencarnation to me. The life that you has is shared with others, so it’s also part of them. Thus, you are part of other people (as the same way that others are part of you), and others has the power to learn of you and your experiences.

Karma would be the result of that life that you’ve shared with others.

So, going back to software, consider that if your software isn’t very well coded, you have a lot of karma to burn it if you stick with that code.

Or maybe you can start it all again, but if its a big project, it’s not easy to start from the ground again.

But take it easy, life it’s harder than develop software!

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Development, Inspiration, Personal | 2 Comments

8 things that I’ve learned from meditation

From a year more or less, I’m doing meditation once per week. So I want to share with you some things that I discovered in that time.

But please, before read this, don’t take my personal experience as a truth. This thoughts are just my personal perspectives and experiences, so just the time, maybe, will say if I’m right or wrong.

If you never have done meditation, the only way to know what it is is practicing it. Just imagine you reading an article about the experience of riding a bike. The only way to know what feels ride a bike, is taking one, ride it, fall, and ride again as the point that you make your own experience.

Continue reading

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Inspiration, Personal | Leave a comment

Pensamientos en y sobre Internet

A raíz de considerar la importancia de la lectura, se me ocurrió comparar la importancia de Internet, así que acá van mis observaciones.

¿Porque es importante leer?

Creo que la importancia de la lectura radica en que uno puede absorber el conocimiento de personas que de otra forma, ya sea por cuestiones geográficas (el autor está lejos) o temporales (el autor está lejos, pero en el eje del tiempo) no podría.
Continue reading

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Off topic | Leave a comment

Movies that I’ve enjoyed

Here is my personal selection of movies that I’ve watched in the last 12 mounths in a random order. All are good, so please feel free to pick anyone and have a good moment.

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Off topic | Leave a comment

Desarrollo cíclico

Muchas veces con @matias_mi discutimos sobre arquitecturas, soluciones actuales que andan dando vueltas, lenguajes, frameworks, etc.

El suele inclinarse por desarrollar soluciones sólidas, bien documentadas, escalables, etc.

Por mi parte, prefiero elegir tecnologías que me ahorran tiempo a la hora de realizar el proyecto. Hablo de soluciones conocidas que ya disponen de la mayoría de las funcionalidades que voy a necesitar. Priorizo esto por sobre la calidad del código de esos proyectos (un buen ejemplo es WordPress o Drupal).

Simplemente son formas diferentes de trabajo, el apuesta por un desarrollo escalable y yo por soluciones rápidas a costa de potenciales problemas de mantenimiento.

Ahora bien, yendo al asunto de la cuestión. Hoy estaba pensando en cambiar de enfoque. La realidad es que muchos proyectos por los que pasé terminan siendo reescritos, ya sea porque la arquitectura no soporta nuevos requerimientos, problemas de performance, etc.

Por este motivo, propongo que a la hora de realizar un análisis de la tecnología para un nuevo proyecto, se tenga en cuenta que existe la posibilidad de que se vaya a necesitar una segunda versión.

En la primera versión de las aplicaciones, ademas de los requerimientos originales, suelen surgir cosas en el camino, se deben realizar cambios en base al feedback de los usuarios y del cliente y muchas veces nos enfrentamos a desafíos por parte de la tecnología que elegimos.

Por este motivo, me parece lógico pensar en dejar los ladrillos macizos para la versión 2.0 del proyecto.

La contraparte, hay que decirlo, es que se debe contar con los recuersos para afrontar un nuevo desarrollo en caso de que, en algún punto, los requerimientos excedan la solución implementada y el proyecto se vuelva insostenible.

Resumiendo, a la hora de iniciar un nuevo proyecto, debemos preguntarnos si vale la pena volverse un puritano y buscar la mejor arquitectura a costa de tener que escribir muchísimas funcionalidades que ya están resueltas por soluciones mas “sucias”, cuando tal vez valga la pena subirnos al tren de esas soluciones rápidas hasta tener un proyecto bien delineado, con características concretas y que cuente con un grado tangible de complejidad, y en ese momento ponernos a pensar en una arquitectura y tecnologías mas serias.

En mi humilde opinión, creo que es un factor válido para considerar a la hora de impartir un nuevo proyecto.

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Development | Leave a comment

El desafío de los textos antiguos

Al final de la practica de meditación, nuestro maestro suele leernos algún párrafo de un libro que contiene las enseñanzas de un monje budista del siglo XIII en Japón.
El texto de hoy realizaba una comparación entre las costumbres de los laicos y los monjes, y me termino resultando bastante controvertido y de difícil aplicación.

Luego de la lectura, nuestro maestro nos puso en el contexto de la época en la que fue escrito dicho texto; se trataba de una época muy dura en Japón, en la que la mayoría de la gente eran campesinos sin derechos y sin acceso a educación ni a la salud. Por lo tanto, los laicos a los que se refería el texto eran los señores feudales, los cuales poseían grandes riquezas, tenían geishas que los complacían, samurais que mataban por ellos y podían disponer de la vida y el trabajo de las demás personas a discreción.

Continue reading

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Off topic | Leave a comment

Los consejos, como la juventud, suelen ser desperdiciados

Hoy un amigo me envió este video que ví hace unos años, y me pareció que vale la pena darle una repasada a los consejos que da, sobre todo en estas fechas en las que solemos hacer balances y propósitos.


Damas y caballeros de la clase del 97:

Usen protector solar.

Si pudiera ofrecerles un solo consejo para el futuro, sería el uso del protector solar. Sus beneficios a largo plazo se han demostrado científicamente.
El resto de mis consejos sólo están basados en mi experiencia personal. Se los daré ahora.

Disfruta del poder y la belleza de tu juventud. No lo pienses. Nunca entenderás el poder de la belleza de tu juventud hasta que se haya ido. Pero creeme, en 20 años verás atrás a través de las fotos y comprenderás de una forma que no puedes hacerlo ahora cuantas posibilidades se te abrieron y lo fabuloso que te veías. No estás tan gordo como piensas.

No te preocupes por el futuro. O preocúpate, pero debes saber que preocuparse es tan efectivo como tratar de resolver una ecuación de algebra mientras masticas goma de mascar. Los problemas que realmente son importantes en tu vida nunca pasarán por tu mente, tipo aquellos que no se te ocurrirían a las 4 de la tarde de un martes sin nada que hacer.

Haz todos los días algo que te asuste.

Canta.

No trates los sentimientos de los demás de forma irresponsable. No toleres a aquellos que tratan irresponsablemente tus sentimientos.

Relájate.

No pierdas tu tiempo en celos. A veces ganarás, a veces perderás. La carrera es larga y al final tienes que contar contigo mismo.

Recuerda los halagos que recibes. Olvida los insultos. (Si alguien logra tener éxito haciendo esto, que me diga como).

Guarda tus viejas cartas de amor. Deshazte de tus viejos estados de cuenta bancarios. Estírate.

No te sientas culpable si no sabes que hacer con tu vida. Las personas más interesantes que he conocido, no sabían a los 22 que hacer con sus vidas. Algunas de las personas más interesantes de 40 años que conozco aún no saben que hacer.

Consume bastante calcio. Se amable con tus rodillas. Sentirás su falta cuando no te funcionen más.

Tal vez te casarás, tal vez no. Tal vez tendrás hijos, tal vez no.
Tal vez te divorcies a los 40.
Tal vez bailes la danza del pollo en tu 75 aniversario de bodas.
No importa lo que hagas, no te enorgullezcas demasiado, ni te critiques tanto. Tus opciones tienen 50% de ser acertadas, como la de todos los demás.

Disfruta tu cuerpo.
Usalo de todas las formas que puedas.
No temas lo que otras personas piensen.
Es el más grande instrumento que tendrás jamas.

Baila, Aún si el único lugar que tengas para hacerlo sea tu sala.

Lee todas las indicaciones, aún si no las sigues.

No leas revistas de belleza. Sólo te harán sentir feo(a).

Conoce a tus padres. No sabes la falta que te harán cuando ya no estén. Se amable con tus hermanos. Ellos son tu mejor enlace con tu pasado, y las personas que más estarán contigo en el futuro. Entiende que los amigos van y vienen, pero hay un puñado de ellos que debes cuidar con cariño.

Trabaja duro para superar los obstáculos geográficos y los de la vida, porque cuando más viejo te pongas, más necesitarás a las personas que conociste en tu juventud.

Vive en Nueva York alguna vez.
Pero múdate antes que te vuelvas muy duro.

Vive en California del Norte alguna vez.
Pero múdate antes que te vuelvas muy suave.

Viaja.

Acepta que hay ciertas verdades eternas. Los precios van a subir, los políticos son mujeriegos, y tú también vas a envejecer. Y cuando haya sucedido, vas a fantasear que cuando eras joven, los precios eran razonables, los políticos eran nobles y los niños respetaban a sus mayores. Respeta a tus mayores.

No esperes que alguien te ayude. Tal vez tengas un fondo fiduciario. Tal vez tengas un(a) esposo(a) rica. Pero nunca sabrás cuando puede desaparecer.

No arruines mucho tu cabello, o con el tiempo cuando tengas 40, parecerás de 85.

Se cuidadoso con los consejos que recibes. Pero se paciente con los que te los dan. Aconsejar es una forma de nostalgia. Darlos es una manera de pescar el pasado, limpiarlo, esconder las partes feas y reciclarlo por un precio mayor del que vale.

Pero confía en mí con lo del protector solar.

Traducción extraida de Usa protector solar | MaskusPlanet – Comunicación y Marketing

Versión original: http://www.chicagotribune.com/news/columnists/chi-schmich-sunscreen-column,0,4054576.column

Videoclip Everybody is free to wear sunscreen

Twitter del.icio.us Digg Facebook linked-in Yahoo Buzz StumbleUpon
Posted in Off topic | Leave a comment