Translate

sábado, 9 de mayo de 2015

Humor a Bytes #6: Cuestión de Lógica

When you read other programmer's code....


Los Programadores y el Sueño.

Si hay alguna profesión más nocturna que la de bar tender de una discoteca, probablemente es la del programador.

Todos los programadores tenemos algo en común: nuestras horas más productivas son después de media noche. 

Para los mortales tal vez la hora más productiva sea la mañana, pero cuando se trata de los programadores (sobre todo los freelance), la mañana la perdemos comiendo y durmiendo, la tarde se nos va pensando en todo lo que tenemos que hacer, y cuando la noche ya esta cayendo es que nos ponemos manos a la obra. 

Sin embargo, no es hasta muy tarde (pasada las 10 de la noche) en que empezamos a ser realmente productivos, alcanzando nuestro auge en las horas pasadas a la medianoche. 

Esto no es por que seamos descendientes de Dracula ni mucho menos, ¡esto tiene su explicación científica!

La programación exige una alta capacidad de inmersión y concentración, es como estar hablando un idioma distinto el cual no debe tener ni un sólo error para poder tener una "comunicación efectiva". 
Debido a esto las horas del día, las cuales están llenas de actividad y por lo tanto ruido (y ni hablar de las redes sociales haciendo sonar nuestros teléfonos cada segundo) son inadecuadas para poder sumergirse en el código y poder aislarse completamente del mundo. 

Por el contrario, las horas nocturnas donde la actividad en las redes sociales disminuyen, el ruido de la vida diaria entra en reposo y sobre todo los familiares dejan de acudir a ti por que Windows se les ha colgado o para ver si sabemos arreglar cualquier aparato electrónico (Si, a todos nos pasa) son las horas ideales para programar. Podemos concentrarnos, encontrar el error, construir grandes estructuras lógicas en el Back-end, y producir obras maestras del arte en el Front-end.

No puedo evitar recordar a uno de mis colegas que la vida lo ha condecorado con el titulo de padre hace poco más de un año; que me comentaba justamente, que ahora con su bebe, solía sentarse a programar una vez su esposa y su bebe se habían quedado dormidas, y eso solía ser pasada la medianoche, ya que el resto del día no podía concentrarse con todos los familiares que venían a ver a la bebe, la madre con la necesidad de apoyo para hacerse cargo de la niña, y por supuesto, el llanto de la niña cada vez que tuviese hambre, por eso los hábitos nocturnos era la única forma de poder progresar con su trabajo

Sin embargo esto tienes sus consecuencias... para los estudiantes que apenas están ingresando al mundo de la programación y conservan sus hábitos diurnos, la lucha contra el sueño puede ser un gran obstáculo, (aunque no hay nada más estimulante como codificar, compilar y obtener un error que no sabes por que "$@!? pasa, y entretenerte con la solución del acertijo que se ha presentado ante ti). 

Aquí te traigo unos consejos útiles para vencer el sueño si estas empezando:

La música vs la flauta de Morfeo.

Para algunos, colocarse unos audifonos y escuchar su música favorita, aquella que no es ni muy ruidosa ni muy lenta, los ayuda a mantenerse despiertos sin distraerlos demasiado. 
A mi personalmente, me funciona la música instrumental, aquella que sin letra no nos robará la atención de nuestros pensamientos (Tengo una lista en mi reproductor con la orquesta de la saga de los juegos de Zelda, Bach, Mendelssohn y Kingdom Hearts)

No aconsejo música con letra ni nada demasiado suave, pues podría o distraerlos o dormirlos como si la flauta de Morfeo se tratase. 

¡Café o no Café he allí el dilema!

Muchos suelen tomar café para mantenerse despiertos, pero esto no suele ser siempre productivo... para algunos, si bien el café los mantiene despierto, también los hace más dispersos, muy fácil de distraerse con otra cosa, si lo que están haciendo no va rápido, podrían dejar de prestarle la atención que se merece. 
Esto por supuesto no le ocurre a todas las personas, hay muchos que logran mantenerse concentrado mientras se beben litros enteros de café.

Yo soy un bebedor de café por placer, y suelo beberlo con gusto en las noches cuando trabajo, pero intento controlar las cantidades, mucho café ciertamente me pone demasiado hiperactivo para mantenerme atento. 

Si el café funciona o no para tí... tendrás que probar y averiguarlo. 

La comunidad del Code

Algo que he probado y me ha funcionado también es programar mientras habla por Skype con otros programadores, como cada uno esta concentrado en su trabajo no interrumpen demasiado para distraerte, pero suelen hacer comentarios de vez en cuando que te ayudaran a mantenerte despierto.

Esto sin embargo no es un método 100% garantizado, ya que si tu compañero resulta ser un parlanchin que no tiene tanto trabajo como tu, probablemente te distraerá. Escoge adecuadamente, la comunidad puede ser tu amiga, la interacción social es una de las actividades que más estimula a nuestro cerebro a mantener la conciencia, sin embargo, es también una de las fuentes más grandes de distracción.

Interesate por tu código

Si te parece tedioso o fastidioso lo que estas haciendo, tu cerebro no le dará importancia suficiente para invertir energía en mantenerse despierto. Yo personalmente encuentro muy estimulante programar, y soy de los que el sueño desaparece hasta que no corrijo el error al que le este dando caza. Sencillamente amó programar y aunque cuando el proyecto no suele ser llamativo ni un reto, suele resultarnos un poco tedioso, mantenernos motivados a nosotros mismos por hacer lo que nos hace quienes somos, hará desaparecer el sueño y mantener la concentración más de lo que podrá hacer cualquier café. 

miércoles, 6 de mayo de 2015

El CV que necesitas para trabajar en la Nintendo

Cuando se trata de programación hay muchas vertientes que podemos escoger para seguir nuestro camino profesional, una de ellas es la programación de videojuegos.

Para los amantes de los videojuegos que además somos programadores, tal vez para muchos nuestro sueño dorado sea trabajar en la compañia de videojuegos que más respetamos, aunque sea por un corto periodo de tiempo.

En mi  caso esa compañia es la Nintendo. Recientemente me he preguntado: ¿Que clase de curriculum necesitaría para trabajar allí? Así que me he puesto a buscar en la red hasta que encontré una sección en la página oficial de Nintendo llamada empleo. En ella puedes encontrar diferentes puestos ofrecidos por la empresa, y uno de ellos es: Business Analyst/Programmer.


No me sorprendió lo exigentes que eran los requisitos:
  • Ingles Fluido (hablado y escrito)
  • Experiencia en desarrollo web.
  • Fuerte conocimiento en PHP5, SQL/MySQL, Programación orientada  a objetos, Patrones de Diseño, CSS/LESS, Javascript/Jquery, XML/JSON, Ajax, svn/hg/git
  • Experiencia en Visual Basic para aplicaciones, TYPO3, Extenciones de programación TYPO3 , PostgreSQL, Unix Shell.
  • Certificado Zend PHP5
  • Alto nivel en orientacion al consumidor. 
Si deseas verlo por ti mismo visita: Curriculum Nintendo

Así que si eres como yo y sueñas trabajar algún día en la Nintendo, ya sabes como debe verse tu Curriculum Vitae.

Si tu compañía soñada no es la Nintendo, o ni siquiera te interesan los videojuegos, te invito de igual forma a buscar los requisitos para trabajar en la compañia que hayas soñado alguna vez, sea Google, Yahoo, Sony, IBM, Microsoft, etc. Sobre todo si estas estudiando, es importante tener la visión de hacia donde vamos.

lunes, 4 de mayo de 2015

Malbolge - Desde la Divina Comedia hasta un Lenguaje de Programación

Hoy voy hablarles de los Lenguajes Esotéricos, particularmente de uno: Malbolge

Malbolge - El infierno


Para empezar me gustaría hablarles un poco de la Divina Comedia, ya que de ahí viene el nombre de Malbolge, es un poema de Dante Alighieri, obra escrita en el siglo XIV, aunque se desconoce el año exacto. (Ajah interesante...¿y?)

En el poema se habla de los nueve Círculos del Infierno (algo así como los "niveles" del infierno) en el cual se castiga a los pecadores. Según tu mayor pecado, caes en uno de los infiernos dedicado a ese pecado. (... mmm, entonces...)

Malbolge, es el octavo circulo del infierno donde se castiga a los Fraudulentos (El Fraude o mentirá). Este circulo se divide en (10) diez círculos internos en donde se castiga a diferentes formas del fraude (Adivinos, hipócritas, aduladores, ladrones, falsificadores, etc). (¿Y que tiene que ver todo eso con la programación?)

Malbolge - El Lenguaje de Programación 


Aunque el autor (el cual se llama Ben Olmstead y no Dante) le puso el nombre de Malbolge por simple diversión, a mi me parece que es en relación a la mentirá o contradicción que ocurre al diseñar un lenguaje de programación para ser el más difícil de su clase. 

Si... Malbolge esta pensado para ser el lenguaje más difícil de aprender de todos los existentes además de casi inentendible, y por lo tanto un lenguaje completamente inútil, (ya que tal vez sería más fácil trabajar directamente en binario), no verás nunca un Tetris o siquiera una calculadora en este lenguaje... y ahí es donde caemos en los lenguajes esotéricos.

Lenguajes Esotéricos


Los lenguajes llamados "Esotéricos" son aquellos lenguajes a pesar de ser funcionales su utilidad para la programación de proyectos reales es inviable o de muy difícil realización

La finalidad de estos lenguajes es probar principios de la computación, características no antes probadas por otros lenguajes, alcanzar las limitaciones mismas de la programación bajo el principio de la máquina de Turing, o por simple diversión.

Así que si llegas a dedicarle tiempo a alguno de ellos, sabrás que no será más que un hobbie o por simple curiosidad ya que no podrás sacar provecho de lo aprendido.

Algunos lenguajes Esotéricos conocidos son: 
  • P"
  • OAK
  • Befunge
  • Whitespace (Sus palabras claves consisten en espacios en blancos, tabulador y /n
  • INTERCAL

Existen en realidad muchos más, pero esa es la lista de los que más me han llamado la atención. Si quieres saber más busca por tu cuenta, estoy seguro que encontrarás algunos más muy interesantes.

Sé que los han estado esperando durante todo el articulo...
¡Damas y Caballeros... con ustedes...! ¡Los Ejemplos!

Hola Mundo en OAK:


Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. 

Hola Mundo en Malbolge:

(=<`$9]7<5YXz7wT.3,+O/o’K%$H”‘~D|#z@b=`{^Lx8%$Xmrkpohm-kNi;gsedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543s+O<oLm






Malbolge y la Fama






Solemos ver en las películas toda clase de incoherencias sobre la programación como: "...tengo que descifrar el algoritmo para poder entrar en el computador..." y seguidamente el actor pasa a teclear hasta el punto que parece que fuese a fundirse el teclado, y luego pasa a una máquina al lado de la primera y hace lo mismo.

Este tipo de situaciones no son extrañas en el cine, sin embargo Malbolge ha tenido una aparición privilegiada y considerablemente realista en la tv. Estoy hablando de la serie Elementary, cortesía de la Cadena CBS y creada por Robert Doherty.

En esta serie nuestro protagonista que es nada más y nada menos que un Sherlock Holmes moderno, junto con su compañera Joan Watson (si, aquí Watson es una mujer) se encuentran con un mensaje cifrado, donde han usado Malbolge disimular el mensaje (ya que el malboge parece más la secuencia de caracteres que imprime nuestra impresora cuando le da la toco-quera que otra cosa...). 



Para los que les interese ver esta grandiosa serie y la aparición de malbolge, el capitulo en cuestión es de la primera temporada de la serie y se titula: "Leviathan".




domingo, 3 de mayo de 2015

Elementary OS

By https://elementary.io/es/
Son muchas las distribuciones de OS basadas en el Kernel Linux, pero algunas suelen ser proyectos que no aportan nada nuevo a lo que ya existe en la comunidad de software Libre. 

Sin embargo, recientemente me tope con Elementary OS un sistema operativo basado en Linux donde sus creadores le han prestado especial atención al diseño sobre todo lo demás.

Many are the distributions based on the Linux OS kernel, but some projects are often nothing new to what already exists in the free software community.

However, I recently came with Elementary OS an operating system based on Linux where its creators have paid special attention to the design above anything else.


sábado, 2 de mayo de 2015

CodeAcademy: Una escuela online para aprender a programar.

Solemos buscar la mejor forma para aumentar nuestros conocimientos, queremos la forma más simple y rápida de aprender las cosas, y si es gratuito es mejor. Para los programadores que desean aprender HTML/CSS, Javascript y más, Codecademy es su lugar.

We tend to look for the best to way to increase our knowledge , we want the simple and faster way to learn things, and if it's Free, it's better. For programmers who want to learn HTML / CSS , Javascript and more , Codecademy is Your Place.


Me gusta