Speakers and Mentors
Michael Schloh von Bennewitz
…more to be announced!
CampJS creates a unique blend of expert-led, structured content and self-directed, unstructured learning.
CampJS III will commence at 3pm Friday on the 23rd of May, and run through to 9am Monday the 26th. The Camp will be held at Lord Somers Camp, Victoria, Australia. Expect a CampJS IV later in 2014.
A bus from the airport will be provided for interstate travellers.Fly into Tullamarine airport around midday, busses will leave between 1 and 2pm. The return bus will get people back to the airport before midday.
The venue does provide comfortable accommodation, but you can camp there if that is your wish.
- Thinking in Components
- ES6 Generators
- A CAD→CAM solution for the Browser
- Interfacing with mobile IOT Nodes
- Dropping Anchor
- WebRTC & Web Components; match made in heaven
- BEM for JS
- Quiver.js - A New Server Side Component Architecture
- Intro to WebGL with three.js
- Packaging CommonJS for the browser: Webpack and Browserify
- Make Haste: Fast Track to Functional Thinking
- Front-end Builds with Gulp
- Offline-First from First Principals
- Stream Adventure
- Firefox OS Homescreen hacking
- Extending Atom editor
- Developing apps with KeystoneJS & MongoDB
Thinking in Components – Workshop
Over the past couple of years, front-end development has begun to grow up and become a serious discipline thanks to browsers and tooling but we haven’t yet had a good way to share tiny pieces of front-end code. Component is that solution.
Using Component we will show you how you can structure an application and create and share your own packages. Most importantly, we will show you how to think in “components” instead of large libraries so you can make your HTML, CSS and JS more modular than ever before.
Anthony is an Australian designer and front-end engineer at Segment.io in San Francisco. He is a contributor to Component and many other open-source projects and thinks every library should be a Component.
Ian Storm Taylor
Ian is a designer and developer at Segment.io who’s super into open-source. He loves component with a passion, and thinks anyone and everyone who does front-end work should be using it.
ES6 – Workshop
This workshop will give you a hands-on introduction to a wide variety of ES6 features, with a focus on those that you can use today via transpilation or bleeding-edge Node and browser versions. By the end, you'll be writing ES6 code fluently, and be ready to take back these techniques to your team for use in real-world projects.
LevelDB – Workshop
Databases have traditionally been a black box. Most people don't understand how they work entirely, making them difficult to extend or integrate with confidence. Why not try a more Node.js-like solution to the problem of data persistence? A solution where you start with a simple kernel and add or create small modules that facilitate *your* particular problem! Let's take a deep dive into the world of LevelDB! Let's examine how you can liberate yourself from feature bloated, highly monolithic, black-box databases without losing any value.
I like to build products. Currently I'm CTO at Mic Network, a futuristic news company, from the future.
ES6 Generators – Workshop
We’re already relying heavily on generators at segment.io and they made our code a lot more solid and maintainable. Let’s look at how they work and how they can be used in real life situations.
Julian Gruber is a Software Engineer from Southern Germany who splits his time between his day job at Segment.io, his many independent open source projects, and his metal band Running Death. His most recent areas of interest are JS generators, LevelDB and browser operating systems.
Nodeos is a lightweight Linux distribution built around node and npm. There is no bash, no systemd, and no apt/yum. Your system tools are written in node, and installed with npm.
Every npm package is a nodeos package, so anyone can contribute. The base nodeos install gets you started, but beyond getting a few necessary services running nodeos expresses no opinions on how to run your system.
Nodeos wants to make systems programming as accessible as node has made web programming.
Jacob lives in the Bay Area, but is originally from Vancouver Canada. He is an applied mathematician turned sysadmin turned software engineer, and currently works on node tracing at new relic.
I'll be talking about the pain points experienced with using existing CAD and CAM systems, which include:
- Cross-platform compatibility
- Usability issues
Basically, you either pay a ton of money and get "cutting edge" software and limit yourself to windows, or you can risk going with an open solution that will likely not suit your needs. It's important that the solution you choose is hackable and in a language that many people understand.
The kicker to this talk is walking through the various steps of:
- Creating a 3d object
- Preparing the 3d object for milling
- Milling the object using a cnc that I'll be bringing
I will go into the details of building your own cnc machine at home and how that varies from a $50,000 machine that you can get off of ebay or similar.
As a long time tinkerer/maker I have recently rediscovered working with my hands. Not only is it super fulfilling, but the end result is a real physical thing that you can hold. My passion for building robots and the web drives my dreams of building an automated infrastructure, that allows me to quickly iterate on various ideas while building physical objects. All built inside of the browser of course!
NodeBots – Workshop
NodeBots are Arduino-based robots that are controlled by node.js. This workshop will step you through assembling a number of basic circuits and programming using an Arduino-compatible microcontroller and node.js, to help you get started building your own NodeBots.
Michael Schloh von Bennewitz
To illustrate the unique task of designing collaboration of sensor and feature rich telemetry devices otherwise failing to converge in the IoT landscape, we'll follow a Intel XDK workflow hands-on, and provide boilerplate code and live demonstrations.
Michael Schloh von Bennewitz
Michael Schloh von Bennewitz is a computer scientist specializing in network software, mobile computing, and client server design. Responsible for research, development, and maintenance of packages in several community software repositories, Michael actively contributes to the Opensource development community. Fluent in four languages, he speaks at technical events every year. Michael has presented for groups including Cable & Wireless, Nokia, Ubuntu, and Mobile World Congress.
From the complex concepts like distributed task scheduling to the simple like hosting disk images, using Docker outside of an experimental context can be surprisingly difficult. Strap in for an exciting ride while Conrad covers the ins and outs of how he uses node.js and Docker in his internal hosting platform.
Skipping between multiple levels of the stack, Conrad has worked on projects ranging from embedded device programming to web applications to multi-machine clustered systems. Through touching so many different areas, Conrad has learnt first-hand the value of keeping systems flexible yet manageable.
Together, RTC.io and InterConnect's web components will make building skype as easy as building a web form. We will introduce everyone into the technologies of WebRTC and Web Components, the technical details of them, the problems they're trying to solve, and the technical challenges and complexities which RTC.io and InterConnect's components hide away. The workshop will get people hands on with the tech, building their own skypes, adding their own features, etc, and actually working with the tech, actually building something that video calls to each other!
BEM for JS – Talk
Introducing BEM Block Libraries - a set of blocks build on top of same ideas that inspired Web Components creators but long long time ago. Being developed in 2008 by Yandex, Russian Search Engine, they are very helpful in building websites fast and flexible. Why so? Because of the years of experience put in them while working in large rapidly changing services.
Unfortunately it is very well known only here in Russia and ex-Soviet countries, where, thanks to Harry Roberts and Nicolas Gallagher, so-called BEM CSS is spread far ahead in the rest of the world. With this talk we aim to share what we have in BEM Methodology to cover JS coding with and introduce Australian developers to a new chapter in BEM, partly not always easy to understand, open-sourced and handy for maintaining complexity of web development you could grow in.
Quiver.js introduce a new kind of programming paradigm for writing modular server-side applications. Instead of writing monolithic applications using OOP, Quiver allow code to be organized as functions together with JSON-like component definitions.
One of the basic building blocks in Quiver is stream handler - a function that accepts a stream-like object and asynchronously returns a result stream-like object. Together there are six layers of such abstractions that makes Quiver stand out as a modular and robust architecture.
In this talk I will present a short demo to give a quick overview of the concepts behind Quiver.
Soares is a self-taught Node developer and have been doing software back-end development for ten years. He is from Malaysia and have previously worked in Stockholm to develop the back-end system of ScoreCloud.
Intro to WebGL with three.js – Workshop
An introduction to developing WebGL applications using the three.js framework. We will look at the basics of three.js to get you up an running covering the coordinate system, cameras & lighting and meshes and materials.
For more advanced users I will create some exercises for working with the physics library physijs.
Alex works as a Software Development Lead for Kiandra IT. He runs the non-profit conference DDDMelbourne.com & wrote the books Introducing .NET 4.0 & Introducing .NET 4.5 for Apress. When he’s not in front of a computer he enjoys CrossFit, cat videos & kicking people at Taekwondo.
There are a lot of awesome CommonJS modules on npm, including many that are great for browser code. Unfortunately, CommonJS modules are not natively supported for browser code.
Browserify recursively analyzes the CommonJS dependencies of an application and bundles them into a single script file suitable for the browser. Webpack offers similar functionality for CommonJS, but can also handle AMD modules, can split code into multiple bundles, and deals with a range of other front-end formats.
I will compare my experience using both browserify and webpack while developing client-only browser-based games, touching on areas such as ease of configuration, continuous deployment and the properties of the generated artifacts.
Katie Miller, also known as codemiller, is a polyglot programmer with a penchant for Haskell. The former newspaper journalist works as an OpenShift Developer Advocate at Red Hat and co-authored the new O'Reilly book Getting Started with OpenShift. Katie co-founded the Lambda Ladies group for women in functional programming and is a co-organiser of the Brisbane Functional Programming Group. Katie is passionate about coding, open source, software quality, languages of all kinds, and encouraging more girls and women to pursue careers in technology.
Front-end Builds with Gulp – Workshop
After looking at the current state of JS build tools, we'll run through the creation of a standard Gulpfile.
Offline-First from First Principals – Workshop
"I think it'd be interesting to show how something like Hoodie works, and how you could do something similar in Angular. We could do a 'OMG look at Hoodie' workshop but I think something more low-level would be better. Schwarz, thoughts?"
Glen Maddern is an independent web developer from Melbourne, Australia, with a background in mathematical simulations and distributed computing. Since 2009, he's been working exclusively on the web and most recently, almost entirely on the front-end. He believes there's never been a more potent target for ideas than the browser and the web, and loves the incredible pace at which new ideas are emerging. He runs the Melbourne AngularJS meetup and is an organiser of the inaugural CSSConfAU.
Learnyounode – Workshop
A nodeschool.io workshop that will teach you Node.js, starting at a basic "HELLO WORLD" and moving on to more advanced exercises: synchronous & asynchronous I/O, filesystem operations, TCP & HTTP networking, events, streams and more.
Stream Adventure – Workshop
A nodeschool.io workshop that teaches you how to compose streaming interfaces with .pipe()!
Bytewiser – Workshop
A nodeschool.io workshop that teaches you the fundamentals of working with binary data in node.js and HTML5 browsers.
Firefox OS Homescreen Hacking Competition – Workshop
One of the new features in the upcoming release of Firefox OS is the ability to replace the Homescreen with one of your choosing. In this workshop you will learn how to build your own. For those of you not lucky enough to attend Camp JS II, or just weren’t paying attention, this workshop will cover the basics of making Firefox OS apps. We’ll also cover new APIs and inter-app communications features in the upcoming release. You’ll then use these skills to battle in CampJS’s first Firefox OS freestyle homescreen remix competition. Design your own phone or simply make an interface which helps you avoid making suboptimal communication choices while drunk - shiny prizes for the coolest prototypes!
Paul Theriault is the security lead for Mozilla's Firefox OS project - a project developing a mobile operating system based on web technologies. He has an extensive background in web security with experience ranging from application security testing and code review to risk assessment and security management.
Extending Atom editor – Workshop
In this workshop you’ll learn the fastest way to put a database-driven / content managed website together in Node.js using KeystoneJS, a new, open source web app platform disguised as a CMS.
Keystone builds on Express and uses MongoDB to simplify developing database-driven websites and apps, and gives you a lot of rich functionality (including a sweet Admin UI) out of the box. Keystone has enough opinions to get you started quickly, but lets you extend / override / change basically anything.
Your guides on this adventure will be Jed Watson, the lead developer of KeystoneJS, and Stephen Steneker, the community support lead for MongoDB.
We’ll begin with a starter site using the KeystoneJS Yeoman generator, then go down the rabbit hole exploring features and how to scale to a much more sophisticated application.
Stephen (@stennie) is an experienced full stack software developer based in Sydney, Australia. He currently provides support, consulting, and training services for MongoDB and manages the team providing community support in forums such as StackOverflow and the mongodb-user group. In his spare time he enjoys LEGO, bacon, and playing with gadgets.
The best way to learn is by doing, thus the hall is mostly reserved for uninterrupted hacking. Get inspired by the talks & workshops or the awesome collective talent in the room. Build anything you want.
On the final evening, everyone is given the opportunity to show off what they built or learned at CampJS, with prizes for the best presentations!
Regular tickets are priced at $450 per-person. This grants you:
- 3 nights of comfortable accommodation (tents optional).
- 3 meals per day.
- Morning & afternoon tea.
- Unlimited "refrigerated beverages".
- Free access to talks and workshops.
- Opportunity to win prizes.
- A fun weekend hanging out with the best developers in Australia and from around the world.
Tickets will be released to the public in limited batches starting 11am EST, Friday January 24th 2014. See ticketing for the latest pricing.
CampJS is looking for sponsors large and small. We are particularly interested in sponsors willing to attend the Camp and get involved with our community for any kind of creative, educational & community-building activities.
Code of Conduct
CampJS strives to be a safe and welcoming environment for everyone. We will not tolerate harassment or discriminatory behaviour at CampJS and will be enforcing the policy outlined in our code of conduct.