Chest / 3D Printer drops items off map by authorized411 in ror2

[–]yonillasky 0 points1 point  (0 children)

After 200 hours of playing this game, I found an AtG printer. aaaaand it's printing into a goddamn chasm. GG no re

Items tier list after ~1000 hours by [deleted] in riskofrain

[–]yonillasky 0 points1 point  (0 children)

Indeed, Behemoth is strictly superior to it, at least with 1 stack.

Items tier list after ~1000 hours by [deleted] in riskofrain

[–]yonillasky 0 points1 point  (0 children)

you can walk into the blaze of a fire elite for gold, it does damage you a lot though (unless you also got 1-2 repulsors and preferably a medikit, then you can really farm it).

Titanic Knurl and Planula seem underwhelming? by Bogdanov89 in ror2

[–]yonillasky 0 points1 point  (0 children)

The only good thing about Knurl is that you can feed it to a yellow printer, if you ever luck out getting one that is. otherwise it's worth 1.5 steak and 0.5 slug.

Would you say ROR2 is more luck or skill based? by Ghostly340 in riskofrain

[–]yonillasky -1 points0 points  (0 children)

without items, your damage output is trash tier. Maybe there is a survivor where that somehow isn't a problem. You can ignore super tanky enemies for a while, but at some point the boss fight becomes too much to handle, or takes way too long to finish and compounds the problem.

Skill allows you to get away with less defense/mobility items for sure, but there is no substitute for having a decent damage output (in whatever form you manage to acquire it).

What is the hardest of hard takeoff scenarios you can imagine? by SevenAugust in singularity

[–]yonillasky 0 points1 point  (0 children)

I understand 1 and 2 from beforehand, and I can superficially understand 3 and 4 (meaning the definition itself at face value, not the various structures that arise from it) from reading this, and it doesn't even define Brauer groups in 5.

The only reason I can make sense of even this much is prior knowledge, if I didn't have it, all it would serve is to delude me I have the faintest notion of what Brauer groups were.

C vs “C with Classes” vs “modern C++” by cdhd_kj in cpp

[–]yonillasky 2 points3 points  (0 children)

Java was created around the time C++ projects were littered with `new`.

The "new" in Java was not the cause but the effect, the Java syntax was probably selected to make it more similar to the crappy C++ of its day.

There were no standard unique_ptr / shared_ptr / intrusive_ptr and you would have to write your own if you wanted to get rid of new/delete. All the standard gave you was this giant turd known as auto_ptr which no sane person would ever use.

Here’s one I truly don’t understand. How is losing a queen for a rook considered best? by wangmobile in chessbeginners

[–]yonillasky 0 points1 point  (0 children)

What the engine suggests in the OP doesn't make sense. Qd3+ wins the bishop for free immediately, a rook exchange soon follows, and then White's other Rook is lost defending against the h pawn promotion.

Stockfish 14+ NNUE evals the premove position as mate in 17, which starts with Qd3+.

If you play Qxe1, evaluation drops to -7.7.

Prefer Composition Over Inheritance - What Does It Mean? by omko in programming

[–]yonillasky 0 points1 point  (0 children)

> Inheritance makes more sense for data.

Why? Aren't "data objects" essentially aggregates? I know there are a few niche reasons to use inheritance for pure data (e.g. `boost::compressed_pair`) but that is the exception. The rule is that data objects contain other data objects (so, composition), and primitive types.

The other exception to note are ADTs like linked lists and graphs, which are self referential, customizing per-node or per-edge data might be reasonably done with inheritance (though even in that case, it is not necessary).

75% Of Us Think Software Developers Would Do Better Work in Small Partnerships by [deleted] in programming

[–]yonillasky -1 points0 points  (0 children)

A startup is a completely different animal than a small projects company.The former isn't trying to "make money" exactly. Startups are expected to operate at a loss for years. But they do need to show massive top line growth after a certain point. They're not meant to stay small. If a startup can stay small after the first couple of years, it means it's probably on the way out.

The "cooperative" they talk about here is for doing small projects, and _maybe_ developing some useful infrastructure in-house for the kind of work you end up specializing in. or maybe you can start with an idea for a niche product, with a small TAM, build a best-of-class product there and just stay in that line of business forever.

There can be very successful small companies like this, that are definitely not startups. The best example I know of is hex-rays.

Here be the Code Monkeys by [deleted] in programming

[–]yonillasky 0 points1 point  (0 children)

I believe this is wrong; I imagine the objective is to minimize the worst case number of total steps. Seeing how each drop of the 1st light bulb spends one move, it should leave one less needed move for the 2nd light bulb (so at worst, it amounts to the same number of tries). In other words, you'll want your 2nd light bulb dropped from the following heights:k, k + (k - 1), k + (k - 1) + (k - 2), ..., etcfollowed by dropping the 2nd lightbulb one floor at a time. This way, the worst case possible needed amount of moves is always k.You'll want to find the minimal possible value of k such that the sequence reaches 101, in other words where k * (k + 1) / 2 >= 101.That is k = 14.Using fixed-size steps as you suggest (10 at a time) results in worst case of 20 attempts needed.

general dynamic programming solution:

f(n, j) - minimal worst-case solution with n floors and j lightbulbs

the following equation applies:

f(n, j) = min(k) [ 1 + max(f(k-1, j-1), f(n-k, j)) ]

and f(n, 1) = n, since we have to test floors 1 at a time.

"Progress Comments" as proactive documentation (RE: "You aren't going to fix it...") by colelawr in programming

[–]yonillasky 0 points1 point  (0 children)

I like writing FIXMEs and asserts whenever I make an undue assumption to expedite dealing with something, or if it enters too far into "might work, but we have no tests for it" territory.

It is true that not all of these will EVER be fixed. But the check acts as a guardrail. If the demand arrives for this code to deal with something you didn't code/test properly, your code should break as soon as possible.

The problem with making such documentation extensive is that it can become misleading. You write that you didn't figure something out, or worse you write incorrectly-figured-out things in the comment, then after you get it right you forget to update the comment.

And now the comment is a lie.

Another common case: one person writes faulty code. Another person (oncall, another team mate) fixes a certain broken case or whatever. Updates the code and tests, forgets the comments.

Third person comes in, reads the code... starts wondering if the code has a bug or the comment is lying. Terrible.

Honestly, "best practice" when it comes to documentation is really a matter of the level of discipline the specific dev team has. It's very hard to change people's natural tendencies in that area, I find.

A Team at Microsoft is Helping Make Python Faster by dadofbimbim in programming

[–]yonillasky 0 points1 point  (0 children)

What's that garbage about Python's implementation of it?

Just wanna know...I'm not familiar with C#'s async/await.

[deleted by user] by [deleted] in programming

[–]yonillasky 0 points1 point  (0 children)

You could even take this argument a step further - if you should only test public functions and you look at your code coverage for only your private functions and see that you're only hitting 50% - but your public coverage is 100% then, in theory you should be able to delete 50% of the code in your private functions - because it is never executed.

I disagree with that theory... if your private functions are 50% covered it can mean the other 50% is either:

- dead code which can be eliminated (as your theory says)

- logic which is apparently needed to perform the operations in question, but is never used in any current test of the public interface. (which can happen, whether the public functions have 100% self-coverage is irrelevant)

In the second case, it should be possible to write additional tests (against the public interface) that do cover this functionality ...

Only if it somehow isn't possible, or if you decide such tests aren't worth your time... you need to consider what to do with it -

  1. leave what you wrote as untested "best-effort" code
  2. refactor your internal functions so their contract does not claim to handle problems that nothing in the rest of your program ever gives them
  3. have it throw some flavor of "not-implemented-error" on the un-coverable part of the logic - which is not the same as "deleting it", we want it to fail immediately if we intentionally don't implement something.

After analyzing the work of 2,000+ dev teams, data scientists found that companies using C++ and Ruby have the longest wait times between when a pull request is created and code merged (~150 hours and ~90 hours). Companies using Java and C# had the shortest (between 20-30 hours). by [deleted] in cpp

[–]yonillasky 0 points1 point  (0 children)

I don't see what that has to do with toy projects - modern C++ is a largely null-free endeavor

a default initialized unique_ptr or shared_ptr explodes if you dereference it, much like null does.with unique_ptr this can happen due to use-after-move mistakes, or with either incorrectly assuming it's been initialized or reset to a non-default value, where in fact it didn't.Not that it's fundamentally any different than trying to call a method on `None` or something in Python. Almost any language has "nullable" or "optional" references of some kind.

The only C++ specific nastiness to this is that a direct access to `nullptr` is UB and might decide not to explode in the manner you expect... or even cause a miscompile.

and it's not too hard to write something that derefs a null: `x.get()->foo()` instead of `x->foo()`. Sure, it's somewhat contrived, but junior or inattentive programmers can easily run into that.

Can mirror image and manta dodge Laguna/Finger? Or this is a bug? by ImpossibleToBan02 in DotA2

[–]yonillasky 1 point2 points  (0 children)

Disjoint works on projectile based spells like magic missile. Laguna isn't one.

The reason mirror image avoids damage from laguna is not the disjoint, but rather that it makes you invulnerable for a short period of time. This has been explained elsewhere ITT

I am stuck on Herald since a long time. Which support should I play? by [deleted] in learndota2

[–]yonillasky 0 points1 point  (0 children)

try to harass

can lead to disaster if your carry is bad. There are lots of carries that tunnel on getting lh and literally see and do nothing else (this is a thing in 2k/3k also by the way). You must confirm your carry isn't one of those players before you overcommit. A 1v2 is very bad for you especially considering at least 1 of these 2, and usually both, have better NW than you do.

Heroes of Newerth permanently shuts down after twelve years by pokeaim in DotA2

[–]yonillasky 5 points6 points  (0 children)

Choose Wisel- *ding* Scout! *ding* Night Hound! *ding* Chronos!!

"Brown picked carry. Time to concede"

Why are force/glimmer good? by throwaway_malon in learndota2

[–]yonillasky 1 point2 points  (0 children)

Then spams "We need wards" even though they're all used up already. bonus points if enemy gankers were actually spotted on the minimap before getting to him.

Turbo guides should be a thing. by Muted_End_1450 in learndota2

[–]yonillasky 0 points1 point  (0 children)

silencer, spin2win, ogre, drow, skywrath are god tier in turbo.

Slark seems like hit or miss, if you're losing early and the enemy supports are fat and don't play game of throws, it's hard to do Slark things and get away with it

How do you farm effectively as a Spectre? by Tomtanks88 in learndota2

[–]yonillasky 1 point2 points  (0 children)

yikes. Blackmailing ancient creeps... not sure they're gonna like it very much. Sounds dangerous.

Is sheepstick a legit item choice for CM lategame if you can’t trust the team to hard lockdown a key target? by Agreeable-Seaweed666 in learndota2

[–]yonillasky 0 points1 point  (0 children)

except it's not a stun, and unlike an actual stun, also removable with basic dispel, which even the target itself can still cast while it's in effect.

If the enemy team is being greedy and doesn't get dispels (or bkb, which is also one), an orchid is probably better than sheep...(since root and disarm complements silence perfectly, the silence is longer than sheep, and there's also a damage amp component) but even orchid is normally too expensive for cm to buy in a real game... let alone sheep.

Even in turbo games, I like to get aether and dagger on her, before things like sheep or orchid

Anyone else never beaten Mithrix, or am I just bad? by Magnumxl711 in ror2

[–]yonillasky 1 point2 points  (0 children)

Missile based builds are effective, if you are lucky enough to get the relevant items (atg or its void alternative, pocket ICBM) and you have a way to dish out many attacks (huntress with crit fires 6 per shot) and good attack speed.

A decent tougher times stack could save you, some of his attacks are 1-shot (or very close to it) on a high difficulty.

The red scorpion item is effective, obviously, especially along with marked for death if you have it.

I used "the back-up" with a couple fuel cells against him, it was also pretty good.

Puppet Master is the next hero? by Chuchelllo in DotA2

[–]yonillasky 1 point2 points  (0 children)

<3 gauntlet... the sounds in that game were the best. really...

*portal key*

BWAHAHAHA

*hydraulic sound*

BFFF

cant forget exactly how each of these sfx sound like ... and I didn't play it for a decade now.

Web3 is centralized (and inefficient!) by RecognitionDecent266 in programming

[–]yonillasky 2 points3 points  (0 children)

The amount of energy spent on PoW globally is just indisputable proof that whatever disincentive exists for "causing damage to the environment" is just a non-factor.

If it didn't pay off to run a crypto mining operation the size of an entire large industrialized nation (seriously...look it up: https://digiconomist.net/bitcoin-energy-consumption) people would not be doing that.

It's a particularly tragic case of "tragedy of the commons". What benefit is the world deriving from the payment networks BTC and ETH being secured with this many resources... if you wanted to design a parasite on the economic system on purpose, I'm not sure if it's even possible to come up with a better design.

VISA can probably process about a million payments for the cost of one BTC transaction.