Build your own Skip List

The skip list is one of my favorite data structures.

  • It can be used to implement ordered lists or sets.
  • It is easy to understand.
  • It doesn’t require any complex re-balancing like some of the other ordered-list structures.
  • It’s fast. And all of the operations - insert, search, delete - are O(log n) on average.
Read More

The Fundamental Problem of Search

It has gnawed on my subconscious for the past 5 years. Even as I wrote Relevant Search it was there at the back of my mind weighing me down - the fundamental problem of search. But only now has the problem taken shape so that I can even begin to describe it. Succinctly, here it is:

Read More

Load Testing Elasticsearch Using Python asyncio and the Slow Log

Over the past couple of days I’ve been reading over Yeray Diaz’s wonderful blog posts on python3 asyncio (AsyncIO for the Working Python Developer and Asyncio Coroutine Patterns: Beyond await) and I decided to see if I could come up with some sort of Elasticsearch load testing framework.

Read More

Are You Here Today?

A notification popped up on my Slack messenger at work; it was from Mary, our office administrator.

Read More

Meg's First Camping Trip

This past weekend I took Baby Meg (3.5yrs old) on her first camping trip. And boy was it memorable. For starters check out our digs:

Read More