Live data from Hacker News

Viewing profile — superlucky84

superlucky84

HN member
Joined
Thu, Jul 12, 2018, 3:58 AM UTC
HN karma
7
Public activity
25 items

About superlucky84

Software engineer interested in functional programming, TypeScript, and developer tooling.

I enjoy experimenting with different ways to structure code and make pipelines easier to reason about.

Recent public activity

  1. comment
    Comment #47325530

    A bit more context on why I built this: I like MPA simplicity, but I also wanted progressive in-page updates without turning everything into a SPA with client state, router logic, …

  2. story
    Show HN: StateSurface – server-owned state and NDJSON streaming for MPA pages

    Hi HN, I built an experimental web runtime called StateSurface: https://github.com/superlucky84/state-surface https://state-surface.subtleflo.com/ It explores a simple idea: Server…

  3. comment
    Comment #46839395

    Built this after repeatedly losing context between multiple AI agents working on the same repo and branch. I wanted something boring, explicit, and repeatable — no hidden memory or…

  4. story
    Show HN: Ctxbin – A deterministic CLI for reliable AI agent handoffs

    Hi HN, I built ctxbin, a minimal CLI that lets AI agents reliably save and load shared context using branch-scoped keys inferred from git. The problem I kept hitting was that hando…

  5. comment
    Comment #46482334

    fp-pack is also intentionally scoped for everyday frontend developers. It tries to borrow function composition and declarative structure without requiring familiarity with full FP …

  6. comment
    Comment #46482300

    One more practical point is that a full monad doesn’t fit very naturally into a pipe-first interface. Once you commit to a real monad, you need map/flatMap, lifting, unwrapping, an…

  7. comment
    Comment #46482103

    I understand the concern. The intent isn’t to add more side effects to an already side-effectful language. It’s closer to the opposite: trying not to handle side effects all over t…

  8. comment
    Comment #46481617

    I really relate to that. There’s often a gap between what feels conceptually clean and what teams are actually willing to carry cognitively. Rx in particular tends to exceed that b…

  9. comment
    Comment #46481189

    Good question. Early termination is the most common use case, but it’s not the only thing SideEffect represents. The name is intentionally a bit broader — it’s meant to model “effe…

  10. comment
    Comment #46481164

    That’s a fair point — it can definitely become a footgun if you’re not careful. This happens because `runPipeResult` defaults its generic parameter to `R = any`. When type safety m…

  11. comment
    Comment #46481103

    That’s a fair point, and I agree. The SideEffect pattern is intentionally explicit, so without fp-pack context it can look unfamiliar at first. The trade-off is making early exits …

  12. comment
    Comment #46481079

    It’s definitely monad-adjacent. The main difference is that SideEffect isn’t a compositional context — there’s no bind/flatMap, and composition intentionally stops once it appears.…

  13. comment
    Comment #46477453

    One thing I’d especially like feedback on is the SideEffect approach. It’s intentionally not a monad, and I’m curious how others feel about this trade-off compared to Option/Either…

  14. story
    Show HN: FP-pack – Functional pipelines in TypeScript without monads

    Hi HN, I built fp-pack, a small TypeScript functional utility library focused on pipe-first composition. The goal is to keep pipelines simple and readable, while still supporting e…

  15. story
  16. comment
  17. story
  18. story
  19. story
    Show HN: Lithent" JSX-based virtual DOM library for lightweight

    "Lithent" has implemented the bare minimum functionality needed to create and update virtual DOM in general (we only need to know 'render', 'mounter', 'updater', 'renewer', 'mountC…

  20. comment
    Comment #41905075

    The default mode is that values reactively respond, and it also provides a mode that allows for easy Flux-like architecture.

  21. comment
    Comment #41904892

    StateRef is a state management library focused on data immutability. It combines proxies and the functional programming lens pattern to efficiently and safely access and modify dee…

  22. story
  23. comment
    Comment #41849079

    looks good

  24. comment
    Comment #36521100

    Look so good

  25. story