Moxie

A newsletter by the Mixmax team

Monitoring slow Mongo queries

Be up to date on when your DB is grinding to a halt

Here at Mixmax it’s no secret that we use Mongo for a lot of different things. One issue that we’d had for a long time though was our ability to monitor our Mongo clusters for slow queries. This is an issue because if an engineer adds a new query to our codebase, but that query doesn’t use an index, trouble will almost always ensure - IOPS will go through the roof, we’ll start seeing Mongo churn through its internal cache because now it’s having to scan full collections, just a whole collection of really bad things.

Click to continue

Batching CloudWatch metrics

Reduce your AWS bill by $5k

Insight into all aspects of our company is core to Mixmax, as such we love our metrics. We have metrics all the way from product right through internal development. We put metrics on everything. One place we store and inspect a lot of our engineering metrics is AWS CloudWatch as it allows us to seamlessly integrate metrics into our alerting and monitoring system.

Click to continue

Integration Testing for Humans

A simple stopgap for Selenium

Raise your hand if you’ve had an outage that could have been prevented by integration testing. And keep your hand raised if you’ve put off writing those tests for some very good reasons. What if there were another way?

Click to continue

Fun With the API

A Holiday Guestbook

Here at Mixmax, we have a new yet rapidly growing API. This API is available to anyone who is on our Professional plan (Give it a try!) and lets us do all sorts of fun stuff such as adding contacts, checking on poll results, and checking the Live Feed, among other things. In the spirit of the season, these are the 5 steps for creating a holiday guestbook which will add people to a Mixmax contact list.

Click to continue

CORS

or: How I Learned to Stop Worrying and Love HTTP Access Control

CORS or Cross-Origin Resource Sharing is a method for allowing a web page to access resources outside the domain from which the page is being loaded. You might ask why this is needed; why can't I just load arbitrary JavaScript from random places on the internet? One good reason is cookies.

Click to continue