frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

China's Flying Wind Turbine Just Changed Energy Forever ( 1MW at 1500M)

https://www.youtube.com/watch?v=twythhaJls0
1•thelastgallon•4m ago•0 comments

Global health is in crisis – who will step in to fix it?

https://www.nature.com/articles/d41586-025-03384-y
1•rntn•4m ago•0 comments

Patchutils

https://github.com/twaugh/patchutils
1•mfbx9da4•10m ago•0 comments

What is PL research and how is it useful?

http://www.pl-enthusiast.net/2015/05/27/what-is-pl-research-and-how-is-it-useful/
2•fanf2•10m ago•0 comments

Stripe is PayPal circa 2010

https://learncodethehardway.com/blog/18-stripe-is-paypal-circa-2010/
1•mefengl•11m ago•0 comments

Bookish Diversions: Bound in Human Skin?

https://www.millersbookreview.com/p/bookish-diversions-bound-in-human-skin-toxic-books
1•ingve•13m ago•0 comments

Men are losing their Y chromosomes – and it's accelerating the ageing process

https://inews.co.uk/news/science/men-losing-y-chromosomes-accelerating-ageing-process-3982941
1•yusufaytas•14m ago•0 comments

Ex-Builder.ai CFO subpoenaed as US authorities probe its collapse

https://www.ft.com/content/177dd03a-bffe-4248-9c75-db2f54dd35a4
2•1vuio0pswjnm7•15m ago•0 comments

The working-class hero of Bletchley Park you didn't see in the movies

https://www.theguardian.com/world/2025/oct/12/move-over-alan-turing-meet-the-working-class-hero-o...
1•wicket•16m ago•0 comments

Retail investors lost $17B buying Bitcoin Treasury companies

https://antongolub.substack.com/p/retail-investors-lost-17-billion
2•wslh•18m ago•0 comments

Civil Discourse

https://dougkrugman.substack.com/p/civil-discourse
1•mooreds•24m ago•0 comments

A Classic Graphic Reveals Nature's Most Efficient Traveler

https://www.scientificamerican.com/article/a-human-on-a-bicycle-is-among-the-most-efficient-forms...
2•stared•25m ago•0 comments

More Articles Are Now Created by AI Than Humans

https://graphite.io/five-percent/more-articles-are-now-created-by-ai-than-humans
1•FromTheArchives•26m ago•0 comments

Spec-Driven Development with AI

https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-ne...
1•blenderob•27m ago•0 comments

Why FusionAuth Doesn't Support the SAML 'Transient' NameIDPolicy

https://fusionauth.io/community/forum/topic/3039/why-fusionauth-doesn-t-support-the-saml-transien...
1•mooreds•27m ago•0 comments

Building the Future Developer: Trends in Open Source, Education, AI and Industry [video]

https://www.youtube.com/watch?v=3scmaZuxdZ4&list=PLbzoR-pLrL6oVKdG6lLVXeCYVbt_NnS4c
1•mooreds•28m ago•0 comments

Show HN: Open-Source Company Monitoring Infrastructure Built for VCs

https://github.com/wizenheimer/subsignal
1•novocayn•29m ago•0 comments

T-962 Reflow Oven Upgrades and Fixes (2021) [video]

https://www.youtube.com/watch?v=bgVey2O3W2k
2•walterbell•31m ago•0 comments

Next Gen Jolla Phone

https://forum.sailfishos.org/t/next-gen-jolla-phone/23882
1•mnmalst•33m ago•0 comments

Dns0.eu Has Been Discontinued

2•miaycombinator•33m ago•0 comments

Show HN: Complete Personal Finance SaaS Codebase – Ready for Your Business Idea

https://wealth-ai.in/
1•WoWSaaS•35m ago•1 comments

Personal Business

https://www.are.na/editorial/personal-business
1•gregwolanski•36m ago•0 comments

Ask HN: What's your personal definition of intelligence?

1•decodingchris•36m ago•1 comments

Is This AI or Real?

https://www.youtube.com/watch?v=z75BO2b3m5Y
1•cobzilla•38m ago•2 comments

Cute and Fluffy Thieves

https://australianhiker.com.au/advice/cute-and-fluffy-thieves/
1•tosh•41m ago•0 comments

Printing of Conductive Microfibers for Enhancement of Diverse Surfaces/Shapes

https://link.springer.com/article/10.1007/s42765-025-00561-6
1•PaulHoule•44m ago•0 comments

ICE's use of full-body restraints during deportations said to be form of torture

https://apnews.com/article/immigration-deportations-trump-administration-civil-rights-84309f534c6...
10•mrtesthah•46m ago•1 comments

Is academic research becoming too competitive? Nature examines the data

https://www.nature.com/articles/d41586-025-03119-z
1•rntn•46m ago•0 comments

Show HN: I replaced paid WhatsApp platform With a self-hosted Free stack (n8n) [video]

https://www.youtube.com/watch?v=J08qIsBXs9k
1•ahmedelhadidi•48m ago•0 comments

Show HN: I built a Next.js SaaS template for AI video, with Veo 3.1 ready

https://vedai.app
1•Evanmo666•51m ago•0 comments
Open in hackernews

Event Sourcing, CQRS and Micro Services: Real FinTech Example

https://lukasniessen.medium.com/this-is-a-detailed-breakdown-of-a-fintech-project-from-my-consulting-career-9ec61603709c
32•fmfamaral•1h ago

Comments

throwup238•1h ago
> their MVP was not auditable and thus not compliant with financial regulations and also not scalable (high usage and fault tolerance).

There it is. My automatic response to any questions about event sourcing is “if you have to ask, you don’t need it.” This is one of those situations where the explosion in complexity somewhat makes sense: when you need legally enforced auditability.

Event sourcing is a really cool architecture that makes theoretical sense but the yak shaving needed to implement it is at least an order of magnitude more than any other design.

dmoy•1h ago
Yea I think that's a fair take.

If you peer underneath the covers of a lot of financial stuff, and it's effectively double entry accounting. Which is a giant ledger (or ledgers) of events

chuckadams•23m ago
I'd call it a trade-off. I've done event sourcing for systems that didn't really need it, and the ability to fix things retroactively by just replaying the log through the corrected pipeline of processors was marvelous. It lends itself to functional programming with effects instead of banging on global state wherever and whenever, and that pays dividends. But there's no free lunch, and pipelines could get complex by needing to track "epochs" and keeping bug-compatible behavior for old messages that would be patched downstream. Since the system just built persisted state at the end, I could checkpoint it at a new state and retire the older epochs. Doubtful that would that pass a rigorous audit, but if that's not one of your requirements, you really can do event sourcing halfway and still reap a lot of the benefits.
kabes•16m ago
This! I've recently was hired to fix a company that tried to build their own niche ERP over the last 10 years and they had totally drowned in the confluent kool-aid. There is very very few projects where event sourcing is the best solution.
doctorpangloss•1h ago
I feel for these guys. The software downturn is steepening. A huge glut of talent with unsustainable comps. And years of toil doing stuff that, in the absence of being paid money for it, nobody would do and no one would care.
nateroling•1h ago
This made me do a double-take. Surely you would never do this, right? It seems to be directly counter to the idea of being able to audit changes:

“Event replay: if we want to adjust a past event, for example because it was incorrect, we can just do that and rebuild the app state.”

javcasas•52m ago
Yeah, that's a big NO. Events are immutable. If an event is wrong, you post an event with an amendment. Then yes, rebuild the app state.
saxenaabhi•51m ago
Not speaking about their case, but I think some cases a "versioned mutable data store" with a event log that lists updates/inserts makes more sense than an "immutable event log" one like kafka.

Consider the update_order_item_quantity event in a classic event sourced systems. It's not possible to guarantee that two waiters dispatching two such events at same time when current quantity is 1 would not cause the quantity to become negative/invalid.

If the data store allowed for mutability and produced an event log it's easy:

Instead of dispatching the update_order_item_quantity you would update the order document specifying the current version. In the previous example second request would fail since it specified a stale version_id. And you can get the auditability benefits of classic event sourcing system as well because you have versions and an event log.

This kind of architecture is trivial to implement with CouchDB and easier to maintain than kafka. Pity it's impossible to find managed hosting for CouchDB outside of IBM.

javcasas•44m ago
Any modern DB with a WAL (write ahead log) is an immutable event system, where the events are the DB primitives (insert, update, delete...).

When you construct your own event system you are constructing a DB with your own primitives (deposit, withdraw, transfer, apply monthly interest...).

You have to figure out your transaction semantics. For example, how to reject invalid events.

saxenaabhi•36m ago
> Any modern DB with a WAL (write ahead log) is an immutable event system, where the events are the DB primitives (insert, update, delete...).

Agreed, I just wish apart from WAL they also had versioning as first class and their update api required clients to pass the version they have "last seen" to prevent inconsistencies.

throwup238•45m ago
The big caveat here is GDPR and other privacy laws. In some cases you need the ability to scrub the event store completely of PII for legal reasons, even if only to null the relevant fields in the events.

Without preemptive defensive coding in your aggregates (whatever you call them) this can quickly blow up in your face.

javcasas•40m ago
What I have read about it is: encrypt PII with a client-depending key, do not post the key to the event system. When an erasure request comes in, delete the corresponding key. Now the data cannot be decrypted anymore for that client.
ndriscoll•36m ago
For finance recordkeeping requirements take precedence over privacy requirements. Audit trail data must be on WORM storage and must not be scrubbable.
zsoltkacsandi•51m ago
Instead of modifying the original (and incorrect) event, you can add a manual correction event with the info of who did it and why, and replay the events. This is how we dealt with such corrections with event sourcing.
kabes•28m ago
But you don't need to replay in that case. You just fire the correction event and the rest is taken care of.
speed_spread•40m ago
It's poorly phrased but I'm not sure they meant "mutate the past". The keyword is "adjust" which could mean "append a correction".
kabes•24m ago
But then you wouldn't need a replay. So the author really means mutate the past.
manoDev•22m ago
No, that definitely happens.

There are two kinds of adjustments: an adjustment transaction (pontual), or re-interpreting what happened (systemic). The event sourcing pattern is useful on both situations.

Sometimes you need to replay events to have a correct report because your interpretation at the time was incorrect or it needs to change for whatever reason (external).

Auditing isn't about not changing anything, but being able to trace back and explain how you arrived at the result. You can have as many "versions" as you want of the final state, though.

saxenaabhi•1h ago
> INSERT INTO events (account_id, type, amount, timestamp) VALUES (123, 'deposit', 100, NOW())

How would it work if they had to support intra system transfers? So one user balance should be withdrawn and another should get a deposit? That's not possible to do atomically with event sourcing right?

herval•58m ago
Do you mean inter-system? Intra-system would mean on the same db, so a simple transaction would do.

For inter-system consistency, you’d probably need a reconciliation mechanism or some kind of 2 phase commit

saxenaabhi•55m ago
I mean a bank account sending money to another bank account. That would be 2 events(one withdraw and one deposit)?

But if I'm downstream consumer consuming the event log and computing the state from that, if for some reasons I receives only first event the state computed would be invalid and not represent the real state of accounts?

manoDev•7m ago
Nobody relies on atomic transactions to model money transfers in the real world. You can read up on "clearing" and "settlement" processes to get an idea.
javcasas•55m ago
Create an event type for transfer with amount, source account and destination account.
saxenaabhi•53m ago
Right, but then your downstream consumers have to be global and can't be partitioned based on account_id or some other partition key?
javcasas•49m ago
Consumers will have to read all events that concern them, yes. Maybe this type of event must end up in multiple partitions and will require some architectural shenanigans.
throwup238•54m ago
Any problem with event sourcing can be solved with more events (said semi-sarcastically).

In this case it’s XTransactionStarted, XTransactionDepositConfirmed, and XTransactionCreditConfirmed or something along those lines. External interactions tend to follow that kind of pattern where it tracks success/failure in the domain events.

The command side of CQRS tends to be the services that guarantee ordered events either via the backing database or with master-slave topology.

sfjailbird•33m ago
Traumatic flashbacks to 2017. Glad we moved on from this nonsense. Still dealing with the wreckage, though.

Event sourcing is a terrible idea that may be useful for some incredibly niche scenario.