Skip Navigation
Fair
  • Nah fam, people like that are the reason we had to evacuate the dorms every month or so in the middle of the night during the winter months.

    That and idiots making toast. Not sure how people routinely fucked that up so badly.

  • It's scientific! I promise! :)
  • So I found this website that lists specific heat capacities for various foods, and while it doesn't list "snacks", dry foods values seem to range from 0.3 to 1 cal•g-1•K-1 = 0.0003 to 0.001 Cal•g-1•K-1. Assuming no phase change (i.e., melting) and otherwise temperature-invariant heat capacity, the energy required for heating a 100 g snack from freezer temps (-18 °C) to body temp (37 °C) is 1.65 to 5.5 Cal. More realistically, we can compare to eating an ambient-temp (20 °C) snack; that difference is only 1.1 to 3.8 Cal... in either case, the difference is negligible, generally < 1% of the calorie count of the snack itself.

  • xkcd #3040: Chemical Formulas
  • Ikr, I hate when people draw too many bonds to the OH in formic acid. However, that annoyance is secondary to the new contender for HAC's position as the stupidest abbreviation for acetic acid.

  • based on a true story
  • 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!?!)

  • Learning a new language is easy!
  • 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.

  • Learning a new language is easy!
  • I've played around with changing Windows system languages before and was indeed thrown off by the slew of Gruppenrichtlinienbearbeitungsprogramm-type calques. Glad to know that Germans also find this offputting ;)

  • Learning a new language is easy!
  • 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.

  • What the hell
  • GFP is often combined with other genes of interest in biotech to provide an easy way to check whether the genes of interest are successfully incorporated/active. Glowy cells = successful, dark = unsuccessful/inactive. https://en.wikipedia.org/wiki/Reporter_gene

  • Is it possible to not brute force day 7?
  • 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.

  • Is it possible to not brute force day 7?
  • 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.

  • Is it possible to not brute force day 7?
  • 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%.

  • InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)OR
    ornery_chemist @mander.xyz
    Posts 0
    Comments 180