The list of presentations is subject to change without notice.
Do you know what developers do most of their day (except for surfing the internet)?
Writing code? WRONG!
They are debugging. The debugger is a powerful tool, but in this talk you'll learn tricks that will help find bugs in half the time and with less frustration. Because a happy developer is a productive developer.
This session will show you tools that will point to you to right direction and features you didn't know that are even there.
The Web was always flat and all efforts to use effects and some interactivity to mimic a new dimension to the Web is commendable, but not always enough.
The relative recent possibility of exposing the power of the graphics cards to the browsers, opened a new door and now allows to transform the flat Web into a 3D Web.
Ranging from the raw WebGL, to free and commercial 3D viewers - let us explore why it might be the next big thing.
'Programmer' and 'Manager' are two different titles for a reason: they're two different jobs and skill sets. If you have managerial aspirations (or have had them foisted upon you), come to this session to learn some of the tricks of the managerial trade.
This session will introduce you to many of the skills and resources you’ll need to become a successful tech manager (and keep your team from wanting to string you up).
What if there was a full-stack framework in Ruby that was focused on being lightweight, structurally pure and fun to use? There is! Say hello to Hanami. Hanami is a modern, full-stack, web framework for Ruby. You'll have an opportunity to see a different approach to approach MVC (Model, View, Controller) in Ruby. We'll be building a web application from scratch using the tools Hanami gives us.
Visualisation is an important step when trying to make sense of data. Proper presentation skills can lead to more interesting questions and better conclusions. R environment's visualisation capabilities are one of the main reasons if it’s popularity. During this talk, attendees will get introduced to different R visualisation techniques. The platform offers proper language constructions, data structures, powerful libraries and community support.
A lot of dev teams are going remote now, but without the correct infrastructure and processes in place you may not be able to support those remote workers team members. During this session we’ll discuss some of the preparations you should make before bringing remote staff on board, as well as how to make them successful once they're there, including communication, documentation, and culture challenges.
Businesses spend years (and fortunes) building software projects, then slap on a price and hope for the best. This is a sure means to go broke.
This presentation will examine some real world pricing pages for famous (and not so famous) SAAS offerings and explain what mistakes are being made and how a few simple tweaks could lead to massive improvements in profitability.
You can use these tools in ES5 browsers today by leveraging a code bundler and transpiler. We'll look at the new syntax such as =>, let, import, andclass, transpilers like Babel, and Code Bundlers like Webpack. You can use these open-source technologies in production today to quickl
Web forms can present obstacles to users when they have not been developed to be accessible and usable. These obstacles can be torn down by following techniques for labeling form controls, validating user input, handling multi page forms and WAI-ARIA. Screen reader demonstrations will be used to highlight these features. The session will allow you to improve the design and development of your web forms.
You've got a basic virtual machine setup, but want to take it to the next level?
In this talk, we'll cover advanced virtual machine management for teams, with Vagrant, including: basic VM-to-production philosophy, bootstrapping for everyone, managed Vagrantfile, tricks for multiple VMs, caching, packaging, and other Vagrant tips.
You'll see how we run VMs at Fictive Kin, for everyone—not just our technically-savvy developers.
Neural networks have seen renewed interest from data scientists and machine learning experts for their ability to accurately classify high-dimensional data like images and sound. In this session we will discuss the fundamental algorithms behind neural networks, and develop an intuition for how to train a deep neural network. We will then use the algorithms we have learned to train a simple handwritten digit recognizer using TensorFlow.
Go is a simple yet powerful statically typed programming language. Features include garbage collection, fast compilation, built in concurrency primitives, and a standard library which makes it easy to write containerized web-applications or microservices.
Where does it come from? What's the syntax? Why would you use it? This talk will go over the basics of getting up to speed with Go and why you should use it.
En PHP, les frameworks de tests unitaires se comptent sur les doigts de la main. Pourtant, derrière le vénérable PHPUnit éclosent plusieurs alternatives qui apportent de nouvelles approches, d’autres arguments, pour faciliter la mise en place de test, améliorer la vitesse d’exécution, faciliter le mocking, ...
Dans cette conférence, je vais vous présenter les grands principes d’atoum : simplicité, modernité et intuitivité.
In this talk, I’ll demonstrate the engine for a Fortune Cookie Server (fortune cookies will be served!) The front end Single Page Application will stay the same, the backend Mongo database will stay the same, but the API engine will be represented in perl, python, ruby, php and node.
Async I/O is fashionable with good reason: its low per-connection overhead lets you scale an I/O-intensive workflow better than threads or processes. But there are drawbacks. I'll explain the pros and cons, show how they bit in a real-world project, and help you to weigh the options for your next project.
Today, when building a web application, you very likely need to provide a web API. In Ruby, both web frameworks Rails or Sinatra are common options.
If you need something simpler and lighter than Rails but that doesn't require to reimplement a lot of common pieces, Hanami is a convenient and trendy option.
I'll present the reasons that pushed me to pick Hanami to develop a web API, and how to test and develop a web API with it.
The time of static or dynamically generated sites is long gone. Non-stop interaction with users is the new normal. However, polling with Ajax requests is processor intensive and cumbersome. Websockets allow you to interact with users in real-time without increasing system load. We'll go through the basics and see all the different options, illustrated with live examples.
Built mostly in Java, Cassandra is a powerful open source NoSQL database, based on the model of partitioned row store. This talk will provide general uses cases, Cassandra architecture, benefits, tools and integration with existing Java applications.
Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.
We'll look at the patterns required to build distributed systems including centralized configuration, client-side loadbalancing, circuit breakers, distributed tracing, single signon, and more.
Découvrez-le à travers les anecdotes vécues par une startup ayant décidé de monter une équipe d'opérations. Nous verrons les enjeux du ticketing, de la capitalisation du savoir, du monitoring, de la qualité de vos projets et enfin de la communication au sein de votre entreprise. Le but de cette présentation est d'amener des solutions simples à mettre en place et permettant d'améliorer considérablement votre performance d'équipe.
Laid off, made redundant, canned, dismissed, fired, sacked, terminated, given the axe, given the boot, the old heave-ho -- there are lots of ways to say it. However you choose to refer to it though, it isn’t enjoyable -- even less so when that person is you. Let's explore a subject that no one wants to and by doing so directly confront our fears and learn to be more rational when emotions run high.
Passwords are bad. We all know it, but we also know you're not going to build a service that doesn't use them - not if you like paying the rent. However, we can do a lot better. We'll take a whirlwind tour through the aspects of connecting people to your service, from generating passwords, not using passwords at all, creating users with one tap, identity providers, automatic cross-device sign-in, and password managers. Sign-in should be simple.
J’ai travaillé durant 4 mois sur une application Ionic. C’est un framework très puissant mais dans lequel on peut rapidement se perdre. Je souhaite partager les outils et les techniques que nous avons mis en place avec le développeur pour travailler efficacement et sans perdre la tête: userflow chart, styleguide, documents techniques d’animations et spécifications de performance, etc., vous saurez tout.
Amazon Lambda is shaking-up Java server-side development. Now you can write services in the cloud without having to think about app servers or containers. This is revolutionary. This session will cover Amazon Lambda and some of the other services that will reduce the about of code and infrastructure you have to write and maintain.
Django is an “all-in-one” web development platform. Built-in features include full templating technology, routing, and object-relational mapping. Using Django’s ORM capabilities frees you from having to write your own database access code, so you can focus the application you wish to build. The Django ORM can even create and manage the database for you! Learn how to create objects for ORM, and map properties to columns in your database.
Reactive applications are designed to handle asynchronous events in a way that maximizes responsiveness, resiliency, and elasticity. Reactive Extensions (Rx) is a library that abstracts away the sources of events and provides tools to handle them in a reactive way.
With Rx, filtering events, composing event sources, transforming events, and dealing with errors all become much simpler than with traditional tools and paradigms.
Bots and conversational apps give you the opportunity to bring your apps to your users right where they are. Users can interact with you via various messaging services, including text messages. Not only does this mean they don't need to install yet another app, they can access the information and services they want directly, without navigating a UI. This session will show you how to get a bot up and running quickly using Bot Framework.
As developers we tend do a poor job of implementing cryptography and other security measures in our systems. Often the primitives used are out of date and overlook very subtle flaws. These mistakes lead to systems that are hopelessly insecure despite our perception that we’ve build an impenetrable fortress. Fortunately there are a few tools and techniques at our disposal that can ease some of the pain. In this talk we’ll explore some of the most
Come learn how to better communicate between Python services. We'll use simple-to-follow examples and go from a service with undocumented endpoints to one which has full docs and validation on requests. Learn how to use Swagger tooling for python, including the bravado (client) and pyramid_swagger (server) libraries. In the end, you'll (hopefully!) find nirvana and make the machines do all the hard work for you.
Ruby is attractive because of how expressive and fun it is to write, not because of its speed. Ruby gets the job done most of the time. However, what happens when you need that extra speed boost? Now you can reach for Crystal. Crystal is a compiled, statically-typed language with Ruby-like syntax. You'll have a chance to see how easy Crystal is to install, how it compares to Ruby, and a chance to see how to convert a Ruby script into Crystal.
CSS floats have been the primary way that we define web layout for almost the past decade. They’ve worked pretty well over the years but times are changing. flexbox is becoming the new norm for layout and solves some of the main gripes we deal with when using floats. Some of the new concepts may be a bit difficult to grasp in the beginning but in this talk we’ll focus on practical ways that flexbox is used when creating modern interfaces.
So what is a database and why can't I just put all my data into some sort of blob? This session will cover the basics of how relational databases work, where they are (and are not) efficient, how to best use them, and the steps to go from a novice to an intermediate user quickly. Very few developers have any database training and then wonder why the queries they write perform poorly. This session will provide you with a high level overview.
The software industry has developed a number of tools to capture requirements through the years. This session will take a step back from the toolbox and examine the core benefits a project team needs from a tool, rather than the laundry list of features it might also provide. With that lens in place, attendees can re-evaluate ways to build shared understanding without dictating a process that crushes collaboration.
With WebGL you can build great graphics-heavy applications, but it’s a lot of things to grok: Vertices, Buffers, Shaders & much more!
AWS is the perfect platform to run a Rails App at scale. In this talk, you'll learn how to host and deploy your app using Elastic Beanstalk with the following features and technologies: SSL termination at the ELB load balancer (including a free SSL certificate), caching using Redis on Elasticache, and a database running on RDS. You'll learn how to deploy with zero downtime using a continuous delivery service.
Separated layers are one of the fundamental principles of software design. Your framework is the topmost layer, and your business code should not depend on it. While we will touch a few package design basics, the focus is on how to actually *DO* it: Expose the user accounts in your model to your framework without depending on it. Separate form input validation from entities. Isolate ORM-specific code in bridges. And be pragmatic about it.
We browse the Internet. We host our applications on a server or a cloud that is hooked up with a nice domain name. That’s all there is to know about DNS, right? This talk is a refresher about how DNS works. How we can use it and how it can affect availability of our applications. ow we can use it as a means of configuring our application components. How we can use it for things that it wasn’t built for. Come join me on this journey through DNS!
Docker is a famous containerization technology, but how can Java developers leverage it?
During this talk, we will first introduce what Docker is and the main tools leveraging it (Machine, Swarm, etc.)
Attendees will also discover how to create a Docker image from their Java app, how to deploy it to an internal or public registry, how to leverage Jenkins to automate those steps, and some nice IDE goodies to help them along the way!
Applying principles from Domain-Driven Design such as strategic design and bounded contexts, this presentation will help you choose and apply the right data layer for your application's model or models. We will explore traditional relational databases, graph databases, document databases, key/value stores, polyglot persistence, CQRS, event sourcing, and data layers for microservices.
Je travaille avec le gouvernement français à l’ouverture des données à l’échelle nationale. J’ai eu l’occasion de travailler à deux reprise sur des données brutes qu’il fallait (re)construire en données avec un historique facilement exploitable. Cette session sera l’occasion de décrire les enjeux de l’opendata et les outils Python qui ont été développés pour mener à bien ces projets.
ElasticSearch is a really powerful search engine, NoSQL database & analytics engine. It is fast, it scales and it's a child of the Cloud/BigData generation. The focus of this talk is on doing actual work & achieving actual results.
Topics: filters and queries; cluster, shard & index management; data mapping; analyzers & tokenizers; aggregations; security & proxying; the ELK stack; ElasticSearch integration.
Companies hire developers because of the skills they already have. But what about what they could become? How support this possible evolution? Would it be with conferences or training sessions?
It is possible to do more than that; you can have fun learning new things, no matter how experienced you are. I'll present how learning is supported at EURA NOVA. I'll talk about company culture and investment, learning activities, and their development
Event Sourcing can look like an attractive solution for any of your applications, but does it actually pay off?
What if it is all just buzzwords and no gain?
We’ll look at how we implemented event sourcing in our own app, code-reviews.io: what made us fast, what made us super slow, what made us cry.
This talk will give you a good idea of what kind of challenges you will encounter when approaching event sourcing for the first time.
As our applications grow larger, our typical APIs sometimes become harder to scale. Dealing with round-trips, custom endpoints and over-fetching becomes part of your life as a developer and slows you down.
Let's explore GraphQL: a declarative and hierarchal way to fetch data, with one endpoint to rule them all.
Resistant, highly testable, safe and maintainable code: or not?
There are a thousand ways to break your code, and a lot of ways to prevent that from happening.
Let's explore defensive programming and learn how to protect our code from invalid usage.
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session will cover the basics of switching existing Java EE projects over to Gradle (that use Maven) and the benefits that you will reap such an incremental comp
In his book describing the GTD time management system, David Allen promotes the "Art of Stress-Free Productivity". After too many New Year's Resolutions and too much procrastination, it's time for you to finally implement it. You'll discover that, unlike another collection of self-motivation tricks, it'll become the key to re-gain control of your life and your to-do list again. This is an intro that's hoping to get you hooked before you burn out!
Ever wonder why the 9th month is named SEPTember and the 10th is OCTober? Why do we have leap year? And what's up with Easter? Throughout history, cultures have had to fit messy natural cycles into easier-to-manage abstractions like dates and time - abstractions which never quite fit.
This talk will cover thousands of years of history to highlight problems very similar to what we face in software and technology every day, along with solutions.
Offline First is an approach to application design in which a web, mobile, desktop, or Internet of Things application is built for offline usage first and is then progressively enhanced to take advantage of network connectivity when available. An Offline First app can provide a better, faster user experience — both offline and online — by storing content and data locally and synchronizing with the cloud when a network connection is available.
In today's world where everything moves towards https and other TLS secured connections, certificate management is more important than ever. Through the use of the ACME protocol, LetsEncrypt provide the infrastructure,but to make it a scalable solution from a management perspective, integration is needed. In this talk I'll take a look at how we integrated with LetsEncrypt for the postgresql.org infrastructure management, to reach zero manual work
Ruby is the epitome of an object-oriented language, with everything from integers to nil being represented as objects. Still, there is room for object-oriented Ruby designs to benefit from functional programming concepts. We'll go over how the functional programming idea of small, isolated units without side effects applies to the design of objects as well as functions, and how this approach leads to highly maintainable and testable code.
In this session, we’ll see that Redis is more than just an in-memory cache system we can use in our applications. Let’s explore what Redis is, what the different data types are and why we should care. And once we grasp how Redis stores its stuff, we’ll delve into how we can use it to its fullest extent: searching the key-value store, transactions, pub/sub support and scripting.
SVG is used by 1% of all websites. All major browsers support at least basic applications, however for some reason developers haven’t caught up. SVG (Scalable Vector Graphics) allow web designers and developers to create beautiful, scalable, animated imagery and UI elements. Be introduced to the many ways to display SVG, as well as how to implement cool SVG animations.
Making and keeping web applications fast is hard work, but also very rewarding and pays off very quickly with higher user satisfaction, increased usage and better conversions. In this presentation I'll talk about all the lessons I learned by working on application performance at ResearchGate: Why it is actually important, how you can convince your managers to invest time and money in it and what you have to do to measure and improve performance.
Most web developers have some knowledge of input sanitization and encryption, but what happens when you forget an edge case or when users are connected to a rogue access point?
Through the use of technologies like strict transport security, content security policy, sub-resource integrity, and the referrer policy, web developers can instruct browsers to add a second layer of defenses against the most common attacks.
This talk is a 1 hour live coding session targeted to PHP developers who wish to get started with Symfony quickly. While coding a small demo application from scratch, I'll explain the most important concepts of Symfony such as HTTP request handling, URLs routing, Doctrine and Twig integrations and the famous debugging tools. If the allocated time also enables it, you'll learn how to configure the framework and extend it with your custom services.
Have you ever wondered how to get out of a bad merge? Have you ever gotten stuck trying to push your changes? Git is a wonderful and empowering tool, but it's not your father's version control system. Bring your Git questions for this no-slides demo of Git command line and GUI tools. We'll harvest your curiosities, add in some common concerns, and run through these scenarios together. Have an open-source project you're stuck on? Bring the GitHub
100,000 simultaneous users. 38 days. 9 systems. One launch. Ready?
In this retelling of a real-life product "land rush", you'll learn about web load testing of a site that went from zero users to all the users in one day. This talk will cover open source tools, the AWS cloud, dependency isolation, background jobs, and profiling. Hear about some hard lessons learned while negotiating with external partners, OS tuning, and avoiding being t
Excited about GraphQL and want to learn more about how to implement a GraphQL API in your Ruby app? This talk is for you!
We'll start with the basics of GraphQL and why we're using it to power our mobile apps and other Rails apps. We'll then cover how we added a GraphQL API to our existing Rails app and the techniques we used to define our schema to ensure the resulting queries are performant. Last, we'll talk about instrumentation of the API.
Unicode. Few words can strike as much awe and fear in the hearts of developers everywhere, and can typically be heard uttered along with a string of expletives. It is, however, an essential standard that nearly all web applications should utilize, and all developers should have a working understanding of. We'll take a look at character encodings, sets, glyphs, code points, and how to diagnose & handle encoding problems in your app and email.
I love programming. I've been messing around with code since I was a kid and the Internet started to pick up. I've been to a couple of companies and seen some great code as well as some very "WTF" stuff. In this talk, we'll look at what makes good quality code and how you can make your code better for yourself as well as others, along with some examples of how to rewrite some basic code to make it better. We'll use PHP, but it applies to others.
I love programming in Ruby, but I've mostly used it like a more elegant Java - solving business problems in a straightforward way. I always knew Ruby had lots of metaprogramming power, but I was too busy getting work done to explore it. I recently worked on a project which let me use more of the magic of Ruby.
This talk will show how I made it to the next step in my Ruby programming, turning ugly code into refined haiku.
The modern web browser is a powerful and flexible platform that is far more capable that you might think. Many advanced features can get lost in the gap between front-end and back-end development skill sets. Find out about the HTML5 APIs you've never heard of, from audio to video to physical sensors, and interaction methods for mobile users. Learn where they are supported and how you can start work with these APIs in your next project!
After 16 years a new version of the HTTP protocol has now been finalized and wide support in browsers and web servers is coming quickly. In this talk I'll explain how HTTP and browsers work in general and what you currently have to do to make your application as fast as possible. Based on this I'll show what HTTP/2.0 is all about, what it changes and how it can help your application's performance.
Object-Relational mappers are nothing new. The popular Django web framework's ORM has been around for more than ten years now.
Historically, ORMs have only really been good for simple queries and make upgrading models difficult. Not any more!
These days, Django features support for some very complex queries, and a migration platform that's actually enjoyable to use. I've forgotten how to code SQL: find out if you can too!
PHP's stateless execution model is still based on the mechanics of CGI: request in, response out. This means simplicity, but also significant overhead on each request. All other languages on the web now offer production-ready web servers implemented purely in each language. PHP is finally catching up with solutions like Aerys or PHP-PM, which promise tremendous performance gains and the potential for a few features Apache or Nginx cannot offer.
In 30 minutes, I'll quickly cover some tools and platforms that are worth considering in your next project no matter what it is. All are ready for large scale, million-user per day deployments. Some you may be familiar with and others you might not have considered and some you might not have heard of. Most will be worth looking up after the the talk finishes.
This presentation will cover some of the more advanced features of Laravel and explain how to use them and in which contexts. This presentation assumes a little understanding and experience with Laravel and will go into Service providers, Facades, the Container, the Queues, Event driven programming and even explore some deep features of the ORM that you might not have used yet.
At 3 AM, when a backhoe cuts the fiber line that connects your server to the Internet, who wants to be awoken by a phone alert from their monitoring system freaking out? Not me.
This talk provides an app-platform-agnostic overview of building applications that can withstand whole data center failures without going down, with a focus on Amazon Web Services EC2 and related infrastructure.
Data never sleeps, so this talk will provide you strong foundations on libraries, frameworks, and utilities to build pipelines, analyze data, and help you make better predictions. We will start by looking at Python libraries (Pandas, Numpy, Theanos) and then we will integrate them with powerful APIs (Google Webmaster Tools, Google Adwords, and Google Analytics). Then, we will
shift our focus to e-Commerce and Data Warehousing applications.
The move from desktop apps to web apps created new performance challenges, as code executed on private computers now execute on centralized servers. In this presentation, the attendee will learn where to look when a performance issue arise in a web application. He will also see an overview of the tooling available for performance optimization: monitoring platforms, profilers and .net specific tools.
Web APIs are relatively simple to implement, which has led to many ill-conceived APIs out in the world. Creating APIs that make developers jump for joy is a goal we should all have, and this proposal outlines a process for API development which will result in a better considered product.
A long time ago J2EE and especially application servers were considered to be too bloated and "heavyweight". It could be quite tedious and discouraging for developers to use that technology for developing applications. But since the name change to Java EE that assumption is not true anymore.
This session shows the benefits of developing against a well-established standard and why Java EE is one of the most lightweight and productive solutions.
Learn how you can use speech recognition effectively in your browser and on mobile platforms. We’ll discuss what speech recognition is, review the current state of the W3C Web Speech API specification, including which vendors have implemented pieces of the specification. We’ll have live demos on using speech recognition for dictation, querying the web for answers, and translating English to other languages.
Bon d'accord, l'accessibilité ce n'est pas toujours simple. Il existe beaucoup de cas particuliers et de détails à régler. Mais en pratique il existe beaucoup de choses simples à mettre en œuvre qui ne demande pas beaucoup de temps.
Quand on parle d'accessibilité Web, on pense généralement aux handicaps physiques et aux moyens de leur faciliter la navigation web. Seulement, il existe toute une catégorie de personnes qui peuvent très bien naviguer sur le Web et pour lesquels la navigation est un combat quotidien : les personnes avec des troubles cognitifs. Au sein de ce sujet vaste, je voudrais vous présenter un handicap totalement invisible : les troubles de l'attention.
In this talk we'll introduce the core concepts of unit testing and TDD — what it is, how it's done, why it matters — and then jump into doing it with one of the most time-tested techniques to comfortably start to get comfortable with the idea: code katas.
Code Katas are a systematic practice where you solve a specific code problem for about 25 minutes. After that, you throw the code away! This means they're the ideal way to learn.
Learn how to incorporate Azure Search into your application to allow your users to find the data they are looking for. The session will start with how to create, populate and search indexes. Then it will cover how to quickly add more advanced query capabilities such as type-ahead, facets, phonetic search and more.
Programmers can find domain specific languages everywhere from XML to SQL. What if we could read and write DSLs in a completely type safe manner? One way to do this is implement your own custom developer tools. But there is a second way! You can write a type-safe API in a statically typed language like Java, giving IDE-agnostic completion and static analysis. We'll explore how to generate your own custom DSL interpreter in Kotlin.
Have you ever wondered how the computer takes a bunch of boxes, makes them ones and zeroes and then puts them as little dots with vibrant colours on screen?
You will gain understanding of the nitty-gritty details of how your browser processes and renders your web application or website. It also explains all the weird things, like the mysterious and often-quoted “GPU acceleration” and why some CSS animations are smoother than others.
This session will bring you up to speed with all the goodness of ASP.NET Core, formerly known as ASP.NET 5, using a practical, demo-first approach: I'm going to show you how to build an application for monitoring a fish tank!
You will learn how the new lightweight version of .NET, .NET Core works and how to program multi platform web applications! And I won't forget the new features in MVC.
This talk will show the most frequent used algorithms for machine learning, comparing the advantages and disadvantages for each of them.
Both supervised and unsupervised learning will be covered in this talk. We will walk through Linear Regression, Logistic Regression, Regularization and Support Vector Machines for Supervised Learning. For Unsupervised Learning, we will talk about Anomaly detection and Recommender Systems.
Vous pensez que le streaming et le machine learning ne sont là que pour faire du "Big Data". Que nenni !
Je vous propose un petit détournement de ces technos pour quelque chose de nettement moins big mais tout aussi data et bien plus amusant : jouer avec la musique !
Je vous montrerai comment à l’aide de quelques accessoires, et quelques lignes de code nous pourrons créer de nouvelles façons d’interagir avec de la musique !
Gathering the data is not a problem today. The bigger challenge is to understand these informations and draw some conclusions. Fortunately, we can use ML techniques to „teach” computer how to learn from our data. FANN, random forests, SVMs, classification, clustering - just to name a few concepts ready to use... We'll learn how to apply all these solutions to PHP app to deliver automatic insights and create a real business value for a client.
As a developer, I constantly tried to convince my managers to let me refactor our code. I usually failed.
It was only when I was promoted to project manager that I began to think about why there's so much managerial resistance to refactoring.
This presentation will examine why managers push back against code refactoring and how we can help them to understand the value of this vital development process.
One challenging aspect of ecommerce projects is the wide variety of payment gateway APIs, each one different from the last. Learn about Omnipay, a payment processing library for PHP that acts as an abstraction layer between your code and a wide range of popular payment APIs. Learn how it can help keep your code portable between projects and provide business continuity if you need to switch providers, as well as the limitations of this approach.
Let's take a tour of what standard math libraries. How are they useful? How are they implemented? Why is Python 3.5 round(2.5) 2.0? Why is (2**100) % 31 different than pow(2, 100, 31)? How does John Carmack's fast inverse square root work?
This is a fun romp into the world of prime numbers, bit twiddling, IEEE 754, and other things your grandparents warned you about.
Let's examine the ups & downs of adopting a microservices architecture and why, in most cases, the pros outweigh the cons. The presenter will discuss & demonstrate how to build & integrate microservices using popular open source tools. Risks & mitigation strategies will be discussed & shown, including load balancers, circuit breakers, tests, & other mechanisms at your disposal to increase software quality.
The Linux kernel has multiple "tracers" built-in, with various degrees of support for aggregation, dynamic probes, parameter processing, filtering, histograms, and other features. We will look at specific examples of using tracing tools for diagnostics: tracing a memory leak using low-overhead kmalloc/kfree instrumentation, diagnosing a CPU caching issue using perf stat, probing network and block I/O latency distributions under load, and more.
The central premise of Moneyball is that the collected wisdom of baseball insiders is subjective and flawed. Like baseball, the tech industry has a poor history of evaluating talent by favoring biased perspectives over objective analysis. As a baseball scout turned web developer and team lead, I will explore how the lessons I learned in my former career can help surface undervalued skills to enable us all to make better hiring decisions.
End users expect more than a web-based control panel. Come to this session to learn how to increase your app's reach and overall value to your company, users, and customers!
As an application starts to grow, the flexibility that inclined us to build a monolith vanishes. The once reliable system is now prone to errors, bugs leak to unexpected places and new features take a considerable time to be delivered. Spotify, Amazon and Netflix solved these problems moving to microservices, giving back productivity and confidence to developers and stakeholders. I want to share some guidelines that helped me do this transition.
MySQL has provided easy database replication for over a decade. But are you aware of new developments in the last several releases? In the early days replication was single threaded and is now multi threaded with a table. Row based replication can provide better performance than sending over SQL queries for replay. And now there is active multi-master replication with built in fault tolerance. Come see how this evolution can help you today.
A travers cette conférence, je me propose de vous tracer l’histoire de la migration de 6play (système de télévision de rattrapage du groupe M6, premier groupe de télévision privé français) d’une application monolithique vers un univers de micro-service, des avantages en terme de maintenance, d’évolution, de montée en charge, mais également des différents écueils rencontrés lors de ce changement de paradigme : caching, logging, complexité globale.
Often, accessibility is a key project requirement that is overlooked or misunderstood. Project and Product Managers can be the champions for accessibility their teams need.
In this session, I will present a framework built from real-world experiences to help you shepherd even the most stubborn team members into practicing their craft with accessibility in mind.
Machine learning is amazing, but to get accurate predictions you will need to spend time working with your data to get the best possible outputs. Like the old adage says: garbage in garbage out! So if you are trying to learn more about machine learning, stop by and learn the basics of preparing your data for machine learning. We will start with a real world dataset and transform it to get more accurate predictions from our training model.
"If you build it, he/they will come and if Google says it's OKAY!". I will present some SEO features that can be resolved programmatically. The audience will learn about the basic of SEO tools such as Google Console (Formally Webmasters Tools) and pagespeed. They will learn how to programmatically rank higher on the Search Engine Page Result (a.k.a SERP). We will take a look at creating canonical tags as a way to reduce server loads with 301.
Failures are the bane of scaling a modern web service and can cause serious pain for your end users! Lucky for us, there are techniques that can help protect your product handle failures in subsystems gracefully. This talk will dive into one of these in depth, the Circuit Breaker pattern, and explore the options it gives us for keeping all our users safe.
Everybody is doing REST -- at least everybody claims they are. But mostly web APIs are built without Hypermedia, what would allow the client to follow related resources and autonomously navigate through the API without prior implicit logic of the application.
This sessions shows the concept and benefits of a Hypermedia driven REST API and how to implement this using JavaEE 7 with JAX-RS.
Python is one of the most popular programming languages, and one of the most flexible. You can create basically any type of code you need: object oriented, procedural, functional... It can be used to create any type of application, and is used in many big data scenarios. You can also get up and running in a short period of time if you’re experienced with another programming language. The goal of this session is to get you up and running in 60min.
Relational databases are fast. How are they so fast? Algorithms! Join us as we demonstrate the algorithms in your database. From sorting and joining to genetic programming, we'll see how the database performs its magic.
Knowing how your database works will help you write better queries, choose optimal indexes and decipher the output of the query analyzer. You'll learn plenty from this illuminating peak beneath the covers of SQL.
Avec l'émergence de React, toute une catégorie de problème récurrent dans la création de SPA à disparu. Le revers de la médaille c'est que d'autres problèmes sont apparus. Je vais présenter différents challenges que j'ai rencontrés avec React et les solutions que j'ai utilisées.
Cette présentation est mon retour d'expérience avec 1 an de React.
This session will highlight certain pain points when using Node.js, such as Callback Hell, monitoring and debugging, and how to refactor and improve applications based on the experience and battles Ben has fought.
This session is aimed at developers who want a better understanding of Node.js, the issues faced in the real world and how to work around them.
Grafana allows us to monitor and to query the metrics of our applications in a rich, beautiful dashboard. I would like to share the use case of a Brazilian insurance company where it is saving us money and increasing the speed with which we detect (and fix) problems.
Dans cette présentation nous verrons une brève introduction aux design patterns, leur origine et pourquoi nous devrions les apprendre après quoi nous passerons le reste du temps à transformer un exemple de code en appliquant certains des « patterns » les plus communs comme : factory, decorator, composite, command, …
simpler to reason about and test.
Ruby is very well known in the developer community because of the Rails framework, however Ruby is also useful for industry applications, here I'm going to share with you a pet project that I did with my Dad on weighing scales for the mass production industry, and why ruby's flexibility makes it perfect to solve real world problems. I also show how we packaged a small Sinatra app into an executable file for Windows. This talk is for everyone.
Conventional wisdom says that huge teams with huge apps are slow and unresponsive. However, with great people, culture and diligent engineering, a team of 60 can perform like a team of 6. Learn which tools, patterns and practices help you manage growth, and which don't. Hear how trust in your teammates trumps consistency of design, and how prioritizing people over processes can keep you fast, agile and bug free even at 1,000,000 lines of code.
While its name may seem to imply that it's Python-only, uWSGI is a combination application server, proxy, process manager/monitor, async queue, cross-language RPC framework, and more.
We'll take a look at the broad features that make uWSGI an interesting option as an application server, and then show you how to concurrently serve Python, PHP, Ruby, Perl, Go, Lua, and Clojure applications, and use the built-in RPC, queue and in-memory cache.
Containers are changing the way we design and develop systems. In this workshop, Ben will explore how to combine .NET applications and Docker to improve your infrastructure. The talk will discuss the key points of running Docker in production, how to migrate applications and what you need to be aware of.
At the end, attendees will understand how to build, deploy and scale .NET applications as containers.
If people can't use your software, you have already failed as a developer.
This talk digs in to how optimizing for search and using the existing technical assistance forums can put your product ahead of the pack. Technical writing, in all its variations, is a type of interface with your product. It incorporates everything from an error message to an implementation guide.
Be a better dev by being a better writer!
It's well known that Microservices Architecture can help pave the way to more resilient, decoupled and flexible apps. There are nuances to getting Microservices right however, and one such fundamental is securing them! It's essential that your services can be properly secured from both an authentication and authorization perspective.
In this talk we will cover our solutions for securing Microservices & our journey at Red Ventures to get there.
Normalize, normalize, normalize! If you close your eyes at night you're still normalizing your relational database while having nightmares about how to create all these complex joins without loosing too much performance.
Set yourself free! Use a document DB. If you've never seen one before, don't worry, I'll quickly explain the basics at the beginning of this session. Then I'll show you everything there is to know about DocumentDB in Azure.
Apps and services depend on secrets like tokens or password for authentication. But neither env vars nor files provide secure, flexible and PCI compliant transport mechanism for cloud and containers. With Custodia we developed a HTTP and JSON based protocol and reference implementation for authentication, routing and auditing of secrets. It combines Unix sockets and sVirt with JOSE and PKI to request secrets from a store or 3rd party vault.
Design patterns are conceptual solutions to solve common redundant problems in software engineering. However, learning them is not easy as litterature or tutorials on the Internet often introduce them with theorical examples. This talk gives you a slightly different approach by introducing some of the most useful design patterns with practical code samples to solve real world problems.
I love sorting. Who doesn't love sorting? Let's talk about sorting!
It's a classic interview question: how do you sort a list? How about in O(N log N) time? (And what does that mean?)
We'll do a quick tour of the fundamental sorting algorithms, like insertion sort, quick sort and merge sort, and also talk about some of the fancy new algorithms you might have heard about, like tim sort.
Writing tests is tedious. Rather than writing your own tests, you should get your computer to do it for you! Hypothesis is a Python testing library that lets you specify properties of your code that should hold, and it generates the data for you. This means that you get literally thousands of test cases with minimal effort. See how you can get better tests by writing fewer test cases!
It happens even to tech giants: they get hacked and client databases get leaked. Let's look at what data is the most sensitive and what steps we can take to protect it, while still keeping all of the user experience intact. Come see why most web applications do passwords and credit card information wrong.
Symfony Components are the building blocks of the Symfony full stack framework. But they are just as useful to modernize your legacy applications step by step, and to introduce modern coding standards to projects. While getting to grips with the components and learning to use them standalone, a nice side effect of this talk is that it will give you a better insight into how Symfony full stack works as a framework.
Make your Ruby on Rails app multi-lingual! I'll go over how to get started with translations using the I18n gem. We'll configure translations using a YAML file, determine a user's locale, specify default values for when a translation is not defined, and interpolate variables into translation strings. Throughout, we will see how the I18n gem improves the maintainability of view code while multiplying the size of our user base.
The CPython interpreter have seen a fair share of security incidents. As a core contributor and member of the security team I have been involved in fixing security bugs and hardening Python. You will learn about past vulnerabilities in Python's dict implementation and standard library modules, how to avoid common mistakes and recent improvements of ssl, hashlib and random number generator.
There are many ways to share code between .Net/Xamarin applications running on different platforms, but what is the best way to deal with the platform specific code? In this session you'll learn how to use shared files, dependency injection, portable class libraries, and shared projects to isolate platform specific code from the re-usable shared code.
When embarrassing complaints are make-or-break for your business, you need to respond quickly to prove that you care about your users.
We’ll figure out how to better serve our real-life customers and our developers. We’ll work through some examples to come to a better understanding of:
How to label things so users can report back where a specific problem occurred.
Why managing customer feedback is worth your time and effort.
Après des années à faire des tests unitaires et du TDD, qu'avons-nous appris?
Quels sont les pièges les plus courants pour les tests unitaires? Qu'est-ce qui fait que les tests deviennent difficiles à maintenir? Comment augmenter son retour sur investissement?
Qu'est-ce qui a changé depuis les dernières années dans les meilleures pratiques de tests unitaires et de TDD?
Spring Boot has taken the world by storm. In this talk we'll look at how to build production-worthy services and applications quickly and easily with Spring Boot, building upon the best-of-breed components from all across the Java ecosystem.
The content publishing industry took the world by storm some years ago by providing its users visual tools to update, manage, and publish their content. Large players have existed for quite some time, but now find themselves on uncertain grounds. Newer, smaller players are also entering the space with new and innovative ideas. This talk aims to review the industry’s history, examine how it stands today, and take a deep dive into its future.
Throughout their career, developers and managers will face many projects which appear to be impossible to deliver on time, within budget or within other constraints.
In this presentation, you will discover the secret steps that need to be taken in order to successfully bring back on track any projects. Most important of all, you will find out how to stay cool, keep a healthy mindset and to break through tough situations like a superhero.
We are living in a world with seemingly endless data being collected. Maps give us the opportunity to visualize that data in a way that makes sense. Maps can go from showing geographical data trends for big decision makers, to displaying where your nearest burrito food truck is. Join this talk to learn about the basics of creating a Map web application, including a discussion of the features of top interactive map APIs.
With WordPress 4.4 came the infrastructure to make creating REST endpoints in WordPress easier. These are the first step to the project's goal of making all site's content available via a standard set of REST endpoints which finally let people abandon the project's historic XML-RPC endpoint. In this session we'll talk about what WordPress's REST infrastructure enables today, what that means for developers, and what the future looks like.
A lot has happened in the big fight of native vs. web and closed vs open. Using new browser technologies and old and tested ideas we can now build products that cover all bases. If you want to deliver to customers of today and the ones just getting online, consider Progressive Web Apps as a solution. In this keynote Chris Heilmann will show the why and the how of this approach to delivering content that installs on demand and yet works offline.
There are seven fights that I have over and over again, whenever I start at a company. I'm here to convince you that it's valuable for everyone to have these things in mind from the inception of a project.
Having these fights early prevents you from doing the software equivalent of poking chocolate chips into an already-baked cookie. They are: localization, security, extensibility, documentation, affordance, acceptance, accessibility.
As a market, we're very introspective. We love to talk about optimising our code, our tools and our environments. We forget that we build for humans and that as humans, we make mistakes. Let's use machine learning to build interfaces that help humans do the tasks they came for. Accessible to all, extensible for some and documented for our own peace of mind. Computers are our tools, we're not here for them. Let's replace magic with common sense.
Learn the secrets to develop trust and confidence in your team, decreasing conflict and stress!
In this powerful session, you'll learn three dangerous trends that many leaders are doing, often unaware, and that negatively affect their trust factor perceived by others.
Without trust, every communication between you and your team will be held with skepticism, causing constant conflict and suspicion.
Write once read many. Stop rediscovering what you already figured out. In this presentation we will see five effective low-cost refactoring practices that will help improve the clarity of your code. You should take time once to make your code easier to read so no one else will have to spend that time again. In this session you will gain valuable tips to help you accomplish just that.
Méconnu et pourtant présent partout, le DOM de l’ombre cache bien des secrets. Enquête sur cette matière noire qui peuple les navigateurs et qui préfigure les “composants” web de demain, stylables, scriptables et loin d’être cachés car les outils pour développeur les dévoilent sans pudeur. On retrouve cette philosophie dans Polymer et d’autres frameworks à balises personnalisées ainsi que 3 spécifications W3C.
Vous avez optimisé la moindre ligne de code de votre site/ application mobile, utilisé toutes les techniques à votre disposition pour avoir un temps de chargement le plus rapide possible. Pourtant, vous utilisateurs se plaignent encore de la lenteur. Apprenons à utiliser différentes techniques design et UX pour travailler la performance également au niveau de la perception utilisateur.
When your PHP code is running on production servers, you’ve got the new challenge, undestand what exactly is going on. With dedicated engine for time-series data you can show useful dashboards for every team, do capacity planning or even monitor your app with anomaly detection algorithms. In this talk I’ll introduce core concepts for data gathering, stacks for processing metrics from PHP app, and techniques from collecting to anomaly detection.
One of the dimensions in the big data world is the velocity. Real-time pace introduces new challenges, especially when trying to apply advanced analytics solutions. Azure ML provides an easy and inexpensive way to use machine learning as a service. The talk will show how to use it when working with data streams for the predictive maintenance problem. It will present big data architecture that enables data ingestion, analysis and persistence.
Having trouble scaling your website? Is that new marketing campaign killing your performance? Are you using a framework or a CMS that causes too much overhead? Give Varnish a try.
Varnish is a reverse proxy that serves cached pages to your visitors instead of hitting the backend servers all the time. Cache is stored in RAM & there's a DSL that allows you to hook into your caching logic.
This is the quickest way to speed up your site/app/API
For many, reading on the mobile web is a slow, clunky and frustrating experience - but it doesn’t have to be that way. The Accelerated Mobile Pages (AMP) Project is an open source initiative that embodies the vision that you should be able to create mobile optimized content once and have it load instantly everywhere. We'll look at how to build complex pages using AMP, why they're fast, and how you can measure success.
PostgreSQL 9.6 is the latest version of PostgreSQL available, and the last one in the 9.x series. This talk will take a look at what new features are included in this major version, including things like phrase searching, multiple replication enhancements, freeze maps and parallel query,
Depuis un certain temps vous entendez parler de Scala, en particulier pour les plateformes réactives et big data?
L’engouement pour ce langage augmente de plus en plus et vous vous demandez pourquoi?
Je vous propose quelques éléments de réponse dans ce talk ou je m’efforcerai de présenter le langage et son écosystème de la façon la plus objective que possible... oui promis :)
Around 2012 and 2013 MongoDB was the database of choice for many developers to start new projects, since it was the "coolest" database solution available. I want to show you how those decisions have had an impact on startups like Queue (where I work), and why we decided to leave MongoDB for good and transition to a relational database.
The term ‘responsive design’ has evolved over the past years to mean more than just fitting a site onto your phone’s screen. Responsiveness now caters to a wide range of needs and concerns, which isn’t always clear or easy to navigate. In this talk, we’ll explore multiple responsive concepts and techniques, their pitfalls and limitations, and explore a range of solutions, tips and tricks to help in the ways of responsive design.
Our job might be to build web applications, but we can't build apps that rely on networking if we don't know how these networks and the big network that connects them all (this thing called the Internet) actually work.
I'll walk through the basics of networking, then dive a lot deeper (from TCP/UDP to sockets, DNS and even OSPF, VRRP and BGP).
Prepare for an eye-opener when you see how much a typical app relies on all of these (and many more)