What we've been up to in Quarter 1 of 2016

It's been a busy first quarter here at Red Comet Labs and we'd like to share what we've been up to.

Welcome Ben!

First of all, Ben Janecke joined the team, bringing his excellent CSS skills and JavaScript experience. We're thrilled to have Ben's expertise on the team, even though Garren is now outnumbered by Capetonians!

DevConf 2016

At the beginning of March, all three members of the Red Comet Labs team had their talks accepted for DevConf 2016, so this also gave us a chance to get together and do a bit of Red Comet Labs planning and strategy. Our strat session had a bit of a delayed start after, ahem... Andrew managed to miss his flight from Cape Town. Then, at DevConf, we got to hang out with over 500 other members of the South African dev community and attend some interesting talks.

Here are the abstracts of the team's talks. Do let us know if you're interested in hearing more about our topics.

Garren: Building responsive offline web applications using CouchBD and PouchDB

People are using our web applications on mobile devices, so internet connectivity is no longer always guaranteed. We need to build applications that work offline. Enter PouchDB, a database that works in the browser, and CouchDB, a NoSql database that replicates. Combine both of these and you can build responsive applications that work, whether the user is online or offline.

In this talk I will introduce both of these great database technologies, show you how to get started with CouchDB and PouchDB, and demo the many ways in which you can combine them for an amazing web experience for your users.

Ben: Composition over inheritance in Javascript

The gang of four make two important statements in their book:

  • "Program to an interface and not an implementation" and
  • "Prefer composition over inheritance"

This talk is about more than just that. It's about what we call the two pillars of Javascript: Prototypical inheritance and Functional Programming, and how we can use the two pillars to enable composition.

  • Learn when and where to use composition
  • Get a better understanding about how prototypes and classes work in Javascript
  • Learn about functional tools closures, lambdas, functors, higher order functions, etc.

Andrew: An introduction to React.js

In this talk, I give a high-level overview of React.js, so that the audience will feel comfortable with the general concepts and know how to get started. Many people would have heard of React.js and will want to know what all the fuss is about. This talk will give a brief outline of the history of React.js, why it is incredibly useful, and the problems it solves.

I will give brief code examples (showing the outline of a React.js component). For people who'd like to take this topic further, I will provide links to websites that give in-depth tutorials and will also provide a boilerplate Github repository for interested listeners to pursue further.

Garren on ZADev, Web Platform and FLOSS Weekly Podcasts

Garren has spoken on three podcasts over the last few months:

Opensource work

Ben has been working on Polar Bear, which is an opinionated Node.js scaffold for web applications. It follows all the 12factor principles. We have been dogfooding it on some of our clients projects.

Garren's latest contributions to PouchDB-find involve getting it to feature compatibility with CouchDB Mango. He also continues to work on NMO, Fauxton and has even contributed his first Erlang code to CouchDB! Garren also built a webpack starter template for the excellent tachyons project.