All Posts

2018

5 The Best Place to Work, Now Verified!

We were recently included in Fortune’s “100 Best Companies to Work For in 2018”. How did that happen? Honestly, I’m not sure how they decide. But it’s not m...

2017

a Chicago WomenTech Panel & Happy Hour

Conversant and TechNexus are sponsoring a Chicago WomenTech panel discussion & Happy Hour! Join us for an intuitive panel discussion with some of Chicago...

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...