Etiqueta: lenguaje

Dotdot, lenguaje para unificar el Internet de las Cosas

De entre todos los productos que se presenten esta semana en el CES, una avalancha de dispositivos IoT harán las delicias de los consumidores. Sin embargo, la industria continúa esperando una fórmula para que todos estos aparatos puedan interactuar y comunicarse entre ellos.

La ZigBee Alliance, un grupo representado por más de 400 compañías tecnológicas que trabajan con el protocolo ZigBee, quiere ser la que proporciones esa tecnología unificadora. Por eso, y unos días antes del inicio del evento anual de electrónico de consumo, presentó el lenguaje Dotdot, como idioma universal para el Internet de las Cosas.  Aunque ZigBee ya era comúnmente conocido el protocolo abierto de comunicaciones inalámbricas utilizado en muchos productos IoT domésticos, Dotdot pretende ir un paso más allá y ha sido diseñado para su uso con cualquier tecnología inalámbrica.

De este modo, el nuevo lenguaje es capaz de poner en común entre los dispositivos lo que son, como actúan y lo que pueden hacer juntos. Por ejemplo, si el usuario instala un nuevo accesorio de iluminación en su casa y quiere que se encienda cada vez que abra la puerta, el sensor de la puerta necesitará saber que aparato hay en la sala y sus capacidades para poder enviarle los comandos necesarios.

dotdot

También existen otros lenguajes que compiten en el mercado por ser los más utilizados. Éstos se conocen como capas de aplicación, y se espera que lleguen a ser más importantes que los protocolos de red comunes a la hora de unificar el IoT porque está haciendo más sencilla la inclusión de diferentes radios inalámbricos en un solo dispositivo.

La ZigBee Alliance asegura que Dotdot es más maduro que otras capas de aplicación porque está basado en ZCL (Zigbee Cluster Library), que los actuales productos de ZigBee ya están utilizando.

El grupo ya ha ampliado el ZCL para trabajar en dispositivos que utilizan el protocolo de red inalámbrica Thread, que usa una tecnología similar a la de ZigBee, y además, afirma que los dispositivos de otros tipos de redes IP también podrán usar Dotdot.

IP es tan universal que, eventualmente, Dotdot podría manejar tareas de capa de aplicación como el descubrimiento de dispositivos en una casa, a través de redes que podrían incluir WiFi, Bluetooth, Ethernet y NB-IoT, según ha confirmado el propio grupo.

“Los fabricantes de equipos que pertenecen al grupo están pidiendo estos nuevos tipos de soporte de red”, expresó Tobin Richardson, CEO y presidente de ZigBee Alliance. La alianza espera comenzar a certificar productos con Dotdot a finales de este año.

Durante el CES, presentará una docena de prototipos Dotdot de varios vendedores, incluyendo termostatos, luces, persianas o sensores. Mientras, otras especificaciones diseñadas para unificar IoT están en camino. La Open Connectivity Foundation (OCF), que se formó el año pasado y se fusionó recientemente con AllSeen Alliance, afirma que el respaldo que tiene de gigantes como Intel, Qualcomm, Microsoft y Samsung convertirá a la OCF en la capa de aplicación común para el Internet de las Cosas. Además, la OCF también mostrará dispositivos interoperables.

 

IDG.es

Descubiertas tres vulnerabilidades día cero en el lenguaje PHP 7

PHP 7, la última versión del popular lenguaje de programación web utilizado en más del 80% de los sitios, ofrece grandes ventajas tanto para los propietarios de las web como para los desarrolladores, desde mejoras importantes en el rendimiento, llegando a duplicarlo, hasta la posibilidad de incorporar numerosas funcionalidades. Pero para los ciberdelincuentes representa también un nuevo vector de ataque donde pueden descubrir vulnerabilidades hasta ahora desconocidas.

Durante los últimos meses, Check Point ha analizado el lenguaje PHP 7, tomando especial atención en una de sus áreas vulnerables más evidentes, la conocida como the unserialize mechanism (función “unserialize”). Esta misma función ya había sido aprovechada en el lenguaje PHP 5, permitiendo a los hackers poner en peligro populares plataformas como Magento, vBulletin, Drupal, Joomla!, el sitio web Pornhub y otros muchos servidores web. La forma de infección fue mediante el envío de datos maliciosos dentro de las cookies de cliente o llamadas a la API.

Después de un profundo análisis, el equipo de investigadores de Check Point descubrió tres vulnerabilidades en la función unserialize hasta ahora desconocidas (CVE-2016-7479, CVE-2016-7480 y CVE-2016-7478). Estos puntos débiles pueden ser aprovechados.

Los dos primeros problemas en la seguridad permiten a los atacantes obtener el control total de los servidores, permitiéndoles hacer lo que quieran con el sitio web, desde distribuir malware hasta modificar la página, incluso obtener datos de sus clientes.

La última de las vulnerabilidades da lugar a un ataque de denegación del servicio DDoS que termina colgando la web, consumiendo toda la memoria y cerrándola. Check Point informó de estas tres vulnerabilidades al equipo de seguridad de PHP el 15 de septiembre y el 6 de agosto.

 

El equipo de seguridad de PHP hizo llegar el 13 de octubre y el 1 de diciembre parches para dos de las vulnerabilidades. Además, Check Point distribuyó el 18 y el 31 de octubre firmas IPS para solucionar estos fallos, protegiendo a sus clientes frente a cualquier intento de terceros de aprovecharse de ellas.

Para poder hacer frente a esta y a otras amenazas de día cero, las soluciones tradicionales de ciberseguridad no sirven. Solo con las mejores tecnologías de prevención las empresas pueden adelantarse a los piratas informáticos y mantener a salvo sus datos.

 

IDG.es

MIlk: un nuevo lenguaje de programación desarrollado por el MIT

En el MIT han logrado este desarrollo, investigadores del instituto han creado un código llamado Milk que permite a los desarrolladores de aplicaciones gestionar la memoria de manera más eficiente en los programas que se relacionan con datos dispersos entre grandes conjuntos.

La gestión de la memoria, puede ejecutar conjuntos de datos para los datos tradicionales. Pero, cuando hablamos de grandes volúmenes de datos la administración puede ser demasiado lenta. Sin embargo, un nuevo lenguaje de programación anunciado por el MIT tiene como objetivo remediar el problema e incluso cuadruplicar la velocidad en algoritmos comunes.

El principio de localidad es el que rige la gestión de memoria en la mayoría de los chips de los equipos de cómputo. Si un programa necesita información almacenada en algún lugar de la memoria, necesitará, generalmente datos cercanos. Sin embargo, cuando hablamos de grandes volúmenes de datos no siempre se cumple esta regla. En cambio, los programas a menudo deben actuar en tan solo unos pocos elementos de datos dispersos a través de enormes conglomerados. La búsqueda de datos de la memoria principal es el trámite más lento para los chips actuales, así que ir a buscar datos con más frecuencia puede retardar considerablemente la ejecución.

“Por ejemplo, es como si cada vez que queremos una cucharada de cereales, abrimos la nevera, vertimos leche en la cucharada y guardamos el brick de leche otra vez en la nevera”, explicó Vladimir Kiriansky, estudiante de doctorado en ingeniería eléctrica y ciencias de la computación en el MIT.

Con este desafío en mente, Kiriansky y otros investigadores han creado Milk, un nuevo lenguaje que permite a los desarrolladores de aplicaciones gestionar la memoria de manera más eficiente en los programas que se relacionan con datos dispersos entre grandes conjuntos.

El MIT señala que, Milk tiene varios comandos a OpenMP, una API para lenguajes como C y Fortran que hace que sea más fácil escribir código para procesadores de múltiples núcleos. Al usarlo, el programador inserta unas pocas líneas de códigos adicionales alrededor de cualquier instrucción que recorre en iteración una gran colección de datos en busca de un número relativamente pequeño de artículos y compila toda la información para más tarde administrar la memoria.

Con un programa escrito Milk, cuando un núcleo descubre que necesita un grupo de datos no lo solicita desde la memoria principal. En lugar de ello, se añade la dirección del grupo de datos en una lista de direcciones almacenada localmente. De esta manera, cada petición puede ser recuperada eficientemente.

En pruebas con varios algoritmos comunes, los programas escritos en el lenguaje nuevo han funcionado cuatro veces más rápido que los que están escritos en los lenguajes ya existentes, según el MIT. Los investigadores presentarán el proyecto en la Conferencia Internacional sobre arquitecturas paralelas y técnicas de compilación.

Katherine Noyes

 

¡Feliz 25 años, Linux! Un día como hoy se anuncia el desarrollo del famoso OS Libre

Linus Torvalds
Linus Benedict Torvalds empezó a “trabajar” con computadoras a los 10 años, cuando su abuelo le compró una Commodore.

Hace 25 años, exactamente el 25 de agosto de 1991, un estudiante de Informática de la Universidad de Helsinki, llamado Linus Benedict Torvalds, anunció la versión 0.01 de un sistema operativo que él había denominado como “Linux”.

Sin embargo, esta versión incipiente no era ni siquiera ejecutable, pues sólo incluía los principios del núcleo del sistema (Kernel), estaba escrita en lenguaje de programación Ensamblador y para su compilación el usuario necesitaba tener acceso al Minix, un pequeño sistema Unix desarrollado por el profesor del Instituto Tecnológico de Massachusetts, Andy Tanenbaum, con fines educativos.

Fue hasta el 5 de octubre de 1991, cuando Torvalds dio a conocer la primera versión “oficial” de Linux, la 0.02, que ya podía ejecutar Bash (GNU Bourne Again Shell) y gcc (el compilador GNU de C).

Después de la versión 0.03, Torvalds saltó en la numeración, hasta la 0.10. El número de programadores se incrementó por Internet, el entusiasmo cundió y se empezó a trabajar en el proyecto. Por fin, después de sucesivas revisiones, se llegó a la versión 1.0 el 14 de marzo de 1994.

Desde entonces no se ha parado de desarrollar este sistema operativo que, entre otras características, ofrece funciones multitarea, multiusuario, multiplataforma y multiprocesador. En 2013, los servidores Linux constituyeron el 28% de toda la facturación de servidores, según IDC, y es la plataforma elegida para implantaciones de cloud computing, según algunos analistas.

Parsey McParseface, la nueva herramienta de lenguaje natural de Google

Google está cambiando la forma en que los desarrolladores construyen aplicaciones que entienden el lenguaje humano, y en la excelente tradición de internet, para denominar al sistema ha seguido la estela de Boaty McBoatface.

La compañía anunció un nuevo marco de redes neuronales SyntaxNet de código abierto que los desarrolladores pueden usar para construir aplicaciones que entiendan el lenguaje humano. Como parte de este lanzamiento, Google también presentó Parsey McParseface, un nuevo analizador de idioma inglés que ha sido entrenado con SyntaNext.

Este movimiento estratégico para el desarrollo, va enocado hacia la democratización de las herramientas para construir aplicaciones impulsadas por el aprendizaje automático. Google afirma que Parsey es el modelo más preciso del mundo para analizar inglés. Que sea gratis para los desarrolladores significa que será más fácil desarrollar las aplicaciones que necesitan entender el lenguaje natural. Parsey junto con todo el resto de SyntaxNet, ha sido posible gracias a herramientas de aprendizaje automático. El desarrollo está diseñado para solucionar los problemas que surgen para entender a los humanos, lo que es realmente difícil para las coputadoras. Esto sucede porque hablamos y escribimos de forma ambigua y, mientras los humanos somos muy buenos analizando este tipo de cosas, los equipos de cómputo necesitan mucho más tiempo.

Para hacer accesibles herramientas como esta, Google puede facultar a desarrolladores y otros investigadores de ciencia informática para construir aplicaciones que entiendan mejor la intervención humana, sin necesidad de que tengan que recurrir a introducir comandos exactos en una sintaxis perfectamente legible para las máquinas.

Todo esto forma parte de la carrera de las compañías tecnológicas para ser las mejores a la hora de crear nuevas capacidades inteligentes que los desarrolladores puedan utilizar para construir aplicaciones. La plataforma Watson de IBM es uno de los rivales para las herramientas de Google, y Microsoft tiene sus propios desarrollos.

Estas capacidades se utilizan para crear cosas como los chatbots inteligentes con los que las personas pueden interactuar utilizando textos sencillos. Contando con Parsey McParseface para interpretar las preguntas que llegan a un bot, sería más fácil hacer que este bot respondiera de forma inteligente.

Blair Hanley Frank

 

¿Qué necesita la Inteligencia Artificial para ser más realista?

La Inteligencia artificial ha mejorado y avanzado a pasos agigantados. Sin embargo, onomatopeyas como “mmm” o “ohhh” pueden parecer  una parte insignificante de las conversaciones entre seres humanos, pero en realidad son fundamentales a la hora de mejorar la comunicación entre humanos e Inteligencia Artificial (IA), al menos así lo dio a conocer Alan Black, profesor del Language Technologies Institute del Carnegie Mellon School de Computer Science, especializado en síntesis del lenguaje y en cómo hacer el lenguaje en la IA suene más real.

Según explicó el propio Black, tanto Siri como Cortana incorporan aspectos de su trabajo aunque en su mayor parte, estas tecnologías aún se reducen a patrones muy básicos: los humanos hablan y las máquinas procesan el discurso y las respuestas.  “No interactúan como seres humanos”, explicó Black. “Es una forma poco natural de interacción”. La clave para hacer estas conversaciones más reales está en las pausas, los rellenos, las risas o incluso la habilidad del interlocutor de anticiparse y completar las frases del otro… aspectos que ayudan a construir una relación de confianza.

“Reírse  es parte de la comunicación”, explicó Black, “las máquinas no lo hacen, si lo hicieran, sería increíblemente espeluznante, aunque en realidad sería lo que deberían hacer”. Por eso, Black y sus estudiantes están trabajando en esas áreas.  “Son necesarias esas vacilaciones y eso es algo que nuestros sintentizadores de lenguaje están lejos de poder conseguir”, aseguró el experto. “Si un sistema no es capaz de decir un “ajá”, seguirá sonando como un robot”. Las tecnología que utilizan voces sintéticas utilizan conversaciones grabadas por humanos “en una habitación, leyendo frases”,  y es precisamente por eso por lo que “suenan aburridas”.

 

Hacia la personalización

Junto con sus estudiantes, Black está experimentando con voces grabadas en un diálogo, incluso esas que cuando sólo has capturado y utilizado una parte, está claro han intervenido dos interlocutores. La idea es modelar e incorporar las variaciones de las respuestas humanas en lugar de utilizar siempre la misma respuesta. “De lo contrario, a las personas no les parecerá real”. En última instancia, una buena Inteligencia Artificial también deberá tener sus propios puntos de vista sobre ciertos temas, como por ejemplo, a qué candidato deberíamos apoyar o no en una carrera política, sin decir nada ofensivo.  “En un nivel superior, el problema estaría en la personalización”, aseguró. “Puede parecer espeluznante pero también apropiado y es importante para ganarse la confianza. Hay que construir elementos que se acerquen a lo que los humanos esperan y hacer que sea fácil mantener esa conversación”.

De cara al futuro, otro de los problemas será cómo hacer que la gente enseñe a sus dispositivos a hacer cosas nuevas. Ahora existe tecnologías como Siri y Cortana que ofrecen una interacción básica pero el próximo desafío, según Black, será que las personas acudan como primera opción a la Inteligencia Artificial en busca de respuestas.

A algunos usuarios les da vergüenza hablar con sus teléfonos pero se sienten bien haciéndolo, por ejemplo, con Amazon Echo, porque lo único que tienen que hacer es hablar alto en sus propias casas. “Para la gente es diferente”, explicó el profesor del Language Technologies Institute de la Carnegie Mellon School de Computer Science, “está en la habitación contigo”.

 

Katherine Noyes

El mainframe cumple medio siglo

Mainframe cumple 50 años
El legendario Sistema 360, considerado como el primer mainframe de IBM.

En muchos sentidos, la informática moderna nació en el New Englander Motor Hotel de Greenwich, Connecticut. Allí, en 1961, uno de los grupos de ingenieros de más talento de IBM se reunió en secreto para encontrar la forma de construir el equipo IBM de última generación. Este lunes se celebran los 50 años del Sistema 360, el primer mainframe, que cambiaría pocos años después la historia tecnológica mundial.

IBM necesitaba entonces un nuevo diseño con urgencia. Vendía con éxito diferentes líneas de computadora, totalmente independientes, pero que se mostraban cada vez más difíciles de mantener y actualizar. Se encontraba en una encrucijada, como recuerda el director de contenidos del Museo de Historia Informática de Estados Unidos, Dag Spicer. “IBM se estaba colapsando, en cierto modo, por la presión de tener que respaldar múltiples líneas de productos, incompatibles entre sí”, resume.

Pero lo que presentó el 7 de abril de hace medio siglo fue su System/360 que logró un éxito sin precedentes, hasta el punto que su presidente de entonces, Tom Watson Jr., cerró varias líneas de desarrollo para concentrarse en el que sería su gran fuente de ingresos para los siguientes años.

En apenas seis años, sus números pasaron de 3,600 a 8,300 millones de dólares en 1971 y, en 1982, más de la mitad de los ingresos de IBM ya procedía de la generación 360.

Según los expertos, marcó el comienzo de una nueva forma de pensar, en cuanto a diseño y construcción de sistemas, una perspectiva que, pasados los años, no recordamos bien pero resulta radical.

Un verdadero parteaguas

Antes del Sistema 360, los fabricantes construían cada nuevo modelo de computadora desde cero. A veces, incluso se fabricaba en exclusiva para un cliente. Desde luego, los programas de esa computadora no funcionaban en ninguno más, ni siquiera del mismo fabricante. El sistema operativo de cada modelo también era único y se escribía desde cero.

Pero la idea que surgió de aquel hotel de Connecticut cambió el rumbo: crear una sola arquitectura que diera lugar a una familia de computadoras. Ni siquiera por entonces había una idea clara de lo que era una arquitectura, por lo que resulta aún más revelador del carácter innovador del proyecto.

En realidad, la idea era disponer de dos arquitecturas comunes, una de gama baja y otra de altas prestaciones, que realizaría su trabajo 40 veces más rápido. Al centrarse en la arquitectura, en lugar de en una aplicación concreta, se allanaba el camino, además, para la compatibilidad entre diferentes modelos. Como subraya Spicer, “en realidad, resumió todas las discusiones de negocio e informática a un solo sistema”.

Aunque ahora resulte obvio, el concepto resultó en su tiempo revolucionario y tuvo un profundo impacto en toda la industria.

IBM lograba utilizar un sistema operativo único para todas sus computadoras (aunque luego creó tres variantes para abarcar todos los escenarios).

De esta manera, se ahorraba mucho trabajo de escritura de software para centrarlo en nuevas aplicaciones y además redujo los recursos de hardware. Ya no habría que diseñar para cada máquina cada componente, procesadores y memoria. Diferentes modelos compartían componentes, lo que favoreció las economías de escala del fabricante.

Los clientes se beneficiaron también. Podían tomar el código escrito para una máquina y ejecutarlo en otra, algo nunca visto. “Entonces no se concebía la idea de ejecutar un software en diferentes máquinas”, recuerda Spicer.

En aquellos tiempos comenzó toda una generación que ha perdurado durante décadas y que han parecido en diferentes etapas a punto de desaparecer. Sin embargo, después de tanto tiempo, nadie se atreve a aventurar el final del mainframe.

Las aplicaciones mainframe, cada día más caras de mantener

Mainframe aplicacionesEl costo medio de mantenimiento y puesta al día de las aplicaciones mainframe se sitúa en 11 millones de dólares, lo que refleja un incremento del 29% con respecto a 2012, según los resultados obtenidos en el estudio realizado por Vanson Bourne y Micro Focus entre 590 CIO y directores de TI.

Además, los CIO consideraron que la “deuda TI” de estos sistemas (depuración y mantenimiento de las aplicaciones) se incrementará un 9% en los próximos cinco años.

Además, una tercera parte de los encuestados (32%) señalaron que sus organizaciones seguirán confiando en las aplicaciones mainframe durante al menos otros diez años.

Pero a pesar de la longevidad percibida de las aplicaciones de mainframe y la creciente deuda de TI, la mayoría (81%) confesaron que tienen dificultades para justificar el gasto de mantener las aplicaciones básicas y sólo el 10% confirmó que siempre se acepta su justificación. Como resultado de esta situación, el 51% de los CIO admiten que su negocio está expuesto a problemas de cumplimiento y riesgo.

“El desafío de la dirección de TI es encontrar formas inteligentes para combinar proyectos de innovación con la protección y la evolución de sus sistemas críticos”, comentó Derek Britton, Director de Marketing de Producto de Micro Focus.

Más problemas para la plataforma mainframe

Por otro lado, la brecha de habilidades de TI agrava el problema. Según el estudio, seis de cada siete (84%) decisores TI confirmaron que era difícil encontrar profesionales con habilidades para manejar aplicaciones de mainframe y dijo que el 14% de los equipos actuales se jubilará en los próximos cinco años.

En contraste, más de la mitad (55%) de los CIO señalaron que cuando sea necesario realizar cambios en las aplicaciones motivadas por cambios legislativos o de regulación en sus respectivas industrias, el conocimiento de datos ya no estará en la organización. Para agravar el problema, el 73% de los encuestados dijo que la documentación de las aplicaciones de su organización es incompleta.

Para los CIO entrevistados, se necesita educación para el desarrollo de habilidades TI. El 31% de ellos consideró que los gobiernos están haciendo lo suficiente para ayudar a abordar la brecha de habilidades TI, si bien, la mayoría de los directores de TI (78%) asignar la responsabilidad global al sistema educativo, considerando que las instituciones académicas no están haciendo lo suficiente.

El 83% de los líderes de TI consideró que es valioso para los estudiantes aprender lenguajes de programación de mainframe como COBOL y PL/I y más de nueve de cada diez dijeron que estos idiomas deben ser enseñados como parte del plan de estudios general (44%) u optativo (46%).

La realidad es que sólo el 27% de las universidades de todo el mundo ofrecen COBOL como parte de su programa general (18%) o de libre elección (9%) del plan de estudios.