4,801 karma · joined July 1, 2017
Daily newsletter of HN blogs : hnblogs.substack.com
paul at luap point info
Last time I checked there was deepface https://github.com/serengil/deepface/tree/master but it was far to work as well as that
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
My fastest implementation in python was actually using threads and was much faster than any async variant
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
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
Two aspects I'm trying currently are (that need users browsing history):
- Dont try to recommend similar website, but recommend users that like similar things as you, and you can list the website that this user likes
- Create tags with accuracy. For example you will tag a website "product management" "startup" and "b2b". You can go one step further and ask users to rate how this tag matches the website. Like 90% for "b2b" and 50% for "startup" and 20% "product management". Then you can let users search tags and their accuracy (I want "product management" at average more than 50%)
Like you I feel like something can be done with LLM but I just haven't found it yet, maybe to suggest the tags of a website from a restricted list of tags, and then to suggest tags from an explanation of what the user is searching and then search those tags
It doesnt mean they are bad PM or good PM, innovation requires just fundamentally opposed skills to the standard product management ones that we see in books.
The point of the article is not that companies shouldnt have PM, but that you shouldnt make them owner of the innovation in a B2B context. Of course if you start with the assumption of "Good PMs" it will work, but you will rarely find these "good PMs"
The success of a company is highly tied to the intuition of the founder, thet are usually the only people that are critical to the company still improving. But the opposite is true, they are the only ones that are critical to bankrupt the company. But they take decisions taking into account the success of the whole company, something that team don't do as much
Maybe that was what the field was letting visible, but in reality that has never been the case. There is everyday news about unicorns where employees complain that the culture is toxic, and that the CEO is impossible to work with. Only need to read Glassdoor pages.
Actually if you had the chance to work at a company that became a unicorn, you will have better chance to get founding which increase the chance that your company is going to work, so yeah.
Except for that confidence and founding part I'm not sure it is valuable
Are you too going to be shocked that any js analytics tags could record all passwords if they wanted?
Should all extensions be able to read the clipboard? No. Should some be able to? Of course
The reality is that the people who get the more noise are just the best marketers