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 · #22831

J

Jamie Hoffmann

Personal blog · frogulis.net/writing · on HN as frogulisprogramminggames

Jamie Hoffmann writes Frogulis, a personal blog at frogulis.net about programming and games. Since 2022, 3 different Hacker News readers have linked it 10 times, most often “Making a “Dollhouse” from Thief Levels”. It is still writing: the last post was on 2026-10-24, and you can follow it by feed.

Visit the blog
10mentions?
3HN people?
2022–2026first – last linked?
Links on Hacker News per year · peak 4 in 2022

The author on HN?

frogulis · 725 karma · member since 2020

Software-maker and walk-taker frogulis.net

From their public HN profile, which links to this site.

Most-linked posts?

  1. Making a “Dollhouse” from Thief Levels
    2 people · 2 mentions · first linked 2023-05-28

What Hacker News says?

  1. If we're linking to internet toys, here's a bit of shameless self-promotion. Something I made a little while back: https://frogulis.net/little-bits/eye-on-a-string

    Comment linking /little-bits/eye-on-a-string

    on “Bubbles”
  2. Submitted "Told Apart" as a story · 2 points

    HN discussion
  3. Many important "effects" (e.g. non-determinism, IO, asynchrony, environmental context, state... etc) are modelled as monads in Haskell. You _can_ write Haskell code without understanding what a monad is, but composing and creating these things is going to be a little painful without that understanding. Additionally, it seems to be a harder concept to grasp than e.g. functors or monoids. I think this can be partly at…

    Comment linking /writing/async-monad

    on “Functional programming jargon in plain English”
  4. Submitted Timegen: Time-Based Procedural Animation as a story · 2 points

    HN discussion
  5. While you may oversimplify a little, I think the core idea of your comment is pretty useful for learning. Unfortunately the first monads one encounters when learning Haskell are typically Maybe and IO. There are good practical reasons for this, but an early analogy to Async would probably make the idea a lot clearer. Self-plug: I even wrote a short post about this quite recently, after making a similar comment on HN…

    Comment linking /writing/async-monad

    on “How side effects work in FP”
  6. Submitted Thoughts on “The Gentle Tyranny of Call/Return” as a story · 2 points

    HN discussion
  7. I added some content and fixed short errors to turn this into a webpage here: https://frogulis.net/writing/async-monad

    Comment linking /writing/async-monad

    on “What Is IO Monad? (2018) [video]”
  8. Submitted Making a “Dollhouse” from Thief Levels as a story · 2 points

    HN discussion
  9. Submitted Making a “Dollhouse” from Thief Levels as a story · 2 points

    HN discussion
  10. Submitted Thoughts on “The Gentle Tyranny of Call/Return” as a story · 1 points

    HN discussion

Search all of HN for frogulis.net