Alex's nuggets of information
  • Ruby `fetch` unexpected evaluation of params

    Ruby fetch can have an unexpected side-effect which is that the fallback value gets evaluated even if the key is present. Lets explore that with a code example.

  • Anatomy of a good interview question

    Good interview questions aren’t just about checking technical boxes; they’re a way to understand how someone thinks, give them a sense of the real work, and make space for meaningful discussion. They should generate clear signal without relying on tricks or trivia. Done right, they leave both sides feeling like the time was well spent.

  • How to leverage indexes for `ILIKE` & `LIKE` queries

    You cannot always avoid LIKE or ILIKE queries when it comes to solving specific business requirements. However, it does not mean that those queries have to be slow. Lets look at how the keywords affect query usage, and what can be done to optimise the query plans and the impact each option has on the overall performance of the database.

  • What is `FOR UPDATE SKIP LOCKED` and how it can impact your query plans

    You can use SELECT ... FOR UPDATE SKIP LOCKED as an very easy way to parallelize task processing in your application with minimal overhead. But be careful of the impact this can have on your query plans!

  • Intermittement errors & CI failures after upgrading to Rails 7.1

    Are you seeing your CI hang, or random error messages like: message type 0x43 arrived from server while idle in your test log? It could all be related to a missing default setting in your Rails config.

  • How to facilitate the review & approval of your changes

    Contributing to new repositories that your team does not own can feel daunting, and raising your first merge request can feel like a genuine hurdle to be passed.

  • Now, Next, Later - how to simplify planning

    Planning work is usually a very heated topic with no universally correct answer. I’ll try to expand on the concept of Now, Next, Later planning that I have been using for the last few months and why I think they make planning for any engineering team much more manageable.

  • Three types of metrics to consider when developing your next feature

    It can be very tempting to instrument all the things and have a lot of data, but that comes with a burden, both financial and also in terms of time spent developing. What would be the prime candidates for observing and generating metrics on?

  • Drawbacks of using Kafka as a task processing queue

    Kafka is great for a lot of things, but using it as a task-processing queue is not where it shines, and I’ll tell you a few reasons why.

  • Why problem statements matter

    Writing a problem statement before jumping into coding is an undervalued approach, and I will tell you why.

  • When pointers bite back in Go

    Overriding pointers inside of local function works as it should… but not the way you might expect!

  • Launching Plex/Radarr/Sonarr on your own VM

    Launching a full stack Plex setup including nginx reverse proxy, as well as automatic cert generation by LetsEncrypt.

  • Kafka streaming in Python using Faust

    Understanding the use-cases and how Faust works, as well as some of the more nifty features.

  • Singletons and instance varibles in Ruby

    Understanding how class << self works and its interaction with the @instance_var and the big trouble it can cause.

  • Unexpected Integer behaviour in RLang

    Understanding why “100000” and 100000 are not equal… and a deep dive into the factor logic of RLang.

Alex's nuggets of information

  • Alex's nuggets of information
  • alex_stoicajr@yahoo.co.uk
  • alexstoick

This is where I collect some of my findings whilst naving the world of Software Development. It'll be a mix of random/interesting/weird things that I've found while I was coding/hacking on something.