JSFoo 2015: A celebration of all things JavaScript

We've got an extensive line-up of some amazing speakers and topics for this year's JSFoo. JSFoo is India's biggest JavaScript conference, and it's happening in Bangalore, India on the 18th and 19th of September. (Workshops start from the 16th).

It has been an honour to be part of this year's editorial panel along with Sindhu, Zainab and Santosh. The process of selecting the talks this year was an extremely challenging process. So many great topics to talk about by so many amazing people!

The world of JavaScript is always moving at such a fast pace that it's often difficult to keep up with all the fantastic stuff developers all around the world are creating. We want developers attending the conference to have a taste of various aspects of this wonderful language. From the esoteric, to the extremely practical and everything in between.

However, one of the decisions we made early on was to make sure we dig deeper with the talks. We wanted to avoid (as much as possible) speakers talking about intro level things which can just be found online (unless it is something really new, interesting or rare).

The Esoteric

One of the joys for many JS developers who come to events like this, is to discuss and just geek out about the design and theoretical aspects of the language and where it's heading. Often in fast paced work environments, you don't seem to get that luxury.

As our code gets bigger and the problems get larger, we're starting to look towards functional programming more and more as a possible way to reduce, or at least better manage the complexity of large-scale programs.

No matter what language you work in, programming in a functional style provides benefits. You should do it whenever it is convenient, and you should think hard about the decision when it isn't convenient. - John Carmack

I really wanted a talk about functional programming and Javascript this year, and we're lucky we have Hemanth to talk about it. He'll talk about the what, whys, hows and more regarding functional programming in Javascript. Hemanth works at CISCO and is a core member of the Yeoman project.

World famous Javascript developer, and my teammate and friend from Opera, Mathias Bynens will be talking about the challenges developers have with Unicode and Javascript, especially with regular expressions. He'll also cover how ES6 will help with this, bringing benefits to not only security, but also in internationalization.

Rabimba Karanjai will be talking about using machine learning to build a self-learning system for word prediction. This is quite interesting, as getting quick and accurate input from the user on mobile devices is a surprisingly difficult challenge. Manshi Shah will talk about how to compile a lisp-like language to JavaScript. Be prepared to learn about the internals of JS and how you can use tools like escodegen to generate ECMAScript code.

We'll also have Arindam Paul talking about the internal of the JavaScript VM, and Pavithra Kodmad will give us a deep dive tour into Rxjs observables. Rxjs attempts to combine the world of promises and callbacks while working with asynchronous data streams, while using functional programming paradigms to achieve it.

The Practical

Geeking out about the design and theoretical aspects of the language are all great, but one of the reasons devs love to come to JSFoo is also to know more about things that others are doing in their jobs right now; Stuff that will help them solve practical real-world concerns.

One very important practical problem is that of memory. Anirudh Sanjeev will talk about memory leaks and how to prevent them as much as possible in your code. My friend from Oslo, mathematician and all-around great guy Mats Olsen is also coming along to talk about search-index.js, and new concepts regarding "small-data". Suhas will talk about metaprogramming with ES6 (using things like symbols, proxies etc), in order to make our code more elegant.

Rahul Rout will talk about building apps with Electron. I really think Electron has a lot of potential. In some form or another, we've had ways to build cross platform apps using web technology, but they've always had some major drawback or another (like being tied to one browser etc). Electron looks like a really viable way to practically make cross platform apps and there are a lot of popular apps which have been made with this platform already. It will be interesting to learn more about it, and to see the pros, cons and best practices regarding it.

Apart from Mathis, Mats, and Andrew Fisher we also have the honour of having Guillermo Rauch as our fourth international speaker, who will be talking about the future of chat. Guillermo created socket.io and has been deeply involved with the node.js community from the very early days. I'm really excited to have him speak here!

The Fanciful

IoT is hot right now. It's such an interesting topic with so many possibilities; things you can physically work with, not just things you can look at on a screen. We'll take flights of fancy with Sharmiladevi, who will be talking about flying drones with JavaScript. Arnav Gupta will talk about doing home automation using JavaScript. (Home automation in particular, I think has a lot potential for the future and I'm optimistic about it overall, but there are a lot of gotchas and potential troubles too!)

Andrew Fisher, one of the core members of the Johny-Five team, will also be talking about IoT. If that's not all, he'll also be conducting a workshop on NodeBots and JS hardware.

If you're at all interested in IoT, you have to come to JSFoo.

Abhishek Narian from Microsoft will talk about how to build 3D games using Bablylon.js, and Pranay Dubey will talk about the competitive programming scene and how JavaScript fits into it.

We'll also have Srikumar and Amit Kapoor talking about Web Audio. Srikumar has made an amazing library called Steller for doing sound modelling using the Web Audio API. He'll also be doing demos based on Indian classical music! Amit will talk about how to use P5.js along with Web Audio in order to visualize music. Also, if you're not familiar with what a djembe is, you will be after this talk!

The elephants in the room

Libraries and Frameworks (like React, Angular, Ember etc) are of course, something extremely relevant here, but we made a decision not to focus on these in the main talks. The reason is that we've already had a lot of people talk about such libraries and frameworks in the past, and so much information is available online for it, that we think a dedicated session covering a framework or library is not really that exciting anymore in this particular format.

That does not mean that we won't talk about it, though. We'll just have a different format for it. See, I think the pervasiveness of most frameworks and libraries (like Ember, React, Angular etc) is so much now, that plenty of people have a lot of opinions and practices of their own that they would like to share. For such a topic, I think it would be better to collect a bunch of people passionate about it, and have a free flowing discussion about it, where you can just express your thoughts on it and comment on others' as well, in a group discussion format.

We call this format 'Birds of a Feather' sessions, which will be outside the main hall, and anyone can walk in and be part of the discussion. We'll have two BOF sessions regarding this topic. One specifically on React.js and another on frameworks in general, where you can express which side are you on and why. These BOF sessions are outside the main hall and will not be recorded. We hope this would provide an atmosphere for refreshingly honest and candid discussions. We want passionate, but good natured and informative opinions to be presented. I think this format has a lot of potential to spread knowledge and information that the typical conference talk will not be able to.

The third and last BOF session we'll have will be titled 'Elephants in the Room' - this is a big topic for all the miscellaneous stuff you want to talk about (or hear about) as a JavaScript developer in the community. I want this topic to be about the stuff that is on many people's minds, but for some reason or another, doesn't make it to a formal JS talk. For example, what about career progression? Developer pay? How to do you keep up in this crazy fast paced world? Do we need more diversity in the community? What can the JS community learn from other communities and how? I would expect a lively discussion on all these questions and more on this third BOF session.

See you there

We hope you'll enjoy JSFoo 2015, and will contribute to the discussions whenever possible (either by participating in the BOF sessions or by asking questions at the end of the talks). Together, let's make these two days a celebration of JavaScript and all the people who use it!