Índice

|2018 |2017 |2016 |2015 |2014 |2013 |2012 |2011 |2010 |2009 |2008 |

Competiciones y Programación Funcional

Tras ver la definición de la función global:random_exit_name/3 la cual sugiere la eliminación de un proceso y la asignación de otro a un nombre para evitar colisiones, ¿qué pasaría si la elección estuviese en más de dos elementos?

Leer más →

Bragful: Un PHP escalable y confiable

PHP no ha evolucionado como otros lenguajes para cubrir la necesidad de sistemas reactivos puesta de moda y necesaria en los nuevos tiempos de la informática. Afortunadamente Bragful ha llegado para ayudar. ¿Quieres saber qué es y cómo funciona?

Leer más →

Erlang/OTP 19.0

Justo ayer, 22 de junio, fue liberada la versión 19.0 de Erlang/OTP. En principio me ha decpecionado no encontrar en la distribución las herramientas rebar3, hex y relx tal y como se prometió hace tiempo, pero posee interesantes mejoras, ¿lo revisamos?

Leer más →

Rebar3 (I): Primeros Pasos

La versión de Erlang OTP 19 ya está cada vez más cerca y una de las principales características es la inclusión de rebar3. Esta herramienta ha cambiado mucho desde su versión 2 influenciada por mix. Sus creadores dicen que se trata de una herramienta completamente diferente. ¿Le echamos un vistazo?

Leer más →

VerneMQ: Internet de las Cosas (IoT) y Mensajería (IM)

Hace unos días una persona me preguntó, ¿cuál es el mejor sistema y protocolo para crear un chat para aplicaciones móviles? Le hablé de XMPP por supuesto, pero también de MQTT. Hace un par de años hice una comparativa entre estos protocolos y determiné que había mucho por hacer en MQTT como para tenerlo en cuenta. Sin embargo, útlimamente los contras sobre XMPP me hacen replantearlo.

Leer más →

La Hora en Erlang

Cuando hablamos de Erlang y enumeramos sus características entre ellas aparece el tiempo real blando (soft realtime). Erlang se ejecuta en una máquina virtual que tiene una gestión de procesos, memoria y acceso a recursos, pero lo que no había citado hasta el momento es su capacidad para controlar los eventos horarios. Sí, tiene gestión horaria dentro de su máquina virtual también, ¿para qué?, ¿cómo funciona?

Leer más →

Conectores de Mysql en Erlang

Si te encuentras en la necesidad de conectar tu proyecto de Erlang/OTP con Mysql y tienes dudas de cual es el mejor driver para utilizarlo te comentamos algunas de las especificaciones, ventajas y desventajas de cada uno de los controladores que se han desarrollado y que se encuentran disponibles en Internet.

Leer más →

Industrial Erlang Users Group

Este año hemos comenzado con fuerza. Volví a España para dedicarme más de lleno a Altenwald, haciendo nuevos contactos, más clientes en el extrangero y para afianzar el compromiso adquirido con Erlang/OTP, Altenwald Solutions ha pasado a formar parte del Industrial Erlang Users Group.

Leer más →

Erlang 17.0

El día 9 de abril recibimos la noticia de la liberación de Erlang 17.0. Esta nueva versión marca un hito en Erlang por tres motivos fundamentales: una nueva nomenclatura en el número de versión, la adición de mapas como tipo básico y clausuras con nombre. ¿Qué relavancia tiene esto realmente?

Leer más →

We.Developers 031: Erlang

El pasado día 7 de abril se publicó el último episodio de we.developers hasta la fecha titulado Erlang. La entrega número 031 según indica la propia web. Ha sido un placer participar en transmitir más sobre Erlang de una forma distendida y abierta con José Antonio Blanco. ¿Quieres saber de qué hablamos?

Leer más →

Erlang y Whatsapp

En estos últimos días no deja de repetirse la misma noticia en los medios. La compra por Facebook de Whatsapp. Pero hay un medio de comunicación que ha preferido poner un títular diferente en la noticia haciendo referencia al éxito conseguido por Whatsapp haciendo énfasis en el tamaño de la empresa y la elección del lenguaje de programación para el desarrollo de su solución a nivel de servidor: Erlang.

Leer más →

Betabeers Córdoba X

En diciembre de 2013 asistí para conocer a la gente de Betabeers Córdoba a una reunión en la que me ofrecí para hablar un poco de Erlang y más concretamente sobre ChicagoBoss. Hacía tiempo que quería mostrar un perfil más útil del lenguaje y de la plataforma mostrando algo como ChicagoBoss y no ceñirme simplemente a hablar de las bondades del lenguaje y las ventajas de su plataforma y/o máquina virtual.

Leer más →

LevelDB en Mnesia

Entrando en la página de Erlang Central en su chat había un mensaje que decía literalmente: mnesia_ext_eleveldb ,how to download? (mnesia_ext_eleveldb, ¿cómo lo descargo?). La alusión de que Mnesia pueda trabajar con LevelDB me resultó curiosa, tanto que he decidido investigarlo y dedicarle una entrada en el blog.

Leer más →

CodeMotion 2013

El pasado sábado 19 de octubre de 2013 tuve el honor de participar en las pistas de conferencias del evento CodeMotion 2013 que se celebraba en Madrid.

Leer más →

V Taller de Programación Funcional

Dentro de unos días, el 17 de septiembre de 2013 se celebra en la Universidad Complutense de Madrid el V Taller de Programación Funcional al que he sido invitado para dar una charla aplicada sobre el uso de Erlang (programación funcional propiamente dicha) en proyectos en empresas. El motivo que llevó a emplearlo y el resultado obtenido (éxito o fracaso) y las mejoras y/o deficiencias que conllevó su uso.

Leer más →

Erlang: Volviendo a la Incrustación

A través de twitter me llega la noticia de que en la Erlang Factory de San Francisco se ha presentado una charla sobre La vuelta al incrustado (embedded) de Erlang. Esta vuelta se ha realizado de la mano de Erlang Solutions y su proyecto Erlang Embedded. La charla corrió a cargo de Omer Kilic. Se puede ver el vídeo en Youtube.

Leer más →

Movimiento en Elixir

En estos últimos días ha habido un gran revuelo en el mundo Erlang con respecto a Elixir. Ha habido varios detonantes, pero el que los ha unificado todos y los ha comentado desde su experiencia, tras una semana de hacer pruebas con Elixir ha sido Joe Armstrong, padre de Erlang, en un artículo denominado A week with Elixir.

Leer más →

IEEE Developer Days

Este jueves y viernes se celebra en Elche, en la Universidad Miguel Hernández el IEEE Developer Days 2013.

En esta entrega habrá charlas sobre Android, Windows Phone, Linux, Arduino y… Erlang/OTP. En nombre de Yuilop, la empresa en la que trabajo, voy a dar una charla sobre las posibilidades de Erlang como lenguaje para backend y soporte para aplicaciones móviles y web. Además aprovecharé para dar un poco de publicidad sobre el libro Un Mundo Concurrente (Volumen I).

Leer más →

ErlangCamp 2013 en Amsterdam

Este año se vuelve a celebrar la ErlangCamp a manos de Martin Logan, Eric Merritt y Jordan Wilberdng en Amsterdam. Dos días intensivos para aprender Erlang y OTP de manos de los profesionales de Erlware y autores del libro OTP in Action.

Leer más →

Erling: Erlang on Xen

Después de la noticia en la revista Forbes acerca de la computación en la nube y la solucion de Cloudozer llamada Erlang on Xen, se hace más patente la repercursión de Erlang en la evolución de la computación en la nube y sus siguientes pasos.

Leer más →

Études para Erlang

Étude es una palabra francesa que se traduce como estudio, pero se relaciona con un estudio específico que tiene como objetivo mejorar las destrezas del estudiante. Así, en música se toma como una pieza musical que permite al que la ejecuta mejorar el dominio de una técnica específica y en programación se puede tomar como un algoritmo o trozo de código que el alumno puede analizar, probar y modificar para mejorar su entendimiento sobre la forma en la que está desarrollado.

Leer más →

Programación Funcional, ¿una moda?

Después de 20 años programando en diversas metodologías y lenguajes, me doy cuenta de que muchos de los lenguajes que he aprendido y muchas de las metodologías en las que me he visto sumergido han sido protagonizadas por una moda.

Leer más →

Erlang R16B liberada

El mundo Erlang se va moviendo cada vez más rápido, además de tener cada vez más presencia en más eventos del mundo del desarrollo, escalabilidad y sus propias convenciones, la liberación de nuevas versiones va a un buen ritmo, entregando recientemente la versión R16B el día de hoy.

Leer más →

OpsCode y Chef 11 en Facebook

Una de las noticias que más eco se han hecho en Internet y sobretodo en la comunidad Erlang es el cambio estratégico de la compañía OpsCode de su producto Chef que han reescrito íntegramente con Erlang, estando escrito anteriormente en Ruby.

Leer más →

Erlang y Microsoft Axum

Tras la noticia de la celebración de la Erlang DC en la que uno de los principales patrocinadores es Microsoft.

Leer más →

Tipos de Datos en Erlang (IV): Pilas y Colas

Después de revisar los arrays, diccionarios y los conjuntos llegamos a las pilas y a las colas. Estos tipos de datos son complementarios y tienen una forma muy parecida de trabajar. Sin embargo, los algoritmos internos para su funcionamiento difieren.

Leer más →

Hacker Cup 2013: Cadenas Bellas

¡Que empiecen los juegos! … bueno, ya hace 72 horas de eso, pero ha sido emocionante. Este es el primer año que me ha dado por participar en la Facebook Hacker Cup y tengo que decir que me ha fascinado. No recuerdo haberme enfrentado a problemas tan complejos desde mi época de programación en la universidad, en las asignaturas de Programación III o más recientemente en Programación y Estructuras de Datos Avanzadas.

Leer más →

Certificación en Erlang, Examen de Ejemplo

El sábado a través de twitter me enteré de que Erlang Solutions ha puesto a disposición una [maqueta del examen de certificación en Erlang][1] que realizan ellos mismos a los alumnos que realizan sus cursos para otorgarles la certificación.

Leer más →

Tipos de Datos en Erlang (III): Conjuntos

Siguiendo con el repaso de los tipos de datos que se pueden representar en Erlang a través del uso de los módulos que integra su librería estándar (stdlib) llega el turno de los conjuntos. Los conjuntos son una agrupación de elementos con ciertas propiedades, la que más cabe destacar es que en un conjunto no pueden existir dos elementos idénticos, es decir no existe repetición.

Leer más →

Tipos de Datos en Erlang (II): Diccionarios

Siguiendo con la edición de tipos de datos en Erlang vamos a repasar en esta entrega los diccionarios. Los diccionarios son conocidos genéricamente como hash. A diferencia de los arrays vistos en la entrega anterior en este caso se permite emplear un texto, número o átomo en lugar de restringirse a un índice numérico.

Leer más →

Libro en papel

Al fin ya llegó, la primera impresión del libro en papel de la editorial Lulu. Me ha animado tanto que realicé un par de cambios para la aprobación de la edición en papel y renegociar el precio. Ahora está disponible al precio de 12 €.

Leer más →

Tipos de Datos en Erlang (I): Arrays

Todos los que llevamos un tiempo con Erlang conocemos los tipos de datos que provee (listas y listas binarias, tuplas, registros, enteros, decimales y átomos). En herencia de los tipos de datos imperativos y como modelos de datos que tienen sus propios algoritmos de acceso y son muy empleados en programación imperativa y sin embargo quedan fuera están los diccionarios, los arrays, los conjuntos, los árboles… estos tipos de datos no están presentes en la base del lenguaje, pero sí que están presentes en la librería estándar de Erlang.

Leer más →

Libro de Erlang en castellano liberado

Al fin se acabó el proceso que conlleva escribir un libro dando su fruto final, el libro. Ha sido un largo recorrido, mucho tiempo escribiendo y muchos amigos que me han motivado y ayudado para seguir escribiendo este manuscrito hasta su final. De entre ellos, agradecer sobre todo a Juanse y a José Luis sus revisiones, consejos y correcciones. Sin ellos el texto no habría alcanzado el nivel mínimo de calidad para poder ser considerado un libro.

Leer más →

Erlang shell con historia

Una de las características de que disponen las consolas de usuarios como bash o zsh es que tiene histórico. Cuando cierras la consola y abres una nueva, puedes recurrir al histórico para ver qué comandos habías ejecutado momentos antes o incluso días antes.

Leer más →

Erlang/OTP Volumen I: Un Mundo Concurrente

Desde que escribí la primera palabra, esbocé el primer contenido o la primera idea de qué iba a ser este libro ya ha pasado mucho tiempo. Han sido muchos cambios durante el proceso de escritura, tanto en lo concerniente al propio libro en sí como a nivel personal y profesional.

Leer más →

Erlang, XMPP, ejabberd, ... Yuilop!

Hace algo más de dos meses, desde el 20 de agosto, que soy yuiloper, tal y como me dijo la chica de recursos humanos cuando terminamos la negociación de mi contrato. En este tiempo, muy corto y a la vez muy intenso, he podido disfrutar de una nueva ciudad, de nuevos compañeros y muchos nuevos conocimientos. En cierta forma me siento como de vuelta al colegio, ya que el ambiente es más distendido y he tenido que ponerme las pilas con temas que no tenía tan al día como XMPP, git o rebar.

Leer más →

eJabberd 3 y MongooseIM: dos puntos de vista

El proyecto ejabberd es de los más grandes y populares de los realizados en Erlang. Muchas empresas, con la salida de la web interactiva, la aparición cada vez más grande de sistemas de chat en la propia web, e incluso a través de dispositivos móviles, se ha propagado gracias al uso que han hecho empresas como Tuenti, Facebook, Whatsapp, Yuilop, etc. de esta herramienta.

Leer más →

ErlangCamp en A Coruña

Este año, tenemos el privilegio de contar en la ErlangCamp con unos excelentes profesores, nada más y nada menos que los escritores del libro OTP in Action: Martin Logan, Eric Merritt y Richard Carlsson. Además, estará presente también Laura Castro, que gracias a ella esto es posible. Desgraciadamente este año no podré asistir, ya que tengo otra cita profesional para ese mismo fin de semana, pero os lo recomiendo encarecidamente a todos los que queráis aprender íntimamente un lenguaje que está en boga y que poco a poco va conquistando cada vez más mercado, en lo que respecta la programación del lado del servidor.

Leer más →

REPL en Erlang

Leyendo el blog de Verdi, me encuentro con un artículo muy interesante sobre los REPL (Read-Eval-Print… and Loop), vamos la forma de crear consolas de interacción básicas. El hecho de escribir acerca de ello no es solo copiar, sino ampliar un poco más donde Verdi se quedó, agregando el soporte para que esto, dentro de Erlang/OTP, sea un behaviour.

Leer más →

Rust: Otro más para Concurrencia

Tras llevar ya la friolera de casi cuatro años con Erlang, y analizar el lenguaje Go, otro que se perfila con lenguaje para desarrollo de sistemas con alto grado de concurrencia es Rust.

Leer más →

Premio Calidad para la Optimización de Recursos

Ayer por la noche (21 de junio de 2012), se celebró la [III Edición de Premios Contact Center][1], a lo largo de las últimas semanas, nos habían avisado de que habíamos entrado en el proceso de selección, entre los nueve primeros y, en esta semana, que estábamos entre los tres nominados. La empresa para la que trabajo no ha recibido, al menos que sepamos los que lo hablamos, ningún premio hasta el momento, por lo que los directivos fueron al evento, pero con la idea de que los habían invitado y nada más. No obstante, de entre los tres nominados, en la sección de Optimización de Recursos salió el nombre de Jet Multimedia, y entre asombro general y alegría, se recogió el premio.

Leer más →

Websocket y Erlang

Hace un tiempo (ya unos años), escribí algo que había leído del blog de Joe Armstrong acerca de websocket, hoy retomo el tema después de leer un email de la lista de ErlAr, de un mensaje de Mariano Guerra en el que nos da estos datos sobre un banco de pruebas realizado con varias librerías, en varios lenguajes, sobre el uso de websocket:

Leer más →

Behaviours: la potencia de OTP

Una de las potencias de Erlang y el framework OTP, son los comportamientos (o behaviours), estos se basan en la [Inversión de Control][1], es decir, que existe un código base que se autocompleta a través de la implementación de unos callbacks definidos en la plantilla, que deben de ser implementados para que todo funcione correctamente.

Leer más →

ErlDev 0.2 liberada

Ha sido liberada finalmente la versión 0.2 de ErlDev. Esta versión trae consigo algunas mejoras sustanciales para la programación en entornos de Erlang, así como nuevas plantillas, más paquetes disponibles, etc.

Leer más →

cowboy: servidor pequeño, rápido y modular

Hace poco que le llevo siguiendo la pista a este framework para desarrollo en Erlang. cowboy se ha convertido, para mi, en una referencia a nivel de sistemas de inversión de control en Erlang, ya que son los únicos que he visto, hasta el momento (aparte de ciertas partes de código dentro de ejabberd) que usan los behaviours para extender funcionalidad.

Leer más →

Estructura Líder/Trabajador en Erlang

Erlang es muy bueno para programación distribuida, y paralela, y concurrente, así mismo se hace muy simple la creación de servidores, tal y como he mostrado en entradas anteriores (servidor UDP y servidor TCP), pero nos queda una tipo de comportamiento que es algo complejo llevar a la práctica. Me refiero al paradigma de Maestro-Esclavo.

Leer más →

Riak: Revisando y Practicando

Después de la introducción que hice ya hace unos meses sobre la teoría en la que se fundamenta esta base de datos, me he dispuesto a someterla a unas pruebas de funcionamiento, para así aprender a manejar de forma apropiada esta herramienta.

Leer más →

No, Erlang no es eso

Vale, después de leer varios artículos que llevan a lo mismo, intentar meter la orientación a objetos en Erlang (y como estos otros ejemplos más que no citaré de momento).

Leer más →

Erlang: Servidores Concurrentes TCP

Para la programación de elementos que requieran concurrencia, Erlang, es una de las mejores elecciones que se puede tomar. El hecho de construir servidores UDP con los mecanismos que nos ofrece OTP es algo trivial, muy simple de conseguir, tal y como se puede ver en este otro artículo, pero la cosa se complica, cuando lo que queremos obtener es una conexión, o un conjunto de conexiones concurrentes para TCP.

Leer más →

Erlang: Servidores UDP

Una de las grandes potencias de Erlang es su capacidad para construir servidores. A través de OTP, esta tarea se convierte en algo tan sencillo, que asombra ver con qué pocas líneas de código se crea un servidor.

Leer más →

Charla: Gestión de Llamadas con Erlang/OTP

Este será el título de la charla, dentro de la erlounge de mañana, que daré en la [Universidad Complutense de Madrid][1], organizado por el [grupo de usuarios de Erlang de Madrid][2]. Hace tiempo que no doy una charla y la verdad, ya lo echaba de menos, sobretodo de este tema que me tiene tan motivado últimamente.

Leer más →

Erlang y OTP en acción

El pasado lunes estaba camino del dentista cuando, dejando el coche, topé con la librería Cocodrilo Libros. Entré y pregunté por libros de Erlang, y como ya sabía, me mostraron el de O’Reilly de Francesco Cesarini y el de Pragmatic Programmers de Joe Armstrong… pero además, una editorial de la que aún no había leído ningún libro, Manning, tenía un libro con el título Erlang and OTP in action, la curiosidad me pudo y lo compré.

Leer más →

Zotonic: CMS en Erlang

En mi búsqueda de material (software sobre todo) realizado en Erlang para poder aprender mucho más sobre este lenguaje, sus virtudes, carencias y potencias, he topado con otra muy buena pieza de software: Zotonic, un CMS hecho en Erlang.

Leer más →

Demonware: Videojuegos y Erlang

Demonware es una división de Activision y Blizzard, encargada de desarrollar la parte de cliente-servidor para que los jugadores online puedan echar sus partidas con los amigos.

Leer más →

Riak: Base de Datos sin SPOF

Dando una vuelta por Internet, buscando información sobre base de datos NoSQL, topé con una (u otra) hecha en Erlang/OTP, al igual que CouchDB, pero que se basa en las mismas directrices para lo que fue desarrollado Erlang/OTP. Esta base de datos es Riak.

Leer más →

Erlang, ¿realmente lo entienden?

Después de leer varios artículos sobre Erlang, algunos defendiéndolo y otros criticándolo, me doy cuenta de que, realmente, no todo el mundo entiende lo que es y significa este lenguaje. En sí, no es el lenguaje, sino la metodología que hay detrás la que está moviendo el hecho de que los lenguajes funcionales sean como son y sirvan, de la forma correcta, a los propósitos para los que fueron creados.

Leer más →

FSM: Máquina de Estados en Erlang

FSM o Finite State Machine, lo que podríamos traducir como máquina de estados finitos, es una de las potentes herramientas que nos proporciona OTP para el desarrollo de aplicaciones y soluciones.

Las máquinas de estados finitos se pueden emplear para definir los elementos con los que debe de interactuar una aplicación, y que puede darse el caso de iniciar su existencia (por llamarlo de alguna forma) en un estado definido, y mediante una sucesión ordenada o específica de eventos, ir realizando las transiciones específicas, hasta su finalización.

Leer más →

Elixir, Reia, Efene, LFE: Lenguajes sobre Erlang/OTP

Llevo un tiempo interesado en los analizadores léxicos y sintácticos para poder crear ficheros de configuración más amigables o sistemas de interfaces de usuario basados en consola que puedan emplear un formato libre de construcción de instrucciones (algo más complejo que el típico comando y argumentos). Eso sumado a mi afición por Erlang dio como resultado el encontrar: leex y yecc; un analizador léxico y sintáctico respectivamente.

Estas búsquedas, igualmente, dieron con una serie de lenguajes nuevos, que han sido desarrollados usando estos analizadores, sobre Erlang, por lo que aprovechan sus ventajas, y salvan algunos de los inconvenientes que tienen algunas personas al ver Erlang por primera vez, con respecto a la sintaxis del lenguaje y la asignación única de variables.

Leer más →

ChicagoBoss: Web y Erlang cada vez más cerca

Hace un tiempo, Juanse, un compañero de trabajo, me envió un enlace de un framework desarrollado por Evan Miller que se llama ChicagoBoss. Este framework ha sido concebido con Ruby on Rails en mente, no es de extrañar cuando a lo largo de toda la documentación, se hacen referencias a cosas de Ruby on Rails, y las similitudes son tan extraordinariamente grandes, para ser dos lenguajes bastante diferentes.

Leer más →

Banco de Pruebas (I): Velocidad

Hace tiempo hice algo parecido con los lenguajes de programación que entonces conocía, probando aquellos que eran de scripting, compilados y probando sobretodo, lo que tardan en levantar y hacer una operación tan simple como enumerar 100.000 números sacando por pantalla el número con un elevado a 2 de la posición en el que sale la impresión. Por ejemplo:

Leer más →

Erlang Develop: Apoyo al desarrollo en Erlang

Llevo algún tiempo trabajando con Erlang/OTP y con sus facilidades a la hora de realizar prácticamente cualquier cosa. En lo que respecta al desarrollo de servicios concurrentes, de alta disponibilidad y sistemas críticos, es ideal.

Lo único que ha sido una piedra en el camino, es la curva de aprendizaje y la cantidad de código a modo de plantilla que hace falta para poder programar de forma rápida.

Por todo esto, decidí hacer un sistema de scripts (para Mac OS X y GNU/Linux, en principio, aunque en sistemas Solaris, HPUX, AIX, BSD, y demás sabores de Unix pueda funcionar sin cambios, e incluso en Windows a través de Cygwin), que faciliten la creación de proyectos y módulos de tipo OTP dentro del proyecto que se quiera desarrollar.

Leer más →

Joe Armstrong y Erlang

Llevo bastante tiempo hablando de Erlang, y nunca había comentado la mejor fuente que había encontrado para descubrir el lenguaje y adentrarse en la programación concurrente de la mano de uno de sus creadores: Joe Armstrong. La fuente, referida como tal, es el libro que escribió Joe Armstrong por la editorial Pragmatic Programmers.

Leer más →

Comet ha muerto, ¡larga vida a websockets!

Leyendo el artículo de Joe Armstrong, sobre este mismo título, comenta que con la aparición de websockets (una nueva característica que ha aparecido en HTML5), el sistema comet y otros derivados, están abocados a la extinción.

Desde siempre, el sistema HTTP, llamado también web, ha sido un sistema cliente-servidor, donde el cliente siempre ha sido el navegador web, o cualquier herramienta que pudiese hacer una petición HTTP hacia un servidor, y el servidor, un ente pasivo, se encargaba de procesar la petición y retornar una respuesta. Nada más.

Leer más →

La Historia de Erlang

He encontrado un documento (en inglés) que redacta la historia de Erlang contada por su desarrollador principal, en los laboratorios de Ericsson:

Leer más →

Reia: Ruby sobre Erlang

Al igual que en Java se pueden ejecutar lenguajes scripting tales como Ruby (JRuby), Python (Jython), Groovy… es posible hacer esto mismo en otros lenguajes, como C y Erlang.

Leer más →

CouchDB: REST y Base de datos documental

Tal y como comentaba en otro artículo anterior, el sistema REST permite un acceso a los datos basado en la mezcla entre localizaciones de elementos (URL) y verbos de HTTP para indicar lo que se desea hacer con ese elemento. Eso, agregando un almacén de datos que permita albergar elementos y otras características añadidas, nos dan como resultado CouchDB.

Leer más →

Erlang y Asterisk: ErlAst

Para permitir una forma más dinámica de programar el plan de marcado (dialplan) de Asterisk, se emplea lo que se conoce como AGI. Viene a ser como el CGI pero a través de la entrada y salida estándares, stdin y stdout.

Como hacer fork dentro de la misma máquina y lanzar los intérpretes de los lenguajes que se suelen usar para AGI (PHP, Perl, Python…) trae consigo una carga considerable a una máquina que puede ya, de por sí, tener bastante carga con Asterisk, la aplicación de dialplan AGI, trae consigo la posibilidad de cambiar el medio de comunicación de entrada y salida estándar, por un socket abierto hacia otro equipo.

Leer más →

Erlang: concurrente, distribuido y en tiempo real

Después de tiempo desarrollando aplicaciones casi exclusivamente en PHP, me encuentro en el problema de que PHP no es, ni mucho menos, un lenguaje de uso general, sino un lenguaje desarrollado y pensado para la creación de aplicaciones web de forma rápida y, de forma controlada, útil y potente para grandes proyectos.

Pero fuera de este entorno, en el background de las grandes empresas donde todo debe de ser escalable, redundante y en alta disponibilidad, y sobre todo cuando las aplicaciones no son para servidores web, usar un lenguaje que no está preparado para el desarrollo deseado, puede conllevar muchos quebraderos de cabeza, e incluso, no alcanzar el objetivo deseado.

Leer más →