I find it really impressive that such a large organization runs anything on Python. Isn't the speed optimization potential immense? Does the amount of Python involved just not matter compared to image data?
Secondly I find it really impressive that such a large company with so many smart people can produce an application so mediocre and make the experience extra terrible and me wonder what the absolute fuck is up with that company by trying to block desktop browsers from the perfectly useable on desktop web app (the one in which you can upload things).
Especially for a photo centric application (that has since begun to be used for original video production, of course hampered by the insane lack of any options, starting with the aspect ratio) one could expect a normal work flow to include transferring photos from a camera to a desktop computer. Making your browser pretend to be a mobile phone seems like a step that could maybe, if you really tried (to take out the arbitrary restriction that you must have explicitly added in the first place), be made unnecessary.
So that's my (condensed) rant about Instagram as a whole.
> I find it really impressive that such a large organization runs anything on Python. Isn't the speed optimization potential immense? Does the amount of Python involved just not matter compared to image data?
Usually, that's exactly the story: there are certain hot spots that account for the vast majority of your processing time.
I work on an optimization engine that evaluates financial plans.
We have a ton of business logic that is not performance sensitive, and we decompose those objects into flat, regular primitives so they can run in a tight loop that does the actual simulation.
We optimized that using numba and get quite acceptable performance.
But let me revisit what you asked:
> I find it really impressive that such a large organization
In a large organization, you need to find people with the right skillset, and if someone is a subject matter expert (mathematician, statistician, etc.) they often know Python. If they can read and understand your code, they can directly check it for correctness.
Or they can load modules into Jupyter and work with them. Have a lingua franca is itself very powerful.
Who cares if it's 10% slower running on Python if the whole thing is going to be distributed across 1000s of containers that are behind layers of caching. At that point developer productivity is more important than runtime performance.
What exactly are those developers doing all day then? Because every time I open an Instagram.com link I'm struck by how bad it is. The images are small, the comment list is the same height as the image, so wide but short images have short comment list, the comments are scrolled to the bottom so the poster's description isn't visible without scrolling up, videos doesn't have any kind of playback controls so you can't even see how long they are, and so on. It's a terrible web site and I don't understand where all the developer time and productivity is going.
And wouldn't a 10% hardware cost decrease be worth a lot at a company with such a high load, or is it all rendered so seldom because of the caching?
Really? You’re dogging the product because you don’t like how it looks on mobile? The article is about how they use python and types to improve their APIs.
I'm not sure I can say this with authority, but no one cares about the instagram website. It's primarily a mobile app, so they've been ignoring development on the website's bugs for as long as I can remember using it.
Besides most of those problems are UI-related, this article is about the backend and really python is perfectly fine for a backend that has a huge focus on data (for obvious reasons)
Secondly I find it really impressive that such a large company with so many smart people can produce an application so mediocre and make the experience extra terrible and me wonder what the absolute fuck is up with that company by trying to block desktop browsers from the perfectly useable on desktop web app (the one in which you can upload things).
Especially for a photo centric application (that has since begun to be used for original video production, of course hampered by the insane lack of any options, starting with the aspect ratio) one could expect a normal work flow to include transferring photos from a camera to a desktop computer. Making your browser pretend to be a mobile phone seems like a step that could maybe, if you really tried (to take out the arbitrary restriction that you must have explicitly added in the first place), be made unnecessary.
So that's my (condensed) rant about Instagram as a whole.