November 16th & 17th, 2018
Medellín, Colombia
Bringing the Colombian JavaScript community under one roof.
Get your ticketsBringing the Colombian JavaScript community under one roof.
Get your ticketsRuta N - Calle 67 # 52-20 - Medellín, Colombia
Diez Hotel - Calle 10A # 34-11 - Medellín, Colombia
There will be free transportation provided leaving Diez Hotel to and from Ruta N, conference venue, in the morning and evening.
Reserve with a discount hereGet to our conference and get two full days of talks by international and local speakers. Upon registration, you will receive swags from JSConf Colombia, our sponsors, and partners. Each day you can expect two breaks one in the middle of the morning and another in the middle of the afternoon where we will provide snacks.
We don’t have any discount for groups, but we offer community discounts. In order to qualify, find a group of 6 people and create an issue in https://github.com/coljs/jsconfco. These discounts are for community members only and don't apply to companies.
Closed on August 12th, 2018. If you are part of a minority underrepresented group or a socially disadvantaged population, please apply to our Opportunity program. Currently, we are making all the arrangements to get you here! If you have any questions please drop us a line in this email: [email protected]
Each batch we will provide tickets with 25% of the value for donations. If you are interested in helping our Opportunity program (scholarships) by donating without buying a ticket please reach out to us here: [email protected]
I studied business engineering; after finishing college I started working as a financial analyst for 3 years. In my first year working as a financial analyst I started having some interest in coding, so was there when I decided to spend all my free nights and weekends to study by myself until I decided to quit my, so I can code more and make it my first job. This is my first year as a full-time developer, in this year I had contributed to Node.js, Next.js, and Express.js. Also, I had created multiple npm packages including easygraphql-mock, validate data schema on express.js, mongodb plugin that encrypts the data just before saving it to the database and more.
Alexandra Cárdenas is a Colombian composer, programmer and improviser who has followed a path from Western classical composition to improvisation and live electronics. Using open source software, her work is focused on the exploration of the musicality of code and the algorithmic behavior of music. An important part of this exploration consists of the practice of live coding, including performances in many countries as a pioneer of the Algorave scene. She currently lives in Berlin, Germany, where she realized a Masters in Sound Studies at the University of the Arts. Olivia Jack is a programmer and artist who works frequently with open-source software, cartography, live coding, and experimental interfaces. Recent projects include media development for the experimental dance performance Nodos: Cuerpos en Expansión, part of the Festival de Danza en La Ciudad in Bogotá; as well as the Laboratory of Possibilities, a participatory media installation at the Oakland Museum of California. She is the developer of Hydra, a browser-based platform for live coding visuals that is inspired by analog modular synthesis. Originally from San Francisco, she currently lives and works in Bogotá, Colombia.
Sir Brian is a knight in the Azure Order and swears fealty to Lord Clippy of House Microsoft. Before obtaining knighthood, he was a vassal in the Great Houses of Netflix, LinkedIn and Reddit. When not working the land or dreaming of life at court, Brian finds time to teach on Frontend Masters, run his mouth on Front End Happy Hour, travel all over the world, and play with his adorable dog. Brian leads his simple life in the exotic kingdom of Seattle, WA.
Desarrollador Fullstack con 9 años de experiencia en el mundo web/mobile usando diferentes lenguajes como son PHP,javascript, java, python y frameworks como React.js, Angular.js, Express.js, Ruby and Rails entre otros. Actualmente Software Engineer en Univision Colombia involucrado en todo el desarrollo de la Webapp sobre React/Node.js desarrollador principal para la convergencia entre web/mobile.
Daniel started his career in front of his fathers Sinclair ZX Spectrum. Luckily a brand new thing called \"Word Wide Web\" crossed his path some years later and he built an ugly personal website on GeoCities. Nevertheless he became a go-to-person for websites of all kinds, found out that he needs Perl to send a form by email and MySQL to store things. The rest is history. Perl became PHP, PHP became Node.js and trial and error became craftsmanship. Today, Daniel shares his MacBook with his 4 kids and his knowledge working as mentor, lecturer and lead technology strategist at Dynatrace.
Feross Aboukhadijeh is a programmer, designer, teacher, and mad scientist. He is currently building WebTorrent, a streaming BitTorrent client for the browser, powered by WebRTC. Before that, he built PeerCDN, a peer-to-peer content delivery network that makes sites faster and cheaper. He is a graduate of Stanford University and he has worked at Quora, Facebook, and Intel. In the past, Feross did research in the Stanford human-computer interaction and computer security labs. He enjoys working on \"mad science\" — projects that make people say, \"Whoa! I didn't know that was possible!\".
Franziska is a member of the Node.js Technical Steering Committee and an expert on ES6 performance. She has a Ph.D. in mathematics and is a software engineer at Google on the Cloud Platform team in New York. Previously, she was on the Chrome V8 team. When she's not working hard on making Node.js better on Google Cloud, she's probably out riding horses.
Gabrielle es desarrolladora de software en The Financial Times donde contribuye a la manutención de la biblioteca de componentes interna, Origami. Previamente, ella dirigió operaciones para varias empresas de café especial. Es diseñadora gráfica por formación y tiene varias opiniones sobre la tipografía y sobre los quesos.
I am Support Engineer at NodeSource. At NodeSource I spend time working on products, giving talks and fixing other companies issues related to Node.js. I created my own lisp based language, a modern CSS framework and a ton of C libs because I enjoy learning and having fun during the process. Previously worked at Mozilla porting Firefox OS to ARM devices, building IoT tools for web developers and speaking about Rust, Node.js and embedded OS development.
I'm a software engineer on Core Experience Team at Pinterest. Passionate about React. I was a Tech Lead while we were migrating Pinterest to React. After migrating the desktop website we decided to bring back to life our mobile website. Before I was a software engineer on Newsfeed at Facebook.
Jennifer is a self-taught, front-end developer. After starting her career in web and print design, she moved into web development where she became a passionate advocate of test driven development. She is an avid supporter of affordable tech education and has volunteered for the Atlanta JavaScript Meetup, Girl Develop It, and ngGirls. She currently wears many hats at Cypress.io where she codes and tests in JavaScript, writes documentation, manages their open source projects, and designs user interfaces. In her free time, she goes to film festivals, volunteers for local non-profits, and explores Atlanta, her current home.
Desarrollador de software con Lic. en Computación, con más de 8 años de experiencia profesional, dedicando los últimos 5 enteramente al desarrollo de videojuegos. Enfocado en programación de Inteligencia Artificial y Gameplay, actualmente trabajando con Unity y HTML5. Autor publicado, charlista con experiencia docente.
I am a proactive, dedicated and self-taught Systems and Computing Engineering student in my last semester. I am 21 years old and I am passionate about web development, visual analytics, and challenges. I am from a little town called Tocaima where people dreams do not evaporate despite the high temperatures. I have faced different challenges through my life and I am ready to face more. With my youth and my desire to learn as much as my brain can, I want to contribute to the world everything I know.
Well, I think the most important thing I can say about myself is that I love learning and I really love creating things. And, as I can't stay away from writing the best code I'm able to, you can find me almost every day on [GitHub](https://github.com/lucasfcosta), contributing to open-source projects and also helping to translate and produce content for other developers. I have already spoken at countless meetups and major events in Brazil such as Front In Poa, JSDay Recife, and The Developer's Conference Florianópolis and at international events such as Voxxed Days Bristol, O'Reilly's 2017 FluentConf and NebraskaJS 2017. Now that I've moved to the United Kingdom I expect to do even more talks all around the world :) I've been one of [Chai.js](https://github.com/chaijs/chai) core maintainers since 2015. Chai is one of the most downloaded NodeJS modules and the most famous assertion-focused library around, with outstanding [4.2 million monthly downloads and lots of dependents](http://npm-stat.com/charts.html?package=chai). Being part of such a huge project has not only helped me to learn how to manage an Open Source community but also made me understand difficulties other people had when trying to test their software and then think of ways I could help them to solve their problem. I am also a core maintainer of [Sinon.js](https://www.npmjs.com/package/sinon), which is another very popular project among JavaScript developers and uses lots of meta-programming magic to accomplish its tasks. Now, as a Software Engineer, I still find my experience very useful to write code that has fewer bugs in less time, and I hope I can teach you a trick or two which may save the whole world (or just your job) one day!
Luke has been building stuff for the web since the early 2000s as a hobbyist before starting his development career in 2012. Currently a software engineer at Sky Betting & Gaming, he’s also the host and organiser of LeedsJS. In his spare time he enjoys JavaScript, pixel art, automation and cooking.
Director of Professional Services at NodeSource.
Nathan has a passion for anything open; 24hr restaurants, expansive vistas
and of course open source software. His worked in a wide variety of companies has allowed him to help solve a copious set
of problems. During his time at LearnBoost, he launched a Node.js platform on 0.1.133 and helped to co-author Mongoose. He
has worked with local community colleges to develop curriculum that gives unemployed individuals technological skills to
re-enter the workforce.
Teacher, translator, manager previously, nowadays software engineer and IT community activist. Passionate about free education and diversity I'm doing all I can to support and promote women in IT. After finishing GeneralAssembly 4 years ago on a web-development immersive 3-month course I step into IT world and started my journey as a web developer in Thoughtworks. Nowadays I'm working in Quantium as a software engineer and Founder of Muses Code JS (former NodeGirls) countrywide non-profit organisation.
Trent Willis is a Senior UI Engineer at Netflix, where he builds tools and applications to give other engineers insight into their products. He previously worked at LinkedIn and Grooveshark where he helped build products that reached millions of daily users. Additionally, he is the project lead for the QUnit JavaScript testing framework, a frequent contributor to various Open Source projects, and a self-professed music junkie.
Registration 📋
Welcome 🎉
Live coding performance by Alexandra Cárdenas and Olivia Jack, using JavaScript to generate electronic
music and visuals in real time. The code is written and modified throughout the performance, and projected so that the audience
can see the algorithms as they unfold. The practice of sharing code with the viewers treats code not only as a tool for
creating applications, but as a live, creative material that can be heard and experienced.
More about live
coding and algorave at:
http://cartelurbano.com/musica/alexandra-cardenas-y-el-live-coding-musica-electronica-escrita-en-lenguaje-de-programacion
https://www.wired.co.uk/article/algorave https://www.wired.co.uk/article/algorave
Your app is bigger and slower than it needs to be.
Without rewriting app code we can squeeze more performance out of your
code by tweaking Webpack and Babel. These tools are immensely powerful but it’s a delicate dance to get them to play nice.
This talk is full of tips and tricks to get you there.
After three years of tooling around with Webpack and Babel at Netflix,
LinkedIn, and Reddit I’ve gotten some battle-won knowledge that I’d like to share with you all. Some non-intuitive tricks
that lead to smaller bundles, faster parse times, browser-engine opts and de-opts, and faster-perceived load times. While
these examples will use Preact to make examples this applies to any application that uses these two phenomenal tools. You’ll
be surprised at what you can do just turning a few knobs.
First, I will make a brief introduction to visualization and the most important things about it. Later, I will explain which is one of the most important problems in visualizing multi-dimensional datasets. Finally, I will show Shipyard, a visualization tool that I developed with my thesis advisor to ease the navigation, exploration and summarization of large multidimensional datasets. This web application allows the user to load a dataset, preprocess, navigate, explore, summarize, filter, visualize and export the filtered data or the visualization generated.
Break ☕️
JavaScript and the web platform have evolved a lot in the past couple of years. In particular,
Service Workers have given modern web applications tremendous power. They allow our apps to deliver content offline, send
push notifications, and...create their own image formats? It’s a bit outlandish, but yes!
In this talk, we’ll go
on a journey that starts with a dream and a Service Worker and ends with us having created our very own image format that
works in the browser. Along the way, we’ll learn about some fantastic new web technologies, such as Streams and Web Assembly,
that are shipping in browsers today.
Ésta plática es motivada por las palabras que elegimos. El objetivo es observar una comparación
entre el lenguaje usado para escribir mensajes de error y el que usamos para comunicarnos en persona, destacando así el
espacio que existe para mejorar estos conceptos dentro de la comunidad tecnológica.
El poder de las palabras que usamos puede fácilmente pasar desapercibido en nuestro día a día. Sin embargo, no
sirve suponer que existe cierto conocimiento, usar acrónimos o que seamos vagos, ya que la persona que usa nuestro código
existe dentro de un espectro infinito de experiencias y comprensión. Similarmente, hay falacia en dar por hecho que la persona
con quien nos comunicamos entiende todo nuestro modo de pensar, y que sea familiar con las referencias que damos al hablar
— es muy fácil olvidarnos que otros no saben lo que nosotros sabemos.
Por medio de esta plática, vamos a examinar
algunas maneras por las cuales nos comunicamos, entender cómo esto puede afectar nuestro público y cómo nos podemos hacer
más conscientes de nuestros estilos comunicativos.
In Linear Algebra, not only the data that comes from the discretization of continuous systems
can be represented in matrix (or tensor) structures, but also the operations performed on this data. Such operations can
be linearly composed to produce more complex results and find better representations of this datasets.
For example,
in Computer Graphics, imagery or imagery time series are represented with sets of values arranged in n-dimensional matrices,
being suitable to be manipulated with functions of matrices.
This presentation will be focused in matrix functions and
their numerical implementation for datasets represented in matrix form, as well as the computation cost of these operations,
covering (but not limited to) the following topics:
- Coordinate Systems
- Transformations: Rotation, Projection,
Stretching, Squeezing, Sheering, Reflection
- Polynomial Interpolation
Lunch 🍔
Performance metrics? Response time higher? Memory leak? We would walk through different memory leak situations to identify and analyze patterns that produce an increase of memory, CPU usage, and the load average over time, without any apparent reason. We'll start talking about taking the time to set up a proper test environment to repeat the exact same conditions as in production. Then we'll discuss how to access Node.js memory using V8 Inspector & Chrome Dev Tools, create a dump of the heap memory for the inspected application, with a lot of details about the memory usage, watching memory allocation in real time and finally a compilation of best practices about how we could end fixing the memory leak. In the end, we'll be able to use the right tools to monitor, understand, and debug the memory consumption of a Node.js application on time.
We all have been in situation when we were in one platform and had to move to another. While it’s
relatively easy to build a new web app in React, migrating a service that’s constantly changing and used by millions of
people is a much more complicated challenge. It’s like changing the engines of an airplane while mid-flight.
Some of
the problems are: rendering Javascript on the server, measuring the impact, debugging issues, dealing with old resource
library and rendering React components inside of the existing JS Framework.
The talk is about techniques we tried and
challenges we faced while migrating to React at Pinterest. Also, we’ll share our performance and engagement gains after
migrating Pinterest’s profiles to React.
El desarrollo de experiencias interactivas con buen performance es importante! JavaScript es un
lenguaje fácil en algunas casos y un mal uso del mismo, puede llevarnos a construir experiencias interactivas lentas y no
muy amigables con el usuario.
En esta charla exploraremos la delegación de responsabilidades en las que JavaScript
-o Node.js- puede ser fuerte y otras en las que C++ puede tener un mayor performance en la Generación de Niveles Procedimental
para videojuegos.
Ven y conoce esta historia de amor 😊
Teaching programming to children is hard. Computer Science topics can be difficult to grasp using
standard programming languages and tools. Using MIT’s Scratch programming platform, creating games and working software
is simple and fun thanks to their drag and drop interface.
Creating loops, controls structures, variables, and
other common programming tasks allow users of all ages to build fully functioning games and applications. In this session,
we will be creating an entire game from scratch in Scratch.
To prove that this is as simple as it sounds, this
session will be led by a 13-year-old. What better way to learn how to teach kids how to code than by learning from a kid?
If you have a kid, are related to a kid, know a kid, or think you may know a kid in the future, then this session
is for you.
This will be a dual speaker session lead by Michael and assisted by his father, Jason. There will be
live coding, good content, and bad jokes.
Break ☕️
La sesión hablara sobre la experiencia de Univision en la migración de esta de una aplicación
monolítica a microservicios y react/node.js como principal motor de las nueva webapp y aplicaciones móviles buscando la
convergencia entre estos dos mundos gracias a las ventajas que nos brindan dichas tecnologías.
Se abordaran temas
como la arquitectura actual de univision, el monorepo, shared componentes y styled componentes como ayudan estos a construir
componentes reusables en el mundo web y mobile.
In the days of Geocities and Angelfire, a quirky HTML tag called < bgsound> enabled sound files to play in the background of webpages. Usually, these files were in the MIDI format. What a glorious era that was! Sadly, < bgsound> has been removed from browsers and MIDI is obscure and hard to play back. In this talk, we'll bring MIDI and < bgsound> back from the dead using WebAssembly, Emscripten, Web Audio, and Web Components. When we're finished, you'll be able to give your webpages the 90's treatment in a modern, standards-compliant way!
Registration 📋
Intro
When I decided to change my career one of the important factors was JavaScript community - a welcoming
place with people who had similar interests. For me, it was surprising that everyone was so eager to share knowledge for
free, unlike many other professions. Then I decided to be involved. After 2 years I started Muses Code JS (former NodeGirls)
and it changed my life and lives of other people. Now I want to share lessons I've learned, how leading countrywide community
changed my perception of some things and how we managed to change the lives of some women and opinion of some men.
More
details:
How communities change lives:
- what I've learnt by running and organising different types of very successful events,
why it is important
- why it is important to give back to the community and why even bother
- how to build inclusive
and diverse community
- success stories with lessons learned
In few words, Muses Code JS (former NodeGirls) is a non-profit organisation that supports women and other gender minorities
in IT and helps to show opportunities in IT and teaches on how to code. We run free workshops, events and internship programs
around Australia and outside of it. We have few thousands of followers and grow.
It is not the only community I support,
it is many others and all of them teach you something new. My motto that I always share with others - if you want to learn
more about the topic - organize the event!
My talk is highly inspirational with examples of real people's lives
change. Did it on NodeSummit 2018 and got lots of positive feedback. If you have any questions, please, contact me for any
additional information.
Conoceremos un poco sobre los retos y técnicas aplicados en la inteligencia artificial para videojuegos, así como exploraremos algunos ejemplos prácticos en JS enfocados en comportamientos cinemáticos y búsqueda de caminos.
In this talk, I will tell you the story of how I created an open source module mocking a GraphQL
Schema to help developers around the globe to create easy tests for their APIs.
It will describe the story of why
and how this was created and the technical review of the module internals
Break ☕️
This is not your usual functional programming talk. In it, I'll explain lambda calculus itself
and show how exciting it can be to derive combinators from the most elegant ideas in computability theory.
In it,
we'll explore functional programming from a different angle. Instead of talking about functors, bifunctors, profunctors,
monads, comonads and other popular concepts we'll take a step back and learn Lambda calculus itself.
How does lambda
calculus express computation? How can we represent concepts such as `true` or `false` or, even better, how can we express
boolean logic? How can we do arithmetic operations without using any numbers? What about loops? These are a few of the questions
we're going to answer and we're gonna do that with small incremental steps.
During all this process we'll also
identify some unique and exquisite creatures: birds (or combinators, as some other people call them). These are patterns
that will emerge naturally from the process of rediscovering lambda calculus and are guaranteed to blow everyone's mind
by their simplicity and elegance.
Rediscovering lambda calculus feels like rediscovering math and finally understanding
what is behind functional programming.
We'll finally let our Bluebird out. We won't be too tough for him.
Behance’s codebase has existed in various states for 8 continuous years - which includes multiple
major redesigns, brand overhauls, backend framework changes, JavaScript frameworks, CSS preprocessors, templating languages,
feature births and deaths, product integrations, and more.
And now, we are working on our latest project: moving
our JavaScript and Sass to Vue.js and CSS Modules.
This talk explores our journey over the years, from how we choose which technologies to implement, how we piecemeal
large rewrites while maintaining developer sanity and website integrity (and how to cut corners gracefully), how we manage
technical debt, and perhaps most importantly: how to be at peace with the reality of a fragmented codebase.
El auge de la realidad virtual ha modificado la forma en que diseñamos y desarrollamos experiencias
de usuario. Similar al descubrimiento de las técnicas de la perspectiva en la pintura, propias del Renacimiento, las interfaces
de usuario se han volcado al desarrollo de ambientes en tres dimensiones; antes que propiciar interfaces planas, en las
que las animaciones eran el principal móvil de la interacción con el usuario. Lo anterior, se ha convertido en un reto para
todos los programadores y diseñadores, dado que las múltiples posibilidades que dicho cambio trajo consigo aún no han sido
del todo exploradas: sonidos holofónicos, pistas ambientales, ciclos día/noche, simulaciones climáticas e interfaces digitales
antropomorfas, son tan sólo algunas de las posibilidades que la perspectiva en tres dimensiones han surgido en el diseño
de interfaces.
En esta charla, exploraremos algunas de estas posibilidades; en especial, tres de los patrones de
diseño más comunes: 1) inputs e interacciones; 2) espacio y escala; 3) diseño de ambientes en tres dimensiones. La explicación
de dichos patrones se dará en el marco de su aplicación en los dos ''frameworks'' más populares para desarrollar realidad
virtual, que son A-Frame y React 360.
Group photo 📷
Lunch 🍔
In this session, I will talk about WebGL, p5.js, and how we can draw and make interactive 2D and 3D graphics within web browsers.
Node alone doesn’t guarantee flawless code execution with stellar performance and finding problems
in distributed systems is hard.
Tracing gives you both visibility into distributed code execution and the data
you need to optimize performance and remove flaws in your code.
Join my talk where I cover
- the key performance metrics and how to collect them from Node.js
- challenges
of asynchronous tracing and content propagation
- the different Open Source approaches and their use cases
- an
end-to-end live sample that shows you how to get started with tracing your apps today
End-to-end tests are a crucial part of the testing pyramid, yet they are often overlooked entirely.
They are notorious for being hard to set up, flaky when they run, and slow to debug.
Why is running end-to-end tests so unreliable? Is there a way to write useful end-to-end tests quickly without the hair-pulling
frustration?
In this talk we’ll look at the architecture behind automated testing tools built on top of WebDriver.
We’ll explore the communication flow between WebDriver and the browser to uncover why end-to-end testing for the web has
been so temperamental.
Then we’ll delve into Cypress.io - a new, refreshing approach to testing web applications.
We’ll examine Cypress’ anatomy and show how its non-reliance on WebDriver makes it a better fit for testing the modern web.
Using this new tool, your tests can react to your application’s events in real time, read or alter web traffic on the fly,
and programmatically interact and control your application while testing. You’ll walk away with the means to have your tests
reliably run and quickly execute, giving you the ability to test your applications while you develop for the first time.
A few years ago I set about building a simple JavaScript chatbot that then quickly grew into a chat based automation system that I use every day. The experience was, and still is, a fantastic learning opportunity and in this talk I’ll share my progress, my reasons for doing it and what I’d like to do in the future whilst also hoping to inspire you to build something weird.
Break ☕️
Load Testing can be fun and exciting when done with the right tools. In this talk we will explore the various aspect of load testing (load, endurance, stress and peak) to increase stability and scalability of our applications, ultimately making us better developers. Specifically, we will be looking at `k6.io` to automate and write tests in ES6 javascript! Bonus content! Looking into dynamic test generation via JavaScript.
In Node.js, we can use WebAssembly modules and native C++ addons. If your app has performance critical parts, should you stay in JavaScript? Or write a native C++ addon? Or use WebAssembly? We’ll look at how these options compare performance wise and which one is best for different workloads. So the next time you need to optimize for speed, you know your options.
Closing remarks
Our sponsorship slots are full now. Drop us a line for next year opportunities at [email protected]