JSConf.Asia 2014

20 + 21 Nov 2014

Asia’s most influential web developer conference

sponsored by

Watch the talk videos!


20 speakers, 2 parties and 5 workshops including our NodeBoats hardware workshop with Spark.io and iDA wait for you this year, hosted by these amazing people.

Thursday 20th

8 AM


9 AM

Oh, hai!

Sayanee Basu @sayanee_

9:15 AM

Building Isomorphic Apps

Spike Brehm, Airbnb @spikebrehm

Over the past year or so, we’ve seen the emergence of a new way of building JavaScript web apps that share code between the web browser and the server, using Node.js — a technique that has come to be known as "isomorphic JavaScript.” There are a variety of use cases for isomorphic JavaScript; some apps render HTML on both the server and the client, some apps share just a few small bits of application logic, while others share the entire application runtime between client and server to provide advanced offline and realtime features. Why go isomorphic? The main benefits are performance, maintainability, reusability, and SEO.
This talk will share examples of isomorphic JavaScript apps running in the wild, explore the exploding ecosystem of asset building tools, such as Browserify, Webpack, and Gulp, that allow developers to build their own isomorphic JavaScript apps with open-source libraries, demonstrate how to build an isomorphic JavaScript module from scratch, and explore how libraries like React and Flux can be used to build a single-page app that renders on the server.

Spike is a web engineer at Airbnb. He’s currently prototyping the next generation of Airbnb’s front end stack, tackling the problem of "isomorphic JavaScript" – building apps that have the flexibility to run on both the client and server using the same codebase.


NodeBoats Builder with spark.io and IDA

Chinmay Pendharkar, Sonoport @ntt

Up to 24 attendees will be able to apply for this workshop online short before the event. Watch your inbox for the link!

Throughout one entire Thursday we’re going to dive into the mysteries of hardware programming with JavaScript. You’ll get all the parts and tools necessary to build your own kick-ass boat with a Spark Core at its connected heart. We’ll throw you in a team of two and your creativity and craftsmanship is key to come up with, build and program the best boat of the conference. The Amara Sanctuary’s swimming pool will be hosting our competition on Thursday evening and we’ll have prizes for the winning team.
A big thank you for the great people at spark.io for providing the Spark Core Maker Kits and Singapore’s IDA for lending us hardware and their lab tools!

Chinmay is a geek who works with web based audio tech. His background is in embedded systems and engineering acoustics, and he spent 6 months helping to build an autonomous robotic submarine. He is the organizer of a bunch of cool local geek/developer/hacker meetups in Singapore.

10 AM

Pixel Art and Complex Systems

Vince Allen, Spotify @vinceallenvince

Once defined by its limitations, pixel art has evolved into a highly expressive visual style. Illustrators, product designers and artists continually challenge the conventional pixel art sensibility to produce beautiful work for the street, our homes and museums.
Working in abstraction, pixel artists manipulate a simple set of design priniciples. This talk will focus on techniques to render pixel art in a web browser using JavaScript and the DOM. We’ll start by drawing characters and scenes in the traditional 8-bit style. We’ll also set them in motion and create framed-based pixel art animation.
Next, we’ll focus on pixels themselves and how to transform them into autonomous agents. Using the same rendering techniques, we’ll create complex systems out of simple rules. As we try to balance these systems, we’ll observe interesting emergent behaviors. Finally, we’ll learn how to render these systems to HD video using Node.js and Photoshop.

Vince is a software engineering manager at Spotify in New York. He’s been designing and programming for almost 20 years and devotes most of his spare time to FloraJS, a JavaScript framework for creating natural simulations in a web browser. Listen to Vince on Spotify (search for Vince Allen or his alias, DJ Monkey Pants) or find him at vinceallen.com.

10:30 AM

No script, all coffee

11:15 AM

Bad Form

Chris Lienert, Jardine Lloyd Thompson @cliener

At any given time and place, if you listen carefully, you can hear the screams of frustration from people trying to fill out a form on the web. We web developers are the ones who can fix that and I’ll show you how.

Chris has been doing all sorts of things to innocent web sites for 17 years and is also responsible for unleashing web forms library Quaid-JS upon the world. He is currently working in the in-house web team at insurance broker Jardine Lloyd Thompson in Perth, Australia Aside from musical distractions and earning frequent flyer points, Chris and his wife Sarah can often be found in the company of their very small human.

12 PM

HTTP Headers – the simplest security

Wei Lu@luweidewei

Not sure what Content-Security-Policy and Strict-Transport-Security are about? Your web apps are at risk! Security is crucial but can be hard to get right. Luckily for web developers, the HTTP protocol comes with well-thought-out security specifications. Modern browsers implementing those security features are capable of doing much of the heavy lifting for us. It is our responsibility to put the browsers on guard. This talk explores which security headers are especially useful along with when and how to use them.

Wei is a full-time open source software developer, passionate about beautiful code and cryptocurrencies. She’s currently leading the development effort of Hive web wallet - an elegant cryptocurrency wallet. She’s also a core maintainer of bitcoinjs-lib and co-organizes SingaporeJS meetups and local NodeSchool workshops.

12:45 PM

Lunch delicousness

1:45 PM

Fun with JavaScript and sensors

Jan Jongboom, Telenor @janjongboom

As web developers we treat mobile phones as scaled down desktops. We like responsive design and nice looking buttons. But we can do so much more! That little device in your pocket is equipped with a gazillion sensors, and thus able to connect with the real life. Why not exploit that? It’s time to do crazy stuff with phones!
In a talk that is filled with demo’s Jan Jongboom will throw phones in the air, create a theremin, build a security cam, rip some phones apart, play with the gyroscope and maybe even do some juggling (he’s practicing). And all of that... with JavaScript.

Jan Jongboom is a battle-hardened mobile developer who currently works as a Firefox OS Contributor & Evangelist for Telenor, which allows him to take apart phones for a living. He is the author of Firefox OS in Action, and his first ever published article credited him as working for the Parks Department.

2:30 PM

The Art of Less

Martin Kleppe, Ubilabs @aemkei

Focussing on the smallest scale will sometimes lead to new worlds: As a developer you will discover beautiful aspects of the language you use every day. In this talk, Martin will teach you magic tricks how to create handsome code in as few characters as possible. He will showcase mind-bending hacks and introduce you to the incredible art of code golfing.

Martin is the organizer of HHJS and "Head of Development" at Ubilabs. His company develops applications based on the Google Maps API for an international client base. He is the maniac who built the spinning globe in 1K of JavaScript and hacked Tetris in less than 140 bytes. He is an active speaker at conferences and loves to share the latest insights with the community.

3:15 PM

Quiver.js: Rethinking Web Frameworks

Soares Chen @soareschen

The web has vastly evolved since it was first invented. However, the way we write web applications has not changed much from the way we wrote the first MVC web frameworks running on a single server. Today’s web applications run in the cloud with a myriad combination of distributed subsystems. Yet we still write web applications as a monolithic piece of software that runs the same on every server.
Quiver is a new approach to tame the modern web architecture. It learns from best practices including the Unix Philosophy, REST architecture, microservices, and combines them into an elegant component system. With Quiver, a web application is organized as a set of loosely coupled components that are connected declaratively. Quiver makes it possible to create reusable subsystems such that the same application logic can run on vastly different environments.

Soares Chen is an independent web developer from Penang, Malaysia. He work mostly on server backend using Node since 2011, and is passionate about web technologies. He currently stays in Singapore and is active in the SingaporeJS and HackerspaceSG community. Soares is the creator of Quiver, with it he has the ambition to make building web applications as easy as combining lego bricks.

3:45 PM

Tea Timeout

4:30 PM

Translation workflow and formatting complex translations

Tingan Ho, P1.cn @tingan87

Supporting a multilingual application has been a difficult for a very long time and we are now in a brink of entering a new state where we can do it more easily. Data such as CLDR and technologies such ICU’s MessageFormat is unheard for most people. Yet they are used by global companies such as Google, IBM and Apple. These technologies is now included in a project I have been working on called L10ns(). In addition to solving complex translation formatting with the help of ICU’s MessageFormat and CLDR, L10ns also solves a very difficult workflow problem associated with translation. My session will focus on all the mayor problems in internationalizing applications and help people use efficient industry best practices and solutions for producing multilingual applications.

Tingan is a designer, coder & thinker from China and loves innovation in web, design, and OOS. He is the author of SASS-Inspector and get-translation and contributes to many other open-source projects.

5:15 PM

Preparing your NodeJS Application for scale

Dexter Tan & Laurence Franslay, PayPal

Let’s say you’ve built a brand spanking new Node app. The Internets smile upon you and it becomes super popular! Suddenly people all around the world want to use it too. And naturally, some of them might want to abuse it for nefarious reasons (think stolen private data and leaked selfies). Now you’re thinking to yourself: How do I solve these problems?
With a sample Express app and some help from PayPal’s open-sourced KrakenJS suite, we’ll show you how!

Dexter is an application developer at PayPal. When not working on Node-based KrakenJS projects, he’s out rock climbing, diving and building reusable UI components and widgets, often at the same time.

Laurence is a PayPal engineer on the SWAT team, and enjoys moving up and down the stack. His core interests lies in security and distributed systems, and enjoys looking at performance data to make things faster.

5:15 PM

NodeBoats competition

6 PM

Beer.js with Nonstop Games

Stick around, have a drink, enjoy the music

Friday 21st

8 AM

Eyes open. We have coffee!

9 AM


Feross Aboukhadijeh @feross

This talk will look at WebTorrent, a BitTorrent client for the browser that fully-interoperates with the regular BitTorrent network. WebTorrent uses WebRTC Data Channels and special "hybrid clients" to connect to the wider BitTorrent network. It’s insane to try this.

Feross is currently building WebTorrent, a streaming BitTorrent client for the browser, powered by WebRTC. Before that, he built PeerCDN, a peer-to-peer content delivery network to makes sites faster and cheaper.
He’s a graduate of Stanford and has worked at Quora, Facebook, and Intel and loves "mad science" projects!

9 AM

NodeSchool Singapore III

Tim Oxley, NodeSource @secoif

Up to 24 attendees will be able to sign-up for this workshop online short before the event. Watch your inbox! It’s first come, first serve!

NodeSchool is an international phenomenon of volunteer educators bringing essential Node.JS & JavaScript skills.
NodeSchool is made from a number of interactive lessons written by various individuals on topics ranging from Core Node to WebGL. This will be the third such event held in Singapore, and we’ll be covering the introductory workshops: "learn you node" and "functional javascript workshop" - the quickest way to get a taste for real-world node programming. In addition, for those who have already completed these challenges we will cover "count to six" and "Kick off Koa" which teach some of the interesting aspects of next generation JavaScript programming in ES6.
This session is suitable for beginners to advanced JavaScript developers with little to no Node experience.
Please bring a laptop with node installed and expect to learn something.

Tim is a community-centric Node.js engineer with NodeSource. Tim organises the SingaporeJS meetup, nodeschool events, occasionally hosts the NodeUp podcast and is creator of CampJS.

9:45 AM

There and Back Again - A Game Dev’s Tale

Peggy Kuo, Atlassian @pyko

There are two main challenges in creating a game: starting, and finishing. With the plethora of tools at our disposal, it’s quite easy to embark on our pet projects. But sooner or later, we come across problems. Scope creep, unknown unknowns, fragile code and just life in general. It’s at this point that many games falter by the wayside and are eventually shelved.
In this talk, I’ll take you through my journey of creating my game Trichroma, and share both the technical and non-technical lessons I learned along the way that enabled me to pull it over the finish line and bring it home.

Peggy is a full stack developer at Atlassian who loves creating things. She makes everything from stuffed toys to Android apps, and her latest project is a little game called Trichroma. She co-organises the Girl Geek Dinner and Women Who Code. But if you really want to know the way to her heart... that would be food!

10:30 AM

Have a break

11 AM

Versioning, syncing & streaming large datasets using Dat + Node

Max Ogden @maxogden

Dat is an open source tool, funded by the Sloan Foundation in the US as part of their Science Tools research funding, that seeks to enable collaboration workflows on top of datasets of any size. The high level goal of the Dat project is to make it easier to work with large scientific datasets in an automated way, which both saves time and also makes reproducibility easier. The core dat tool is a streaming dataset versioning + replication system developed with a heavy Unix philospohy designed to encourage extreme modularity and enable many third party applications to be built on top.
In addition to the core tool we are also developing tools for building and distributing streaming, cross platform data pipelines based on Node.js and Docker.
This talk will introduce Dat, talk about how we used Node to build it, and show examples of how to use Node and LevelDB to work with very large datasets.

Max Ogden is a open source software developer who works full time on the Dat project at the United States Open Data Insitute. He previously worked at Code for America, a US based not-for-profit dedicated to improving technology in cities. In his spare time Max organizes the NodeSchool community, CSVConf, TacoConf and likes to travel to countries with Cat Cafes.

11 AM

Intermediate Git and GitHub workshop

Donal Ellis, GitHub

Up to 24 attendees will be able to sign-up for this workshop online short before the event. Watch your inbox! It’s first come, first serve!

You know that version control systems are important. You probably use one every day! But are you using it as effectively as you can?
In this workshop, you will learn essential techniques for collaborating with Git and GitHub. These cover working locally—interacting with branches, diffs, stashes, commit history, the staging area, and the reflog—as well as distributed workflow patterns—using forks and pull requests. Come to refresh your Git knowledge or learn about any of these topics for the first time!

Donal is passionate about sharing knowledge. He spent many years in education, first as a computer science lecturer then as a software engineer, followed by a short detour into the world of startups. Now he is an enterprise support engineer for GitHub where he continues his passion of helping people build software better, together.

11:45 AM

IPCluster – Scaling Zopim’s frontend node servers

Yang Bin Kwok, Zopim @zopim

Realtime applications are easy with Node, but how do you scale out when the load hits? Zopim shares the lessons learnt at scale, as well as their approach to enterprise class software of a simplified network topology eschewing dedicated load balancers and firewalls.

Yang Bin is a co-founder of Zopim and currently works on simplifying the distribution of realtime data across their POPs and the frontend. One day, he hopes to open source Zopim’s web application framework, but in the meantime he dabbles in image processing, visualizations and chinchillas.

12:15 PM

Reactive Programming made simple

Slava Kim, Meteor @imslavko

Reactive Programming is very useful for building complex user interface and interactions. Unfortunately the most popular form of it is FRP (Functional Reactive Programming) which is not an easy paradigm to learn and use for newcomers. In this talk we will present you a much simpler approach that still preserves all the Reactive Programming properties usually required on day-by-day basis but allows you to use the usual imperative style just in a 1Kb library of pure JS.
This talk is suitable for medium-above average programmers who are interested in building user interfaces (although Reactive Programming might appear useful in other parts of a typical application as well). But it can also be useful for novices as this talk has no prerequisites (unlike the mentioned FRP). There will be a pretty simple code examples with a lot of interactivity on the screen. I promise, it will be a good balance between concepts, examples and fun!

Slava is a core developer at the open-source full-stack JS framework Meteor. His work includes Meteor’s real-time data updates from databases, client-side caches, packaging system, Phonegap support and other exciting things. In his free time Slava constantly tries to educate himself on different fascinating topics of Computer Science.

12:45 PM

Lunch cravings

1:45 PM

Gibbering at Algoraves: JS in Live Audiovisual Performances

Charlie Roberts, UCLA

In electronic music, a live coding performance consists of a performer improvising a piece of music by coding it in front of an audience, while projecting their code for the audience to see. People get together and dance to these performances at events called Algoraves.
Gibber is a creative coding environment that I originally designed for live coding performances, and it’s created entirely in JavaScript. In my talk I’ll share the audiovisual capabilities of Gibber, what it’s like to perform with it, and how it’s used to teach kids to create electronic music. Along the way I’ll show off some libraries I’ve created that might be useful to creative coders. And finally, I’ll live code some music and visuals that you may or may not dance to.

Charlie is a Postdoctoral Fellow in the AlloSphere Research Group at the California NanoSystems Institute, where his research explores computer human interaction in virtual reality environments. He is the primary author of Gibber, a creative coding environment for the browser, and has given over a dozen performances in the US, Europe and Asia improvising audiovisual art through live coded JavaScript.

1:45 PM

Creating a geospatial MEAN application

Tamas Piros, MarkLogic @tpiros

Up to 24 attendees will be able to sign-up for this workshop online short before the event. Watch your inbox! It’s first come, first serve!

Heard about the MEAN stack? In this workshop you’ll get a practical example on building out a GeoSpatial application using this technology stack. We will extract GPS data out from JPEG and store those as documents in a NoSQL data storage. We will write a RESTful backend using node.js and server that to a frontend created using ExpressJS and AngularJS.

Tamas is a web advocate, author, teacher & preacher of super-heroic web technologies from England. His technology dish of choice is the MEAN stack with a side of Polymer that he serves regularly during his London MEAN stack meetup group to curious developers.

2:30 PM

Let’s make a game with Phaser

Gabe Hollombe, Neo @gabehollombe

These days, we’re spoiled for choice when it comes to HTML5 game frameworks. But with so many frameworks out there, it’s easy to feel like you might be picking the wrong one for your next (or first) project. Each framework has their own way of doing things, and it can feel like a big commitment to spend time learning a framework before you know everything it’s capable of and if you like its API enough to stick with it.
I’ve used many of the popular HTML5 frameworks over the last few years, and Phaser is my favorite. It’s got everything you’re likely to need (sprites, tilemaps, sound, animation, canvas/webgl, mobile support), a very active community and an extensive suite of online examples (over 320 playable demos).
A conference talk isn’t enough time to show off everything, but I’ll give you a tour of Phaser’s features that you’re most likely to care about. I’ll give you enough familiarity that you’ll feel comfortable getting started with Phaser, and excited by the possibilities.

Gabe is a full-stack senior engineer at Neo Innovation, with a thirst for knowledge and a passion for sharing what he’s learned. He has spoken in on four different continents on topics including JavaScript, Ruby, Vim, and HTML5 Game development.

3:00 PM

Lightning branches - A way to supercharge delivery of features

Ritesh Angural, Redmart @ringular

I will be talking about the "No talk all action" approach we take at RedMart for feature development. You’ll learn how we supercharge development and get code in production fast with an opinionated and automated development workflow. Hint: It’s a cocktail of Git, JS (of course), Chef, Devops & killing pointless meetings.

Ritesh is an Engineer working on the next generation Ecommerce platform at RedMart, currently working on the frontend and continuous delivery. Apart from coding in JavaScript & Ruby, he loves extracting a perfect espresso & scoring goals while wearing the Juventus jersey!

3:30 PM

Moah foood

4 PM

Deep Space - A simulation drama

Simon Swain, Modus Interactive @simon_swain

Starting from bacteria and moving up the food chain, we’ll look at the uncanny way simple rules can create complex results. Along the way we’ll try and conquer the universe. Expect spaceships, explosions, mass extinction and some Javascript.

Simon has been building the web since way back, seeing it evolve from obscure novelty to mainstream dominance. Currently he is designing and building realtime cloud solutions for connected devices. Simon created the Straw library and is a regular presenter at SydJS. On the side, he’s still trying to work out how to do Wing Chun properly.

4 PM

Building real-time multiplayer games with SignalR and JS

Riza Marhaban & Chun Siong Tan, Microsoft @tanchunsiong

Up to 24 attendees will be able to sign-up for this workshop online short before the event. Watch your inbox! It’s first come, first serve!

SignalR is a library for the .NET Web Server Stack. In this workshop, we would be looking at building/architecting a massive scalable game with JS front and SignalR + Cloud backend.

Riza is a Technical Evangelist in Microsoft Singapore. In his past experience, he was a Software Development Engineer working on Microsoft and Open Web Technologies.

Chun Siong is a Technical Evangelist in Microsoft Singapore. He manages the developer community for the Windows platform. In his free time, he codes and codes.

4:45 PM

Future of Node

Mikeal Rogers, Digital Ocean @mikeal

The node community has change tremendously as it has evolved over the last 5 years. Some of the most modern and progressive practices in open source are being tested to great success in this relatively new and dynamic community. While the core project has struggled to release and attract new contributors perhaps the future of node lies not in its central project but in the community that is continuing to grow and flourish.

Mikeal is the Director of Evangelism at DigitalOcean and the creator of request, NodeConf and JSFest.

6 PM

Beach.JS AfterParty with Paypal

Mambo Beach Club, Sentosa Beach

Watch the talk videos!


JSConf.Asia, 20 + 21 Nov 2014 in Singapore
Amara Sanctuary, Sentosa

The web can do THAT?

JSConf has in the past been showcasing the potential of the web more than any other event and this year will be no different. Loads of demos, wows and how-to’s are gonna be accompanied by hands-on workshops and our code-café.

The rest is just the ordinary...

...you know, amazing people, great food, fast Wi-Fi, gorgeous venue, free booze, beach-parties ... just JSConf as usual.

Oh, about the code-café: Yes, Jimmy Monkey is back! They upgraded their gear and invited some of Singapore’s best baristas over to deliver you competitive shot pulling and latte art. Pro-tip: Come to the venue early to skip some of the morning queue. They’ll be at your service both days full-time!

It’s for you!

Together with CSSConf, we want to make community events that bring Southeast-Asia’s best web developers together in a playful and informal environment. It’s gonna be a great setting for learning and exchange and we can’t wait to see you there!

Thomas           Melissa       Raman


The Sponsors

Nonstop Games, a King Studio, is Singapore’s coolest social mobile gaming company and the creator of the tablet hit "Heroes of Honor". They’re going to treat our attendees with a little surprise on Thursday evening...

Palantir Technologies builds software platforms that help human experts perform powerful, collaborative analysis of data at scale. Palantir’s software is deployed at public institutions, private enterprises, and in the non-profit sector to address the challenges of responsibly making sense of complex, diverse data.

We all know Microsoft and we have to thank it for many of the web technologies that we use today. In Singapore Microsoft has an open door for web developers and hosts many user-group meetups in their space.

The Supporters

If you’re interested in supporting the web developer community as well, please write us a mail!

Watch the talk videos!