Today my 9yo daughter asked me a surprisingly pointed question about the dwarves of #Moria: if they dug an entire underground realm, where did they put all the material excavated during the process? #LotR
YouTube video: "Life before DINOSAURS was UNbeLIEVEable. Can you beLIEVE these LIFE forms EXISTed? They look like something from a SCIENCE FICTION MOVIE."
... You what.
Are you. Serious.
You are disqualified from ever talking science again. Or science fiction. Just... stop talking.
@Craigp The slightly less stupid version: Life in the Permian (and earlier) was very, very strange to modern-day people, because such a huge percentage of it died out without leaving any descendants. So it's weird to us; there are no living relatives to contrast with.
If I could time machine back for a wildlife-watching trip (assuming I could be kept safe), I'd skip the dinosaurs' heyday and go to the Permian.
@Craigp (I had a game setting idea a long time ago: A sentient proto-civilization - paleolithic-level - arises in deep prehistory; either the Cretaceous (for easily recognizable dinosaurs to hang out with) or the Permian (because the Permian is awesome). You'd try to make your little nonhuman culture robust enough to survive the coming horrors and hardships.
But I could never think of a game mechanic I'd actually like.)
@Craigp Part of it, for me, was to explicitly lean into the non-human aspect of it. What would a paleolithic society be like for an egg-laying (and perhaps exothermic?) creature? Could there even be an analogue to the neolithic revolution(s) for an obligate carnivore?
(or I suppose you could do something similar for the far future. Humans are all dead; what'll the next sapient be like? I'm thinking descendants of crows or perhaps parrots.)
"this code has a several hundred case switch statement, disgusting" said the people who have no idea what the industry standard for coding programming language interpreters is
When code is stored, opcodes are just represented numerically, like in a switch-dispatched model.
Rather than having a switch, I have a big pile of labelled code sections for goto, each ending with an explicit goto to the dispatcher (or to something else, if that's what I need).
Upon program load, all the opcodes are predecoded to the corresponding label addresses.
All the platform-specific junk is an implementation detail. :-) ...
@eniko Truth to be told, though: I just ran one of my old implementations of this on an Intel i9-13900K and there's absolutely no observable difference between that and switch dispatch anymore. Branch predictors on x86-64 got really good.
I haven't benched on ARM.
Back when I started writing direct-threaded interpreters (2005ish), you could get very impressive gains over switch dispatch.
@eniko My latest project was an odd interpreter which interpreted tree-shaped code, but using an explicit VM with two stacks and a little bunch of registers. The idea was to dynamically rewrite trees using runtime type and value information and have something that could JIT really well. I got it to run almost as fast as linearized bytecode before JIT'ing.
Then I got terribly depressed and unable to code on that sort of thing for a while. And now I'm too busy with actual work.
Google laid off their python lang team. This is a bad idea:
Google is all-in on “AI” and python is integral to ML
Other lang teams should be worried. If something as core to ML like python gets axed in an AI Bubble, what hope do other langs have?
@baldur AFAIK they're not eliminating the work that team was doing, they're moving it to Germany where tech labour is cheaper.
(This is still a bad idea, not because Germans are going to be worse at the job, but because they've essentially just flushed all their established python langdev talent down the drain.)