Spain JS

A summer javascript conference

July 5-6, 2013 Madrid

Douglas Crockford

Type KeyNote

Douglas Crockford was born in the wilds of Minnesota, but left when he was only six months old because it was just too damn cold. He turned his back on a promising career in television when he discovered computers. He has worked in learning systems, small business systems, office automation, games, interactive music, multimedia, location-based entertainment, social systems, and programming languages. He is the inventor of Tilton, the ugliest programming language that was not specifically designed to be an ugly programming language. He is best known for having discovered that there are good parts in JavaScript. This was an important and unexpected discovery. He also discovered the JSON Data Interchange Format, the world's most loved data format. And he works at PayPal.


Much of programming language design is dictated by fashion. As a consequence, opinions about programming languages tend to be strong, shallow, and deeply emotional. The best languages are brilliant and sadly unfashionable. But we love our stylish, over-rated syntax, and this talk presents an amazing parsing technique that helps achieve it.

Axel Rauschmayer

Type Keynote

Dr. Axel Rauschmayer specializes in JavaScript, web technologies and mobile computing. He programs on these platforms and he blogs, teaches, writes and holds talks about them. His blog is at, he is also editor of the JavaScript Weekly newsletter. Axel has been developing web applications since 1995 and held his first talk on Ajax in 2006. In 1999, he was technical manager at an internet startup that later expanded internationally.

Categorizing values: typeof, instanceof and beyond

You have probably heard of two common ways of categorizing values in JavaScript: typeof and instanceof. In this talk, we briefly review the basics of this kind of categorization and then move on to quirks and advanced topics: primitive values versus objects; typeof and instanceof (and their quirks); the internal property [[Class]]; the odd nature of the prototypes of built-in constructors; and more.

Reg Braithwaite

Type Keynote

Reg “raganwald” Braithwaite is proof that somewhere, a village is missing its idiot. Either that, or a combinatory forest is missing its Idiot Bird, nobody is really sure. His interests include constructing surreal numbers, deconstructing hopelessly egocentric nulls, and celebrating the joy of programming.

La Hermosa Vida

Combinators, Decorators, and a Beautiful Algorithm in JavaScript." This will be a tour of implementing the HashLife algorithm in JavaScript as an introduction to the functional techniques.

Giorgo Sardo

Type Talk

Level Beginner

Giorgio Sardo is a Director in the Technical Evangelism & Development group at Microsoft Corp, exploring bleeding edge technologies for Windows, Windows Phone and XBOX. Winner of the Imagine Cup worldwide championship, nominated as Best Consultant of the Year from the British Computer Society, Giorgio moved in early 2009 to the Microsoft headquarters in Redmond to focus on the future of the Web. Giorgio is a popular speaker worldwide and in the last 5 years he has presented at hundreds of conferences. In collaboration with the most influential partners around the globe, his team has been creating some of the most inspiring and beautiful HTML5 apps and games available on the Web or in the Windows Store.

From zero to hero! Building a Windows Store game in HTML5

In this session you'll learn how to build Windows Store games with HTML and JavaScript, using the Windows Runtime and the hardware sensors on the newest devices. Expect to see a lot of code and learn best practices as we start from an empty project and build up to a full game!

Martin Naumann

Type Talk

Level Intermediate

I am a "technical expert" for the R&D Team at Centralway, Zurich.

I make a living evaluating new technologies, coaching our employees and having an eye on the overall code quality.

I also write a lot of code - either for our open source tools or internal projects or in my free time, just for the fun of it.

The web is my favorite platform, but when I have to use a computer, I prefer linux. I love and embrace open source as much as I contribute to it.

From web apps to hybrid mobile apps - Leveraging web technologies for making "native" mobile applications

Our company has been developing web sites and web applications as well as mobile applications for iOS and Android for many years now.

The recent step to dump pure-native iOS and Android development in favour of HTML 5 + Javascript + CSS 3 hybrid apps was a tough but fruitful one.

There are many different options to pick from, many decisi ons to make and various roadbumps you're likely to run into.

The talk sums up the most important questions you'll need to answer, talks about a few potential problems and solutions for them as well as giving an example stack, that allows you to generate the mobile app along with a "normal" web application.

Leo Lanese

Type Talk

Level Intermediate

Leo has worked in various countries and companies, most notably Nokia (Berlin, Germany), Rumbo (Madrid, Spain), BBC (London, UK) and SKY (London, UK).

Leo has had a 10 year romance with JavaScript, specialising in mobile web technologies in the last five years, and Responsive Websites for the last 3 years.

He is passionate about researching and sharing ideas of the latest cutting edge technologies in the constantly changing the mobile world. He has established and developed the "Responsive Design", technologies at the BBC and SKY using the javaScript/HTML5/CSS3 formula and released the BBC Homepage and SKY nowTV.

Last year, Leo was a speaker at jsConf (Argentina)and scotlandJS (Scotland).

Responsive Web Design: The Good Parts

Since Ethan published his article in 2010 about Responsive Web Design, we have entered into a new phase of development and design for the Web.ResponsiveWebsites have dramatically evolvedfrom the Ethan's milestone. It has became very popular and is now extensively used across the web.

This talk will survey the difficulties and best practice that we learnthroughthe development processes: "The good parts of Responsive Web Design".

Robert Nyman

Type Talk

Level Intermediate

Robert is a Technical Evangelist for Mozilla and the Editor of Mozilla Hacks, the developer blog. He's a strong believer in HTML5 and the Open Web and has been working since 1999 with Front End development for the web - in Sweden and in New York City. He also loves to travel and meet people.

Bringing the open web and APIs to mobile devices with Firefox OS

Learn about the vision behind Firefox OS, and the open web technologies available for building HTML5 apps, including WebAPIs. Check out our Boilerplate app and other tools designed to get you started developing HTML5 apps for Firefox OS and the web.

Pablo Casado

Type Talk

Level Beginner

Former CTO. Before joining Layers, I worked as a consultant for a number of large-scale technological projects for a variety of companies and universities. In addition to my work at Layers, I also founded a mobile software company some years ago.

Introduction to NoSQL with Couchbase

This presentation starts wtith a generic introduction to NoSQL; and explains the reasons why more and more projects are using NoSQL databases. Tug will also talk about the different solution such as Key/Value, Documents, Columns and Graphs datastore.

After this introduction you will see how Couchbase 2.0, an Open Source Document database works and see how it helps the developers to be more productive. During this presentation you will see: * how to use JSON Databases using Node.js * use map reduce function, written in Javascript on V8 Engine, to create secondary index based on JSON attributes * how to scale and monitor a cluster to let your application grows with your application success. During this presentation Tugdual will do demonstration based on Couchbase, Node and AngularJS to show the benefits of Javascript & JSON from client to server to database and how flexible schema/schemaless NoSQL databases empower the developer.

Peter Christensen

Type Talk

Level Intermediate

Peter Christensen is a software developer living in the San Francisco area. He currently works at Manilla and prior to that he worked at Groupon. He has programmed computers most of his life, starting with Hypercard, and now primarily uses Ruby, Javascript and Clojure. He's also involved with software development for Tempo Automation, an open pick-and-place machine, and for the OpenROV DIY submersible project.

Programming the Real World: Javascript for Makers

Cheap electronics components have opened up a whole new world of invention. You can buy a wireless circuit board the size of a quarter and a pocket-sized computer running Linux for under $100. This puts real-life projects in the price range of millions of innovators: robots, home automation, DIY satellites, and more.

Javascript is a great language for these projects, because of its efficient runtimes, widespread use, rich libraries, and web roots. I'll share my experiences working with two hardware projects, including the value that software developers bring to a hardware projects. Finally, I'll show how to get involved in an existing hardware project or start your own.

Teddy Kishi

Type Talk

Level Beginner

Since he was small, all Teddy Kishi wanted to be was a designer and Flash developer. Fortunately, he was saved early last year when he discovered he was a better programmer than designer and that JavaScript and the DOM was infinitely more interesting.

A particles system with the DOM

The cool kids are all using canvas to make their particle systems. If this comes from a belief that the DOM can't handle it, I'd like to show you that maybe it can.

With some clever use of Object creation and a bit of clever dynamic CSS transtioning, we can do gravity, friction, collisions and other cool effects in the DOM

Michael Ficarra

Type Talk

Level Intermediate

Michael is best known for his significant contributions to the CoffeeScript programming language, its original compiler, and his KickStarter-funded rewrite. He can be described as having a passion for defining transformations of all sorts, so he naturally enjoys working with compilers and functional programming languages. As one of Github's most active users, he is an influential member of the online OSS and ECMAScript communities. He is currently working at Groupon in Chicago, IL, USA on their application security team.

SpiderMonkey Parser API: A Standard For Structured JS Representations

The representation of JavaScript programs that Mozilla used when they exposed their SpiderMonkey reflection API isn't perfect; in fact, it has a good number of flaws. But a rich ecosystem of tools has formed around this particular structured representation of JavaScript programs, most notably the popular esprima parser.

The reusability and composability of these tools has made this format the standard for all modern projects that transform, generate, or otherwise work with JavaScript programs. We will explore this burgeoning format, evaluate its design with the benefit of hindsight, and showcase some of the more useful and prominent projects that have adopted it.

Jakob Mattsson

Type Talk

Level Intermediate

Jakob is an entrepreneur. His current company, which he co-founded as CTO, is his third startup. He is a developer at heart and started out building games using C++, but ended up building web based services and fell in love with JavaScript. Lately he has also become a huge fan of Node.js. When Jakob is involved, JavaScript is everywhere and great architecture is the top priority. Over the last years he has been sharing his thoughts and experiences on programming languages, working in startups and building better software at a large number of universities and conferences all over Europe.

Manage those dependencies!

Package- and dependency management is like source control; somehow we manage to survive without it, but it's a pain in the ass. For some reason, web development has been a place of medival darkness without proper tools for handling packages and dependencies. Until now.

This presentation will showcase how you can leverage NPM, Browserify, Yarnify, Bower, Jam, RequireJS and all of their friends to bring your application and your development process to the age of Enlightenment.

Tom Buchok

Type Talk

Level Intermediate

A programmer working in New York City — who just finished living in Madrid for several years! — with a background in advertising tech where JavaScript is implemented in all the ways you read about.

A history: Node.js and serving billions of requests in the real world

The growth of a full-scale, dynamic Node.js platform from the beginning of an idea, to its distributed architecture today. What types of barriers did we encounter? What types of mistakes did we make? What important decisions did we choose?

Sometimes challenges are technical, sometimes they are organizational.

We'll discuss a real product, out in the wild churning out thousands of requests per second. Excited to be able to share this story.

Vicent Marti

Type Talk

Level Intermediate

Intergalactic MC. Systems engineer at GitHub.

Vicent Marti has a name which is difficult to pronounce. Despite his main occupation as intergalactic MC, he spends his spare time working full time at GitHub, where he builds tools for the people who build the Internet. There, he maintains The Library, wrecks occasional havoc on the backend and evangelizes what he believes is beautiful technology. As an European citizen (Spain, according to his passport), Vicent enjoys drums and yellow things and the sweet, sweet smell of civilization.

Threedee Tales of Urban Bohemia

This talk is a gentle and practical introduction to the concept of low-level 3D rendering, exposed through a web browser and the lens of avascript with WebGL

Tomás Pérez & José M. Pérez

Type Talk

Level Intermediate

Talk presented by 2 Frontend Web Developers from Spotify: Jose Pérez and Tomás Pérez, based in Stockholm.

They love to learn and play with new web technologies, specially focused into HTML5, Mobile Web and Web Performance Optimization.

Cross-platform application development using web technologies

This talk presents how Spotify uses web technologies to develop and maintain key features in the different platforms that compose the Spotify experience: desktop client, mobile apps and the Web Player.

Hybrid apps is a hot topic nowadays, and we will explain how our architecture abstracts a web developer from the platform, making it possible to share code across multiple devices.

In addition, we will talk about how we communicate with the Spotify clients, using web technologies such as local storage to communicate between different tabs and post messages to achieve cross domain communication. We will also analyze some browser inconsistencies and will show work-arounds to solve them.

Stuart Memo

Type Talk

Level Beginner

Stuart is a web developer living and working in Glasgow, Scotland. A self-proclaimed "champion of the future", he spends much of his time experimenting with HTML5 and the Web Audio API. These experiments usually result in projects with silly names. -

Last year, he gave one of the most popular talks at JSConf EU, declaring that JavaScript is the new Punk Rock. -

The Amazing Sounds of JavaScript

From the theremin to the sampler via the synthesizer and drum machine, technology has always shaped the sound of popular music. While the web has become the most popular way of sharing music, it’s never been used to make it. That is until now. The Web Audio API enables us to design and create instruments & audio effects from scratch using JavaScript. This talk will not only show you how to do this, but why this is the future of making music.

Jozsef Ferenc Pengo

Type Talk

Level Beginner

After working for many failed and less successful startups, Dzsó joined Prezi as a developer, member of the Mobile Browser Team. They working on an HTML5 application, using modern tools and languages which compile to JavaScript. He organizes workshops, coding dojos in Budapest, and he co-organized as the largest event in javascript, the MLOC.JS Budapest Conference.

Hunting down memory leaks

Techniques, how to find and eliminate memory leaks in client and server code.

Common memory leak sources, profilers, monitoring and testing tools with examples.

Workshops Speakers

Gonzalo Ruiz de Villa

Type Workshop

Level Beginner

Gonzalo Ruiz de Villa is CIO and co-founder of Adesis Netlife, which is a Spanish company that offers full services in the area of Internet and new technologies since year 2000. During the last 13 years, he has been working with both server and front technologies. In the last years, he has been involved in the development of big Single Page Application websites for financial institutions, where he has used new MVC frameworks such as Backbone.js and AngularJS.

Finding and debugging Memory Leaks in JavaScript with Chrome Dev Tools

JavaScript applications are increasingly larger and they also tend to execute during longer periods. In these applications, the memory is a scarce and valuable resource that must be taken care of. With the support of the Chrome Dev Tools, we will learn how to analyze memory consumption and how to find and fix memory leaks, making our applications more stable and robust in the way.

Julio Cesar Staude

Type Workshop

Level Beginner

Julio has worked at Intel in QA Testing for the Intel AppUp Program, also did worked for Meego testing the UI. Then Started to work on the marketing side of AppUp Program for Latin America and Spain.

After that he began to work on Tizen as a Community Manager for Spanish Communities.

And the future… he doesn’t know what will bring to me.

Tizen Developer

Tizen has 1500€ to give to the developer who will develop the best Tizen app. More details during the workshop.

Intel is organizing a Tizen DevLab in Madrid ! All developers will be able to discover all the opportunities brought by the new Linux Foundation's OS.

Tizen is the new Open Source operating system. From the Fall 2013, Samsung will launch a new upscale mobile phone running Tizen !

Smartphones, tablets, PC's, cars, connected TV… opportunities for apps developers are enormous.

We designed two identical 4-hour workshops to give you special insights about Tizen :

  • 1st workshop : 9:30 am - 1:30 pm
  • 2nd workshop : 3:00 pm - 7:00 pm

During this workshop, you will get started on Tizen with Intel's team. Intel will present how to develop a Tizen app and help you get familiar with developing on this new OS.

At the end you all will get an amazing surprise!

Vicenç García

Type Workshop

Level Beginner

He has been developing software for 11 years, first in an academic environment combining it with training and then in private business. He spent 6 years in Indra Security Sistems, being responsable for developing a surveillance system and driving the use of Agile methodologies in the company.

He currently works at Plain Concepts as a developer and trainer in the ALM area. I’m an active member of the agile-spain community, being part of the organization of AOS2010 and CAS2010 and driving the Barcelona and Zona Norte local groups, organizing other local events. I’m Certified Scrum Master, Professional Scrum Developer, Microsoft Certified Professional and he writes on and

Functional testing with CasperJS

Functional testing is an important part when developing an application. It helps us, combined with other techniques like BDD or ATDD, to ensure that we are making the right things.

We will explain what functional testing is and when it can be useful and we will explore the capabilities that CasperJs has to do functional tests.

Call for papers

Become a speaker of the conference

The deadline to receive proposals is May 20th

Call for papers is closed!. Thank you everybody!