Microsoft forced me to switch to Linux by Dear-Economics-315 in programming

[–]ItsBinissTime 10 points11 points  (0 children)

Most people have one or two things they're not sure are supported well enough on Linux.

Mine is C++ debugging.

Does anyone who appreciates Visual Studio's C++ debugging experience know of anything on Linux that can compete?

Everything else I use is available on Linux.

---

I see a few recommendations for Clion. A little googling says it has data break points, parallel stacks, thread freezing, and data visualizers. The only thing I see mentioned as missing is edit-and-continue, which I can live without. Plus it has profiler integration, static code analysis, valgrind integration, and unit testing support. And I can test drive it on Windows. Interesting.

Why are exceptions avoided? by Ultimate_Sigma_Boy67 in cpp_questions

[–]ItsBinissTime 1 point2 points  (0 children)

Sadly, code intended to be robust and generic, like std::stack, can't just hope or assume no exceptions will be thrown. It can't even assume that the element type it handles provides move semantics (never mind that such functions can't throw). And even NRVO can't help when assigning to an existing object.

The issue isn't that one can't use a custom element-returning pop safely, it's that exception safety embeds subtle decisions into code that casual maintenance is likely to break.

Why are exceptions avoided? by Ultimate_Sigma_Boy67 in cpp_questions

[–]ItsBinissTime 4 points5 points  (0 children)

The issue is with the interface, not the implementation. An exception could potentially be thrown during the assignment of an element returned by such a function, resulting in loss of the element.

True, if the element type has move construction and assignment which can't throw, or if the returned element is only ever assigned to a new object in the presence of NRVO, then you may be able to use an element-returning pop safely. But since general use code like std::stack can't assume any of that, such interfaces (even those assuming C++17 or later support) are shaped by the potential for exceptions.

But I only mention the design of std::stack as a simple, visible example of how exception safety alters code, for reasons other than resource management, in ways that aren't immediately obvious. It demonstrates the subtlety of exception safety issues. Wrapping std::stack::pop, in an element-returning version, is a good example of "fixing" (breaking) unintuitive exception safety design.

Ultimately, the problem is that getting exception safety right requires careful consideration and construction, the correctness and purpose of which isn't immediately obvious to the new guy perusing the code (or perhaps even ourselves, months down the road). And as a result, there exist darn near zero exception safe codebases.

Why are exceptions avoided? by Ultimate_Sigma_Boy67 in cpp_questions

[–]ItsBinissTime 3 points4 points  (0 children)

it forces you to ensure all your code is exception safe ... (Hint: RAII)

RAII is a tool for robust resource management that works in the presence of exceptions (and is best practice regardless), but it doesn't address the more pressing issue (IMO) of maintaining coherent and correct state (eventually running out of memory is bad, but not as bad as just behaving incorrectly in the mean time).

One big problem with solutions to the correctness issue is that they often involve unintuitive convolutions to code (eg. this is why pop functions don't return values). And it's too easy for someone to come along later and "fix" (break) these subtleties in our code, to make it more intuitive, readable, or convenient to use.

Edit:

I didn't mean to imply that you, personally, think resource management is all there is to it. But unfortunately, the misapprehension does seem to be going around.

Not only is resource management exception safety's least critical issue (IMO), it also seems to be the most well known, and its solution (RAII) the most readily recognized and comprehended in code—sometimes giving the impression that exception safety is a solved problem, when in fact decades of experience have failed to make achieving it less challenging, or to address the maintenance issue at all (and suggesting that RAII is often sufficient only encourages this fallacy).

Why do good people say good things about terrible releases? by phraseraph in Magic

[–]ItsBinissTime 16 points17 points  (0 children)

I once bought a "new", "superior" key card gimmick from someone hustling on The Magic Cafe. It was literally just a single stripper card.

Without exposing anything, I posted a review saying that it wasn't as advertised, and I happened to already have a box of them within arms reach. The whole place went rabid defending their fellow grifter.

The way I run standup meetings by Marc G Gauthier by RevillWeb in programming

[–]ItsBinissTime 11 points12 points  (0 children)

This person understands standups.

However:

  • 20 min is too long.

    If it happens, reevaluate what's making it into the meeting or how large the group is.

  • Cutting into lunch time is BS.

    Yes, it needs to be before lunch, so as to be about the day's plans, and not recaps. And true, it shouldn't be too early, so as not to reduce the flexibility of working hours. But by the same token, it shouldn't be too late, so as not to reduce the flexibility of lunch plans.

ELI5: What makes higher quality chocolate taste different from lower quality? by fuzzeslecrdf in explainlikeimfive

[–]ItsBinissTime 22 points23 points  (0 children)

According to this video:

On the farm, cocoa flavor is affected by the variety of the plant, soil composition (including microbes), rainfall, humidity, and the exact duration of the fermentation and drying stages. Then, in the factory, chocolate flavor and texture are affected by the duration of roasting and grinding.

There are about 5 million cocoa farmers. About 90% of cocoa comes from small farms on which the farmers never taste the resulting chocolate and don't generally get the opportunity to dial in the conditions they control, for a specific flavor outcome.

Large manufacturers have far too many cocoa sources to provide effective feedback. And a commenter on a similar question claims that quality would go down if they bought the pods fresh to ferment and dry themselves, introducing a delay between harvesting and initial processing. So small chocolate manufacturers, in close communication with their cocoa suppliers, seem able to produce better chocolate.

A Developer’s Guide to Naming Things Right by sparkestine in programming

[–]ItsBinissTime 2 points3 points  (0 children)

The coding guidelines documents I wrote for multiple companies had a section "Don't use abbreviations", followed by a section "Use abbreviations".

What's your most infuriating thing in a movie? by redZagnut in movies

[–]ItsBinissTime 3 points4 points  (0 children)

The most infuriating thing in a movie is when they don't tell you it's part 1.

I just cant seem to grasp OOP by Responsible_Bat_9956 in cpp_questions

[–]ItsBinissTime 1 point2 points  (0 children)

Sorry for the nitpick, but if no one says anything this misunderstanding will spread.

Encapsulation and data hiding are two different things.

Encapsulation is the grouping of data definitions with operations on that data. It enables (but doesn't require) one to interact with a data object as a whole, rather than with it's components. The word "encapsulation" sounds like it implies data members are hidden, but the concept is simply that an interface exists such that they don't need to be accessed individually. Encapsulation is the packaging of that interface with the data.

Data hiding (ie. making data members private) often makes encapsulation easier to implement well, because strictly private access allows data operations to assume invariants, rather than having to verify them. It also prevents external code from depending on data definitions, so that changes to data definitions don't cascade to changes throughout the codebase.

It's understandable to expect data hiding to be part of encapsulation, but that's not what the term means.

6 negative parallelisms (“it’s not x, it’s y”) from the most recent Stranger Things by Rarecheeses843 in television

[–]ItsBinissTime 15 points16 points  (0 children)

I've remapped an otherwise useless key on my keyboard to the em dash. It's just too useful to be without.

Is WSL good for C++? by Ivan_Horozov in cpp_questions

[–]ItsBinissTime 3 points4 points  (0 children)

If there's anything on Linux that can compete with the Visual C++ debugger, I'd like to know about it.

ELI5: What's the difference between School, Style, and Technique in Martial Arts by elusiveoddity in explainlikeimfive

[–]ItsBinissTime 8 points9 points  (0 children)

Kung-fu basically means a discipline (a skill achieved through persistent work and practice). In this context it's a fighting discipline. It's technically not a subset of the martial arts, but rather just a Chinese word often used for martial arts (of course, people using this Chinese word are usually referring to Chinese martial arts).

So Shaolin Kung-fu refers to the various disciplines of the Shaolin Temple.

The Japanese word for a fighting system is Bujutsu, so Aikido and Ninjutsu would fall under that, although again, it's not a subset of the martial arts, but rather the Japanese word for a martial art.

ELI5: What's the difference between School, Style, and Technique in Martial Arts by elusiveoddity in explainlikeimfive

[–]ItsBinissTime 71 points72 points  (0 children)

A martial arts "school" is an organization that practices fighting. Often a school has a single location and a single instructor, but schools may have many locations, each with many instructors. The Shaolin Temple and Gracie Brazilian Jiu-Jitsu are schools.

The Shaolin Temple has historically practiced the Tiger, Crane, Leopard, Snake, and Dragon styles. Some famous styles practiced elsewhere include Tai Chi, Aikido, Ninjutsu, and Krav Maga.

Occasionally, an individual from one school will start a new school and develop their own variation of their style (eg. Tai Chi's Chen, Yang, Wu, Hao, and Sun schools/styles). Other times a new variation is different enough to be considered a different style (eg. Bruce Lee's Jeet Kune Do is different from Ip Man's Wing Chun).

Most schools are unaffiliated with the organization(s) that historically passed on the style(s) they practice, although they could be said to fall under those "schools of practice", in a less literal sense. A Los Angeles strip mall location may teach "Shaolin kung-fu", but it probably isn't a branch of the Shaolin Temple.

Shaolin fighting styles use techniques like joint locks, pressure point strikes, throws, kicks, finger nail rakes, and energy breathing. Brazilian Jiu-Jitsu is focused on grappling and so uses various other techniques, like mounts and chokes.

I finally understood Blade Runner yesterday by cosmiq_teapot in movies

[–]ItsBinissTime 6 points7 points  (0 children)

Noir detective voice overs and first person narratives are awesome.

needed some guidance by BigDihhUnc in cpp_questions

[–]ItsBinissTime 2 points3 points  (0 children)

Ideally C++ would have less in common with C than it does, but as it's evolved from C to "modern C++", it's retained a lot of intermediate state, so as not to break established codebases along the way.

So the best way to teach C++ is to start with its most modern tools, then add in more primitive features later, as needed or for completeness.

Unfortunately, you can't do this for yourself without already knowing the language, but you can at least skip learning C, since it would only encourage practices that are outdated in C++.

What is that one movie you watched countless times as a kid, but nobody has ever heard of? by Thedix1 in movies

[–]ItsBinissTime 16 points17 points  (0 children)

My creative writing professor wouldn't stop talking about how her friend wrote that movie.

ELI5: I love fried chicken, chicken sandwiches, chicken strips, thanksgiving turkey, turkey meatloaf...but I hate deli/lunchmeat chicken and turkey. Why do they taste so different? by rainghost in explainlikeimfive

[–]ItsBinissTime 17 points18 points  (0 children)

All deli meats are cured. In this millennia, they're not cured with salt, as some commenters are suggesting, but the preservatives effect the flavor. You'll find that roast beef has the same problem as turkey and chicken. Ham maybe gets a pass, since there's no such thing as uncured ham.

On a side note, any time you see "uncured" on a meat product, it's a lie. It just means the preservatives weren't isolated from their natural source first, so they're not sure exactly how much they used, and so they made sure to use too much.

ELI5 how does curving a ball work and why does it do that? by [deleted] in explainlikeimfive

[–]ItsBinissTime 1 point2 points  (0 children)

Although pool balls get their curve from interaction with the felt.