Hacker Newsnew | past | comments | ask | show | jobs | submit | jelder's commentslogin

Indie games don’t have a budget for playtesting, but they can probably swing a GA account.


I just today realized io_uring is meant to be read as "I.O.U. Ring" which perfectly describes how it works.


If it was meant to be read that way, it should have been named iou_ring.


Are you sure it's not I.O. µ (micro) ring?


The u is for userspace.


I/O Userspace Ring (ring buffers)


> You’re already flying this route with a 300-seat plane where 80+ people in business class generate most of your profit. Give those passengers a supersonic plane, cut the flight time in half, and charge the same price.

What does that end up doing to the cost of a seat in coach?


Haven’t seen a loading progress spinner on a landing page in a while. The Ruby website now loads almost as slowly as Ruby on Rails boots up.


“Most people” is not even remotely accurate.


I thought this was common practice, generated columns for JSON performance. I've even used this (although it was in Postgres) to maintain foreign key constraints where the key is buried in a JSON column. What we were doing was slightly cursed but it worked perfectly.


If you're using postgres, couldn't you just create an index on the field inside the JSONB column directly? What advantage are you getting from extracting it to a separate column?

  CREATE INDEX idx_status_gin
  ON my_table
  USING gin ((data->'status'));
ref: https://www.crunchydata.com/blog/indexing-jsonb-in-postgres


That works for lookups but not for foreign key constraints.


Ah, makes sense. Thanks!


..and it does not make "certain queries easier" (quote from the article).


You only need gin if you want to index the entire jsonb. For a specific attribute, you can use the default (btree) which I'm guessing is faster.


Yes, as far as indices go, GIN indices are very expensive especially on modification. They're worthwhile in cases where you want to do arbitrary querying on JSON data, but you definitely don't want to overuse them.

If you can get away with a regular index on either a generated column or an expression, then you absolutely should.


It works until you realize some of these usages would've been better as individual key/value rows.

For example, if you want to store settings as JSON, you first have to parse it through e.g. Zod, hope that it isn't failing due to schema changes (or write migrations and hope that succeeds).

When a simple key/value row just works fine, and you can even do partial fetches / updates


The necessity of using a JSON column was outside of my control, but Zod etc. are absolutely required, I think, in most projects. I wrote more about that here: https://www.jacobelder.com/2025/01/31/where-shift-left-fails...


EAV data models are kinda cursed in their own right, too, though.


Doesn't sound very cursed, standard normalized relations for things that need it and jsonb for the big bags of attributes you don't care to split apart


It is. I’d wondered if STORED is necessary and this example uses VIRTUAL.


This is the typical practice for most index types in SingleStore as well except with the Multi-Value Hash Index which is defined over a JSON or BSON path


The purpose of software is to reduce the cost of change.

Of course “code” belongs here.


I take parent's meaning to be that "code" is redundant in the repetition not blameless.


Yes, thank you.


Underrated point.

Looking for performance issues on a machine with different baseline IO and CPU load, buffer state, query plans, cardinality, etc. is just theater and will lead to a false sense of security. RegreSQL is approaching a stateful problem as if it were stateless and deterministic. A linter like https://squawkhq.com is a good partial solution but only addresses DDL problems.

RegreSQL would be better served by focusing only on the aspects of correctness that tools like SQLx and sqlc fundamentally cannot address. This is a real need that too few tools try to address.


Using the right language for the problem domain is a good thing, but what I can't stand is when people self-identify as the one language they are proficient in. Like, "I'm Staff JavaScript developer" no buddy, you aren't "Staff" anything if you only know one language.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: