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

I've had quite an opposite experience. I wanted to give it a chance, but the loading times for almost any kind of navigation were too long, so I automatically stopped visiting.


I certainly get the sentiment of your comment, but I'd be much more interested to hear your take on ParadeDB which the post is about?


It seems to be a slightly better version of what postgresql offers. I have no experience or insights in what it does as it seems to be invite only currently.

But it joins a long list of not quite Elasticsearch alternatives with a much smaller/narrower/ more limited feature set. It might be good enough for some.

As for the criticism regarding Elasticsearch:

- it's only unstable if you do it wrong. Plenty of very large companies run it successfully. Doing it right indeed requires some skill; and that's a problem. I've a decade plus of experience with this. I've seen a lot of people doing making all sorts of mistakes with this. And it's of course a complicated product to work with.

- ETL is indeed needed. But if you do that properly, that's actually a good feature. Optimizing your data for search is not optional if you want to offer good search experience. You need to do data enrichment, denormalization, etc. IMHO it's a rookie mistake not to bother with architecting a proper ETL solution. I'd recommend doing this even if you use posgres or paradedb.

- Freshness of data. That's only a problem if you do your ETL wrong. I've seen this happen; it's actually a common problem with new Elasticsearch users not really understanding how to architect this properly and taking short cuts. If you do it right, you should have your index updated within seconds of database updates and the ability to easily rebuild your indices from scratch when things evolve.

- Expensive to run. It can be; it depends. We spend about 200/month on Elastic Cloud for a modestly sized setup with a few million documents. Self hosting is an option as well. Scaling to larger sizes is possible. You get what you pay for. And you can turn this around: what's a good search worth to you? Put a number on it in $ if you make money by users finding stuff on your site or bouncing if they don't. And with a lot of cloud based solutions you trade off cost against convenience. Bare metal is a lot cheaper and faster generally.

- Expensive engineers. Definitely a challenge and a good reason for using things like Algolia or similar search as a service products. But on the other hand if your company's revenue depends on your search quality you might want to invest in this.


ParadeDB founder here. We are open-source: https://github.com/paradedb/paradedb. Very much not "invite only". We have hundreds of open-source deployments in production and several paying customers.

Our bring-your-own-cloud solution, which is our primary hosted service, is indeed in developer preview and if anyone is interested in using it, you can contact us. It will enable adding ParadeDB to AWS RDS/Aurora.


My apologies. That wasn't clear from your website though at a glance. But I did not spend a lot of time looking at it.


Great post!

Postgres.js does this implicitly through a simple API[1] mimicking the postgres way, thereby using only a single dedicated connection for listening per process.

Listen/notify is also super useful with triggers.

[1] https://github.com/porsager/postgres#listen--notify


Ah yes.. Switch to Typescript and give up all your advances to get a brand new set of crutches.


They should have brought you in as a consultant so that they would have arrived at the correct decision. Alas, they are now doomed to be wrong forever.


Can you elaborate what you consider "crutches" in this case?


They had a custom language giving them full flexibility to achieve making a product in the browser that put them ahead of everyone else, and instead of embracing that, they throw it out to be able to hire of the shelve developers to code in a language that doesn't let them move freely. Typescript is like crutches in the sense that it might support you in not falling, but you only really need them if you're crippled in some way.


> They had a custom language giving them full flexibility to achieve making a product in the browser that put them ahead of everyone else

From the article it sounds like it was only used for the prototyping system so a single code base could run in the iOS client and the Web client.

I believe the main UI of Figma and what makes it so performant and magical to use is C++ https://www.figma.com/blog/webassembly-cut-figmas-load-time-...


What are you talking about? Typescript is a fantastic improvement on JavaScript.

Skew doesn't look fundamentally better enough that it would be worth the downsides. Lack of IDE support alone is probably enough to cancel out a productivity gains from a better language.


I like that typescript catches when I need to do null checks so I don't end up with the most notorious runtime error seared into the brain of every JS developer "cannot read property of undefined".

Some parts are nice, like the string literal typing "this" | "that". Other things are hacky, like "branded types", gross.

But then I think of my commercial codebase which is extremely well tested, regular old JS, and wonder if is worth the hassle.


That sounds very interesting. Could you elaborate on that?


I was expecting to see https://github.com/dimitri/pgcopydb when clicking this. How is this different?


OP here. pgcopydb is also a great tool. It does pg_dump|pg_restore. It cannot multi-thread (parallelize) single table data migration


seems like it can parallelize to an extent: https://pgcopydb.readthedocs.io/en/latest/concurrency.html#s...


It only uses pg_dump and pg_restore for transfer of the schema, the actual data transfer is a custom mechanism.


does pgcopydb support copying a single table in multiple threads?



Because this is advertising :)


You're talking about the EU and states alike - right?


You do know that except for arguably Hungary (and even that's slowly being worked on... it's just really hard), all EU members are democracies and the EU itself is a democratic institution?


Or like the United States with their military operations protecting w̶e̶a̶k̶ a̶n̶d̶ o̶p̶p̶r̶e̶s̶s̶e̶d̶ p̶e̶o̶p̶l̶e̶ their interests around the world ?


Did you make an issue for that? (I'm sad about that too)



For people following along at home, this was fixed with a 250x speed up (!) in https://github.com/zed-industries/zed/pull/6700



What a weird statement. It's beautiful! You don't need comments, just read the code. No need to litter code with ambiguous language. The only place a comment fits is if the purpose is not clear from the code.



Honestly no. Not more at least.

There are some that does exactly as I mention by mentioning things not in the code like:

```

// Non-generic part of edit, hoisted out to avoid blowing up LLVM IR.

```

Most of the others it does have are even unnecessary. Like this one.

```

/// Returns enclosing bracket ranges containing the given range or returns None if the range is not contained in a single excerpt

pub fn enclosing_bracket_ranges<'a, T: ToOffset>(

```

The description is literally in the function name.

Also this tweet touches on a similar issue - https://twitter.com/transmutrix/status/1750563200708309466


I'm not sure that claim is correct, but could you describe what that setup looks like, and the benefits? A link to something more is also fine


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

Search: