By your own post, you seem to consider Jews a separate population from gentile whites. If that were the case, I'd suggest you double check the relative (to national proportion) population of non-athelte/legacy gentile whites at Yale and similar schools before making posts like this.
Employees of the US public school system abuse several orders of magnitude more children than the global Catholic clergy. Maybe I shouldn't be taxed to pay the rapist employees of a system my family and I don't benefit from before we start talking about the churches.
Don't really remember how, but my family switched to using a single snapchat group to share baby and pet pics, which imo works better for that use case. Even taught my grandmother how to open stories, even if she sometimes gets lost when they update the app. Maybe not much better than FB on most issues, but it's nice to get in and out without the facebook timesink, and these kids (probably) don't have to worry about embarrassing pictures on the public internet forever.
"We want to make sure Discord feels super snappy all the time" is hilarious coming from a program that is infamous for making you read 'quirky' loading lines while a basic chat application takes several seconds to start up.
Don't really know about Go versus Rust for this purpose, but don't really care because read states (like nearly everything that makes Discord less like IRC) is an anti-feature in any remotely busy server. Anything important enough that it shouldn't be missed can be pinned, and it encourages people to derail conversations by replying out of context to things posted hours or days ago.
To be fair it really doesn't take that long, and often it's because it's auto updating, but it's not more then a couple seconds.
The big thing IMO is that once started I normally leave discord running, and most actions within discord itself feel very snappy - E.g. You click on a voice channel and you're instantly there. I think that's what they mean, they're trying to keep the delay for such an action low. Sometimes you click a voice Chanel and there's a few seconds of delay, those for some reason more annoying then the long (ish) startup time
I don't see why that's hilarious. Lots of programs take a second or two to load and it only happens once on boot for me. "Read states" is just discord telling you which channels and servers you have unread messages in
Discord takes longer to start up than Microsoft Word.
Desktop development is a total wasteland these days -- there isn't nearly as much effort put into optimization as server side. They're not paying for your local compute, so they can waste as much of it as they want.
In the case of Discord, yes. That's a valid argument, whether or not it's truly important, I'm not sure. It certainly is a waste of time to invest improving when their current system works perfectly fine.
They're investing in server-side project that are also perfectly fine. In this case, re-writing an entire module in a different language to eek out a tiny bit more performance!
But on the client side, it's arguably the slowest to launch application I have installed even among other Electron apps. Perfectly fine.
This completely re-enforces my original statement: "Desktop development is a total wasteland these days -- there isn't nearly as much effort put into optimization as server side" Desktop having horrible startup performance is "fine" but a little GC jitter on the server requires a complete re-write from the ground up.
I think this is a statement that is ignorant to our development efforts, and how our team is staffed, and what our objectives are.
First and foremost, we do care deeply about desktop performance. We shipped this week a complete rewrite of our messages components, that come with a boatload of performance optimizations, in addition to a new design. We spent a lot of time to do that rewrite in addition to applying new styles, because given what we know now (and what's state of the art in React world), we can write the code better than we did 3+ years ago. In terms of total engineering time spent, the rewrite of messages actually took much longer than the rewrite of this service from go to rust.
That being said, the desktop app does load much slower than we'd like (and honestly than I'd like personally.) I commented in another thread why that is. That being said, the person who is writing backend data-services, is not the one who's going to be fixing the slow boot times (our native platform team). These are efforts that happen independently.
As for our motivations for using rust, I think saying that "a little GC jitter on the server requiring a complete rewrite" is one of many reasons we wanted to give rust a shot. We have some code that we know works in a Golang. We want to investigate the viability of Rust to figure out how it'd look like to write a data service in rust. We have this service that is rather trivial, and has some GC jitters (that we've been fine with for a year.) So, an engineer (the author of this blog post) spends some time last year to see what it'd look like to write an equivalent service in rust, how it'd perform, how easy it'd be, and what the general state of the ecosystem is like in practice.
I think it's easy to forget that a lot of work we do as engineers isn't all about what's 100% practical, but also about learning new things in order to explore new viable technologies. In this case, this project had a very clear scope and set of requirements (literally rewrite this thing that we know works), and a very well defined set of success criteria (should perform as-good or better, see if a lack of GC will improve latencies, get a working understanding of the state of the ecosystem and how difficult it would be to write future data services in rust vs go.) Given the findings in our rewrite of this service, running it in production, and now using features that have stabilized in rust, we're confident in saying that "in places where we would have used golang, we consider rust viable, and here's why, given our exercise in rewriting something from go to rust."
I feel that it's not really fair to expect them to natively implement their app on every platform and put tons of resources into it's client performance - anecdotally discord is a very responsive app - see [0].
But think of it this way, all the effort they put into their desktop app works on all major OSes without a problem. They even get to reuse most of the code for access from the browser, with no installation required.
Now imagine approaching your PM and saying "Look I know we put X effort into making our application work on all the platforms, but it would be even faster if we instead did 4x effort for native implementations + the browser".
[0] From what I've seen in the "gamer community" is that most gamers don't care that much about that kind of extra performance. Discord itself doesn't feel slow once it's started. Joining a voice channel is instant, quickly switching to a different server and then to a chat channel to throw in a some text is fast and seamless (Looking at you MS Teams!!!).
Sure Mumble/Teamspeak are native and faster, but where are their first party mobile apps and web clients? One of the incredible things Discord did to really aid in adoption was allow for web clients, so when you found some random person on the internet, you didn't have to tell them to download some chat client, they could try it through their browser first.
tl;dr
Yes electron apps can be slow, but discord IMO has fine client side performance, and they clearly do put resources into optimizing it. Yes it "could be faster" with native desktop apps, but their target community seems perfectly content as is.
A lot of the startup cost right now is in our really ancient update checker. There are plans to rewrite all of this, now that we understand why it's bad, and have some solid ideas as to what we can do better.
I do think it's reasonable to get the startup time of Discord to be near what VS Code's startup times are. If we remove the updater, it actually starts pretty fast (chromium boot -> JS loaded from cache) is <1s on a modern PC. And there's so much more we can do from there, for example, loading smaller chunks in the critical "load and get to your messages path" - being able to use v8 heap snapshots to speed up starting the app, etc...
The slow startup time is very much an us problem, and not an electron problem and is something I hope we'll be able to address this year.
When you guys do address it could I pretty please request you do a blog article about it?
Electron startup time as well as v8 snapshots have been a hot topic for a looooong time. I actually started a pull request for it in 2015 [0]. My pull request was focusing on source code protection, but ANY information on how you use v8 snapshots, etc. would be awesome!
Are you referring to the only Purdue I know of, which is a flagship state university known for its engineering programs? I guess it's small compared to Ohio State and liberal arts-focused compared to Georgia Tech.
GGPO (the fighting game rollback implementation) simply predicts that each player's inputs on frame N+1 is the same as frame N. This works well enough for fighting games but may not generalize, especially in games with precise analog inputs.
Also, there's a hard requirement that in order to roll back 3 frames the engine has to be able to simulate re-running those 3 within the timespan of one frame, which is sometimes an issue when trying to patch this onto a finished game.
The only up-to-date commonly used randomizers with meaningfully common impossible states I've seen are in Fire Emblem, which is difficult enough to begin with that unlucky changes to earlygame units and bosses can create a (near) unwinnable fight. You also have to deal with alternate loss conditions such as NPCs that cause game over on death and change to a class that is frailer than default or unable to move on the terrain type they spawn on.
Incredibly, the OP argues in favor of "wishing people smart makes them smart" by citing a famous example of a fraud! It conflates expectations of behavior influencing people who want to confirm, with expectation of success creating success.
As with most psych studies, there's probably a grain of truth -- of course investing in people tends to make them more successful, but it's not simple magic tricks.
Here in Ontario, prices for basic health care are regulated. So the hospital doesn't get to charge $3,000 for that bag unless this is a procedure not covered by basic health care, or if the government has already approved that pricing, and it is the same in every hospital.
On the other hand, the private room you're in is not covered by basic health care, so if they feel like charging you $3,000 a night just for the room, or $1,000 for television, or $500 for WiFi, that's allowed.
If a nurse comes into your hospital room with a bag of saline you're going to check the price tag and argue with him about whether it's the right brand?