All Posts

2017

5 What is in a Name?

Mathematics is the art of giving the same name to different things. — Henri Poincare

2016

U Java Memory Allocation FlameGraphs

FlameGraphs are an incredibly useful method of visualizing profiled software data. The FlameGraph tools aggregate stack trace data into an interactive SVG (c...

h Announcing Conversant R-Tree

Conversant R-Tree is an index for high dimensional range data. It is well suited for indexing spatial data and provides efficient range searching across all...

a GOTO Chicago May 2016

Greg Opaczewski, Alba Rico, Cory Lassila, Zach Volz, Jake Brown Conversant Engineers attended GOTO Chicago. There were excellent talks on microservices,...

U Making Distinct Counts Scale, part 2

In part 1 we introduced the original HyperLogLog algorithm (Flajolet, Fusy, Gandouet, Meunier), discussed its purpose and function, and described how Convers...

a First CAKE Meetup Overview and Video

On Thursday, April 14th Jay Kreps, author of Apache Kafka and co-founder and CEO of Confluent, Inc. gave a presentation to nearly 100 Kafka fans at the inau...

U Making Distinct Counts Scale, part 1

Counting the number of distinct elements in a data set seems like a trivial problem. You iterate over the data set adding an element to a list if it’s not in...

h Conversant Disruptor - Worlds Fastest

Conversant Disruptor is the fastest available Java BlockingQueue. A JMH benchmark comparing Conversant Disruptor versus ArrayBlockingQueue, LinkedTransferQue...

2015

U TSDB Compression

At Conversant we operate a 12 node OpenTSDB cluster that takes in metrics from hundreds of servers across our multiple data centers. We have talked about its...

U REPL Driving your code

As professional developers we apply many disciplines to help ourselves deliver code that is reasonably well-designed and bug-free. I have been an adherent a...

U 100 Lines of C

Simplicity has its place in software design. Yet we seem to be in the age of framework dependent design. For obvious reasons engineers are encouraged to re...

2015: 4th Annual Summer Boat Party

On August 13th Conversant Engineers - along with the rest of the Chicago office - took a break from slinging code to enjoy cocktails and the Chicago Skyline ...

5 On Becoming Functional

The final verdict may yet be out but the trend is quite clear - imperative style is old and busted, functional is the new black; at least as far as “big dat...

U Scala for Test Automation

At Conversant we’re constantly making changes, enhancements, and adding new features to our Java-based RTB and Ad platform. Keeping pace with these changes r...

h Mara: Annotations for MapReduce

Some time back a colleague and I were discussing our respective MapReduce frameworks. Although very different, they both aimed to simplify the mundane task o...

5 Little Design Up Front

When I started writing software, we had Architects (plural, with a capital A). The Architect would work with the business and with other Architects to compo...