Como algunxs ya saben, Cambá estuvo presente en la Campus party 2018 husmeando en los rincones más interesantes de éste evento y volvemos para presentarles los detalles técnicos que nos parecieron dignos de compartir.
El ecosistema Crypto, mirando más allá de las monedas
El segundo día comenzó con una charla de Blockchain, en el escenario magistral. Miguel Santos nos hace entender la era digital en dos etapas:
Internet del conocimiento, tiene su comienzo desde que la información es mucho más accesible para al menos la mitad de los habitantes del mundo.
Internet del valor: se transforma la estructura de la moneda tal como la conocemos hoy en día. Aún nos encontramos en el proceso de ésta transformación de la moneda, desde la crisis financiera de 2008, cuando el dólar comenzó a perder valor. Fue en ése entonces cuando surgió el primer paper de Bitcoin.
La moneda surge como un recurso que nos permite valuar una deuda ante un servicio prestado o material entregado. Ya bien sabemos que durante varios miles de años se utilizaron distintos recursos para representar ésta deuda: sal, azúcar, animales. Los recursos mas primitivos resultaron incapaces de representar el mismo valor para transacciones entre habitantes de distintas partes del mundo, no existía el vuelto, las deudas debían memorizarse; comenzaron a utilizarse recursos que fueran escasos. Así aparecieron materiales como el oro, perlas, diamantes. No es una sorpresa saber que no todxs lxs personas tenían acceso a éstos recursos. Las técnicas primitivas fueron perdiendo valor, lxs afortunadxs se ocupaban de aumentar su reserva de los nuevos valores; lxs ricos cada vez tenían más oportunidades, lxs demás se empobrecían. Luego, como solución a éste problema el Estado comenzó muy de a poco a tomar posesión, administración y creación de la moneda, tal como hoy la conocemos en su estado físico.
La nueva era digital plantea un nuevo recurso, cuya base plantea generar un tipo de moneda virtual, descentralizada, administrada de manera independiente al Estado. Bitcoin no es el único caso, existen muchas criptomonedas utilizadas como medio de pago para distintos servicios, sin embargo todas son administradas de manera similar.
Es importante distinguir la diferencia entre criptomoneda y el sistema de Blockchain. Una criptomoneda no es más que un valor virtual que se utilizará para un fin específico. Cuando hablamos de Blockchain nos referimos a un sistema descentralizado que es capaz de administrar transacciones digitales, de una criptomoneda en particular o tokens, entre dos o más partes. Decimos descentralizado porque no existe un único sistema que la administre. Las transacciones están ligadas entre sí, como una gran cadena (o historial) de transacciones a lo largo de la historia. La comunicación se realiza entre nodos (computadoras), ajenos a las partes que transaccionan, que actúan como validadores de una transacción mediante «juegos» criptográficos. Éste nodo que valida una transacción utiliza sus recursos computacionales a cambio de comisiones, que son pagas con la misma criptomoneda. Cuando un nodo valida una nueva transacción, ésta es inmediatamente emitida hacia los demás nodos de la red y auditada por ellos.
Un sistema de blockchain cuenta con contratos inteligentes, todo nodo perteneciente al sistema cuenta con ellos. Durante una audición, los nodos ajenos a la transacción, actúa como auditores. Mediante los contratos tienen la capacidad de saber si la transacción cumple con los requisitos propios como tal o no. Es decir, deben auditar las nuevas transacciones para corroborar si ésta cumple con las reglas especificadas del sistema. En caso de que la transacción sea válida, ésta se une a la cadena de transacciones, forma parte del historial. En éste momento todos los nodos se sincronizan, en otras palabras, cuentan con una transacción mas en la cadena global (historial) de transacciones. A los nodos que validan se los llama mineros, cumplen un rol parecido a un escribano en el mundo real. Un usuario en un sistema de blockchain realiza transacciones y paga comisiones para que ellas sean validadas y sus recursos puedan ser comprados o vendidos.
Armá tu primer sintetizador
Llegado el mediodía me adentré en un taller de electrónica, donde construímos un simple sintetizador. A cargo de Martin Jerez, Federico Rodas, Francisco Gerardi y Egar Almeida, nos pusimos manos a la obra sobre circuitos y componentes. Nos recibieron con lupas, soportes, soldadores y todos los componentes listos para comenzar a armar el mini sintetizador.
El objetivo era armar un pequeño aparato que sea capaz de generar corriente por un circuito, hasta llegar a un speaker. El circuito tendría dos cables como salida y entrada de corriente, de manera tal de poder usar los cables como modificadores de corriente y así el speaker pudiera reproducir sonidos en distintas frecuencias.
La mayoría de los participantes no tenía experiencia con soldadores, pero no fue un impedimento para que todxs pudiéramos entender el diagrama electrónico, soldar los componentes y lograr construir el mini sintetizador en las dos horas y media que duró el taller.
Seguridad en la Nube
A mitad de la tarde me topé con una charla acerca de Seguridad Informática, a cargo de Rafael Aguilar. Comenzó con una breve introducción enfocada en la concientización sobre la vulnerabilidad de nuestros dispositivos, partiendo de los pocos recaudos que hoy en día nos tomamos cuando los utilizamos. Entendimos la diferencia entre datos, información y conocimiento. Podemos entender como dato todo aquello que ingresamos contínuamente en las aplicaciones que usamos, generalmente sin conocer los riesgos ni tampoco el propoósito de tal exposición. Información es la recopilación de datos sobre algo o alguien en particular. FInalmente, conocimiento es lo que obtenermos a partir de la información que poseemos. La información tiene un interés cuantitativo, se puede almacenar, administrar, filtrar. Por el contrario, el conocimiento es algo cualitativo. No tiene el mismo valor el conocimiento generado por información de hace un año atrás, que la información que podemos obtener hoy en día.
Finalizando la charla ya nos habíamos enterado acerca de botnets (cuáles son los «good bots» y «bad boots», según los clasificó), ransomware, phishing y estrategías de seguridad como white box y black box. Antes de despedirse nos acercó todos éstos productos de software libre para comenzar a tomar recaudos de seguridad:
Keywhiz, gestión de contraseñas.
Niktoz, revisión de vulnerabilidades en configuraciones por defecto.
OpenVas, actualizaciones de seguridad.
Simian Army, «good bots for god sake».
Fail2Ban, prevención de intrusos en un sistema.
Tick Stack, monitoreo de métricas.
Elk Stack, elastic tools para buscar, analizar y visualizar data.
Cómo una estructura de trabajo más horizontal puede generar mejores productos y programadorxs
Éste fue el título de una de las charlas en el escenario de Ciencia y Tecnología.
Karen Serfaty y Constanza Infante trabajan en Wingu, una ONG que se dedica a desarrollar tecnología sin fines de lucro, y se acercaron a la Campus Party para contarnos cómo es trabajar en una organización que apuesta a las estructuras horizontales a la hora de desarrollar un proyecto de software. Wingu es una organización sin fines de lucro con base en Argentina y México, que trabaja desde el año 2009. Según nos cuentan tienen como valores la colaboración, escalabilidad, transaparencia y entusiasmo entre sus pares para fortalecer su autonomía laboral día a día.
Si trabajo está principalmente distruibuído en 3 dimensiones:
- Brindan talleres y material gratuito para potenciar la autogestión de las ONG.
- Brindan servicios personalizados para organizaciones que lo necesiten, CRMs por ejemplo.
- Trabajan en alianza con otras organizaciones o empresas generando proyectos innovadores, generalmente de tecnología cívica.
Su modelo de sustentabilidad se basa en un 56% de fondos propios y el resto proporcionado por financiación externa. Reciben donaciones de empresas como Google, Facebook, Telecom, Mercadolibre, Wix, entre otros.
El escenario interesante es el que plantean a la hora de gestionar proyectos de desarrollo. Cabe destacar que ésta organización con base tecnológica está mayormente compuesta por mujeres que cumplen los roles de programadoras, managers de proyecto y directoras. Para ellxs es muy importante que todxs tengan la posibilidad de desarrolalr su capacidad como líderes de proyecto, es por ello que, cuando surge una nueva posibilidad de trabajo, unx tiene la oportunidad de proponerse como líder o guía y llevar a cabo el trabajo en grupo necesario para que salga adelante. «Todxs hacemos todo», nos cuenta Karen, desarrolladora en Wingu. Nadie está especializado únicamente en tareas de Frontend, Backend, Integraciones o microservicios, de ésta manera se autocapacitan como desarrolladores full stack. El entusiasmo individual es visible día a día, tanto en el desarrollo de software como en la innovación de procesos para que, por ejemplo, las planning de los Lunes sean menos exhaustivas pero no menos eficientes.
Uno de los proyectos que nos mostraron es «Caminos de Villa». Junto con la ayuda de vecinos, los desarrolladores salieron a las calles para diseñar ésta plataforma que busca visibilizar los problemas de las villas de la ciudad de Buenos Aires para promover el control y la transparencia. Éste software permite a los vecinos realizar un seguimiento de obras públicas, recibir novedades de actualizaciones y realizar reclamos sobre faltas de servicio en la ciudad. Si bien el software está escrito en Java, gran parte del código fuente puede ser encontrado en Github.