Archivo del Autor:

Todo el mundo debería saber programar


Un video que como desarrollador y no siendo desarrollador deberías ver, considera las cifras que mencionan :)

Algoritmos y más


Hace un par de meses gracias a @albertone_9 me enteré de los concursos de algoritmos que realizan Google, Top Coder, Codechef, Teddy, Coderbyte entre otros; realmente desconocía por completo este “mundo” de desarrollo, el cuál es diferente a lo que realizo como desarrolladora Web.

Me ha resultado interesante el nivel de competencia y talento que se encuentran en concursos como estos, así que lo estoy viendo como un reto para mejorar mi nivel de análisis, desarrollo y aprender nuevos lenguajes.

En esta nueva sección “Algoritmos y más” voy a ir agregando los enlaces a posts que voy a publicar referente a como resolví los algoritmos (nivel básico) que incluirá una explicación breve, pseudocódigo y el código fuente en algún lenguaje que conozca.

Para aquellos que se encuentran en los primeros semestres de la Universidad considero algunos les serán útiles para aprender como pueden abordar un algoritmo y como resolverlo.

Si están interesados en conocer temas más avanzados les recomiendo los siguientes blogs:

Top Blog Coder de @OscarBralo 

Algorithm Stuff de @albertone_9

¿Qué es la computación en malla?


La computación en malla (Grid Computing) es un paradigma de computación distribuida en la que una red de computadoras comparte sus recursos (poder de procesamiento, memoria, almacenamiento) con cualquier otro sistema. El objetivo principal es que se pueda procesar mayor cantidad de tareas en menor tiempo, es muy útil cuando se realizan cálculos y procesos digitales de gran escala como es el caso del proyecto SETI@HOME que se encarga de buscar inteligencia extraterrestre con la ayuda de millones de personas en todo el mundo, analizan la información que capturan haciendo uso del poder de procesamiento de computadoras personales.

La computación en malla puede ser pensada como una forma de red distribuida de procesamiento paralelo, a diferencia de la computación distribuida donde diferentes equipos de la misma red comparten uno o más recursos en este caso cada recurso es compartido convirtiéndose en una supercomputadora.

No es un concepto nuevo sin embargo aún requiere mucho trabajo y desarrollo,  por lo que faltan normas y protocolos bien establecidos.

Entre sus características principales se encuentran:

  • Son distribuidos. Por lo general se dispersan geográficamente la distribución de los recursos de la red.
  • Heterogéneos. Debido a que un grupo de personas comparten el poder de procesamiento de sus equipos las características de estos son diferentes.
  • Los recursos se asignan y eliminan de forma dinámica. Debe estar preparado para hacer uso de los recursos y dejar de utilizarlos en caso de ser requerido el total de procesamiento por parte del usuario que comparte.

Esta distribución de recursos logra procesos muy grandes que no podrías hacerlo con una computadora personal o un servidor, es por ello que empresas como Boinc aplica en sus proyectos esta tecnología. Es importante comentar que esta empresa apuesta por el Software Libre y solicita usuarios que puedan participar en el desarrollo, investigación e incluso compartiendo recursos; si estás interesado te recomiendo visites su sitio.

Este post te brinda un primer acercamiento a esta tecnología, si estás interesado en el tema te recomiendo el framework Jini.

Razones por las que no hay superhéroes online


heroes

 

Vía Vudu México

5 herramientas para la gestión de tareas


En el siguiente post hablaré de 5 herramientas útiles para gestionar tareas, uno de los problemas habituales que tenemos es la falta de organización y control de las mismas, intenta probar algunas y ver si te ayudan en tus tareas diarias.

1. Wunderlist.

Es una aplicación fácil de usar y que tiene soporte para iPhone, iPad, Android, Windows, Mac y también desde Web, cuenta con una versión gratuita y una Pro donde deberás pagar 4.99 al mes. Es posible crear listas de tareas y jerarquizar de acuerdo a la importancia que le asignes a cada una de ellas. Así como indicar quien estará a cargo de cada una de ellas, es ideal para proyectos colaborativos.

2. Asana

De la misma manera que Wunderlist es posible compartir las tareas con el equipo, y así como tener más de un equipo dado de alta en tu aplicación. Es una buena manera de comunicarse, organizar las tareas y llevar todo el control de tu trabajo. Entre sus características se encuentra que es posible agregar uno o más usuarios a cada tarea.

3. Trello

Una interfaz muy ordenada, rápida y sencilla para organizar lo que necesites día a día. Es muy útil para aquellos que desarrollamos, es posible agregar las tareas de acuerdo a la categoría que tú le asignes.

4. Nozbe

Una aplicación muy segura, posibilidad de organizar tareas, proyectos y el tiempo asignado. Tiene soporte para Mac, Windows, Android, iPhone, iPad y por supuesto Web, sus características principales es que puedes sincronizarlo con Twitter, Dropbox, Evertone y tu calendario en Google.

5. Do It.

Con una interfaz muy llamativa puedes llevar de una manera muy simple la organización de tus tareas, emula una agenda común donde podrás ingresar tus pendientes, no tiene opciones tan avanzadas como las aplicaciones anteriores pero si requieres llevar un control sin muchas complicaciones ésta es una gran opción.

Si conoces más aplicaciones y te han ayudado en la organización de tus tareas no dudes en compartirlas, hasta un siguiente post :) .

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 2.425 seguidores

%d bloggers like this: