Ever wondered what happens in the code that powers your applications?
⚠️ Warning: live coding ahead ⚠️
On January of 2017, the Web Cryptography API became a W3C recommendation.
Using native browser implementations of cryptography techniques, developers can provided client-side solutions to their users to protect their data,
create zero-knowledge systems, and provide customer specific content without relying on server-side implementations.
During this short talk, we'll see some use cases of the Web Cryptography API, as well as some of its implementations to encrypt user's data.
What is its maximum theoretical performance, and how can you write code that exploits its full potential?
Fraud syndrome, better known as impostor syndrome, is a common phenomena where someone feels like a fraud because they think everyone is better than themselves.
From his job in San Francisco, to teaching coding in Bali, Jose will share his personal experiences of working for multiple startups in various cities across the world, and share his views on how to learn the most popular (and unpopular) language in the world.
Web Bluetooth is cool, it draws a line from the browser to the real world. Join this talk for a sneak peak of these API and how, along with Web USB, they are starting shaping the future interactions between the browser and the physical world.
Chatbots and conversational agents have become very popular in the recent years and there is a huge research effort to automate conversations in several applications.
What are Chatbots? How can it benefit you? How do you write the code for it?
These questions will be answered during the session with step by step directions using node.js so you can easily follow along.
Come join me and build your first Hello World Chatbot!
Testing UIs has always been a hard job.
In the components era, there are new tools and solutions available that transform completely the way we approach testing.
From snapshots, through end-to-end frameworks, to style guide testing.
In this talk, we'll see some modern (and creative) testing solutions.
Planet9energy.com is a new electricity company building a sophisticated analytics and energy trading platform for the UK market.
Since the earliest draft of the platform we took the unconventional decision to go serverless and build the product on top of AWS Lambda and the Serverless framework using Node.js.
In this talk I want to discuss why we took this radical decision, what are the pros and cons of this approach and what are the main issues we faced as a tech team in our design and development experience.
We will discuss how normal things like testing and deployment need to be re-thought to work on a serverless fashion but also the benefits of (almost) infinite self-scalability and the piece of mind of not having to manage hundreds of servers.
Finally we will underline how Node.js seems to fit naturally in this scenario and how it makes developing serverless applications extremely convenient.
IndexedDB is not new. It is supported in almost every browser. Without it, the future of progressive web apps are in peril.
But there is not a lot of love for it and that needs to change.
We'll investigate why we should love IndexedDB and the kind of apps you can create when you have the power of a database in the browser. Then we'll dive into how to use IndexedDB with a look at both the terrifying API and the friendly libraries that will help us along the way.
Together we'll discover a new love for IndexedDB.
But how do we take those tools from being used by a single person on a machine and integrate it into a team's workflow?
How can we link those tool into chains and go from a tool to a process? :)
In this talk I will discuss how I converted PhantomCSS, a tool for visual regression testing, and integrated it into our workflow. I will also cover the challenges we faced which ranged from integrating the tests into our CI, test execution taking too long, ability to browse the test results and notifying developers about failed regressions.
In this talk, centered on the web version of Balsamiq Wireframes (we also fixed the name!), I will discuss the choices we made, what worked well and what not so well, what we learned and... what we did not. :-)
The modern web is more interoperable than ever. Combining APIs for push notifications, offline support and getting an icon on the homescreen there has never been a more worthwhile time to use the Web to make native-like apps.
This talk aims to detail the benefits the Web can bring to you and how to best take advantage of the Web platform.
You've probably heard of the magic of a Service Worker when a user is offline, but what can we do for them when they get back online?
We can take advantage of the Service Worker's life outside of the page and start to perform actions in the background.
In this talk we'll investigate the Background Sync API and the APIs that it depends upon, we'll look at what you might use it for and see it in action.
Once that is behind us we can take a peek into the future and even more background tasks with a look at the Periodic Sync API.
In this sessions we’ll talk about these features and we’ll see how to use them to better solve from common to advanced problems.
Were you a fan of animated cartoons as a kid, and wondered if one day you could create your own? Here's the great news: you can! Using open web standards and Ember.js you're able to create frame-by-frame animations—and even to make them interactive!
This talk will explain why open web standards are more important than ever for creating animated content. We'll see how we can leverage the power of HTML5 Canvas in Ember efficiently and how to make animations interactive with the support of actions.
At some point in my career I decided I wanted to quit software development and do an MBA. For a stroke of luck, I failed the admission test and I kept developing software. It was early 2010, and I did not know Node.js existed, and the impact it would have on my life.
I wanted to speak at conferences, and I was terrible at it.
Then, I was lucky to find a job that allowed me time to develop Open Source libraries. I was lucky that someone noticed one, and I went speaking at NodeConf.eu 2013.
Now I travel the world as a consultant and conference speaker, and I maintain close to 200 OSS libraries. Open Source can change your life too, because there is no such thing as luck.
For the past few months I’ve been creating a calendar for our partners at Booking.com. Months? Yes, months. Creating a calendar that works correctly all across the world for 42 different languages and even more locales, is not something that you do in a week.
In this talk I will talk to you about the weird things I learned. From Brazilian Summer Time to Slovakian date formatting. And how to avoid the many (many!) mistakes I made.
React Fiber is an ongoing reimplementation of React's core algorithm. For more join the talk :)
Until then isfiberreadyyet.com.
Recursion, instantiate, lexical scope - where do these words come from?!
If you’ve ever been in conversation with other developers and thought, "I think I know what they’re talking about, but I’m not sure...", you’re not alone.
Let’s delve into the weird and wonderful parlance that computer scientists and developers have created for themselves.
Whether the words are borrowed or just plain made up, I’ll uncover how they made their way into the vocabulary of the modern programmer.
In this session, you’ll learn everything from etymology to history to broader definitions, all of which can help you understand what the heck that person’s rambling about.
So, the next time you’re in conversation, you’ll be the one discussing dependency injection versus inversion of control with ease.
The idea is to explain what Custom Elements are good for, when you can take advantage of this new technology in combination with the other Web Components feature and how to integrate them with JS frameworks like React, Angular etc...
What is Vue.js where did it come from?
We will take an overview look at the new kid on the block. Exploring the workings of a `Progressive Framework’ and where it sits in the industry.
While discovering Vue.js we will explore the infamous PWA’s (Progressive Web Applications), which will take the spot light in majority of application in the web.
Extending the PWA platform we will look how Sockets and Service Workers can coexist together, a PRA (Progressive Realtime Application), allowing platforms to improve the user experience without affecting the critical download chain.
Fade in. An opened terminal window. iTerm2 is the flavour. Dracula, the theme. You split the panes in two. You are at it again: a stash of audio buffers and that dream of manipulating a lossless file. With node as your language of choice you embark on the night. You manipulate, you transform, you have your byte order sorted, on their own accord your fingers start to type gzip -f yourFavPhilCollinsSong.wav.
All of a sudden, a whisper:
But what if.
on the fly.
Fade to black.
In this talk we will walk through file compression algorithms in node as well compression standards. We will cover working with streams, audio buffers, and typed arrays to get us to compress and decompress files, and yourFavPhilCollinsSong.wav.
Beyond smartphones and tablets, touch screens are finding their way into laptops and even desktop computers. With hardware support for touch becoming increasingly ubiquitous, it's time to explore what new possibilities are available to developers.
Have you ever wondered how Array#sort works under the hood?
Setting aside its default, not well-known behavior of sorting elements lexicographically instead of numerically, there is actually so much more going on than meets the eye.
In this CS101 we’ll explore some useful sorting algorithms currently used by popular JS engines such as Chrome's V8 and Firefox's SpiderMonkey.
We'll demystify O(n) notation, talk about performance, and take a look at the JS implementations of said algorithms.
As a developer, learning how these algorithms work, why and when to use them will help you solve complex problems in your web applications. If you ever skipped this course at school (or never actually taken it), now's your chance to catch up and learn a thing or two !
In the last years, complexity of front end development has exponentially grown making it really difficult to keep up with all the new solutions being developed. Maintaining and configuring automation tools is becoming a real burden, very difficult for newcomers and time consuming for experienced developers.
You'll see how it's possible to improve your project's automation using several techniques, tricks and tools.
At the end you will be able to improve your developer experience while maintaining and evolving your project's automation.
We've been toying around with JS since 4 years, trying to figure out what's the best approach to build mobile-friendly apps that would offer the best performances on mobile devices.
We first went SPA and then decided to take a different approach.
2 years ago we presented a talk, at this very same conference, about how we decided to tackle our problems on mobile with an isomorphic application.
Today, we would like to guide you through 2 years of that choice and why we decided to take a step back and go revamp our mobile website again, with server-side rendering and a pinch of React.
Object orientation has been all the rage since the late 80s (at least for those old enough to remember).
On the other hand functional programming is gaining popularity, and the average developer has a hard time understanding what's really going on, which trend is just a fashion and which practices are actually useful.
To shed some light on this we'll see what was the real vision when object orientation was invented, what is still good about it, what is troublesome, and how we can use this knowledge to write better code.