Hacker Newsnew | past | comments | ask | show | jobs | submit | NetMageSCW's commentslogin

My applications web site (hasn’t been updated in a while):

http://scw.us


the site can't be reached :(

Multithreading can made an application more responsive and more performant to the end user. If multithreading causes an end user to have to wait less, the code is more performant.

Yes it can used to reduce latency of a particular task. Did you read my points about when it’s not helpful?

Are people making user facing apps in rust with GUIs?


> Are people making user facing apps in rust with uis?

We are talking not only about Rust, but also about C and C++. There are lots of C++ UI applications. Rust poses itself as an alternative to C++, so it is definitely intended to be used for UI applications too - it was created to write a browser!

At work I am using tools such as uv [1] and ruff [2], which are user-facing (although not GUI), and I definitely appreciate a 16x speedup if possible.

[1] https://github.com/astral-sh/uv

[2]https://github.com/astral-sh/ruff


> There are lots of C++ UI applications.

Is there? UI applications historically used to be written in C++. But in this decade, I don't think many new GUI are being written in C++


Games are, anything based on Qt/KDE, UWP/WinUI (even if it is mostly Microsoft employees).

Now even if it is Flutter, React Native, or Chrome/Electron, they are powered by C++ graphics engine, and language runtimes.


The engine being written in C++ does not mean the application is. You're conflating the platform with what is being built on top of it. Your logic would mean that all Python applications should be counted as C applications.

Indeed too many fake Python libraries.

Usually it does not reduce latency but increases throughput.

Multithreading is an invaluable tool when actually using your computer to crunch numbers (scientific computing, rendering, ...).


> Are people making user facing apps in rust with GUIs?

yes


I made this with egui and typo: https://github.com/PJaros/menu_pdf

Works under Linux and Windows.


got any to share? Should I assume native gui in these these rust performance debates?


What do you think are good use cases for multi threading in these editors?

"don't block the ui thread" is a pretty classic aphorism in any language.

Hmm. "Fearless concurrency" and the flagship examples are... background threads for search and not freezing the UI?

That is GUI programming 101 from the Win32 era. Every Tcl/Tk app, every GTK app, every Qt app has been doing this for 25+ years.

If Rust's concurrency story were genuinely revolutionary, you would expect examples like:

- Lock-free data structures that are actually hard to get right

- Complex parallel algorithms with non-trivial synchronization

- Work-stealing schedulers with provable correctness

Instead we have "we run grep in a background thread"?


When a basic question is asked, a basic answer is given. I didn’t say that I think that’s the coolest or most interesting answer. It’s just the most obvious, straightforward one. It’s not even about Rust!

(And also, I don’t think things like work stealing queues are relevant to editors, but maybe that’s my own ignorance.)


You cannot have it both ways though. Either these are meaningful examples of Rust's benefits, or they are not worth mentioning.

In a thread about Rust's concurrency advantages, these editors were cited as examples. "Don't block the UI thread" as justification only works if Rust actually provides something novel here. If it is just basic threading that every language has done for decades, it should not have been brought up as evidence in the first place.

Plus if things like work-stealing queues and complex synchronization are not relevant to editors, then editors are a poor example for demonstrating Rust's concurrency story in the first place anyway.


Here is the question that was asked:

> What do you think are good use cases for multi threading in these editors?

That question is not even about Rust. I answered the question, not some other related question.


The editors (and the desktop environment) are examples for apps with a GUI in Rust, to show people indeed create apps with GUIS in Rust, nothing else.

search, linting


Well, what about small CLI tools, like ripgrep and the like? Does multithreading not matter when we open a large number of files and process them? What about compilers?

Sure. But the more obviously parallel the problem is (visiting N files) the less compelling complex synchronization tools are.

To over explain, if you just need to make N forks of the same logic then it’s very easy to do this correctly in C. The cases where I’m going to carefully maintain shared mutable state with locking are cases where the parallelism is less efficient (Ahmdal’s law).

Java style apps that just haphazardly start threads are what rust makes safer. But that’s a category of program design I find brittle and painful.

The example you gave of a compiler is canonically implemented as multiple process making .o files from .c files, not threads.


> The example you gave of a compiler is canonically implemented as multiple process making .o files from .c files, not threads.

This is a huge limitation of C's compilation model, and basically every other language since then does it differently, so not sure if that's a good example. You do want some "interconnection" between translation units, or at least less fine-grained units.


And yet despite that theoretical limit C compiles faster than any other language. Even C++ is very fast if you are not using header-only style.

What’s better? Rust? Haskell? Swift?

It’s very hard to do multithreading at a more granular level without hitting amdahl’s law and synchronization traps.


It reminds me of the joke that "I can do math very fast", probed with a multiplication and immediately answering some total bollocks answer. - "That's not even close" - "Yeah, but it was fast"

Sure, it's not a trivial problem, but why wouldn't we want better compilation results/developer ergonomics at the price of more compiler complexity and some minimal performance penalty?

And it's not like the performance doesn't have its own set of negatives, like header-only libraries are a hack directly manifested from this compilation model.


No it doesn't, try it against a language with modules support, even the oldie Turbo Pascal for MS-DOS.

That article did not contribute anything to the answer of the question quoted.

It did not contribute to a yes/no answer, which is good, because it is not answerable with "yes" or "no", and the article points that out and explains why. So I would disagree; it does contribute to answering the question, in the form of spelling out why it is unanswerable.

Compare:

"Have you stopped beating your wife yet?"

"I do not beat my wife."

The response contributes to the answer, even if it brings you no closer to "yes" or "no".


What would you have them publish instead? Your curiosity does not overcome the right to privacy of those involved.

> What would you have them publish instead?

The statement that is published places blame, if not accusations of criminal behaviour, on their business partner.

IOW, they already overshared with the intent of damaging the reputation of their business partner.

In my mind, they are already behind; had they released the standard business line "Our relationship with $X has come to an end; we apologise for any inconvenience caused" I wouldn't be so quick to judge them.

But, now I *am judging them, because they clearly felt personally aggrieved by what happened, enough to imply the worst without actually coming out and saying what happened.


nobody wants corporate speak. They are saying they are cutting ties and it's not their fault. No harm in that if it's true.

There certainly could be harm if it's false though, which is the whole point. And they did not give any information to affirm who's fault (if anyone) it was besides hearsay

that's not the point as far as I can tell. The parent was saying the remarks were oversharing, not false.

> No harm in that if it's true.

Same as saying "Behringer is a convicted paedophile": no harm if it's true, right?


Are you saying they're lying? That's a different issue than what I understood him to mean "it's unprofessional". It's flat out illegal.

I would rather they published nothing. There is no need to make any of this public. Just stop selling Adafruit products and stop selling to Adafruit. If anyone asks, then you can say "we don't do business with them any longer". The public doesn't need the rationale.

That's it. Everything else is dragging the community/customers into a fight that they didn't ask for.


> What would you have them publish instead?

Is there any duty to publish anything? They could release nothing, or nothing with any details, if they have some obligation.


Yes, but Sparkfun didn't "release nothing", and now they are opening themselves up to a libel suit.

It would have been far better had they not published anything at this point.


Something more concrete like "on Tuesday at 9pm an adafruit employee sent an aggressive email which violated our COC by calling one of our employees a 'stupid fuckface'".

I don't think that level of detail would be a privacy violation legally and imo not morally either


Nothing, you either want to talk about a problem or not. Throwing vague, empty claims is just a cheap attack on other's company public image

Nothing. They could just cut ties and be done with it.

> What would you have them publish instead?

How about nothing and continue to resolve the matter privately? If you intentionally leave out important details and context then you're just manipulating public sentiment to gain leverage on the other guy.


If you can't publish a complete, detailed, specific description of what you're alleging, with names, dates, quotes, and whatever, then you publish absolutely nothing. Publishing vague and unanswerable accusations is scumbag behavior.

It seems like releasing more would have probably broken the exact same rules they are claiming AdaFruit broke.

if they didn't want to say more, they should have said less.

the way that normal serious businesses handle situations like this is to simply stop carrying the product, instead of publishing vague, unverifiable accusations of wrongdoing. and then if somebody notices and asks questions, you'd give a statement like "unfortunately we could not come to an agreement to continue our relationship with this vendor, but we're happy to be able to continue offering a number of other comprable products".


> Your curiosity does not overcome the right to privacy of those involved.

I agree in principle, but is there an actual right to privacy in this instance?

I'm asking this in the legal sense, not a moral sense.


There is no right to privacy, but they may have an NDA. Also, if they get too specific, they could open themselves up to a libel lawsuit. Though, if they were consulting a lawyer I don't think there would be any release. Simply cut business ties, and move on, it happens all the time, and would leave room to patch things up later.

"they could open themselves up to a libel lawsuit."

They already have.


I think in this case it would be Defamation. But the claim is generic enough to be provable (ie private matter, private emails, CoC violation)

Libel is a type of defamation. Just to be pedantic.

pedantic is the best kind of pedantry.

In my opinion, you either publish everything and every detail or simply publish nothing.

Here is the tl;dr: My business partner sucks and is a bad person. I am not going to say what he did but he sucks. I am cutting him off.


Don’t attention whore on the internet if you want privacy.

[flagged]


smeeagain2 says:

> Maybe the AdaFruit founder said something unacceptable like "it's OK to be white" or "a man can't become an actual woman just by pretending that he is." That might explain the conflict.

Why would you just invent identity politics issues to be mad about?


Since this IRB approved the study, what good were they?

That person died in a car accident and they were wearing a seatbelt! Why would anyone wear a seatbelt? They are clearly useless.

> That person died in a car accident and they were wearing a seatbelt! But in any story not about this car accident people generally cast them as the useless.

This story isn't evidence that IRBs are always useless, but also it's not an example of them being useful. The thing this story shows is they are sometimes useless.


Yeah, that's reasonable.

That seems like a bad faith reinterpretation of the context that the question was being asked in. The statement that the question pertained to was, "in any story not about this Linux kernel fiasco people generally cast them as the bad guys."

If a lot of money is involved, it's only a matter of time before all oversight is corrupt. Similarly, you can safely assume all data that is on an important (big money) topic is fake.

But a lot of money was not involved here.

So explain the existence of liberals and Democrats in America.

I did. Different genetic expressions. The intelligence to realize language is just memes, not truth.

Scott Adams put himself on a pedestal above anyone else in his comics; he was Dilbert. The only smart person in the room. He was always a celebrity obsessed with his own existence. Little difference between him and Tim the Toolman or a Kardashian.

Low effort contributor whose work people laughed at due to social desirability bias. No big loss.


That's a really wild, miserable reading of the strip. For one, Adams himself was a manager, not an engineer, so he had more in common with the PHB, or even dogbert/catbert than Dilbert. For another, he explicitly said Dilbert was based on a specific, undisclosed person he knew. For yet another, many strips were based on anecdotes/stories sent to Adams by his readers.

it doesn't take even a serious reading of Adams to realize he was dogbert, not Dilbert. He mocked Dilbert, he thought he was a loser that did understand how to manipulate the system.

The amount of money involved should have nothing to do with privacy. You don’t get to violate people’s rights just because it was expensive.

Then why did you mention Soyuz when Dragon is coming down early?

How is “this system doesn’t deadlock” not the same as the halting problem?

Proving that a particular program terminates does not require deciding the halting problem on arbitrary programs (same for deadlock freedom)

Deadlock is literally a halting problem.

We can't know for every possible program if it halts or not, but the complexity of programs we can determine is increasing as tools and techniques get better


That clearly may be doing some heavy lifting. It is assumed that trivial answer wasn’t what was intended for the problem, but unless someone asked Erdos, I don’t think we know.

Considering that he did some work towards the problem, tackling non-trivial cases, I think we do know. There's no way he wouldn't have perceived trivial solutions at some point.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: