Dead Comment
> It's equally common for developers to work in environments where little value is placed on understanding systems, but a lot of value is placed on quickly delivering changes that mostly work. In this context, I think that AI tools have more of an advantage. They can ingest the unfamiliar codebase faster than any human can, and can often generate changes that will essentially work.
One immediate problem that comes to mind is that you need a smartphone to take public transit. So if there's a teen without a smartphone, they can't take the bus, nor can someone who's phone died, etc.
One of the amazing things of the current system, as simple as it is, is that it's predictable and doesn't require coordination. You can walk to a bus stop and know that a bus will arrive and take you where you expect to go, same as the last time you've taken it and the time before that. You don't need to look up a map to see what today's route is, or to see where the stop is, or to let the bus know you're waiting for you. You just show up at the bus stop and the rest just happens in a predictable and reliable fashion.
How did that happen?
This is what we did:
DB with pg_search: We created a single BM25 index
DB without pg_search: We created all these indexes
GIN index on message (for full-text search)
GIN index on country (for text-based filtering)
B-tree indexes on severity, timestamp, and metadata->>'value' (to speed up filtering, ordering, and aggregations)
See the problem? You didn't create an index on the vector in the without-pg_search case. You didn't compare apples to apples. TFA is all about that.Perhaps you can argue that creating a fastupdates=on index would have been the right comparison, but you didn't do that in that blog.
> You can always cherry-pick a query and optimize it at the expense of data duplication and complexity. The Neon/ParadeDB benchmarks contained 12 queries in total, and the benchmarks could have:
TFA isn't cherry-picking to show you that one query could have gone faster. TFA is showing that you didn't compare apples to apples. Looking at those 12 queries nothing screams at me that TFA's approach of storing the computed tsvector wouldn't work for those too.
Perhaps pg_search scales better and doesn't require trading off update for search performance, and that would be a great selling point, but why not just make that point?
This is the kind of argument that makes people come up with middle manager stereotypes in the first place. In fact, the whole post is a great example of why middle manager stereotypes exist: it starts with a straw man argument and comes up with a "better alternative" that makes life easier for the manager, regardless of what the manager's reports really need.
I've seen this whole "I will empower you to do everything on your own" principle in action and it's exhausting. Especially when the word "empower" is a used as a euphemism for "have you take on additional responsibilities".
Look, boss, sometimes empowering me is just what I need, but sometimes I need you to solve a specific problem for me, so I can keep solving all the other problems I already have on my plate.
"A common response is to invent new work, ask for status reports, and add bureaucracy. A better response is to go back to working on technical problems. This keeps the manager’s skills fresh and gets them more respect from their reports. The manager should turn into a high-powered spare worker, rather than a papersshuffler."
While being an IC and a manager is quite challenging, I think it's worth discussing the various permutations of it (only one of which is what the author has written about). It can lead to all sorts of systems (round robin leadership within a team being probably one of the most experimental). But for a more conservative, traditional system, there are many examples, e.g. Apple leadership coming out of former ICs.