Top Stories published by Vena Engineering in 2016
January
February
July
August
November

Gotcha! Cartesian products of Java 8 streams

Occasionally, you need to compute the Cartesian product of several sets. Java 8 Streams make this simple, clear, elegant… and extravagantly expensive. I’ve created a Cartesian helper class that solves the memory usage problem, and allows Cartesian


Deploying OSSEC at scale

As part of a general effort to improve the security of our infrastructure, all of our AWS instances now have OSSEC installed on them to provide host-based intrusion detection — this includes instances in our autoscaling groups. In this post I’ll explain how this is done.


The Inflatable Transpose Tree: a highly compact data structure

In honour of Claude Shannon’s 100th birthday, I want to tell you about two ideas I had for storing data efficiently. These ideas are pretty nifty individually, but together, they form a data structure that allows a large…


Our Culture

It’s always been an interesting challenge explaining to a prospective hire all that they will get out of an experience at Vena. I can’t project the future for them, the levelling up it will do for their career, the excitement and challenges they’ll face. It’s something I hope they’ll have a chance to see…


RabbitMQ Gotchas

When you’re running a cloud service like we do here at Vena, uptime is very important. We run blue-green deployments and we strive to make all database schema changes backwards compatible, so server upgrades require no downtime and rollbacks are equally painless. The end result is that our users…


Fun with DNS

At Vena we’ve been recently engaged in an effort to upgrade our servers to take advantage of AWS’s Autoscaling and Elastic Load Balancing (ELB) services, the ability for servers that are in an unhealthy state to be replaced by new healthy servers. During this process we have run into a bit of a problem…

These were the top 10 stories published by Vena Engineering in 2016. You can also dive into monthly archives for 2016 by using the calendar at the top of this page.