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

The PSF withdrew their application for the grant from the US government after being presented with terms that included "do not, and will not during the term of this financial assistance award, operate any programs that advance or promote DEI, or discriminatory equity ideology in violation of Federal anti-discrimination laws", which conflicts with their mission statement: "The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers."

[1]: https://pyfound.blogspot.com/2025/10/NSF-funding-statement.h...


> "… to support and facilitate the growth of a diverse and international community of Python programmers."

I feel like statements like this are fundamentally vague. What does "supporting" the growth of a diverse and international community look like? Is it different from "facilitating the growth of" such a community? Without concrete definitions I feel like both sides are talking past each other. I would love to see concrete definitions and would be grateful to anyone who can give me sources from either side.


> Can someone explain why anyone would want non-squashed PRs? > > For the 5% of engineers that diligently split each PR into nice semantic changes, I suppose that's nice. But the vast majority of engineers don't do this.

I think cause and effect are the other way around here. You write and keep work-in-progress commits without caring about changes because the history will be discarded and the team will only look at pull requests as a single unit, and write tidy distinct commits because the history will be kept and individual commits will be reviewed.

I've done both, and getting everyone to do commits properly is much nicer, though GitHub and similar tools don't really support or encourage it. If you work with repository history a lot (for example, you have important repositories that aren't frequently committed to, or maintain many different versions of the project) it's invaluable. Most projects don't really care about the history—only the latest changes—and work with pull-requests, which is why they tend to use the squashed pull request approach.


It’s mostly because pull requests are what is being tested in CI, not individual commits. Might as well squash as nobody wants to deal with untested in-between crap.

If you mean stacked PRs, yeah GitHub absolutely sucks. Gerrit a decade ago was a better experience.


> Might as well squash as nobody wants to deal with untested in-between crap.

I would rather deal with nice and tidy but untested commits rather than a very well-tested but too monolithic squash. If you test the eventual merge then you have done no less testing than the squash case.

Old commits are read more than they are run.


That's a problem with your CI. You can configure it to test all commits which make up the PR.


My CI takes 20+ mins and costs meaningful $ per run. Not happening.


> That's a problem with your CI.


Yes, but not in the way you think.


It doesn't mean anything useful in this context. It's a leftover from when PyPI was called "the cheeseshop", which in turn was a reference to a Monty Python sketch.


Cheese wheels?! TIL. Also, for once it isn't a car analogy.


Nearly all binary searches and mergesorts are broken in languages with bounded integers.


Doing any math with bounded integers considered harmful.

At some point during my undergrad I realized this and tried to be really careful when implementing algorithms, but it's stupidly hard to do in a tidy way, at least in old C. It's not practical and people just rather close their eyes and live in blissful avoidance.


And on machines with finite memory, right? Which would be every actual computer ever built?


Well I would posit that it would be hard to get to this code in a language with unbounded integers where (low n + high n) causes an OOM error, because in order to run this code, you first need an array n units wide.

You could argue that the array itself could take up most of the space leaving no room for the indices, but that's hardly a fault with the algorithm, as now you've got a computer that basically can't do anything due to overloading. Whereas overflowing a 32 bit integer is a much more likely occurrence that arguably the algorithm should account for.


Why does everyone talk about binary search in terms of arrays? Binary search works with any monotonic function. Looking up a value in a sorted array is just a special case of a monotonic function.


Because the 'bug' as presented in the article applies to binary search over an array that has a natural maximum length. If you weren't using an array, there'd be nothing constraining the magnitude of the indices, so you might as well go straight to bigints.


Of course there's a natural constraint: the type of the function. You can't pass a bigint to a function that expects an int. And if you are just blind casting, it turns out you have a similar bug: you are calling the function with different arguments than you think you are. It's the same underlying problem with a different expression in some cases.


I've been looking for something exactly like this for a while — a small Python library for generating HTML that isn't prescriptive about framework and doesn't introduce any particually weird syntax. Jinja2 macros are... not great when you want to turn your HTML into lots of smaller functions.


I'd suggest there's a correlation between the size of those package repositories and how much they get talked about. npm has several times the package count of PyPI and RubyGems together, and I don't think that can be accounted for just because it's common to make "micro" JavaScript packages.


> This is not doing science. It is “publishing articles written by scientists that you happen to find emotionally appealing”.

Have scientific journals ever _not_ worked this way? They're generally curated by an editor who curates the articles the journal peer-reviews and publishes.


> Have scientific journals ever _not_ worked this way?

It has never supposed to have worked this way and we have supposedly made progress in making the process as Scientific as possible. The bias that exists has never really been expressed this blatantly before (at least in modern history).

What is essentially said here is that irrespective of how good the Science is, it will not be published if it upsets people. There are many, many, excellent and necessary Scientific studies that may be blocked by this.

I have actively watched studies about an ethnic group being blocked because the ethnic group would react badly (in this case it was insanely high domestic violence and factors that may cause it). Some truths may hurt at the time, but ultimately we become better by publishing them.

> They're generally curated by an editor who curates the articles the journal peer-reviews and publishes.

The editor is arguably the worst part of the process. Some of this can be negated with double-blind peer review for example, where the editor is limited in their ability to override the opinions of multiple reviewers.

One can only hope that with more online publishing we can move towards a better, decentralized journal system.


The first example (i.e. `yaml.load()` in Python) doesn't work with the current version of PyYAML.

Function application was disabled some time ago, and `yaml.load()` logs a noisy deprecation warning telling users to use `yaml.safe_load()` instead [1].

[1]: https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-...


Because package managers are used for more than just source code - many packages want or need to distribute intermediate or compiled artifacts.


"Just block ads" isn't a useful answer here - this is about being able to see who is advertising to the people who aren't using ad-blockers (which is most users on the internet), and being able to do research into who is paying for advert and who they are targeting. As long as the advertising industry still has a presence on the internet, this information will be important.


Preach.

It's not about blocking ads. It's about exposing people who would abuse ads.

It's like saying: "The solution to human trafficking is for everyone to stop having sex. If no one has sex, no one will pay for trafficking."

As an aside: I would not want to live in an advertising-free world, if only because advertising pays for so much of the shit I would otherwise have to pay for myself. Online ads have entered into crazy town, so it's good that we're now exploring ways of reeling that back in. But I genuinely don't know how enjoyable an ad-free world would be once the revenue generated by those ads also disappears.


>As an aside: I would not want to live in an advertising-free world, if only because advertising pays for so much of the shit I would otherwise have to pay for myself.

You still pay. Advertisers pass the cost of advertising on to the customer. Yes, you pay for being emotionally manipulated.


Even in traditional print magazines you find abusive and emotionally manipulative advertisements from internationally known corporations, with their recognizable brands proudly announced on the ad. For instance ads that gaslight the reader, or suggest the reader is unattractive and can only rectify that by purchasing the product. Ads that try to induce then exploit low self esteem to sell products are more common but just as morally reprehensible as ads that try to install keyloggers on your computer.

You cannot solve the problem of bad ads by exposing the people behind it, when those people have no shame. Even when it's totally transparent who's behind ads, ads are still awful.


It might not stop those people from doing whatever it is they want to do. But it helps us to be more informed. And when we're more informed, we can write better laws.

For example, it used to be perfectly legal to lie in advertising. But we became more informed, and we enacted new laws, and now you can't blatantly lie in an ad without risking being sued for it. You used to be able to say things like "Coca-Cola will make you slim." But since there's no actual benefit to drinking Coke other than quenching your thirst, that's the only benefit they'll ever promote anymore aside from taste.

Likewise, greater exposure might lead to laws that, say, require that Facebook only accept ads from companies who have a license to advertise. (I'm not advocating this, I'm just using it as an example.) Or to prove they're American if they want to advertise in America. Or something. Lots of possible ways to approach it.

But it starts with being able to see the problem clearly. And we can't do that when the data is hidden, obfuscated, protected, or simply doesn't exist.


Progress on legislating reform of the advertising industry has stalled. It remains perfectly legal for Coca Cola to suggest to an emotionally vulnerable child that drinking addictive sugar water will improve their social life. That's wrong, and more needs to be done about it. It's a problem that should be attacked from all conceivable angles. We need better laws (municipalities that have laws against billboards have the right idea), better adblocking technology, and more effective campaigns to identify, shame and shun people who work in the advertising industry. They should be social pariahs.


It's useful to distinguish between advertisements and adtech:

https://news.ycombinator.com/item?id=17972297

http://blogs.harvard.edu/doc/2018/05/12/gdpr/

> Advertising isn’t personal, and doesn’t have to be. In fact, knowing it’s not personal is an advantage for advertisers. Consumers don’t wonder what the hell an ad is doing where it is, who put it there, or why.

> Advertising makes brands. Nearly all the brands you know were burned into your brain by advertising. In fact the term branding was borrowed by advertising from the cattle business. (Specifically by Procter and Gamble in the early 1930s.)

> Advertising carries an economic signal. Meaning that it shows a company can afford to advertise. Tracking-based advertising can’t do that. (For more on this, read Don Marti, starting here.)

> Advertising sponsors media, and those paid by media. All the big pro sports salaries are paid by advertising that sponsors game broadcasts. For lack of sponsorship, media—especially publishers—are hurting. @WaltMossberg learned why on a conference stage when an ad agency guy said the agency’s ads wouldn’t sponsor Walt’s new publication, recode. Walt: “I asked him if that meant he’d be placing ads on our fledgling site. He said yes, he’d do that for a little while. And then, after the cookies he placed on Recode helped him to track our desirable audience around the web, his agency would begin removing the ads and placing them on cheaper sites our readers also happened to visit. In other words, our quality journalism was, to him, nothing more than a lead generator for target-rich readers, and would ultimately benefit sites that might care less about quality.” With friends like that, who needs enemies?

Versus the top four things he says about adtech:

> Adtech is built to undermine the brand value of all the media it uses, because it cares about eyeballs more than media, and it causes negative associations with brands. Consider this: perhaps a $trillion or more has been spent on adtech, and not one brand known to the world has been made by it. (Bob Hoffman, aka the Ad Contrarian, is required reading on this.)

> Adtech wants to be personal. That’s why it’s tracking-based. Though its enthusiasts call it “interest-based,” “relevant” and other harmless-sounding euphemisms, it relies on tracking people. In fact it can’t exist without tracking people. (Note: while all adtech is programmatic, not all programmatic advertising is adtech. In other words, programmatic advertising doesn’t have to be based on tracking people. Same goes for interactive. Programmatic and interactive advertising will both survive the adtech crash.) Adtech spies on people and violates their privacy. By design. Never mind that you and your browser or app are anonymized. The ads are still for your eyeballs, and correlations can be made.

> Adtech is full of fraud and a vector for malware. @ACFou is required reading on this.

> Adtech incentivizes publications to prioritize “content generation” over journalism.


I care to disagree deeply on the notion that "Advertising" is somehow much better than "Adtech".

Note I am not saying "Adtech" is good, there are boundaries.

But notice "it shows a company can afford to advertise", "Advertising makes brands. Nearly all the brands you know were burned into your brain by advertising". Which makes winner takes all, and only big players can afford advertising. Which is bad and second half of 20th century was monopolized by giants that could afford buying all advertising space there was.

"Adtech" already is disrupting big companies monopolies allowing smaller players to be seen in the internet because of democratization of costs. But of course I agree it went wrong, though I don't know how to make it better, because if you would let people select their preferences it would be too much hassle and no one would care.

Maybe tracking-based would be OK if I could have all data on my machine and something like my personal assistant would help me with searching.


I agree with all of this.


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

Search: