skysight-inc/HackerNews huggingface dataset:
(Commenting here since the other thread is going nowhere)

To clarify, the main property of a non-blocking algorithm is that it's exclusively composed of simpler, smaller ("atomic") operations that demonstrate time-bound/progress-making guarantees, in turn making the bigger algorithm generally easier to reason about (Note "generally").

The consequence of this argument is twofold:

1. It's entirely possible to make a blocking algorithm provide the same guarantees as a non-blocking algorithm, as long as the underlying operations (blocking or otherwise) are proven to be correct. Blocking algorithm tend to throw other complex systems into the mix (e.g. the scheduler), and all of the dependencies and their usages have to be correct (w.r.t. whatever property we desire) to show that the final blocking algorithm is also correct. For instance, it can be argued that the priority inversion problem stems from the lack of scheduler's correctness, or alternatively, the incorrect use of the scheduler. However, in the absense of such problems, there are effectively no disadvantages on blocking algorithms on this respect.

2. If it turns out any atomic operations below the non-blocking algorithm do not meet the expected guarantees, then the non-blocking algorithm itself also becomes unsafe. I think the OP clearly demonstrates this problem--the CPU atomic instructions are but some kind of hardware "locks" (either a LOCK# pin on older processors or some complex cache coherency protocol, but this is an implementation detail) on their own that can sometimes fail to meet the programmer's expectations, leading to surprising results.

In short, the fine line between blocking algorithms and nonblocking algorithms can be drawn by whichever smaller operations or components we assume to be correct.
SVN isn't that bad at all.

Perforce on the other hand when it is set up for pessimistic locking, that was interesting when I had to use it in a team setting and trying to work from home 14 years ago.
I hadn't thought of joining EA meetings. It might be a good social/organizational exercise for me to try to start one in my town if there isn't one going already.
It might be useful to be able to write git commands in more descriptive way for beginners. “Git add all new files”, “Git commit all files with message ‘foo’”, “Git show history of file ‘readme.txt’”, “Git restore previous version of file ‘readme.txt’”, etc.
Any idea why it is not available in the /submit page?
Ok, so I don't know your exact workflow as it could be some weird branch hopping and squashing and reflog breaking weirdness, but:

1. Most terminals have command history, so if you're really typing the same thing over & over & over & over... just use that?
2. Even if that's not the case, bash/batch/powershell scripts to automate things?
3. Most IDEs nowadays have pretty solid git integration so if you're wanting to click things, there's that.
Yep, I tried it before reading your comment.

I think that's great. Approval voting is awesome, and probably a better default for a lot of things anyways.

Even mundane things like "where do you want to eat lunch" with first-past-the-post you run the risk of selecting a place most people don't want to eat at because they split their vote between a bunch of options most people preferred. Really, you want people to distinguish between places they want to eat at and places they don't want to eat at, and the optimal thing is to select the one that the most people do want to eat at. That's basically how approval voting works.
> why worry about what death-bed you wants? That person literally has no future, but you do have a future to worry about!

Because death-bed you is the one that knows whether what to present-you is the future worked out satisfactorily or disappointingly.
you can make aliases and use extensions
The fonts are the primary issue - as the author elaborates a few lines below.
"You can write reasonably fast software in almost any decent language (with a few exceptions)." - this is entirely wrong statement.
I think this is a bit of a straw man. Yes, people sometimes do things that aren't in their rational self-interest, even capaciously understood. But we are talking about a specific scenario.

The question is: would the President, told of an imminent asteroid collision large enough to destroy human civilization, and knowing this information would leak if she did not announce it, elect to hide this information for a month until after the midterms for no particular reason?

You say "They thought the plan to break it up and mine it would work." At the time of the decision of whether to announce the existence of the asteroid, and create a plan, there obviously was no plan. So no, she didn't think that.

>"Likewise with trump, who had worked to dismantle the existing pandemic playbook[0] took for granted how well our medical response would be. He regularly disregarded expert opinions, or simply did not speak with them[1]. He even worked to make it difficult for states to get help, because he lost the vote there[2]."

Again, this isn't the point. Even Trump never tried to deny the existence of COVID. Clearly that would not have worked and would have exploded in his face.
You might be right. You might not. We have no way to know. Back in Newton's day a person could make huge leaps alone. Today I think there are few people who can make breakthroughs on their own now, or even do great work without collaborating. Maybe being an asshole was OK 400 years ago but it isn't now.

Also, suggesting it's OK to emulate Newton when you're not a genius is likely to have a worse outcome.
> So how is it relevant to this conversation

It shows that mandatory vaccination works in fighting infectious diseases. Whether that results in the eradication of the disease, or getting it under control to a degree that we no longer have to have lockdowns, and/or masks in public transports, is irrelevant.
> So I feel like I always need to be doing something and then when I do something I feel like I should be doing something else that is "better"

I know that feeling from when I studied. What helps is to clearly set yourself time slots for work (studies, projects,...) and play (meeting friends, doing sports, gaming,...). I've been most productive on days where I either had deadlines to meet or some fun activities in the evenings to look forward to. Avoid „analysis paralysis” and the „dark playground” [1].

> I would also consider myself a perfectionist, so that makes me feel like everything I am doing has to be perfect [...] I like to take well thought out steps in anything I do [...] but sometimes I feel like that holds me back from actually doing the thing I am thinking about and lead to no progress again.

Try to get over that mindset. Embrace the pareto principle (80:20 rule) instead. Done is better than perfect. Have a bias for action, for just doing things and embracing failure instead of overthinking. Applies to both personal and professional life.

> I find side projects to be fun, but motivation to continue working on them dies off within a week or two

If you really want to have a side project that will keep you engaged over a longer time, don't do „portfolio projects” or TODO examaple apps. Instead, try maintaining an existing project that actually has some users. Getting feedback from real users is really motivating, even if the project just has a few dozen stars. It's also a better preparation for your first job, because you'll most like get onboarded on an existing codebase instead of working on a greenfield project.

Build up a regular workout routine. Make it a habit so that at some point you don't have to force yourself to do it but you're the kind of person who simply does it. As a bonus, workouts in the morning provide a lot of mental clarity for the whole day.

If doing CS/studies stuff is easy for you but socializing is difficult, work on being social and enjoying to make friends and talk to people. To me, having a partner and some good friends provides a lot happiness and burnout prevention.

Don't obsess about your studies. You'll need the degree as entry ticket, a good final grade is useful. But nobody in the industry cares about which courses you took.

[1]: https://waitbutwhy.com/2013/10/why-procrastinators-procrasti...
Well, while I did meeting a lot of tech people that had small social circles/seemed lonely, most of the people I know have small group of friends and are very happy with it, and I know even of some genuinly happy social butterflies that have large group around them.

Personally, it is hard. I.e. I met one of my closest friends when we started internship together, but it took us month before we went out together beyond work-lunch/coffee-break.

And even after few years it felt kinda awkward when I talked to him about my marital problems, and he was the one that called me on it. And I was glad he did, because I didn't really have people to talk about that ...
Introversion. Not intelligence.
There is also a convenient (unofficial) vscode extension [1] for people who don't want to install yet another electron app but already have vscode. It is able to open & edit local files without going through the upload/download dance.

[1] https://marketplace.visualstudio.com/items?itemName=hediet.v...
So I'll answer this from my own perspective as someone with zero social anxiety: I won't meet someone "where they are" if where they are is "Did you see the game last night?". Because they can and will have that same boring conversation with 5 people today. The difference is, I can say "What game? Oh, no, I don't follow sports at all .." but then continue talking about other stuff, and nobody feels awkward. The problem with social anxiety is that it's extremely difficult to just shoot the shit, and when you're trying to be the other end of an intensely boring conversation, for the sake of conversation, you end up looking at yourself from the third person, judging how badly you're feigning interest and failing at being human being. Which is why you store up interesting things for the next conversation, and the process just repeats itself.
Then set up an alias to do it for you.

https://alblue.bandlem.com/2011/04/git-tip-of-week-aliases.h...
The problem is that when you're starting out on graphics, you don't even know what you're capable of doing with the hardware that you have, and the distance between manipulating things on the hardware and putting something on the screen can seem dauntingly far away.

My advice, start out with OpenGL 1 (the old glBegin()/glEnd() stuff) or Raylib (raylib.com) where you begin to get accustomed to really basic stuff (primitives, transformations, etc.). Then do the LearnOpenGL tutorials to learn modern graphics concepts (vertex buffers, shaders, render passes, etc.) Once you've done this you might have enough knowledge to make a simple game/visualization/application, and you'll know yourself if you need to study D3D12/Vulkan or not.
In the same boat as Signal there.

WhatsApp doesn't post source code at all.
Yeah I would encourage you to do that!
My laptop doesn't have a touch screen (M1 Air with Safari), and "Define Settings" moves when I go for it. So that check is either wrong or misleading.

Made me chuckle, though. And to be fair there is an option to "Decline Cookies" - which doesn't move.
Certainly, there was already a mention in this thread about Ray Tracing in One Weekend, which is pretty good (IMO mostly on account of its brevity): https://raytracing.github.io/books/RayTracingInOneWeekend.ht...

Also good is Scratchapixel: https://www.scratchapixel.com/

Once you've written a few derpy ray tracers, dig into https://pbrt.org/

I like to paraphrase a famous Go (the board game) proverb: "Get your first 5 ray tracers over with as quickly as possible."
We're talking about E12 resistors here. I'm not going to worry too much.
> That implies that folks who don't qualify don't get to go

Well, yes, of course? Why wouldn't both the uni and students want a threshold to ensure that no one's time is being wasted? But this doesn't mean that people are barred by tuition or crippled by debt when/if they graduate.

> Or it's mostly a problem for people who find it easy to get press coverage.

Since I'm not from the US I had to google the distinction and from what I can tell a community college main PR is that one may be "transferred" to more prestigious institutions. So it definitely doesn't sound as equivalent as you present it.

> I've nothing against non-STEM education, but I do object to paying a lot for it.

Luckily any decent society consists of more than smug tech folks like this place.
Japanese “Card Contained” Stationary
> Even mundane things like “where do you want to eat lunch” with first-past-the-post you run the risk of selecting a place most people don’t want to eat

If you have open ballots and either approval is a commitment to join or disapproval is a waiver of the right to join, approval is very good method for choosing group activities in a way it is not for most public elections, where there is no coherent meaning to the approval/disapproval divide so it ends up just being a very weird forced reduction in resolution of a preference ballot to two preference ranks. (The lack of coherent meaning between different ballots is a problem that most analysis ignores in basically all voting systems that aren’t either bullet ballots of full forced or unforced preference ballots; of popularly proposed alternative voting methods its a particular issue for those using approval or range/score ballots, or variations on either.)
This is the only git manpage you’ll ever need:

https://git-man-page-generator.lokaltog.net/
It may vary from person to person, but yeah. I’m in the same boat, I can socialize, but prefer not to, because that feels plain and boring. I have so many questions which almost nobody around thinks of, sometimes these are far off their comprehension (not in an intellectual sense, but in a deep curiosity related one). Complexity is my thing.

I thought that maybe it is just my way to escape socializing which I can’t really handle, sort of a replacement. I worked with my CBT doctor for a year(!) and even he came to conclusion that… it is not. You, HN, popsci and books and articles are my best intellectual friends, and that’s why I spend most of my free time in the internet and not with my friends or colleagues which I naturally have no genuine interest in. It’s hard to socialize when everything is boring and second-order af.

Edit: sometimes I think about how they feel. I really tried to find out if they maybe feel like always a little drunk or high on weed, because some people always act just like I am in these states. It would be interesting to experience some magical mind-hardware swapping to check if it’s true. Maybe I just lack natural alcohol levels in my blood or something like that, or is it a completely different experience. No chance to know for sure.
> Being uneducated doesn't mean they aren't intelligent, it just means that they didn't utilize their intelligence in life.

Wow...
I would like to have a cheap laser engraver/cutter but I am just afraid to buy one. Most kits don't have any protection at all except for some goggles. This might be fine for yourself but not for someone stepping into the room.

Lasers are no joke.

'Don't look into the laser with your remaining eye' is also no joke.
Unless you are one of many that are avoiding having children because you already have neither have money nor time.
Weird naming is definitely part of the problem. I think the other part that makes git painful for beginners is that it does not mandate a workflow (do you have a central authoritative server? where is it? Do you merge master into working branches? Rebase all the time or never at all? Squash commits, or not? Etc). That means that as a newcomer you have to decide for yourself what workflow to use (at a point in time when you have no experience to help you in making that choice) and when you read tutorials or advice online you have to be able to spot whether the author of the advice is using the same workflow you are or whether their suggestions and command line options will not work in your situation. Earlier version control systems tended to be more dogmatic about how they were used, which is less flexible but easier to get to grips with.
No.

Pew Research (and pretty much any other credible research institution or academic) are domain experts, understand sampling methodology, and the very-well-known biases which occur from biased and/or self-selecting samples.

Public polling can be exceedingly accurate based on surprisingly small samples (roughly 300 in most national political polls, for example, and even that is generous), so long as the sample is in fact truly random. Oh, and that the responses are not similarly filtered.

One of the most famous cases of a poll which failed due to sampling bias was in the 1948 US Presidential election, and resulted in the Chicago Tribune erroneous headline, "Dewey Defeats Truman". This was drilled hard in my own stats education several decades ago and remains a sharp lesson in the risks of biased sampling. For a good descrition of the error, see:

https://web.archive.org/web/20180823071102/https://textbook....
Great guide, but some suggestions go a bit overboard. I can't imagine to "invite them to do a Zoom call" people I follow in Twitter :)
A History of Black Print
It’s Time for a Personal Security Cleanup
I tend to disagree. (Modern) C++ is an incredibly powerful programming language. Contrary to some other languages it gives the developer maximal freedom and does not impose a particular way of doing things on the developer.
https://www.gabrielgambetta.com/computer-graphics-from-scrat...

This walks through the creation of a raytracer and a rasterizer in a way that was pretty easy for me to understand. It’s not exhaustive; it’s just right.
I think this happens in alot of marriages after a while. /s
I'm always amused when I hear this point of view.

It's a bit like telling someone that likes Jazz that they should just like auto-tune pop music because it's what everyone else likes.

I'm self-aware enough to have considered that I might just be bad at communicating but still don't seem to be able to do much about it.

> My experience is the opposite.

I guess most people would like to be seen as an "everyman" that can talk to anyone but we're just not all wired that way.

There's plenty of popular culture tropes that deal with that.
E.g. "Did you see that ludicrous display last night"[1]

It gets easier with age but being boring, if you want to call it that, is OK too.

1. https://www.youtube.com/watch?v=6yN2H3--1aw
> Instead of fixing these issues this incident will most likely change regulations in a way that it will be easier for banks to reclaim funds lost in similar ways in the future.

The U.K. FCA tends to be extremely consumer friendly and somewhat bank hostile. There will be no regulation change as a result of this, more likely fines and greater oversight from the FCA. They’ll no doubt be demanding incident post-mortems already, and the general expectation is that Santander will have to cover any lost funds that can’t be recovered by asking nicely. The FCA takes an extremely dim view of banks aggressively pursuing individuals for money after the bank fucked up.
Leaving a party early because of "intellectual loneliness" is like giving up on dating because you feel that potential dates <insert made-up reason for them not liking you>.

I feel there's just a low likelihood that in any single encounter, that the person is going to be interested in going where you're going. That could be conversations, dating and similar.

Putting your stuff on Twitter is going to get the engagement you're looking for because you have a higher hit rate when you have thousands of viewers. When dating, you probably won't get that specific person to talk to you, but among a large pool, you'll likely find someone who reaches "good enough" territory.

Doing parties right is just improv. Go in with a "yes, and..." style of conversation. If you're learning something, it's about doing better at the improv. Otherwise, just have fun and play.
In my experience doing mentorship, a lot of people are taught git in a super rushed way and tend to have the mindset of "here's this incredibly complicated program you will never understand, please learn these magic commands and hope you never get a merge conflict" which isn't particularly useful because they're now scared of their tools.

We need to teach tools like git (and some editors!) as their own thing, completely separate to programming languages. Not "now we've written some code, let's put it in git" but "here's a tool called git, let's show how it works with some text files"

Honestly - you spend 20 minutes with someone teaching them that git only stores diffs and how that actually works and they leave much more confident and willing to experiment on their own.

A plain text TODO list is absolutely perfect for this, because a merge conflict between two steps on a numbered list is completely intuitive and resolvable. "I've got two 4)s now!" "What's the fix?" "I guess one needs to become 5)?"

(The CLI and naming scheme is total garbage though - biggest hurdle for non-native English speakers IMO)
> Lots of companies run large scale services without k8s.

Lots more do so using k8s.

The question is "is it worth learning it?" And the answer is yes. It's not wasted time or energy to learn the most popular and du-jour orchestration system.
what I do every day:
1) meditation
2) stretching or exercising with resistance bands
3) manual lymph drainage massage
4) strict diet with carefully calculated calories intake and carbs-fats-proteins ratio
5) walk 10km(part of it is a walking meditation)
6) studying something that keeps challenging my mind(currently it's Game Theory Optimal in poker)
7) sleep at least 8 hrs

as a result, no time for burning out
Why does php not need to idle?
The main problem I see is from the search engine angle.

Onion sites are indexed to some extent by search engines, like https://www.ahmia.fr/. But usually users need to know the onion link beforehand to visit a particular site, mostly done from Hidden Wiki.
Afaik, i2p's eepsites do not have a proper search engine and if users need to hop on a particular site they will have to know the URL beforehand. Identitygup.i2p has only select lists of URL's, many of them not being updated.
IPFS though has a search engine, https://ipfs-search.com/#/, which seems to work pretty good.

ENS (.eth, .sol, .luna), Unstoppable domains, handshake/namebase, IPFS websites, onion/i2p/zeronet/freenet/lokinet and others will need to get indexed and accessible by a normal user with search engine easily. Until then, all of these trying to counter ICANN/traditional DNS system are pretty much useless.
Too late to edit, but I'm getting mixed votes (which I usually don't pay much attention to), so I will explain:

There's a few different frameworks people are working within. From my experience, linking or forwarding to any "outside the box" ideas in this sphere will only invite more downvotes, argumentation over the details, and flamewars. Any linking of these ideas would be interpreted by some to be an endorsement of them. In my parent comment I made sure to mention that none of them were worthy of my endosement at this time, though I do find them interesting. Anyone reading this comment, buried deep in "hacker news" is capable of finding alternative ideas outside the norm. You can do your own research, if you like.

I mentioned them because the idea of people disagreeing on this was actually more foreign to me than "flat earth" which I find "pretty far out there", when I first stumbled upon it. It's very uncommonly discussed, and I don't have the clout to either endorse or properly antagonize these ideas. It's intriguing to me that something as preposterous as "the earth is flat" can be much more widely known and discussed than "maybe the way we frame viruses is incorrect".