The Stream Blog

Running PM2 & Node.js in Production Environments

At Stream, we build a lot of showcase and example applications to show off the awesome features that our service has to offer. For nearly all of our applications, we host them on an instance – usually DigitalOcean or AWS EC2. While maintaining your codebase and keeping it relevant is difficult, we’ve found that the […]

Winds – An in Depth Tutorial on Making Your First Contribution to Open-Source Software

The team here at Stream enjoys building open-source sample applications to showcase the functionality of our API. Our perspective has always been that it’s better to demonstrate the capabilities of our offerings in a fully functional platform. In this case, leveraging Stream and other great services allowed us to build a podcast and RSS reader, […]

JavaScript: Promises and Why Async/Await Wins the Battle

Asynchronous functions are a good and bad thing in JavaScript. The good side is that asynchronous functions are non-blocking and, therefore, are fast – especially in a Node.js context. The downside is that dealing with asynchronous functions can be cumbersome, as you sometimes have to wait for one function to complete in order to get […]

Simple Steps to Optimize Your App Performance with MongoDB, Redis, and Node.js

First Things First Here at Stream, we power activity feeds for 300+ million end users and love playing around with ways to utilize our product in all sorts of use cases. Most recently, we built Winds, an open-source RSS and Podcast application with a strong focus on UI and UX. Shortly after we launched our […]

Integrating Algolia Search in Winds – A Beautiful RSS & Podcast Application

Earlier this year, Stream launched Winds 2.0, the second iteration of our popular open-source and native application for macOS, Windows, and Linux, which provides an entirely new way to consume RSS feeds and Podcasts. If you haven’t used Winds, you can sign up at https://getstream.io/winds. Or, if you just want a visual, below is a screenshot of Winds: With […]

Takeaways on Building a React Based App with Electron

Earlier this year, Stream launched Winds 2.0, an open-source and native application for macOS, Windows, and Linux, which provides an entirely new way to consume RSS feeds and Podcasts. It was our first time building a native application, so we chose to go with Electron, a framework for creating cross-platform applications. In addition to Electron, […]

Building an End-to-End Deep Learning GitHub Discovery Feed

There’s hardly a developer who doesn’t use GitHub. With all those stars, pulls, pushes and merges, GitHub has a plethora of data available describing the developer universe. As a Data Scientist at Stream, my job is to develop recommender systems for our clients so that they can provide a better user experience for their customers. With that said, I wanted to see if I could build a recommendation […]

Testing Node.js in 2018

Stream powers feeds for over 300+ million end users. With all of those users relying on our infrastructure, we’re very good about testing everything that gets pushed into production. Our primary codebase is written in Go, with some remaining bits of Python. Our recent showcase application, Winds 2.0, is built with Node.js and we quickly […]

Winds 2.1: Building Touch Bar Support for macOS in Electron with React

One of the newest and coolest innovations in the tech/hardware world as of late is the touch bar that Apple released on its MacBook Pro last year. As these machines have become more and more popular, more and more applications are utilizing the touch bar to interact with their users in a new dimension. As […]

Announcing Winds 2.1 — More Features, Stability, and Pure Awesomeness 👏

Over the course of the past several weeks, our team has been mesmerized by the tremendous growth of Winds 2.0. Closing in on 5,500 GitHub Stars, Winds has quickly become the #1 open-source RSS & Podcast application on GitHub in the open-source community. Shortly after launching Winds 2.0, we moved fast with support for web, macOS, […]

React Fragments – the end of the wrapper div

Hi there! I’m Ken. I’m a Developer Advocate over at GetStream.io, where we build personalized and scalable activity feeds. For the last several months, I’ve been working on Winds 2.0, an open-source RSS reader and podcast listening app. It’s built in Node.js, Electron, Redux and React, and as of this writing, has over 5,000 stars […]

Fixing the billion dollar mistake in Go by borrowing from Rust

panic: runtime error: invalid memory address or nil pointer dereference If you ever used Go, you probably saw this error at least once. Somewhere a nil pointer or nil interface was passed to a function that doesn’t handle nil. In all cases this is a programming error, either the function should handle nil or the […]