Empresa

To Teal or not to Teal

29 de novembre de 2018 | Jose Vicente Marin

Habréis oído mucho que BaseTIS sigue o intenta seguir un modelo Teal, pero ¿qué es el modelo Teal? En este post intentaré explicar cómo se define y daré una visión subjetiva de lo que conlleva implantarlo.

 

El término Teal (que es un color) se hace famoso en el libro “Reinventando las Organizaciones” escrito por Frederic Laloux. Él entiende las organizaciones empresariales como un organismo viviente en continua evolución y desarrollo, una fuerza independiente con su propio propósito y no metas objetivas impuestas desde dirección, con lo que todos los miembros, su energía y potencial creativo determinarán el futuro del ecosistema.

Se define una escala de colores para identificar a diferentes tipos de organizaciones, donde la Teal destaca por una estructura descentralizada consistente en pequeños equipos que toman la responsabilidad de su propio gobierno y de cómo interactúan con otras partes de la organización. Las acciones son tomadas, no por la cadena jerárquica, sino escuchando al propósito de la organización. Este tipo de estructuras se caracterizan por la rápida adaptación al cambio y los ajustes son continuos.

Las tres principales innovaciones o propuestas son:

  • Autogestión. Las organizaciones teal encuentran la clave para operar basándose en relaciones entre pares, sin necesidad de jerarquías ni consensos. Las personas tienen una gran autonomía en su dominio, el proceso de toma de decisiones se hace a través de la consulta e implicando a los responsables y afectados.

  • Integridad. Las organizaciones siempre han sido lugares donde el individuo se presenta en su versión profesional, dejando el resto de vertientes fuera de este entorno. En una organización teal se invita a reclamar nuestra integridad y nos permite presentarnos en el trabajo como un ser completo. La inteligencia emocional y las sensaciones de las personas son tenidas en cuenta en el desarrollo del trabajo.

  • Propósito Evolutivo. La organización tiene una vida y un sentido propio, en lugar de predecir y controlar el futuro (con diagramas, proyecciones y planes), los miembros están invitados a escuchar, a entender lo que la organización quiere y busca. Este objetivo se consigue mediante la observación, la exploración y el descubrimiento
     

Explicado qué es el modelo teal, viene mi opinión, creo que implantar este modelo no es tarea sencilla, tiene muchas variables que le influyen:

  • Primero encontramos el sector, la consultoría donde las reglas están impuestas por empresas con una larga tradición y términos y frases como ‘cárnicas’, ‘big four’, ‘trabajar en cliente final’, ‘llegar a gerente y vivir bien’ son extensamente conocidos, donde el camino es algo temporal siempre y que se decida hacer algo diferente tiene muchas barreras que derribar.

  • Otro factor importantísimo y de una dificultad incluso mayor, es que todas las personas que forman parte de la organización tienen que estar muy implicadas para llegar a un teal perfecto, como en el sistema nervioso, cada neurona es independiente y toma decisiones de manera autónoma para conseguir el objetivo de su organización, cada uno de nosotros tenemos un papel protagonista hacia dónde se dirige la organización.

  • Al ser algo nuevo y que no es ‘normal’, la comunicación del modelo, para una exitosa implantación, es imprescindible que todos los componentes de la empresa conozcan qué es y en qué consiste la estructura teal, se conozcan los tipos de decisiones y cuándo utilizar cada una.

Pese a lo mencionado, ya hay varios pasos dados (claro ejemplo cómo el sistema de áreas ha dividido las funciones) creo que tiene muchas ventajas el modelo y que merece la pena seguir caminando hacia el Teal. La filosofía de BaseTIS encaja muy bien con este tipo de organización, además hay un gran sentimiento positivo por parte de las personas que forman la empresa hacia BaseTIS, que tenga una manera de ser diferente, eso hace que el cambio sea menos traumático que en otros lugares.

Para acabar, hay una anécdota que me gusta y a la que hace referencia Laloux: Aristóteles en el año 350 antes de Cristo, afirmó que las mujeres tenían menos dientes que los hombres. Tuvieron que pasar más de 2.000 años para acabar con esta falsedad: ¡sólo bastó con que alguien los contara!

Foto de cabecera de Miti extraída de Unsplash
autogestión,gestión,Medalla Blogger,Open,OpenCultura,organización,organization,teal,
Tecnologia

SOLID contra el código caótico

13 de novembre de 2018 | Jonathan González

¿Qué es SOLID?

SOLID es un acrónimo para 5 principios de POO (Programación Orientada a Objetos) que favorecen la creación de sistemas legibles, extensibles y mantenibles.
 

¿Por qué debería interesarme?

Los principios SOLID forman parte de las buenas prácticas de programación y seguirlos son una garantía de que tu código no va a crecer de forma descontrolada y caótica.

¿Te suena alguna de estas situaciones?

  • Un requerimiento cambia (aparentemente pequeño) y te encuentras con que tienes que cambiar un montón de ficheros.
  • Te piden cambiar algo y tienes que modificar algo que ya funcionaba, solo para darte cuenta más tarde de que ha dejado de ir.
  • Algo no funciona bien y no tienes ni idea de dónde puede estar el fallo.
  • Te ves cambiando constantemente las mismas clases/funciones una y otra vez.
  • A medida que pasa el tiempo y se producen cambios la legibilidad del código cae en picado.

¡Entonces te interesa aprender SOLID! 😉

 

Los principios

El acrónimo SOLID se forma a partir de la primera letra de cada principio en su forma inglesa:

Single responsibility principle
Open/closed principle
Liskov substitution principle
Interface segregation principle
Dependency inversion principle

 

1. Principio de responsabilidad única (Single Responsibility)

Una clase sólo debería tener una única razón para ser modificada.

Para cumplir con este principio, debemos dividir el código de forma que cada clase se encargue de una única funcionalidad bien definida (una única responsabilidad).

El objetivo de este principio es el de limitar el impacto de los cambios realizados sobre nuestras funcionalidades.

Si cada clase se encarga de una única funcionalidad, cuando haya que modificar dicha funcionalidad, solo habrá que modificar una única clase (generalmente pequeña) y, por lo tanto, será más fácil realizar el cambio y habrá menos riesgo de que dicho cambio tenga repercusiones sobre el resto del código.

Ejemplo:

Tenemos 5 clases y todas ellas hacen uso de una librería para generar informes. Si en algún momento del desarrollo decidiéramos cambiar esta librería por otra (más eficiente, más moderna o con nuevas funcionalidades) deberíamos modificar las 5 clases para adaptarlas al cambio. No obstante, si hubiéramos seguido este principio, hubiéramos detectado que el crear informes es una funcionalidad única y autónoma, por lo que hubiéramos creado una clase que se encargara de generar los informes; esta clase sería entonces la única que hiciera uso de la librería por lo que, al cambiar de librería, solo deberíamos modificar una única clase.

 

2. Principio de abierto/cerrado (Open/closed)

Las entidades de software deberían estar abiertas a la extensión pero cerradas a la modificación.

Para cumplir con este principio, debemos asegurarnos de que las clases/funciones/módulos que ofrecemos permiten extender su funcionalidad sin modificar su código.

Esto significa, por un lado, que estas clases deben estar “abiertas a la extensión”, es decir, que podemos hacer que la clase se comporte de formas nuevas y diferentes a medida que los requerimientos de la aplicación cambien. Y, por otro lado, que deben estar “cerradas a la modificación”, es decir, el código fuente de dichas clases debe ser inviolable, nadie debería verse forzado a modificar código existente para añadir nuevas funcionalidades.

La razón por la que existe este principio es debido a que modificar clases constantemente puede introducir errores y crear incertidumbre (nunca puedes dar ninguna clase por terminada), por lo que resulta conveniente que, para añadir nuevas funcionalidades, no sea necesario modificar código ya existente, probado y que funciona. Otra razón más para seguir este principio es que, en el caso de ofrecer nuestro código en forma de librería para terceros (un entorno en el cual el código fuente es realmente inviolable), si no damos herramientas a los clientes para que puedan adaptar el comportamiento de nuestra librería a sus necesidades, probablemente les resulte poco útil y no quieran usarla.

La forma de lograr esto es hacer que las funcionalidades de nuestra clase dependan de interfaces y que, al necesitar nuevas funcionalidades, podamos añadir el código de esas nuevas funcionalidades dentro de nuevas implementaciones de dichas interfaces. De este modo, en vez de modificar clases o implementaciones existentes, nos bastaría con crear nuevas clases (implementaciones) cada vez que queramos añadir algo nuevo.

Ejemplo:

Tenemos una clase encargada de generar informes en formato PDF. En en momento dado, los requerimientos cambian y necesitamos generarlos en formato Excel, por lo que modificamos la clase que ya teníamos. Al día siguiente de subir a producción descubrimos que ¡oh! la generación de informes ya no va, y es debido a algún cambio que hicimos. No obstante, si hubiéramos seguido este principio, no hubiéramos tenido que modificar código ya existente, si no que nuestra clase llamaría a métodos de una interfaz para generar informes y tendríamos una implementación de dicha interfaz para cada formato. Como una interfaz puede referenciar a cualquiera de sus implementaciones, el cliente elegiría el formato a usar en el momento de llamar a la clase (especificando la implementación a usar), sin necesidad de modificar el código fuente de dicha clase.

 

3. Principio de sustitución de Liskov (Liskov substitution)

Todos los objetos deberían poder reemplazarse por instancias de sus subtipos sin alterar el correcto funcionamiento del programa.

Para cumplir con este principio, debemos tener en cuenta que cada clase que hereda de otra debería poder usarse como su clase padre sin necesidad de conocer las diferencias entre ambas.

La idea detrás de este principio es que las clases hijo nunca deberían cambiar el funcionamiento natural del padre, ni diferir sustancialmente entre sí.

A menudo, casos de la vida real no se pueden traducir directamente a código, lo que lleva a violar este principio.

Ejemplo:

Tenemos una clase llamada Cuadrado (hijo) que hereda de otra llamada Rectángulo (padre). La clase Rectángulo tiene métodos públicos para modificar su altura y anchura (por separado), pero como Cuadrado hereda de ella, significa que Cuadrado también tendrá métodos para modificar su altura y anchura por separado, cosa que no puede ocurrir. Si hubiéramos seguido este principio, hubiéramos hecho la prueba de intentar reemplazar mentalmente todas las instancias de Rectángulo por sus hijos (Cuadrado) y evaluado si el cambio tenía sentido; en seguida hubiéramos visto que un cuadrado no debería poder tener altura y anchura diferentes, por lo que hubiéramos buscado una alternativa.

 

4. Principio de segregación de la interfaz (Interface segregation)

Muchas interfaces específicas son mejores que una interfaz de propósito general.

Para cumplir con este principio, debemos tener en cuenta que las clases no deberían estar forzadas a implementar métodos que no utilizan.

O lo que es lo mismo: no debemos pensar en interfaces que lo engloban todo, sino en interfaces que resuelven problemas muy concretos.

Ejemplo:

Tenemos 2 clases que comparten 5 métodos, por lo que hacemos que ambas clases implementen la misma interfaz (la cual define esos 5 métodos). Más tarde queremos añadir una nueva clase, muy similar a las 2 anteriores, pero la cual solo utiliza 3 de los 5 métodos, por lo que ahora tenemos un problema, o bien hacemos que la nueva clase implemente la misma interfaz y nos veamos obligados a implementar métodos que sería erroneo que utilizara, o bien subdividimos arbitrariamente la interfaz para acomodar a la nueva clase. Ninguna solución es satisfactoria. No obstante, si hubiéramos seguido este principio, no hubiéramos creado interfaces englobadoras de forma sistemática, sino que hubiéramos identificado los funcionalidades atómicas de nuestra aplicación y hubiéramos creado interfaces específicas para implementar el conjunto de métodos necesarios para resolver cada una de dichas funcionalidades. De esta manera, no importa cuantas de esas funcionalidades haga uso una clase, siempre existirá una composición de interfaces que permita implementar cualquier combinación de ellas.

 

5. Principio de inversión de la dependencia (Dependency inversion)

Se debe depender de abstracciones, no de implementaciones.

Para cumplir con este principio, debemos asegurarnos de no usar nunca referencias a clases concretas a menos que sea estrictamente necesario, sino intentar usar siempre abstracciones (interfaces o clases abstractas) y siempre la abstracción más general posible.

La intención de este principio es la de evitar tener que cambiar código simplemente porque un objeto del cual dependíamos deba cambiarse por uno diferente (aunque realice la misma función), reduciendo efectivamente el acoplamiento (o dependencia) de unas clases con otras.

Ejemplo:

Tenemos una clase con una gran cantidad de métodos que reciben por parámetro una implementación concreta de listas (p.e. ArrayList en Java). En un momento dado necesitamos hacer estas mismas operaciones pero con objetos de otra implementación de listas (p.e. LinkedList en Java), como todos nuestros métodos recibían solo una de las implementaciones por parámetro, nos vemos obligados a duplicar los métodos que ya teníamos y cambiarles el tipo de sus parámetros para adaptar la clase a sus nuevas necesidades. No obstante, si hubiéramos seguido este principio, siempre hubiéramos usado las referencias a los tipos más abstractos posibles, por lo que los parámetros de nuestros métodos no serían de tipo concreto (p.e. ArrayList  o LinkedList) si no uno más general (p.e. List, ArrayList y LinkedList ambos heredan de List).

 

Conclusión

Como hemos visto, los principios SOLID son directrices fáciles de recordar y aplicar pero que mejoran sustancialmente la calidad de cualquier software y ayudan a evitar problemas comunes. Seguir estos principios confiere, además, la garantía de que nuestro código será siempre altamente legible, ampliable y mantenible, evitando así el caos que suele aparecer en proyectos grandes.

Fotografia de capçalera de Scott Dougall on Unsplash
código,desarrollo,Open,Programación,SOLID,
Empresa

Així vam celebrar el 9è aniversari de BaseTIS

9 de novembre de 2018 | Marc Codina

Una celebració inclusiva

Dimarts passat vam celebrar que l’any 2009 BaseTIS va començar a caminar i 9 anys després segueix endavant, amb cada cop més basetians i basetianes a la família. Un magnífic esmorzar com a denominador comú va ser el protagonista d’un matí ben diferent. 

Des d’Events s’encarreguen d’organitzar la celebració de manera inclusiva. L’objectiu és que totes les persones que treballen a l’empresa, ja siguin a les oficines de Sant Cugat, de la Pedrera, repartides per les oficines de client, arreu de la península o fins i tot les persones que són a casa de baixa, puguin celebrar de la mateixa manera aquesta cita pròpia del calendari basetià. El regal és un complet esmorzar, dolç, salat i fruita, que permet a tothom poder-ne gaudir.

A primera hora del matí, la gent repartida per les oficines de client rebien el seu propi esmorzar, igual que la gent resident en altres indrets de la península. Més tard, a les 11h, es va celebrar l’esmorzar popular a les oficines de Pedrera i Sant Cugat fent streaming amb algunes de les persones presents a les oficines de client. A continuació algunes de les reaccions…
 

Em sembla una iniciativa molt bona, que dóna una alegria a tota persona involucrada i propera a BaseTIS”. Alexis Pairetti.

Vaig enviar un correu a les súper Adminions pel “currasso” que fan perquè tota la gent que estem a client també tinguem el nostre esmorzar i ens sentim una mica més a prop”. Nil Torrano.

“Que baseTIS s’ho curre perquè esmorzem junts ja és fantàstic!”. Efrén Segarra.

Sempre he estat a client per l’aniversari i això fa que et sentis més a prop de BaseTIS encara que no siguis a les oficines amb tota la gent. “. Anna Pérez.

Afterwork al Hüle

La celebració es va rependre al vespre. Cap a les 19h, es va organitzar una trobada per fer una copa amb els companys i companyes actuals de BaseTIS així com amb les persones que en altres moments han format part del nostre equip i amb qui ens agrada mantenir el contacte. El lloc va ser el Bar Hüle i s’hi van unir prop de 100 persones. 

Aixi doncs, ara s’encara el desè any, el que promet ser un any ple de reptes amb l’objectiu de seguir creixent en tots els àmbits. 

Moltes felicitats BaseTIS!  

 

Fotos 9è aniversari BaseTIS

Imatges de Basetis
Foto de capçalera de Basetis
aniversari,empresa,esdeveniments,eventos,Events,Medalla Pulitzer,oficines,Open,
Afers exteriors

Basetis col·labora amb el 48h Open House Barcelona

24 d'octubre de 2018 | Manel Llopart

El 27 i el 28 d’octubre se celebra a més de 200 edificis singulars o emblemàtics de Barcelona i altres cinc municipis la doble jornada de portes obertes 48h Open House Barcelona. Amb nou anys de trajectòria, aquest festival organitzat per una associació sense ànim de lucre s’ha convertit en un referent de la divulgació arquitectònica i en aquesta edició, Basetis ha tingut l’oportunitat de col·laborar amb l’esdeveniment amb una millora del seu sistema de coordinació de voluntaris i voluntàries.

La gran quantitat d’edificis i equipaments que obre les seves portes durant el festival acull a un volum molt gran de persones. L’any passat en van ser unes 60.000 que van ser ateses per unes 1.200 persones voluntàries. L’assignació de llocs al voluntariat i la seva coordinació és una tasca força complexa, en sumar-se molts actors i espais.

En aquest context, Basetis ha participat com a entitat col·laboradora amb l’objectiu d’ajudar a fer aquest sistema d’assignació de voluntaris més robust i àgil. El resultat d’aquesta col·laboració ha sigut la implementació d’un sistema d’assignació multiusuari i al núvol, per assegurar que tots els voluntaris i voluntàries quedin correctament assignats. El nou sistema ha permès fer-ho de forma fàcil i centralitzada, i reduir possibles errors. A més, s’han automatitzat alguns processos com ara la impressió de fitxes i els fulls de registre, així com el recompte de públic.

Albert Rubio, director de programació del festival, considera que el nou sistema «ha permès relacionar de manera eficient les 230 activitats amb els més de 1.200 voluntaris inscrits i els 200 arquitectes que hi participen, permetent que els equips de coordinació, documentació i comunicació treballessin còmodament amb la mateixa base de dades i directament des del núvol. Podem dir que amb aquest sistema ens hem professionalitzat.»

Si aquest cap de setmana no heu fet plans, no deixeu de visitar algun dels edificis del 48h Open House Barcelona. La proposta val molt la pena i descobrireu llocs que us sorprendran!

Foto de capçalera: muntatge adaptat de Erwan Hesry / Unsplash
48h Open House,Cloud,gestió,gestión,Open,patrocinios,social,
Afers exteriors

Qué esperar del Indie Dev Day

19 d'octubre de 2018 | David Flores

Hace algunas semanas ya os hablé sobre el Indie Dev Day.

Ahora que ya falta apenas una semana para el evento, ya se ha cerrado el programa completo y podeis curiosear qué podéis esperar allí. 
 

¡Apuntaros!

El Indie Dev Day es gratuito, pero para poder acceder se requiere inscripción a través del siguiente enlace:

Sacar la entrada gratis

 

Charlas y mesa redonda (de 11:00 a 20:00)

Desde primera hora tenéis planificadas charlas y debates para todos los gustos, con personas vinculadas estrechamente con el desarrollo de videojuegos. En ellas os explicarán vivencias como qué es eso de ser un indie, causas y consecuencias de la brecha de género, qué es ser un artista 3D hoy en día, el mundo relacionado con los arcades, etc.
 

Actividades

  • El grupo Belmont’s Revenge desde primera hora estará tocando música en directo 🙂

  • A partir de las 17:00 de la tarde habrá varios torneos para los que quieran participar activamente demostrando sus habilidades al mando.

  • Podréis probar juegos de realidad virtual, tanto comerciales como juegos que están en fase de desarrollo.

  • Dispondréis de aproximadamente unos 30 stands donde probar juegos desarrollados por indies y conocer a las personas que hay tras ellos.

  • Acceso a Zona Chillout para descansar, beber y comer algo para reponer fuerzas, ya que el día se presentar muy largo y emocionante.
     

Aquí, el cartel oficial con el programa completo:

 

Algunas muestras

Os dejo unos vídeos cortos de un minuto donde los propios desarrolladores os presentan sus juegos: 

 

 

 

 

 

 

 

 

 

 

Imagen de cabecera e interiores de Indie Dev Day

 

desarrollo,IndieDevDay,Open,Videojocs,Videojuegos,
Tecnologia

Automatització de processos amb Python

10 d'octubre de 2018 | Roger Romero

Introducció

L’equip de Service Management Analytics de BaseTIS (SMA) és l’equip encarregat de crear una sèrie de reports de l’evolució del servei que presten per a diferents proveïdors. Aquesta tasca originalment es feia partint d’una sèrie d’Excels i generant PowerPoints que ensenyessin l’evolució del servei prestat pels proveïdors. Llavors es va decidir tenir un grup de persones deslligades del dia a dia de la gestió per mirar de fer aquests informes el més automàtic possible, i aquí va ser quan va sorgir SMA. A part d’automatitzar informes, també s’automatitzen altres tipus de tasques repetitives, entre les quals destaca esborrar tickets amb dades incoherents.

En aquest post parlaré de com automatitzar totes aquestes tasques, que s’han d’executar cada dia. Les primeres comencen a les 6:15h del matí i, a mida que van acabant, es van executant les següents. Aquestes tasques són, bàsicament, scripts de Python que, majoritàriament, generen una sèrie d’informes a partir d’unes dades extretes prèviament.

A la segona part del post faré un petit tutorial sobre com automatitzar un petit workflow amb Python, així que aquest article també et pot ser útil si ets un desenvolupador interessat en l’automatització de tasques.

 

Automatització

Al principi, el workflow que feia SMA era molt senzill: hi havia un script que extreia les dades, un segon script que les processava, un altre que generava els informes i un últim script que les penjava al seu lloc. A més, cada vegada que un script acabava, s’enviava un missatge per un canal de Slack amb el resultat (la idea era que, en un futur, també es pogués reiniciar el workflow, o fins i tot només certes tasques, mitjançant missatges d’Slack). Aquests scripts s’executaven seqüencialment, utilitzant un cinquè script que els anava llançant.

Com us podeu imaginar, aquesta no és la millor idea. A mida que s’anaven afegint scripts (ja que cada vegada hi havia més fonts de dades i més informes a publicar, a part d’altres tasques), la gestió de les tasques es feia cada vegada més complicada. Per començar, les dependències entre les diferents tasques i els errors eren difícils de gestionar (òbviament, hi ha tasques que s’han de fer abans d’unes altres, com extreure les dades abans de processar-les): imagineu que hi ha dos informes a publicar i cadascun utilitza dades de fonts diferents. Primer, extraiem les primeres, i funciona, però hi ha un error a l’hora d’extreure les segones. Com podem dir-li al programa que igualment pot generar el primer informe, però no el segon?

Tot això es va començar gestionant des del mateix script “mestre” de Python, amb moltes sentències condicionals, però a mesura que augmentava el nombre de tasques estava més clar que es necessitava un canvi. Aleshores va ser quan vam entrar en joc el Tomàs Ortega i jo (Roger Romero): com a becaris de SMA, la nostra primera tasca va ser millorar el sistema de gestió de dependències i errors.

El primer que vam fer va ser documentar-nos sobre dues llibreries de Python: Airflow i Luigi. Aquestes serveixen per al que volíem fer: programar workflows amb Python, gestionant les dependències entre tasques. Les llibreries, a més, aporten certes funcionalitats molt útils com, per exemple, una interfície gràfica des de la qual veure (i, amb Airflow, controlar) l’estat del workflow, o l’execució en paral·lel de tasques que no depenen entre elles.

Una vegada ens vam documentar sobre les llibreries, vam començar a fer petites proves amb workflows de poques tasques, per a entrar en contacte amb el seu funcionament i decidir quina s’adaptava millor al nostre projecte.

Aquesta taula resumeix les conclusions que vam obtenir una vegada vam acabar les proves:

 

 

Com podeu veure, Luigi ens oferia dues funcionalitats importants que Airflow no té: l’ús amb Windows, ja que a SMA treballem amb aquest sistema operatiu, i la facilitat per a reiniciar una tasca des d’Slack, ja que com he comentat abans era una cosa que volíem implementar en un futur. D’aquesta manera, ens vam decantar per Luigi, i vam implementar el nostre workflow amb aquesta llibreria.

A continuació, parlaré de com crear un petit workflow amb Luigi, i integrar-ho amb un bot de Slack, que envii missatges per un canal cada vegada que acabi una tasca.
 

Implementació d’un petit workflow amb Luigi

Aspectes tècnics

Per començar, parlaré una mica sobre com funciona aquesta llibreria. El primer que s’ha de saber és que, quan volem executar una pipeline amb Luigi, s’ha d’executar primer el Luigi Scheduler (escribint luigid a una consola). Aquest és un programa que s’encarrega de gestionar les dependències i repartir les tasques entre els diferents Workers, que bàsicament són “treballadors” que s’encarreguen d’executar les tasques. A més, també és l’encarregat de mostrar la interfície gràfica (de la qual parlaré més endavant).

Una altra cosa molt important a tenir en compte és que, quan volem executar un workflow amb Luigi, no se li diu alguna cosa de l’estil “executa’m aquest workflow”. El que se li ha de dir és una tasca concreta a executar i aleshores el Scheduler mirarà si totes les tasques de les quals depèn aquesta ja han estat executades. En cas que així sigui, executarà la tasca que li hem dit. En cas contrari, executarà les que no hagin estat executades (mirant de què depenen, i així recursivament) i després la que nosaltres li hem dit.

Per últim, també cal conèixer com sap Luigi si una tasca ha estat executada o no: quan es programa cada tasca, s’ha d’explicitar un fitxer on aquesta tasca generarà una sortida quan acabi. Així, Luigi, quan vol saber si una tasca ja s’ha executat, va a buscar aquest fitxer: només considera que ja s’ha executat la tasca si el fitxer existeix i conté alguna cosa.

D’aquesta manera, si un workflow falla a la meitat, es pot tornar a executar i només s’executaran les tasques que no hagin generat sortida.
 

Programar amb Luigi

Amb Luigi, cada tasca s’ha de definir com a una classe de Python que hereda de la classe luigi.Task. Una vegada s’ha creat la classe (amb el nom de la tasca), se li poden definir certes funcions (si no se li sobreescriu alguna d’elles, el Scheduler utilitzarà la funció que ve a luigi.Task per defecte):

  • Run: aquesta funció ha de contenir el codi que s’executarà (és a dir, el codi de la tasca en sí).

  • Output: aquesta funció ha de retornar el fitxer que el Scheduler mirarà per a saber si ja s’ha executat la tasca.

  • Requires: aquesta funció ha de retornar una llista amb les tasques de les que depèn la tasca en qüestió.
     

A part d’aquestes tres, que són les més importants, es poden sobreescriure altres funcions, d’entre les quals destaca on_failure (codi que s’executarà si la tasca falla).
 

Exemple

Imaginem que tenim cinc scripts de Python que volem executar, amb certes dependències entre ells. Per a donar-li una mica de gràcia al workflow, suposem que els dos primers s’encarreguen d’extreure dades d’una font, el tercer de processar-les i els dos últims de generar uns informes. D’aquesta manera, l’arbre de dependències quedaria així:
 

A més, també volem que a l’acabar cada tasca, s’envii un missatge per un canal d’Slack amb el resultat de la tasca.

El primer que hem de veure és que com que amb Luigi no s’executa el workflow, sinó una tasca en concret (i totes de les quals depèn), s’ha de crear una nova tasca, RunAll, que depengui de GenerarInforme1 i GenerarInforme2. Així, quan volguem executar el workflow sencer, senzillament li direm a Luigi que executi RunAll.

Ara ja ens podem posar a programar: el primer que s’ha de fer és importar os (per a llegir variables d’entorn), luigi slackclient (que ens permetrà enviar missatges d’Slack).

import os
import luigi
from slackclient import SlackClient

A continuació, comencem a programar les classes. Per a fer més senzilla la integració amb Slack, el que farem serà crear una classe, StandardTask, que heredi de luigi.Task. Després, la resta de classes heredaran de StandardTask.
 

class StandardTask(luigi.Task):
    """
        Classe de la qual heredaran les tasques
    """

    def output(self):
        """
            Path on es guarda l'output de la tasca
        """
        return luigi.LocalTarget("./luigi/" + self.name + '.txt')

    def run_std(self):
        """
            Cada tasca l'ha de sobreescriure amb el codi que executa
        """
        return

    def escriu_output(self):
        """
            Escriu a l'output
        """
        with open(self.output(), 'w') as out:
            out.write('Tasca feta')

    def envia_missatge_slack(self, resultat=True):
        """
            Envia un missatge de Slack
        """
        slack_client = SlackClient(os.system('SLACK_TOKEN'))

        text = "*{}:* :heavy_check_mark:" if resultat else "*{}:* :x:"
        text = text.format(self.name)

        slack_client.api_call(
            "chat.postMessage",
            channel=os.system('SLACK_CHANNEL'),
            text=text,
            username=os.system('SLACK_USERNAME'),
            icon_emoji=os.system('SLACK_ICON')
        )

    def run(self):
        """
            Funció que executarà el Worker de Luigi
        """
        self.run_std()
        self.escriu_output()
        self.envia_missatge_slack(True)

    def on_failure(self, exception):
        """
            Funció que es crida només si la tasca falla
        """
        self.envia_missatge_slack(False)

        super().on_failure(exception)

Com podem veure, aquesta classe té la funció output, que retorna un fitxer .txt amb el nom de la tasca i que està guardat a una carpeta amb nom “luigi” (no per res en especial, només per a tenir les coses ben ordenades).

A més, té la funció run (la que el Worker executarà). Aquesta funció crida primer a run_std, que és la que sobreescriurem a les tasques. Quan acaba crida a escriu_output, que obre el fitxer .txt amb el nom de la tasca i hi escriu “Tasca feta”. Per últim, crida a envia_missatge_slack(True), que envia un missatge a un canal de Slack amb el resultat que se li passi (en aquest cas, True).

Per últim, tenim la funció on_failure que es crida només si la tasca falla, i crida a envia_missatge_slack(False).

Ara, podem programar les tasques en si:
 

class ExtreureDades1(StandardTask):
    """
        Tasca que extreu dades d'una font
    """

    def run_std(self):
        import extreuredades1
        extreuredades1.main()


class ExtreureDades2(StandardTask):
    """
        Tasca que extreu dades d'una font
    """

    def run_std(self):
        import extreuredades2
        extreuredades2.main()


class ProcessarDades(StandardTask):
    """
        Tasca que processa les dades
    """

    def requires(self):
        return [ExtreureDades1(), ExtreureDades2()]

    def run_std(self):
        import processadades
        processadades.main()


class GenerarInforme1(StandardTask):
    """
        Tasca que genera un informa a partir de les dades
    """

    def requires(self):
        return ProcessarDades()

    def run_std(self):
        import generarinforme1
        generarinforme1.main()


class GenerarInforme2(StandardTask):
    """
        Tasca que genera un informa a partir de les dades
    """

    def requires(self):
        return ProcessarDades()

    def run_std(self):
        import generarinforme2
        generarinforme2.main()


class RunAll(StandardTask):
    def requires(self):
        return [GenerarInforme1(), GenerarInforme2()]

Com podem veure, com que hereden de StandardTask, només hem de definir dues funcions per a cada tasca:

  • requires, que en el cas de ExtreureDades1 i ExtreureDades2 no cal definir ja que no depenen de cap tasca.

  • run_std, que conté el codi que s’executa. En aquest cas, s’importa el script que toca i s’executa el seu main. La tasca RunAll no en necessita ja que no cal que executi res, simplement serveix per a que s’executin GenerarInforme1 GenerarInforme2
     

Ara que ja tenim el workflow programat, només ens cal definir el main de l’script, que li dirà a Luigi que executi RunAll. En aquest cas, el main seria:
 

if __name__ == '__main__':
    luigi.build([RunAll()])

L’únic que fa és executar RunAll.
 

Execució

Ara que ja tenim el workflow programat (podem desar el script com a workflow.py, per exemple), només ens queda executar-lo. El primer que hem de fer és obrir una consola i executar luigid. Per a executar el workflow, obrim una altra consola i executem la comanda.
 

python workflow.py

D’aquesta manera, ja tindrem el workflow en execució.

Per últim, si volem veure l’estat del workflow, només fa falta que anem a la url localhost:8082 amb qualsevol navegador web;  allà podrem veure informació sobre quines tasques ja s’han executat, quin ha estat el seu resultat, un arbre de dependències generat per Luigi, etc.

 

Conclusions

Com podeu veure, l’automatització de tasques repetititves és una eina molt potent per a estalviar-nos temps i assegurar-nos que no hi ha errors. Amb aquest post, he volgut reflexar la nostra experiència a SMA amb l’automatització, i de quina manera hem enrobustit tot el procés per a poder escalabilitzar-lo amb cada vegada més tasques. A més, he volgut ensenyar com s’utilitza Luigi per a qualsevol persona interessada en el tema.

Si teniu qualsevol dubte o en voleu aprendre més, no dubteu en enviar-me un correu a:

roger.romero@basetis.com

Imatge de capçalera de Pixabay
Airflow,desenvolupament,Open,processos,Python,sma,
Empresa

Comencem a treballar en el Pla d’Igualtat

5 d'octubre de 2018 | Maria Castells

Com ja es va informar en aquest post, ja hem començat a treballar en la confecció del Pla d’Igualtat. Just abans de les vacances d’estiu vam tenir la primera reunió de l’equip de treball amb la persona externa que ens ajudarà a fer el seguiment.

 

Avui us volem fer cinc cèntims de qui formem part d’aquest grup de treball, què hem fet fins ara i què anirem necessitant de totes vosaltres.

Equip Pla d’Igualtat:

  • Aina Cuxart
  • Albert Mercadé
  • Clara Carreras
  • Manel Llopart
  • Maria Castells
  • Roger Sanjaume
  • Rosa Carballés

 

Com a persona externa està la Mariona Zamora, de L’Esberla. En les pròximes setmanes ja us explicarem una mica més qui són i què fan, escrit per elles mateixes.

A la primera reunió vam presentar-nos, definir la metodologia de treball i vam establir tot el calendari de què suposarà la feina dels pròxims 9 mesos. La idea és que aproximadament a la primavera de 2019 tenir-ho tot definit i a partir d’aquell moment caminar sols cap a un futur més igual i conscienciat. El propòsit és que un dia no calgui fer un pla d’igualtat.

 

Planificació de la feina

La feina que tenim actualment fins a la pròxima reunió (que serà a finals d’octubre) és preparar tot un document d’anàlisi de la situació actual de BaseTIS, tant en dades qualitatives com quantitatives. No us podeu ni imaginar de la de dades que hem de preparar, per sort estem treballant amb l’ajuda de l’equip de Data Analytics per poder recopilar totes les dades quantitatives, moltes ja consten a l’ERP. Segurament en les pròximes setmanes demanarem a basetianes i basetians omplir tot un seguit de dades a l’ERP, però encara estem treballant-hi.

A més de l’ajuda que necessitarem de les persones de BaseTIS per tenir totes les dades necessàries informar-vos que es faran les següents sessions participatives:

  • 7 grups de discussió (es farà selecció de persones representatives de diferents àrees, clients i perfils concrets).

  • 3 tallers de diagnosi i sensibilització (estaran oberts a tothom, ja enviarem la convocatòria en el moment corresponent).

 

A nivell de calendarització, totes les tasques del pla s’han dividit en quatre blocs, planificats de la següent manera:

  • Fase I: Planificació del procés de diagnosi i elaboració del pla

  • Fase II: Recollida i anàlisi de dades

  • Fase III: Presentació i valoració de la diagnosi

  • Fase IV: Redacció i presentació del pla d’igualtat

Què és un pla d’igualtat?

És un conjunt de mesures que s’estableixen en una empresa per garantir que les treballadores i els treballadors participin igualment en la formació, la promoció i altres pràctiques de l’empresa, i també per equilibrar la presència de dones i homes a la plantilla i, especialment, als llocs de treball on hi ha un nombre escàs de dones. A més, també ha de vetllar per la igualtat per raó d’orientació sexual i identitat de gènere.

Fotografia de capçalera de Unsplash
compromís social,compromiso social,engagement,gènere,igualtat,Open,PushingSocialChange,social,
Afers exteriors

Se acerca el primer IndieDevDay en Barcelona

25 de setembre de 2018 | David Flores

Contexto 

La comunidad de desarrollo de videojuegos indie es conocida por su cercanía y su apoyo mutuo. La conozco bastante de cerca, ya que hace más de 5 años que estoy desarrollando mi propio videojuego y me muevo a diario entre páginas web y redes sociales del mundillo.

A diferencia de otras comunidades donde quizás hay más secretismo y hermetismo, en esta se invierte mucho esfuerzo en crear eventos para hacer networking, charlas para contrastar experiencias, tutoriales para compartir conocimiento, y en general, apoyarse los unos a los otros, de forma totalmente desinteresada.
 

¿Por qué se hace el Indie Dev Day? 

El #IndieDevDay es un evento sin ánimo de lucro, que se celebrará en el centro de Barcelona para reivindicar el esfuerzo y el sacrificio que supone hacer juegos indies.

Es una iniciativa por parte de desarrolladores, blogs, asociaciones y apasionados del sector del videojuego para formalizar y marcar un antes y después de una comunidad que crece y se hace más fuerte cada día.

  • Difusión y conocimiento del sector de la industria de videojuegos de nuestro país

  • Impulsar el talento de nuevos desarrolladores, artistas y diseñadores que comienzan sus proyectos

  • Disfrutar de un día conociendo proyectos en desarrollo, compañeros de profesión y disfrutar jugando a videojuegos

 

¿Y BaseTIS?

Uno de los objetivos del evento es que sea gratuito, tanto para los asistentes como para los que expongan contenido propio. Aún así, hay costes que hay que cubrir. Y para ello se ha acudido a los patrocinios.

Como formo parte de la organización del evento y sé de primera mano que en BaseTIS hay muchísimos gamers que les gustaría poder apoyar a la causa, propuse que la empresa fuera uno de los patrocinadores. Envié un mail interno explicando esta historia y finalmente el área de Engagement me confirmó que BaseTIS participaría como patrocinador aportando 250 euros al evento.
 

Información práctica

Si os pasáis por el evento y queréis probar el videojuego que estoy desarrollando (YokaiMask), me encontraréis en la zona de la terraza donde los stands indies cool
 

¡Ahí os espero!

Imagen de cabecera de Indie Dev Day
engagement,IndieDevDay,Open,patrocinis,Videojocs,Videojuegos,
Afers exteriors

Una mirada al sector TIC català

31 de juliol de 2018 | Gemma Estapé

El baròmetre

Fa uns dies ens va arribar el Baròmetre del sector tecnològic a Catalunya 2018. Es tracta d’un eina elaborada pel Cercle Tecnològic de Catalunya, el CTecno, que s’ha convertit en l’estudi de referència del sector tecnològic i digital al nostre territori, que en la seva desena edició recull les percepcions d’una mostra de més de 1.000 empreses (499 empreses d’oferta i 526 empreses de demanda). Aquesta representa l’edició amb major representativitat del teixit empresarial català.

M’agradaria compartir la lectura d’aquest estudi del que BaseTIS en formem part, ja que queda molt detallada la nostra realitat com a empresa. Us resumiré les dades que per a mi són més rellevants i que crec que són uns bons indicadors per entendre on som.
 

Des del punt de vista de l’oferta

El primer que destaca en aquest baròmetre és que el sector TIC a Catalunya continua immers en un context de creixement i amb unes expectatives molt positives de cara als propers anys. El teixit empresarial TIC el componen 15.077 empreses, de les quals 2.766 es troben a Barcelona.

Facturació

Durant l’any 2017 més de la meitat de les empreses que ofereixen serveis TIC (54,1 %) han augmentat la seva facturació anual. D’aquestes, un 31,9 % ho ha fet amb un creixement superior al 2,5%.

BaseTIS ha estat del 23% de les empreses del sector que ha pujat la facturació un 16% respecte al 2016!  

Pel que fa a les previsions per a aquest any 2018, un 59,5% de les empreses del sector TIC projecten un escenari de facturació superior al del 2017. El 37,5% de les empreses preveu un increment de facturació anual per sobre del 2,5%, una dada superior respecte els resultats de l’any anterior. Per part de BaseTIS, les previsions per aquests 2018 evidentment esperem superar-les! Per tant, en el nostre cas, esperem aquest increment mínim del 2,5 % respecte el 2017, tot i que la intenció és que sigui major.

Contractació

Pel que respecta a contractació per al 2018, el 53,8% de les empreses TIC preveuen augmentar-la. BaseTIS clarament és dins d’aquest percentatge d’augment, que implica creixement del nostre equip, cerca de nou talent, incorporació de persones qualificades, i per tot plegat, bones expectatives empresarials.

Traves a superar

No obstant les bones xifres, també és cert que aquests resultats evidencien la necessitat de véncer certes barreres estructurals que dificulten que la valoració del propi sector de l’oferta tecnològica millori respecte als anys anteriors. El present informe identifica i aprofundeix en aquestes barreres com són, per exemple, la dificultat d’incorporar i retenir talent o la manca de cultura col·laborativa entre empreses del sector TIC. Són dades que possiblement cal analitzar.
 

Des del punt de vista de la demanda

Des d”aquest vessant, es troben resultats lleugerament superiors als obtinguts entre les empreses d’oferta. El grau de digitalització de les empreses de la demanda TIC és cada cop més elevat. Creix l’aposta per digitalitzar-se amb l’objectiu de mantenir la competitivitat en l’actual mercat global. L’àrea TIC esdevé estratègica en les empreses, això vol dir que hi ha molt mercat per actuar i la nostra feina és saber trobar-lo i encaixar-lo amb la nostra oferta.

La dada és que hi ha una traslació del valor afegit TIC cap a les empreses de demanda, les quals acceleren la seva digitalització i, per tant, inverteixen més recursos, incorporen més personal TIC propi i es formen més en àmbits tecnològics. 

Com a conclusió, ens adonem que estem en un sector en creixement i que hem d’estar preparats per ser capaços d’afrontar tots els reptes digitals que la demanda està reclamant i necessitant, amb iniciatives de propostes noves que accelerin el desenvolupaent d’estratègies per a les empresess demandants.
 

Els reptes

  • Promoció del talent. Cal desenvolupar una estratègia de creació, captació i retenció de talent TIC i digital com a eix per millorar la competitivitat de les empreses del país, amb especial èmfasi en el talent femení.

  • Aportació de valor. Cal una oferta tecnològica innovadora i especialitzada, focalitzada en les necessitats, expectatives i reptes dels diferents sectors de demanda.
     

La tendència de creixement de la facturació de les empreses de l’oferta TIC catalanes s’ha consolidat fins l’any 2017 i a més es preveu que continuï creixent durant el 2018. Tenint en compte tots aquests indicadors presents i la seva evolució en la darrera dècada només podem concloure que, malgrat el context de forta crisi econòmica viscut els darrers anys, el sector TIC és un sector cada cop més potent i la seva contribució al desenvolupament econòmic del territori és cada cop més rellevant. 

 

Felicitats BaseTIS i felicitats a tothom per fer-ho posible!
 

El document

Us comparteixo l’enllaç des d’on us podeu descarregar el document en diferents idiomes i la infografia de resum, més avall.
 

 

Imatges: Baròmetre del sector tecnològic a Catalunya 2018
CTecno,empresa,Open,
Afers exteriors

Crónica de BaseTIS en Gamelab 2018

27 de juliol de 2018 | David Gómez

Durante tres días al año Barcelona se convierte en el foco de atención de una gran parte de la industria de los videojuegos gracias al Gamelab.

Se trata de un congreso de videojuegos que se lleva realizando desde hace 8 años en Barcelona y que viene emigrado de Oviedo, ciudad natal del director del evento.  El enfoque está orientado a los profesionales del mundo de los videojuegos, sobretodo a desarrolladores.

La diferencia con otros eventos como la Barcelona Games World es que aquí no existen stands donde probar las últimas novedades y futuros lanzamientos; el cuerpo principal del evento son las conferencias. Aunque sí que hay una gran parte destinada a que estudios españoles puedan mostrar sus proyectos en desarrollo.

El listado de ponentes que han participado a lo largo de sus ediciones es de quitarse el sombrero: Hideo Kojima, Jordan Mechner, Richard Garriott, Shinji Mikami, Amy Hennig, Peter Molyneux, Tim Schafer, Cliff Bleszinski, John Romero… es decir, los creadores de juegos como Doom, Prince of Persia, Uncharted, Ultima, Resident Evil….

 

Richard Garriott (foto: Vandal)
 

La edición del 2018

Este año se ha celebrado los días 27, 28 y 29 de Junio y BaseTIS ha tenido representación. David Flores y un servidor hemos ido por una parte a ver cómo está el mercado en la actualidad, e intentar hacer contactos para poder meter una patilla en este mundillo, y por otro lado, a ver unas conferencias, donde este año y ya tocaba, las mujeres han tenido una gran representación entre los ponentes.

Dentro de las conferencias la balanza ha estado nivelada entre las aportaciones de grandes monstruos de la industria y desarrolladores indies más modestos.
 

Los monstruos

Cabe destacar la participación de:

Angie Smets. La productora ejecutiva del Horizon Zero Dawn se centró en comentar todos los entresijos de dar a luz una nueva IP tan ambiciosa y como mantener la ilusión en un proyecto cuyo desarrollo ha llevado seis años.

David Jones. El creador de sagas como los Lemmings y Grand Theft Auto ha dado grandes consejos sobre cómo generar ideas para realizar videojuegos, y cómo en un momento dado, delegar las sagas de éxito a otros equipos y empezar de cero otros proyectos, con el riesgo que ello conlleva.

Debbide Bestwikck. La cofundadora del mítico estudio inglés Team 17 ha sido la protagonista de una de las charlas más emotivas de este año. Una gran parte se ha centrado en los puntos negativos de alcanzar un éxito masivo y cómo esto puede afectar a la relación tanto a nivel personal como profesional con tus compañeros de trabajo.

 

David Jones (izquierda; foto: BaseTIS)
 

La parte indie

De este bloque podemos destacar:

Maja Moldenhauer.  La productora y artista de Cuphead, uno de los hits del los últimos años en el mundo indie, ha contado la historia sobre cómo arriesgar una estabilidad profesional y familiar para la realización de un sueño.

Jonathan Blow. Diseñador y programador de uno de los juegos indies mejores valorados de toda la historia: Braid. Esta vez, Jonathan, vino a dar una charla sobre su proyecto actual – un nuevo lenguaje de programación propio (wtf?). Su nombre es Jai y lleva ya 4 años en desarrollo, junto a otras 3 personas. Nos hizo una presentación en vivo de como compilaba 1.000.000 de líneas en 1.5 segundos. Atentos a esto.

John Baez. El fundador del estudio creador del Castle Crashers ha llegado como una bomba de neutrones, aconsejando a los jóvenes desarrolladores sobre cómo tratar con los publishers, sabiendo qué deberían y qué no deberían hacer en un videojuego.

 

Maja Moldenhauer (foto: Akihabarablues)
 

Además de estos grandes bloques han habido otras conferencias supertinteresantes como la de Aleissa Laidacker sobre la realidad mixta y Christian Rouffaer sobre cómo los estudios que están desarrollando videojuego bélicos deberían representar la ayuda humanitaria. Aquí podéis ver todos los ponentes que han asistido este año.

 

Aleissa Laidacker (foto: BaseTIS)

 

Desarrollos autóctonos

Respecto a los desarrollos españoles que se han mostrado debo comentar que este año he visto un salto de gigante respecto a los mostrado en otras ediciones, entre los títulos más destacados se encuentran:

  • Blasphemous de The Game Kitchen, título que nos recuerda a los Castlevania clásicos y que ha sido un megaéxito en Kickstarter.

  • 3 minutes to Midnight de Scarecrow Studio, aventura gráfica de corte clásico con un apartado técnico espectacular y que en septiembre lanza campaña en Kickstarter.

  • Melbits World de Melbot, juego ganador del Playstation Talents del año 2017 y que saldrá ya dentro de la marca Playstation Link, una serie de juegos de carácter familiar que tienen la particularidad de jugarse con el móvil.

 

Blasphemous (foto: VersusBots)
 

Por último destacar que hemos hablado con mucha mucha gente, y todo el mundo tiene la misma sensación: la industria del videojuego en España ha dado un gran salto estos últimos años y poco a poco están saliendo títulos que están llamando la atención a escala internacional. Sin ir más lejos, el año pasado el juego Rime, de los madrileños Tekila Works ha recibido la primera portada de un videojuego español en la prestigiosa revista Edge, de origen inglés.

 

Rime (foto: Alpha Coders)
 

Esto nos lleva a tener que ponernos las pilas dentro de este campo, si alguien tiene un contacto del sector que crea pueda ser interesante se puede poner en contacto con David Flores o conmigo. Por último comentar que en la actualidad dentro de BaseTIS se está desarrollando un videojuego llamado Mochi Attack del que en breve subiremos una entrada en el Blog explicado su desarrollo.
 

Foto de cabecera: Gamelab / Dilustrations – Deviant Art / JCardona32 – Deviant Art
Gamelab,Open,Videojocs,Videojuegos,
Empresa

Estudiants de l’UAB exploren la xarxa de BaseTIS

19 de juliol de 2018 | Kilian Ubeda

El passat abril un grup d’estudiants de la UAB es va posar en contacte amb BaseTIS per realitzar un treball de camp sobre la nostra infraestructura de xarxes. En aquest post us expliquem com ha estat l’experiència.

 

En primer lloc, des de l’equip de Sistemes vam avaluar la petició i es va determinar que, sempre que no es facilités informació sensible, ens semblava una bona proposta de col·laboració pel profit que en podríem treure ambdues parts.
 

Inici del treball cooperatiu

Els primers contactes van ser via mail. Els vam traslladar una petita explicació de com és la nostra instal·lació, ja que, tot i ser una empresa IT, al fer gran part de la nostra feina al Cloud, no disposem d’una gran infraestructura de servidors, routers o firewalls. Malgrat això, ens van respondre que la infraestructura els hi servia per al seu treball, i a partir d’aquí vam concretar una visita en persona a la nostra oficina de La Pedrera.

El dimecres 2 de maig es van presentar a la oficina els estudiants Oscar Sanchez, Elliot Ribas, Ivan Sicart i Miquel Barberà. Per part de BaseTIS el va rebre una delegació de l’equip de Sistemes composta pel Jorge Navarro, el Kilian Úbeda i el Carlos Bermudo. Aquesta primera presa de contacte es va traduir en una entrevista on els estudiants ens van fer preguntes tècniques respecte a la infraestructura i la nostra feina. Posteriorment els hi vam fer un tour per la oficina per mostrar-los la infraestructura de xarxa que van poder fotografiar per documentar el seu treball.

A part d’això, també els hi vam mostrar algunes de les aplicacions que fem servir per gestionar i monitoritzar la infraestructura. D’aquestes, els hi vam facilitar un parell de captures d’alguns panells de monitorització de com fem la gestió interna, donat que justament coneixien l’eina que fem servir (Nagios).

Una experiència positiva

El balanç de l’experiència és positiu per ambdues parts. Tots vam aprendre coses noves. A nosaltres, Sistemes BaseTIS, ens ha servit per veure en quin punt ens trobem en la infraestructura de xarxa i estudiar la possibilitat d’implementar algunes de les propostes de millora que ens van traslladar a partir de les conclusions del seu estudi.
I ells, van poder aprofundir més en un cas pràctic de gestió i administració d’una xarxa en l’ambit empresarial, i veure totes les possibilitats que ens poden oferir les diferents eines de monitorització per detectar errors i prevenir possibles incidències futures.

A continuació podeu trobar enllaçats tant el treball final com el pòster resum que van realitzar amb tota la informació que els hi vam proporcionar i ens han fet arribar.

Treball final

Pòster resum

 

Foto de capçalera: Irobertson / Pixabay
Formación,Open,systems,uab,
Persones

Jornada de primers auxilis a BaseTIS

9 de juliol de 2018 | Joan Bernat Ferrer

El dimarts 26 de juny va tenir lloc una Jornada de Primers Auxilis a BaseTIS. Es tractava d’una iniciativa conjunta de les àrees d’Environment i Events per a què basetianes i basetians poguéssim rebre una formació bàsica sobre com actuar en cas d’emergència mèdica. Després d’investigar diverses ofertes de formació, ens vam acabar decantant per la que oferia Espais Cardioprotegits de Catalunya (ECC), la qual feia èmfasi en una situació d’aturada cardiorespiratòria.

Així, durant tot el dia (a Sant Cugat pel matí, a La Pedrera per la tarda), un total d’unes 40 persones vam anar passant en grups petits a les sales que s’havien reservat per fer el curs. Allà, dues formadores enviades pels ECC van explicar el protocol que s’ha de seguir en una situació d’aturada cardiorespiratòria i ens van instruir en l’ús del desfibril·lador. L’objectiu de tot això és poder donar assistència durant el lapse entre que es produeix l’emergencia i arriben els professionals sanitaris a atendre a aquesta persona.

Posteriorment vam tenir l’oportunitat de posar en pràctica tot allò après fent un simulacre amb l’Antonio, el ninot de pràctiques.

Tant de bo que mai visquem una situació on haguem d’utilitzar aquests coneixements. Si es dóna el cas però, a BaseTIS estarem preparats.

 

 

 

Fotos: David Díaz i Octavi Planells / BaseTIS
esdeveniments,eventos,Events,Formación,Open,