Live data from Hacker News

How we rolled out one of the largest Python 3 migrations

blogs.dropbox.com

81–90 of 141 posts

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

#81
post #67

Earlier quoted context omitted.

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.

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 believe in the mathematical community the potentially offensive term for outsiders is non-trivial, used in a technically correct manner, but oftentimes applied as synonymous of epically hard, which unexpectedly throws people off, especially the author of that non-trivial work!

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

#82

Earlier quoted context omitted.

What does the Dropbox client do for me other than syncing files and exposing a bit of the online functionality such as generating share links? (Serious question...)

We can simply start by asking what does “syncing files” include? Watching files. Keeping backup of files. Keeping conflicts resolved. Watching Selective Sync files and folders. Watching Smart Sync files and folders. Notifications for synced files. Etc. etc. There’s way more the client does than what I mention.

I don't think there is much code for conflict-resolving in dropbox. Usually in case of conflicts it renames one of the involved files and add a message about conflict and the date to the name and moves on.

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

#83

Earlier quoted context omitted.

There’s an official API since 2014 (Yosemite): https://developer.apple.com/library/archive/documentation/Ge...

Dropbox predates that api though. They used to hack into Finder.app's api IIRC.

Which is part of why that extension point was introduced :)

https://twitter.com/nickjshearer/status/608833134902140928

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

#84

It’s funny, after Mojave was released recently I thought it might finally have a python3 installed , even if it’s not the default. Nope, still Python 2.7. This is good for me since I deployed a Python-dependent app under the assumption that the system Python would be stable and reliable. It allows relatively complex things to be achieved with a tiny download package. I’ve been prepared to adopt Python 3 for awhile bu…

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.

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

#85
FTA :

>>> On the surface, the application would more closely resemble what the platform expects, while behind various libraries, teams would have more flexibility to use their choice of programming language or tooling.

I'm always fascinated by how the implementation of the core principles of an application is dictated by factors alien to it, such as OS, company organisation, etc. Therefore, the job of coding is often a small part compared to the amounts of trivialities, project management decisions, customer's ideas, corporate policies, etc. Although my soul is a coder's one, I always realize how much coding is just a small part of what I call application development.

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

#86
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…

That's why most of the tools I use in my day to day work are Go or Rust binaries.

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

#87

It’s funny, after Mojave was released recently I thought it might finally have a python3 installed , even if it’s not the default. Nope, still Python 2.7. This is good for me since I deployed a Python-dependent app under the assumption that the system Python would be stable and reliable. It allows relatively complex things to be achieved with a tiny download package. I’ve been prepared to adopt Python 3 for awhile bu…

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.

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

#88
post #86
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…

That's why most of the tools I use in my day to day work are Go or Rust binaries.

They're also fast and small, which while not always a big matter is very satisfying for me.

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

#90
post #67

Earlier quoted context omitted.

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.

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 it's a term of art that should probably be avoided when talking to non-mathematicians.

Post reply on HN