Friday 14th
8 AM
Registration
LASALLE College of the Art at 1 McNally St
Please bring your ticket with the QR code and a photo ID to register
9 AM
Opening
Chen Hui Jing & Thomas Gorissen
9:30 AM
artistic.css
What does shape the current state of Web Design? How can we leverage CSS to support the art movement on the Web?
Let’s dive into art direction and trends to find a new way to express our design ideas in CSS. During my talk you will find more about the intersection of CSS code with collages techniques, anti-design aesthetics and much more. Everything will be combined with practical CSS and many examples you can use on your websites right away. I will be presenting some of my CSS experiments to show you that art has a true impact on CSS properties and new features.
Find your inner designer and join me on this artistic CSS journey.
Agnieszka is a coding designer with a strong focus on UX-related issues, currently working at Adobe in Warsaw, Poland.
She is the co-founder of The Awwwesomes an initiative teaching how to create awwwesome things on the Web, organizing coding & UX workshops for beginners, co-organizing conferences (Front Trends 2018 and Element UX Talks) and meetups in Poland. She loves pink color and Wes Anderson's movies.
10 AM
Designing components for fun, profit and sanity
In recent years, web applications have largely converged to a modular approach, where self contained components make up the basic building blocks of an app. Components have offered us a way to logic in bite size digestives but they can also grow to become huge unwieldy monsters.
Imagine you find yourself five years into a project, in a team of 10, over a thousand components, and a chance (albeit daunting task) to start with a fresh codebase. How would you begin designing the components?
Yishu is bad at things. Bouldering, speaking Japanese, crow pose; all bad. Thank goodness she's okay at making computers do things. Currently she is a software engineer at Carousell, contributing to the web platform. Before that in her career, she has taken on multiple roles - iOS engineer, backend engineer and fleetingly a product designer. Her current favourite function is .split().
10:40 AM
Web Components and the AOM
We can use Web Components to create reusable solutions. With Custom Elements, the Shadow DOM, HTML Templates, the Web Speech API, and a little ARIA, we can create a progressively more advanced solution for anyone who wants to listen to content; and when the Accessibility Object Model (AOM) lands, we'll be able to do even more.
Léonie is Director of TetraLogical; a member of the W3C Advisory Board; co-Chair of the W3C Web Platform Working Group; and a member of the Accelerated Mobile Pages (AMP) Advisory Committee. Amongst other things, Léonie is co-organiser of the Inclusive Design 24 (#id24) conference; co-author of the Inclusive Design Principles; and mentor to young people interested in the fields of accessibility and inclusive design.
11:05 AM
Variable fonts and the flexible nature of screens, environments and devices
Variable Fonts allow typography on the web to adapt to the flexible nature of screens, environments and devices. We can use variable fonts with pre-existing technologies to improve our font performance, design, accessibility and usability of our websites.
We can start to design our typography to adjust to various inputs, situations or events which might allow us to modify our fonts to aid in storytelling, or achieve improved readability and legibility in different situations, environments or on larger or smaller screens.
Let’s begin to explore new and exciting creative opportunities for storytelling, design and expression in ways standard fonts could never provide us. This is just the beginning of our journey to discover what we can do with variable fonts.
Mandy’s passion is CSS, HTML and JS, she has a particular interest in web typography, accessibility and modern layouts, and hopes to inspire that passion in others. With the aim to create a community of web developers who can share, mentor, learn and grow together she is a co-organiser and Director of Mixin Conf, the founder and co-organiser of Perth’s front-end developer meetup Fenders and currently works as a Development Manager at Seven West Media in Western Australia.
11:35 AM
Navigating the Wild Seas of Native ES Modules
ES Module support in Node v12 is not just a refinement of the support it has in Node v10, but is rather pointing to a direction in which Node and browser ES Modules converge into one system, a system which will enable ES modules to "just work" within the native npm ecosystem, without the need for transpilers or bundlers. This talk will examine this, and show how this will be possible in the upcoming years.
From the olden days of DOS, Gil was, is, and always will be a software developer. He has co-founded WebCollage, survived the bubble collapses, and designed cloudy projects at Wix.
His current passion is figuring out how to test software, a passion which he has turned into his main job as Senior Architect at Applitools, where he develops tests for software that tests software, which is almost one meta layer too many for him.
11:55 AM
new Promise(lunch)
1 PM
Breakouts
You can pick up to two workshops or lectures during online-checkin from on June.
Faster & Easier App Innovation
Kubernetes for the impatient
Travel through the Cloud Native Computing Foundation’s most popular project as we delve into container orchestration using Kubernetes, so that you have more time to spend on coding, rather than managing yours apps. For this talk, I will be using Azure Kubernetes Service (AKS).
App Innovation and Devops
We created a rich learning experience to show-case the speed and ease at which you can leverage Microsoft's cloud platform to build data-driven intelligent apps. This program will give you insights and demos on how to leverage innovative scalable Cloud Backend Services for your applications. Join us! We'll cover:
- Azure App Services
- Azure Kubernetes Services
- Azure Dev Spaces
JS adventures in Azureland
Come have a whirlwind tour of the Azure cloud where you'll be travelling through the seas of Javascript on a boat christened VSCode.
Darren is based in Singapore and currently works at Microsoft as an Open Source Technology Solutions Professional, working with customers on Kubernetes, Linux, microservices, Azure Services and open source software in general.
Mayur was selected for Hogwarts School of Witchcraft and Wizardry, but couldn't get through Platform 9 3/4. So he joined Microsoft and is now spreading the love for technology. Mayur is Technology Solutions Professional working at Microsoft in Singapore, helping people with technology. Previously he was a Program Manager on Xamarin team at Microsoft, working from Pune, India. Since 2013, he was awarded as Microsoft Most Valuable Professional on Windows Development and worked as Developer Evangelist with Xamarin. He is writing mobile applications since the days of Windows Mobile 5.0 and love to talk about everything mobile and cloud these days.
Vito is the resident Node.js punter at Microsoft APAC where he guides partners and tourists on Azureland tours with his mighty VSCode gondola.
Pair Programming & Test Driven Development done right
So you’ve heard about Pair Programming, but how much do you really know about it? Few are aware of the complexities involved, resulting in a waste of money, siloed knowledge and even internal scuffles!
With PALO IT’s 'Pair Programming Done Right', you will learn how to navigate this potentially chaotic practice. Join Kevin Aubry to discover how you can Pair Program the Agile way. To supplement your learning experience, you’ll also learn how to leverage on Test Driven Development to create even higher quality software in a fraction of time.
In this session, attendees can look forward to:
- A deep understanding of Pair Programming and Test Driven Development
- Better software through faster feedback
- Improved development speeds
- Purpose-driven formulation of solutions
- Higher job satisfaction and team morale
- And more…
Requirements:
Bring a laptop. Have a recent Node.js, code editor and web browser installed. You'll need a Github account.
Having the first-hand experience using various programming languages to design and implement software applications, complemented by his advisory position, Kevin has proven to be a valuable asset to numerous successful projects. Constantly keeping up with innovation and new technologies, he enjoys challenges that take him out of his comfort zone.
Kean is a pragmatic leader principled strongly by Scrum and XP practices to coach and support development team collaboration in software delivery. A firm advocate for Agile software development since 2003, Kean has been on both sides of the equation long enough to know what makes Agile software development successful: Human collaboration and Agile engineering skills.
SVG Animation with GreenSock & VueJS
Learn from the Straits Times Interactive Graphics team how we integrate animation into our stories using SVG and GreenSock. If you love VueJS and love using animation, come join us in this hands-on session to pick up a trick or two. Specifically, learn how to:
- Create self-contained animated component
- Compose complex animation sequence from a set of animated components
- Create an self tracing path
- Animate an object along a SVG path
- Animate your viewport
Requirements:
Bring a laptop. Please make sure before the workshop you have:
- Git installed
- Node 8+ & NPM 5+ installed
- Browser Chrome or Firefox with DevTools installed
- Editor installed with Eslint plugin. (Not required but highly recommended because we will be going really fast and couldn't afford to waste time on syntax bug)
Yong Jun produces data stories and interactive graphics for SPH Straits Times as a Senior Web Developer. An early adopter of VueJS, he thinks Vue is the best thing to have come to the Javascript world since ES6. The popular GovTech visualization project SchoolPicker.sg was created by him using VueJS. He enjoys writing code and teaching people the art of code writing.
Practical NuxtJS
This workshop will show participants how to build applications using NuxtJS (A VueJS Framework), based on real-world experience in shipping products from scratch. In the process, we will also look at various means of building performant websites.
Within the 3 hours (remaining 0.5 hours will be for Q and A, as well as helping slower paced participants), we will cover the following:
- SPA, SSR and Static Websites, which one to use.
- Building for performance, code splitting, tree shaking, lazy-loaded resources
- Important points on NuxtJS such as architecture, configuration, SSR features & lifecycle, etc.
- Creating your first NuxtJS project and explanation on options available
- What are plugins, modules and which one to use
- Sign In Page & Crud Page
- Hands-on learning Of VueJS and NuxtJS concepts
- there will be a local backend API with authentication to test things out).
- Gotchas & Edge Cases
- Coding problems that can occur in SSR
- How to get dynamic Vuex store to work
- Deployment as SPA, SSR, Static Website
- Q&A Session
Requirements:
Bring a laptop. Please have the following software installed before attending, we will not have time to troubleshoot installation issues
- NodeJS version 10 and above, NPM
- Git
- Code editor (VS Code recommended)
Aaron is a Consultant with Zenika. Ever since his first VueJS experience in an opensource project (vue-crud-x). He has decided to work exclusively with VueJS and web components to ship products. He co-organises VueJS meetups to share experiences and help others. He feels that one should know fundamentals before frameworks.
Unlocking Progressive Web Applications
During the workshop we will take a regular web application and convert it into a Progressive Web App. This workshop is for people wishing to learn more about Service Workers, Workbox.js and web performance/caching in relation to PWAs.
Requirements:
Bring a laptop. Attendees should make sure that they have their favourite code editor, an up-to-date version of Google Chrome as well as NodeJS installed (either LTS or Current)
Tamas is an experienced Developer Evangelist, Google Developer Expert and Technical Instructor. He has more than a decade of experience working with large, prestigious organisations and throughout his career, he has delivered training classes all over the world to both technical and non-technical audiences.
Nodebots Part 1
This workshop constists of two afternoon sessions on Friday and Saturday!
We are going to build electronic bots that we can control using NodeJS.
Requirements:
Bring a laptop and please follow
these setup instructions
before the workshop.
Pasindu works on building open source text to speech systems for low resource languages by day and does various JavaScript Nodebots projects by night.
Chathu is Co-Founder of a Startup where few of its products are powered by Full-stack JS. He is an Auth0 Ambassador, Co-Organizer of Colombo JS Meetup and Organizer of Sri Lanka Unity Developers User Group. He has started working with NodeJS since 2012 and He love it. Currently working on POS Dashboard which is powered by NodeJS backend and React Dashboard with React Native Mobile app. In nights he struggles with Nodebots.
4:30 PM
Drinks at the bar
5:00 PM
The browser as a modular, networked video synthesizer
Most libraries and abstractions for creating graphics in Javascript are focused on 2D shapes (SVG and canvas) or simulating 3D rendering. The talk will instead explore generative graphics inspired by modular, analog video synthesizers from the 1970s, in which visuals are created by routing, transforming, and recombining multiple sources and outputs in realtime (such as cameras, videos, and application windows).
By using WebRTC to share video peer-to-peer, each browser/device can output a video stream, and receive and modify video streams from other browsers/devices. Transformations to the color, coordinates, and blending of a visual source are abstracted as separate Javascript functions which can be chained and composited to create complex visual patterns. The talk will explore technical, aesthetic, and collaborative possibilities of treating a web app as a series of interconnected and heterogeneous nodes, rather than as a specific “site” or “place”.
Olivia is an independent programmer and artist who works frequently with audiovisual installations, interactive visuals for dance performances, cartography, live-coded visuals, and experimental interfaces. She is the developer of Hydra, a browser-based platform for networked visuals that is inspired by analog modular synthesis. Originally from San Francisco, she currently lives and works in Bogotá, Colombia.
5:25 PM
Real World Problems - Internet beyond the First World Bubble
The Internet of today originated as an experiment in the West. But as it expands to accommodate a larger user base in Asia, huge gaps are created between what the consumers want and what engineers build in a digital solution.
* How can we build websites for illiterate people?
* How can we improve the performance of our websites in spite of terrible infrastructure?
How can we come together to make the best digital experience we can for the people who have only started embracing the internet recently?
Because they will be the users of tomorrow.
Keerthana is a software engineer living in the sunny town of Cochin, India where she works as a full stack web developer. She is passionate about building the best websites she can and made her conference stage debug at Node + JS Interactive 2018.
5:55 PM
Music and Art with ML
People make things. You make things. Most of the time you make Very Serious Things™️ that help your bosses sell more shoes or saxophones or those tiny coffee packets. And that’s good, because you gotta eat and stuff. But something else has gotta eat, too: your brain. Music is creation, art is creation, code is creation. I think it’s important to goof around with code sometimes, or make things that let other people goof around with code. And sometimes, that becomes the Very Serious Thing™️. Magenta.js is one of these things; let's talk about it!
Monica works on Magenta, in Google Brain, where she makes generative music and art with Machine Learning. In the past she's worked on Polymer, web components, and Chrome, and has probably at least once broken the Internet for you. She is unreasonably excited about emoji, wary of web fonts, and will become your best friend if you bring her cheese. On second thought, she may be a mouse.
7 - 9:30 PM
Code In The Dark with Justin Lee
Bring your laptop to test your HTML and CSS skills, have fun and win amazing prizes.
Free drinks for JSConf.Asia attendees, friends welcome!
Saturday 15th
8:30 AM
Welcome back
LASALLE College of the Arts at 1 McNally St
9 AM
State Machines Meet React Hooks
Surprised of too many things went wrong in your UI components? 🤔
Ever felt that freeing your components from bugs is a never-ending endeavour? 🤮
Familiar with this kind of code in React? 😏
{!loading && data && !error && !isHidden && !isLoggedIn && <YourComponent />}
State Machines to the rescue! 😎
Join my journey in solving those kinds of issues using State Machines and see how they go in action with React Hooks. 🥳
Zain is an Indonesian developer working at Ninja Van as a Senior Software Engineer to help reshape its user-facing products to be more reliable and user-friendly. His passion in JavaScript drove him to spend his spare time learning it to switch from Backend Development to Frontend Development. He also enjoys playing musical instruments and hanging out with his family.
9:30 AM
Machine learning for front-end developers
Machine learning can have some pretty complicated concepts to grasp if you’re not a data scientist. However, recent developments in tooling make it more and more accessible for developers and people with little or no experience.
One of these advancements is the ability to now train and run machine learning algorithms and models in the browser, opening this world to front-end developers to learn and experiment.
In this presentation, we will talk about the different applications, possibilities, tools and resources, as well as show a few examples and demos, so you can get started building your own experiments using machine learning in JavaScript.
Charlie is a software developer in Sydney. She is passionate about creative coding and building interactive prototypes mixing science, art and technology. She also spends time giving back to the community by mentoring new developers, contributing to open-source projects and speaking at events.
10 AM
Rapid Development on Offline First Data Sync
Wondering how to build offline first web app nowadays?
We build our own recipes to iterate faster creating offline first web app with data synchronization capability.
Anshori is part of engineering at eFishery (an Indonesian IoT startup on aquaculture). He crafts code by night 'till morning and debug human and process at noon. He loves data and engineering much while enjoying product development side. He dedicated himself for social cause and accessible technology for equality. The terminal console is where he grew up.
10:20 AM
Coffee me more
10:40 AM
Introduction to the Component-based API
Leonardo Losoviz @losoviz
The Component-based API is a new concept of API which pushes further from GraphQL the boundaries of how much data can be retrieved in a single request, how data is organized into an effective hierarchical structure, and how fast can data be retrieved from the DB. We will learn what this new API looks like, how to use it, and how our application can become more modular through it.
Leonardo Losoviz is an independent open source developer, creator of a framework for building modular websites called PoP. The only non-musician in his family, this doesn't bother him, because coding is also making art. He lives in a loop: he dreams of code and, when he wakes up, he codes his dreams.
11:05 AM
Getting Closure on Hooks
Shawn Wang @swyx
The design of React Hooks requires a good understanding of closures in JavaScript. In this talk, we’ll reintroduce closures by building a tiny clone of React! This will serve two purposes – to demonstrate the effective use of closures, and to show how you can build a Hooks clone in just 29 lines of readable JS. Finally, we arrive at how you get Custom Hooks and the Rules of Hooks out of this incredible mental model!
Originally from Singapore, swyx is an Infinite Builder working on Developer Experience at Netlify. In his free time he helps people Learn in Public at Egghead.io and /r/reactjs.
11:30 AM
Making it all fit together with React and GraphQL
Many tools and processes go into modern front-end development: from component development to design and data fetching to testing and more. How does Stripe make these all work together? Join Paul Asjes from Stripe’s engineering team for a talk on how to make all these components and processes work in a way that makes the modern front-end greater than the sum of its many parts.
Paul is a developer support engineer at Stripe by day and a sleepy one at night. He helps companies get set up with Stripe in a variety of languages, but JavaScript is his favourite. He's written a book on Slack bots and likes to spend time underwater when not running around Singapore eating all the things.
11:45 AM
lunch(callback)
1 PM
Breakouts
You can pick up to two workshops or lectures during online-checkin from on June.
Best of 10 Years JSConf & CSSConf
The Great Code Theatre
Finally the binge watching you were always waiting for: We will screen a selection of the best JSConf and CSSConf talks from around the world. Popcorn included 🍿
Subscribe to JSConf & CSSConf on YouTube
Deploying and Building WebThings
This workshop will be conducted twice.
First at 1PM and again at 3PM.
We will demonstrate Mozilla’s WebThings Gateway, an IoT framework to protect user privacy and security, and to improve cross-brand interoperability. We will also show how to develop and build your own custom "web things" out of microcontroller boards. We will demonstrate javascript examples using the Moddable SDK, then get “hands-on” using MicroBlocks.
Requirements:
Bring your laptop to participate in microcontroller programming using MicroBlocks and come to the workshop with MicroBlocks pre-installed. You can download the installer for your operating system and follow the setup instructions.
Ryme Assaad is cofounder & managing partner at Kapstone Co, myiolab and SEFY International
She was a TechWomen fellow 2018 and interned at Mozilla.
She is currently a TechSpeaker and working with the Mozilla Web of Things (WoT) community towards a decentralized Internet of Things with improved standards around security, privacy and interoperability.
Mel is a cybersecurity consultant at Booz Allen Hamilton, cofounder at Myiolab and a hardware hacker. She has extensive experience in industrial cybersecurity and testing.
She won several awards, including the IoT-Leb hackathon (1st place), the Hack The Plan[e]t competition at Defcon 2018 (1st Runner Up), and the TechWomen 2018 Action Plan (implementing an IoT-based initiative)
Build next gen web apps using web components
In today`s world the front end technology is evolving really fast. New frameworks are getting launched to simplify the developers life. But with the changing technology it`s really hard to move from one framework to another or update to the newest version.
Web components is a relatively new standard enabling front end developers to create cross frameworks compatible components. it lets you write reusable components with native browser Api with zero external dependencies.
In this workshop we will learn to build a web app with reusable components using web components (custom elements, Shadow DOM, Html templates, Modules). We will also get acquainted with helper library lit-element and how we can integrate these components with existing frameworks.
Requirements:
Prior knowledge of HTML, JavaScript and CSS required in order to follow along.
Please bring a laptop, preferably with NodeJS and administrator permissions to install new software. Don’t forget your favourite IDE for JavaScript development.
Sumit is a Software Consultant at Zenika Singapore. Curious and always interested in new technologies, he helps people to use the best practices known such as CI/CD, BDD, TDD, code reviews and so on. Sumit likes to share his knowledge with one and all via trainings, meet-ups and other tech events.
JAMStack Jumpstart - Gatsby
Shawn Wang @swyx
There is a lot of developer and investment interest in JAMStack technologies, from the serverless movement to new authentication models to continuous atomic deployment to the static site generator renaissance. But with so many new terms and options, it is hard for people to figure out where to start.
This workshop will teach developers to set up a simple but state of the art Gatsby stack, which lets people create blazing fast sites and apps with React and GraphQL, backed up by a continuous deployment and serverless platform complete with authentication and CMS. It has never been easier to get a great Lighthouse score, or to deploy complex, secure webapps for free.
Requirements:
Attendees should have git, Node.js and npm installed, and be proficient with JavaScript and React (including routing with @reach/router or react-router).
Install the Gatsby CLI's ahead of time: npm install -g gatsby-cli
You do not need to know GraphQL, but you can get a head start by reading https://graphql.org/learn/ and going through the Fundamentals section of https://www.howtographql.com/.
Originally from Singapore, swyx is an Infinite Builder working on Developer Experience at Netlify. In his free time he helps people Learn in Public at Egghead.io and /r/reactjs.
Advanced Image Optimisation for websites
You will learn about different image formats, their tradeoffs, how different formats are under the hood and the how the browsers handle images.
Based on this, we will look at different techniques to optimise images based on the device, network and the browser the user is using.
We will be building an image optimisation pipeline which you can extend upon after the workshop. Having built such a pipeline at Dexecure, I will also talk about the challenges in building and maintaining such a reliable at such a pipeline the different gotchas to look out for in terms of performance, security, reliability and scalability.
Requirements:
Bring a laptop. Have Node.js and a recent web-browser, Git and NodeJS installed.
Inian is the founder of a web performance company, Dexecure. He loves JavaScript, chocolates and anything related to web performance and security. He is a strong believer in the importance of having an open, decentralised and uncensored web ecosystem.
Nodebots Part 2
This workshop constists of two afternoon sessions on Friday and Saturday!
We are going to build electronic bots that we can control using NodeJS.
Requirements:
Bring a laptop and please follow
these setup instructions
before the workshop.
Pasindu works on building open source text to speech systems for low resource languages by day and does various JavaScript Nodebots projects by night.
Chathu is Co-Founder of a Startup where few of its products are powered by Full-stack JS. He is an Auth0 Ambassador, Co-Organizer of Colombo JS Meetup and Organizer of Sri Lanka Unity Developers User Group. He has started working with NodeJS since 2012 and He love it. Currently working on POS Dashboard which is powered by NodeJS backend and React Dashboard with React Native Mobile app. In nights he struggles with Nodebots.
4:30 PM
Stretch your legs
5:00 PM
NodeBots are back!
A short show-case of the results of the 2 day long Nodebots workshop with Pasindu. Always fun to see some robots, right?
Pasindu works on building open source text to speech systems for low resource languages by day and does various JavaScript Nodebots projects by night.
Chathu is Co-Founder of a Startup where few of its products are powered by Full-stack JS. He is an Auth0 Ambassador, Co-Organizer of Colombo JS Meetup and Organizer of Sri Lanka Unity Developers User Group. He has started working with NodeJS since 2012 and He love it. Currently working on POS Dashboard which is powered by NodeJS backend and React Dashboard with React Native Mobile app. In nights he struggles with Nodebots.
5:15 PM
Seeking the Balance in Framework Design
As the author of Vue, I often get asked on how the major JavaScript frameworks today differ from one another. Typically people expect technical details: size, performance, ecosystem... but to me, what fundamentally differentiates frameworks from one another is where a framework lands on the primitives vs. conventions spectrum. This is usually a conscious design decision, and the major frameworks we see today manifests three different segments of this spectrum. In this talk I'll discuss how these design choices have affected the adoption and growth of these frameworks, and why there might not be one single optimal balance point.
Evan is an independent open source developer. He created Vue.js, a popular frontend framework and now works on it full-time. Before going full-time open source, Evan worked as a core dev at Meteor, and before that as a creative technologist at Google Creative Lab.
5:50 PM
Learning From Machines
Why can't you tickle yourself? How do you know where you are? Why do DeepDream images look so trippy? Why does trauma come in waves, washing over us again and again? Computational neuroscience provides insight into these questions and more. In visually lush presentation, we'll go on a journey through biological and artificial minds, exploring how models of cognition informed by machine learning and computation can help us illuminate and reconfigure our own processes of being.
Ashi is a visual poet who has been telling stories with code and words since she was a child—perhaps before. She has worked at seven-person startups, fought fires in the trenches of SRE at Google, and spent the last three years teaching at coding bootcamps. She now works as a senior software engineer at GitHub, where she hopes to dissolve the walls between us and our tools. She is learning to regard every moment, and the creatures within them, with love.
7 - 9:30 PM
Live:JS
Ruth, Tim, Sam, Matt and Jan from LIVE:JS are performing for you. They create dazzling audio/visuals with just the power of your web browser. Have some special code cocktails from the guys behind The Spiffy Dapper on us and enjoy the show!
Sunday 16th
8:30 AM
Here we go again
LASALLE College of the Arts at 1 McNally St
9 AM
The Future of JavaScript and AI
There are many exciting things happening with AI, from which, until recently, JavaScript developers were largely shut out.
But things are changing, if you can do npm install @tensorflow/tfjs
or make an API call, you can now do AI.
In this fast-paced talk, I'll open your mind to what's possible by demoing several AI-powered JavaScript apps and show you how they were built using either TensorFlow.js or easy to use AI powered APIs.
You don't need a PhD in Maths, you don't need years of experience, you just need imagination and the willingness to try.
Asim is a developer, trainer, author and speaker with over 18 years experience working for organisations such as the European Space Agency, Google and now Microsoft, where he is leading Developer Advocacy for EMEA.
9:35 AM
Double the Beyoncé: Navigating Numbers in JavaScript
Do you lie awake at night wondering why you can’t count up past 9 quadrillion in JavaScript? Have you ever been troubled by numbers that don’t add up correctly or do what you expect (looking at you, 0.1 + 0.2)?
JavaScript’s numbers can behave a little… unexpectedly at times, and cause bugs that can have you scratching your head for hours on end. From incorrect arithmetic to Beyoncé showing up on your page twice as often as you expect, in this talk we’ll take a look at the quirks that come from numbers in JavaScript & the strange issues they can cause.
Meggan is a Software Engineer at Jaxsta, a music startup dedicated to providing credit where credit is due. At Jaxsta, she writes code for the front-end platform, tinkers with databases & derails conversations with random music trivia (mostly about Beyoncé). When she's not coding you can find her rock climbing, swimming with sharks, or doing something else that makes her parents nervous.
10:05 AM
Race conditions in JavaScript apps
Thai Pangsakulyanont @dtinth
It’s easy to create race conditions in JavaScript if you’re not careful. This talk is about dealing with common kinds of race conditions based on my experience working on a real-time collaborative app.
Thai is a front-end architect at Taskworld. He’s interested in the ways of building better software, and helps organizing various tech events in Bangkok. He likes to code and make music for fun. He also develops an open-source web-based rythm game in his free time.
10:30 AM
Bean Decoction
10:50 AM
The *other* spec: Internationalization in JavaScript
No matter what kind of developer you are, in 2019, Internationalization is honestly kind of a big deal. Especially if you're building interfaces that transcend linguistic and cultural boundaries.
Over the years, the community has developed a set of tools for solving the problems in this area but they are non-standard, hard to keep a track of and in the best case, pretty huge.
I will talk about the new Internationalization APIs in JavaScript, which solve these problems and give you a decent set of tools to build apps that work across different languages, currencies and cultures.
Ujjwal is a Node.js core collaborator, Electron maintainer, Google Summer of Code mentor and ex-student. An international speaker and a JavaScript/C++ developer, he has been working with the V8 team and the TC39 committee to help make JavaScript better, one commit at a time. He loves to talk about open source software, DevOps, JavaScript, Web Standards and the Open Web.
11:20 AM
The different transformation stages of AOT compilers
Have you ever noticed the recent trend where no one uses ES5 anymore? AOT compilers became a trivial thing nowadays; everyone uses it but very few really understand how they work. With the knowledge that I'm gonna give you in my talk, a new exciting world of possibilities will open up for you; you will understand how popular compilers such as TypeScript and Babel work behind the scenes and you be able to build cool Babel plugins. With this knowledge you will be able to not only implement things which aren't possible to do during runtime, such as ng-anotate, but you will also be able to save some precious processing power and make your apps more efficient.
Eytan is a JavaScript artist who codes for fun. Originally comes from the land of the Promise(), but has been traveling the world to discover its deepest secrets. Despite NPM goodies being his favorite treat, he consumes vanilla JavaScript the most, because less is more. His hobbies are eating, sleeping; and open-source... He loves open-source.
11:50 AM
await lunch()
1 PM
Breakouts
You can pick up to two workshops or lectures during online-checkin from on June.
Interactive 3D Web Mapping
Dylan Babbs @dbabbs
Ignacio Julve Castro
In this workshop, get your hands dirty with harp.gl: a new web-based, open-source, 3D map visualization framework from HERE.
You’ll learn how to:
- Build and integrate high-performing and visually appearing 3D maps into your web applications
- Customize the look and feel of your map to match your organization’s look and feel
- Store and manage your geodata in the cloud with HERE XYZ in order to visualize it on a map
- Develop compelling data visualizations with existing visualization layers and a data-driven styling grammar
- Visualize complex 3D objects on a map
Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed together with npm, yarn, and lerna.
Dylan is a Product Manager for HERE Technologies in Seattle, WA working on APIs and developer tools for location-based technologies and maps. Dylan is interested in tools and techniques for visualization on the web and enjoys working with React.
Ignacio is an Engineering Manager at HERE Technologies, where he focusses on Cloud Services and Web Rendering. He is a strong advocate on being close to the real problems and getting his hands dirty. Trying always to face issues from the customer point of view so that the team works on the right topics.
Web Assembly: Expectation vs. Reality
Patrick Walther
Web Assembly has arrived in all major browsers. With it being in plain sight instead of hidden behind browser flags we can start and bring our high performance applications to the browser.
In this workshop we’re going to look at the basics of Web Assembly and see what is already in the browsers today and what is yet to come. From there we will implement a real performance heavy task in our browser. We will compare the performance of our Web Assembly code to a plain JavaScript version.
Afterwards you will be able to decide when to use Web Assembly and what specific performance benefits It will give you.
Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed. If local wifi allows it we will be working with http-server package locally and access this from our smartphones. If not we might use a service like Zeit Cloud (https://zeit.co/now).
Patrick started his programming journey as a Java Developer but became hooked on Web Development very quickly. At Zühlke he has been able to quickly gain a lot of expertise in various projects and industries transforming portals, platforms, calculators and many more applications into proper responsive web applications. His love for the web has grown through the years only surpassed by his love for burgers! So if you know the best burger place in Singapore, hit him up!
Introduction to Machine Learning with TensorFlow.js
Learn how to build and train Neural Networks using the most popular Machine Learning framework for JavaScript, TensorFlow.js. This is a practical workshop where you'll learn "hands-on" by building several different applications from scratch using TensorFlow.js. If you have ever been interested in Machine Learning, if you want to get a taste for what this exciting field has to offer, if you want to be able to talk to other Machine Learning/AI specialists in a language they understand, then this workshop is for you.
Requirements:
Bring a laptop. Have a recent Google Chrome, Git and NodeJS installed.
You will need to run a local web server and serve the contents of a directory if you don't know how to do that Asim recommends downloading VS Code and install the live server plugin.
Asim is a developer, trainer, author and speaker with over 18 years experience working for organisations such as the European Space Agency, Google and now Microsoft, where he is leading Developer Advocacy for EMEA.
Steer a Satellite Groundstation Antenna in JS
This workshop will deal at a high-level with predicting where a particular satellite will be from moment to moment (orbital mechanics), and then with real-time steering of an antenna and Doppler-correction of a radio's tuning.
Weather permitting, we'll then go outside and do it for real with a couple of amateur satellites!
Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed.
Roland is Chief Privacy Officer for TrustSphere where he is responsible for the company's information policy and practices. He is a HackerspaceSG founding member and FOSSASIA organiser, holds a Computer Science degree from UTS, and is an avid dancer, runner, and ham radio operator with a particular interest in space.
Building a voice enabled website using the WebSpeech API
Everybody is droning on about chat bots these days. But what happens if you break out the bot outside the chat window, give it voice and put it on your entire website? Make is a bit snarky, a bit helpful and a lot funny, and it ends up being entertaining and useful at the same time.
We'll go through everything you need to start building voice enabled websites using the WebSpeechAPI
Requirements:
Bring a laptop. Have Node.js and Chrome installed. Preferably bring headphones to keep the room quiet.
Alex Lakatos is a JavaScript Developer Advocate for Nexmo and a Mozilla Tech Speaker as well as a contributor to the Mozilla project for the past six years. Based in London as a JavaScript developer building on the open web, he has been pushing its boundaries every day. When he’s not programming, he likes to travel the world, so it’s likely you’ll bump into him in an airport lounge.
Testing from 0 to 100
Unit tests... API tests... UI tests... mocha... chai... jasmine... cucumber... enzyme...?
Want to introduce test automation to your project, but not sure where to start and what tools to use?
Join this workshop!
Learn strategies for planning your tests, bring your laptop for some hands-on on different testing techniques and libraries for testing the backend to the frontend on a RealWorld project, and finally let's hook your tests up to your favorite CI/CD!
Requirements:
Bring a laptop. Have a recent web-browser, Git and NodeJS installed.
Shi Ling is the CEO and co-founder of UI-licious, a tool to help software teams rapidly test and monitor end-to-end user journeys for their web app. She's been building web apps since jQuery, obsessing over performance and padding, and these days testing and accessibility for the front-end. She can also do kung-fu, but these days she mostly code-foo.
Build your first mobile & desktop app as a Progressive Web App
Noorulameen & Ritesh Mehrotra
Let's build PWA application with native mobile features such as push notification, background sync which will seamlessly work across Android, iOS, Windows, Mac and Linux.
Requirements:
Bring a laptop. Attendees should make sure that they have their favourite code editor, an up-to-date version of Google Chrome as well as NodeJS installed (either LTS or Current)
Noorul works as a front-end development lead at Credit Suisse. His interests are Micro Front-ends, Progressive Web Applications and recently started exploring React Native. He is one of the co-organizer of an active meetup group "Tech Talks" in Singapore. When he is not programming, he likes to travel and play badminton.
Ritesh is a keen web developer and agile consultant. Spends most of his time in agile consulting and technical training with multiple teams, with focus on micro service and micro-front end development. He is an advocate of XP development practices, and co-organizer of the popular meetup based tech community - "TechTalks". On a leisure day, you might spot him with a camera on Singapore streets.
4:30 PM
Take a break
5:00 PM
Web Assembly: The future of JS and a multi-language web
80% of users are running browsers capable of running languages other than JS in their browser. It's a new change, but an important one; we're looking at a future where the web will be built not just on JS, but on C, Rust, even GoLang. Let's talk about WebAssembly; why it came about, what it's good at, and why it really doesn't spell doom for JS but instead allows you to truly enhance web experiences by augmenting JS with the ability to use modules written in other languages that can perform tasks faster or more efficiently. We'll go over what WebAssembly is, how to build a WebAssembly module, and why this may be a force that will shape not only how we think about JS, but the entire web experience.
Kas (they/their/them) is a Developer Advocate at Cloudflare by day, and a Twitch Code/Hardware streamer, IoT author, and gamer by night. They love talking about serverless architecture, Web Assembly, IoT and its implications, and a myriad of other topics. They'll also totally show you a million pics of their 2 cats if you let them.
5:25 PM
JavaScript: who, what, where, why and next
npm has more data than anyone about who JavaScript developers are and what we’re up to. Using our unparalleled access to registry usage stats and the results of our 2019 ecosystem survey of over 33,000 developers, I break down the current state of JavaScript and where trends look like they’re headed, from frameworks through security best practices, so you can make more informed technical choices.
Laurie has been a web developer for 23 years and is passionate about making the web better and web development more accessible to everybody. He is co-founder and Chief Data Officer at npm, Inc., provider of package management and security services to the JavaScript developers of the world.
6:15 PM
Family Photo and Good Bye