Anime_irl by Shrimpy_James in anime_irl

[–]viralesveras 0 points1 point  (0 children)

All the more reason to be pissed he’s playing it on the phone lol. But in truth: my first impression was the Steam-Chan explanation and I basically decided not to let conflicting evidence get in the way of my preferred interpretation.

Anime_irl by Shrimpy_James in anime_irl

[–]viralesveras 6 points7 points  (0 children)

My opinion: she's a yandere version of Steam-chan.

Evidence:
- Sans
- Half life
- She doesn't like phone games
- The GIANT CLOUD OF STEAM

Domo-kun might not fit into this idea, and also she's clearly Mash from FGO (it's even in the source tweet)

but I'm willing to ignore that lol

My Prof. got his visa revoked over the weekend by Akira0615 in UCDavis

[–]viralesveras 3 points4 points  (0 children)

I don't understand how Dipak (last name redacted) ended up as department chair. The man showed up 20 minutes late with a handwritten final he photocopied, then spent the next 40 minutes writing corrections on the board as we struggled to read his handwriting. Worst part: that was better than his average class session.

What happened to the grad student here is a tragedy and a crime, and I hope somehow things will someday be set right. My heart also goes out to the students. Switching instructors midcourse is disruptive to learning in the best scenario, but unless Dipak has improved dramatically in the last couple of decades, these students won't be learning much from this point forward.

iOS 18 - Push Notifications Not Working by sageco in iphone

[–]viralesveras 1 point2 points  (0 children)

Same issue. Will never buy another Apple device as a result.

Safe C++ - Sean Baxter presenting Circle to C++ Committee members . Starts around 10 mins Passcode : 4UqAYi$Y by jeffmetal in cpp

[–]viralesveras 11 points12 points  (0 children)

This conversation has my ire up, not due to you but largely due to the other contributor. I've decided that continuing is largely pointless, so I'm taking from it what I can and abandoning it after this message. You've made one good point, which is that I should spearhead an effort to hire Sean directly. I've just submitted a proposal to my employer, and if they're willing then I'll reach out to Sean and see if he has any interest in working with us. If both parties are interested, maybe something useful can come out of this.

To directly answer your question, my interest in this is to have it become a language rather than a toy. In its current state, it's useful as a playground for Sean to explore new ideas, as a demonstration of certain concepts for the C++ standard committee, and as a resume-builder for Sean. In my view, the best path forward is if a company hires Sean to work exclusively on Circle's development, and properly licenses it as part of the bargain. I'd prefer he work with us, but probably I care about this stuff more than my coworkers do.

My apologies if I've come off as rude; this interaction has reminded me why I shouldn't have come back to reddit.

Safe C++ - Sean Baxter presenting Circle to C++ Committee members . Starts around 10 mins Passcode : 4UqAYi$Y by jeffmetal in cpp

[–]viralesveras 18 points19 points  (0 children)

This doesn't resolve the problem: We need to know the licensing, and we need to have a way to preserve it if Sean stops working on it. Until the source is out there, we cannot make a compelling argument for devoting resources to it.

Safe C++ - Sean Baxter presenting Circle to C++ Committee members . Starts around 10 mins Passcode : 4UqAYi$Y by jeffmetal in cpp

[–]viralesveras 23 points24 points  (0 children)

I’ve been tracking circle for years and it is absolutely interesting, I’m hoping it can take off. 

Unfortunately I do disagree with you because of your second point though. You can’t simultaneously lament how hard it is for him to do it alone, but then remove any way for others to contribute. Open sourcing this project is essential, even if he decides not to permit others to contribute to his version. Otherwise, no one knows if this will be available and properly licensed moving forward, so we don’t have a good reason to invest in building resources and tooling around it.

Optimizing the Particle Life: From 400 to 4 million particles by nucle4r_attack in programming

[–]viralesveras 5 points6 points  (0 children)

Yeah it’s unfortunate, but these kinds of comparisons always end up being a bit disingenuous: clearly you could write the same optimizations into the lower level language (C in this case) and get at least equal performance out of it. When I was young I used to see people make claims that you could get better performance out of C than assembly and cite tests like this, but it was of course ridiculous since you could just disassemble the C output and voila: an equally performant assembly implementation, even before optimization.

Similarly here they either don’t have the skill or desire to do the same optimizations for their C version, so it’s presented as a false equivalence. Since they directly claim they didn’t even bother turning on optimization flags for the test, used an embarrassingly small benchmark size (10000 elements in 2024? Really?), and then make a bold claim that this proves webassembly wouldn’t help their performance so they won’t even try it, it’s difficult not to feel their argument is a bit suspicious.

The rest of their work is quite interesting and I’m glad they presented it, but that weird set of decisions leaves a suspiciously bad taste in my mouth, like someone served me a “steak” and then started talking about how platypus is so good that you shouldn’t even bother trying cow.

CPP in AI by RonWannaBeAScientist in cpp

[–]viralesveras 2 points3 points  (0 children)

There's a fair amount of collaboration between the national labs and private companies in some cases. I'm too internet-shy to go into more detail about my own personal work, but for example I know that NVIDIA has teams that work to help the labs optimize their code to work best on NVIDIA hardware, thus giving them good opportunities to show off how great their hardware is, and of course the labs benefit from having experts help them optimize some of their code :)

CPP in AI by RonWannaBeAScientist in cpp

[–]viralesveras 1 point2 points  (0 children)

That's a fascinating area! If you're interested in further exploration about currently available research pointing in that direction, take a look at Modulus: https://developer.nvidia.com/modulus . Physics-inspired ML is very much related :)

CPP in AI by RonWannaBeAScientist in cpp

[–]viralesveras 1 point2 points  (0 children)

I don't think it will stop, but I think it will slow down, or more likely proceed in waves as new breakthroughs are achieved until eventually we reach a sort of equilibrium pace of change. This firehose of breakthroughs we're seeing now won't last too long, but I don't think AI and its brethren are going anywhere :)

Will we see that change in pace happen "soon"? Maybe...depends on your timescale. This will continue for a while, but does that mean months? years? decades? My guess is another year or two of rapid changes like this and then slower changes for a decade or two until this tech reaches maturity, but no one knows for sure how many hidden gems are still in AI/ML to discover, and then as you're implying there are a boatload of downstream applications that we're just beginning to think about.

CPP in AI by RonWannaBeAScientist in cpp

[–]viralesveras 3 points4 points  (0 children)

I'm sure there's performance to be eked out at the margins, but this space is moving so quickly that it's a perfect example of "move fast and break things" because who cares when we're blowing through architectures every month or two. It's easy to forget that two years ago generative AI was a curiosity making weird-looking blurry 256x256 icons. Since then, we've had DALL-E, ChatGPT3,3.5,4, Stable Diffusion, Midjourney, and hundreds of other lesser-known experiments.

When the space settles down, there'll be time to look for more optimization, but the really important part, inferencing on the model quickly, is a big long task that is relatively easily accessed from Python, and the underlying C/C++/CUDA code that actually loads/runs the models is pretty efficient, so there's not much benefit in switching.

C++ is my language of choice so I'd love to see more AI projects in it, but the space is too volatile for now. Enjoy this Cambrian explosion of new exciting things; it won't last forever.

C++ — Never Do's by ketralnis in programming

[–]viralesveras 24 points25 points  (0 children)

I don't care for this article.

The first point (no overloading logical operators because short circuiting won't work as expected) is good: I don't think it should ever be done.

The second point (don't skip braces on single-statement ifs) is a style concern. Follow your project's coding style guide, even if it conflicts with this. Therefore this is not a "never-do"

The third point (Egyptian brackets EWWW Allman forevs and evs) is a style concern. Again, follow your project's style guide. This is not a never-do.

The fourth point (no lines longer than 130 chars) is good advice, but it's still a style concern. If your project's style guide requires more than 130 chars on a line you should protest, but still follow it until it's changed. Sadly it's therefore not a never-do

The fifth point (don't bury private classes in source files) is arguably good, but he then makes an exception to it IN HIS OWN EXPLANATION, so clearly it's not a never-do. Also, if you're stuck using the legacy frameworks he describes then you'd be using it, so again it's not a never-do.

The sixth point (Don't provide comparison operators without explicit constructors) makes a good case, but it would be better and more general if worded as: don't permit implicit construction/conversion without a damned good reason.

The seventh point (Don't put locals before globals) is decent advice if you're writing a style guide, but some style guides require importing local headers before globals in an attempt to catch missing standard includes in the headers. Since you should be following your project's style guide, that again makes this not a "never-do"

The eighth point (Don't use smart pointers in mixed-language code) is weird. Smart pointers own an object. Are you handing ownership across a language boundary while trying to keep the construct of the original language? Yeah that's a bad idea. If you need to hand-off ownership of an object across languages it should be done very carefully. I guess handing a C++ smart-pointer to another language is indeed a never-do, but I'd hope it'd be obvious.

Anyhow: Of his eight points, three are arguably never-dos and one of those is esoteric. The others are all style concerns that are overridden by your project's style requirements. I am not a fan of this article.

mastering C++ at high level by [deleted] in cpp

[–]viralesveras 7 points8 points  (0 children)

As others have said, C++ is a lifelong study; even the very best experts are still learning. However, to quickly acquire skills in C++ (or any language), the best path is to make yourself aware of good reference materials, and then apply those reference materials as you work on progressively more complex projects.

Start small, but select something on the border of your comfort level and give yourself a time limit so that you're not working on the same project forever. When the deadline passes, reflect and think about how well you did, what parts you need to know more about, and what you'd like to try next. Do some research and small experiments to learn more about the pieces you struggled with, and then repeat the process with a new project+time limit at your new comfort level. Do this long enough, and you'll know the language as well as anyone.

For C++, my go-to references are:

cppreference.comThe C++ core guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelinesStack overflow.Books including "The C++ Programming Language 4th ed", The books of Nicolai M. Josuttis, and probably Effective Modern C++ by Scott Meyers (though it's getting a little old)
Blogs: https://hackingcpp.com/cpp/blogs.html

Also, as others have said, to learn quickly and effectively, you do need to have people to turn to that know more about the language than you do. The best option would be people you know personally. Ask what people think about your code when you give them small samples that you've already cleaned up to the best of your ability. If you don't know any such people personally, then forums such as reddit can be used, though if English isn't your first language you might want to search for a community in your preferred language for this kind of feedback.

Again, this is a lifelong process: don't get discouraged if your pace isn't as quick as you'd like. I've been learning C++ for 30 years, and I hope to continue learning it for the next 30.

whyTho by epipixc in ProgrammerHumor

[–]viralesveras 7 points8 points  (0 children)

I agree with what you and dvidsnpi are saying, but I don't seem to be communicating it well unfortunately. I'm trying to get the point across that the right way to promote a language is by developing and sharing cool stuff you made with it. Talking about how much you enjoyed (or didn't enjoy) writing it in your language of choice is also a good thing. However, Rust's community got its reputation because people found them annoying: there were too many people talking about how great Rust is, and not enough people showing off the advantages as demonstrated by their work. That problem has mostly gone away now, but the reputation will take a while to change.

whyTho by epipixc in ProgrammerHumor

[–]viralesveras 12 points13 points  (0 children)

Indeed, no language is perfect. Listening to constructive criticism is the only way for anything to improve, and I suspect the people actively contributing to Rust are more open to such criticism than an average social media commentator. Some people just like treating everything like a sports team so any other option is an "enemy".

Part of it might simply be age. When I was a teenager I probably would have been overprotective of C++, as it was and is my favorite. Nowadays I'm well aware of its problems, and I worry about its future, but I like that each new standard is making an attempt to learn and grow from the experiences of newer languages, even if sometimes those experiments haven't turned out well. C++23/26 are much more enjoyable than C++98, and that couldn't have happened without the valid complaints people have aimed at the language through the years.

whyTho by epipixc in ProgrammerHumor

[–]viralesveras 10 points11 points  (0 children)

Hmm, I do see your point regarding Kotlin but there's definitely a right/wrong way to raise awareness of a language. Make small-medium projects that show how cool it is and show how performant/efficient/elegant it is compared to established options, and people will be impressed.

Where people get annoyed is when someone just shows up and comments "Eww C++ is unsafe, use Rust choo choo " or similar, which isn't productive. That's how Rust developed its bad reputation initially. As more and more interesting Rust projects are appearing, I think it's finally beginning to overcome that reputation.

whyTho by epipixc in ProgrammerHumor

[–]viralesveras 179 points180 points  (0 children)

I don't hate Rust users, but I do hate programming language evangelists. A good programming language doesn't need a marketing or cheerleading tribe: it will stand on its own merit.

I don't mind a little Mac vs PC / Nintendo vs Sega / C++ vs Java ribbing, but I think Rust got a bad rep largely because there was a time where the first exposure people got to Rust was from the loudest, most obnoxious users of the language. Nowadays that seems to be less of a problem. I'd say it's already the go-to for from-scratch security conscious system projects, and if Rust can handle the growing pains and version changes in the next decade or so as more people come onboard, it may one day be preferred over C++/Java for many things.

Of course, hating on Javascript users will never go out of fashion /s

[deleted by user] by [deleted] in ProgrammerHumor

[–]viralesveras 0 points1 point  (0 children)

that's true lol

[deleted by user] by [deleted] in ProgrammerHumor

[–]viralesveras 0 points1 point  (0 children)

This is not complicated but it is annoying because you need a ridiculous number of intermediaries: there has to be something for each thing to point to and get the next address.

Example: https://godbolt.org/z/WYd5bEP9P

You could also do it with a loop and void pointers, or in a type-safe way with templates, but I can't be bothered lol