JSConf.Asia 2015

"It's a bit like TED, just for web devs"
Thank you everybody for coming!
We had a blast!
Southeast Asia's most influential
web developer conference

What is this, you may ask? Well, JSConf.Asia brings Southeast Asia's open web developer community together to exchange, to learn and entertain. We showcase and teach the abilities of the web platform, inspiring the next generation of tools, methods and solutions. Come for the many amazing talks, exchange and collaborate at our coffee bar and make new friends over afternoon drinks. As with JavaScript, you've to step in, take a break and find out yourself what this is. All we want to share ahead of time is:

It's a bit like TED, just for web devs.

Red Dot Design Museum, Singapore

Thursday 19th

8 AM


9 AM


9:30 AM

The real story behind JS performance in mobile web and hybrid apps… because science!

Ryan J Salva, Microsoft @ryanjsalva

In the last few years, PhoneGap and Apache Cordova have gained a lot of traction among mobile app developers. Using a shared codebase, JavaScript developers can build apps for iOS, Android and Windows using the same frameworks they use for the web. But mobile apps carry a different set of user expectations. Users expect ""native performance"" – i.e. slick animations, fluid page transitions, snappy load times and instant visual feedback for user interactions. I've talked with developers building some of the most popular control frameworks (e.g. Ionic, Famo.us) to learn how they think about building performance into hybrid apps. In this session, we'll learn from their experience and chase this elusive rabbit with all the tools at our disposal. We'll answer:

1. By the numbers, what really constitutes "native performance"?
2. What pitfalls lead to poor JS performance in hybrid apps?
3. How can you avoid the most common performance pitfalls?
4. How can you use diagnostic tools to identify problems in your apps?
5. What design tricks can you use to get that authentic "native look-and-feel?

JavaScript developer, Apache Cordova committer, Visual Studio product manager, CrossFitter, sci-fi connoisseur and whiskey enthusiast. With over a decade of experience in software development, you could exhaust two Scrabble™ bags accounting for all the acronyms and technologies Ryan has influenced, but the important thing to know is this: Ryan is a passionate storyteller with deep insight into market forces, technology, user experience and design. Today, he owns tooling for cross-platform app development at Microsoft. Tomorrow, the world.

10:15 AM

Web based 3D Camera Simulator for Perceptual Computing

Princiya Sequeira @princi_ya

This talk is about a web based solution to simulate 3D cameras for prototyping, developing and testing perceptual computing, augmented reality applications without using a physical device. The simulator mimics all of the hardware features of a typical 3D camera like that of Intel’s RealSense or Microsoft’s Kinect. The solution is purely based on JavaScript and easily integrates with the 3D camera’s SDKs. Also, it is platform independent.

Using this simulator, people can conduct workshops, seminars for a larger audience who would be intending to learn a new technology, but wouldn't be having the required hardware (RealSense / Kinect / Leap Motion). All the sci-fi stuff from movies is no more a fiction, and perceptual computing has made all of this transform into reality. So when all of this is happening, I would love to introduce before the audience the immense possibilities which could be explored through JavaScript and web.

Princiya is a technology and start-up enthusiast. JavaScript is her second love, food comes first ;). She likes coding, attending conferences, learning new things, meeting new people. Interested in visualizations, able to hack D3.js to death! An active member and JavaScript study group co-ordinator for WomenWhoCode Bangalore Chapter, Data Expert (Visualizations) for DataKind Bangalore Chapter. Currently she works as a Product Engineer for Guru-G Learning Labs, an ed-tech start-up, based out of Bangalore, India.

10:45 AM

Re-caffeination by Zopim

11:00 AM

Story time: Game programming in JavaScript

Matthew Campbell, Thomson Reuters @kanwisher

Ever want to make your own games? One weekend I decided to make a Thai typing game. This talk is my journey through building a game in JavaScript from scratch to releasing it into the AppStore. Then making native desktop versions of the game. Check this talk if your interested in gaming for education or just general game development programming in JavaScript.

Matthew builds JavaScript games for fun at night and during day he builds one page JavaScript apps with GO backends. He was a founder of Errplane and Langfight. Right now he is the lead for the largest Financial Instant Messenger at Thomson Reuters called EikonMessenger. He recently presented at GopherCon India, you can see the video and other blog posts of his on his homepage. Matthew also works on a book about Microservices in GO.

11:45 AM

Modular vs Monolith – The Structure of Node.JS Applications

Tim Oxley, NodeSource@secoif

The Node.JS & npm ecosystem is oft praised for it's "culture of extreme modularity", which has led to the proliferation of hundreds of thousands packages on npm. How do modular patterns translate into the construction of evolving, real-world applications?

Tim Oxley is an an Australian JavaScript developer living in Singapore working with NodeSource. Tim is a co-host of the NodeUp podcast, author of NodeSchool's functional JavaScript workshop, founder of the CampJS conference, founder of the SingaporeJS meetup and an avid open-source contributor.

12:30 PM


1:15 PM

Elements of dance music

Paul Adenot, Mozilla @padenot

Sound in general is a pretty abstract topic for most people. How can one generate and arrange what is, at the end, a simple sum of sine waves going through the air, and make people move on a dance floor?
In this talk, we'll deconstruct a prototypical acid-techno track, by live-coding all the sounds (modeled after old analog gear), from scratch, using the Web Audio API.
We'll cover the basics of sound sequencing, synthesis, with an historical background. And then we'll dance.

Paul is an platform engineer at Mozilla, working on the Firefox web browser. He works on the Firefox Web Audio implementation, as well as the system audio code on all platforms. Sometimes help helps on WebRTC. He also co-edits the Web Audio API specification at the W3C, and dabbles in music production and cooking.

2:00 PM

Bio-Inspired Frontend Engineering

G. Kay Lee, KKBOX @gsklee

Life on Earth has existed for at least 3.5 billion years, and more than ⅔ of that time was spent on perfecting the cell into the fundamental universal component of life that subsequently empowered the explosive evolution of complex multicellular organisms.
This talk will draw ideas from one of the most miraculous structures of our Universe - one which has withstood eons of evolution - and show you the striking resemblance between a cell and an instance object. This newly gained insight will point us to a new approach to class composition other than traditional mixins or traits. We’ll then implement this mechanism using advanced language constructs in ES2015 and beyond, and see how it may help to catalyze the Cambrian explosion of next generation JavaScript apps.

After studying chemistry and molecular biology and working as a telescope operator on Mauna Loa trying to be astrophysical, the adventurous journey of G. Kay Lee is now on hiatus since he has found his inner tranquility in being a frontend artisan. He’s one of the coorganizers of AngularJS.tw, the author of ngStorage, a proponent of ES2015+, and a staff engineer at KKBOX.

2:45 PM

Production applications with PM2

Alexandre Strzelewicz @strzel_a

Once your application is developed, switching it to live production is a painful experience. From process management, deployment, monitoring, bug tracking, orchestration... a lot of techniques and methodologies must be taken into account to provide a quality application. This is where PM2 comes into the game, providing a framework to harden your Node.js application and super charge your production workflow.

Alexandre is a full stack JavaScript developer, technologist and the author of PM2, a well known process manager for production Node.js applications. He is also CEO & co-founder of the startup keymetrics.io, a supervizion solution built on top of PM2.

3:30 PM

The bar is open. Get a drink.

3:45 PM

Simplicity through Functions

Isaac Johnston, SMX @superstructor

Can functional programming concepts be applied in JavaScript to simplify building software? Using things you already know, we will explore a new style of writing JavaScript in ES2015+.

Isaac is continually exploring different ways to write JavaScript. Works tirelessly defending his home of middle earth's and other far off land's communications at SMX, a global cloud security and carrier-grade email provider. Passionate about functional programming, he is currently prototyping SMX's next generation front-end stack in ClojureScript and React. Tinkers in his spare time on home automation and autonomous space robot projects.

4:30 PM

Story time: Towards Universal JavaScript

Sarmad Sangi, RedMart @sarmadsangi

JavaScript is taking over the world, today it is not only used on browser but many are using it to write code on server, programming a robot, building mobile apps and etc.
In this talk I will share our journey (tips, choosing a stack etc) at RedMart towards universal JavaScript.

Sarmad is a Front-end engineer at RedMart. He's currently involved in re architecting RedMart's web (and mobile web) app platform for simplicity and better performance.

5:15 PM


Christian Heilmann, Microsoft @codepo8

There's a daily cool new thing in the world of JavaScript you need to know or you will fall behind. Or at least that is how it feels like. Don't feel bad, don't get frustrated.
JavaScript is a hot topic and we love to build with it. It gives us control, it allows us to do things our way instead of waiting for browsers and it makes us more efficient. However, there is a flipside to that. It is almost impossible to keep up with the speed of innovation. In this talk you'll learn how we can use JavaScript, how to avoid over-using it and what you can do to play on the bleeding edge without feeling lost.

Chris has dedicated a lot of his time making the web better. Originally coming from a radio journalism background, he built his first web site from scratch around 1997 and spent the following years working on lots of large, international web sites. He then spent a few years in Yahoo building products and explaining and training people including Yahoo Answers, Search, Local and Maps. He then worked at Mozilla moving HTML5 support forward and advocating Firefox OS as an open alternative to closed mobile systems. Chris wrote two and contributed to eight books on web development and wrote many articles and hundreds of blog posts for Ajaxian, Smashing Magazine, Yahoo, Mozilla, ScriptJunkie and many more. He also wrote the Developer Evangelism Handbook in use in many companies to coach evangelists. He is currently working with the Microsoft Edge team as a Program Manager for Developer Outreach.

Friday 20th

8 AM

Wake up! Zopim has coffee for you!

9 AM

Making realtime Audio-Visuals

Mathieu Henri @p01

The web platform is a wonderful playground of artistic and technical expression. The artists of the web often release amazing creations in the most compact form. But you don't have to be a seasoned developer to express yourself and build your own animations. With a bit practice, anyone can build Audio-Visual demos!
This talk will go through creative coding, the demoscene, and a range of optimization tricks. Then we will work on a little Audio-Visual demo together.

I hope this will inspire new JavaScript artists and bring a dash of creativity to our every day problem solving.

Mathieu 'p01' Henri is a JavaScript developer at Opera Software in Oslo, Norway, working on the desktop browser. At night he is a creative coder & demoscene artist specialized in real time audio visual animations in a few hundred bytes for the web platform, PC and Atari ST computers.

9:45 AM

Node.JS Authentication and Data Security

Tim Messerschmidt @SeraAndroid

The arena of proper authentication and data security standards is often some of the most misunderstood, confusing, and tricky aspects of building any Node site, app, or service, and the fear of data breaches with unencrypted or poorly encrypted data doesn’t make it any better.

We’re going to tackle this field, exploring the proper methodologies for building secure authentication and data security standards. We’ll run through:
- Building on top of OAuth 2 and OpenID Connect
- Node middleware services for authentication
- Working with proper hashing and salting algorithms, and avoiding others, for private user data
- Common auth and security pitfalls and solutions
In the end, we’re going to see that by understanding proper data security and authentication standards, pitfalls, and reasons for choosing one solution over another, we can make intelligent decisions on creating a solid infrastructure to protect our users and data.

As a long time mobile and web developer, Tim channels his knowledge and experience as Braintree's Head of Developer Relations. He is passionate about startups and serves as a mentor at multiple incubators and accelerators.
Prior to joining PayPal, Tim worked with Neofonie Mobile and Samsung focusing on several mobile projects. In his spare time, he leads and creates training classes in all sorts of developer-oriented topics, contributes to Open Source projects and is one of the authors of the Mobile Developer’s Guide to the Galaxy. In addition, he authored numerous articles published in print magazines.

10:30 AM

Have a break and some cake

10:45 AM

Electroknit! - pixel to textile

Mariko Kosaka @kosamari

Electroknit is a craft project to convert graphics into knitted patterns for an electric knitting machine. What does it take to turn a digital image into a physical object like a knitted sweater? The answer is series of image processing operations. As web engineer, we take it for granted <img src="image.jpeg"&rt; displays an image because it is a "digital photo." Let's look at what "a Pixel" is & how you can manipulate for fun with Canvas API & JavaScript.

Mariko is an engineer who loves data and knitting. When she is not making software at Scripto, she uses code to help her design textiles & organize local JavaScript meetup in New York City called BrooklynJS.

11:30 AM

Javascript Security - the PenTester's perspective

Prasanna Kanagasabei, Thoughtworks @prasannain

Most developers do not get direct access to external Pentesters and their interactions are sadly limited to an exchange of reports and emails. The talk will provide the pen tester's perspective. The participants will hear first hand from a pentester on how they pen test, analyse and exploit web applications. This session will introduce participants to security issues related to JavaScript, JSON and HTML5 and how to identify such issues in the code. Participants will learn how to write secure JavaScript code which leads to fewer security bugs being discovered in the testing phase and therefore spend less time fixing bugs. Emphasis will be on DOM XSS exercises. There will also be a special focus on CORS, covering the abuse of cross domain communications.

Prasanna has worked as a full time hands-on Web Application pen tester for the past 12+ years. His clients have included large international organisations in the e-Commerce, automobile, premium banking and finance, and government spaces. He regular conducts training sessions to up-skill developers to deliver secure and safe solutions. He has presented at popular security events such as nullcon-Delhi, Clubhack, IIT Guwahati and at various meetups. He is one of the community leads in the Singapore security community. His community code contributions include IronSAP, a SAP testing plugin for IronWASP. At present, his interests include Fuzzing.

12:15 PM

Lunch is served

1 PM

I Play the JavaScript

Matt McKegg @MattMcKegg

Find out how I use JavaScript to power my live electronic music performances. Come see (and hear) Web Audio, MIDI, and electron in action!

A JavaScript hacker and backyard musician and from Wellington, NZ. Lover of all things open and modular. I spend most of my time pressing buttons of various shapes, sizes and colours. Sometimes these buttons make sounds.

1:45 PM

Unbox Development in Production

Hamzeen Hameem

Get exposed to a new paradigm of web app development which brings Production and Development environments into a common place. Hence, eliminating the painstaking effort and time spent on moving from Development to Production and get exposed to the Development of Shippable and Demo-able Software from Day One of your project's development phase, the true Agile way. In addition, PHP developers can also look forward to a Framework that supports this approach at the end of the talk.

Hamzeen is a software engineer and a practitioner of agile with expertise on Java, PHP, JS, C++, Computer Vision, & Signal Processing. He holds a bachelor's degree in Software Engineering from University of Westminster, London & currently employed at Virtusa. Now he counts over 5 years of experience in Design & Development of Commercial as well as Research-Oriented applications.
His special interests include ubiquitous computing, augmented reality, physical computing, generative art, design patterns & tangible interfaces. During leisure, he enjoys reading, blogging or playing table tennis & he thinks 'math is art in disguise'. More about him can be found at hamzeen.github.io

2:30 PM

The route to HTTP/2

Karen Farzam, WHub HK @chleozam

HTTP/1.1 has served the Web well for more than fifteen years, but its age is starting to show.
Welcome to HTTP 2, a more modern protocol that essentially speeds web browsing up using new ways of transporting data between the browser and server across the internet.

Hailing from France, Karen Farzam is an engineer, former JP Morgan Equity Derivatives trader to Web Developer and co-founder of WHub.io. Operating in Hong-Kong she channels her remaining energies supporting female powers in engineering and entrepreneurship.

3:15 PM

Audience lightning talks

4 PM

Reactive JavaScript at Netflix, Microsoft and the World

Matthew Podwysocki, Microsoft @mattpodwysocki

What’s does a mouse drag event have in common with an Array of numbers? The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming in JavaScript. We will talk about its usage at Netflix, Slack Microsoft solving concrete examples.

Matthew is a Principal SDE and open sourcerer at Microsoft with a focus on the Internet of Things, Reactive Programming At All Scales and teaching the next generation how to code. He currently works on the Reactive Extensions for all languages including JavaScript. He is passionate about open source, having helped the Node.js effort on Windows, to open sourcing many libraries at Microsoft.

4:30 PM

A keynote

Danese Cooper, Node.JS Foundation @DivaDanese

Danese is a programmer, computer scientist, and an advocate of open source software. She has managed teams at Symantec and Apple Inc. and for six years served as Chief Open Source Evangelist for Sun Microsystems before leaving to serve as Senior Director for Open Source Strategies at Intel. She advised on open source policy to the R community while at REvolution Computing (now Revolution Analytics), and she served from February 2010 to July 2011 as Chief Technical Officer for the Wikimedia Foundation.
She currently works for PayPal as their Head of Open Source and also runs DaneseWorks, a successful consultancy to companies wishing to pursue open source strategies, which has served the SETI Foundation, Harris Corporation and the Bill & Melinda Gates Foundation among other clients. She is Chairwoman of the Node.js Foundation, a Director on the board of the Drupal Association, a board advisor for Mozilla, the Open Source Hardware Association and Ushahidi, and has served since 2005 as a Member of the Apache Software Foundation. She was a board member for 10 years at Open Source Initiative.

5:15 PM

(function Closure(){})()

Thomas Gorissen @serrynaimo

The guy who organizes this thing with his amazing little team!

6:00 PM

AfterParty with Braintree