Programación

Google Code Jam 2009 ya tiene un ganador!

code-jamGoogle Code Jam, la competencia internacional de programación organizada por Google desde 2003 ha concluído con más de 23.000 inscritos, de los cuales 23 fueron seleccionados para la gran final en Mountain View.

La final tuvo una duración de cuatro horas, en donde los participantes debían resolver seis problemas utilizando un lenguaje de programación a elección, en una plataforma basada en Google App Engine, desarrollada en un 20% por ingenieros de Google.

Uno de los seis problemas consistía en tomar el rol de una compañía de telecomunicaciones que debe actualizar algunos de sus equipos. La compañía desea actualizar sus torres celulares más rentables, sin embargo, hacerlo les obligaría a actualizar torres menos rentables, lo que elevaría los costos. Los participantes debían desarrollar una solución lo más eficiente y rápida que permitiera tomar la decisión de qué torres actualizar para minimizar los costos y maximizar las ganancias.

Los ganadores fueron Lou Tiancheng de China (ACRush) que se llevó el primer lugar y $5.000 dólares, Qi Zichao de China en segundo lugar y Iwata Yoichi de Japón el tercero. El detalle de los puntajes se encuentra en el siguiente enlace.
Continuar Leyendo “Google Code Jam 2009 ya tiene un ganador!” »

GO: El nuevo lenguaje de programación de Google

go-logo-black.png

Parece que no hay día en que no se sepa de alguna noticia, producto o servicio de Google. Y es que apenas hace unas horas presentaron GO, un nuevo lenguaje de programación. GO es de código abierto y se basa en la familia de programación de C pero con elementos de Python y la familia de Pascal, Modula y Oberon.

Google espera que este nuevo lenguaje tenga una rápida adopción en la web. Para ellos, las razones para crear GO se justifican en el hecho de que en aproximadamente 10 años no ha surgido un nuevo sistema de programación, pero en ese lapso de tiempo la nube computacional ha sufrido grandes cambios.

Google espera que el desarrollo de software sea mucho más rápido, independiente, compatible con las tendencias de hardware más recientes. Lo que me da temor, es que de tener un éxito contundente estaríamos no solo usando productos y servicios de la compañía, sino que navegaríamos por un Internet creado casi por Google.

Links:

Cuando pequeños detalles desencadenan complejos problemas

Hace más de un mes se divulgó una falla de seguridad en Linux que hasta el día de hoy se discute desde varios puntos de vista: La reacción de los desarrolladores, la forma en que se manejan estos problemas, y las decisiones de diseño que pueden ayudar a que éstas ocurran.

El problema en sí es bastante sencillo, y es fácil de entender para todo aquél que alguna vez haya tenido que programar en lenguajes cercanos a la máquina como es el caso del lenguaje C.  Uno de los problemas comunes es el uso de variables no inicializadas, específicamente referencias a la dirección 0, también conocida como null.

Esto ocurre cuando se usa una variable que debería apuntar a un objeto válido en memoria, pero al no ser inicializada apunta a la dirección 0 (null pointer dereference).  Esto podría provocar resultados indeterminados, pero en Linux se usa una característica del hardware para que este tipo de errores se detecte inmediatamente.  Lo que se hace es que en la dirección cero no se mapea ninguna página de memoria, por lo tanto cualquier intento de acceder a esa zona provocará una excepción de hardware indicando que no hay nada en esa ubicación, lo que el usuario ve como un Segmentation Fault.

Continuar Leyendo “Cuando pequeños detalles desencadenan complejos problemas” »

Salón de la Vergüenza de las interfaces de usuario [FWRetro]

A veces no es necesario mirar al futuro para encontrar cosas interesantes. Revisando antiguos correos encontré este clásico de la web, se trata de un sitio que analiza diversas interfaces de usuario de aplicaciones supuestamente profesionales, en donde se cometieron errores garrafales de diseño, y en alguno casos también de programación.  La interfaz que acompaña este artículo es un buen ejemplo de algunas joyitas que se pueden encontrar.

En el sitio, podemos encontrar aplicaciones de diversos fabricantes, en donde no se salva Apple ni Microsoft.  La última actualización es del año 2000, así que también podremos ver cómo han evolucionado las interfaces de usuario en los últimos 10 años.

El material está agrupado en categorías, por ejemplo mal uso de colores, abuso de metáforas, mensajes de error inapropiados o software programado con avanzadas técnicas de estupidez artificial y lógica confusa.

Aquel desarrollador que no haya caído en uno de estos problemas, que arroje la primera piedra.

Link : Interface Hall of Shame

Applicate: Concurso de diseño y desarrollo de aplicaciones para el iPhone/iPod

Para todos quienes tengan cercanía, sueñan con ser o son desarrolladores, tenemos que contarles que este miércoles 15 se llevará a efecto el lanzamiento del primer concurso de diseño y desarrollo de aplicaciones para el iPhone/iPod.

Este concurso es organizado por la Fundación y país y la Universidad del Desarrollo y está dirigido a estudiantes de pregrado, universitarios y de institutos profesionales chilenos.

El concurso se realizará en la Universidad del Desarrollo en San Carlos de Apoquindo, auditorio 101, Av. plaza 700, comuna de Las Condes; y la aplicación podrá ser finalizada hasta antes de 15 de septiembre.

El primer premio se traduce en la asistencia a la Worldwide Developers Conference 2010 en San Francisco con todos los gastos pagados, pero antes de seguir mareándolos, les recomendamos ver las bases del concurso.

Puntero Nulo: El error de los mil millones de dólares

Sir Charles Antony Richard Hoare

Sir Charles Antony Richard Hoare

El británico Tony Hoare conocido por inventar el algoritmo Quicksort en 1960, dará una conferencia en el QCon de Londres llamada “Null References: The Billion Dollar Mistake“, donde asegura que desde la invención del puntero o referencia nula en 1965 para un lenguaje orientado a objetos (ALGOL W), esta ha causado dolores de cabeza a programadores en los innumerables errores, vulnerabilidades y fallos de sistema que probablemente han causado mil millones de dólares en daños en lo últimos 40 años.

Asegura que su objetivo principal era que todo manejo de referencias estuviera completamente seguro.

Si alguna vez has programado en un lenguaje orientado a objetos sabrás de que dolores de cabeza se trata, ¿Pero que sería de Java, C/C++ y Visual Basic sin punteros (nulos) bajo responsabilidad y uso adecuado por parte del programador?

Link: Null References, the Billion Dollar Mistake (Slashdot)

Autopsia al código fuente del Zune revela orden de suicidio

(c) Pastie.org

(c) Pastie.org

Para los más fanáticos o para aquellos que requieren de una explicación lógica ante un problema complejo, ya está disponible el código de programación que hizo que miles de reproductores Zune dejaran de funcionar colectivamente. El error comienza en la línea 249.

En circunstancias normales, esto funciona muy bien. La función sigue restando ya sea 365 o 366 hasta que se reduce a menos de un año para luego convertirse en el mes y el día de mes.

Lo que pasa es que en el caso del último día de un año bisiesto, continúa hasta que llega a 366. Debido al if (days>366) la ejecución para de sustraer si el bucle (loop) pasa a ser un año bisiesto. Pero 366 es demasiado grande para salir del bucle principal, lo que se traduce en que el Zune continue en el loop infinito sin hacer nada.

Si el error no se arregla, lo mismo va a suceder el 31 de diciembre del 2012… Microsoft, tienes 3 años… ¿alcanzarás?

Link: PQOAL Real-time clock (RTC) routines for the MC13783 PMIC RTC (Pastie.org)

Google Code Jam: Con sabor latino

code_jamLa competencia mundial organizada por google, Google Code Jam, consiste en un desafío en el cual estudiantes y programadores profesionales deben resolver problemas complejos en un tiempo limitado. Lo interesante de este concurso es que puedes utilizar el lenguaje de programación que más te guste.

Para el consuelo de los argentinos que leemos FayerWayer, tengo el agrado de comentarles que Google Code Jam tiene ganadores regionales. Ellos pasarán a la gran final, que se disputará en los headquarters de Google, en Mountain View, California.

Continuar Leyendo “Google Code Jam: Con sabor latino” »

debug_mode=on: Red social para informáticos

debugmodeon.jpg

Cuando hablamos de red social se nos vienen a la mente Facebook, MySpace, Hi5 y así hacia el infinito más uno.debug_mode=on también es una red social, pero orientada a un público bastante más segmentado, el de los informáticos (aquellos raros individuos que gustan de la informática en sus distintos sabores).

En palabras de sus creadores:

Por Internet es frecuente encontrar páginas de una temática concreta. Sobre una plataforma, sobre un lenguaje,… Sin embargo no sólo nos interesa una plataforma o lenguaje. La informática es una ciencia multidisciplinar. Un desarrollador web debe saber de HTML, CSS, javascript, seguridad, lenguajes del lado del servidor, SEO… Un administrador de sistemas debe saber de bash, perl, python, Linux, Windows,… Por eso hemos querido hacer una página de referencia sobre programación, administración de sistemas, desarrollo web, etc. en la que puedas encontrar la información que necesitas. Por eso hemos hecho debug_mode=ON: una red social para programadores e informáticos en general.

La verdad que al revisar un tanto esta red, más bien parece un repositorio de artículos clasificados en ciertos grupos y con una cantidad de usuarios bastante limitado, pero tenemos que darle el tiempo suficiente para que se vaya “depurando” y creciendo.

Link: debug_mode=on (vía Geekzone)

Egipto 2008: Olimpiadas Internacionales de Informática

IOI 2008 EgiptoAunque no sean tan populares como las olimpiadas atléticas, o un mundial de futbol, las olimpiadas académicas convocan todos los años a miles de jóvenes de todas partes del mundo, y en particular las Olimpiadas Internacionales de Informática (International Olympiad in Informatics – IOI) representan una oportunidad para que muchos jóvenes programadores del mundo midan sus conocimientos.

Hay muchas competencias internacionales para programadores, siendo las más conocida en el último tiempo, la famosa Google Code JAM, en que junto al jugoso premio de 80.000 dolares, tienes la oportunidad de que Google se interese en tus capacidades y habilidades como programador. Pero hay más eventos de este tipo, como los torneos que diariamente se efectúan en el sitio TopCoder, auspiciados por importantes empresas tecnológicas transnacionales.

Sin embargo la IOI es especial, porque está orientado a alumnos de secundaria, entre 15 y 20 años de todas partes del mundo, los que representan a sus respectivos países, es decir, en este evento no sólo buscas tu gloria personal, sino que tienes el orgullo de representar los colores de tu país, como corresponde a una olimpiada hecha y derecha.

Es torneo fue creado por la UNESCO en 1989 y cuenta con el auspicio de la Federation on Information Processing (IFIP). En sus veinte años de existencia se ha convertido en la más importante competencia de este tipo a nivel internacional. La versión de este año se realizará entre el 16 y el 23 de agosto en Egipto y convocará a 87 países.

“La competencia consiste en resolver tareas de naturaleza algorítmica, pero los competidores tienen que tener dominio básico de análisis de problemas, diseño y conocimiento de algoritmos y estructura de datos y por supuesto la habilidad de programar y probar sus soluciones.” Sin duda alguna los jóvenes que participan en esta competencia son los mejores
en computación a nivel mundial.

Continuar Leyendo “Egipto 2008: Olimpiadas Internacionales de Informática” »

Google Code University: Cursos gratis de tecnología

google-code.jpg

Con el fin de divulgar los conocimientos computacionales a estudiantes y educadores en todo el mundo, Google acaba de abrir la Google Code University.

Este sitio es totalmente gratuito y contiene clases, conferencias, presentaciones y ejemplos de programación y tecnologías en diversas áreas como: Programación en AJAX, Computación distribuida, seguridad Web y lenguajes de programación en general.

Además cuenta con una sección de herramientas donde podrás encontrar temas de interés como bases de datos y MySQL entre otros.

También tendrás la oportunidad de buscar temas de aprendizaje de interés y cursos publicadas por los departamento de ciencias de la computación de las universidades en todo el mundo, tales como MIT, Stanford, Yale, entre otras.

Link: Google Code University

Google Chart API: Gráficos via Google

Grafico generado con el Google Chart API

Quizás algunos ya lo conocen, o quizás no. A principios de diciembre Google abrió al público su API para generar gráficos. Es un API muy completo y bien documentado, y permite generar gráficos de puntos, barras, pie, líneas y diagramas de Venn. Es muy fácil pasarle datos, que pueden ser cargados dinámicamente desde tu base de datos y te ahorras el procesar los gráficos.

Sigue leyendo para aprender a generar tus propios gráficos vía Google.

Continuar Leyendo “Google Chart API: Gráficos via Google” »

Rails 2.0 ve la luz

rails.pngDespués de casi un año de desarrollo, está lista la version 2.0 de Rails, más conocido como Ruby on Rails (ROR), un framework MVC (Modelo Vista Controlador) de aplicaciones web. Para los que piensan que la frase anterior viene directamente desde lo más profundo del diccionario geek, es un lenguaje de programación que hace más sencilla la creación de aplicaciones web. Se ha usado en proyectos como Odeo, Bubble Share, Basecamp y La Coctelera.

Pueden ver todas las novedades de esta nueva versión en el blog de desarrollo.

Link: Rails 2.0: It´s done! (via slashdot)

Android en acción: ¿3D? ¿Un dock? ¿En mi celular?

Android VideoVaporware o no, Android comienza a mostrar los colmillos. Como lo prometieron hace siete días, la Open Handset Alliance puso al alcance de los hambrientos desarroladores el SDK del sistema operativo y también un video donde Sergei Brin y Steve… Horowitz (Director de Ingeniería de Google) muestran lo que puede llegar a hacer.

Pero lo primero es lo primero: ¿Me volví loco o eso en la pantalla de espera es un dock? Ya, está bien, en la BlackBerry hay algo parecido, pero diablos que se parece a OS X — sin el encanto visual, claro está. Me gustó, en todo caso, como la interfaz maneja como un ticker los mensajes de IM y que el navegador esté basado en WebKit.

Lo otro: cuando están jugando Quake, ¿como controlan el juego, si la pantalla es touchscreen? Para tratar de aclarar sus dudas, el primer “dispositivo” que muestran es una Trèo 500; el segundo es un LG Prada.

¿Y ahora qué? Pura Futurología™, chicos. Las dudas quedarán resueltas cuando algunos afortunados desarrolladores se repartan USD$10 millones por crear la mejor aplicación. A eso le llamo yo tener poquita fe.

No me van a entender nada de lo que dije si no ven el video aquel. Míralo tras el salto.

Continuar Leyendo “Android en acción: ¿3D? ¿Un dock? ¿En mi celular?” »

Aguántate Facebook, que se viene OpenSocial

opensocial2.jpg

¿Alguien dijo niñito pica’o? Después de ver cómo Microsoft se quedaba con la “chica linda de la fiesta” (y de morderse la lengua un buen rato, probablemente), Google decidió volver al laboratorio a planificar un nuevo ataque. Como dijo un viejo sabio por ahí, si no puedes unirte a Facebook, combáteles.

La decisión de los cabecillas fue clara: si Google quiere hacerle la pelea a Facebook, tiene que lanzar algo incluso más abierto que la competencia. Bien lo puso Techcrunch: “si Facebook es 98% abierto, Google quiere ser un 100%”.

Pero la apuesta de Google no se trata de una nueva aplicación/plataforma “tipo Facebook” (recordemos que ya tienen a Orkut). Los tipos apuntan a integrar sus actuales servicios, sumarles otros, y agregarles a todos ellos una “capa social”. En el fondo, si ya tienen todos nuestros datos repartidos en sus servicios (contactos en Gmail, feeds en Reader, eventos en Calendar, fotos en Picasa Albums, etcétera), ¿por qué no darles un uso útil e integrarlos en un sólo lugar? La movida de Google parece bien lógica… y el nombre del nuevo proyecto también.

Hola OpenSocial.

Continuar Leyendo “Aguántate Facebook, que se viene OpenSocial” »

Próxima Página →

Destacados

Subir Bajar
FayerWayer RSS Agregar a iGoogle Agregar a Netvibes

FayerWayer por Email

Recibe tu dosis de tecnología diariamente por email:

FayerWayer Labs »

Nuestras pruebas de los impresentables e imperdibles de la tecnología.

Wayerless

Dosis diarias de teléfonos móviles en español.™

CHW

La comunidad de hardware más leída del mundo hispano.

Contacto