Rinat Abdullin

abdullin.com · Personal blog · on HN since 2010

Rinat Abdullin writes about event sourcing, CQRS, FoundationDB, Erlang, and machine learning for developers.

What HN saysHN links it for posts on CQRS and event sourcing, which prompt debate, plus the FoundationDB testing post and an ML guide for developers.
18HN people shared it
8linked it in comments
12stories submitted
104story points
2 years agolast shared
2010people per year2026

Most-shared posts

  1. 1
    Foundation DB is Back
    3 people · 2 points · first shared 2018 · discussion on HN
  2. 2
    Lokad.CQRS Retrospective
    3 people · 1 points · first shared 2017 · discussion on HN
  3. 3
    Beautiful Technical Debt
    2 people · 67 points · first shared 2022 · 46 comments on HN
  4. 4
    Building a Dating Site
    2 people · 1 points · first shared 2014 · discussion on HN
  5. 5
    Erlang Basics
    1 people · 24 points · first shared 2015 · 5 comments on HN
  6. 6
    Moncai - Cloud Computing Platform for .NET
    1 people · 2 points · first shared 2010 · discussion on HN
  7. 7
    Technology Demons (2012)
    1 people · 2 points · first shared 2023 · discussion on HN
  8. 8
    Why event sourcing?
    1 people · 2 points · first shared 2011 · discussion on HN
  9. 9
  10. 10
    Technology demons to avoid
    1 people · 1 points · first shared 2012 · discussion on HN
  11. 11
  12. 12
    Faq chat gpt quickstart for programmers
    1 people · first shared 2024
  13. 13
    Foundationdb layers
    1 people · first shared 2018
  14. 14
    How to get into ml for developer
    1 people · first shared 2024
  15. 15
    Time machines should support linq
    1 people · first shared 2013

What HN people wrote when they linked it

abdullin · 2014-08-29
We are rewriting a dating web site and the backend is implemented in Go. It exposes functionality as JSON over HTTP (along with some long-polling). We also considered erlang, Haskell, Scala and C# for various reasons. Coming from .NET world, I love the simplicity and power of database/sql in Go. Sometimes it can be too verbose because of error handling, but there is nothing that can't be fixed with a few helper functions. I've been documenting our project on a weekly basis, if you are interested in more details: http://abdullin.com/long/happypancake/
bonesss · 2017-09-07
> The author himself did a retrospective that covers a few issues: https://abdullin.com/lokad-cqrs-retrospective/ Having read the article: veeeeeery little of what is mentioned is related in any meaningful sense to CQRS... Horse-before-the-cart framework design is always bad. Encapsulating untested theories in frameworks instead of lifting them from operational designs, always bad. Building frameworks as a learning exercise, bad. Abstracting away data decisions and then trying to provide opinionated answers to storage at the framework level, very bad. Conflating logical system architecture with supplier provided products (ie cloud services), is framework _cancer_. That is simply not a reasonable starting point to provide value and scalable systems, and the end result was the same as all other similar attempts: an A for effort with a result that was at best 'close, but not quite...' To be clear: I do not intend this as criticism leveled at the author or the company. The article is great. I very much agree with his analysis though: > Lokad.CQRS was created with a very short-sighted design approach in mind, a reusable LEGO constructor...These days I'd try to limit the damage I inflict upon the developers and avoid writing any widely reusable frameworks This is where all the issues lay... Premature framework development causing up-front decisions untethered to practicality based on conjecture and prognostication instead of experience in a challenging domain…
victorNicollet · 2017-09-06
The DDD/CQRS/ES topic appears on Hacker News every so often, and never fails to stir a strong debate. In fact, I was going to "Show HN" an Event Sourcing library I open sourced yesterday, but I guess I'll wait until everything dies down a bit :-) I believe that the core principles of DDD/CQRS/ES are flawed and are the cause of a lot of pain. If your team plows forward and ignores the pain, you will have a bad experience working there. If your team decides to fix the problems with the architecture (usually in a way that's rather specific to their situation), and still insists that they're doing DDD/CQRS/ES, then you will have a great experience. The same can be said of many approaches to SQL database design. When I joined Lokad, most of the code had been written by a strong CQRS advocate, and there were significant pain points caused by this approach that would have been nonexistent with a plain old SQL architecture. The author himself did a retrospective that covers a few issues: https://abdullin.com/lokad-cqrs-retrospective/ Instead of dropping everything and moving back to a more conventional SQL architecture, we dropped everything and moved to a solution which, if I were to describe it as DDD/CQRS/ES, would have me branded as a heretic by the DDD/CQRS/ES community: it does fit the definition, but it does not follow the best practices. There is a single data model shared by both commands and queries. Commands can sometimes return data. Each (micro?)service has access to…
bananapub · 2025-04-29
apparently wasn't tested because Kyle thought the internal testing was better than jepsen itself: https://abdullin.com/foundationdb-is-back/
em-bee · 2024-01-11
this is a very helpful guide, thank you! in particular this: https://abdullin.com/llm/how-to-get-into-ml-for-developer/ i find it surprising that you can't find people who can do what you suggest at the bottom. it doesn't look like it should take more than a few weeks to learn that. i sent you a connect request on linkedin.
nickpsecurity · 2018-10-19
Might want to look into methods FoundationDB was using: https://abdullin.com/foundationdb-is-back/ Might be useful to your team. One of rare times I was surprised and impressed by a new company's verification process. I look forward to reading your tesm's write-up of techniques and lessons learned, too.
manigandham · 2018-05-04
As the article states, Snowflake Data [1] and Wavefront [2] have been using it. SkuVault [3] is another company. https://www.snowflake.net/how-foundationdb-powers-snowflake-metadata-f… https://www.wavefront.com/wavefront-foundationdb-open-source-project/ https://abdullin.com/sku-vault/foundationdb-layers/ There are probably several other companies from the original releases that haven't posted anything publicly, but it'll be awhile before we get full deployments from the latest open-source versions.
Lapsa · 2013-01-09
Try googling around for "cqrs". There are many ideas on how to do exactly this effectively. All it takes is to swap "write" operation with "event" entity (all is state). Combine that with intention revealing commands (customer_died instead of delete from customers where id=1) and you hit jackpot. End result is nice stream of events which is ultimate source of truth and enables crazy queries you never thought you would ever need http://abdullin.com/journal/2010/6/3/time-machines-should-support-linq…

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