-
Bloom Filters
A Bloom Filter is a Probabilistic Data Structure. The Filter responds to
exits(str)
with 100% certainty ifstr
is not present. Atrue
response fromexists(str)
only indicates a probability ofstr
being present, and could be a false positive.Bloom filters are used to efficiently and accurately check the absence of a value. Typical examples can be blacklist of domains, checks for a username availability for registration, or whether to look for data in cache depending on the key, etc.
Since Bloom Filters use arrays of bits, they are space efficient, and the get/set operations do not require any scans or searches, making them compute efficient as well.
Having used them at IGN to quickly respond to is the username available on the registration form, I recently ran into them again for a hobby project.
-
Up and running with Aurora Serverless
Amazon RDS is a fully managed Relational Database Service on AWS. Amazon Aurora is a MySQL and Postgres compatible database with much better performance at scale due to the enhancements and rewriting AWS has put in. For more context on Aurora, here is my earlier post.
Aurora RDS has several practical configurations applicable to pretty much all production workloads (Multi region, Multi-flavored read replicas FTW!). The ones I like the most are Aurora Global Database, and Aurora Serverless.
Imagine a fully managed database in the cloud that needs minimal upfront setup, scales on demand, and saves $$ by pausing when not in use. In a nutshell, thats exactly what Aurora Serverless is.
In this post I will talk about the fundamental concepts, use cases, setting up a cluster, taking it for a spin, and tips/gotchas.
-
Docker Socket File for IPC
While setting up a Consul cluster, I decided to dig a bit deeper into the whole
/var/run/docker.sock
phenomenon. While it is fairly common that a lot of Service Meshes like Consul, and System Monitoring Services like Newrelic and DataDog ask to mount/var/run/docker.sock
, I must admit I’ve always been curious about this particular socket (vs. taking the mount step for granted). These are my notes from calling Docker Server by curl-ing the socket. -
Feature Flags and Toggles
Slides from my tech talk at Marqeta.
-
Managing Multiple AWS Credentials
Simple script to manage multiple AWS credentials when using the CLI or SDKs.