Soren is Shannon and Parker

(the people behind Oban, Oban Web, and Oban Pro)



Oban 2.0 and the Introduction of Oban Web+Pro

Announcing Oban 2.0 and the future of sustaining Oban with Web+Pro.

June 12, 2020
Oban Recipes Part 7: Splitting Queues

A technique for running a distinct subset of queues on each node in a cluster.

November 05, 2019
Oban Recipes Part 6: Expected Failures

Using protocols to control notifications for expected Oban job failures.

October 17, 2019
Oban Recipes Part 5: Batch Jobs

Monitor jobs as a group with the power of pattern matching and queue introspection.

September 17, 2019
Oban Recipes Part 4: Reporting Progress

Keep applications feeling responsive by reporting progress from long running background jobs.

August 21, 2019
Oban Recipes Part 3: Reliable Scheduling

Patterns for recursively scheduled jobs without any duplication and the mechanisms that make it possible.

August 02, 2019
Oban Recipes Part 2: Recursive Jobs

Learn about finite recursive background jobs through the lense of Oban.

July 22, 2019
Oban Recipes Part 1: Unique Jobs

Examine techniques for enforcing unique background jobs with Oban.

July 18, 2019
Strategies for Selective Cache Expiration

Selectively expiring cached records is essential to maintaining the health of large production caches.

August 01, 2016
Essentials of Cache Expiration in Rails

Learn the essentials of cache expiration in Rails, and see how fundamental cache key composition is to a performant cache.

July 11, 2016
Effectively Scaling Sidekiq Workers

A case study on organizing Sidekiq queues, workers, and throttles for stability and higher concurrent throughput.

June 28, 2016
Knuckles, The Next Level of API Caching

An introduction into the motiviation and methods behind Knuckles, an extremely fast API caching library.

May 10, 2016
A Fistful of PubSub

The PubSub pattern is core to many distributed systems. Learn about the pattern, best practices, and a distinct use case.

March 03, 2016
Folding Window Functions into Ecto

Understand the power of Postgres window functions to manipulate data efficiently with Ecto

February 08, 2016
Caching, What is it Good For?

Reaching for an alternative runtime rather than eeking out performance through caching

February 02, 2016
Know Your Sidekiq Testing Rights

Sidekiq as a background worker is a critical part of any application infrastructure, mastering the various ways to test it is paramount.

January 28, 2016
Layering API Defenses with Caching

Learn how to effectively layer caching around an API endpoint to yield massive performance gains.

October 19, 2015
Enhanced Logs with Cache Timing

Enhancing logs with custom timings illuminates where request time is really being spent.

October 07, 2015
Instrumenting Your Cache with Notifications

Instrumentation with ActiveSupport::Notifications is a powerful tool, useful for much more than raw performance benchmarking.

September 30, 2015
Migrating Redis Data

Sometimes migrating data from between Redis instances is necessary and not all of the tools are available.

September 15, 2015
Transactional Services Through Background Jobs

Mitigate the lack of transactional safety by leaning on discrete background jobs when interfacing with external systems.

September 01, 2015
Managing Redis Reconnections from Ruby

Learn lessons of stability and reliability through an exploration of how the Ruby Redis client manages reconnection.

August 25, 2015
Reconstructing Payloads with Lua

Reconstructing cached data into API responses quickly directly from Redis using Lua scripting.

August 17, 2015
Efficient Redis Caching Through Hashing

Boost cache performance and memory consumption in Redis through cache sharding, an intelligent way to utilize the Hash type.

August 10, 2015
Optimizing Redis Usage for Caching

Strategies and configuration tips for making the most value out of Redis as a cache.

July 27, 2015
High Performance Caching with Readthis

Strategies behind building the fastest ActiveSupport compliant cache with Redis and Ruby.

July 20, 2015
Universal Postgres Exports

Export queries as CSV straight from PostgreSQL.

June 22, 2015
Realtime for Everyone

Sometimes you do need to build a new wheel, just don't reinvent it.

February 10, 2015
Self Healing Deployments

Applications are services, they need monitoring too.

December 08, 2014
Environment Reloading

A zero-downtime technique for reloading the environment within long running processes.

August 27, 2014
Let Postgres do the Work

Efficient social ranking within PostgreSQL, or immutable functions are your friend.

December 30, 2013
Presenting by Proxy

Leveraging ES6 Harmony's Proxy object for data presentation.

December 06, 2013
Integration off Rails

Lightweight testing with Rack for libraries that integrate with Rails.

July 31, 2013
Subsecond Resolution in Rails

Fixing inconsistent timestamp serialization in Rails 4.

July 23, 2013
Journey into Perforated Caching

Maximizing cache performance when serializing large collections for API endpoints.

July 13, 2013