C

Chris Kiehl

chriskiehl.com · Personal blog · on HN since 2017

Chris Kiehl, a software engineer, writes about lessons from his career, event sourcing, front-end structure and his Gooey tool.

What HN saysHN discusses his posts on changed software opinions and event sourcing, with commenters debating the event sourcing and React-as-implementation-detail ideas.
16HN people shared it
5linked it in comments
27stories submitted
4.2Kstory points
3 months agolast shared
2017people per year2026

Most-shared posts

  1. 1
    Software engineering topics I changed my mind on
    4 people · 1.3K points · first shared 2021 · 686 comments on HN
  2. 2
    Event Sourcing is Hard
    4 people · 774 points · first shared 2019 · 157 comments on HN
  3. 3
  4. 4
    Software development topics I've changed my mind on
    2 people · 881 points · first shared 2025 · 776 comments on HN
  5. 5
    “What if it changes?”
    2 people · 432 points · first shared 2022 · 293 comments on HN
  6. 6
    Parallelism in one line
    2 people · 3 points · first shared 2017 · discussion on HN
  7. 7
    How to lose $950 quickly on Airbnb
    1 people · 190 points · first shared 2023 · 129 comments on HN
  8. 8
  9. 9
    Home theater layout calculator in PureScript
    1 people · 16 points · first shared 2021 · 4 comments on HN
  10. 10
  11. 11
    Making Lenses Practical in Java
    1 people · 3 points · first shared 2023 · 1 comments on HN
  12. 12
    Aurora's Query Plan Management is amazing
    1 people · 2 points · first shared 2022 · discussion on HN
  13. 13
    Microscopes Are Neat (2024)
    1 people · 2 points · first shared 2025 · discussion on HN
  14. 14
    How I Under-Engineered My Book
    1 people · 2 points · first shared 2026 · discussion on HN
  15. 15
    Fix Your Front End: Make React an Implementation Detail
    1 people · 2 points · first shared 2019 · discussion on HN

What HN people wrote when they linked it

CRConrad · 2025-02-05
He mentions this being a follow-up to a similar earlier post: https://chriskiehl.com/article/thoughts-after-6-years . HN discussions on that post: https://news.ycombinator.com/item?id=25887373 (4 years ago|686 comments), https://news.ycombinator.com/item?id=32162716 (3 years ago|58 comments), and https://news.ycombinator.com/item?id=41633156 (4 months ago|56 comments).
tokyolights2 · 2024-08-17
Event sourcing is a pattern (antipatern?) that appears useful because it solves an interpersonal problem. It is the kind of thing that middle management salivates over because it appears to decentralize control, which to such a manager sounds like "gives me more control of my own sphere". Every team creates their own event schemas and subscribes to other teams' events and we all live happily ever after. Never again will we have to wait on some other team to spin up an API for us! It promises an engineering solution to engineering itself. I could write and write and write about it, but this rather infamous blog post is so good I'll just link it. https://chriskiehl.com/article/event-sourcing-is-hard
goostavos · 2024-08-12
Hearing that other people struggled with this problem gives me solidarity. It took me an embarrassing amount of time to get "click and drag thing" working in isometric [0]. Rendering differently sized sprites was a whole other thing. Figuring it out without google was immensely satisfying, though. Reminded me what I love about programming. [0] https://chriskiehl.com/article/home-theater-calculator
selcuka · 2023-12-10
Sure, I was talking about the workaround mentioned here: > You can also invoke any arbitrary executable [https://chriskiehl.com/article/gooey-as-a-universal-frontend], not just python, which is pretty handy. Rhetorics aside, you can use Gooey for any CLI tool using a small Python glue (pardon the pun) code, so it was not a flat out lie.
deckard1 · 2021-05-18
It means going from: Frontend > React > [state management library of choice] to Frontend > Data Layer > View Layer (React) This is MVC, no? That's basically the diagram for MVC on the Wikipedia page. I suppose giving it a "-first" (god I hate this trend) moniker spiffs it up a bit. We could also name it "modern MVC" for ultimate internet points. I'd also read this article (not mine): https://chriskiehl.com/article/react-as-an-implementation-detail Pay attention to the caveats. Specifically: > The complex pieces usually warrant it, the simple ones usually do not. There's nothing original or revolutionary in these ideas, they're often just forgotten. And that's probably why we do React with ad hoc Redux today. It's the path of least resistance. Why think about boring business rules and how to model them with lots of tiresome boilerplate when you can just throw up a prototype in React. You could probably fit a good argument of why so many people reach for NoSQL over SQL in there too. Ultimately, all code starts simple. So you're screwed from the start. Only later do realize your code is a mess and your lack of modeling is causing chaos everywhere, from one-off TypeScript interfaces everywhere to lots and lots of null checking.

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