JSConf EU 2014 schedule

Saturday 13th September 2014

  • The ServiceWorker is coming, look busy

    by Jake Archibald

    Look at the apps on your homescreen. Why are they native? Why aren’t they just on the web? Its usually some combination of push messaging, background sync, offline & performance.

    When native has something the web doesn’t, we should consider it a bug. Let’s have a look at the fixes, focusing on the ServiceWorker.

    At 10:00am to 10:30am, Saturday 13th September

    In Back Track, Radialsystem V

  • A Community of People, Not Projects

    by Carter M Rabasa

    When I became a developer evangelist in early 2012, I was told that an important part of my job was to support my developer community. This open ended mandate was both scary and exciting and I threw myself into the role, eventually getting involved in organizing meetups, hackathons, conferences and even a coworking space in my adopted home of Seattle, WA. However, earlier this year I started to experience severe burnout related to these activities and as I spoke to other organizers I started to hear similar stories. The number of developers worldwide is growing at a breakneck pace and we need many more people to jump in and help support the new members of our community. This talk is about the joys of getting involved but also how the things that you love can sometimes hurt you. I’d like to share a few things I learned recently about prioritizing people over projects that make contributing both more scalable and also much more rewarding.

    At 10:30am to 11:00am, Saturday 13th September

    In Side Track, Radialsystem V

  • We Will All Be Game Programmers

    by Hunter Loftis

    Games in the 80s and 90s redefined the relationship between a user and a computer. Realtime, offline-first networking, fluid graphics, and physics-based animations posed incredible development challenges. Overcoming these challenges introduced a whole class of elegant techniques for immersive user experiences - that most JavaScript developers have never heard of!

    My talk will show that normal JS apps will soon rely on game programming techniques every day. You’ll be amazed at how many libraries you’re using are already based on basic game-loop architecture. Finally, you’ll leave ready to push your own apps forward with a little bit of gaming magic.

    At 10:30am to 11:00am, Saturday 13th September

    In Back Track, Radialsystem V

  • Alternative Smartphone Interactions based on Sensor Data

    by Michael Poltorak

    This is a talk about alternative ways to interact with smartphones and tablets.

    Being equipped with an array of sensors (touch screen, GPS, camera, proximity sensor, gyroscopes, compass, microphone, accelerometer, and even a humitiy sensor), smartphones and tablets offer a whole new range of input options.

    I’ll talk about how these new inputs can help improve and augment the current keyboard and swipe/pinch interaction paradigm. I’ll give examples of how the new interaction types can be implemented (some at a conceptual level, others more concrete). Demo-wise, I’ll also show you how a real-life search engine can be augmented for smartphone use.

    In addition, I’ll show you how data from many of the sensors are accessible directly from Javascript and give some pointers to how to transform the raw data into more structured web app consumable input.

    Overall, my talk is about how to move away from a text input based paradigm and how to establish new ways of interaction better suited to the new devices on their own terms.

    At 11:15am to 11:45am, Saturday 13th September

    In Side Track, Radialsystem V

  • JavaScript Level 9000

    by Christoph Martens

    Low Level JavaScript insights from the JIT compiler perspective. From Garbage Collection and Tracing algorithms to callsite analysis, native data types (Array, Object, Function, Function templates) and their implementations, unboxing and hash optimizations, fake operator overloads, ASM branches, branch prediction on the CPU and Hidden Classes in V8 to highlevel usage examples inside game engines and how these can be optimized.

    At 11:15am to 11:45am, Saturday 13th September

    In Back Track, Radialsystem V

  • Developing Games Using Data not Trees

    by Drew Petersen

    You’re finishing up the final bugs for your guaranteed AppStore hit, Asteroids: Totally Different This Time. Just before release, your crazy game designer partner has an epiphany: “What if… What if you were the asteroids, instead of the ship!? It will subvert the player’s every expectation since the dawn of gaming!”

    Another programmer might despair: the glorious, deep and wide inheritance tree, ruined! The entire code architecture was founded on the player controlling just the ship!

    But instead of despair, you remember that you focused more on the data and the systems that operate on that data, and are able to turn around the new version overnight.

    Is this a dream? It might be. Let’s find out during this talk.

    At 11:45am to 12:15pm, Saturday 13th September

    In Side Track, Radialsystem V

  • JavaScript ♥ Unicode

    by Mathias Bynens

    This presentation explains the various ways in which JavaScript relies on Unicode, what the consequences are for JavaScript developers, and how ECMAScript 6 will make our lives a bit easier in this regard.

    First off, the basics of Unicode are explained. Once that’s out of the way, I’ll talk a little bit about different character encodings, only to determine the character encoding that JavaScript uses internally.

    Then we’ll explore the various consequences of JavaScript exposing “characters” according to UCS-2/UTF-16, and I’ll explain why it can be problematic.

    Finally, I’ll present robust ECMAScript 5-compatible workarounds to the issues encountered, and explain how ECMAScript 6 will make it easier to support full Unicode in JavaScript strings and regular expressions.

    At 11:45am to 12:15pm, Saturday 13th September

    In Back Track, Radialsystem V

  • It Takes a Village to Make a Programmer

    by michele with one L

    In two parts, I’ll share the story of how I transformed into a hirable web developer in just under one year while highlighting the ways people helped me to get to that point. I hope you’ll come away with ideas how you can make a difference in your own community. As Tal Ben-Shahar says, there is no more selfish act than a generous one, so this talk is really for your own good.

    At 12:15pm to 12:45pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Parallel JavaScript

    by Jaswanth Sreeram

    JavaScript is the lingua franca of the web, yet it remains predominantly sequential and web applications until recently have been unable to utilize hardware parallelism. The goal of Parallel JavaScript is to change that. Parallel JavaScript provides web developers with a safe, high-level API that allows them to write applications that effectively utilize multi-core and SIMD parallelism as well as GPUs while preserving the programmability and portability of JavaScript. This talk will introduce the key design principles of Parallel JavaScript, the API itself and our experiences with implementing it. Finally I will show sample applications that highlight the leaps in performance that are possible. I will also briefly discuss the standardization efforts underway to make Parallel JavaScript part of ECMAScript 7.

    At 12:15pm to 12:45pm, Saturday 13th September

    In Back Track, Radialsystem V

  • Supercharging Node with Kraken

    by Tim Messerschmidt

    Scaling Node applications from prototyping stacks to production can be very difficult as there is a big lack of conventions and best practices that work across companies and even communities. In this talk Tim will be showcasing his favourite 4 modules of KrakenJS – a thin convention layer on top of Express – which helped PayPal pushing out Node apps. Learn some key findings that PayPal made when working on Node and how we structured the introduction of it into our existing infrastructure. Being more efficient, needing less people working on projects and being way more responsive than classical apps Node and Kraken have become PayPal’s favourite stack.

    At 1:45pm to 2:15pm, Saturday 13th September

    In Side Track, Radialsystem V

  • What Harry Potter Can Teach Us About JavaScript

    by Sara Robinson

    On July 21st, 2007, 15 million people around the world took a break from their daily routine to read the final installment of J.K. Rowling’s best-selling Harry Potter series. Through this spellbinding story, Rowling crafted a global phenomenon, outselling every book in history with the exception of the Bible and Mao Zedong’s Little Red Book. What can the Harry Potter phenomenon, which was largely fueled by the Internet, teach us about JavaScript? More than you might think.

    In my talk, I’ll highlight some similarities between the adoption of Harry Potter and JavaScript. The spread of both HP and JavaScript occurred at the same time in the late 90s, and each phenomenon had a role in shaping the other. I’ll also discuss how the magic of Harry Potter and its international fan following can inform the global JavaScript community. After the talk, you’ll understand the evolution of JavaScript from an entirely new perspective and you’ll be exposed to a few magical JavaScript APIs.

    At 1:45pm to 2:15pm, Saturday 13th September

    In Back Track, Radialsystem V

  • We're struggling to keep up (A brief history of Browser Security Features)

    by Frederik B

    The web as it appears today consists of apps, rather than hypertext.

    Recent additions to HTML5 APIs and the web application landscape raises the stakes for browser security: The attacker may now easily shift their target to active browsing sessions rather than the underlying operating system.

    This talk covers the browser security model as it currently stands in modern user agents. After discussing legacy as well as recently added features, it will also present some expected enhancements in the browser security landscape. Following this overview, common bypasses and shortcomings of these security mechanisms will be discussed.

    At 2:15pm to 2:45pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Beyond HTML and CSS: Fusing Javascript and shaders for live graphics and UI programming

    by rikarends

    What would the world look like when you can style UI with actual shader programs? The web could be 60fps on mobile, and we can start to imagine what lies beyond HTML and CSS

    In this talk i will present OneJS, an open source JS superset with shader GLSL and reactive programming syntax. OneJS exposes the power of programmable GPUs to UI designers and programmers in a very accessible way.

    Now the fixed functions encoded in CSS, Canvas or SVG are a thing of the past, and we can finally go beyond and explore.

    At 2:45pm to 3:15pm, Saturday 13th September

    In Back Track, Radialsystem V

  • How Toyota Motor Europe use Heroku to manufacture web sites on the web

    by Ray McDermott

    At 2:45pm to 3:15pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Building a maintainable bi-directional cross platform protocol

    by William Lewis and Pavel Dovbush

    Common web frameworks make the assumption you are going to build against a Restful API, but what if your use case doesn’t fit with the Restful principles. How might you go about systematically designing a protocol between client and server? In this talk we are going to discuss how you can design and build an RPC style protocol and service layer that is flexible and extenisble enough to serve multiple cross platform clients and servers, growing with application needs whilst letting developers focus on building features instead of maintaining API boilerplate.

    At 3:30pm to 4:00pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Practical functional programming: pick two

    by James Coglan

    We often talk about JavaScript as a ‘functional programming language’. This is mostly because it has first-class functions, but there is far more to functional programming than that. Immutable data, recursion, laziness, type systems and sophisticated static analysis are all tools in the functional programmer’s box.

    Unfortunately, many of those tools are regarded as impractical, academic concepts of no use to real-world software engineers. But as you’ll find out, they’re based on quite simple ideas and you’re already using a few of them – you just don’t know it yet. And the ones you’re not using might inspire you to look at programming differently.

    By consciously paying attention to these techniques, we can make our programs easier to understand, test and change, and we can even use them to make our computers solve more of our problems for us.

    At 3:30pm to 4:00pm, Saturday 13th September

    In Back Track, Radialsystem V

  • How GZIP compression works

    by Raul Fraile

    Data compression is an amazing topic. Even in today’s world, with fast networks and almost unlimited storage, data compression is still relevant, especially for mobile devices and countries with poor Internet connections.

    For better or worse, GZIP compression is the de-facto lossless compression method for compressing text data in websites. It is not the fastest nor the better, but provides an excellent tradeoff between speed and compression ratio. The way Internet works makes it also difficult to use newer compression methods.

    This talk examines how GZIP works internally, explaining the internals of the DEFLATE algorithm, which is a combination of LZ77 and Huffman coding. Different implementations will be compared, such as GNU GZIP, 7-ZIP and zopfli, focusing on why and how some of these implementations perform better than others.

    Finally, we will try to go beyond GZIP, preprocessing our data to achieve better results. For example, transposing JSON.

    At 4:00pm to 4:30pm, Saturday 13th September

    In Back Track, Radialsystem V

  • Keeping secrets with JavaScript: An Introduction to the WebCrypto API

    by Tim Taubert

    With the web slowly maturing as a platform the demand for cryptography in the browser has risen, especially in a post-Snowden era. Many of us have heard about the upcoming Web Cryptography API but at the time of writing there seem to be no good introductions available. We will take a look at the proposed W3C spec and its current state of implementation, talk about the good parts and the pitfalls to avoid. I will share my vision of a simpler and safer NaCl-inspired API, and hopefully leave you excited about experimenting further with cryptography in the browser.

    At 4:00pm to 4:30pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Async and Streaming JS - Are we doing it wrong?

    by Matthew Podwysocki

    On a dark and fateful day, Promises were adopted as the default asynchronous implementation in JavaScript, much to the chagrin of Node community and the church of small modules. So, we have callbacks, promises, generators? What about streams or even yet WHATWG Streams? What about events? What are we missing to make ourselves the most productive. This talk with deconstruct what we’re doing, how we’re doing it wrong, and have a rather opinionated way of how we move forward with sane async coding. Together we can build a better future, I promise!

    At 4:30pm to 5:00pm, Saturday 13th September

    In Back Track, Radialsystem V

  • Deep-link to Anything on the Web

    by michael

    The URL is universal in describing location within the web. Sadly linking within documents has been a start-stop process. The trusty Anchor tag is robust but very much a manual and time-intensive task. In publishing there is a huge level of complexity and over-head when you try to maintain unique anchor links when text is subject to change (developing stories, corrections, edits). As we see more single-page articles, especially long-form, this is a growing concern. Luckily there are number of flexible, fault-tolerant, dynamic solutions we can use and extend and have applications with annotation, commenting, sharing and highlighting.

    At 4:30pm to 5:00pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Implement an Esoteric Programming Language for Fun and... Well, Fun

    by Arne Martin Aurlien

    Inside most of us there’s a befunge programmer who wants to come out. When doing day-to-day “serious” programming it is usually a good idea to keep them as firmly locked up as possible. Let’s ignore that instinct for a little while.

    In this talk I’ll try to convince you why you should try writing a completely impractical interpreter of your own. I’ll also use terms like “lexer”, “tokenizer” and “parser” at their widest possible definitions.

    At 5:15pm to 5:45pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Monster Audio-Visual demos in a TCP packet

    by Mathieu 'p01' Henri

    Whole new worlds come into life when the creative coding and technical madness of the Demoscene meet the breadth of optimization techniques of the web platform.

    In this talk we will step back from our day job, twist best practices, abuse JavaScript and web browsers, use good old smoke and mirrors to create a monster Audio-Visual demo in a handful of bytes.

    Why go to such length? Because it’s damn rewarding to create these small pieces of art! Try.

    At 5:15pm to 5:45pm, Saturday 13th September

    In Back Track, Radialsystem V

    Coverage video

  • Air Crashes

    by Dave Cridland

    It’s quite likely that at the end of this talk, everyone’s going to be too terrified to fly home. This talk contains phrases like “In two minutes and thirty-one seconds, everyone on this plane is going to die.”. In the course of this talk, the horrific deaths of hundreds of people will be discussed, and we’ll look at what killed them in detail.

    On the plus side, air crashes are the most well-investigated complex systems failures, and the lessons learned from these can be reapplied to coping with failure when it happens in the complex systems we build.

    Also, they’re a lot more interesting than website outages.

    At 5:45pm to 6:15pm, Saturday 13th September

    In Side Track, Radialsystem V

  • Usefulness of Uselessness

    by brad bouse

    Don’t tell your boss, but I want you to make a useless art project–because it’s actually pretty useful. Why? Committing to uselessness is a freeing experiment. As professionals, we tend to focus on the end result instead of the process, and that’s not healthy. Embrace the creative process (iteration and experimentation) on a project and see where the path takes you.

    “Inspiration is for amateurs. The rest of us just show up and get to work” - Chuck Close

    At 5:45pm to 6:15pm, Saturday 13th September

    In Back Track, Radialsystem V

  • The Meaning of Words

    by Stephan Seidt

    I am writing in English and you understand me perfectly well. We share a grammar and, thanks to the internet, an ever-growing vocabulary.

    I am writing a new JavaScript program and the computer does not understand the words lodash, jquery or angular. I have to npm install and require these words, and while we’ve grown used to package managers and module systems I began to wonder: Can we do better?

    What happens when words like lodash and fibonacci had meaning without a single require, git clone or npm install? In turn, what if every program you write instantly has a word for it that everyone can use?

    At 6:15pm to 6:45pm, Saturday 13th September

    In Back Track, Radialsystem V

    Coverage video


    by Tim Pietrusky

    A local network of single-board computer running Node.js & providing an API to control different kind of devices: LED tower, LED displays & more. This network is dominated by one main computer & a web app running on Angular.js in the browser. Live Demo: Web App + Web Audio API + SoundCloud + Network of Devices = NERD DISCO!

    At 9:00pm to 9:20pm, Saturday 13th September

    In Radialsystem V

Sunday 14th September 2014

  • invokedynamic.js

    by Vyacheslav Egorov

    The apple always falls down attracted by the gravity of the earth. It’s the law of physics. The function is never inlined if it’s source is bigger than 600 characters long. It’s a heuristic - a physical law of our dystopian cyber-world confined inside a JavaScript Virtual Machine.

    Ever wanted to rebel against the sad immutability of the physics? Lets try to make functions fall upwards and inline all the apples.

    In an ultimate attempt to create a space-time paradox that will rip our universe apart we will look at Java programmers implementing JavaScript on JVM through invokedynamic and then will implement invokedynamic in a JS VM instead.

    The true freedom is just one heuristic away.

    At 9:30am to 10:00am, Sunday 14th September

    In Back Track, Radialsystem V

  • Javascript... Torrents... and Mad Science!

    by Mathias Buus

    Enter the ever evolving world of peer to peer using Javascript. In this talk we will push the limits of what is possible today using BitTorrent, streaming, and Javascript.

    There will be demos and MAD SCIENCE.

    At 10:00am to 10:30am, Sunday 14th September

    In Back Track, Radialsystem V

  • JavaScript Tools at Scale Using Type Information

    by Mark Knichel

    2013 and 2014 has seen the rise of JavaScript parsers that generate a consumable AST (such as Esprima or Acorn) and static analysis tools that operate on that AST (eslint, esmangle, or escodegen, or graspjs). These tools all operate on the structure of JS but have to rely on the AST node type or full name to modify the underlying code. With type information, static analysis and refactoring tools could be made more powerful by being able to accurately refer to any JavaScript statement in the codebase.

    In this talk I’ll show how to use declared and inferred type information to make JavaScript safer to use at scale (think prevent XSS) and how to use simple JavaScript templates to apply complex automated refactorings in minutes throughout extremely large code bases.

    At 10:30am to 11:00am, Sunday 14th September

    In Back Track, Radialsystem V

  • Why are there so many Javascript charting libraries?!?

    D3. NVD3. C3. Highcharts. And now, from Palantir, Plottable. There are seemingly innumerable Javascript charting libraries, all producing similar charts and often built on the same technologies. Why are there so many options? And why does it seem like more are coming out every day? We will explore the landscape of charting libraries, and explain why Palantir decided to write Plottable.js. We hope to figure out why there are so many of these things, and chart a course towards the One Library – to Rule Them All.

    At 11:00am to 11:30am, Sunday 14th September

    In Back Track, Radialsystem V

Schedule incomplete?

Add a new session

Filter by Day

Filter by coverage

Filter by Topic

Filter by Venue

Filter by Space