skysight-inc/HackerNews huggingface dataset:
Naiive question: Who needs No-GIL when we have asyncio and multiprocessing packages ?

never ever had a problem with GIL in python, always found a workaround just by spinning up ThreadPool or ProcessPool, and used async libraries when needed.

is there any use case of No-GIL which is not solved by multiprocessing ?

I thought Single threaded execution without overhead for concurrency primitives is the best way to high performance computing (as demonstrated by LMAX Disruptor)
That's a fantastic response. And yes, that's exactly how it is. It's safer. For them.
if it ever decides to work, lmao.
Why would it lose traffic? Even Windows Vista knew how to talk to IPv6.
oh, lol. thanks. guess they agreed with me!
for sure. what with people making new flash stuff for the NG flash jams and all.
thank goodness for Ruffle.
So you're claiming it's not possible to produce an iPhone in any other country besides China?

That seems incredibly dubious.

Who forced Apple to manufacturer iPhones in China?

Nobody.
Agreed. But this isn’t just the top-down moderation, no matter how much of demi-god dang is.

My experience is that HN users “moderate” each other, when appropriate, to some degree. I’ve told others they’re over the line and I’ve been told myself, in a respectful manner. This tends to suppress fires early before they become flame wars.

So I think while dang does excellent work, the fact that it’s transparent and most respect that, people voluntarily self-align and help out. Otoh, in places where mods are assholes or automated, people don’t care about the spirit of the rules at all.
And don't get me started on undocumented parts of CLIs, which are unknown unknowns, especially when they hold core parts of the API.

RTFM is usually (not always) a way to gatekeep bad UX.
> But they don't really belong on roads.

You really should come and visit NL for a bit. I'll borrow you a bike so you can experience first hand what it's like when bikes are 'first class citizens'.
true, I guess thats why Ruffle is so popular now
>foldable shipments could reach their highest level ever in the US in Q3 2023.

Yes, people with a bit more disposable income &/or early adopters (there's some overlap there) are going to be less price sensitive and therefore less put off by rising costs elsewhere in their lives. Of course it helps that there are increasingly more foldable options, and more mature designs in them, as time goes by.
You can frame it the different way: Apple has given up improving the freedom of the Chinese people because that is infeasible. But it hasn’t given up hope on the West.
yeah, pretty much.
they're even making new ones, too
I don't quite get your "unpopular opinion".

First, I don't see how the GIL would have much to do with free multithreading. The GIL should not have much observable logical impact on multithreaded _Python_ code. It should not make it more or less susceptible to race conditions. It's only practical impact should be slowness.

Second, your proposed "one GIL per thread" is pretty much the equivalent of the current state of multiprocessing. In that you fork your current interpreter state in an other thread with it's own GIL and start from there. This has been used for decades already, nothing new there. Sharing can be done through queues or shared memory.
> It's simply not "sane multithreading" not being able to run Python (byte)code concurrentltly

Please read my post again. I am advocating a GIL per-thread model with an explicit feature for sharing selected objects. This allows for all cores concurrency, essentially like free threading yet with safeguards. I like to call that a sane way because it builds on decades of research and industry experience of the software engineering community.

> As to the PEP itself: It's optional, with the GIL being enabled by the default.

It's not optional if you build tools and libraries that need be able to run with both gil and no-gil.
Most companies in this world do not operate in China.

Apple made a choice. It's really simple.
I don't think Ruffle is HTML5. something about Web assembly and rust?
Of russian descent and now is the worst time of my life although it wasn’t even easy back then but now is way worse. I got better (smart, fit, educated, healthy) but the world got way worse. Hate, mobbing, injustice everywhere. „Your ancestors are from Russia and you look and speak Russian so you should be ashamed and nice to everybody“. Didn’t experience this stupid crazyness in the past. There is no excuse in being raised in a different country people just want to hate. So yeah compared to that the past was best.
A Tiny Cabin, a Little Island and a Big Change: ‘Am I Crazy?’
US stock listed Businesses have no morals, it’s amazing people somehow talk about them like people, not profit maximizing paperclip engines.
Formatting it with the company as the top-level item would make clear at a glance that you’ve been at places for a lot longer.
Thanks, that's pretty cool for it's time!
But people are not doing cpu bound tasks in native python (performance is a joke), it all comes down to calling a C library that is optimized for compute - what will be the change that GIL brings here?
I wish they'd kept it as a museum. Or some part of it.

It would have been amazing to see as it's was so unique.
I remember scouring those C runtime docs, for every non-reentrant function. It might be what got me in the habit of checking docs when using some API that I know moderately well, just in case there's some important detail I missed before, or something had changed.

Around that time, doing cross-platform C++, I got an early look at Java, with concurrency built in from the start, along with GC and various other nice features that were easier to use than C++, and I "knew" it was going to be huge. (But who knew that the MIS people would take over Java, when it seemed clearly targeted at non-MIS programmers, and now MIS people are stuck with the C++ syntax and verbosity, after coming from 4GLs, etc.)

Then mainstream programmers picked up Python, which, IIRC, originally was an embeddable extension language, which was why it was simple. And for which the GIL made more sense.
Ah one minor critique, you didn’t tell them about the last time the same office that goes after terrorism and money laundering and stuff took time out of their day and busted all these same firms for wage fixing in the ancient days of just over ten years ago in federal court.

That’s at least tangentially germane. :)
Doesn't work. Not lit at night and too small. Besides that they ruin that precious aerodynamic shape and look dorky so nobody uses them.
Someone at Insta, please read this:

- Give me a timeline that shows only the people I follow.
- Give me an "explore" section so I can find new people.
- That's right, exactly like Instagram does it.

I'll use it if you do this. I know I'm not alone.
I had one a long time ago. It was scratchier than my worst fountain pen, very unpleasant. Ink delivery was uneven, very heavy right after dipping and then tapering off quickly.
Playdate. Pre-Order Now
Huh wow! I did not know that! I think TypeScript always kept this hidden from me, but it makes sense. Another perk of `await` is that it collapses all promises into their final value, regardless of how many nested pending promises are expressed:

const foo = await Promise.resolve(Promise.resolve("abc"))

console.log(foo.length) // 3
It's called a velomobile. https://www.velomobiel.nl/ (Dutch)
Yeah, it's a strange thing for so many people in the right positions to have such a high degree of confidence in the problem and solution, have studies to back it up, and yet be essentially powerless in the face of cultural inertia and the weight of pre-existing infrastructure... I've no idea how anyone can make progress in that scenario. I guess some things can only change extremely slowly.
I guess the one to step in is Ruffle
well, i might make that determination for a laptop used for school, but surely not for a thing to play computer games or watch tv. if that breaks there is unlikely to be a new one for at least a year.
The article is specifically talking about velomobiles: fully enclosed recumbent trikes.

They're distinctly not better than a regular e-bike:

* Where do you park this monstrosity? Are you really gonna hop the curb chain it a post? If you're a cyclist, why would give up the amazing parking opportunities that regular bikes provide?

* Protected from the rain, sure, but hot as hell inside. Every cyclist knows that rain gear is just bad as the rain. You're either soaked from your own sweat or nature.

* Visibility, both for you and of you, is nil. Covered by nearly every other comment here.

* Maintenance looks like hell. Bike shop people will hate you because it won't even fit through the door. Or you could DIY at home, regularly removing the fairing for trivial jobs like brake pads or chain cleaning.

* The speeds mentioned in the article, 40-50kph, aren't even particularly notable for e-motorcycles (class III e-bikes). Long ago, recumbents had an advantage over acoustic bikes but times have very much changed.
> prison for punishment, not rehab.

Prisons are already an idealistic institution, in the interest of being more humane. The alternative before was capital punishment, work camps, or slavery (including in war). That's not to say prisons are ok in their current state, or can't be improvement. I just don't think rehab was historically the primary intent.
Hey Tudor,

I really like the concept and I think it could be the future of corporate access in a way, but I'm trying to look at this through a security lens. I think my main concern with this would be around potential unauthorized access and the impact that might have on an organization. If my target market for this is enterprise clients, I would go to great lengths to ensure that the only person who could access this virtual phone, is the user that's intended to access it.

I'll try to keep this short, but here are some ideas I think would really boost adoption and practicality:

1. IP Whitelisting
In the portal, users should be able to add a VPN gateway IP or users home IP to an allowlist at the very least.

2. Zero Trust integration
The goal here is to be able to enforce device/user identity restrictions in a way that only certain devices/users have access to their virtual smartphone.

3. Management Plane
With the above in mind, it might make sense to have IT/Management configure the whitelisting/user certificates for ZTNA in a management portal, so there is separation of duties here.

With the above feature requests in place, I would then add a 3rd line item on the pricing page for "Enterprise Pricing" with a "Contact us for a quote" option.

For my use case, and I think others may have a similar use case, I would like to use this for my MFA applications and various other internal applications, but if there's no way to restrict access to an individual user, this is essentially a huge security risk from a business standpoint.

Hope you find this useful!
Why do mail providers work against your interests by blocking outgoing spam? Because in aggregate it's beneficial to users if external parties can trust the more.
Hehe, I know what that reference is to.

https://microship.com/behemoth/
Yeah, I didn't mean that as a criticism, it's probably impossible to account for everything, and what is off in one context might be fine in another. Filtering out images that contain messed up objects and body parts still hugely reduces the amount of images a human has to look at, so that's valuable either way.

I have no clue about SD other than toying with it, so forgive if this is naive, but do you have any plans to maybe feed this back into the generation, e.g. jiggle the the seed or other parameters around a little until no fingers are malformed?
> is there any use case of No-GIL which is not solved by multiprocessing ?

Anything that benefits from both parallelism and replacing IPC overhead with shared data between parallel tasks.
No-GIL mode is optional, and libraries will be marked "no-GIL compatible" and the ecosystem will gradually support more and more of these.

No one's flipping a switch and breaking mountains of sketchy C.
This would be a great time for one of big guys to write a big check to the BBC for full rights to their archives.
Not sure why this is downvoted, I never had much issues with the GIL as well.

Multiprocessing does the parallel computation pretty well as long as the granularity is not too small. When smaller chunks are needed most of the time that's something better done from an extension.
FDIC can surcharge remaining banks through their assessments (FDIC insurance premiums). It’s a broadly distributed tax on bank customers in aggregate. So long as US banking exists, there will be banks to charge to keep the fund solvent.

They just need to kick the can long enough to give impairments caused by rapid rate increases time to burn off.
Hacker News is interactive Teletext.
Embedded QR code videos for software distribution
Compiling KolibriOS from qr codes embedded in a video and launching the OS in qemu.
Totally stupid Q: Can we harvest any of this energy>?
it looks all the files are unmodified, no nothing seems ported
they're probably using a ruffle implementation
Frankly, and with 20 years of hindsight, Bin Laden won.

He has caused anti-Muslim feeling in the West, and demonstrated our weakness by badly losing the wars in Afghanistan and creating a mess in Iraq and Syria.

He hated the US because of their friendliness with Israel and Saudi Arabia. Israel is more repressive towards the Palestinians, while Saudi Arabia is now also friendly with China who keep their Muslims in concentration camps.

So perhaps he won against the USA, but has failed in a more multi-polar world he created?
I think this is the point the OP is making - one that's been made for years: if "everyone" used Tor, simply using Tor wouldn't be a useful indicator.
I think there are a lot of Android devices that fill that niche. I've owned several.
German science organisations express concern for academic freedom in Israel
Ask HN: Any Physics concepts to learn before watching Oppenheimer?
Asking for a friend :)
During every GPT-4 request, eight of these[0] cards are utilized to 100%. EUV wafers are borderline black magic, only so many can be produced in a day.

[0] https://www.newegg.com/p/1FT-0004-00814
Can you talk a little about the legalisms -Here's a few:

How did you get an Indial group, what T&C did you sign up to?

Does host know you terminate and originate phone from this service?

Do you have to make a statutory declaration about EMS geolocation?

What's your STIR/SHAKEN/SPAMACT requirements?

Do you have KYC and AML licencing?

Are you actually a registered telco, and have common carrier licencing?

Do you have a warrant canary?

I'm not trying to white-ant you. If you go into widespread use, I'm sure these will be asked. Different economies have different regulators and rules.
Some of the use cases advocating for nogil come from the AI/ML group of library builders, stating a need for free threading concurrency.
Entropy (for data science) Clearly Explained (YouTube) [video]
Hah, that is why it was so bad on my 480px wide screen
It's only about performance. asyncio is still inherently single-threaded, and hence also single core. multiprocessing is multi-core and hence better for performance, but each process is relatively heavy and there's additional overhead to shared memory. GIL multi-threading is both single-core and difficult to use correctly.

No-GIL multi-threading is multi-core, though difficult to use. I don't know the Python implementation but shared memory should be faster than using multiprocessing.

That said, when designing a system from scratch, I completely agree with you that for almost almost almost all Python use cases, threads should never be touched and asyncio/multiprocessing is the way to go instead. Most Python programs that need fast multi-threading instead should not have been written in Python. Still, we're here now and people did write CPU-intensive code in Python for one reason or another, so no-GIL is practical.

In these threads, I also always see a lot of people who simply aren't aware of asyncio/multiprocessing. I assume these are also a significant share of people asking for no-GIL, though probably not the ones pushing the change in the committee.
The Power of Junior Engineers in a Software Engineering Team
Chumship
https://en.wiktionary.org/wiki/IMHO

https://en.wiktionary.org/wiki/track#English
but it would incur overhead of concurrency control: mutex, locks, semaphores.

I dont believe python will ever have atomic operations, even if it had - they still incur significant overhead for concurrency control.

sharing state between threads is such a narow niche use case, this pattern is practically solved by memcached/redis for larger scale python based systems
Ask HN: Is it possible to get a graphically smooth Windows VM?
I've been trying with little avail to get a Windows 10 VM running on Windows 10 which isn't graphically jittery. I plan to use this VM to download random games without having to worry about potential malware. I've tried VBox, and native Hyper-V Manager, with the latter being slightly better, but still far from native performance. I expect some performance degradation, but I don't have a good grasp on what should be attainable. I have a Ryzen 5800X3D, and a decently powerful GPU, but it runs like the hardware is 15 years old. Looking for advice on what I can do here; I've tried following pretty much every guide on the first page of Google, which all recommend the same things: enable virtualization, increase #virtual cpus, decrease #virtual cpus, increase memory, change memory to fixed instead of dynamic, get rid of bloatware, defragment, etc.
New dinosaur species discovered in Thailand
> notorious spyware vendor

So, like, Windows 10?
Solar Panels
Except for the articles and comments that are flagged and removed. So the "counterculture" is only the opinions everyone mostly agrees with.
Great, thanks!

She wants to work as a first priority, but staying in the US longer than 6 months would be convenient.
Just when I thought Neumorphism is dead.
It does, but you have to opt into them.
If they don’t continue to iterate on the product it’s gonna die. I see no reason to post on Threads, it’s like Twitter but only for my friends, and no hashtags.
You may have thought you understood it, but you don’t. Lower numbers in engineering levels are not better. That’s why the original post was confusing.
Well someone has to say it so I might as well: Is this going to be another Python 2 -> 3 cat herding exercise again?

I suppose the need to run your app in "no-GIL" mode is less than needing to jump from 2.7 to 3.
I hope you are right. I fear it will turn out rather painful (I have lived through 10 years of Java multithreading, I don't miss it)

* update: I have also lived through 10 years of Python 2-3. It was not pretty.
What kind of business needs a lab like that? Seems really cyberpunk.
It was seriously, seriously impressive to live in that environment.

I wound up finding mould on my clothes, on my fridge, inside my Jeep, etc. etc. It was extremely hard, so after a month I drove north into Mali where the rainy season was basically over :)

I saw rain staggeringly heavy more times than I can count on the West Coast of Africa - it was truly incredible. Now that I think about it, I'm not sure I ever got it on film.
In GIL Python, you might think you could speed something up by multithreading, but it turns out you can't. The GIL will just run it serially anyways.

No-GIL means it is possible to run things in parallel (without resorting to fancy C extensions).
I was at Millhaven, a maximum security institution in Ontario, a few years ago. The prisoners told me that only 10 of them could attend university courses at a time. The librarian confirmed it.
thanks for sharing though. i never would have thought about that as late as the 60s, the Bic roller ball style pen still wasn't around yet. I guess it took NASA trying to write in space for that to be developed. And who says the moon landings weren't worth it?!
Assessment of production of hydrogen from natural subsurface accumulations
Terrible, FUD-heavy, thin reporting begs the question:

Are we talking independent biohackers, low budget quasi-startups, and/or terrorism?

The presumptive demonization and loaded language doesn't do justice to whether there was truly harmful negligence or just low-budget sloppiness. Although I thoroughly dislike animal testing, I doubt it can be completely eliminated.
The Price of a Woman
I hope this won't make Python's dependency hell even worse, but I'm not hopeful.
I was reacting to the criticisms coming from Professor Klepper from Columbia Business School, who had previously told Insider that Musk's Twitter takeover is "a case study of failed leadership."

In hindsight, your response exposes my failure to be clear.

I didn't clarify what i was reacting to, and by referencing "Harvard" i confused the reader about the target of my angst, when in actuality, the the headline of the post "a case study of failed leadership" was directing my focus.
I would argue that if you have large concurrency and shared complex state - you better off use kafka and redis/memcached as a shared state - and design proper fan-out.

This design scales much better for systems that will eventually overgrow one big machine. the No-GIL pytohn will be of no use, when you need to deploy your app across 100s machines.

I understand people want to take advantage of all cores etc, but at large scale - you will eventually need to split computation across machines and will resort to in-memory cache/queue anyways - so better just architect your system since day0
alas... this is very true. I still think a well maintained CI system which actively prunes flaky tests can be a great productivity booster for the team. Doing so does require serious and continued investment though, which most teams aren't willing to make.
There is no such thing as an identical period. It may seem identical when you compare them casually but over time the little differences add up and sooner or later the two will intersect, unless either one of the two moves to a different orbit or de-orbits. Satellite orbits are not locked together by magic, they are all independent of each other.
Fully agree. People put far too much emphasis & expectations on the "free" part in "free multithreading".
Yup, I have no problem with the author or the work they do. I think it's cool. And there's still value in the article.

My only point is it slightly undermines this article per se. Claiming that something is hard to learn and immediately providing a thing that can teach it well is usually marketing. And that's all ok :).
And cars never take a sudden unpredictable turn off the road?
Have you ever bought a packaged/frozen meal at the grocery store?

You know, if you buy the raw ingredients, you end up paying a lot less, and can even pick ingredients and spices you like more than the prepackaged mixes. The ingredients are objectively superior and you can pick a diet that fills your nutritional needs without waste or leftovers. If you meal prep, it doesn't even take significantly more time than frozen meals too.

Some people like the the certainty of knowing there is a pizza in their freezer they can toss in the oven and eat in 10 minutes, even though it would be objectively tastier, healthier, and cheaper to get into the habit of making their own.
> but it would incur overhead of concurrency control: mutex, locks, semaphores.

Yes, but there are plenty of problems where that is more development overhead, but less runtime overhead than IPC.
it's not "Do as I say because I am the boss", it is "stop your behavior because it is not appropriate". children need to have boundaries. if those boundaries are crossed there must be consequences. when my kids argue over who gets to use the computer, i take the computer away until they calm down and settle their disagreement.