Notebook

Taking up the Slack with RocketChat

Here at Infinity Interactive, we are an entirely remote team. As such, high availability of our communication tools is paramount to our success. Our daily methods of communication include JIRA, email, commit messages, and even, gasp, telephones. While these are effective at doing their job, they are not a replacement for that “human” feel you get when you go into an office and have the ability to have group and individual conversations with your co-workers. For that piece of the puzzle, we use Slack.

The Problem

Slack provides us with real-time messaging between our teammates, as well as a select list of external partners. It also allows us to share files, make conference calls, and provides us with a much needed outlet to tell the latest and greatest dad joke. For the most part, Slack is great. It's intuitive, fairly affordable, pretty reliable, and consistently gets new features.

On the down side, Slack is an external platform. Sometimes we wind up being subject to outages over which we have no control. Since communication is so vital to what we do, we decided to look for a solution that could be used on-demand for when there was an outage at Slack.

Read More >

System monitoring: summoning the beast of a thousand eyes

a peacock, tail fully extended
Here's looking at you, kid

System monitoring. A pretty vital part of any network management. That is, unless you're one of the few who live for the visceral thrill of flying blind. For the rest of us partial to our lack of heart condition, an ounce of prevention is worth ten thousand gallons of Saturday morning intervention.

In this blog entry, I'll go through the exercise of putting together a simple but working and easily extensible system monitoring setup leveraging common pieces of technology.

Read More >

Reduce and Conquer

Bulbophyllum falcatum
reducin' all the way

In an ecosystem riddled with large, portentous frameworks, [Redux][] is a refreshingly ascetic little store management system. Driven more by its functional programming-inspired tenets than supporting code, it offers — and needs — only a few helper functions to manage its stores.

Minimalism is good. It's also a good idea to abstract oft-used patterns into more expressive forms. Ideally, code should be crafted such that its intent comes out on first read, while making deeper digs possible when required.

Happily enough, the judicious use of delightfully succinct higher-order functions is often all that's required to tailor-suit some ergonomics into the manipulation of middleware and reducers. This blog entry will showcase some of those helper functions that work for me.

This article assumes you're already familiar with Redux. If this isn't the case, you might want to check out first one of my [previous articles][pollux], which provides a gentler, if a tad unconventional, introduction to the framework.

Read More >

Twenty Thoughts

Yesterday marked our 20th anniversary.

It’s been an awesome ride and we’re grateful for the opportunity to have enjoyed every moment with so many wonderful partners, clients, and colleagues. This weekend, I had an opportunity to spend a few minutes to sit back and reflect on the experiences of the past twenty years as well as the path forward to the next twenty.

Read More >

JSON Schema, shortly

a stenograph - picture by Chatsam / CC-BY-SA-3.0
optimizing that whole typety-type business thing - picture by Chatsam / CC-BY-SA-3.0

JSON Schema is a neat way to describe or prescribe structural expectations of JSON documents (or, indeed, any data structure, let it be a JavaScript plain object or the equivalent in another language). But JSON schemas are themselves JSON documents and, while machines love a good ol’ JSON format, let’s face it: for us humans it’s a lengthy, picky, and mildly onerous format to write and read.

Fortunately, there are many ways to craft JSON schemas while circumventing most of its JSON-born tediousness. Let me show you a few of them.

Read More >

Writing Infrastructure as Code

HashiCorp Terraform
HashiCorp Terraform

When we developed the TPC 2017 mobile application, we wanted to create a repeatable process for delivering white-labeled mobile applications in this space. This new delivery model did not end with the mobile application’s UI and data. The backend had to be configuration-driven and easy to redeploy as well. This way we can spin up a mobile application with a working backend in minutes.

Read More >

Meet Julie Vo

Julie Vo
Julie Vo

Meet Julie Vo. In this latest post in our interview series, we’d like to introduce you to our own Julie Vo, the newest member of the Infinity family. She is on our Consulting team as a project manager.

Read More >

So much #speakerlife!

This summer I had the wonderful opportunity to represent Infinity and speak at a number of conferences. Earlier in the year I was doing a much better job of keeping up with writing up my experiences at each conference soon after it happened, but as things got busy over the summer, I got behind. Below the fold, I’ll do a brief recap of each of the five (yes, five!) conferences I’ve spoken at and not yet recapped here.

Read More >

Meet Eric Wagoner

Eric Wagoner
Eric Wagoner

In this latest post in our interview series, we’d like to introduce you to our own Eric Wagoner, the magnificent man of many talents. He is one of our senior developers.

Name, Company, Title, City

Eric Wagoner, Infinity Interactive, Senior Developer, Athens Georgia

Read More >
↪ OLDER

We solve problems with technology. What can we solve for you?

Reach Out

t: 800.646.0188