polote

Joined 9 years ago

Karma
4,801
Submissions
1,083
Member since
Jul 1
Building a better 'Confluence' for organizations : dokkument.com

Daily newsletter of HN blogs : hnblogs.substack.com

paul at luap point info

View on Hacker News

Recent submissions

Comment · 8 months ago
On https://hnblogs.substack.com/ blog posts published on HN are collected everyday
Comment · 1 year ago
Rls and triggers dont scale either
Comment · 1 year ago
Bad guess :)
Comment · 1 year ago
Do you know another model than gridformer to detect table that has an available implementation somewhere ?
Comment · 1 year ago
Kinda got the the same conclusion than OP building in the same space. There is so much innovation going on currently that whatever you do today, two other people will do better tomorrow. Which is a good news for us but difficult time for builders.
Comment · 1 year ago
Comment · 1 year ago
This idea that Postgres should be used for everything really need to die in a professional context.

I was appointed in a company of 10 dev that did just that. All backend code was PostgreSQL functions, event queue was using Postgres, security was done with rls, frontend was using posgtraphile using graphql to expose these functions, triggers were being used to validate information on insert/update.

It was a mess. Postgres is a wonderful database, use it as a database. But don't do anything else with it.

Before some people come and say "things were not done the right way, people didn't know what they were doing". The dev were all fan of Postgres contributing to the projects around, there was a big review culture so people were really trying to the best.

The queue system was locking all the time between concurrent requests => so queue system with postgres works for a pet project

All the requests were 3 or 4 times longer due to fact that you have to check the rls on each row. We have also all pour API migrated now and each time the sql duration decrease by that factor ( and it is the exact same sql request ). And the db was locking all the time because of that as it feels likes rls breaks the deadlock detection Postgres algorithm

SQL is super verbose a language, you spend your time repeating the same line of code , it makes basic function about 100 lines long when they are 4-5 lines in nodes js

It is impossible to log things inside these functions to have to make sure things will work and if it doesn't you have no way to know where the code did go through

You can't make external API call, so you have to use a queue system to make any basic things there

There are not real lib , so everything need to be reimplemeted

It is absolutely not performant to code inside the db, you can't do a map so you O(n2) code all the time

API were needed for the external world , so there was actually another service in front of the database for some case and a lot of logic were reimplemeted inside it

There was a downtime at each deployment as we had to remove all the rls and recreate them ( despite the fact that all code was in insert if not update clauses) it worked at the beginning but at some point in time it stopped working and there was no way to find why, so drop all rls and recreate them

It is impossible to hire dev that wants to work on that stack and be business oriented , you would attract only purely tech people that care only about doing there own technical stuff

We are almost out of it now after 1 year of migration work and I don't see anything positive about this Postgres do everything culture compared to a regular node js + Postgres as a database + sqs stack

So to conclude, as a pet project it can be great to use Postgres like that, in a professional context you are going to kill the company with this technical choice

Comment · 3 years ago
The vast majority of jobs could be eliminated today without AI and still they are not, so we are very safe. Even with AI getting better and better we will be
Comment · 3 years ago
Comment · 3 years ago
For all the people that say this is easy. Try it ! That's not easy at all, I've tried it and spend a few weeks to get similar performance. Receiving thousands of request is not similar to making thousands of requests, you can saturate your network, saturated with latency of random websites, get site that never timeout, parse multi megabytes malformed html, get infinite redirections.

My fastest implementation in python was actually using threads and was much faster than any async variant

Comment · 3 years ago
Well I do not feel any of the 3 advice he gives, good advice.

First the longer you stay in heroku ,the most complex is it to exit it the time you really need it and the less flexible you are in the time being.

Second, wish he had pay for a pit team sooner, but could this money better used investing in marketing or sales like he probably did ?

The guy has obviously succeeded as a business owner, would it still be the case if he had implemented these advice ? We will never know, but what we know for sure is not implementing these advice made him successful

Comment · 3 years ago
Tech workers just discovered that they will be kept only if they are performant, and they are stressed about it. Welcome in the real world.

Most meta employees don't produce any value but are getting well paid because in the past meta has managed to be the most used social network. Produce value for the company and not what you believe is value and yoi will never get fired

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton