• Home
  • About
  • GitHub
  • Keybase
  • LinkedIn
  • Projects
  • Subscribe
  • Twitter
  1. Some Thoughts on Rust's Async/Await Debate

    This post will be an extension of the debates found in the Rust forums, specifically here and here. A lot is being said in those threads and there's a certain amount of duplicated posts that are drowning out potentially valuable information and perspectives. I've written several comments in those debates…

    Approximate 7 min read published 7 months ago
  2. Building Simple APIs with Hyper and Usher

    When writing a web service, I often lean towards using tools that are as minimal as possible. One pretty obvious reason for this is the avoidance of dependencies you either don't want or don't need in your project. Whilst I'm not someone who goes out of their way to avoid…

    Approximate 11 min read published 7 months ago
  3. 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 for simulating…

    Approximate 5 min read published 9 months ago
  4. Visualizing Developer Download Counts

    This short post is about a small application I wrote to track developer stats, named My Dev Statistics. If you want to skip to the finished product, you can find the application on both the iOS App Store and Google Play. For a long time now, I've wanted to build…

    Approximate 4 min read published a year ago
  5. Writing MapReduce Jobs Using Rust and Efflux

    During my work life, I spend a lot of time working with MapReduce-style workflows, particularly with Hadoop infrastructure. A lot of this work is spent with larger amounts of data in order to implement the batch layer of the Lambda architecture. Due to this, the largest concern is that the…

    Approximate 7 min read published a year ago
  6. 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 as Phoenix) roll their distributed tests around…

    Approximate 4 min read published a year ago
  7. Quickly Concatenating Files in Amazon S3

    Amazon S3 is a storage solution used by pretty much everyone these days. Due to this there are naturally a bunch of tools for doing almost everything you can think of with S3. This post is about a tool I wrote to retrieve concatenate files efficiently in S3 buckets. If…

    Approximate 3 min read published a year ago
  8. 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 5 min read published a year ago
  9. Optimizing Docker Images for Maven Projects

    I recently wrote a post on optimizing Docker images for Rust projects, which turned out to be quite popular, so I figured I'd follow it up with another for those Java developers out there who have to painfully sit through slow Maven builds inside Docker. Just like the other post,…

    Approximate 5 min read published a year ago
  10. Adding Custom Handlebars Template Helpers in Ghost

    Ghost has come a long way since I wrote my first post on safely creating custom Handlebars helpers, but unfortunately not far enough that it's an easy feat. Whilst there's some movement in enabling developers to add Handlebars helpers via Ghost Apps, it's still a pain to get working (I…

    Approximate 4 min read published a year ago
Page 1 of 4
Older Posts

© 2019 Isaac Whitfield.