skysight-inc/HackerNews huggingface dataset:
Virtual threads do not do it voluntarily. They have no knowledge or control over where they might yield. Without forced preemption, I guess you can say that as long as they don't call into the JDK in any way (including e.g. throwing exceptions) or any third-party library then they shouldn't normally expect to yield, but I don't count calling any code you haven't personally written "voluntarily yielding".

We call them preemptive with or without forced preemption -- in line, I think, with the definitions on Wikipedia -- but whatever you choose call them, the concurrency programming style is the same as that with threads today or Go's goroutines, and is different from the style of C#/JS's async/await, Kotlin's coroutines, or more explicit async code, all of which result in user code relying on knowing where yield points (possibly) are (i.e. "critical section" by default). BTW, even with OS threads, when you run transaction-handling code, as opposed to long-running computation, time-sharing preemption is the exception rather than the rule.
Interesting, thanks. I guess I didn't consider it because I've never deleted a S3 bucket. We've got a few S3 buckets used in that way, I'll make sure our guys know never to delete them.
Stealing Accounts with an IMG Tag
Our World in Data: Suicide
I tested it and it seems to do validation before access.

The lib doesn't do double keys properly though, and returns the first result instead of the last. If you don't scan to the end each time at look-up and do no expensive hash map-backed tree I understand why it is faster at parsing ...
Found another article with more numbers: "The ship’s “independent multi-engine technology at minimum 3000hp drive shaft sea class” is combined with a wave energy device that’s capable of generating up to 300kw/h of energy, Salvador explains." https://news.mongabay.com/2020/04/a-wave-powered-ferry-aims-...
Men Are Getting Cosmetic Limb-Lengthening Surgery – InsideHook
If you pay for a service there's every incentive to mine your data - you proved you have the money by paying for a service, thus your data is much more valuable comparing to Joe Schmuck who doesn't pay.
In the UK you might well be in prison for five years for refusing to hand over the keys.

https://www.schneier.com/blog/archives/2007/10/uk_police_can...

Not sure what the situation is now.
Yeah, apparently it's a known vector:
https://hackerone.com/reports/121461
I love articles that marry prose and interactive simulations to make a point.
I disagree with regards to _human readable_ content.
We put "README"'s in the project root because it's configuration for most git repo viewer's e.g. GitHub.
If GitHub didn't have this auto nice formatting, I probably wouldn't add it, preferring a docs dir (for the general case).
Licenses is awkward, it's kinda config too really
cheers, TIL :)
Can't you build and push via CI?
> Led by a minority group

Whom did they lead? That's the question here. You're conveniently forgetting millions of protestors and several years of political conflict.

There is no parallel between the removal of Mosaddegh in 53 and the revolution in 79, because the former was orchestrated by Western powers while the latter was pressed by a groundswell of support within the nation, especially among students.

The fact that the leaders turned out to be bad has nothing to do with the way that they came to power in the first place.
Ask HN: Are you planning to leave big cities?
I know couple of developers who have already left. They moved to lower cost cities/places with better housing etc. I'm just wondering if this is a bigger trend. What's the point of staying in big cities if most people are now working from home, more focused on their families while spending more time doing outdoor activities instead of going to malls, bars etc.
That article could definitely use more pictures of fungi. Just for the beauty of them. Missed opportunity. :)
u r funny
So, to get more non whites and women we need to slash wages? What an awful article.
If only everyone were using IPv6... but we're talking about IPv4 here.
How to use AI to find bugs
I have a rule of never clicking on a techrights link, and it serves me well.
He's a great guy to work with. Also, in addition to being very efficient, his code (and papers) are also quite readable.
> Given that Python 3 has been around for 12 years now, and still doesn't have universal adoption, I kinda doubt this is going to be near as bad a migration as that was.

Given that .net is much more entrenched than Python was 12 years ago, I think it going to take a lot longer! Frameworks like WebForms and WCF will not be ported, so projects depending on these will require massive rewrites. This a lot more work than fixing string encodings and putting parentheses after "print".
yo, why bother putting footnote in like that? Just link it directly...
So what happens when you need to deal with java.time and Joda Time in the same class (e.g. because Joda was part of your public API but you're migrating to Java time). Fully qualified names everywhere, when it would be nicer to have a construct like:

import org.joda.time.Instant as JodaInstant;

The rest of the weirdness is to make it look like JS destructuring
Your script can have the allowlist so you don't have to fiddle with udev everytime you introduce or retire USB-devices.
You do have to be careful and stop when symptoms occur especially in the beginning but I believe the issue can be avoided. The key is to stay relaxed and focus on minimizing mistakes rather than trying to type very fast from the get-go. Typing with this system is actually not that different from playing a console game.
Why does every card, on average, need to be ruffled in order for the dev to be randomized?
Original paper Ostrich eggshell bead strontium isotopes reveal persistent macroscale social networking across late Quaternary southern Africa:

> Hunter-gatherers like the Ju/’hoãnsi (!Kung) San use exchange networks to dampen subsistence and reproductive risks, but almost nothing is known of how, when, and why such practices emerged. Strontium isotope analysis of one preferred San exchange item, ostrich eggshell beads, from highland Lesotho shows that since the late Middle Stone Age ∼33 ka, such networks connected ecologically complementary regions over minimal distances of several hundred kilometers. Rapidly changing environmental conditions during Marine Isotope Stage 3 (∼59 to 25 ka) likely placed a premium on developing effective means of mitigating subsistence and demographic risks, with ostrich eggshell beads providing a uniform medium of personal decoration and exchange highly suitable for binding together extended open social networks.

[1] https://www.pnas.org/content/117/12/6453
The 100-Year History of Self-Driving Cars
Seems a good opportunity to link to this again:

http://czep.net/weblog/52cards.html
Literary Machines (1987) [pdf]
Why the Obsession with Hydroxychloroquine?
I'm not saying that the status quo is better than all imaginable alternatives. I'm saying it's better than the alternatives that are effective and widely available right now.

In my view, the status quo of ad funding is very annoying and somewhat harmful, but it is far less harmful than the app store model, which is pure oppression.

That's why I tend to be sceptical of any new scheme that once again puts someone in a gatekeeper role.

With regard to any widespread rollout of cryptocurrencies for anonymous payments you're going to have to accept that I'm pessimistic. You can call it FUD all day long. That's just aggressive rhetoric that adds nothing to the debate.
Is your point here that Stripe isn't the best solution for every merchant?

That's not surprising. But they seem to do what they do well, and have a lot of happy customers.
If your project is open source on gitlab.com - you get all paid features for free.
AMD said back in 2016 to have a neural net predictor [1]. I found this slide following references in the Wikipedia article that rowanG077 linked below.

[1] https://cdn.arstechnica.net/wp-content/uploads/sites/3/2016/...
Finally, some feedback! thanks.

The link I see is https://www.bbc.com/future/article/20200803-the-solar-canals... and it works fine for me. What do you see?

I'm very surprised about the JS, when I used firefox (I now use palemoon) it was under preferences. Noted, thanks.
Proposals to Change How We Teach Computing in Order to Reduce Inequality
Consider having databases in a separate instance. 2x32GB is better than one 64GB.

It's specially important at this size to have git in a different machine than the database as both are I/O constrained.
Completely true, but there are way more hits than misses on macOS. Dashboard no longer ships with the OS. Launchpad is useless to me but I can completely forget it exists & never use it.

I think the issues windows has had over the years come down to the fact that the 'misses' they've had are core parts of the OS that you can't avoid using.

I do genuinely think Windows 10 is the best version of windows though, and with WSL they're definitely headed in the right direction.
Good point! I will add a video soon.
AWS has clear upfront pricing, but they're a large enterprise company so if you're a large customer, and you're not getting a discount, you're definitely getting screwed. No one talks about that because it's all covered by NDAs covering backroom deals, but you can be sure Netflix isn't paying list pricing for EC2 instances.

Having to convert between Reserved Instance families to save money, while tricking people into thinking that this is good for them, is a masterstroke of AWS' sales department. Wouldn't you rather be working on the product rather than optimizing RI counts?
Does anyone have pointers as to whether this is even possible with DDR4 on modern machines?
I am not Japanese but have spent enough years studying the Japanese language to develop some amount of literacy, so I can give some insight (but take this with a grain of salt, it's not my native language). I can read enough Chinese to understand the basic topic of some sentences, but Chinese grammar is completely unrelated to Japanese grammar and Chinese characters used for grammatical constructs (e.g. Chinese particles, aspect, etc.) are not really used in Japanese (or are used in totally different ways). Nouns are easiest, adjectives and verbs are sometimes sensible, but beyond that it is hard.

My Chinese and Japanese friends tell me that when they have traveled to Japan or China they have used a pen and paper to communicate basic things.

One challenge is that character simplification is somewhat out of sync between communist China (Taiwan and Hong Kong rejected simplification) and Japan, so sometimes a character will be hard to understand even though I know its original or differently simplified form.

A final point: I can read enough Chinese characters to be amused when I see a Chinese takeout restaurant with an English name that has no relationship to its Chinese name.
AMD Zen 2 CPU and IBM z15 mainframe claims to be using TAGE branch predictor -- but this doesn't say much. The basic TAGE is quite simple (see [1]), but actual implementation likely includes loop predictor, statistical corrector predictor, perceptron hashing functions, etc.

To learn more about state of start BP look for Andre Seznec (INRIA/IRISA) and Daniel Jimenez (Texas A&M University) work. They are usually the winners of Championship Branch Prediction [2,3].

[1] https://fuse.wikichip.org/news/2458/a-look-at-the-amd-zen-2-...

[2] https://www.jilp.org/cbp2014/program.html

[3] https://www.jilp.org/cbp2016/program.html
Is this really such a big deal? Using ESM with imported CJS packages has been pretty straight forward for me. It's hardly the worst thing about Node.js development.
Yes but are the page numbers zero origin?
Ask HN: Do You Like Debugging?
A frequent sentiment among developers I met is that they dislike debugging (e.g. as part of solving a reported issue). I guess a major reason is that it takes away precious time from creating something new, or the developer's role is such that they need to spend most of their time with debugging & troubleshooting. I'm not a developer, but I write code, and sometimes I feel that way too, especially when I'm under pressure and the issue is hard to debug and it blocks me from progressing.

Despite that, I usually love debugging. There are two main reasons for that:

1. Debugging an issue is almost always an excitement: a mystery to be solved. While debugging, I can feel a bit like a detective in a crime scene: collecting small traces, trying to build a case (the "big picture"), piling up evidence and gradually fencing the offender into a smaller and smaller territory, until it is caught.

2. Debugging can teach a lot about the system at hand. In fact, I think it may be one of the best ways to understand the mechanics and hidden nature of the system.

Do you also like debugging, or you rather see it as a necessary and unpleasant activity?
It's a minimalist web app that responds to HTTP requests without using MVC, not a console app?
Just buy two computers then, one for gaming and one Mac. An eGPU box costs as much as one anyway.
Show HN: Tableau-like Data Visualization library (free), powered by WebAssembly
Hi everyone,

A while ago, we had released a Tableau-like data visualization library in JavaScript (original post at https://news.ycombinator.com/item?id=18193264). We got the feedback that it was performing slow because of client-side data operations and rendering. As such, we have released a new version, where all data related operations are now powered by WebAssembly, along with a full design upgrade. It’s at https://muzejs.org - we would love to get your feedback.

Like before, it’s a data-first library with its own DataModel, built using Grammar of Graphics approach. Unlike traditional charting libraries, which use a chart-first configuration, Muze allows relational algebra operations on DataModel (in browser). Also, the visualizations are fully extendible through compositions, layers and programmatic hooks - so you’re not restricted by the out-of-box visualizations or default interactions provided by the library.

We’ve also built a visual data exploration tool using this (though currently using the JS version, and not WebAssembly; to be upgraded soon), which is at https://explore.charts.com

We intend to make these libraries (and UI kits/bindings) available for developers to embed within their SaaS/internal applications and create Tableau-like interfaces within their application (of which we’ll monetize enterprise-features modules).

Would love to get your feedback. Also, what is the next library/module that we should build next to make Muze more useful for you?

Thanks for taking a look!

P.S. We’re working on making our documentation better!

Website: https://muzejs.org
Visual Data Exploration Tool: https://explore.charts.com
Github: https://github.com/chartshq
Section 49 to force key disclosure should only happen if:

+ The person being given the notice has the key

+ Investigators need the key to prevent or detect crime

+ Disclosure is proportionate

+ They can't get the encrypted material by other means

Not complying with the is a criminal offence. The maximum sentence is 2 years, unless it's a case involving child sexual exploitation or national security where the maximum sentence is 5 years.

There is a code of practice for use of these powers here: https://www.gov.uk/government/publications/code-of-practice-...

I think that properly regulated key disclosure powers are important. I'm not sure we're (the UK) are getting it right with RIPA. I'd want to see stronger audit and oversight of the S49 notices, and better advice given to people who are served S49 notices.

For example: I have no idea how many people are served S49 notices, and I don't really know how to find out. I don't know how many people have been imprisoned for not disclosing keys; I don't know what sentences they've been given; and I'm not clear on how to find that out. I feel that it should be easier for citizens to have clear data about these really intrusive powers.

EDIT: I just found this page, and it seems like it's small numbers of people. But still, it's a bit worrying. https://wiki.openrightsgroup.org/wiki/Regulation_of_Investig...
Lessons from 300 IndieHacker Posts about Newsletters
I love debugging, but it's more fun when you have good tools.
On a longer trend, the full autonomy promised by Level 5 self-driving vehicles will open up interest in "beyond the burbs". Many more remote locations of America have reliable power, and a water well and septic system takes care of your utilities. Heat would be served by either natural gas, or wood. For IT people, while internet may be below broadband in more remote locations, both SpaceX and Amazon are bringing to market high speed space based satellite internet that will in some cases exceed bandwidth or latency requirements for most urban locations. If I had an option to work remotely I would select a location based around these premises.
But... "if enough people and companies simply ignored Twitter, entirely" ... then that mob is just a bunch off assholes screaming into a void. So the only difference is the void.
Hidden operating system is the way to go. Usbkill turns the machine off, when asked you supply the public password.
Out of curiosity, when did it went well?
Something I've been thinking about is what happens once the market for software developers becomes saturated. I think the answer is something along the lines of blending traditionally off-line skills (illustration, etc), domain knowledge, and software together. The ability to leverage the scale of the internet is still a form of tech-thinking, even if the software engineering part is not the main focus.

I think software alone has relatively fewer problems left to solve compared to solutions that require multi-domain thinking. So for the situation you've outlined, I think there is tremendous value in blending healthcare and software, or art and software. There are people who have found a niche in blending these ideas together [0], and I think the trend will continue.

So you shouldn't despair that your kids are not interested in "tech" now. It could be that once they are comfortable with their first domain choice, they will recognize the value in tech-enabled growth. You can then be there to help them realize that value by introducing system and algorithmic thinking, as well as tooling like vi or emacs.

[0] https://maggieappleton.com/
To me, it defeated the greatest benefit of taking notes, which isn't being able to reference them but the fact that writing down important information seems to help with memory retention. If I'm having to think about structuring my notes, then that's less likely to happen.

In fact, might it be better to take unstructured notes, and then restructure them later?
You can write a script: "I'm a real person" and save time
Even just a "title" attribute with the name of the person being honored would help sometimes.
Isn't "migrating progressively through cross-version codebases" exactly what a 3to2 compiler would allow you to do? You'd write new code (and incrementally port old code) to Python 3, and then when you build the project you'd compile the Python 3 code down to Python 2 before building the entire project as Python 2, including all dependencies.

So for over a decade, you'd be writing Python 3 code but building a Python 2 project. After a decade, one would hopefully have managed to port everything over to Python 3, and can then drop the "compile to Python 2" step.

A 3to2 tool would solve exactly the problems you're bringing up, with no intoxication needed!

----

I don't see why 3to2 would not have worked. It's a compiler. We have written compilers before. We can write compilers. Compilers work. Both languages are Turing complete and about the same in expressiveness, so clearly compiling one to the other is something we can do.

What we cannot (reasonably) do is produce nice, human-looking target code from a compiler. This is what 2to3 attempted to do, and what a 3to2 would never need to do.

Who cares if the Python 2 code it produced looked a little wonky, as long as it was correct and roughly recogniseable as being built from the original Python 3 code? The Python 3 code is the one humans write and edit. The Python 2 code is just compiler output to make it compatible with all of the Python 2 ecosystem until one is ready to go fully Python 3.

----

This is also not something completely foreign and unheard of. This is exactly how I've been porting legacy JavaScript applications to a more modern ECMAScript approach: write new code in the modern way, compile it down to legacy code compatible with the existing legacy code, and then run that.

Slowly but surely, more and more things are being written in the modern fashion, and eventually, when everything has caught up, the compatibility conversion to the legacy code can be dropped.
Ivan Sutherland's Sketchpad from 1963
I think the real question is has it ever been used in the wild on any DDR?

"In recent years, however, it has become increasingly challenging to execute cold boot attacks or perform physical memory forensics due to the introduction of DRAM memory scramblers. Modern processors with DDR3 and DDR4 DRAM scramble data by XOR’ing it with a pseudorandom number before writing it to DRAM [5], [6]. These scramblers were initially introduced to mitigate the effects excessive current fluctuations on bus lines by ensuring bits on the memory bus transition nearly 50% of the time"

DDR4 is also yes in the lab -

https://web.eecs.umich.edu/~misiker/resources/HPCA17-coldboo...
I disagree for two reasons: 1. If you're making bold claims then you should ideally back them up (wouldn't the internet be better this way?); And 2. If you've done "research" then part of that would entail sharing your "findings" i.e. providing sources.

It's not about being lazy, it's about wanting a better internet experience. Making claims without backing them up doesn't sit well with me.
"It will soon be just as cheap to have your food prepared and delivered as going to the grocery store and making it yourself."

I doubt this very much.
Microsoft now lets you run Android apps in Windows 10