• Home
  • About
  • GitHub
  • Keybase
  • LinkedIn
  • Projects
  • Subscribe
  • Twitter
  1. Cachex v4.0: Optimization, Consolidation & Routing

    The first v4.x version of Cachex, v4.0.0, has been released. This version includes many features and improvements designed to optimize cache management and internal efficiency. In this post, I'll briefly cover some of the main changes, including new features and optimizations. If…

    Approximate 15 min read published September 30, 2024
  2. Easy Concurrency Locking in Erlang/Elixir

    Out of the box, Elixir and Erlang offer a very powerful tool for serializing access to a resource via the GenServer included in OTP and surfaced in the Elixir standard library. As a GenServer processes messages it receives both in order and synchronously, it becomes a great tool…

    Approximate 7 min read published March 03, 2019
  3. Simulating Distributed Clusters for Elixir Unit Tests

    During the recent addition of distribution to Cachex, I realised that testing distributed behaviour is quite annoying. Although there's a tonne of useful inside the OTP standard library, it's not particularly obvious if you don't know what you're looking for. Most projects (such…

    Approximate 5 min read published November 23, 2018
  4. Cachex v3.1 and the Return of Distributed Caches

    If you work with Elixir on web services, you may have come across a library I work on named Cachex. Although the name makes it somewhat obvious, this is a library based on caching expensive data in memory. It works inside your application layers using the Erlang Term Storage (ETS…

    Approximate 7 min read published October 13, 2018
  5. Automatic Unsafe Function Generation in Elixir

    Elixir developers typically conform to the standard of returning Tuple structures from functions which can either succeed or fail in order to effectively signal their status to the caller. Whilst this encourages the caller to directly handle the various cases which can arise, som…

    Approximate 3 min read published November 09, 2017
  6. A Year with Cachex in Production

    A little over a year ago I began working on what would become my first real project in Elixir. Without going into too much detail, it was a re-imagination of a legacy system designed to handle many incoming data streams quickly and reliably. It seemed like a good fit for Elixir,…

    Approximate 7 min read published July 12, 2017
  7. Introducing Vessel: A Bridge Between Elixir and Hadoop

    Disclaimer: I should point out that I wrote this project for those who are already working with Elixir and have need of integrating their existing codebases with Hadoop. I'm going to try assume limited knowledge of Hadoop/Elixir within this post - but I apologise if it goes a lit…

    Approximate 10 min read published December 06, 2016
  8. Stash: a user-friendly wrapper for ETS/DTS caching in Elixir

    Erlang (and by extension, Elixir) comes with a sweet little memory storage library called ETS (Erlang Term Storage). This provides an awesome way to store a whole bunch of values in memory, without having to write your own implementation, or pull in large third-party libraries. T…

    Approximate 2 min read published February 11, 2016
  9. Writing SipHash: my introduction to NIFs in Elixir

    After recently discovering SipHash when searching for a solid algorithm to use in another project, I decided to take a shot at writing an implementation in Elixir as an exercise (having only started picking up Elixir in the last few weeks or so). The project is available on GitHu…

    Approximate 4 min read published December 28, 2015
  10. Using MongoDB with Elixir, Phoenix and Ecto

    This is as much for my reference as anyone else's, so I hope everything is clear enough for newcomers. Update: Refer here for an example project following the method below. Due to having gotten a little bored with Node.js in recent times, and also a lack of engagement with the la…

    Approximate 4 min read published July 19, 2015
Page 0
Page 1 of 1
Page 2

© 2025 Isaac Whitfield