• 0 Posts
  • 191 Comments
Joined 2 years ago
cake
Cake day: June 29th, 2023

help-circle

  • Me last night making weird noises while reading Wikipedia and trying to figure out Tamil pronunciation. It says intervocalic ற is trilled and ர is tapped but that’s definitely not what I heard in the yt video I had just watched…

    Also ழ. Also ந ஞ ன ண ங (5 n sounds!?!)


  • I think the biggest difficulty when starting out is that you don’t know common endings and syllable structure, and so it can be hard to parse where the morphological boundaries lie. It’s much easier once you understand those, though you will still find instances where two components are combined in an unintuitive (for the learner) way, particularly if the translation maps to a (apparently) indivisible root in the learner’s language.



  • Löschen can also mean to offload cargo from a ship…

    I did not know this one either, and it seems even more different from delete/erase/extinguish. I had to look this up; wiktionary says that the unloading sense is actually from a different root (MND lössen, cognate with “los”), which may have changed due to association with the “erasure” sense, particularly in the context of erasure from ship inventories and logbooks.

    Also, thank you for the context. This kind of detail tends to be extremely difficult to search for.




  • That pruning is indeed goal. As for benchmarking, I did not implement a brute force solution; I might try it if I finish one of the next few days quickly (lol fat chance). I did bench math vs string cat but did not record numbers. IIRC it made no measurable difference in Clojure, where input parsing with my crappy parser/combinator lib dominated, but math was something like a factor of three faster than string cat for Chez Scheme.


  • Inverse concat isn’t too heavy if you implement with logs and such. Certainly still heavier than integer add/mul (or sub/div in my case), but arithmetic is usually faster than memory allocation. However, predicting the performance hit due to branching a priori is tricky on modern hardware, which implements sophisticated branch prediction and speculative execution. Furthermore, branching happens anyway between terms to select the right operation, though a misprediction there is likely less significant unless you are doing string manipulation.

    “Overall number of checks” is a bit ambiguous; if taken to mean the number of times I check against the target for early escape, plus the final check on success, the figure is 15% relative to the average 3(n-1) / 2 checks required by brute force (n = number of terms in the equation, giving n-1 operators). That’s still almost a 7-fold decrease. If we instead look at the number of operator evaluations relative to the (n-1)/2 * 3(n-1) evaluations expected from an average brute force search (3(n-1) / 2 combinations with (n-1) operations conducted per combination), the figure is only 7.0%. In both cases, there is a significant amount of work not being done.


  • I am not sure how much the formal complexity changes, but the pruning that occurs when working from right to left and bailing early when inverse multiplication or concatenation fails seriously cuts down on the number of combinations that you need to explore. With this pruning, the average fraction of the times (relative to the average 3^(n-1) / 2 times necessary for a naive brute force) that my code actually ended up checking whether the full inverted equation was equal to the target, was only 2.0% for equations that did not have solutions. Interestingly, the figure rose for equations that did have solutions to 6.6%.






  • ornery_chemisttoScience MemesProblem?
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    3 months ago

    Good rule of thumb: if someone else hasn’t solved the problem yet, it’s more complicated than you’re assuming. If the problem is worth solving, other people smarter than you have almost certainly attempted the easy “solutions” already, and they were inadequate to solve the problem. Heck, even if it’s not worth solving, there’s a non-zero chance that some pre-Reagan weirdos took a crack at it with bonus mercury and thallium compounds for the lulz and published it all in a vague 200-word comm in a now-defunct journal.


  • ornery_chemisttoScience MemesThis feels wrong. I love it.
    link
    fedilink
    English
    arrow-up
    35
    ·
    3 months ago

    Isn’t the squaring actually multiplication by the complex conjugate when working in the complex plane? i.e., √((1 - 0 i) (1 + 0 i) + (0 - i) (0 + i)) = √(1 + - i2) = √(1 + 1) = √2. I could be totally off base here and could be confusing with something else…




  • In fluent speech, the conjunction (the first “that”) is unstressed, and as a result some speakers reduce the vowel a bit toward schwa. However, if you told those speakers to carefully pronounce each word, I bet they would pronounce the conjunction and the pronoun the exact same same. A more common example of this kind of reduction is the word “to”, which is almost always reduced to /tə/ ([tə] ~ [tʊ] ~ [ɾə] depending on dialect and surrounding words) in everyday speech when unstressed.

    Fun fact, you can reduce just about every unstressed vowel in English to schwa (if it’s not already a schwa) and still be largely understood.