• 2 Posts
  • 59 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle


  • Oh, I’ll try to describe Euler’s formula in a way that is intuitive, and maybe you could have come up with it too.

    So one way to think about complex numbers, and perhaps an intuitive one, is as a generalization of “positiveness” and “negativeness” from a binary to a continuous thing. Notice that if we multiply -1 with -1 we get 1, so we might think that maybe we don’t have a straight line of positiveness and negativeness, but perhaps it is periodic in some manner.

    We can envision that perhaps the imaginary unit, i, is “halfway between” positive and negative, because if we think about what √(-1) could possibly be, the only thing that makes sense is it’s some form of 1 where you have to use it twice to make something negative instead of just once. Then it stands to reason that √i is “halfway between” i and 1 in this scale of positive and negative.

    If we figure out what number √i we get √2/2 + √2/2 i

    (We can find this by saying (a + bi)^(2) = i, which gives us (a^(2) - b^(2) = 0 and 2ab = 1) we get a = b from the first, and a^(2) = 1/2)

    The keen eyed observer might notice that this value is also equal to sin(45°) and we start to get some ideas about how all of the complex numbers with radius 1 might be somewhat special and carry their own amount of “positiveness” or “negativeness” that is somehow unique to it.

    So let’s represent these values with R ∠ θ where the θ represents the amount of positiveness or negativeness in some way.

    Since we’ve observed that √i is located at the point 45° from the positive real axis, and i is on the imaginary axis, 90° from the positive real axis, and -1 is 180° from the positive real axis, and if we examine each of these we find that if we use cos to represent the real axis and sin to represent the imaginary axis. That’s really neat. It means we can represent any complex number as R ∠ θ = cos θ + i sin θ.

    What happens if we multiply two complex numbers in this form? Well, it turns out if you remember your trigonometry, you exactly get the angle addition formulas for sin and cos. So R ∠ θ * S ∠ φ = RS ∠ θ + φ. But wait a second. That’s turning multiplication into an addition? Where have we seen something like this before? Exponent rules.

    We have a^(n) * a^(m) = a^(n+m) what if, somehow, this angle formula is also an exponent in disguise?

    Then you’re learning calculus and you come across Taylor Series and you learn a funny thing, the Taylor series of e^x looks a lot like the Taylor series of sine and cosine.

    And actually, if we look at the Taylor series for e^(ix) is exactly matches the Taylor series for cos x + i sin x. So our supposition was correct, it was an exponent in disguise. How wild. Finally we get:

    R ∠ θ = Re^(iθ) = cos θ + i sin θ








  • To add, let’s do some math!

    Let s be the total annual salary of every employee using Adobe. Our goal is to find the productivity ratio r such that changing to Gimp and open source more generally is a net positive from the standpoint of productivity and labor.

    s/r will be the total annual salary after changing over, because (for instance) if r = 0.8 then LTT will need to either hire or work his existing hires 1/0.8 times longer, giving (at best, ignoring overtime and so on) s/r as the new labor cost.

    We then subtract the current labor cost to get the switching cost s/r - s, and if this is greater than $10,000 then the switch is not worth it.

    For instance, let’s say LTT employs 1 person at $50k/year. He’s a bit of a skinflint. We solve for r and arrive at a ratio of 5/6 or 83.33%.

    If we have a different world where LTT hires 10 people and pays each of them $100k, we solve for r and get about 99%.

    In other words, the switch is worth it only if the labor cost is small, so the extra labor is not very expensive, or the difference between the two software is negligible.







  • Most closely matches the behavior of actual SNES consoles.

    This requires very careful emulation of the timings of the various buses and co-processors, as well as on-cart chips which may or may not be present. For instance, a Speedy Gonzales game has a button in the final stage which crashes almost every emulator because enters an infinite loop reading from an open bus and waiting for the value to attain a specific pattern. However reading from an open bus is generally specified to be the last value loaded into the bus, which in this case is the load instruction itself, $18. So the value is read to be $1818 by most emulators, which doesn’t match the pattern expected.

    However, this is only if you’re emulating with instruction level accuracy. It is possible for the value of the bus to change in between the instruction being loaded and the value of the bus being loaded due to an HDMA load being triggered, but this requires a cycle accurate emulator.



  • I’m not going to weigh in on the specifics of Flatpak vs AppImage, because I don’t know enough about the particulars.

    However, I think the “user choice” argument is often deployed in situations where it probably shouldn’t be.

    For instance, in this case, it’s not the user’s choice at all, but a developer’s choice, as a normal user would not be packaging their own software. They would be merely downloading one of a number of options of precompiled packages. And this is the thrust of the argument. If we take the GitHub rant at face value, some developers seem to be distributing software using AppImage, to the exclusion of other options. And then listing ways in which this is problematic.

    I, for one, would be rather annoyed if my only option were either AppImage or Flatpak, as I typically prefer use software packaged for my package manager. That is user choice, give me the option to package it myself; hopefully it’s already been done for me.

    There are some good things to be said about trust and verification, and I’m generally receptive to those arguments way more than “user choice.”



  • I spent an hour and a half arguing with my brother about probability, because he asked ChatGPT what the probability that he and his daughter were born on the same day.

    ChatGPT said 1/113465 which it claimed was 1/365^2 (this value is actually 1/133225) because there’s a 1/365 chance he was born on such and such day, and a 1/365 chance his daughter was too.

    But anyone with even a rudimentary understanding of probability would know that it’s just 1/365, because it doesn’t actually matter on which day they both happened to be born.

    He wanted to feel special, and ChatGPT confirmed his biases hard, and I got to be the dickhead and say it is special, but it’s 1/400 special not 1/100000. I don’t believe he’s completely forgiven me over disillusioning him.

    So yeah, I’ve had a minor family falling out over ChatGPT hallucinations.