skysight-inc/HackerNews huggingface dataset:
In the C++ standard the complexity of algorithms is a requirement for a compliant implementation. Many text books skip it, but better documentation references it. Taking the "delete element from list" example from this thread https://en.cppreference.com/w/cpp/container/list/remove states that there is a linear search.
AI/UX – Interfacing with AI
We don't disagree there. I wanted to echo the 'other guy' phrase in the comment to which I was replying, but 'other guys' would be less ambiguous. On social media today, there are several different potentially violent movements that concern me.
Deleting an element from a slice is a O(n) operation. It better be explicit in the program so the programmer knows just how expensive it is. Either you know what you are doing, and then writing it down is trivial, or you don't know what you are doing, and you are creating an efficiency problem for the future. Other data structures have a delete operation because it is efficient on those.

And fully agree on the GC part. GC doesn't remove the work of resource management. It simplifies it vastly. This can some times lull people into thinking they can ignore resources altogether.
I don’t remember this one. But Douglas Adams was involved in another adventure game with “stunning” graphics called starship titanic. I got a good way through and the characters were fun (some Monty python voices..)

https://en.m.wikipedia.org/wiki/Starship_Titanic

Wonder how it holds up.
Looks Good To Me: Making code reviews better for remote-first teams
It's a great way to highlight which accounts to blacklist from contributing.

Maybe we should develop a central spamlist.
There is a difference between active coercion (someone goes to your house and forces you with a gun to vote their way) and passive coercion (if you vote for X in 20 years time your vote might be considered inappropriate and you will be fired from your job).
Woah hang on there buddy, this is an open source project often used for video games. If you want accessibility so bad that you think it should be a “legal requirement” why don’t you write your own accessible GUI tool kit instead of complaining on the internet?
Claiming that one thing is "political" and the other is "pragmatic" is a good example of ideological thinking.
I don't entirely disagree but I can't help noticing, you mentioned two ways to do concurrency in C# and two ways to do it in Go.
Is the Swedish chef offensive?
I think this is actually a very good example of the inverse relationship between logical complexity and language complexity.

A language that has implicit copy/move semantics is easier to write (since it's less constrained), and more difficult to read (since in order to understand the code, one needs to know the rules).

A language that has explicit copy/move semantics, is more difficult to write (since the rules will need to be adhered to), but easier to read (because the constraints are explicit).

Although I don't program in Golang, another example that pops into my mind is that slices may refer to old versions of an array. This makes working with arrays easier when writing (as in "typing"), but more difficult when reading (as in understanding/designing), because one needs to track an array references (slices). (correct me if I'm wrong on this).

In this perspective, I do think that a language that is simpler to write can be more difficult to read, and this is one (two) case where this principle applies.

(note that I don't imply with that one philosophy is inherently better than the other)

EDIT: added slices case.
While it is interesting that you can implement this on block-chain this is a perfect example of how block-chain does not provide more than just being trustless.

(personally I like having trusted third parties)
I hope this is not too off-topic, but I can't be the only one here who thought 'I don't remember any distro called Linux Logo...' before clicking and seeing my mistake. Cute nostalgia either way.
FWIW, I agree with your entire analysis here yet still resent the "extremely small set of activists" and think they go way too far.

There's probably room in the middle somewhere.
But that's the definition, and every calculator's "engineering" mode shows it exactly like that, too. And usually you learn in middle school how to interpret that.

Here’s a photo with the calculator I used in middle school, showing exactly the specified number:

https://i.k8r.eu/qOUpgg.png
Losing trust is a good thing, and the ultimate form of respect. Free software, like science, is based on proof, not on truth.
I didn't say that it has to be for illegal things or avoiding regulation. I said it's a trust-less global payment infrastructure. Say I need to send $500k to a relative in a third world country at 12AM on a Sunday. A completely legal transfer of money that I plan to disclose to the government. 100% regulated. But I need the transaction to go through very quickly. What are my options? Chase? Paypal? Western Union? What if Paypal decides this transaction is fraudulent and says "no". What if Western Union decides to limit my account? What if Chase wire transfer to third world bank takes 5 days? With Bitcoin, you can just send the money, legally, but without a private third party as a middleman. There is value in that.
I had a long and interesting conversation with my father about this. He's retired now, but was a family lawyer (solicitor in the UK). He is vehemently opposed to euthanasia purely on the grounds of his experiences with ailing/aging parents and greedy children - he's had clients tidy up their wills, often with their children looking over their shoulders, and then kill themselves to stop "being a burden" on their families. He thinks if euthanasia is legal then this will become more common, no matter the procedural hurdles put in place ("come on Mum, we better get these forms signed before you get more senile and can't sign them. You don't want to be a burden on all of us, do you?").

I'm very much pro-euthanasia, because I don't plan on having any kids and consider the worst of all possible deaths to be gradually losing my mind in assisted housing (well, being eaten by a wild animal holds more terror for me, but the other one is close). Obviously I don't know how enthusiastic I'll be when the time actually comes, but I'm in my 50's and the thought of slipping away painlessly when I think the time is right holds no fear for me at the moment.

Religion also plays a part - I'm atheist and so not afraid of losing my place in valhalla because of suicide. Dad's an intellectual Anglican and so suicide is morally less acceptable for him. But this didn't come into the discussion much - he genuinely fears for the consequences if greedy children are allowed to persuade their parents to kill themselves.
Thanks for this great article! I've been circling my way around understanding coroutines and this really put it in place.

I think this co_awaiting is the most confusing part for folks: in most languages with stackful coroutines, it makes sense how one can

1. call "co_await" on a coroutine at a high-level API boundary
2. have that coroutine execute normal code all the way down to some expensive part (e.g. I/O)
3. at that particular point "deep" down in the expensive parts, that single point can just call "yield" and give control all the way back to the user thread that co_awaited at 1, usually with some special capability in the runtime.

I believe the way you can do this in C++20 concepts is to co_yield a promise all the way back to the originating "co_await" site, but I may be confused about this still...

It's totally clear to me why they didn't choose this for C++: keeping track of some heap-allocated stack frames could prove unwieldy.

I wish more effort went into explaining and promoting coroutines. Right now the advice seems to be "be brave and DIY, or just use cppcoro until we figure this out".
Disclaimer: I am one of the trustees of the mentioned charity, The Society of Research Software Engineering.

You say that you don't see it having much "difference with regard status and salary". The problem here is two-fold. Firstly, salaries at UK universities are set on a band structure and so an RSE will earn a comparable amount to a postdoc or lecturer. These aren't positions that are known for high wages and historically the reason that people work in research is not for a higher salary.

As for status, I can see that the creation of the Research Software Engineer title (since about 2012) has done great good for improving the status of people with those skills. Before they were "just" postdocs with not many papers but now they can focus on doing what they do best and have career paths which recognise their skills.

My role (at the University of Bristol - https://www.bristol.ac.uk/acrc/research-software-engineering...) is focused almost entirely on teaching. I'm not trying to create a new band of specialists who would identify as RSEs but rather provide technical competency for people working in research so that the code they write is better.

There is a spectrum of RSEs from primarily research-focused postcode who write code to support their work along to full-time RSEs whose job is to support others with their research (almost a contractor-type model). We need to have impact all the way along that spectrum, from training at one end to careers and status at the other.

For more info on the history of the role, there's a great article at https://www.software.ac.uk/blog/2016-08-17-not-so-brief-hist... written by one of the founding members of the Society of Research Software Engineering.
That makes perfect sense. Thanks for the excellent explanation, Nition!
SwiftGraphQL – A GraphQL client that lets you forget about GraphQL
How does the specific institution being ridiculed matter at all?

Whether it's the Catholic church, Youtube or the DMV the point is it's a black box of procedural spaghetti that too often produces insane results and is seemingly unaccountable.
The role of the church 400 years ago is now similar to that played by the technocracy today.
Make sure you get the later unabridged version since it has the full book and some really cool performances.
A part of what was not mentioned is that it is used as a gambling chip. Plain and simple. Sure, not the cheapest lottery ticket you can find but hey, your chances of making money are probably higher with crypto than the average lottery.

Is gambling useful to the society as whole? Probably not. But it does make things interesting and alas, Bitcoin (and other cryptos) intersect in a most curious way where you are gambling but also have a very easy method to move those assets around.

And I think cryptos do save money when making larger transactions between entities. So there is something real there, although it's not very tangible. For the average Joe, I agree. I don't think they really provide that much value except your average thrill at the casino (with better odds, sure).
Maybe I should have written "idealistic" instead. At least I have chosen my open source licenses for pragmatic reasons, not out of idealism.
I've seen many research papers where all they disclose about the software is some pseudo code + some tables with timing results to prove their "performance gains".

For those types of papers I agree with your statement. But in many academic scenarios others will want to inspect the source, and the quality of that code is certainly something that will add or subtract from your "status" in the academic world so to speak :-)
Hilariously so. Bork.
In almost all cases, the support of these giant corporations is towards feature-sets that are inherently self-serving. In many cases, they wield too much power and hijack the direction of the opensource projects. For example, there's plenty of optimizations for server-side CPU performance on Linux, often to the detriment of desktop interactive performance (see Con Kolivas' scheduler and his 10+ year long struggle).
The show performed terribly.
Handling unchecked exceptions "happens all the time" because in certain languages and libraries, like Java, it looks like less work than tediously checking error conditions or letting the program die properly. Different kinds of software in a different language can fare very differently.
Only 33% done, but a more personally interesting game to me: Perfect Dark - https://github.com/n64decomp/perfect_dark
I think a big part of this is that old tech companies like IBM, Oracle and probably every big management consulting trying to hype the technology up. You see consultants recommend taking on big challenges, sort of like snake oil applying it to all kinds of nonsensical scenarios around finance, insurance, supply chain, regulatory reporting, etc.

Contrary to general perception it’s not a new data transfer cure all that will actually solve problems of sharing data between organizations. It also doesn’t replace hard work required to make a new industry standard. It’s barely useful in either of those but that’s the common misconception I usually hear from nontechnical people who seem to be excited about blockchain.

Are we just trapped in a hype cycle that will inevitably end or does Bitcoin growth spell forever renewing waves of hype?
For me coming from Rust, this just seems way overly complicated to me. Rust's async doesn't even need a heap to work: https://lights0123.com/blog/2020/07/25/async-await-for-avr-w...
With pointers, they are in the heap, but at least there is no overhead. You could also declare them embedded (without the *s), but then the Sum struct would have a size that is a sum of all the variants' sizes, instead of a proper union which should have the max size (more or less).

type Sum struct {
type SumChoice
A Avariant
B Bvariant
}

This is what I meant by saying that it depends on exactly what you mean by "sum types".
That’s up to the person or company creating the video game to decide though. It can’t be a legal requirement any more than you could require painters to also produce a 3D model of their work so the visually impaired can enjoy it too.
I will have to respectfully disagree with the author.

Linux desktop isn’t dead because big companies and VCs are chasing ROI. Linux on the desktop is dead because most current Linux desktop developers don’t want or use software the same way as the average person. So they don’t build what the average person wants. So the average person doesn’t want to use it.

VC funded companies using open source isn’t why there are so many abandoned projects. ROI isn’t the reason for issues. For example, a bunch of open source that’s dead is because people experimented and the experiment didn’t pan out. That’s normal and has long been the case. We just see it now with so much open source
Isn't calling currencies that people are already transacting hundreds of millions of dollars in volume on daily "vaporware" a baseless accusation?
Following on from some discussions about SCM history on here over the weekend I was poking around in the history of things too.

The original 1986 CVS¹ is quite interesting from a historical prospective. Given that the implementation is just a bunch of scripts on top of RCS you can see how it plumbed together really easily.

There is a note¹ on Grune's site, that explains the relationship between the scripts and the system people would more likely recognise as CVS(assuming you're old enough to recognise it at all).

¹ https://ftp.sunet.se/mirror/archive/ftp.sunet.se/pub/usenet/...

² https://dickgrune.com/Programs/CVS.orig/CVS_BB_and_GNU

Edit: And I guess you might not recognise the archives in the first footnote either. They're shar files which can be extracted using the files as a script or more simply with unshar from sharutils³.

³ http://www.gnu.org/software/sharutils/
I am a research scientist published via R, Stata, and Excel analyses. My code documents wouldn't be helpful since the data is all locked up due to HIPAA concerns. We're talking names, health conditions, scrambled SSN, this isn't reproducible because the data is locked to those without security clearance.

The code itself is a ton of munging and then some basic stat functions. This information can be gleaned from the methods section of the article anyway.

So, really, my field of public health doesn't use GitHub or sharing much, there's simply too little benefit to the researcher to share their code.

There's an unwarranted fear of getting your work poached. In modern science, publications are everything, they determine your career. Enabling your direct competitors, those who want the same grants and students and glories, is not common in science.
I don't know if being pelted with ninja throwing stars from the sky is less spectacular, maybe because there's not live footage.
You don't think this also applies to extreme left too?

There is a reason for a:

https://en.wikipedia.org/wiki/Horseshoe_theory
I think "Uitzichtloos lijden" is a term more emotionally powerful than "irremediable suffering" makes it seem. Maybe not legally, but in terms of what it conveys.

"Uitzicht" is your view on the future. "Uitzichtloos" means your future is empty, have nothing to look forward to. As an adverb for suffering ("lijden") it conveys nothing but endless suffering, without future, without hope.
Eh, I think Kafka was infinitely more subtle than that. Framing the story as a mundane criticism of the Church seems to be missing much of the depth of his writing.

On that note, Kafka was also quite interested in Kabbalah, Jewish mysticism, which is almost inversely related to sociopolitical structures.

https://en.wikipedia.org/wiki/Franz_Kafka_and_Judaism

Here's a great aphorism of his that's related to religion:

“Leop­ards break in­to the tem­ple and drink all the sac­ri­ficial ves­sels dry; it keeps hap­pen­ing; in the end, it can be cal­cu­lat­ed in ad­vance and is in­cor­po­rat­ed in­to the rit­ual.”
I mean yeah, that's not rebranding, that's just brand suicide. I hadn't heard about it, that's a fun story.

But in general, people used to a brand always cry out how rebranding will kill the brand and it truly has zero effect. I remember people saying that gmail's logo changing would kill it. Then it happened like two more times. Google rebranded Hangouts/Chat/Whatever like fifteen times and they still somehow have users. And in fintech I've seen tons of successful rebrands despite users doomsdaying them out. Simple, mentioned downthread, is a good example.

People just hate change. I mean look at some of the replies here… I hope they'll be able to read themselves a year from now.
Doesn't address the main issue plaguing open-source, which is the loophole that Amazon used to push out services like Aurora. It's not a new problems (hence various incarnations of the AGPL), but AWS has pushed this to a whole new level.
Same thing. One can justify anything by labeling the current behavior "pragmatic" and another "idealistic".

Edit: amazing how I'm getting downvoted for this on a place called "hacker" news.
True enough, but there really are at least two alternatives here that could be distinguished, except that we do not have sufficient information to make this distinction. In either of these two cases, the reviewer presumably did not understand the meaning of the statement, but in the first case this was because they did not know the language sufficiently well, while in the second, they lacked the critical reasoning skills to correctly discern its meaning. In the first case, but not the second, the reviewer's performance on this particular task would vary depending on the language it is expressed in.

Of course, in neither case should the person be given the job of reviewing English-language tweets.

There are additional possibilties, such as Twitter having created an environment in which it is much safer or easier to agree with the initial ruling, or where the reviewer is required to pick from a list of justifications for reversing the initial decisions, and none of the options fit (I'm sure you have seen questionnaires like that.)

The one thing we can be sure of is that the Bishop should not have been banned.
What happens if this kind of content ends up being popular because people want to see negative depictions of cultures? Would they add more of it?
On the contrary, every instance where there is more than one way to do something is a failure of the language. It's OK, all languages have failures, but the ideal is pretty clearly a set of precisely orthogonal features, where there is neither repetition nor exception.
That sounds super convenient. Wish we would have something similar in the EU.

Edi: yes, I know Ukraine is in Europe, I meant EU
> Go was clearly designed with GUI IDE tooling in mind.

Surprisingly not. One of Go's authors commented many times in the early days that Go shouldn't need an IDE, only a text editor. He even commented that syntax highlighting/coloring were unnecessary distractions.
This site screams, this is an MVP-idea-test side.
Here’s what I am told to believe by everyone at these big tech companies:

> bias is inescapable, you can’t stop doing it even if you don’t want to be biased, it’s impossible not to have an implicit preference for your race or identify group over others, so it’s critical that you try to mitigate these biases by making sure you’re part of a diverse group

> the fact that almost every employee of a big tech company is on one side of an intensely polarized political divide has no impact on the decisions the company makes.

Ok.
> future tyranny might end up not being Orwell's 1984 or Huxley's Brave New World, but a kafkesque nightmare where people are lost in a world of AI giving out absurd punishments.

I think the present for some people is already a synthesis of all three and if we're not careful it will be for everyone.
Top OSS leaderboard is now public
> They say why not just use GPL but if you license your code using GPL you will not have users.

Linux, GNOME, VLC, WordPress... I hear this a lot but I really think it's overblown. There's plenty of GPL software with lots of users.

And so many of the ecosystem problems people talk about with FOSS would be much less of a problem with copyleft licenses.
Only on hacker news can a discussion about an airplane engine end up about windscreen wiper UX.
The requirement came after several blades left their engines, severing vital systems on a couple flights. So the requirement is that new engines be able to contain blade failures regardless of the cause. Inspections can save a blade failure from happening, but they cannot be relied upon to prevent failures, necessitating the reliance on containment of eventual non-prevented failures.
For a minute I felt vaguely sorry for P&W, a company I had never heard of, which might well have been a scruffy underdog in the world of giants that is aviation, then... “Raytheon”. Ah well, fuck’em.
Euthanasia is not self-harm, quite the contrary.
Python/Async email outreach automation tool