Archives For marzo 2010

¡Llegó el día!  Después de dos semanas recibiendo cientos de comentarios y tweets, ya podemos decir quién es el ganador del ansiado iPad. La cosa estaba difícil teniendo en cuenta que el número de fans de Ideateca, a día de ayer, superaba los 2100. Las posibilidades se reducían, pero hoy es un buen día para uno de vosotros.

Necesitábamos una mano inocente, así que hemos llamado a Jose A. del Moral,  CEO de Alianzo, para que viniese a la oficina y nos acompañase en el sorteo.

Jose A. del Moral señala al ganador del iPad

No hagamos más larga la espera. ¡Tachán! Esta vez tendremos que dirigir el vuelo hasta Valencia porque el afortunado es:

¡¡Daniel Robles!!

¡Enhorabuena Daniel! Aunque no te lo creas…¡Te acabas de llevar el iPad de Ideateca!

Si estás leyendo esto, informarte de que nos pondremos en contacto contigo para que nos des tus datos y así podamos enviarte el iPad, que nuestro platillo volante es ultrasónico, pero no adivino 😉

A todos los demás, daros las gracias por participar. Nunca pensamos que el sorteo iba a tener tanta expectación. Más de 1700 personas lo han compartido en su muro de facebook,  casi 600 lo han retuiteado y más de 400 han comentado en el blog. Ha sido un placer leer vuestros comentarios en el blog, y también unas risas. La verdad es que ha habido respuestas muy ingeniosas. Por ello, hemos recopilado las que más gracia nos han hecho:

La pregunta era: ¿Por qué deberías ganar el iPad?

Y aquí van algunas de las respuestas:

-“Yo lo quiero porque necesito un buen sitio donde partir la matanza de este año :-)”

-“Necesito el ipad…soy demasiado poco fashion y tecnosexual…la gente me mira mal…parezco el abuelo del anuncio de la tdt!!!”

-“Lo necesito para tapar la sartén y darle la vuelta a la tortilla de patatas (con o sin cebolla)”.

-“¿I Pad-a qué lo quiero? ¡Pada modid en pad!”

-“Quiero el Ipad porque me gusta todo lo i, pero no tengo ni ipad, ni ipod, ni iphone, ni ipod touch, ni imac…. solo una i-poteca que me aplasta los sueños! por i-ntentarlo que no quede!”

-“Yo quiero un iPad para poder jugar al iPaddle.”

No desesperéis porque habrá más sorteos en el futuro. Estad atentos, porque nuestro platillo volador volverá a visitar alguna de vuestras casas :)

Gracias a todos.

¡Seguiremos en contacto!

¡Buscamos diseñador!

Iruri Knörr —  18 de marzo de 2010 — 6 Comentarios

¡Atención, atención! Mentes inquietas, creativos natos, amos de la tableta gráfica, reyes del Photoshop… os estamos buscando :)

Como sabes, en Ideateca estamos metidos en varios proyectos… Así que necesitamos a un diseñador que le dé forma a todo y lo haga bonito y práctico. Necesitamos que la persona que se incorpore al equipo tenga experiencia en diseño web y que esté al día en las tendencias de diseño en internet y móvil, porque se encargará de todo lo relacionado con la imagen corporativa de la empresa y nuestros servicios (web, iconos, banners…).

Valoraremos especialmente conocimientos avanzados en diseño en 3D y experiencia y afición por diseñar juegos (web y móvil).

Nos basta con que tenga un poco de gusto y controle las herramientas básicas de diseño. Nos encantaría que tuviera experiencia en diseño de UI/UX, usabilidad y arquitectura de la información, y conocimientos de CSS/HTML. Eso sí, necesitamos que esté en la oficina de Bilbao, para trabajar codo con codo con el maquetador y el resto del equipo.

¿Crees que encajas? Envíanos tu portfolio y un par de líneas contándonos por qué te gustaría sumarte al equipo de Ideateca. Ah, si ya nos habíamos mandado tu CV alguna vez, por favor vuelve a enviárnoslo actualizado para tenerte fichado :)

¡Te esperamos!

Continuando con el post anterior en el que hablábamos del servidor de juegos de Ideateca, en éste voy a comentar el diseño de la librería de comunicaciones y qué es un diseño SEDA y por qué es tan bueno para estos sistemas.

El diseño de la librería de comunicaciones que da soporte al servidor de Ideateca tiene como principal objetivo escalar muy bien para cargas muy altas de usuarios.

La primera decisión de diseño es evidente, I/O asíncrona. La implementación utiliza tres descriptores de I/O para gestionar peticiones de conexión, peticiones de lectura y peticiones escritura.

Una vez tomada esa decisión queda cómo arquitecturar el resto de elementos. Para ello, basta observar el ciclo de vida de un mensaje. Éste debe ser recibido, decodificado (traducido desde el formato de serialización) y procesado (es decir, realizar la invocación sobre el objeto remoto registrado al que va dirigido el mensaje).

Teniendo lo anterior en cuenta, y sabiendo que el mayor problema a la hora de escalar son el número de hilos y que es muy importante la productividad (frente a la velocidad de procesamiento; mayor velocidad de procesamiento por petición no implica mayor productividad y viceversa), el diseño de la librería está basado en un enfoque SEDA (Stage Event Driven Architecture).

Dicho diseño propone partir el diseño en las fases de tratamiento de mensaje, frente a la tentadora posibilidad (y muy común) de diseñar centrándose en el ciclo de vida de la petición. Esta idea no es del todo innovadora, ya que supone la aplicación directa del conocido diseño en “pipeline” de microprocesadores bien conocido por ingenieros en electrónica.

Diseño centrado en petición

diseño centrado en petición

Diseño centrado en fases

diseño centrado en fases

Como se puede observar, la productividad aumenta considerablemente.

Para comprender completamente el diseño de la librería de comunicaciones, es necesario profundizar en el concepto de diseño orientado a etapas.

Se ha mostrado a vista de pájaro el principio SEDA, consistente en dividir el trabajo de procesamiento de una petición en etapas desacopladas mediante colas, y cómo esta organización favorece la productividad del sistema. Es importante entender que de forma subyacente, un sistema SEDA es un sistema de colas. Por tanto se beneficia enormemente de las capacidades de análisis matemático que surgen en dichos sistemas, pudiendo estudiar analíticamente cuando añadir servidores a o colas a una determinada etapa para mejorar el proceso, cuando unir etapas, cuando separarlas, estudiar los cuellos de botella de forma y replicar los recursos involucrados, etc.

Los patrones de diseño relacionados con este tipo de sistemas son los siguientes:

  • Patrón “Wrap”: Se trata de acondicionar una tarea al sistema de procesamiento SEDA, utilizando una cola como elemento de entrada a la etapa.

patron wrap

  • Patrón “Pipeline” y “Partition”: Dividen una tarea en una serie de etapas que permitan mejorar el rendimiento del sistema gracias a una mejora en la localidad o en la arquitectura del sistema colas.

patrón pipeline

  • Patrón “Combine”: Es el patrón opuesto a los anteriores, que permite unir varias etapas en una sola, con la ventaja de reducir la complejidad total del sistema si es que las etapas permiten dicha unión.

patrón combine

  • Patrón “Replicate”: Instancia una etapa más de una vez, generalmente asociada si es posible a un conjunto diferente de recursos bien físicos, bien lógicos. Permite implementar directamente el concepto de redundancia para asegurar la fiabilidad del servicio.

patrón replicate

Para dar más detalles del diseño e implementación de la librería, básicamente hay que tener primero en cuenta otras peculiaridades de los sistemas que van a desarrollarse sobre ella. Generalmente las discusiones sobre servidores o proveedores de servicios se centran en aquellos en que las peticiones son independientes entre sí, no alteran un estado central, es decir, no son transaccionales. Un ejemplo es un servidor de tráfico HTTP. Otro puede ser un servidor de juegos de mundos persistentes (aunque estos necesiten un control microtransaccional) o juegos arcade (también con control microtransaccional). Sin embargo en un juego basado en turnos es muy importante el orden de los mensajes y que estos modifiquen el modelo de forma atómica.

Llegados a este punto se abren dos discusiones; una para juegos arcade donde el modelo es inherentemente multihilo, no es problemático que los mensajes lleguen en desorden parcial y se necesita un protocolo de transporte no orientado a conexión para maximizar el ancho de banda de mensajes. Por otro lado,  están los juegos por turnos, inherentemente monohilo o transaccionales, donde es muy importante asegurar el orden de los mensajes y el protocolo de transporte debe asegurar la entrega de los mensajes de los mismos.

Para cada caso, la librería simplemente elige unos canales de proceso internos diferentes. En el caso arcade, transporte UDP, y el sistema de entrega de mensajes a objetos es simplemente un pool indiferenciado de hilos, escalable hasta el máximo configurado en función de la máquina física. En el caso por turnos, transporte TCP y un pool especializado de hilos donde cada objeto es servido siempre por el mismo hilo para asegurar la atomicidad de la ejecución de mensajes sin sacrificar rendimiento o exponiendo el sistema a una excesiva contención de hilos.

Dada la naturaleza asíncrona del servidor y la necesaria optimización de recursos, se contempla el envío de mensajes retrasados, que la librería (generalmente en el lado cliente) gestionará cuando venzan los contadores del mensaje para permitir al servidor progresar y optimizar sus recursos, de forma que los clientes puedan mostrar adecuadamente datos en las vistas. Asimismo se contemplan mensajes de sincronismo para permitir evolucionar la aplicación de manera igual en todos los clientes.

Como último apunte, la librería permite el registro de observadores de paquetes y estados de conexión, e incluso que estos observadores inyecten paquetes de forma autónoma o los modifiquen e incluso denieguen su posterior procesamiento.

Imágenes extraídas de : An Architecture for Highly Concurrent,Well-Conditioned Internet Services

¡Sorteamos un iPad!

Isabel Liébana —  15 de marzo de 2010 — 446 Comentarios

Sí, sí, ¡estáis leyendo bien! En ideateca nos sentimos muy arropados por todos vosotros. Queremos agradecer todo el apoyo que recibimos en nuestros proyectos, y queremos premiar a todos los que nos seguís de cerca y nos animáis a seguir trabajando. Para ello, vamos a regalar un iPad a uno de vosotros. Entrarán en el sorteo aquellos que sean fans de Ideateca en Facebook y que, además, retuiteen este post, comenten en él o lo compartan en Facebook (el botón “Share” de la izquierda).

Si eliges la opción de retuitearlo, puedes escribir lo que quieras, pero poniendo siempre el hashtag#ipadideateca” para que podamos ver que lo has hecho :)

Si prefieres dejar tu comentario aquí, dinos: ¿por qué deberías ganar tú el iPad? ¡A dar rienda suelta a tu imaginación! :)

El período de participación estará abierto hasta las 23:00h del próximo 30 de marzo, y el miércoles 31 daremos a conocer el nombre del ganador en el blog.

Da igual dónde vivas; en caso de que seas el elegido, nuestro platillo volador te llevará el iPad a la puerta de tu casa.

¡Mucha suerte a todos!

Recuerda que puedes seguir todo sobre ideateca tanto en Twitter como en Facebook.

ideateca sortea un iPad entre sus fans

ideateca sortea un iPad entre sus fans

Gestor de red de blogs
En ideateca, ampliando nuestro abanico de servicios, vamos a lanzar próximamente varios blogs de diversas temáticas. Necesitamos a una persona que se encargue de gestionar esta red de blogs, desde buscar y organizar a los bloggers, hasta optimizar WordPress para sacarle el mayor rendimiento. Es decir, buscamos a alguien que gestione a bloggers/escritores de todo el mundo y supervise su trabajo, mejore o proponga mejoras para cada uno de los blogs, tanto a nivel técnico como en contenido y la parte social o de comunidad.
Te estamos buscando si:
-has tenido o has gestionado uno o varios blogs
-estás al día de plugins, novedades, tendencias en WordPress y blogs en general
-te gusta trastear, tocar, modificar blogs a tu gusto
-te divierte leer lo que cuentan otros y escribir tus propios posts
Nos encantaría que supieras (aunque no es imprescindible, todo se aprende):
-algo de SEO
-algo de SEM, AdSense, AdWords, banners, etc.
-algo de CSS/HTML
Nosotros te ofrecemos incorporarte al equipo de ideateca, y formarte en lo que necesites para desempeñar bien tus tareas. Prometemos que te dejaremos ganar tus primeras 10 partidas al futbolín :)
¿Te apetece unirte?

En ideateca, ampliando nuestro abanico de servicios, vamos a lanzar próximamente varios blogs de diversas temáticas. Necesitamos a una persona que se encargue de gestionar esta red de blogs, desde buscar y organizar a los bloggers, hasta optimizar WordPress para sacarle el mayor rendimiento. Es decir, buscamos a alguien que gestione a bloggers/escritores de todo el mundo y supervise su trabajo, mejore o proponga mejoras para cada uno de los blogs, tanto a nivel técnico como en contenido y la parte social o de comunidad. Preferimos que esté aquí con nosotros en la oficina de ideateca en Bilbao, pero no descartamos otras fórmulas.

Te estamos buscando si:

  • has tenido o has gestionado uno o varios blogs
  • estás al día de plugins, novedades, tendencias en WordPress y blogs en general
  • te gusta trastear, tocar, modificar blogs a tu gusto
  • te divierte leer lo que cuentan otros y escribir tus propios posts

Nos encantaría que supieras (aunque no es imprescindible, todo se aprende):

  • algo de SEO
  • algo de SEM, AdSense, AdWords, banners, etc.
  • algo de CSS/HTML

Nosotros te ofrecemos incorporarte al equipo de ideateca, y formarte en lo que necesites para desempeñar bien tus tareas. Prometemos que te dejaremos ganar tus primeras 10 partidas al futbolín :)

¿Te apetece unirte?