So You Want to White-Label Your Software


Have you ever developed an application that was so successful at solving problems for your users that they asked for a white-labeled version of the application, one they could brand themselves? How about custom features for individual customers? Solving these problems in a sustainable way without blowing your development budget is challenging. There are various architectural patterns that are useful, however each comes with its own tradeoffs. In this article we will explore some of those patterns, their benefits, and their risks.

Read More
Daniel Glauser
Elasticsearch Performance Basics Made Easy

How do you build a fast, reliable Elasticsearch cluster? Use a recent version. Get your topology basics right: 2n+1 master nodes. Use standalone, master, data, query and ingest nodes appropriately. Use available RAM wisely. Disable or minimize swapping. Use an appropriate number of shards (hint: 1 is probably a good default).

We have a new tool to run (most of) these checks for you:

Read More
How to Win at Machine Learning

What does any CTO, tech architect, or product owner need to know in order to make their first machine learning project a success? Realistic expectations, a sound and methodical approach, enough time and resources to complete the project, plus some key skills in your team.

Read More
Parallelizing A ClojureScript Test Suite, Part 1: The Guts of cljs.test

This is the first article in a series, describing an opt-in method to add parallel execution to an existing CLJS test suite. This article explains the general approach for adding parallelism with a minimum of fuss to our Clojurescript tests, takes a tour of cljs.test internals, and digs into some of the key abstractions we will extend in future articles to complete our "holy grail" of parallelized CLJS unit tests.

Read More