Ada

A Ada se la reconoce en el mundo de la Informática. Por dar nombre a un lenguaje de programación orientado a objetos. Y, por otra parte (menos conocido?), ser el nombre de la ‘primera programadora’ reconocida: Ada Lovelace. En su vida, 1815 – 1852, tuvo ocasión de conocer (entre otros) a Faraday y a Charles Dickens.

“[..]A una edad temprana, su talento matemático la condujo a una relación de amistad prolongada con el matemático inglés Charles Babbage, y concretamente con la obra de Babbage sobre la máquina analítica.9​ Entre 1842 y 1843, tradujo un artículo del ingeniero militar italiano Luigi Menabrea sobre la máquina, que complementó con un amplio conjunto de notas propias, denominadas simplemente Notas. Estas notas contienen lo que se considera como el primer programa de ordenador, esto es, un algoritmo codificado para que una máquina lo procese. Las notas de Lovelace son importantes en la historia de la computación.[..]”

Estos días, por otro lado, se celebra el «Día Internacional de la mujer y la niña en la Ciencia». ¿ Que mejor ocasión ?. Ojalà pronto no tengamos que recordar todo ello como algo ‘especial’. Pues será algo tan natural ‘como la vida misma’. Como siempre fue.

El Algoritmo de Ada

 

Pd : dedicado a las (H)Ada’s que nos acompañan, y son reconocidas, por fin.

13/02/2018

Posted In: comunidad

Leave a Comment

Patologías, DevOps y Drupal (7)

En los inicios de mis desarrollos con Drupal CMS , nuestro flujo de trabajo (Workflow) era bien rudimentario. Se basaba en, de forma iterativa, ir ensayando las diferentes funcionalidades requeridas, generando así múltiples maquetas que se iban acumulando en mi disco duro. Con sus correspondientes bases de datos. Algo chapuza, vaya, francamente.

El hecho de que Drupal tiene el defecto patológico de no hacer una distinción práctica de código, configuración y datos (estos últimos comparten la base de datos) complica más las cosas.

Ese defecto ‘de fábrica’ ha sido corregido ya en la nueva D8 (en la que se ha reescrito el 70% del código). Mezclar contenidos y configuración en la base de datos (BBDD) hace que tengamos que hacer malabarismo entre los diferentes entornos de trabajo online. Pongamos, por simplificar,

  • Desarrollo . ‘Dev’
  • Y Producción.‘Prod’

DevOps para tod@s o «La fontanería subyacente » …

En su día, compartía con nosotros @victorkane , que el quid de la cuestión en el desarrollo de Drupal CMS son en gran medida todos los procesos de DevOps que subyacen, y su (no poca) complejidad. Aunque, naturalmente, Drupal tiende a esforzarse en abstraer al desarrollador de esa ‘fontanería’ básica.

NOTA : por cierto, frameworks más recientes… que estamos probando, parecen emerger con “facilidad de uso para el desarrollador, ya en sus genes… (p.ej.: Laravel | PHP ) Así… como la natural evolución, decíamos, de Drupal 8.

Ocurre que si hemos trabajado en el agregado de nuevas funcionalidades al código fuente base en el entorno, pongamos de desarollo / Dev ( por simplificar) en nuestro PC. Esta nueva configuración + código, debe ser ‘subida’ o desplegada ‘upstream’ al entorno-servidor de producción.

Y para ello… nuestro mejor amigo es el Drupal+Bash , ‘drush’. Que nos facilita la tarea de sincronizar,

  • por un lado, (nuevo) código ‘upstream’
  • por el otro, BBDD y ficheros de contenido de usuario… ‘downstream’

Una vez más, una imagen vale más que mil palabras .

Platform as a Service ( PaaS) al auxilio

En el ámbito más orientado a herramientas como Drupal, hemos comprobado que se ha hecho muy popular Pantheon.io … que no hemos tenido (aún) el gusto de conocer en persona y experimentar con él.

Naturalmente tenemos en la industria un amplio elenco de herramientas – plataformas (PaaS) que nos facilitan la labor. La de nuestra preferencia, hoy en día es Platform.sh .

No resulta muy útil, ante nuestra necesidad expresada anteriormente… orquestando todo lo expuesto anteriormente… de forma natural con el ‘Git workflow’ (para control de versiones) como base.

 

Mención especial a la calidad de la documentación ofrecida, pues te va guiando hacia ese camino…, de forma bien documentada :

https://docs.platform.sh/frameworks/drupal7.html

Así como el canal de atención al usuario, muy proactivo.

La potencia de Platform.sh parece emerger de la capacidad para replicar entornos online con tecnología LinuxContainers (LXC) en cuestión de segundos…

Todo ello bajo tarifas asequibles para desarrolladores, por unos pocos €uros al mes… como hemos podido comprobar.

Sin olvidar que más allá de la (auto)magia ( PaaS) de Platform, trataba de explicarme, lo que subyace son tres comandos Drush ( Drupal – Bash ), al estilo y la posibilidad de drush alias … y aunque conociendonte, quizas prefieras Bash scripting con umas gotitas de Drush y bla bla… .

La clave en todo esto, es… “no dejar de ver el bosque … no sólo el árbol ” ?… y KISS ( Keep It Simple Stupid) en medida de lo posible !

‘Have Fun! / Que os divirtáis’

28/01/2018

Posted In: softwareLibre

Etiquetas: , , , ,

Leave a Comment

Copyleft… ¿ por qué ?

Era allá en la celebración del mayor encuentro mundial, promovido por voluntarios de una Universidad belga, de las comunidades del software libre y de código fuente abierto. FOSDEM 2017. En nombre de la organización Software Freedom Conservancy – Bradley Khun, citó en su charla (entorno al Copyleft) a Mathew cuando manifestó :

« ¿ Quieres 4 sistemas de ficheros para formar clusters computacionales para empresas, o una nueva reescritura completa de la asignación de páginas en memoria para aumentar en un 3% el rendimiento ante una determinada carga de trabajo en un tipo específico de base de datos, o quieres a un puñado de adolescentes que crezcan hackeando todo ello porque eso es lo que hace funcionar cada uno de sus dispositivos? »

GNU Linux

 


« Porque honestamente, creo que es esto último lo que nos ha permitido [ a los desarrolladores del Linux Kernel] estar donde estamos, y no estaríamos ahí si lo que más nos importara fuera el asegurarnos de que las grandes empresas no se sientan amenazadas más que el hecho de asegurarnos de que la próxima generación a sus 19 años en un dormitorio pueda actualmente hackear el código de su teléfono y construir algo mejor como resultado. Eso es lo que me trajo acá en primera instancia, y difícilmente en eso sea yo el único.»

– Mathew Garrett, Linux Kernel developer, 26 August 2016

 

Mathew garrett, on Copyleft

 

 

PD : acá una argumentación , la hilo, bien fundamentada … en el sempiterno debate Software Libre , Open Source … Copyleft ( licencias GPL vs MIT )

26/01/2018

Posted In: softwareLibre

Etiquetas: ,

Leave a Comment

«… en un princpio, fue la línea de comandos (CLI) »

Estos días he aprovechado cierto receso para enriquecer mi relación con mi sistema GNU / Linux . Esto es, hablarle, preguntarle… más y hacer menos click . Buscando una comunicación más fluida y harmoniosa.

GNU Linux

Este proceso de enriquecimiento de la comunicación y de la interacción se produce tras la inspiradora lectura de “En un principio fue la línea de comandos”.

La anterior nos da la clave de como algunos sistemas operativos (privativos, principalmente) nos han querido hacer creer que la terminal o línea de comando ( CLI ) era un vestigio del pasado. Con atractivos ( o no tanto) interfaces gráficos, bajo ese prisma, se quiere ocultar lo innegable: los sistemas computacionales son complejos. Como dice Eben Moglen,en cierto modo , el abuso del uso del ratón ( mouse ) deriva en una espasmódica relación del usuario con el sistema. A golpe de ratón . La interacción está, en ese caso, mediada por una capa de abstracción que no es posible más que mediante la asunción ( imposición? ) de ciertos valores y parámetros por defecto. El diseñador de la interfaz gráfica (GUI) ha tenido que, necesariamente, simplificar y realizar bastantes suposiciones para asumir valores por defecto .

Al dejar de controlar esos detalles en pro de la simplicidad, de “hacernos la vida más fácil” como usuarios, estamos renunciando no sólo a todo el potencial de nuestro (?) sistema, sino también a la posibilidad de una interacción libre de intermediarios.

Cuando era adolescente y cayó en mis manos el primer teclado Unix no en entendía nada, sentí temor… quería salir corriendo a por mi ratón! j,aj! Éste ha sido un hermoso proceso,… de reencuentro y reconciliación. a hablarle a mi computadora GNU / Linux… Pasé de hablarle con gruñidos a base de click, a susurrarle en la línea de comandos (Bash). Sintiendo el latido y el repiqueteo de las teclas…

Pues eso, un texto que arranca hablando de S.Jobs, Wozniak (pionero de la llamada, ‘Revolución del PC, en los años 80): sin más …

 

     … « in the beginning… it was the Command Line »

 

17/01/2018

Posted In: softwareLibre

Etiquetas:

Leave a Comment

Jaiku VI

 

 

Cuando los designios

del destino toman un rumbo

inescrutable…

es mejor seguir su estela ?

Luna llena @ océano

 

 

 

 

PD : lo que en otras palabras vendría a ser… salir (por fin) de nuestra zona de confort ? Bailar al son de los tambores de la vida ?

16/01/2018

Posted In: poesia

Leave a Comment

La distribución (basada en) Linux ‘secreta’ : SUSE

Coyunturalmente estamos zambulléndonos en las aguas de SUSE la llamada distribución basada en Linux “secreta” … por la propia Linux Foundation .

Así la llaman dado que siendo la más avanzada de todas… es la menos conocida, paradójicamente, dicen . Dado que estamos trabajando con ella, vamos a tratar de compartir en una serie de blogposts lo aprendido, y principalmente… en relación a las diferencias con otras distribuciones software (siempre con el Kernel o núcleo Linux en común ) con las que estamos más familiarizados ( Debian).

La idea, en principio, es conocer SUSE Linux (y su hermana openSUSE ) de forma más bien práctica… .Si bien, en estos primeros blogposts de la serie nos detendremos en aspectos más conceptuales y teóricos, que nos facilitarán el conocer de antemano las características ( comunidad, empresa, productos relacionados… )del entorno en el que nos vamos a mover desde nuestros teclados .

A priori, avanzar que en Librebits sentimos que en SUSE han logrado (desde, orginalmente, el centro de Europa ) una harmonía (si es que es posible ) … o más bien simbiosis , entre la comunidad y la empresa, como … en una suerte de de economía circular , o de la abundancia ( basada en el procomún : GNU Linux ). Como probablemente lo expresaría nuestr@s amig@s de las Indias Electrónicas .

 

Así pues, de lo que inferimos las principales diferencias entre openSUSE y SUSE Linux, y sus sinergias.

 

openSUSE

 

El Proyecto se define a sí mismo como  « una comunidad mundial que promueve el uso de Linux en todas partes. openSUSE crea una de las mejores distribuciones de Linux del mundo, en la que se trabaja de forma conjunta, abierta, transparente y amistosa como parte de la comunidad mundial de software libre y de código abierto. »

openSUSE es el ‘sabor’ comunitario de la distribución basada en Linux, a su vez, disponible en dos variantes a

  • Leap en su versión estable
  • Tumbleweed en su versión de despliegue continuo ( rolling release ) de paquetes / actualizaciones, para aquell@s que quieran estar siempre en la última versión.

openSUSE (acá el portal español)

nos atrae con una serie de funcionalidades que (naturalmente) no encontramos en otras distribuciones basadas en (el Kernel ) Linux, como por ejemplo :

  •  una  potente y amigable herramienta de configuración e instalación del sistema (YaST )

  • una herramienta para construir (build)  paquetes software propios basados en openSUSE / SUSE Linux y tambíen los de otras distribuciones como Arch, Debian, Fedora, Scientific Linux, RHEL, CentOS, Ubuntu, y más. Open Build Service (OBS) .
  • la posibilidad de crear imágenes Linux , para el despliegue en hardware real, virtualización o incluso sistemas de contenedores  como Docker  , Kiwi  .

Todo ello lo cuenta mejor un activo miembro de la comunidad hispana openSUSE en su Blog, acá .

SUSE Linux


Más allá, SUSE Linux provee soporte técnico de pago, además de módulos y servicios adicionales. Entre otros :

  • Módulo Web y Scripting con un conjunto para desarrolladores y administradores de sistemas facilitando la creación ágil de aplicaciones web ( PHP, Python, Node.js y Ruby on Rails ).
  • Gestión Avanzada de Sistemas   :  Puppet,  CFEngine y  Machinery
  •  servicios de orquestación en red (‘Cloud’) integrados
  •  servicios Storage (almacenamiento)
  •  servicios de Containers (contenedores)
  • servicios de Management (gestión amigable e integrada)
  • y otras funcionalidades exclusivas de esta versión ‘ Enterprise Server (SLES )’

… además de ser una de las distribuciones basadas en (el Kernel) Linux más potentes a la hora de orquestar cientos de servidores ofrecer un determinado servicio en Internet ( la tan cacareada Cloud  o Nube) sobre estándares de computación en red como OpenStack .

Vale más una imagen que mil palabras a la hora de descubrir las sinergias entre ambas distribuciones software SUSE :

 

Así

 

Observamos así, en la imagen anterior, como SUSE se alza a hombros de gigantes, es decir del conjunto de la comunidad openSUSE, que a su vez disfruta de (algunos) de los últimos avances de SUSE Linux .

 

… no nos queda más que disfrutar aprendiendo del ‘estado del Arte’  en sistemas computacionales derivados de Linux de la mano de SUSE  y nuestra nueva mascota  Jorsuse !

11/01/2018

Posted In: SUSELinux

Etiquetas:

Leave a Comment

Jaiku V

 

( Mis propios deseos para el 2018, los verbaliza Edgar Morin : )

Esperate en lo inesperado

Comprender las incomprensiones tratando de reducirlas

Que la razón me acompañe en la pasión

Que la pasión me acompañe en la razón

Ser un Yo responsable en un Nosotros solidario

 

11/01/2018

Posted In: Uncategorized

Leave a Comment

Bots amigos y Telegram(as)

Intro

Recientmente en Librebits se nos ha planteado cierta necesidad de ser más interactivos y proactivos en nuestros servicios. Esto es… aprender sobre un fenómeno apasionante que va “in crescendo”. La red de redes (también conocida como Internet) nos habla… En este caso se sitúa como ‘intermediario’ … o ‘mensajero’. En ocasiones, a riesgo de entregar parte de nuestra privacidad, nos puede interesar que en vez de disfrutar directamente de una comunicación entre pares (P2P), alguien haga el trabajo de estar ‘alerta’ por nosotr@s… en un segundo plano. Nosotr@s, eso sí, deberemos estar atent@s a la recepción del mensaje/notificación (push) y obrar en consecuencia, si fuera necesario. Ahí entra en juego Internet, facilitándonos (una vez más) la vida .

 

Escenario

Deseamos que, por ejemplo, nuestros sistemas o dispositivos basados en el núcleo (Kernel) Linux ( PCs, servidores… y/o sensores) nos avisen cuando se produzcan determinados eventos.

Pongamos por caso…

  • cuando alguien haya accedido al sistema / dispositivo
  • se superen ciertos umbrales de uso de los recursos…

  • o simplemente la medida o el dato de un sensor

(aunque en este caso será más habitual disponer de Arduino o similar, o Raspbian ? )

esquema de funcionamiento del Bot (Telegram )

Como muestra el gráfico anterior, en nuestro amigo Bot delegaremos la función de avisarnos a modo de ‘alerta’. Para ello, en vez del tradicional e-mail, usaremos mensajería instantánea .

El cliente elegido es Telegram, por pragmatismo y comodidad. Algunos de nuestros clientes lo usan… y así nos evitamos a forzarles a instalarse una nueva app en su teléfono, si es que quisieramos ofrecer un servicio de avisos (push) inspirado en este escenario.

El reto a futuro sería ‘liberar’ el escenario por completo usando estándares y software libre como XMPP y Conversations reemplazando el protocolo propietario MTProto y el cliente de código fuente abierto (Open Source) Telegram.

Pero eso, esperamos, será algún día en otro Blogpost…

 

Hola Mr. Middleman

Por una vez, el intermediario nos será de utilidad. En este caso es cortesía de Ferdinand Muetsch al que le debemos la inspiración y agradecemos el código fuente abierto. Para mayor simplicidad, nos ofrece usar la instancia online del Bot que el mismo mantiene (naturalmente, es posible isntalar el software en nuestros servidores / PCs )

 

Manos a la obra

Así pues, como Ferdinand nos sugiere, para usar su Bot, bastará con seguir los pasos indicados… y sencillamente, disponer de nuestro sencillo ‘sistema de aviso’.

Debemos hacernos con un identifcativo (‘token’) de nuestro chat (Telegram), para asociar la comunicación… y de ahí, tan simple como mandar un petición HTTP (POST) a la URL ofrecida por Ferdinand , en el formato adecuado

{ “recipient_token”: “3edf633a-eab0-45ea-9721-16c07bb8f245”,

“text”: “HOLA! (si, es formato Markdown)”,

“origin”: “Mi mensajero / intermediario :-)” }

 

Y voilàautomagia , a los pocos instantes obrendremos una alerta / mensje en nuestro teléfono :

 

 

 

 

Recursos :

 

> https://github.com/n1try/telegram-middleman-bot

03/01/2018

Posted In: softwareLibre

Etiquetas: ,

Leave a Comment

Fennec ya llegó a nuestros bolsillos ( via F-Droid )

En nuestro bolsillo llevamos una mini-computadora que además de conectarnos virtualmente, va informando de nuestras vidas. Los llamados ‘Smartphones’ ( fonolistos ? ).

Bueno es saber que es muy probable que el software que se ejecuta en tu bolsillo esté basado en el sistema Android Linux .

 

En él, de algún modo, disponemos de esa ventana al mundo que es el navegador Web.

(en sí, hablamos prácticamente de un sistema operativo ‘web’ ligero , embebido en el propio sistema operativo del dispositivo )

En Librebits naturalmente nos decantamos por la opción que nos ofrece la Mozilla Foundation ( organización sin ánimo de lucro ),  en sus propias palabras :

 

« Mozilla es la organización sin ánimo de lucro responsable de Firefox, el navegador alternativo original. Creamos productos y políticas para mantener Internet al servicio de las personas, no del beneficio.»

Gracias a este blogpost hemos sabido de la existencia de Fennec , el navegador de Mozilla para Android basado en Firefox, del que se le han extraído los blobs (partes del código fuente de licencia privativa).

De este modo, además de disponer de un navegador (más) libre de código fuente opaco , percibimos en su funcionamiento una mejora en cuenta a la agilidad con la que se ejecuta en nuestro dispositivo.

Desde estas líneas pues remcomendamos su uso, descargándolo de F-Droid, el repositorio de software libre y de código fuente abierto para Android ( Linux ) .


Fuentes :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F-Droid

10/12/2017

Posted In: softwareLibre

Leave a Comment