skysight-inc/HackerNews huggingface dataset:
> Without the very last point, forced preemption, they would indeed be cooperative because not calling any blocking method would make them non-cooperative

If user code cannot possibly know whether an operation blocks or not, then it cannot "cooperate."

> As long as all the functions you call are suspendable, you equally have no idea which one will actually suspend.

First, this is true hypothetically but never in practice. Consider that if code really didn't care about blocking, then why not colour everything in the blocking colour? The answer is that in the coloured mode, compilation and cost of the two colours are very different.

Second, and more importantly, the reason that there are two colours is exactly to enable a cooperative style. While a "blocking" routine may or may not block, a non-blocking one never does and that is the crucial difference. With cooperative multi-tasking the default mode is that of a critical section -- there is no scheduling point unless you explicitly know in advance there might be one and where. With preemptive concurrency the default is the opposite: yielding may happen at any time unless you explicitly enter a critical section. This results in very different coding styles.

Anyway, we're arguing over definitions, so you may want to consult Wikipedia's definitions [1] [2].

[1]: https://en.wikipedia.org/wiki/Cooperative_multitasking

[2]: https://en.wikipedia.org/wiki/Preemption_(computing)#PREEMPT...
> What such a comparison would prove?

Prove? No, what can be learned. If you want to fix healthcare, you look at countries with working healthcare systems and see what you can copy. Same here.

And there's plenty of countries with black populations even outside Africa - the France and South Africa you mentioned, then there's also the UK, Sweden, half a million in Germany, a million in Spain, Jamaica, and I'm going to guess a large number of South American. 1.4 million in Mexico, 300 thousand in India (https://en.wikipedia.org/wiki/Siddi), and I'm sure I missed plenty.

It's the height of US exceptionalist hubris to think nothing can be learned from all these countries.
A funny coincidence: The "Clean Network" was literally the exact same as "净网" campaigns in China which CCP unleash fierce crackdown on media and Internet to purge unwelcome content.

Or is it a name to troll CCP?
Yeah, I would note that not only is the Bitwarden code Open Source (if you want to self host), the commercial service has a free account option, and the pay options are about $1 per month per person:

https://bitwarden.com/pricing/
I recently saw another site that tries to offset its carbon footprint: https://mynoise.net/carbonFootprintCompensation.php

I hope this becomes more prevalent at least for paid services.
A nice convention in python projects is that you can use setup.cfg or pyproject.toml for many tools and they each just use their particular section.
According to Website Carbon Calculator, each page view produces 2.22g of CO₂. I think it would be lower if you use an ad blocker.

https://www.websitecarbon.com/website/bbc-com-future-article...
I think trying to emulate a built in browser notification is the wrong way to go. I wouldn't have got as concerned if the popup looked more like a web page overlay, with wording along the lines of:

"Hi we're from Browser-update.org (clickable), and this site has asked us to check your browser version. Your browser version is out of date, and should be upgraded. Please go to your [settings] menu to update, or visit [us] for more information."

Of course, feel free to totally ignore my suggestions - it's a free world. ;)
Just curious, why do you assume it's the "PRC China" that's attacking your boxes instead of just some botnets happened to have tons of Chinese IPs?
I've always wondered, if I compile an application and don't specify the architecture as explicitly having AVX, just say x86 64bit, will alternate code paths be in the binary for processors with AVX? Or alternatively, if I do specify AVX support on the command line, then what happens if the binary runs on a CPU without AVX? The reason I ask is I use commercial tools for circuit simulation, and they run on a wide range of CPU architectures, but it would be a shame if thst CPU compatability comes at a performance hit when run on a more capable CPU architecture
What's the Carbon Footprint of an Email?
WARNING WARNING WARNING

FDA has issued a warning about hand sanitisers:
The FDA’s ongoing testing has found methanol contamination in hand sanitizer products ...

The FDA first warned about some of the methanol-containing hand sanitizers being sold in retail stores and online in June. The agency issued a further warning earlier this month about an increasing number of adverse events, including blindness, cardiac effects, effects on the central nervous system, and hospitalizations and death, primarily reported to poison control centers and state departments of health. The agency continues to see these figures rise.

In most cases, methanol does not appear on the product label. However, methanol is not an acceptable ingredient in any drug, including hand sanitizer, even if methanol is listed as an ingredient on the product label. The FDA’s ongoing testing has found methanol contamination in hand sanitizer products ranging from 1% to 80%.

https://www.fda.gov/news-events/press-announcements/coronavi... [Includes links to list of specific products.]

The US Food and Drug Administration has been repeatedly warning about methanol in some hand sanitizers distributed in the United States. Unlike ethanol -- the alcohol usually used to make hand sanitizer -- methanol is toxic and can even poison people through their skin. The FDA has warned against more than 100 hand sanitizer products.

In July, the FDA continued to warn consumers and health care workers not to use hand sanitizers containing methanol or wood alcohol (aka denatured alcohol).

https://edition.cnn.com/2020/08/05/health/hand-sanitizer-cdc...
Another option would be for Github etc to sort dotfiles to the bottom of the listing.
Except Jio's parent company is an extremely profitable entity in a sector with certain demand and deep rooted relationships with the government
Sending a short email is estimated to release 4g CO2:

https://phys.org/news/2015-11-carbon-footprint-email.html
This happens often in Node.js where you can put the configuration of some tools (e.g. babel, jest) inside package.json
The way RAM is managed in Java and in C is very different; neither is better than the other, but it's different, and you don't seem to understand the Java model. In that model, you give an application a maximum heap, which the program will use regardless of the minimum it needs to improve its performance. You want it to use less RAM? Just tell it to. Having said that, very recently Java has started to return RAM to the OS if it's just sitting idle. See https://malloc.se/blog/zgc-softmaxheapsize
Unfortunately there is a clock penalty to using AVX-512 and it is only available on a small part of the chips that Intel ships (For the longest time it was only available on Xeons). AMD does not support AVX-512 yet. As a result no one really had the incentive to add support for it outside HPC where people have control of both the workload and the hardware it runs on. To further complicate matters there are multiple variants of AVX-512 and different chip families ship with different subset of the variants.

In short Intel could not have done more to discourage use of AVX-512 if they tried.
Renewable energy to power boats?! It’ll never catch on
Interesting discussion.

If it's about "cleaning up" before committing, a single script that moves files back and forth from project root to a .config path might also be an option...
Well, there is the question of whether we will ever have the possibility of developing this technology again.

I see no immediate risks to life on Earth, and considering we're quite hard to get rid of, I suspect the human race will be here for quite some time yet. The ability to do a large-scale settlement on other planetary bodies on the other hand, might go away considerably sooner, and who knows if/when we will be able to do it again if we ever end up in a situation where it might be needed.

Regardless, there are other reasons, as you say. For one, space-based manufacturing would allow us to increase the standard of living on Earth without having to worry about things like CO2 levels and pollution. If we start commercializing space then I expect colonization to follow as a natural result of that and we won't have to worry about the more philosophical side.
> Only one country – the US – has a defense strategy calling for it to be the “preeminent military power in the world,” with “favorable regional balances of power in the Indo-Pacific, Europe, the Middle East, and the Western Hemisphere.”

Did Russia cease to exist? What about Iran and Turkey (thankfully not as successful)?
The trouble there is that if you freeze you can't unfreeze. A project needs the equivalent of both gemfile and gemfile.lock (unless you're using a system like maven that got things right the first time), but there's no standard way of having both of them in Python.
In this case France is not the exception. The question could be stated “how is this solved in places other than the US and New Zealand?”

Direct to consumer pharmaceutical ads are the global exception.

https://en.wikipedia.org/wiki/Direct-to-consumer_advertising
It gets even better.

The base of the research was deemed to be of no significant military or economic value by the USSR so it was published internationally.

https://en.wikipedia.org/wiki/Petr_Ufimtsev#The_father_of_st...
You can also hide malicious code by putting it in a subdirectory, so I don't agree with their concern.
People use social media to talk to their friends more than to strangers; news at 10.
I don't understand why we celebrate that. Shouldn't it be the other way around? I thought there was a consensus that loc are a bad metric at the best of times.

Edit: It's commits, not lines of code. Now I feel dumb.
Wondered the same. I'm also curious if Apple's Accelerate framework uses AVX underneath when available. Sounds like an OK compromise if it's the case: maybe the compiler will miss a few opportunities to optimize some of your loops, but if you are aware of Accelerate you will use it in your audio/video processing anyway, which should be a win.
I kind of wish I didn't learn any advanced physics (I was reading Landau and Lifshitz when I was 14) in high school. It was constantly distracting to know how to derive everything (which meant skipping exercises), which combined with at least having many of the symptoms of ADHD, meant I never did any work and underperformed in every exam bar one.

That reading lead to me going up from the lowest math set to the top one but I wonder if I am over-read but not intelligent enough to have been allowed to study it on the natural progression. I was the only student in my class to display (publicly) any intuition or passion but I probably got some of the worst results.
> you'll find many examples

For example: [0]

> Any idea why this one in particular made you feel that way?

Perhaps there's something to do with the fame of the person?

It's difficult to say but it appears that the implicit HN 'criteria' for this is in computer science is to at least be famous enough to be an ACM Turing Award winner. Maybe this is why the reception to the death of another fellow computer scientist and engineer was low. [0]

Nevertheless, they are both worthy of the HN black bar to recognise their achievements to computer science. But I would expect to see a black bar for Frances Allen's passing but unfortunately not for Bill English.

[0] https://news.ycombinator.com/item?id=24032820
No, generally speaking, waves pass underneath a floating object in practically all circumstances. You may feel like there’s a forward surge when a wave comes in from behind, but all forward momentum gained while sliding down the wave is lost once the wave peak has overtaken you and you’re climbing back up the wave. Basically, waves will induce a circular motion on a floating object.

There’s ways to trick and gain forward speed from waves, by basically picking a wave that’s high enough and continually sliding down on the front - Surfers for example. But that only works if your object is substantially smaller than the wave in question - which is sort of impossible for ships.
I spent a lovely afternoon there in '16 doing just that and concur about the odd vibe / fascinating but stagnated promise.
And that’s why there are no dodos.
None of that matters as long as Intel can't ship their 10nm and 7nm nodes. This guy doesn't seem to have an opinion on what's wrong at the fabs but that is the big life or death question for Intel right now.
I have somewhat similar experience. I have 16GB of RAM, 12 CPU.

You can reduce the number of unicorn workers in `config/gitlab.rb`.
I live in Wisconsin and I applied to work there twice after finishing bachelor's degree about 8 years ago. Both times I was rejected. I was thinking by working at Epic I would be solving real-world problem and helping humanity so I was excited. The way I was treated says a lot about their culture and how much they value their employees. They are a terrible company inside and outside.
It is called The Little JavaScripter

https://www.crockford.com/little.html

Javascript is pretty much scheme or lisp.
I guess it's good for distribution. I live in Australia and I'm more inclined to purchase these books since I get free international shipping via Prime.

But being the _only_ distribution channel? Probably not the best!
One can think of an explosion causing a roughly spherical shockwave. For a ground level explosion there's a relatively narrow "band" of that shockwave that travels along the surface of the earth damaging buildings and other stuff, the rest is either directed upwards, or as you say, to create a crater (and a lot of the "cratering energy" will be reflected upwards towards the sky as well).

A ground level explosion also means that nearby buildings and geography (hills etc.) shield things behind them, reducing the destructive effect.

With an airburst you have a more even distribution of destructive energy over a larger area.
What they don't tell you about event sourcing
caveats of event sourcing:
https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-about-event-sourcing-6afc23c69e9a
I have created a small tool that automatically mirrors public repos from GitLab to GitHub: https://github.com/grdl/gitlab-mirror-maker

Meaning, a repo can be hosted on GL but still benefit from better exposure and disoverability of GH.
Well, yeah. But then any message would work. The person I was responding to said you should write SOS or HELP instead of the international air codes for help (X or V), which any pilot is almost certain to know.
First of all, reference counting is a GC algorithm. Mark and sweep is an example of a tracing GC algorithm, which is usually faster than reference counting, but it is true that Rust normally does not rely on any GC, static or dynamic at all, but on manual memory management, assisted by the type system.

The thing is that most of what you said about Rust is true of C++ as well. It really isn't hard to write a good fast program in C++ once you know it. The problem -- as those of us, like me, who have been writing in low-level languages for a couple of decades now know -- is that low-level programs in any low level language are necessarily rigid. Changing something in one place often has a much bigger impact on the codebase than in a high level language, making the overall cost much higher.

Low level languages have their place, but they won't replace high-level ones for "ordinary" application development. People will only pay the price when that extra 5% is important or when running in a constrained environment. This is the same equation that's been around for twenty years and there's no sign it is changing.
For nuclear war planners, fallout is probably a feature.
for i in *
Francois is a smart guy, but there's a range of opinions on the matters he raises. We argue a good deal on Twitter ("constructive confrontation" between former Intel Principal Engineers :-) ). He put together the video pretty quickly so don't dismiss it just for lack of polish.

Personally, I argue with him a lot on AVX-512. I think AVX-512 is a Good Thing (or will be shortly - the first instantiation in Skylake Server - SKX - isn't great).

The biggest meta-problem with AVX-512 is that due to process issues, the pause button got hit just as it appeared in a server-only, 'first cut' form. AVX2 had downclocking issues when it first appeared too - but these were rapidly mitigated and forgotten.

I personally feel that SIMD is underutilized in general purpose workloads (partly due to Intel's fecklessness in promoting SIMD - including gratuitous fragmentation - e.g. a new Comet Lake machine with Pentium branding doesn't even suport AVX2 and has it fused off). Daniel Lemire and I built simdjson (https://github.com/lemire/simdjson) to show the power of SIMD in a non-traditional domain, and a lot of the benefits of Hyperscan (https://github.com/intel/hyperscan) were also due to SIMD. Notably, both use SIMD in a range of ways that aren't necessarily all that amenable to the whole idea of "just do it all on an accelerator/GPU" - choppy mixes of SIMD and GPR-based computing. Not everything looks like matrix multplication, or AI (but I repeat myself :-) ).

AVX-512 is a combination of fascinating and frustrating. I enthuse about recent developments on my blog (https://branchfree.org/2019/05/29/why-ice-lake-is-important-...) so I won't repeat why it's so interesting, but the learning curve is steep and there's plenty of frustrations and hidden traps. Intel collectively tends to be more interested in Magic Fixes (autovec) and Special Libraries for Important Benchmarks rather than building first-rate material to improve the general level of expertise with SIMD programming (one of my perpetual complaints).

You more or less have to teach yourself and feel your way through the process of getting good at SIMD. That being said, the benefits are often huge - not only because SIMD is fast, but because you can do fundamentally different things that you can't do quickly in GPR ("General Purpose Register") land (look, for example, at everyone's favorite instruction PSHUFB - you can't do the equivalent on a GPR without going to memory).
Yes. AGMR dues was exactly that, which had put Vodafone-Idea to the being bankrupt.
Not the whole story. The link provides more details (https://www.bbc.com/future/article/20200131-why-and-how-does...)

It involves counting carbon from journalists' travel etc. So a full tally (which is good but isn't just about literal pages loaded)

I also wonder how much JS + adverts have to offer as part of that carbon load.
I'm all for legalization and harm reduction, but declaring people enemies simply for disagreeing with you is stifling the conversation.

Shutting down the conversation locks in the status quo.
Parent comment claims you can use determinant to see if a reflection is occurring, I disagreed.

I don't know where you thought I expected volume to change if I rotate something.
Apartment life is absolutely terrible. Noisy neighbors, inappropriate management, etc. In my opinion apartments are very much for those who cannot afford homes. When you own your own property you have so much more freedom.
I think a good fix would be hiding dotfiles on repository view like on GitHub. "ls" hides dotfiles from you by default, so why shouldn't GitHub. You can always add a checkbox "Show hidden files" or instead of completely hiding them put them in an accordion (12 hidden files) that people can click to reveal them.
TikTok to open $500m data centre in Ireland
Yes Cronyism will help them for sure. Lets see
Interesting that the two slightly larger ships beside the crater appear to be afloat.
Not going to downvote, but Reliance is equally "imperialist" in terms of where and how it can express market dominance.

Imperialism is a function of nation-states, not corporations.

Most nations have "national champion" corporations that work with the nation's government to promote/influence other nations. US/Boeing, EU/Airbus, France/Bull, etc.

So calling Bezos/Zuckerberg "imperialist" while Pichai/Nadella are somehow not is ridiculous. These are CEOs of corporations. All corporations are "imperialist" in that they are attempting to gain "market" against their competitors and they will co-opt their associated nation-state to help that.

Corporations are amoral by definition.
The forced preemption mechanism that uses VM handshakes doesn't care about locks, so it could hypothetically preempt and kill the thread inside the long computation. If you want to insert explicit interruption checks, that's another matter, and it doesn't require the forced preemption mechanism at all.
I feel like I remember a Gilligan's Island episode where they try to write SOS on the beach and it ends up messed up somehow and ignored, though I can't find anything with a quick search and it's possible that my memory from childhood is faulty.
Very true, as St. Matthew has written

"But when you give to the needy, do not let your left hand know what your right hand is doing"

A lot of charity is not for the sake of helping someone, but for the sake of making oneself to look noble, get publicity, or earn money (like those "buy X, then we will donate Y" promos).

Personally I don't have such bad feelings about that, as it is a win-win situation very often - those who need get something eventually. I can tolerate a little bit of hypocrisy in that case.
Streams as I've seen them used in other languages are possibly-terminating, d* is a stream of the single value d and D -> D* is flattening the stream of streams.
I depends on the compiler you use and the approaches it has to optional CPU features and the options you pass to the compiler.

For example, with GCC you can set the baseline CPU features. You can also use function multi-versioning to provide faster functions for CPUs with newer features.

https://lwn.net/Articles/691932/
Answer is generally no; you have to compile something with specific flags for a given architecture, and you will normally only get one path. There may be exceptions for some libraries which may do clever stuff, but generally you pick your level of machine support (usually low) and live with it.

Note that there are many new machines (Atoms and low-brand stuff like "Pentium" branded CPUs - even recent ones based on Comet Lake) which don't have anything beyond SSE4.x). IIRC they don't even have BMI/BMI2 which is a huge pain.
> the scientific approach is different -- it's all about finding patterns that do repeat and making predictions

Sure, but if you're scientifically looking to answer "where and when will the sun rise" you're only going to collect enough variables to answer that question, and within an acceptable margin of error, right? If you can measure with greater accuracy and collect more data, then you would probably realize that every sunrise is not strictly identical.

We're splitting hairs at this point but I wonder if the comment I replied to that stated that "it has never happened before and will never happen again" can't be argued to be actually true. In a philosophical sense it's more obvious, but in a scientific sense, the more precision you get in your analysis of a sunrise, the more data you would get that differentiates it from other sunrises, no? After all, our solar system isn't closed and constant and there are minor changes not only in smaller factors like weather on Earth, but also larger factors like the orbit of the earth and the drift of the different planetary bodies.