HN user

b-man

3,816 karma

Believer in individual freedom and debugging.

ebellani -at- gmail -dot- com

http://github.com/ebellani/

Posts434
Comments145
View on HN
ebellani.github.io 6h ago

Why care about programming languages

b-man
2pts0
www.youtube.com 2d ago

Logical Foundations of Prolog

b-man
7pts0
postgres.saneengineer.com 5d ago

Best EC2 Instance for PostgreSQL

b-man
3pts0
ebellani.github.io 8d ago

Keys, Essences and Performance

b-man
5pts0
zulip.com 13d ago

Why Zulip? Efficient communication with organized team chat

b-man
4pts0
debezium.io 14d ago

What Nobody Explains About Debezium in 2026 (But Should)

b-man
2pts0
postgresisenough.dev 16d ago

Do you need separate systems when you already have Postgres?

b-man
104pts86
www.telegraph.co.uk 24d ago

AI boom risks global financial crash, warn central bankers

b-man
159pts214
ebellani.github.io 27d ago

All you need is PostgreSQL

b-man
10pts0
ebellani.github.io 27d ago

Recruitment and Selection of high performing programmers

b-man
2pts0
fet.dev 29d ago

Throwing 107 GB and 5B fake rows of order data at DuckDB and Athena

b-man
4pts0
www.bok.or.kr 29d ago

Does AI Adoption Improve Productivity? Effects over the First Three Years

b-man
2pts0
www.pracdata.io 1mo ago

The Rise of Single-Node Processing: Challenging the Distributed-First Mindset

b-man
2pts0
ably.com 1mo ago

Stretching a point: the economics of elastic infrastructure

b-man
2pts0
www.404media.co 1mo ago

Watch These Judges Rip into Lawyers for Citing Cases That Don't Exist

b-man
5pts0
papers.ssrn.com 1mo ago

Writing vs. Shipping: Productivity Effects Across Generations of AI Coding Tools

b-man
3pts0
blog.ydb.tech 1mo ago

Do we fear the serializable isolation level more than we fear subtle bugs (2024)

b-man
88pts61
fred.stlouisfed.org 1mo ago

Software Development Job Postings are going up in the last year

b-man
4pts1
www.chatgpt.ca 1mo ago

6M Fake GitHub Stars: How to Vet Open-Source AI Tools

b-man
2pts0
coalton-lang.github.io 1mo ago

Coalton is an efficient, statically typed Lisp with ideas from Haskell and OCaml

b-man
203pts42
www.nature.com 1mo ago

The uncritical adoption of AI in science is alarming – We need guard rails

b-man
4pts0
www.sonarsource.com 2mo ago

State of Code Developer Survey report [pdf]

b-man
2pts0
www.nature.com 2mo ago

Hallucinated citations are polluting the scientific literature. What can be done

b-man
4pts0
dl.acm.org 2mo ago

An Aristotelian understanding of object-oriented programming

b-man
2pts0
marcosmagueta.com 3mo ago

Casus Belli Engineering

b-man
79pts18
medium.com 3mo ago

DuckTales: A DuckLake Story(Rethinking the Lakehouse with a Duck and a Plan)

b-man
2pts0
www.businessinsider.com 3mo ago

Software job openings surge this year, defying AI fears

b-man
2pts2
github.com 3mo ago

Release Please

b-man
2pts0
www.database-doctor.com 3mo ago

Iceberg, the Right Idea – The Wrong Spec – Part 1 of 2: History

b-man
3pts0
motherduck.com 3mo ago

Redshift Files: The Hunt for Big Data

b-man
2pts0
  Location: Brazil (UTC-3, overlaps US hours)
  Remote: Yes
  Willing to Relocate: Yes (US preferred)
  Technologies: SQL Server, DBT, SQL Mesh, PostgreSQL, SQL, OLTP & OLAP, cloud optimization, query optimization, large-table migrations, F#, Clojure, Python, C#, C, Java, Ruby, Rust, Prolog, OCaml, Haskell
  Email: ebellani at gmail
I specialize in rescuing and scaling PostgreSQL systems that have become bottlenecks due to schema debt, growth, or operational complexity. Recent work: re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) handling 200+ writes/sec, improving scalability and reducing application-level complexity.

My work focuses on high-risk database migrations, dangerous schema remediation, hot-path optimization, and making existing systems scale without rewriting the product.

Open to consulting or full-time roles where data is central and performance matters.

  Location: Brazil (UTC-3, overlaps US hours)
  Remote: Yes
  Willing to Relocate: Yes (US preferred)
  Technologies: SQL Server, DBT, SQL Mesh, PostgreSQL, SQL, OLTP & OLAP, cloud optimization, query optimization, large-table migrations, F#, Clojure, Python, C#, C, Java, Ruby, Rust, Prolog, OCaml, Haskell
  Email: ebellani at gmail
I specialize in rescuing and scaling PostgreSQL systems that have become bottlenecks due to schema debt, growth, or operational complexity.

Recent work: re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) handling 200+ writes/sec, improving scalability and reducing application-level complexity.

My work focuses on high-risk database migrations, dangerous schema remediation, hot-path optimization, and making existing systems scale without rewriting the product.

Open to consulting or full-time roles where data is central and performance matters.

The Agile example makes this worse, not better. Yes, Agile was overhyped and badly implemented in many places. But using that to indict the entire movement as Girardian ritual is precisely the logical move the author claims to be critiquing: take some real failures, blame them on a paradigm rather than specific implementations, declare the whole thing rotten. He scapegoats Agile to validate his theory about scapegoating

I don't think the author did that at all. He was fair to interactive development. He specifically points out the scapegoating of waterfall, where the methodology was misrepresented in order to create the space for agile.

   Location: EST
   Remote: Yes 
   Willing to relocate: Yes (US preferred)
   Technologies: PostgreSQL (partitioning, performance, OLTP architecture), SQL, F#, C#, C, Java, Clojure, Common Lisp, Scheme, Emacs Lisp, Python, Ruby, AWS, Linux
   Email: ebellani at gmail
I work on high-throughput systems, especially when they’ve grown into a state where migrations, performance, or schema design have become limiting factors.

Recent work:

Re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) receiving 200+ writes/sec. I focus on “rescue architecture” work: fixing dangerous schemas, stabilizing hot paths, removing app-level complexity, and making Postgres scale without rewriting the product.

Open to consulting or full-time roles where data is core to the business and performance/architecture matters.

Résumé: https://www.linkedin.com/in/eduardo-bellani/ https://ebellani.github.io/

ocation: EST Remote: Yes Willing to relocate: Yes (US preferred) Technologies: PostgreSQL (partitioning, performance, OLTP architecture), SQL, F#, C#, C, Java, Clojure, Common Lisp, Scheme, Emacs Lisp, Python, Ruby, AWS, Linux

Email: ebellani at gmail

I work on high-throughput PostgreSQL systems, especially when they’ve grown into a state where migrations, performance, or schema design have become limiting factors.

Recent work:

Re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) receiving 200+ writes/sec. I focus on “rescue architecture” work: fixing dangerous schemas, stabilizing hot paths, removing app-level complexity, and making Postgres scale without rewriting the product.

Open to consulting or full-time roles where Postgres is core to the business and performance/architecture matters.

Résumé: https://www.linkedin.com/in/eduardo-bellani/ https://ebellani.github.io/

Location: EST Remote: Yes Willing to relocate: Yes (US preferred)

Technologies: PostgreSQL (partitioning, performance, OLTP architecture), SQL, F#, C#, C, Java, Clojure, Common Lisp, Scheme, Emacs Lisp, Python, Ruby, AWS, Linux

Email: ebellani at gmail

I work on high-throughput PostgreSQL systems, especially when they’ve grown into a state where migrations, performance, or schema design have become limiting factors.

Recent work:

Re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) receiving 200+ writes/sec. I focus on “rescue architecture” work: fixing dangerous schemas, stabilizing hot paths, removing app-level complexity, and making Postgres scale without rewriting the product.

Open to consulting or full-time roles where Postgres is core to the business and performance/architecture matters.

Résumé: https://www.linkedin.com/in/eduardo-bellani/ https://ebellani.github.io/

The Lost Art of XML 6 months ago

This is the reason for the push-back against it.

Do you have evidence for that? From memory, it was basically because it was associated with the java/.net bloat from the early 2000s. Then ruby on rails came.

Location: EST Remote: Yes

Willing to relocate: Yes (US preferred)

Technologies: PostgreSQL (partitioning, performance, OLTP architecture), SQL, F#, C#, C, Java, Clojure, Common Lisp, Scheme, Emacs Lisp, Python, Ruby, AWS, Linux

Email: ebellani at gmail

I work on high-throughput PostgreSQL systems, especially when they’ve grown into a state where migrations, performance, or schema design have become limiting factors.

Recent work:

Re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) receiving 200+ writes/sec. I focus on “rescue architecture” work: fixing dangerous schemas, stabilizing hot paths, removing app-level complexity, and making Postgres scale without rewriting the product.

Open to consulting or full-time roles where Postgres is core to the business and performance/architecture matters.

Résumé: https://www.linkedin.com/in/eduardo-bellani/ https://ebellani.github.io/

Location: EST

Remote: Yes

Willing to relocate: Yes (US preferred)

Technologies: PostgreSQL (partitioning, performance, OLTP architecture), SQL, F#, C#, C, Java, Clojure, Common Lisp, Scheme, Emacs Lisp, Python, Ruby, AWS, Linux

Email: ebellani at gmail

I work on high-throughput PostgreSQL systems, especially when they’ve grown into a state where migrations, performance, or schema design have become limiting factors.

Recent work:

Re-architected two multi-terabyte OLTP tables (~2TB and ~1TB) receiving 200+ writes/sec. I focus on “rescue architecture” work: fixing dangerous schemas, stabilizing hot paths, removing app-level complexity, and making Postgres scale without rewriting the product.

Open to consulting or full-time roles where Postgres is core to the business and performance/architecture matters.

Résumé: https://www.linkedin.com/in/eduardo-bellani/ https://ebellani.github.io/

Not to mention that perfectly normalizing a database always incurs join overhead that limits horizontal scalability. In fact, denormalization is required to achieve scale (with a trade-off).

This is just not true, at least not in general. Inserting on a normalized design is usually faster, due to smaller index sizes, fewer indexes and fitting more rows per page.

That may be. What's not specified there is the immense, immense cost of driving a dev org on those terms

I'm happy that we agree on the solution, but disagree only if it is cost worthy. About the cost, I took that into consideration when I wrote the conclusion:

FAANG-style companies are unlikely to adopt formal methods or relational rigor wholesale. But for their most critical systems, they should. It’s the only way to make failures like this impossible by design, rather than just less likely.

There is an actionable plan in the article. It is possible to run teams like these. It is an economical decision of upper management to run the risk of having these outages vis-a-vis this alternative.

a fully normalized relation is one where the SQL (say) table in question represents one and only one predicate of your business rules.

It is literally impossible for that to be done automatically. Someone needs to look at the resulting code and confirm that that was the case.

Normalization cannot be done by machines, because it depends on expressing the (and only the) predicate that corresponds to the business rule in question.

It requires apprehending the essence of the situation, something a machine cannot do.

Lots of peole got hung up on the example, which I thought would be be helpful on the discussion, but certainly should not replace the main point, which is:

Relations, attributes and tuples are logical. A PK is a combination of one or more attributes representing a name that uniquely identifies tuples and, thus, is logical too[2], while performance is determined exclusively at the physical level, by implementation.

So generating SKs for performance reasons (see, for example, Natural versus Surrogate Keys: Performance and Usability, Performance of Surrogate Key vs Composite Keys) is logical-physical confusion (LPC)[3]. Performance can be considered in PK choice only when there is no logical reason for choosing one key over another.

https://www.dbdebunk.com/2018/04/a-new-understanding-of-keys...

Trying to tamp out these ambiguities adds an unbounded number of data model epicycles that add a lot of complexity and performance loss

If you can talk about a business rule, you have a predicate. If you have a predicate, you can make it 5 or 6 normal form, since all that means is that your relation expresses only and completely the predicate.

It seems that your definition of normalization is not the one that I am using above. What is it?

Memory, and CPU, and even storage eventually, those would be the main practical examples of where having a key that's composed of something very small saves you space and thus, time.

Say we want to use a bigint key vs a VARCHAR(30)? depending on your big key you might be talking about terabytes of additional data, just to store a key (1t rows @ bigint = 8TB, 1T rows at 30 chars? 30TB...). The data also is going to constantly shuffle (random inserts).

> Joins, lookups, indexes

I don't see how what you brought up has anything to do with these.

But the main point is being missed here because of a physical vs logical conflation anyhow.