Elevator Saga, juguemos a programar un ascensor.

Elevator Saga es un juego para programadores, se basa en alterar el código fuente que hace funcionar un sistema de ascensores para completar el objetivo de cada nivel, transportar cierta cantidad de personas en un tiempo limitado.

Elevator Saga: Challenge #13

El lenguaje utilizado es Javascript.

El primer nivel es posible superarlo simplemente añadiendo una linea de código, los restantes hasta el 12 son bastante fáciles, basta con un poco de pensamiento lógico, pero a partir del 13 ya hay que pensar en optimizar las rutas para hacer el sistema más eficiente y permita transportar 100 personas sin que nadie espere más de 15 segundos con los 5 ascensores de que disponemos.

Muy entretenido y útil para aquellos que quieran mejorar su Javascript o lógica de programación.

¿Hasta que nivel has llegado tú?
¿Necesitas ayuda para superar algún nivel?, coméntalo y lo compartimos.

Juego: http://play.elevatorsaga.com/

Go, nuevo lenguaje de programación Open Source de Google

Hace un par de años, Google inició un proyecto cuyo objetivo era desarrollar un nuevo lenguaje de programación que facilitase el trabajo con las dependencias (librerías y demás) y dónde todo fuese más sencillo y rápido, un año más tarde dedicó un equipo de personas a tiempo completo al proyecto, nació Go, un lenguaje de programación de sistemas, expresivo, concurrente y con gestión automática de memoria, como servidores Web, almacenamiento masivo y bases de datos, pero buscan expandirlo a otras áreas, combina el rendimiento y las prestaciones de seguridad asociados al uso de un lenguaje compilado como es C++ con la velocidad de un lenguaje dinámico como Python.

La implementación del lenguaje se ha publicado en fuentes abiertas, con una licencia de tipo BSD.

En la actualidad Go no ha sido utilizado para desarrollar ninguna aplicación o servicio de Google que esté cara al público, le falta madurar y sobre todo aporte de la comunidad Open Source que en Google consideran tan importante.

«We developed Go because we had become a bit frustrated with how difficult software development has become in the last 10 years or so,»

«Hemos desarrollado Go porque estamos un poco frustrados de cuan difícil ha llegado a ser el programar en los últimos diez años o así.» comenta Rob Pike, ingeniero de Software al mando en Google.

Sin duda este es el año de Google, no deja de sorprendernos, primero Google Chrome, Google Chrome OSAndroid, Google Navigation System, Cobertura casi total para Street View en España, Google Wave, Google Music Search, Google Dashboard, y ahora Go.

Ahora simplemente hay que ver como madura el proyecto.

Más sobre el tema: Resulta que un señor llamado Francis Mccabe ya había creado un lenguaje de programación con un nombre muy parecido: «Go!» (entrada en la Wikipedia), e incluso publicado un libro: «Let’s Go!» y ahora pide que Google cambie el nombre de su lenguaje ya que el no tiene intención de hacerlo. ¿Es lo mismo «Go» que «Go!»?

Enlaces:

Diez señales de que no eres tan buen programador como piensas

Ricardo Gallir, autor de menéame, ha publicado en su Blog, diez señales de que no eres tan buen programador como piensas, recomiendo leer el artículo original, que está más detallado:

  1. Estás convencido que eres “muy buen programador”.
  2. Reconoces inmediatamente a Jobs, Gates o Torvalds pero no sabes quiénes son y/o qué han hecho Turing –además de su modelo matemático tan conocido–, von Neumman –además de su famosa definición de “arquitectura”–, Dijkstra, Knuth, Wirth, Kernighan, Ritchie, Engelbart, Corbató, Hoare, Minsky…
  3. A primera vista del código de programas grandes de otras personas dices “vaya mierda de código, muy complicado, yo lo puedo hacer mejor”.
  4. Justificas que tu código es ilegible para no mostrarlo o publicarlo.
  5. No sabrías definir en pocas palabras qué es la programación estructurada, ni sus relaciones y ventajas/desventajas con las arquitecturas y diseño del hardware.
  6. Afirmas “el último lenguaje/librerías/framework XYZ es el mejor”. O que “C y ensamblador desaparecerán”, o peor aún, “el C++ reemplazará al C en los sistemas operativos”.
  7. Te dicen que puedes tener una race condition en tu código y pones cara de pasmado.
  8. Piensas que en la universidad deberían enseñar Java desde el primer curso y que enseñar Pascal no tiene sentido.
  9. Te han explicado alguna que tu código quizás se ejecute más rápido si lo compilas para reducir el tamaño antes que optimizar código y has pensado que te engañaban.
  10. Eres parte del movimiento mileurista, o te quejas del intrusismo laboral.

WoV; Windows Vista Sidebar Gadget, realiza búsquedas de WoW.

Éste es mi primer Gadget programado para Windows Vista Sidebar.
Se trata de un Gadget (algunos los conocen como Widget, por Yahoo Widgets o Konfabulator) y su función es la de realizar búsquedas en diferentes páginas Webs relacionadas con World of Warcraft, escribes el texto, seleccionas el buscador y pulsas Intro, él te abre el navegador y realiza la búsqueda.

Estoy trabajando en una nueva versión con capacidad de detectar el estado de los servidores y con más motores de búsqueda, así como con un cambio general de apariencia., si alguien tiene alguna sugerencia, estoy abierto a todo.

La versión 1.2 me la han aceptado en Windows Live Gallery de Microsoft y ya está disponible para que, el que quiera, la descargue y valore, también se pueden escribir comentarios, aquí y en WLG.

Si quieren ver el código del Gadget lo único que deben hacer es renombrar el archivo wov.gadget a wov.zip y descomprimirlo.

Requisitos: Microsoft Windows Vista.

Descarga: WoV, World of Vista para Microsoft Windows Vista Sidebar.

Enlaces interesantes #14

Una selección de enlaces que me han parecido interesantes:

Más enlaces interesantes anteriores.

Introducción a Ruby on Rails, por Rubén Davila Santos.

Ruby es un lenguaje de scripts, multiplataforma, netamente orientado a objetos es software libre, fue creado por Yukihiro Matsumoto conocido como Matz. La primera versión fue liberada en 1995, hereda varias caracaterísticas de lenguajes como: Perl, Smalltalk, Eiffel, Ada y Lisp. Como lo indica su propio autor, es un lenguaje “aparentemente sencillo pero internamente complejo”.

Que mejor manera de empezar en Ruby on Rails que con un «Hola Mundo» de la mano de Rubén Davila Santos en Maestros del Web.

9 argumentos para convencer al cliente de que poner música de fondo en la web no es una buena idea.

Matt Inman, cansado de que los clientes le pidan como requisito música de fondo en los websites, ha decidido crear una lista de argumentos para convencer al cliente de que no es buena idea, traduzco un resumen:

  1. Es molesto, muchos usuarios utilizan su computadora como estación multimedia, el echo de poner música de fondo puede provocar que se solape con la música que él esté escuchando en ese momento o con cualquier otro sonido que estén emitiendo sus altavoces.
  2. Cuando cambies de página se cortará, a menos que sea el website en flash o con un sistema de frames (nada recomendado), cada vez que cambies de página se cortará la música.
  3. No todos los navegadores ni sistemas operativos soportan contenido multimedia, este es un punto que el cliente no puede rebatir puesto que tiene un fondo técnico, hay muchos navegadores y sistemas operativos en la red muy antiguos que no soportan este tipo de contenidos ni lo soportará. Les asalto con la siguiente pregunta: ¿Si pudiese escoger entre que a un cliente se le sature/colapse el navegador e incluso la computadora por el contenido multimedia o que pueda visualizar la web sin contenido multimedia, que escojeria?
  4. Relentiza la navegación, el contenido multimedia consume muchos recursos de la máquina local provocando una peor experiencia del usuario.
  5. Está anticuado y no es nada profesional, el contenido multimedia estaba de moda en los 90’s.
  6. Existe un motivo por el cual la mayoria de webs no tienen música, muchos piensan que ya que la mayoría de webs no tienen música, poniendola en la suya destacaran por encima de los demás, esto es un grave error, el motivo por el cual la mayoría de webs no tienen música es porque estan de acuerdo en que es una mala idea. No porque nadie lo haga tiene que ser una buena idea.
  7. Cada uno tiene sus própios gustos musicales, y quizas la música que escojas para la web no guste a tus visitantes.
  8. Preguntale si ha navegado por MySpace, buscar el botón de STOP en el reproductor incrustado en estos sitios puede convertirse en toda una pesadilla.
  9. Consume mucho ancho de banda, y dependiendo del tipo de tarificación puede suponer un aumento en la factura, además de relentizar la navegación.

Es una traducción semi-libre, puedes leer el artículo original de Matt Inman en SEOmoz.org: How to convince a client their site doesn’t need music. (Vía)