Zohaib Rauf

zohaib.me · Personal blog · on HN since 2014

Zohaib Rauf writes programming tutorials, mostly on Elixir and Phoenix, plus some posts on LLM fine-tuning and AI-assisted coding.

What HN saysHN commenters point to his posts on Elixir monads and binary pattern matching as practical examples of those ideas in Elixir.
16HN people shared it
3linked it in comments
49stories submitted
737story points
4 months agolast shared
2014people per year2026

Most-shared posts

  1. 1
    Binary pattern matching in Elixir
    6 people · 106 points · first shared 2015 · 17 comments on HN
  2. 2
    Railway Oriented Programming in Elixir (2015)
    3 people · 30 points · first shared 2015 · 1 comments on HN
  3. 3
    Using LLMs and Cursor to finish side projects
    2 people · 171 points · first shared 2025 · 60 comments on HN
  4. 4
    Monads in Elixir
    2 people · 40 points · first shared 2015 · 8 comments on HN
  5. 5
    A beginners guide to fine tuning LLM using LoRA
    2 people · 23 points · first shared 2024 · 2 comments on HN
  6. 6
    Using ElasticSearch in Elixir
    2 people · 7 points · first shared 2015 · discussion on HN
  7. 7
    Spacemacs and Alchemist to make Elixir of immortality
    2 people · 6 points · first shared 2015 · discussion on HN
  8. 8
    Guts of Phoenix websocket channels
    2 people · 4 points · first shared 2015 · discussion on HN
  9. 9
    WebRTC file sharing broker using Elixir Phoenix
    1 people · 110 points · first shared 2015 · 23 comments on HN
  10. 10
    Upgradeable smart contracts in Ethereum
    1 people · 98 points · first shared 2018 · 40 comments on HN
  11. 11
    Blinking LED Using Elixir Embedded Image on Raspberry Pi
    1 people · 45 points · first shared 2015 · 16 comments on HN
  12. 12
    Elixir Cowboy with IIS 8
    1 people · 28 points · first shared 2015 · 8 comments on HN
  13. 13
    Securing MongoDB Using Let's Encrypt Certificate
    1 people · 16 points · first shared 2018 · 13 comments on HN
  14. 14
  15. 15

What HN people wrote when they linked it

brianberns · 2018-05-15
The Option/Maybe monad is very common in FP languages. I don't know if it's native in Elixir, but apparently it's pretty easy to implement: http://www.zohaib.me/monads-in-elixir-2/#maybe There are lots of ways to conceptualize monads. I think "functors that flatten" is accurate, but is just one way.
derefr · 2023-01-18
An idiomatic Erlang/Elixir implementation of validation for a binary format would also give you decoding for free — see e.g. https://zohaib.me/binary-pattern-matching-in-elixir/. So I guess it's the encoding part that's unique to how Prolog works. Which makes sense; my understanding is that in Prolog, insofar as a function encodingOf(A, B) is defined by using A and B on either side of a bind expression to equate B as the encoding of A, if encodingOf(A, knownEnc) would act as a parser for knownEnc, then encodingOf(knownDec, B) would act as an encoder for knownDec — essentially swapping the question "what would this parse to" given an encoded binary, for "what would parse to this" given a decoded term. Erlang can't do exactly that — a given variable's "bound-ness" is determined during compilation, and head-clause variables can't be indeterminately bound — but if it could, then you would indeed get an encoder for the same format "for free", since binary-pattern matching in Erlang becomes a binary-building expression depending on whether the variables in the expression are bound or unbound. (Now I'm curious how hard it would be to add indeterminately-bound compile-time function polymorphism to Erlang — i.e. generating bytecode for the powerset of bound-ness-es of the variables in the head clause, only where at least one generates valid bytecode, probably name-mangled with a bitfield suffix of said bound-ness-es; and then being able to bind function parameters from such…
lkuty · 2021-10-21
I would complement it with: - Scott Wlaschin's Railway Oriented Programming (ROP): https://fsharpforfunandprofit.com/rop/ and https://fsharpforfunandprofit.com/posts/recipe-part2/ - Scott Wlaschin's The "Map and Bind and Apply, Oh my!" series at https://fsharpforfunandprofit.com/series/map-and-bind-and-apply-oh-my.… and its concept of an "elevated world". - And for Elixir Programmers, Zohaib Rauf's "Railway Oriented Programming in Elixir" at https://zohaib.me/railway-programming-pattern-in-elixir/ based on Scott Wlaschin stuff. - https://wiki.haskell.org/All_About_Monads. The introductory part (7 first pages of the pdf). - Brian Beckman: Don't fear the Monad https://www.youtube.com/watch?v=ZhuHCtR3xq8 - Philip Wadler's "Monads for Functional Programming" at http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf - HN comment: https://news.ycombinator.com/item?id=16446139 ROP is a good way to introduce the Either monad without ever talking about monads, functors and co. Moreover it is highly useful.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close