The Blog of Chris Saylor

Building a Chess bot for Slack

August 23, 2018 engineering Chris Saylor
With Atlassian’s announcement suspending development of Stride and dropping support for Hipchat in favor of Slack, I decided that the time was right to learn and experiment with Slack integrations. Any time I take on learning some new technology, I always make a project that utilizes much of the features of that technology. The project needs to be small enough that I can complete it relatively quickly, but deep enough to flex the technology I am learning. Continue reading

Why Use Generators in PHP

January 2, 2017 engineering
I’ve heard many co-workers, friends, and colleagues at meetups acknowledge the existence of generators in PHP, but not understand why they would use them or give them much thought when planning out implementations. In this article, I’m going to explain with concrete examples of when it is a good idea to use a generator. In case you don’t know what a generator is, you can check PHP’s documentation on the subject for a good synopsis. Continue reading

Elasticsearch Series: Let It Work for You

May 19, 2016 engineering
This is the second entry in a series on Elasticsearch and how we use it in our applications. See the previous entry on Rebuilding Indices with No Downtime. Elasticsearch has a vast number of ways to query the data in your index. How you query your data is very much dependent upon where it is being used, so in this post we’re going to talk about how we use it in our instructor search application. Continue reading

Elasticsearch Series: Rebuilding Indices with No Downtime

March 2, 2016 engineering
This is the first entry in a series on Elasticsearch and how we use it in Zumba’s applications. Many of Zumba’s applications have some form of search. In the beginning, many of these were implemented via querying MySQL. As you can imagine, this doesn’t scale very well. On top of that, certain types of queries, such as geo location, are difficult to accomplish (read: we have to do math). Continue reading
Older posts