Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #9325

C

Chris Keathley

Personal blog · keathley.io/blogprogramming

Chris Keathley writes keathley.github.io, a personal blog at keathley.io about programming. Since 2016, 8 different Hacker News readers have linked it 9 times, most often “Good and Bad Elixir”. The last post was in 2021, but the archive is still widely read.

Visit the blog
9mentions?
8HN people?
2016–2024first – last linked?
Links on Hacker News per year · peak 4 in 2024

Too few sampled comments (3) to say how often HN recommends it.?

Why HN links it

HN readers link Chris Keathley's Elixir writing, such as the 'good and bad Elixir' post, for its discussion of Elixir practice, including error handling in with-chains and library design.

Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Words from Chris Keathley

Most-linked posts?

  1. Good and Bad Elixir
    3 people · 4 mentions · first linked 2021-06-10

What Hacker News says?

  1. ollysb · 2024-02-07Recommends
    Keathley did a good job discussing this in https://keathley.io/blog/good-and-bad-elixir.html#:~:text=Av... . The preferred style is to specify the errors in separate functions e.g. def main do with {:ok, response} <- call_service(data), {:ok, decoded} <- decode(response), {:ok, result} <- store_in_db(decoded) do :ok end end where call_service, decode and store_in_db return the specific errors like {:error, :bad_requ…

    Comment linking /blog/good-and-bad-elixir.html

    on “ElixirNitpicks”
  2. Submitted Good and Bad Elixir as a story · 346 points

    HN discussion
  3. Problematic is probably too strong of a term, and I think I'd use the word inflexible instead. I want to be clear though: my issue isn't with applications -- the functionality you're talking about is powerful and useful -- it's purely with the tendency of starting a static and global supervision tree as part of a dependency: see some of the other comments in this thread for some neat examples of how applications lik…

    Comment linking /blog/reusable-libraries.html

    on “Libraries can start processes too”
  4. Submitted Using Functions in Elixir Guard Clauses as a story · 3 points

    HN discussion
  5. > Grouped aliases/imports/requires are a mis-feature in my view. They save a few characters when typing but they complicate searching for module uses and refactoring. Totally agree with this. I prefer to not use aliases most of the time, or to explicitly list out each module path separately if they are too long to fit inline. All preferences though. > Similarly, I don’t like comprehensions as everything they do can…

    Comment linking /blog/good-and-bad-elixir.html

    on “Thoughts on Elixir, Phoenix and LiveView after 18 months of commercial use”
  6. Submitted The Dangers of the Single Global Process as a story · 2 points

    HN discussion
  7. Submitted Good and Bad Elixir as a story · 2 points

    HN discussion
  8. Submitted Wallaby needs a new maintainer as a story · 2 points

    HN discussion
  9. Submitted Good and Bad Elixir as a story · 1 points

    HN discussion

Search all of HN for keathley.io

Linked by the same people?