Etiqueta : opensistemas

Feliz Día Internacional de la Mujer

post image

Por Eva Mosquera
Tech Communications & Mkt. Specialist de OpenSistemas

Hoy es 8 de Marzo, Día Internacional de la Mujer. Sin embargo, no es un día sólo para dar felicidades, es una jornada que conmemora la lucha de la mujer por su participación, en pie de igualdad con el hombre, en la sociedad y en su desarrollo íntegro como persona.

A lo largo de la historia, esta lucha ha conseguido hitos como la Declaración de los Derechos de la Mujer y de la Ciudadanía durante la Revolución Francesa, el derecho a la alfabetización, el sufragio femenino, la separación entre reproducción y sexualidad, la defensa de la maternidad libre, el acceso a la universidad, la liberación femenina….

Y ahora… ¿Qué más podemos hacer?

La mujer todavía lucha por la igualdad salarial y por acabar con comportamientos sociales heredados de épocas pasadas en las que la mujer era considerada un mero objeto decorativo, y esa es una lucha que deben pelear hombres, mujeres y empresas por igual. También lucha por romper el techo de cristal y ocupar puestos directivos para los que están altamente cualificadas, así como por hacerse un hueco en carreras que sufren la llamada ‘brecha de género’, como en Tecnología.

¿Es que no hay mujeres en Tecnología? ….Como dicen en mi tierra, ¡haberlas haylas!, el problema es que son tan pocas que en lugar de destacar se vuelven invisibles. Así que, a todas las mujeres que se dedican a la Tecnología dentro y fuera de nuestras oficinas, les invitamos a brillar y a destacar, a convertirse en un role model para las generaciones que vendrán, y que cada vez veamos más mujeres programando. Lo más importante no es hablar más alto, ni más claro, es dar ejemplo con vuestro talento.

Así que, a todas vosotras…. ¡gracias por demostrar que Mujer y Tecnología son compatibles!

Y para terminar, os dejo una lista de mujeres que pueden ser un ejemplo para todas nosotras (¡y todos!), os animo a investigar sobre ellas, si todavía no las conocéis:

– Ada Lovelace

– Heddy Lamar

– Jude Milhon

– Frances E. Allen

– Edith Clarke

– Grace Murray Hopper

– Rózsa Péter

– Evelyn Berecin

– Lynn Conway

– Frances E. Allen

– Marissa Meyes

– Sheril Sandberg

– Virgnia Rometty

– Meg Whitman

– …

Y por supuesto, bien merecido tienen las mujeres de OpenSistemas engrosar esta lista de mujeres inspiradoras:

  • MARIA TERESA LUQUE
  • GEMA PARREÑO
  • MARTA OLIVER
  • SOLEDAD CARRACEDO
  • MONICA ROMERO MORENO
  • LAURA MILLER
  • EVA MARIA GONZALEZ
  • MARTA ROMERO
  • MARIANA CARELA
  • IRENE GARCIA
  • MIRIAM GARCIA
  • SORAYA MUÑOZ
  • LETICIA TIERRA
  • EVA MOSQUERA

Además, no se me puede olvidar felicitar y dar las gracias a los hombres que contribuyen a dar voz al mensaje feminista, no sólo con sus palabras, sino también con sus actos.

A todos y a todas… ¡Felicidades y gracias por contribuir a cambiar el mundo! 🙂

La cigarra y la hormiga en la Transformación Digital

post image

Por Javier Viñuales
Digital Transformation Manager de OpenSistemas

 

La cigarra era feliz disfrutando del verano económico:  El sol brillaba, el software privativo desprendía su aroma y las administraciones públicas o empresas compraban, compraban software y hardware, compraban sin parar, como si no hubiera un mañana…y la cigarra se meneaba altanera. Mientras tanto su amiga y vecina, una pequeña hormiga, pasaba el día entero frikeando, hackeando, compartiendo conocimiento en grupos locales Linux o BSD, conociendo a gente, aprendiendo sin parar.

 

– ¡Amiga hormiga! ¿No te cansas de tanto hacer el friki? Descansa un rato conmigo mientras te regalo software y un flamante nuevo equipo ordenador para que disfrutes el momento. – Le decía la cigarra a la hormiga.

– Mejor harías en abrirte un poco, colaborar en red, prepararte para el invierno económico y dejarte de tanta altanería – le respondía la hormiga, mientras descargaba código fuente, aprendía, lo mejoraba y lo subía a repositorios públicos, lo liberaba, atareada y feliz haciendo que los viejos ordenadores ejecutaran su software.

 

La cigarra se reía y seguía altanera sin hacer caso a su amiga.

Hasta que un día, al despertarse, sintió el frío intenso del invierno económico, había llegado la crisis. Los clientes se habían quedado sin presupuesto y del cielo caían copos de nieve, mientras la cigarra vagaba por los despachos, helada y hambrienta. Vio a lo lejos la casa de su vecina la hormiga, y se acercó a pedirle ayuda.

 

– Amiga hormiga, tengo frío y hambre, vengo poco, no me hacen caso como antes los clientes ¿no me darías algo que vender?. Tú tienes mucho software, que se ejecuta tanto en hardware pequeño como en la nube, mientras que el mío necesita muchos recursos y no lo compran como antes.

 

La hormiga entreabrió la puerta de su casa y le dijo a la cigarra.

 

– Dime amiga cigarra, ¿qué hacías tú mientras yo frikeaba como tu decías?, ¿que hacías mientras yo contribuía al proyecto Debian, a Linux, Apache o a FreeBSD?, ¿qué hacías mientras yo compartía conocimiento, lo publicaba con licencia libre y creaba comunidades abiertas con otras personas como yo?.

– Me meneaba altanera bajo el Sol – contestó la cigarra.

– ¿Eso hacías? Pues si te meneabas altanera en el verano, ahora …

 

… únete a la Transformación Digital con nosotros, con la Comunidad Open Source, haciendo que tus programas hablen con los nuestros, mezclando código respetando licencias libres, liberando el tuyo, creando ecosistemas y plataformas de desarrollo basadas en open source, liderando proyectos. Has sido innovador y lo sigues siendo, hay mucho por hacer pero el mundo ya no es como era, todo va muy deprisa y ha de ser flexible, interoperable, modular, abierto…

… la Transformación Digital ha de estar estar cimentada en conocimiento abierto, en estándares abiertos e implementaciones en software y hardware libres. Lo privativo no puede ni debe desaparecer, es fundamental que siga existiendo pero, los cimientos de la transformación, la base de todos los saltos cuánticos en la sociedad del conocimiento, ha de ser libre.

OpenSistemas lleva ordenadores al Sáhara

post image

Por Vicente Grande Duque
Vigente campeón del Sahara Marathon patrocinado por OpenSistemas

 

Mi participación el año pasado en el #SaharaMarathon se debió a unas imágenes que vi en televisión de las terribles inundaciones que destrozaron la ya escasa infraestructura que hay en los campamentos de refugiados Saharauis, dejando unas 11.000 viviendas destrozadas y 60.000 personas desplazadas. Al ver esto me en sentí la obligación moral de colaborar de alguna manera.

Una vez que tomé la decisión, busque patrocinadores y me inscribí en el Maratón, embarcándome en un proyecto de ayuda humanitaria que resultó ser apasionante, en el que conseguí aportar a esa devastadora situación, medicamentos, material escolar para los peques y 2.772 euros para ayudar a la reconstrucción de hospitales y escuelas.

Cuando llegué allí, me hicieron sentirme uno más, sin saberlo estaba inmerso en el maratón más solidario del mundo, donde se juntan corredores de todo el globo para ayudar a los más necesitados. Los verdaderos protagonistas no son los atletas, sino los habitantes de la zona donde se celebra que hacen que los participantes se integren durante una semana en la vida diaria, compartiendo sus hogares, costumbres, hábitos, cultura, inquietudes…

La victoria en el Sahara Marathon como deportista me llenó, pero no pasó de ser una simple anécdota comparado con la experiencia multicultural tan extraordinaria que puede vivir, vivencia por la que deberíamos pasar todos para ponernos los pies en el suelo. No podría llegar a imaginar que en un pueblo donde sus habitantes viven bajo una pobreza tan extrema, sin recursos, agua, electricidad… hubiese personas tan generosas y hospitalarias, y no solo con los extranjeros que hemos llegado estos días, sino que también entre ellos.

Toda esta magia me envolvió y me ha hecho tomar la decisión de volver a correr el Sahara Marthon, darle una vuelta más de tuerca al proyecto iniciado el año pasado. Así, además de llevar medicamentos y material escolar, este año con el patrocinio de empresas como OpenSistemas vamos a intentar mejorar las condiciones de vida culturales de los niños refugiados saharauis creando iniciativas que van a revertir en esta acción, e intentaremos, en la medida de lo posible, fomentar el deporte como herramienta que nos hace mejores y promover la educación en general, y en particular la tecnológica.

Mi objetivo en el plano deportivo estará en mantener el tipo con los grandes corredores que van a asistir, como he dicho antes ganar una prueba de este tipo te llena mucho pero es incomparable con la satisfacción de poder poner mi granito de arena para intentar, dentro de mis posibilidades, hacer mundo.

Docker para desarollo

post image

Por David González
Big Data Manager de OpenSistemas

¿Cuanto tiempo invertimos en montar los entornos de desarrollo? Una persona experimentada, puede montar un entorno LAMP en apenas 15 minutos, pero no siempre estamos ante este tipo de perfiles, pudiendo provocarse cuellos de botellas que implican distracciones de tareas más importantes para los miembros senior. Incluso en ocasiones, la complejidad del proyecto es tal, que un perfil de estas características puede necesitar un tiempo para aclimatarse. Supongamos un proyecto que realizamos hace un par de años y que comienza su segunda fase, es necesario recurrir a la documentación (en el mejor de los casos) para ver las librerías y las versiones necesarias, obligando a veces a modificar el entorno actual.

 

No hay que olvidar que muchas personas trabajan en varios proyectos, en este caso la situación  se agrava, supongamos que para uno de los proyectos se utilizan diferentes versiones de PHP y de MySQL, no es tan trivial el manejo, y muchas veces se opta por una versión que no es la indicada porque el desarrollo funciona, esto puede acarrear problemas en el futuro, ya que los desarrollos que realiza podrían no funcionar posteriormente con la versión oficial del proyecto.

Docker al rescate!

En la mayoría de las empresas se desarrolla sobre un control de versiones (me gustaría poder decir que en todas), utilizando todo el equipo un mismo repositorio donde van agregando las funcionalidades. ¿No sería genial que al descargar el repositorio, ya tuviéramos todo lo necesario para trabajar?… ojalá, pero descargarse todo el entorno de desarrollo es demasiado costoso, una imagen que contenga la foto completa puede ocupar cientos de MB. Sin embargo utilizando docker-compose, podemos guardar la “foto” de un entorno completo en pocos MB (incluso < 1MB)… Además, estos ficheros son texto plano, nuestro control de versiones podría informamos de cualquier cambio en la arquitectura. La cosa se pone interesante, manos a la obra:

 

Supongamos el siguiente repositorio git:

+ app

+ test

 

Añadamos nuestra carpeta de docker:

+ app

+ test

+ docker

 

Queremos montar un entorno LAMP, así que vamos a crear una arquitectura de contenedores con Apache, PHP y MySQL. Vamos a definirlo en nuestro docker-compose.yml:

 

version: ‘2’

services:

mysql:

image: mysql

container_name: app_mysql

environment:

MYSQL_ROOT_PASSWORD: root

ports:

– ‘3306:3306′

volumes:

– db:/var/lib/mysql

php:

image: php:7-apache

container_name: app_php

ports:

– ’80:80’

volumes:

– ../app:/var/www/html

depends_on:

– mysql

extra_hosts:

– “local.app.com:127.0.0.1”

volumes:

db:

 

Si ejecutaremos “docker-compose up”, crearíamos dos contenedores, uno con PHP y Apache, y otro con MySQL. Al primero podríamos acceder por el puerto 80 desde nuestro ordenador, y al segundo accederíamos tanto desde nuestro ordenador por el 3306 como desde el primer contenedor.

 

En el primer contenedor hemos montado un volumen, que tiene nuestro código (versionado 😉). Esto es genial porque no es una foto del momento en el que se creó el contenedor, sino una referencia. Es decir, suponiendo que usamos Git, si hacemos un Git Pull, vamos a ver los cambios inmediatamente en nuestro navegador.

 

Por desgracia, esto no sirve de mucho, seguramente necesitemos habilitar algún mod de Apache, o utilizar un virtual host, o cualquier cambio de configuración que no este incluido en la imagen oficial… No os preocupéis, vamos a crear nuestras propias imágenes (mejor, nuestras propias definiciones de imágenes, y también estarán versionadas.

 

Recordemos en que punto estamos, y añadamos un par de carpetas:

 

+ app

+ test
– docker

– docker-compose.yml

+ php

+ mysql

 

Modificamos nuestro docker-compose.yml para decirle que la imagen va a ser construida:

 

version: ‘2’

services:

mysql:

build: ./mysql

container_name: app_mysql

environment:

MYSQL_ROOT_PASSWORD: root

ports:

– ‘3306:3306′

volumes:

– db:/var/lib/mysql

php:

build: ./php

container_name: app_php

ports:

– ’80:80’

volumes:

– ../app:/var/www/html

depends_on:

– mysql

extra_hosts:

– “local.app.com:127.0.0.1”

volumes:

db:

 

Ahora, vamos a por nuestros docker files, empezamos por el sencillo, mysql:

 

FROM mysql:5.7

#COPY ./my.cnf /etc/mysql/conf.d/

 

Este docker file realmente no hace nada, podíamos haber dejado la imagen como estaba, pero si quisierais meter una configuración especial, bastaría con desconectar esa linea y meter el fichero en la carpeta. Ahora vamos con el siguiente php+apache:

 

FROM php:7-apache

ADD app.conf /etc/apache2/sites-enabled/app.conf

COPY php.ini /usr/local/etc/php/

RUN a2enmod rewrite

RUN apt-get update \

&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev \

&& docker-php-ext-install pdo_mysql mysqli mbstring gd iconv mcrypt

 

Esto ya es otra historia, veamos que hace cada linea:

  • Añadimos el fichero del virtual host al contenedor
  • Remplazamos el php.ini por uno propio
  • Habilitamos el módulo rewrite
  • Instalamos las librerías necesarias para el correcto funcionamiento de la aplicación.
Finalmente tendríamos la siguiente estructura:

+ app

+ test
– docker
  – docker-compose.yml
  – php

– Dockerfile

– php.ini

– app.conf

– mysql

– Dockerfile

– my.cnf

 

Ahora si, ejecutando “docker-compose up -d” tendremos todo nuestro entorno montado!

 

Espero que os haya gustado, pero sobre todo que os sea de utilidad. Me gustaría acabar el post diciendo los siguientes pasos que se me ocurren, y que pueden ser interesantes. Por un lado, generalizarlo y crear configuraciones específicas para cada tipo e proyecto (LAMP, Node+MongoDB, Niginx…), así al descargar un repositorio vacío de un proyecto X, ya tendríamos el 80% del entorno montado y solo tendriamos que personalizarlo. Y por otro lado, utilizarlo como entorno de desarrollo “no local”, aprovechando los driver que nos ofrece Docker-Machine, haciendo muy sencillo crear la misma infraestructura en la nube.

 

Nota: Prestad atención a los nombres de los ficheros y aseguraos de tener los puertos libres. Aquí podéis descargar una carcasa de la parte de Docker de prueba.

CasperJS, la aspiradora de datos que usamos en Electiona

post image

Por Nacho Escudero
Cloud Architect de OpenSistemas

Durante nuestro día a día nos encontraremos muchas veces webs con contenido importante, datos muy interesantes, que se actualizan con frecuencia y cuyos datos necesitamos para nuestro proyecto. Pero al ir a usar algún servicio que proporcione dicha web para acceder a los datos o descargarlos, nos daremos cuenta de que no existe ningún tipo de servicio de fácil acceso a la información o simplemente el servicio de publicación tiene un coste o complejidad que nos impide usarlo.

Si estás en esa necesidad: los datos son muy importantes para el proyecto y no puedo acceder a ellos de ninguna otra manera salvo “a mano” debes plantearte hacer uso de CasperJS.

CasperJS es un lenguaje de scripting basado en Javascript. Aporta un nivel de abstracción sobre PhantomJs. Por lo tanto, es un lenguaje usado para navegar por la web sin un entorno visual, realizar revisiones de aplicaciones online, monitorizar, capturar pantallas o automatizar acciones en cualquier página.

Ésta última característica es la que más nos interesa, ya que queremos extraer información. Mediante selectores CSS3 o XPath navegaremos hasta el contenido que nos interesa, podremos acceder a la información que contienen los elementos seleccionados y realizar acciones sobre ellos.

Las acciones más interesantes suelen ser: hacer click en un botón o enlace, rellenar formularios o revisar valores de tablas. La toma de decisiones en función de los resultados, el manejo de errores, los eventos, son otras de sus características.

La instalación es muy sencilla: si tienes npm instalado en tu sistema, mediante los siguientes comandos:

npm -g install phantomjs
npm -g install casperjs

Ya tendrías tu entorno preparado para trabajar.

Aquí se puede ver cómo usarlo para guardar en un array y mostrar todos los enlaces de una búsqueda:

var casper = require('casper').create();
var links;
function getLinks() {
// Rastreo de links
    var links = document.querySelectorAll('ul.navigation li a');
    return Array.prototype.map.call(links, function (e) {
        return e.getAttribute('href')
    });
}
// Abre casperjs 
casper.start('http://casperjs.org/');
casper.then(function () {
    links = this.evaluate(getLinks);
});
casper.run(function () {
    for(var i in links) {
        console.log(links[i]);
    }
    casper.done();
});

El resultado sería:

$ casperjs query-casperjs.js
http://docs.casperjs.org/en/latest/quickstart.html
http://docs.casperjs.org/en/latest/
https://github.com/casperjs/casperjs
https://groups.google.com/forum/#!forum/casperjs

En OpenSistemas se lleva usando CasperJS desde hace unos años. Nuestro producto Electiona hace uso de él para extraer los datos de escrutinio e histórico en las administraciones que no tienen un sistema de envío de información mediante otros servicios o protocolos. Mediante clave de acceso, se accede a la web de la administración durante la noche electoral y se descargan los ficheros desde enlaces cuando se publican. Todo ello de manera automatizada y parametrizable.

2017, un buen año para ser ingeniero

post image

Por Teodoro López
Talent Acquisition Manager de OpenSistemas

Todo apunta a que este año se mantendrá la tendencia de mejora del mercado laboral. Además, las ingenierías siguen liderando la lista de empleos más demandados. De hecho desde la Unión Europea se prevéela creación de hasta 900.000 nuevos puestos de trabajo tecnológico.

Entre los requisitos y características comunes que van a definir estos nuevos empleos se encuentran unos que ya son clásicos como el dominio de varios idiomas, la capacidad de trabajo en equipo, la proactividad, la polivalencia o la adaptación al cambio. En definitiva, actitudes que se han de emplear en el día a día de cada vez más puestos de trabajo. Sin embargo, lo más importante es que se trate de personas con talento, excelentes en su trabajo y con un perfil polivalente que resulte estratégico en los ámbitos de negocio de las empresas de forma que puedan aportar “un extra” a los servicios y productos de estas y que los hagan sobresalir sobre la competencia.

Ante esta situación nos hacemos eco del análisis, que podéis ver a continuación, realizado por la consultora de selección Spring Professional que ha desarrollado el estudio “Los+buscados” sobre los perfiles más demandados y los mejor cotizados en España para este 2017 en diversas ingenierías.

Los más buscados

  • Ingeniero de redes
  • Desarrollador de software NET
  • ‘National KAM’ Gran Consumo
  • ‘E-Commerce manager’
  • Area ‘manager luxury’
  • Ingeniero técnico comercial
  • Coordinador de tráfico
  • ‘Business & Planning Analyst’
  • ‘Talent manager’
  • ‘TAX manager’
  • Ginecólogo especialista en reproducción asistida
  • Técnico de aseguramiento de la calidad

Los más cotizados

  • Ingeniero de seguridad IT
  • Consultor SAP
  • ‘KAM Data Center’
  • Director de márketing
  • Director de expansión internacional
  • Responsable de producción
  • ‘Key account manager’
  • Director financiero y de consolidación
  • Director de recursos humanos
  • ‘Compliance officer’
  • ‘Medical manager’
  • ‘Market access’


OpenSistemas homenajea a la mujer en la tecnología

post image

Por Eva Mosquera
Communications Manager de OpenSistemas

Si tuviésemos que ponerle una etiqueta al año que se avecina, diríamos que 2017 es el año del crecimiento, pero no sólo como empresa, sino también en todo lo que concierne a nuestra responsabilidad corporativa. Y es por eso que hemos dado la bienvenida al 2017 con un calendario muy especial que representa el compromiso que OpenSistemas alberga para luchar contra la brecha de género en ciencia y tecnología. Así, cada mes del año homenajea a muchas de las célebres mujeres que han dejado y dejan su huella en la historia para demostrar que estos campos no son ni deben ser terrenos sólo pisados por hombres.

 

marzo_2017

 

Así, personalidades que van desde las pioneras Marie Curie o Ada Lovelace, hasta mujeres contemporáneas como Margot Gerritsen, directora del Instituto de Ingeniería Computacional y Matemática, se convierten en mentoras de las profesiones científicas con algunas de sus famosas frases, como la siguiente, perteneciente a la astrónoma María Mitchell, que se convirtió en la primera persona en descubrir un cometa con un telescopio cuando las ciencias estaban restringidas a los hombres en universidades tan importantes como Harvard:

 

“En mis años jóvenes, solía decir ‘¡cuánto necesitan las mujeres las ciencias exactas!’ Pero desde que he conocido a algunos científicos que no siempre atienden a las enseñanzas de la naturaleza, que se quieren a sí mismos más que a la ciencia, digo: ‘¡Cuánto necesita la ciencia a las mujeres!”. María Mitchell

 

 

Con nuestros amigos los robots, la programación es un juego de niños

post image

Por Eva Mosquera
Communications Manager de OpenSistemas

El pasado sábado fue un día muy especial para OpenSistemas. Tras semanas de preparación y mucho cariño, al fin llegábamos a MediaLab Prado cargados de robots para transmitir nuestra pasión por la programación a niños y niñas. La jornada #NuestrosAmigosLosRobots tuvo una ansiosa acogida por parte de al menos 50 familias, donde los más pequeños no podían esperar a que se iniciasen los talleres para sentarse a ver el robot con el que iban a trabajar durante el día. Algunos de ellos, repletos de conocimiento y faltos de paciencia, no pudieron evitar trastear con el software de programación mucho antes de que los profesores de Penguin Island diesen las primeras instrucciones.

Los talleres se dividieron en varios grupos según las edades de los niños y niñas. Así, los más pequeños jugaron y aprendieron a programar a Zowi, de BQ, los medianos se divirtieron con Jimu, de Midland, y los más mayores se encontraban repartidos entre los grupos de NAO, de Juguetrónica; y de Alpha1S, también de Midland.

Fue sorprendente la facilidad con la que los niños y niñas se adaptaban al entorno de programación y diseñaban sus propios movimientos en los robots. Y fue un orgullo para nosotros ver cómo se divertían trabajando en equipo y se resistían a levantar las manos del ordenador para ir a comer algo.

Si algo queremos conseguir con este tipo de iniciativas es que las nuevas generaciones se apasionen con la programación igual que lo hacemos nosotros cada día en OpenSistemas, y viendo que con jornadas como #NuestrosAmigosLosRobots lo hemos conseguido, no dejaremos de trabajar por ello.

¡Que no pare la fiesta del código!

Reactjs

Por José Manuel Cristóbal
Consultor Open Source en OpenSistemas

Reactjs es una librería javascript, de código abierto con licencia Apache 2.0, fue creada en 2013 por Jordan Walke, ingeniero de software de Facebook. Actualmente el código está mantenido por Facebook, Instagram y la comunidad de desarrolladores.

Cuando pensamos en crear una aplicación basada en HTML5 y javascript hay que valorar en qué librerías y frameworks apoyarnos.
(más…)

WordPress o Drupal, ¿qué CMS debería utilizar?

Por Marta Oliver
Developer at OpenSistemas

Durante mi trabajo en OpenSistemas he podido llevar a cabo proyectos basados en distintos CMS, entre los cuales destacaría sobre todo WordPress y Drupal. Basándome en mi experiencia personal, en este post me gustaría comparar ambos de forma general de cara a facilitar la tarea de elegir qué gestor de contenidos deberíamos utilizar para cada caso concreto. (más…)