skysight-inc/HackerNews huggingface dataset:
And Amiga, Atari, 68k-Macintosh etc.

FWIW, there is an out-of-tree m68k backend for LLVM [1]. I have already done some experimental work on Rust for m68k based on this backend [2].

> [1] https://github.com/M680x0/M680x0-llvm/

> [2] https://github.com/glaubitz/rust/tree/m68k-linux
> If your code is slower than C, someone will rewrite it in C.

When used correctly, C++ is not slower than C. Sometimes faster, a classic example is C qsort versus std::sort.

> If your library is written in C it means it can be used on any OS, console or mobile device and even on the web.

C++ is good in that regard. I know only 1 mainstream platform where C++ adds significant friction compared to C, that’s iOS, because their objective C is a superset of C. The rest of them (Windows, Linux including embedded, game consoles, android) support C++ just fine.

> Not everyone wants to use C++ (some prefer C).

Most people are OK with C++, especially in the context of game development.

> to the point where you are pretty much left with C

No, not with C. Namespaces and scoped enums are awesome.

Another thing, inside the implementation of the library, you can use whatever C++ language features you please, even the features that would be inappropriate when exposed at the API surface of the library. For example, MS implemented parts of their C runtime library with C++ classes, RAII, lambdas and templates, eliminating duplicated code for char/wchar_t routines. Obviously, you don’t need C++ to consume that library, just C is enough, but it’s implemented in modern C++. On my system, that source is in "C:\Program Files (x86)\Windows Kits\10\Source\10.0.18362.0\ucrt\stdio\output.cpp".
Cranelift may become that in the future.
I've been in a similar situation, and the bank was adamant they could not do anything beyond contacting the recipient. For £750, I won't bother with the legal system, so that's a loss.

I do think it's a good system, if you want to recover your money, you can go to court. Wish it was cheaper/faster/more straightforward to do that.
> if a juror is that certain, pre-trial, that a defendant is guilty, there is no way that the defendant can get a fair trial

Sure they can, one nutjob juror cannot convict.

I've also been seated on juries where some of my fellow jurors were quite obviously biased against the defendant, and this really hurt their credibility with me. I wasn't the only one either, other jurors challenged some of the statements they made and it was clear to me that they also picked up on the bias and rejected it.

My first time on a jury a pleasant looking retired white man said he wanted to be foreman, for a trial of a Hispanic youth, and the guy started with "well he's obviously guilty right?" and he was serious. This was met with total outrage from several others on the jury and the foreman sat there meekly for the rest of the deliberations. The rest of us carefully reviewed the evidence and the defendant absolutely received a fair trial.
As far as I am aware, str.join instead of str += is just a legacy optimisation that is not really valid when developing for modern Python versions.
GCC supports several targets like alpha, hppa, ia64, m68k, sh, v850 and vax (and more) that the LLVM-based Rust does not support because LLVM lacks support for these targets.
SUVs are worse for the planet than previously thought
It can take a lot of resources to get to that point, no?

So there's still a question what companies should do until they reach this growth possibility.
It's possible to use the "hourglass" pattern where your implementation is written in C++, you export a C API (and ABI), and then you can provide an additional, light C++ wrapper based on the C API.
Which is the main reason why no usable alternative implementations exist yet and why Rust hasn't found its way to more low-level software projects like the Linux plumberland yet.

Rust dearly needs a stable specification, it is the main blocker why the language hasn't been more widely adopted.
Raptor Computing Is Working on More AMD Radeon Driver Improvements for Power
Do therapists actually contribute? I'm sceptical. For me, I got so much of the value from taking MDMA and just knowing my friends were around and actually loved me. Ended so much anxiety. Between Molly and Acid and these folks, I think I'm pretty much safe for the rest of my life.
Coffee Hour with California's Dying Forests
There are endless debates about curriculum and yet there is one lessen that is never up for debate, and it is thought throughout every day and in every lessen: Sit down, be quiet, do as you're told.

I wonder what a society would look like, where each of us had not been exposed to over a decade of this in our most impressionable years.
I see different data for France at least.

https://www.ined.fr/en/everything_about_population/data/fran...

Seems that life expectancy at age 65 has increased by about 1 year (a little over 5%) from 2008 to 2018. That 5% increase in pension coverage has to come from somewhere. It will come from reduced benefits, increased pension taxes for the working, and/or increased working times for the working.

There does appear to be some natural limit, but it does not seem that almost all gains are from a reduction in childhood mortality.
What do you hate about our landing?
I never tried Poetry because of this somewhat worrying part of installation instructions: "The installer installs the poetry tool to Poetry's bin directory ... located at $HOME/.poetry/bin ...This directory will be in your $PATH environment variable".

The directory will be in my PATH? That makes me wonder what else it might take the liberty to reconfigure on my system.

But, reading the installer script, it seems like it at least prompts you for confirmation first, so perhaps I'll try it.
This looks very cool for an alternative shell for Windows, which is what I am seeing here but in all honesty, as soon I saw the title, it was easy to get this confused with the Cairo drawing library and associating that as a potentially new Linux "Desktop Environment" as the title outlines.

The project is technically very interesting for Windows 10 customisation, but the name is very similar with another established project in the same technical area of graphics, which may cause some confusion.

Perhaps the naming of this project was derived from Microsoft Cairo that was never released. [0]

[0] https://en.wikipedia.org/wiki/Cairo_(operating_system)
Agreed. This is one of the most bizarrely impenetrable landing pages I've ever seen. The "solutions" page is a wide-ranging list of vague topics, not solutions. Even the "demo simulations" link at the bottom provides no information without signing up.
This is a great comment. We need to keep questioning our internal barriers and self-limiting assumptions. Thanks for reminding!
Sabbath: Backslidden People
So much more is paid every month for this perk than for normal worker.

Note that SNCF is not in deficit every year, but generally post some profit.

Though they have a unhealthy debt burden, mainly due to enormous investment needed to create the railway network. As it is seen a public infrastructure by some their is a debate on how much of it should be supported by the state (just like the state support the road system and the airtravel)
Meeting Venus
> instead of just locking them away because we don't give a shit about doing anything else,

Why society locks people away is not just about trying to change them (that's a case by case assessment whether it can be done or not) but to simply protect normal citizens from them - and in most cases "aging someone in prison" is good enough to make them less of a criminal (at least for violent crimes).
Compare the number of architectures by GCC:

> https://en.wikipedia.org/wiki/GNU_Compiler_Collection#Archit...

And the number of architectures by LLVM:

> https://en.wikipedia.org/wiki/LLVM#Back_ends

GCC supports vastly more targets.
I might be overthinking it, but I have a couple things that bother me (especially on mobile).

Let me know what bothers you the most, I'd like to know if my views are shared on the issue, without influencing your opinion.
Since this implementation shares the frontend with rustc, there is no reason it would fall behind.
> Solved by C++ namespaces.

I've never understood what's the practical difference between NS::foo() and NS_foo() with regards to preventing name collisions. Can someone enlighten me?

I know some disadvantages of the namespacing variant, though. There are now multiple names for the items defined in the namespace: the qualified one and the unqualified one. The latter is often not unique in practice, since the programmer relies on the qualified name for uniqueness. In effect, making simple text searches for identifiers is very unreliable. Note I do use IDEs, but I also code in vim, and I need to do simple text searches even when working in Visual Studio.

Additionally, there's no guarantee that there are no spaces around the scoper. I believe "NS :: foo" is just as valid, which makes me uneasy with regards to text search, as well.

Another issue I have:

$ cat test.cpp
namespace NS { int foo() { return 0; } };
$ g++ -c -o test.o test.cpp
$ nm test.o
0000000000000000 T _ZN2NS3fooEv # I hate my life

> Modern C++ has strongly-typed scoped enums for such constants.

I haven't found those working for me. Apart from the namespacing issue described above, I have issues with explicit enum types. One issue is that I often need to put sentinel / "missing" values (typically the value is -1) where an enum value is expected. Even more often, I want to iterate over the values of an enum. C++'s enum "type safety" makes working like this really unergonomic.

The way I go about this is I don't even use names for my enum types, and I fully qualify the enumeration values.

enum {
FPGAPARAM_BLA,
FPGAPARAM_BLUB,
FPGAPARAM_FOO,
NUM_FPGAPARAM_KINDS
};

struct ASDF {
int fpgaparamKind; // obvious what kind of values are expected here...
};

for (int i = 0; i < NUM_FPGAPARAM_KINDS; i++) {
struct ASDF asdf;
asdf.fpgaParamKind = i;
do_asdf(&asdf);
}

In programming, the slightest mistakes, like putting a "-" instead of a "+", result in program bugs. These mistakes are much more likely to be made (and much harder to spot) than mistakes involving enum values from the wrong set. I won't let programming ergonomics be ruined in the name of "type safety".
The idea that Epoch writes code under the fear that other parts of the code are malicious reminded me of

https://thedailywtf.com/articles/Confessions-Hacker-Proof-Bo...
> The only additional customization I have is a little utility I wrote in C++ that runs in background and provides hotkeys to launch Chrome, Sublime Text, Total Commander and Cmder via Win+1, Win+2, etc hotkeys.

Why not just pin those programs to the taskbar?
Ah, interesting. But can this implementation actually be built for architectures not supported by LLVM? I looked at the build instructions and the first build step involves building parts with the standard Rust compiler.

I also just realized that it's not the same backend as the one written by "redbrain" here [1].

> [1] https://github.com/redbrain/gccrs
Very different from the Windows Phone philosophy, then.
Ask HN: How important is it to learn Vim in 2019?
An ESM Loader for Fastify.js
> Who is fighting at the organizational level for the students?

Plenty of people. Sometimes at cross purposes, rarely with little effect.

Unlike Tolstoy's happy families, good teachers are not all alike. For the most part, I can't envision what a productive organizational-level fight would even look like.
Show HN: Command-line based ticket system written in Scala 3
How to publish an NPM package in 2020 (step by step)
Server-class GPUs kinda showed up first, or at least at the same time: Radeon Instinct MI50 was the first PCIe 4 GPU ever. (The consumer Radeon VII is the same chip)
No relation to the Cairo vector graphics API I assume?
Yes, it's a different attempt from redbrain's.

gcc-rust currently needs LLVM to build because that's the only good way to build Rust code, and gcc-rust (unlike, say, mrustc) uses Rust code. Once gcc-rust is on track, Rust code used by gcc-rust can be built by gcc-rust, and LLVM becomes unnecessary.
If I'm not mistaken, the pipeline is Rust -> MIR -> LLVM -> Binary. The GCC backend probably uses MIR, which is simpler than Rust itself.
Very cool. For me this hopefully means higher end Zen 3 CPUs will bomb in price so I can upgrade my 2600X
That's level 5.
> I've been under the impression that GCC still has much better hardware optimizations than LLVM has.

That is my experience too.

GCC for code with high level of nesting, meaning high potential for inlining (typically C++), is close to unbeatable. Including even compared Highly optimised compilers like Intel ICC.
You are 100% right. Sorr for the confusion
the fact that as soon as I opened the page on mobile I got 3 different boxes in the way of the text I'm trying to read. any site that does this I immediately click off of
Wox and keyperinha are 2 more alternatives (wox with more plugins but less maintained). Both integrate "everything" for filesearch (it's a pity they don't use the 100 times faster WizFile)
Heavier things really do fall faster in the sense that they also pull the earth towards them which increases the relative acceleration and thereby decreases the time until they hit each other.

F = G * m1 * m2 / r²

This tells you that the acceleration of mass 1 is independent of the mass 1 and only depends on mass 2 and the acceleration of mass 2 is independent of mass 2 and only depends on mass 1. But the relative velocities will increase when either m1 or m2 is increased.

E.g. a black hole with the mass of the earth will hit the ground of a (perfectly rigid) earth in almost half the time as a feather would.

(I won't go into relativistic effects here.)
Man Loses Home After Failing to Pay $8.41 in Property Taxes
Show HN: Notably – a simple tool for sharing markdown notes
Should probably read the articles first... I was really hoping for:

a + b = c, where a = b = c

I could only find:

* a = b = c = 0

* a = b = c = k/inf (where k < inf and k > -inf)

Off-topic but are there other solutions? I checked in Wolfram Alpha and nothing...
Note that 35h did not applied to everyone, relabeled some paid break time as unpaid work time...
Most importantly it was "sold" by allowing companies more flexibility with the workers... gain in productivity, more pressure (and a bit of more overtime) explain why the impact on unemployment had not been massive. This is totally different than what happen with pension scheme.

If people work more years, it means more people for the same "stock" of job at first... So more unemployment at least at short and medium term.
As a warning: While C99 is a really nice language - especially over C89 - please note that the Visual Studio C compiler still does not support the full C99 specification, and it is not possible at all to compile C99 as C++ code (which sometimes is useful).

I usually recommend to write library-level code in the "subset of C99 which compiles both in C and C++ mode on GCC, clang and MSVC". This is basically a version of C that's somewhere C89 and C99 (basically a "C95").

Another quite valid option is to define a pure C-API first, but implement the "inner library code" in a simple C++ (just be careful with "modern C++", since this usually results in increased compilation time and binary size).
Thanks a lot for the input. I love that feedback btw.
New Video Repair Software with High-Performance Video Recovery Solutions
you are right. The goal of the research phase of the ux design process is to understand the users' goals, needs, values, knowledge and mental models. The design phase is aimed at identifying solutions that are able to satisfy those goals and needs (better than the competitors) and, at the same time, the goals of the stakeholders.

The "Product-Minded Software Engineer" is someone who has the opportunity to be informed by the analysis of the user research data, and offers his or her technical support to translate ideas and design in a working product or service.
Though I see that point, I think there's a counterpoint which is, "We can choose to release felons at the earliest moment when they no longer represent a serious threat to a peaceable society" but that by releasing them at that earlier moment, we give them many freedoms but don't trust them with certain things we trust other citizens with (gun ownership, voting, jury duty, working with children, commercial trucking/aviation, serving as a military officer, whatever...)

I can imagine many cases where I'd be comfortable with someone being out of prison but not with owning a gun after let's say N years for an armed robbery conviction. In fact, I might not be comfortable with them legally owning a gun ever again. If we demand that the system be totally stateless and that we not release a prisoner until we're comfortable giving them all the possible rights, it seems sensible to argue the penalty for armed robbery should be life (which is, of course, ridiculous).
I've been using cadCAD lately, might be interesting for others here: https://community.cadcad.org/
Hi, I just launched notably. It's a simple app that lets you share any kind of text note, and supports markdown syntax

I created this mostly as a way of sharing notes between other developers. We use MS Teams at work and the interface for copying and pasting code snippets in and out of there is terrible

Notably requires no sign up - you can just create and share notes straight away. It's also completely free
Is there any programming that isn't terrible on mobile?
Sounds like user-agent strings all over again...
We learn from our mistakes.

If the consequences are too great, it makes people not want to make mistakes, therefore getting stuck.

If consequences are too small, people do not learn to think about "what could go wrong", and do stupid things over and over again.

In this day and age where everything gets recorded and shared, I tend to be more cautious.

However the smaller amount of mistakes gets shared to more people to learn from, therefore maybe we are learning faster this way?
quite so. time and autocorrect.
Exactly whatI've been trying to look for
> To question democracy itself, as not superior to everything else, is painful and frightening to many, as it fractures their worldview and lenses theyve built with which they understand the world.

What's truly frightening are the conclusions that follow this realization: most people do not think about their beliefs and straight up hate you if you question them; it's useless to debate those people since that brings only suffering and persecution; better to somehow seize power and impose one's world view on them.
Like most of here pointed out, I didn't charge high enough. When I started I was afraid if I charge too much, they will leave.

But still, I haven't learned from my mistakes. I charge way too less compared to what people posted here. I don't increase the price continuously. PLUS I don't market myself much. I heard word of mouth marketing is best for freelancers but I am yet to get a gig from word of mouth marketing.
> You made a mistake, there were consequences - but once that's over, you ought to be good as new.

The consequences for being found guilty of a crime are more nuanced than this suggests, although not so much in the US which is very focused on vengeance.

Let's take an example a sentencing example I sat in on:

The man had forged paperwork purportedly showing he'd paid a bunch of money for supplies, because he had already written a fraudulent claim for a large tax refund for his business, and the tax office wrote back asking for evidence of this expenditure. That was his last chance to say "Oops, that was er... a mistake" and maybe get a fine, once he decided "I'll just forge the paperwork" he was doomed to go to prison.

Item 1 on the court's agenda was to tell Companies House that the guilty man must not direct any companies. Never (unless a successful application is made to reverse this, which is unlikely) can this man serve as director or secretary of any type of company again. In his family business this means a son will now run the company - why? Because the freedom to direct a company is not essential and we evidently can't trust this guy to do so because he purposefully lied to the tax authorities. He doesn't need to "earn" that back, let somebody trustworthy do it instead.

The guy also got some months of prison time, after the court had reassured itself that this would not leave any dependants destitute -- no point sending one guy to prison only to have his kids turn to crime to get food right? But the fervent hope of the court is that this results in him being _reformed_ and no longer breaking the law.

We can also disqualify people who commit electoral fraud from participating in elections. Oh two government employees conspired to stuff a ballot for a $500 pay off? They're not just going to prison for a little while, they will also have a lifetime ban on standing as candidate in any election and from participating in any way, including as an ordinary voter. No more democracy for you motherfucker.

As to "eternal" punishment, in countries that don't have the Death Penalty (all of Europe for example) what else should we do with unrepentant murderers? Anders Breivik for example still expresses the belief that murdering a bunch of young volunteers was the right thing to do. We obviously can't be like "OK Anders, you've served your time, don't kill anybody else" because that's exactly what he'll do. So he will most likely spend the rest of his life in a cell - periodically psychologists will assess him, say nope he's still dangerous, and he'll stay behind bars.
I just did "Computer" 50 times and tallied the results.

Win = 32%
Lose = 68%

But here's the thing, the goal should not be to win, but to get ONE OF the highest numbers with reliability.

Now here's where Optimal Stopping Theory is not optimal.

42% of the time you lose by getting to the end. Meaning you drew all 50 cards and ended with likely a very small card.

The goal of this algorithm should be that you almost never get to drawing the 50th card. You always stop before then and end with a high number.

Therefore, I wouldn't consider this algorithm optimal. Likely you should draw fewer cards in the beginning.
Windows is the reason make is not a good choice. Visual Studio is a de-facto standard for Windows development and it's not exactly makefile-oriented.

The lowest common denominator for build instructions that works everywhere is literally "set your include paths like so and compile these sources".
- reasonable organized code doesn't take hours. even template heavy code is quite fast these days

- templates are type safe. it is just the error messages are not helpful a lot of times. C++20's concepts should help

- circular references. that's a thing in C as well. as soon as you need interact with your libraries user to allocate/deallocate resources.

C++ has a large surface to interact with. Yes you can shot yourself in your foot. However, the more you know you can use the features to your advantage instead of shotting yourself in the foot. At the point you gain more than you lose.
Exceptions are being fixed. See https://www.youtube.com/watch?v=os7cqJ5qlzo
In the Netherlands, there's a difference between universities (which are a form of scientific education, and often set you up for an MSc), and what they call "universities of applied science" (which are more practical in nature, and set you up a for BSc).

Studying computer science to become a software engineer is probably wrong, or at least not the most efficient choice. The study of computer science primarily sets you up to become a _computer scientist_.

The "problems" people face with universities are probably more about incorrect expectations of the students rather than false promises by the universities.