Apache Kafka, Data Pipelines, and Functional Reactive Programming with Node.js

Heroku recently released a managed Apache Kafka offering. As a Node.js developer, I wanted to demystify Kafka by sharing a simple yet practical use case with the many Node.js developers who are curious how this technology might be useful. At Heroku we use Kafka internally for a number of uses including data pipelines. I thought that would be a good place to start.

When it comes to actual examples, Java and Scala get all the love in the Kafka world. Of course, these are powerful languages, but I wanted to explore Kafka from the perspective of Node.js. While there are no technical limitations to using Node.js with Kafka, I was unable to find many examples of their use together in tutorials,...

Read more →

Talking with Tom Dale about Ember FastBoot and the Return of Scrappy JavaScript

Tom Dale with Terence Lee and Matt Creager

Last week, Terence Lee and I caught up with Tom Dale at EmberConf to talk about FastBoot, when you should avoid native apps, and why JavaScript on the server and the browser might start to converge. Check the end for the full recording!

So let's start with the drama, would you say Ember has declared war on native apps? [laughs]

[sigh] Yeah. Yeah, I think that's fair. Yeah. Sure. Why not? Let's go with that.

A lot of other frameworks, take this approach of bringing web technologies and dropping them into native experiences - React Native being the prime example. It seems that Ember wants to bring back the glory days for web technologies - is that right?

Yeah, absolutely. I...

Read more →

10 Habits of a Happy Node Hacker (2016)

At the tail end of 2015, JavaScript developers have a glut of tools at our disposal. The last time we looked into this, the modern JS landscape was just emerging. Today, it's easy to get lost in our huge ecosystem, so successful teams follow guidelines to make the most of their time and keep their projects healthy.

Here are ten habits for happy Node.js hackers as we enter 2016. They're specifically for app developers, rather than module authors, since those groups have different goals and constraints:

1. Start every new project with npm init

Npm's init command will scaffold out a valid package.json for your project, inferring common properties from the working directory.

$...
Read more →

10 Habits of a Happy Node Hacker

This post is from 2013 - check out the update!

For most of the nearly twenty years since its inception, JavaScript lacked many of the niceties that made other programming languages like Python and Ruby so attractive: command-line interfaces, a REPL, a package manager, and an organized open-source community. Thanks in part to Node.js and npm, today's JavaScript landscape is dramatically improved. Web developers wield powerful new tools, and are limited only by their imagination.

What follows is a list of tips and techniques to keep you and your node apps happy.

1. Start new projects with npm init

npm includes an init command which walks you through the process of creating a...

Read more →

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.