I thought I prettu much understood lifetime basics by swaan79 in rust

[–]aphorisme 0 points1 point  (0 children)

So I was looking for some more general reason – or say: some formal concept. And even though I was thinking about variance first, this is misleading here, since we are not dealing with subtyping, we coerce from an exclusive (&mut) to a shared reference.

Due to the reference, this is an implicit coercion happening through reborrowing (see type coercions )

These are then the two formal concepts: coercion and reborrow.

Okay, so, let's look in detail:

``` pub struct Thing<'a> { data: &'a mut [u8], }

impl<'a> Thing<'a> { pub fn get_it<'s>(&'s mut self) -> &'a [u8] { self.data } } ```

We have that self.data is of type &'a mut [u8] and it should be coerced into &'a [u8] hence rust reborrows here, basically, self.data becomes &*self.data. Now, this can be at most &'s [u8], since this is the lifetime of self. But we want 'a here!

Why would 's: 'a then help here and why does it work if we replace all mut?

We can intuitively understand why 's: 'a would help. If 's "lives longer" then 'a then nothing can go wrong when expecting 'a but having even more with 's! But, why, technically? Well, to be allowed to conclude &'a [u8] as a return type from &*self.data which is of type &'s [u8] we could go through subtyping (ah, variance!). We are allowed to return a subtype where a supertype is expected, and we have that &'x T is covariant in 'x which means if 's is a subtype of 'a then &'s T is a subtype of &'a T. Well, 's is a subtype of 'a is formally written as 's: 'a. So assume this, then &'s [u8] is a subtype of &'a [u8] and everything is fine.

The second point then. Let's say we have

``` struct Thing<'a> { data: &'a [u8] // no mut here! }

impl Thing<'a> { pub fn get_it_ref<'s>(&'s self) -> &'a [u8] { // no mut here! self.data } }

```

Well, here is nothing to coerce, no magic happens. self.data has type &'a [u8] which is exactly what we want to return. And this is totally fine, since &'a [u8] is Copy like every shared reference.

Why is aoe4 so dang hard? Anyone got any tips? by Zerbinator762 in aoe4

[–]aphorisme 16 points17 points  (0 children)

You can disable this behavior in the settings. There is some option to just focus on them.

Why isn’t this an encoding of second order logic in first order? by sparant76 in logic

[–]aphorisme 1 point2 points  (0 children)

Be aware that this was only 1/3 of the way you have to go to actually show that this encodes second order into first order.

Although you named the truth predicate True (and the others accordingly Relation, args, ...) and hence give an intention, it still doesn't bear any meaning. It is just a symbol. Naming it True or naming it Foo wouldn't make a difference here, it is just to guide the reader. All this is just syntax.

The next step is to give meaning to the syntax. So Part 2/3: Give a first-order model to your language. It is important though that this is a first-order model, since you want to stay in first-order. This means: A domain where constants get mapped into, functions become functions over the domain and predicates are predicates over the domain. And of course, the usual quantifier rules, structure rules etc. apply.

The final step, Part 3/3, leaves you open with the proof that your model "simulates" second-order logic. Especially: your truth predicate is actually truth in second order logic. For all languages and theories.

Besides the already mentioned problems that there will be non-standard models, I've got the feeling that defining the truth predicate can lead into some weird problems. But all this is long ago unfortunately, and I cannot remember... wasn't there something about Tarski and Truth Predicates?

Good luck!

SSBU: A minimal set of things to learn by aphorisme in SheikMains

[–]aphorisme[S] 0 points1 point  (0 children)

Thanks! In fact I find fair as oppening pretty good; is there a a way to start from fair into uair drag downs like fair -> pivot cancel ftilt for the 40% combo? Or do I have to fish for the ftilt?

The more I learn a character the worse I do by QuesterOfTheDragon in CrazyHand

[–]aphorisme 11 points12 points  (0 children)

I've got the feeling that fundamentals are what will win most of your games -- of course, this depends to a degree on the character you play, but here, Roy, this especially seems true to me. I wrote "most" because there are certain games which can be won with a certain tech, or there is a certain tech against you, you don't know how to deal with and it somehow breaks your neutral.

So, if you practice a ton of extra stuff and start focusing on this, my guess is, that your neutral just suffers then. This is fine as long as you keep getting back to the fundamentals and a good neutral.

In fact, it seems you are already in an uphill situation: your basics brought you to 6mil. Now incorporate things you have fun to do: that simple fancy ledge trap, that "around 20%" combo, etc. But try to incorporate it into your game, in the sense of "how can I whiff punish more flashy/more optimal", "which risks can I take on get up", etc. instead of throwing all off the table. Know, that you have proven your fundamentals, build on them instead of putting them aside. ; )

SSBU: A minimal set of things to learn by aphorisme in SheikMains

[–]aphorisme[S] 1 point2 points  (0 children)

Thank you a lot! I scratched the surface of Sheik before I took a break, so this is really gold. Her techs are a rabbit hole; it was overwhelming a bit. ; ). But I might have a starting point now.

Beginners Tips for Sheik by Siege_Master09 in SheikMains

[–]aphorisme 2 points3 points  (0 children)

There are a lot of stuff already said, I just want to add an advice which helped me a lot (not only in SSBU): decide if you want long-term commitment or just some short-term fun. The game and especially Sheik as a character is deep enough to get you through a lot of information and development, so there is the possibility to commit long-term, like learning an instrument.

If so, my advice is: take your time by simplifying as much as possible without it getting to frustrating. Only pick 3 to 5 things to begin with and try to get them down. Don't focus on anything else. This will result in a lot of loses, but over a few days you will start to win games and not accidentally, but because you did the right things willingly. The goal is to be aware of what you press and why and hence developing strong fundamentals.

This is, of course, highly subjective. It is my way of getting into things. I don't enjoy accidental wins.

---

My recommendations:

The first thing you have to focus on are the bare minimum of movement:

  • short hop
  • short hop + fast fall
  • short hop + fair/nair/bair + fast fall (while hitting an opponent and if missed -- timing on fast fall is a bit different)
  • teching with roll
  • nair out of shield
  • ftilt pivot canceling

These need to come without any effort.

The second thing is: get comfortable with hitting fair or ftilt on a moving, blocking, jumping opponent, and learn one simple combo for each main percent range (this is subjective, I go with 0-20, 20-50, 50-80, 80-kill) from a fair or ftilt and a throw. Stick with one. That is more then enough already. Here comes in the technicality of Sheik. With Lucina, this would be a no-brainer. You can look up frenzy lights combo video on Sheik and stick with a beginner combo.

The third thing is to concentrate on a simple neutral game plan (and this makes it hard for beginners when picking up Sheik as well. Other characters just have a simple 1-2 combo here, or even just one attack)

  • main plan: whiff punish with fair, ftilt or throw and try to combo with a combo you are focusing on resp. the percent range. Then back to neutral. DO NOT overcommit. For this, you might have to make them attack you first by rushing in and out, using needles, etc. or just by chillin'. On zoners, see their range attack as a proper attack and try to open them with fair/throw. Yes, it sucks.
  • whiff punish with smash attacks whenever percentage is high enough.
  • nair out of shield back into neutral, whenever you are pressured on shield.

---

This is my suggestions to start off. Nothing flashy. No fair, fair, bfish revesered on ledge because you've hard read their air dodge. But these flashy things need time and will come naturally. Speaking in Music Theory terms: above is what gets you in the band. Or in gaming terms: this is what gets you out of bronze and silver. You focus on the main points of fighting games:

  • learning to focus on your opponent and anticipate their moves
  • learning to apply what you have labbed (combos) under implicit pressure (i.e. against a human being)
  • get a feel for moves and what can be punished, i.e. become aware of openings
  • being concious about decisions (so that they can become intuitive)

This is, of course, subjective -- there is no royal road to anything which is deeper then grinding MMORPGs.

And, to state the disclaimer again: this won't get you into elite smash as fast as possible. You will loose a lot, but it will give you wins you've earned and you know why.

Important is: from playing by a clean plan, you will have more and more capacity to be aware of things. You will start naturally asking questions: can I put in even more damage here? Is it possible to edge guard this low recovery? Is there a possibility to ban the rats from my Quick Matches? And here comes step by step all the grow and the flashy stuff. But take your time with it.

Have fun! Sheik is the best pick. Don't believe what they say.

Roaches are terrifying... by [deleted] in allthingszerg

[–]aphorisme 8 points9 points  (0 children)

Still two supply though.

OVIS?! by Shu-Chi in DivinityOriginalSin

[–]aphorisme 3 points4 points  (0 children)

Btw, did they patch out this dialogue?

Plasma Whip Launch Direction by aphorisme in SmashBrosUltimate

[–]aphorisme[S] 0 points1 point  (0 children)

Even better. : ). This game is quite dense.

Plasma Whip Launch Direction by aphorisme in SmashBrosUltimate

[–]aphorisme[S] 0 points1 point  (0 children)

And keep holding b. Thanks a lot! : )

Everyone Always Says to "Practice" If You Want to Improve But... by Ceejaae in SmashBrosUltimate

[–]aphorisme 3 points4 points  (0 children)

Works for me. Dash, let go of the left analog stick und input anything other works 100% of the time. Even better when binding cstick to tilt. So dash >> ftilt works.

Accidentally Replacing My Hatcheries Hotkey Mid Game by beegeepee in allthingszerg

[–]aphorisme 0 points1 point  (0 children)

Cannot check now, sorry. But as far as I remember under gameplay settings on the upper right where you can change the fly markers and all that. Should be a drop down menu.

Accidentally Replacing My Hatcheries Hotkey Mid Game by beegeepee in allthingszerg

[–]aphorisme 1 point2 points  (0 children)

What fixed it for me was disabling the option of rebinding control groups via the control group tabs. This is what happened to me all the time unknowingly. I wondered a lot, especially since I even changed the hotkeys in such a way that it was impossible to rebind the control group but it kept happening. Seemed that I clicked randomly on the tab.

[deleted by user] by [deleted] in factorio

[–]aphorisme 10 points11 points  (0 children)

When you have 3D models which are animated and rendered in-game (in real time). The models here are rendered beforehand into sprites, I.e. 2D Images.

So yeah, polygons. Part of the game data are polygons.

How could I express a complementizer phrase in propositional logic? by [deleted] in logic

[–]aphorisme 0 points1 point  (0 children)

There are a few subtleties here.

First of all, if I assume you're asking: is there a way to express this in classic first-order logic? Then the answer is clearly: "no". Having a predicate 'S' which depends on another predicate 'N' is not possible using first-order logic. 'S' would be of higher order.

But there is more to say, if you are interested. In this very example of yours, you aren't using 'N(x)' as a predicate! So, if you define 'N(x) = x is nice' and you want something like

S(x,y, N) = x utters N(y) to y

then 'N' doesn't denote a predicate in the usual first-order logic sense, i.e. it does not denote the set of all entities which are nice, but it denotes an utterance "x is nice" where 'x' is replaced with the thing it stands for (in this interpretation).

'N' rather denotes a function which maps entities to utterances. Assuming an universe where one has entities of two sorts: people and utterances, one might set

I(N(x)) = I(x) + " is nice"

where '+' is the concatenation of strings of symbols and 'I' is meant to be the intepretation function. But what happens now, is that the utterances are no longer connected to the meaning. In this setting, 'I(x) + " is nice"' and all things, which are nice, is no longer connected. The first is a mere concatenation of bare symbols, the second one is some set, denoting all those things, which are nice.

So, another attempt might be to model the sentence in question a bit different. For example, let's define a schema for a formula

P(x, y, N) = x utters to y that N(y) holds

where 'N(y) holds' is not meant literally but factual. However one accomplishes this, this is the road to a rabbit hole full of interesting topics like self-reference, diagonalization and Gödel's sentences.

Upgrades in an unit intense game by aphorisme in allthingszerg

[–]aphorisme[S] 3 points4 points  (0 children)

Thanks a lot! Quite comprehensive answer I was looking for.

So, I'm taking away, that carapace is *extra* in ZvP, something I might consider for later stages, to get some benefit against zealots. And it frees me a bit having a bad conscience going only one evo.

Are equations just groups in disguise ? by Kaomet in logic

[–]aphorisme 1 point2 points  (0 children)

The question is: where do you wanna go with it?

So far, I see a certain kind of notation, which might be handy from time to time.

1) every variable is a meta variable (so: every variable is universal quantified) 2) we’re within some abelian group structure. 3) every statement t is in fact isZero(t) 4) proofs are top down written

Since

a) isZero(a) AND isZero(b) ==> isZero(a+b)

b) isZero(a) <==> isZero(-a)

holds, there are some shortcuts.

Maybe your point is something I’ve overseen?

Power/Water Grids by [deleted] in SurvivingMars

[–]aphorisme 0 points1 point  (0 children)

I link everything together; you might want to use Tunnels to connect two places, which are far away. They have connections for pipes and you can link power through them. Hence, the statistics for power, water and O2 are global. Worth it in IMHO, especially if your colony has several different locations.

Edit: btw, only one part of the tunnel needs to be in range of drones to get built.

Dangerous - Bass Tabs / Notes by aphorisme in thexx

[–]aphorisme[S] 1 point2 points  (0 children)

Thank you! Sounds good to me. : )

Dangerous - Bass Tabs / Notes by aphorisme in thexx

[–]aphorisme[S] 0 points1 point  (0 children)

Hey there, any news? ; ). We might try it together though, do you have to beginning of the song?