Live data from Hacker News

How we rolled out one of the largest Python 3 migrations

blogs.dropbox.com

91–100 of 141 posts

Re: How we rolled out one of the largest Python 3 migrations

#92
post #50

I hope this kills (or helps killing) the 100+ thread count I have always seen in macOS. It surpasses any other thread count from far more important/sophisticated processes. I'd say that's a waste (if not abuse) of the system's resources and scheduling system.

Seconded, on linux for me though.

Re: How we rolled out one of the largest Python 3 migrations

#93

Interesting write-up, though it leaves me terrified how a relatively small, more or less single purpose application like the Dropbox client has over 1 million lines of code in Python alone.

It might be single purpose but that single purpose is a reallllllly difficult problem.

Re: How we rolled out one of the largest Python 3 migrations

#94

Earlier quoted context omitted.

This exchange is a good demonstration that the word "trivial" has lost its meaning in the same way "literal" has. Much like I usually hear someone use term "literally" for figurative emphasis, these days I mostly hear the word "trivial" used to describe something which is clearly nontrivial. Math textbooks have been doing this for decades, but it's leaked into common parlance with online discussion.

I think the best translation of "trivial" when used amongst mathematicians is that it is something you should be able to figure out with your current knowledge without too much difficulty (though it might require an hour of thought). Said in another way, you don't need to learn/develop new tools or techniques for something that is trivial. Of course this is not when most people think when they hear the word so really…

> I think the best translation of "trivial" when used amongst mathematicians is that it is something you should be able to figure out with your current knowledge without too much difficulty

As i read through my old uni maths notes there are often wild leaps from a to e along with a little scrawl saying "trivially" or "obviously". They may have been true once, but god dammit 21 year old me was a knobber

Re: How we rolled out one of the largest Python 3 migrations

#95
post #41

Interesting write-up, though it leaves me terrified how a relatively small, more or less single purpose application like the Dropbox client has over 1 million lines of code in Python alone.

You might only use a small part of Dropbox, but I bet there is a lot of functionality that you don't care about but which is critcial to Dropbox as a business/product for others. The fact that you think it's small means they're probably doing something right! Relevant: https://danluu.com/sounds-easy/ (FWIW I don't use Dropbox myself, but I definitely had people ask me why Google needed 3,000 employees back in the day…

From the article

>There's also a wide body of research that's found that decreasing latency has a roughly linear effect on revenue over a pretty wide range of latencies for some businesses. Increasing performance also has the benefit of reducing costs.

I wish he cited some of that research, because Google doesn't show much except for this amazon study with the 100ms.

I'm especially interested if there's any research on engineering tools and their latency (long build times) etc., which are chronically under addressed in quite a few large corporations. I'm just wondering if there's some studies that would make the case for me if I were to present this to management.

Re: How we rolled out one of the largest Python 3 migrations

#97
post #48

> However, rather than use the native toolchains directly, such as Xcode for macOS, we delegated the creation of platform-compliant binaries to py2exe for Windows, py2app for macOS, and bbfreeze for Linux. I wish the authors of more Python tools would deploy standalone applications. I do not like having to maintain various sets of Python installers/package managers (because every Python tool seems to use a different…

I hope some day some big corp decides to write a decent (open source) Python to C compiler, which makes optional optimizations based on type annotations.

I find this project: https://github.com/Nuitka/Nuitka very interesting, but its written and maintained only by a single person and I never got it to work with any of my apps.

Re: How we rolled out one of the largest Python 3 migrations

#98

Earlier quoted context omitted.

It'll be very interesting to see what happens with the next macOS when Python 2 will be EOL (which is roughly 3 months after its release). The upgrade to Python 3 is long overdue.

Python being EOL sounds scary but actually won't matter to Apple. They already apply custom patches, they can carry on running python 2.7 forever, with minor bug fixes where really required.

> they can carry on running python 2.7 forever

would they do this? does anything macOS internal depend on python 2.7?

Re: How we rolled out one of the largest Python 3 migrations

#99
post #67
post #55

Earlier quoted context omitted.

This is possible and actually pretty trivial. You install all 3rd party dependencies into some directory. The command line entry point is then a simple BASH script which sets the PYTHONPATH to the appropriate installation location and then does the appropriate exec call. You then have a functionally portable python installation.

Pretty trivial? Really? I think as soon as you start writing all caps trivial has gone right out the window. Trivial would be application dependencies managed by the system package manager. I'm at the point where I won't touch a python app or library that can't be installed via Pacman. It's just not worth my time. And... python is still the only thing on arch that gives me the shits everytime it upgrades.

Being charitable, I think the parent means that the python developer sticks all the dependencies in a directory and creates a bash script to set PYTHONPATH and launch. The user receives a directory rather than an executable, but only has to use the bash script, rather than worry about any of the Python in the directory.

Re: How we rolled out one of the largest Python 3 migrations

#100
post #29
post #27

Earlier quoted context omitted.

Phew

Wow that didn’t take long. My suggestion would be a rewrite in Go, loose that sucky language.

We've banned this account for repeatedly posting unsubstantive comments.

If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll use the site as intended.

Post reply on HN