Hacker Newsnew | past | comments | ask | show | jobs | submit | shafte's commentslogin

> Those people/use-cases don't care about the GIL.

This is not true. The primary funding and motivation for the GIL removal work comes from the numerical computing community. The PEP (https://peps.python.org/pep-0703/) contains direct quotes from folks working on numpy, scipy, PyTorch, scikit-learn, etc. and also practitioners from places like Meta, DeepMind and so on, describing the practical constraints that the GIL places on many workloads.


I'm curious: what's sorts of things were bad about libtorch? What did you see in this release that you thought was an improvment?


Perhaps you missed the "What's in it" section while skimming the readme? :)

>Because of folly's fairly flat structure, the best way to see what's in it is to look at the headers in top level folly/ directory. You can also check the docs folder for documentation, starting with the overview.


Ah, the old "Read the code" version of documentation. Guess what? That's not documentation. That's douchebag for "I didn't write documentation"


That doesn't seem very fair. They link a docs folder and an overview document, neither of which require that the user read code to get a good idea of the library's contents.

That said, the code is also reasonably well commented as well, for example: https://github.com/facebook/folly/blob/master/folly/Singleto.... So "read the code" is not terrible advice in this case either.


EternalTerminal[1] was mentioned in a comment below. It supports port forwarding, and other goodies like native scrollback, at the cost of latency on laggy connections (because it doesn't do full terminal emulation). If that tradeoff sounds good to you, try it!

[1] https://eternalterminal.dev/


Watch David's talk coming up (https://www.facebook.com/pytorch/), it will contain some answers :)


Aside from its merits as a database, SQLite is also a great example of good documentation[0], thorough testing[1], and focused development. It's something that all library maintainers should study and try to learn from.

[0] https://www.sqlite.org/whentouse.html

[1] https://www.sqlite.org/testing.html


I don't know if it's correct to characterize Github's model as a power grab. The design of Github definitely pushes things in a more centralized direction, but I think that approach is superior in many cases and it's not purely for profit.

For many projects, having a single "canonical" version is the best experience for both users of the project and developers. Linux is large and important enough that it may make sense to have many different distros running a slightly different set of patches and accept the overhead of managing multiple sources of truth. For smaller projects with more narrow contributor bases, it would be noisy and confusing.


Plus, there's absolutely nothing stopping anyone from taking their Git repos and putting them on another Git host. Or hosting their own. Or using multiple hosts.

Sure, they're doing things to further their own popularity... But it doesn't appear to be at the expense of anyone else.


> I don't know if it's correct to characterize Github's model as a power grab.

The important question would be if Github forks and pull requests are an open protocol or attached to the platform. I’m not aware if I can make a pull request from - say - bitbucket to github. Can I ? Then it’s not a power grab. If not then redefinition of fork/pull request is an extend and extinguish move.

Edit: okay, extinguish is too harsh. GitHub doesn’t want to extinguish git.


I don't really see forks or pull requests as being part of the git protocol. They are part of a workflow- no different than, say "git flow" is a workflow, not part of the protocol of how, why and when branching happens.

Further, github isn't looking to "extinguish" git in any way. Sure, old workflows (emailing patches?) might not be supported, but again, that's something entirely external to git itself.

As these things are all external to git, it makes sense that they're not portable between vendors- they are the vendor's, not git's, features. You're not using them from within git, you're using the vendor's features to interact with git. That's the primary difference between, say, M$FT's EEE of Java or AOL's instant messenger, HTML and other examples.


Extinguish doesn't mean to end, it means to end the open standard. Github would be happy if all git use were Github use, and every user locked in to their service brings that day closer.


What open standard? Email? Github doesn't change git, it changes the workflows around it.

Even if everyone used github, they're still using vanilla git underneath.


In a similar way you could argue that git doesn’t change diff and patch. It just adds a a convenient way to handle patch files. So why open source it? It turns out it’s very useful to have it in software.

The same is true for tracking forks and managing pull requests.


> The important question would be if Github forks and pull requests are an open protocol or attached to the platform.

Attached to the platform, but open. You could do all the work on your feature branch somewhere else, say, your company's gitlab installation, then when it's done, push the branch into your github "fork" and and create a pull request there. I really don't know on which side of an openness line that would fall, you can easily define the line around it either way.


It’s all git, so you can totally do all the development in gitlab, and only touch github when you are ready to make a pull request.

You’d have to run half a dozen commands, including adding new remote and running “hub fork”, but it would likely still be faster than sending an email.


Forks and PRs are UI sugar on top of Git operations, so it's technically open. That said, merging in a PR is an operation that touches 2 repos, with different user privileges, so I feel it would be hard (though not impossible) to make the UI work with multiple services, without adding extra cross-service auth headache.


That's only true for private repos though, for open source repos it would work just fine.


> it's technically open

Yes, but in a practical sense it ties your operation to GitHub.


Besides that, a de facto centralization is always a much easier pill to swallow then a de jure one.


Not really related, but a quick plug for the work that Mercurial is doing to port substantial portions of its main binary to Rust: https://www.mercurial-scm.org/wiki/OxidationPlan

My understanding is that they want to get it fully ported before Python 2 EOL.


This is so awesome. Makes me really excited for the future of PyTorch—being able to define symbolic deriviatives in a python subset is super cool


The best explanation is coincidence, I think. I have direct knowledge of two of the incidents in the past few weeks, and they have completely unrelated causes.

Sometimes you just get unlucky!


"Once is happenstance. Twice is coincidence. The third time it’s enemy action."

-- Ian Fleming (in Goldfinger)


If it can happen, it will happen.


That’s certainly possible. We’re probably still too early to tell, but the innate conspiracy theorist slash pattern-matching part of my brain wants to find a probable connection.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: