Jugar en los tiempos de la nube

El ser humano es lúdico por naturaleza, jugamos desde la cuna y ya de adultos el juego sigue facilitando procesos de aprendizaje y comunicación. Los juegos electrónicos han recorrido un largo camino desde el inicio de la computación hasta las modernas plataformas que utilizan infraestructura en la nube para ser operados y a los cuales tienen acceso miles de jugadores simultáneos.

El primer juego en una computadora surgió en 1952 con un simple “Tres en línea” en el cual se podía competir contra un computador, posteriormente aparecieron los primeros juegos con interacción humana por medio de controles simples que modificaban la reacción de un osciloscopio, creando un juego que simulaba el ir y venir de una pelota de tenis. Los juegos fueron haciéndose más complejos y durante los años 70 se hicieron populares las máquinas de videojuegos, instaladas en centros comerciales y negocios dedicados solo al juego, debido a que en aquel entonces no existía hardware destinado a este fin en los hogares.  Con el advenimiento del computador personal se popularizaron los juegos que utilizaban la pantalla del televisor como interfaz visual, conectados a un computador encargado del procesamiento; estos juegos fueron evolucionando una vez la interfaz gráfica se hizo más potente y la capacidad de procesamiento de los computadores permitió llegar hasta generar escenarios en 3D.

Simultáneamente los fabricantes de videojuegos se encargaron de crear hardware dedicado para jugar, con gran capacidad de procesamiento gráfico y controles para interacción del usuario con reacciones cada vez más realistas. Sin embargo esto limitó a los jugadores a depender del hardware específico y de la renovación constante de este para contar con las últimas versiones del videojuego.

La aparición de los escenarios multi-jugador por la red permitieron encontrar con quien jugar básicamente a cualquier hora del día, conectando participantes en todo el mundo a través de avatares. La conexión a internet juega un papel muy importante cuando se trata de juegos que requieren rápida reacción, y que están sujetos al “Lag” término usado para denominar el retardo en tiempo entre una acción del jugador y el reflejo de tal acción dentro del juego, que puede deberse a múltiples motivos como una saturación en el procesamiento de video local o una fluctuación en la velocidad del canal de Internet. El lag es por mucho una de las experiencias más frustrantes para los jugadores.

En estos entornos resulta crucial tener acceso no solo a canales rápidos sino también que los servidores donde se alojen los sistemas de juego estén lo más cerca geográficamente posible de sus destinatarios, de modo que el retardo introducido por la distancia no malogre el desempeño del jugador.

cloud-computingLa más reciente tendencia en videojuegos se aleja de la necesidad de consolas y plantea el acceso a los videojuegos en la modalidad de Streaming, así como un Netflix donde se paga una suscripción por tener acceso a jugar un gran menú de juegos, de modo que no es necesario invertir una consola nueva para mejorar sino que el procesamiento se realiza centralizado, una plataforma que ya ofrece este modelo es Gloud. Existen indicios de que Google se encuentra desarrollando un proyecto interno para ofrecer una plataforma en la nube de gran tamaño para procesamiento de juegos y permitiendo a personas con hardware modesto poder acceder a experiencias de gráficos e interacción de última generación, venciendo la barrera del hardware.  Una plataforma de estas características ya ha sido desarrollada por NVIDIA como GE Force Now donde el fabricante de procesamiento de video permite acceder hasta el momento en modelo de Beta (prueba) a juegos totalmente en línea. AWS también ha entrado con su potente nube, distribuida geográficamente de tal modo que facilita el acceso de cualquier jugador en cualquier lugar del mundo; con su propio engine de procesamiento de juegos

Los desarrolladores de videojuegos tienen en frente un cambio de paradigma en la forma como su contenido se distribuye, pasando de depender del hardware para el cual desarrollan a nuevos modelos de streaming donde deberán competir igualmente para atraer jugadores, pero con la ventaja de acceder a públicos más amplios no restringidos por la infraestructura.  Los entornos en la nube facilitan también el procesamiento en la creación de videojuegos, como es el caso de los servicios de renderizado en la nube de Google Zync, donde se cuenta con grupos desde 50 máquinas para tareas de renderizado y se paga solo durante el tiempo de ejecución de la tarea, reduciendo la demanda en compra de hardware y maximizando la capacidad para cumplir con flujos de trabajo exigentes.

La nube llegó para quedarse en muchas de las industrias que conocemos, los videojuegos son una de ellas, veremos en el futuro cercano como ayudará a la mejora de las experiencias de los usuarios y de la mano del hardware de sensores evolucionarán hasta integrarse con la realidad virtual.

Fuentes: Historia de los videojuegos

 

Icons made by DinosoftLabs from www.flaticon.com is licensed by CC 3.0 BY
Advertisements

SaaS – Office 365 para trabajo remoto y colaborativo

Compartimos el webinar realizado en el grupo de Meetup De 0 a 100 en cloud computing, donde tratamos el tema de SaaS (Software as a Service) en este caso las plataformas en la nube que permiten a las empresas hacer más eficientes las reuniones de sus equipos de trabajo y facilitar la interacción remota con empleados, proveedores y clientes. Detallamos los servicios que ofrece Microsoft bajo la sombrilla de Office 365, los cuales más allá de la ofimática brindan herramientas de redes sociales corporativas, intranet, teleconferencia, chat, seguimiento de proyectos, entre otros. Al final se realiza un demo en línea sobre la herramienta Microsoft Teams y su uso en dispositivos móviles.

¿Qué es WiFi Gestionado?

Por: Isabel Yepes

WiFi Gestionado comprende la administración y monitoreo de redes inalámbricas desde la nube, puede incluir el suministro de equipos y su instalación física.

Esta tecnología permite a las empresas administrar el acceso inalámbrico de sus visitantes o empleados, definiendo qué servicios se ofrecen a cada uno de ellos. Los visitantes pueden registrarse usando sus redes sociales y recibir por parte del comercio información publicitaria. El tiempo permitido de acceso a la red es configurable.

La administración de los dispositivos se realiza de forma delegada desde la nube y permite generar estadísticas para analizar el comportamiento de los visitantes o empleados en el lugar. La analítica facilita establecer indicadores de fidelidad de los visitantes, lo cual puede ser aplicado en locales comerciales para identificar las horas en las cuales hay más presencia de clientes.

Esta tecnología puede tener servicios asociados por parte del proveedor de Cloud tales como el diseño de la red, la configuración e instalación de la misma, el uso de plataformas de seguridad como VPN, firewall, Sistemas de detección de intrusos (IPS), Anti-phishing y la Administración de Amenazas Unificado (UTM)

WiFi Gestionado
Icons made by sripEucalypFreepikBecrisVectors MarketSmashicons from www.flaticon.com is licensed by CC 3.0 BY

Limpieza de datos básica con Python

Por: Isabel Yepes

Los conjuntos de datos que podemos obtener no siempre cuentan con el formato o completitud necesarios para ser analizados apropiadamente.  El proceso de limpieza consiste en eliminar o reemplazar elementos de un conjunto de datos de forma que afecten lo menos posible los resultados finales. Usaremos la librería Pandas de Python para realizar el proceso de limpieza de datos.

Tomaremos como referencia el código presentado en Developer Intelligence, dado que el dataset que proponen no está disponible, hemos ubicado uno similar en Kaggle, para descargarlo se debe crear una cuenta usando google o facebook. El dataset se llama iMDB 5000 Movie Dataset y contiene información sobre películas, sus rankings, fecha de estreno, título, país, entre otros datos que completan 28 columnas, en un archivo llamado “movie_metadata.csv”.

Screenshot 2018-09-15 17.38.47

Podemos observar inspeccionando el archivo descargado que algunas filas tienen valores faltantes, tanto numéricos como texto.

Desde Python3 primero importaremos la librería pandas que ya debe estar instalada, y luego los datos indicando que la columna title_year que contiene el año de estreno sea tipo string.

>>>import pandas as pd
>>>data = pd.read_csv("movie_metadata.csv", dtype={"title_year": str})

Si desplegamos la columna title_year encontraremos que efectivamente se trata como un string sin punto decimal al final y en los campos donde no hay valores aparece NaN

>>>data["title_year"]

Screenshot 2018-09-15 17.48.17

Podemos eliminar las filas que no tengan valor asignado en la columna title_year del siguiente modo

>>>data = data.dropna(subset=["title_year"])

Después de esta operación vemos como las filas se reducen de 5043 a 4935. Sin embargo tengamos en cuenta que en la nueva matriz los índices no se renumeran, simplemente quedan suprimidos los índices de las filas eliminadas.

Screenshot 2018-09-15 17.57.41

Si quisiéramos eliminar todas las filas a las cuales les faltase un valor usaríamos data.dropna() para eliminar solo las filas con todos los valores faltantes usaríamos data.dropna(how=’all’) y para eliminar las filas que superen un número de valores faltantes (por ejemplo dos o más) usaríamos data.dropna(thresh=2)

Para el caso de la duración podríamos sacar estadísticas de dicha columna numérica, para ello usamos el siguiente comando.

>>>data.duration.describe()
count    4923.000000
mean      108.167378
std        22.541217
min         7.000000
25%        94.000000
50%       104.000000
75%       118.000000
max       330.000000
Name: duration, dtype: float64

Estos resultados incluyen las filas que son cero que desvían los resultados, un modo de limpiar los datos es reemplazarlas por el valor promedio de las filas restantes (sin ceros) así:

>>>data.duration = data.duration.fillna(data.duration.mean())

Si buscamos en la columna los valores que antes eran cero por rangos, podremos ver lo siguiente.

>>> data.duration[190:200]
192    101.000000
193    138.000000
194    107.000000
195    142.000000
196    165.000000
197    100.000000
198     82.000000
199    108.167378
200     98.000000
201     95.000000
Name: duration, dtype: float64

Hagamos una anotación, dado que primero se suprimieron las filas con el año de estreno vacío y luego se calculó el promedio de duración, el valor de promedio podría verse alterado por los datos suprimidos, en el video al final de este post podrás ver que al hacerlo en orden inverso hay una ligera variación del promedio.

Podemos observar los tipos de datos de todas las columnas así:

>>> data.dtypes
color                         object
director_name                 object
num_critic_for_reviews       float64
duration                       int32
director_facebook_likes      float64

Si no es relevante conservar los decimales del promedio, podemos convertir esta columna de formato flotante en entera del siguiente modo.

>>> data.duration = pd.Series(data["duration"], dtype="int32")

Al visualizar el mismo rango ya no tendrá los decimales por tratarse de valores enteros.

>>> data.duration[190:200]
192    101
193    138
194    107
195    142
196    165
197    100
198     82
199    108
200     98
201     95
Name: duration, dtype: int32

Podríamos hacer lo opuesto, convertir un valor numérico en texto, lo cual se logra del siguiente modo, lo haremos sobre un nuevo dataframe porque para nuestros datos no requerimos esa transformación.

>>>data2 = data.duration.astype(str)
>>> data2[:10]
0       178
1       169
2       148
3       164
5       132
6       156
7       100
8       141
9       153
10      183
Name: duration, dtype: object

En algunos casos es mejor reemplazar el indicador de dato faltante NaN por un texto vacío o con un texto más indicativo como “Not Known”, por ejemplo en la columna content_rating.

>>>data.content_rating = data.content_rating.fillna("Not Known")
>>> data.content_rating[96:100]
97         PG-13
98     Not Known
99         PG-13
100        PG-13
Name: content_rating, dtype: object

Podemos renombrar columnas para que tengan nombres más intuitivos

>>>data = data.rename(columns = {"title_year":"release_date", "movie_facebook_likes":"facebook_likes"})

A partir de esto podremos acceder a las columnas con sus nuevos nombres

Para cambiar a mayúsculas una columna y eliminar los espacios al final usamos str.upper() y str.strip() respectivamente.

>>> data.movie_title = data["movie_title"].str.upper()
>>> data.movie_title = data["movie_title"].str.strip()
>>> data.movie_title[:10]
0 AVATAR
1 PIRATES OF THE CARIBBEAN: AT WORLD'S END
2 SPECTRE
3 THE DARK KNIGHT RISES
5 JOHN CARTER
6 SPIDER-MAN 3
7 TANGLED
8 AVENGERS: AGE OF ULTRON
9 HARRY POTTER AND THE HALF-BLOOD PRINCE
10 BATMAN V SUPERMAN: DAWN OF JUSTICE

Una vez terminamos exportamos el resultado a un nuevo archivo .csv pudiendo especificar el tipo de codificación, para el caso UTF-8

data.to_csv("cleanfile.csv", encoding="utf-8")

El resultado final nos da un archivo con el formato deseado y sin faltantes en las columnas de interés.

Screenshot 2018-09-15 17.36.00

Si tenemos que realizar el mismo proceso con muchos archivos generaremos un script con el proceso de transformación ya probado, de modo que podamos ejecutarlo cuantas veces lo necesitemos.

El siguiente video explica de forma detallada el proceso antes descrito.

Encuesta sobre el estado de la seguridad en la nube

Por: Isabel Yepes

Le invitamos a participar en la encuesta sobre el Estado de la Seguridad en Cloud Computing, encontrará el cuestionario en https://es.surveymonkey.com/r/YNMD6VR

ISMS Forum, los Capítulos Español, Peruano, Argentino, Chileno, Boliviano, Colombiano y Brasileño de Cloud Security Alliance e ISACA Madrid, le invitan a participar en la siguiente encuesta para conocer su opinión sobre el estado de aplicación de la seguridad en la Nube, en el marco de la Sexta Edición del Estudio sobre el Estado de la Seguridad en Cloud Computing que continúa los estudios realizados en 2013, 2014, 2015, 2016 y 2017. El objetivo del estudio es identificar la evolución de la adopción de soluciones y servicios en la Nube, desde una perspectiva centrada en la seguridad de la información, de los datos y de los servicios corporativos, analizando su influencia en la forma en la que se adoptan o no servicios en la Nube

Estimamos que su participación al responder el cuestionario no le llevará más de 10 minutos.

La encuesta estará disponible para su respuesta hasta el lunes 24 de septiembre de 2018, a las 14:00, y sus resultados serán publicados en el mes de noviembre. En caso de facilitarnos una dirección de correo electrónico junto con sus respuestas, le haremos llegar directamente el informe final del estudio antes de su publicación.

Las respuestas u otra información que nos proporcione no se asociarán con su nombre o el de su organización en ningún informe resultado del presente estudio. Sus respuestas serán usadas únicamente de forma agregada con las respuestas de otros participantes, incorporándose dicho resultado agregado y anonimizado en un informe que se hará público.

¡¡ Muchas gracias por su colaboración!!

La oficina ubicua

Por: Isabel Yepes

La computación en la nube ha transformado el modo de trabajar, cada vez más empresas y trabajadores por cuenta propia han encontrado en ella mecanismos para facilitar el acceso a la información, la comunicación con clientes y proveedores, y en últimas permitiendo métodos más amigables de interacción con el ser humano. En este artículo presentaremos el uso de herramientas ampliamente disponibles que permiten conformar una oficina ubicua.

Gabriel es un empresario del diseño, se dedica a la transformación de espacios en pequeñas empresas para hacerlos más amigables con las personas, facilitando la Man sitting at desk with son on his knee with laptop computer and paperwork - B2Bproductividad. Con el fin de cumplir sus objetivos Gabriel visita constantemente a sus clientes, conoce las necesidades en sitio, toma fotografías de los espacios, comparte propuestas de diseño que han sido elaboradas por su equipo que labora remotamente desde casa y las muestra a sus clientes para obtener su aprobación.

La oficina de Gabriel está compuesta por su computador y su teléfono celular, que le permiten realizar teleconferencias en el momento que lo requiera con un proveedor, hacer seguimiento a la ejecución de los proyectos y comunicarse por medio de chat para enviar instrucciones simples al equipo de trabajo. Esta flexibilidad le permite a Gabriel pasar tiempo de calidad con su familia, pues la ubicuidad de su oficina le evita largos desplazamientos por la ciudad y programa su agenda óptimamente.

Juliana es una desarrolladora de software, amante de las aventuras al aire libre. Ella atiende clientes ubicados en otros países y zonas horarias, recibiendo solicitudes de Young woman in tent using laptop at beach, side viewactualización por aplicaciones colaborativas. Juliana utiliza los servicios de
videoconferencia para realizar reuniones virtuales con sus clientes, mantiene respaldo de su código en la nube garantizando que siempre esté disponible y se conecta a repositorios compartidos para cargar actualizaciones, mientras disfruta la vista en un camping en la playa.

Las herramientas modernas de productividad en la nube permiten gran parte de estos escenarios, tomaremos Office 365 como ejemplo, el cual se convirtió en el estándar de facto en las empresas en su versión local pero que se ha extendido hacia la nube con productos que se integran con la suite. Uno de estos cuya función es la centralización de OneDrive_rgb_Blue2728archivos compartidos es OneDrive, este disminuye la presión sobre el almacenamiento en los computadores y facilita el acceso a todas las personas que lo requieran, como los clientes de Gabriel, que desde sus propias empresas pueden revisar y aprobar desde cualquier ubicación geográfica e incluyendo terminales móviles.

Así como para Juliana, el uso de teleconferencia es familiar para la mayoría de las personas con acceso a Internet, siendo popular inclusive en los hogares que realizan Skype_for_Business_Logovideollamadas a sus seres queridos en otros países. Esta misma tecnología se ha llevado a Skype for Business para provecho de las empresas y los trabajadores remotos, facilitando la cooperación al interior de los equipos. En caso de presentaciones masivas Skype for Business permite videoconferencias de hasta 10.000 asistentes que solo requieren un enlace url público para ingresar.

Con el fin de unificar en una sola aplicación en la nube todos estos recursos, se ha MS-Teamsintegrado en Teams herramientas tales como chat, correo electrónico, agenda, archivos compartidos, teleconferencia y gestión de proyectos. De este modo se tiene una única
interfaz centralizada donde se pueden crear grupos, suscribirse a canales donde se desarrollan los temas de interés, agendar y ejecutar reuniones remotas por video llamada, mientras se colabora dentro y fuera de línea utilizando el chat y archivos compartidos, al mismo tiempo se puede verificar el avance de tareas asignadas en tableros de control de proyectos.

Las redes sociales suelen ser restringidas en muchos lugares, las empresas suelen identificarlas como un factor de menor productividad de sus empleados, sin embargo yammer-logo-sexiste una plataforma de red social corporativa, que habilita la interacción desde el interior de la compañía y como un método lúdico para mejorar la comunicación entre los empleados. Este es Yammer, el cual presenta los conocidos muros, encuestas, likes y posibilidad de compartir incluso streaming de video, esto permite intercambiar información de forma más intuitiva dentro de la empresa, facilitando la divulgación interna de contenido relevante.

Compañías de mayor tamaño requieren un modelo estructurado de publicación de contenidos en una intranet, Office 365 cuenta con Share Point como plataforma base de Sharepoint-2013-Logoun sitio web interno personalizable, Share Point permite publicar noticias, compartir anuncios de interés general, generar bases de datos de conocimiento, entre otros. El formato visual de Share Point se adapta a computadores y dispositivos móviles. En el caso de la administración de documentos sensibles en la Intranet, Share Point se integra con el directorio activo para establecer roles adecuados de acceso a las publicaciones.

Para desarrolladores como Juliana existen servicios en la nube con la capacidad de integrar sus entornos de creación de código con repositorios remotos, dirigido tanto a ambientes .Net como Open Source. Este es todo un mundo por sí mismo (Azure) y hablaremos de él en un artículo posterior.