Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite it all on Python #447

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

babuloseo
Copy link

Rust code sucks for an open source project like this, I recommend rewriting it in Python ( I am 100% dead serious) It's already trying to use PyTorch so might as well go full Python.

Rust code sucks for an open source project like this, I recommend rewriting it in Python ( I am 100% dead serious)
It's already trying to use PyTorch so might as well go full Python.
@edmundpf
Copy link

You have until 12am EST to rewrite the whole codebase in Python. Go get 'em champ.

@nidhhoggr
Copy link

Switch from rust to an inferior bytecode-compiling interpreted language? How do you think the pipeline described runs approximately 5 billion times per day and completes in under 1.5 seconds on average? And you think switching to Python will make that faster? Lol.

@CLAassistant
Copy link

CLAassistant commented Apr 1, 2023

CLA assistant check
All committers have signed the CLA.

@wiredmatt
Copy link

wiredmatt commented Apr 1, 2023

Switch from rust to an inferior bytecode-compiling interpreted language? How do you think the pipeline described runs approximately 5 billion times per day and completes in under 1.5 seconds on average? And you think switching to Python will make that faster? Lol.

To be fair, my man never talked about making anything any faster at all here. In fact, I believe he thinks making it run 10000000x slower would end up being better, just think about it:

If users get the best recommendations possible at every second due to this being run multiple times throughout the day, that means that this whole system is completely ignorant on basic psychology. Let me expand on this, there's something called Delayed Gratification, as well as Instant Gratification, currently twitter works its users with the latest, giving them exactly what they want to see at the moment, but in the long run this makes it so people leave twitter at an earlier time, because they found too much gratification in a short while and they'd rather look for something that sort of challenges them.

Now, objectively speaking, the longer you retain your users, the better, and how to achieve that? Well, just throw some bad recommendations along with the good ones. So I'm 100% certain that babuloseo's proposal is the way to go here. You ask why? Let's see, rewriting the entire codebase in Python would imply:

  1. Throwing away this entire codebase that's probably been worked on by 100s of engineers for more than a decade, and having it rewritten by some foreign developers from Fiverr that would work for 5$/hr, ending up with an algorithm that's probably not as good.
  2. It would probably be required to be delivered by the end of April 1st, so not a lot of time to actually validate whatever was done
  3. It would take 10000000x time to compile and train

The end result? This but much worse, which will probably make Twitter more money for what I explained earlier, making finding the good stuff more difficult would make users more engaged with some features of the platform, making their stays longer.

This is how CEOs are chosen, not based in the faster solution, but in the better one.

Work smarter not faster.
image

--
I'm actually half serious, I laughed my ass off writing that but in case it made sense to some, it's because it does make sense

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants