This T-shirt claims that “Under extreme stress, an octopus will eat its own arms.” According to Wikipedia, this is a “common belief”, though I'd never heard of it. I'm suspicious.
Thanks to johnath, I now know that self-actualization tops Maslow's hierarchy of needs.
The Internet, incidentally, is all about self-actualization. Depending on my mood, this strikes me as either dumb or moderately profound.
Good Lisp compilers, I'm told, do fancy escape analysis on closures, so they can detect when the upward funarg problem doesn't occur and in those cases stack-allocate the captured variables. Nice one. In Python, by contrast, all captured variables become heap-allocated “cells”. I hear SpiderMonkey still keeps the whole activation record alive. I had thought that practice was long dead; I know I've seen it characterized on Lambda the Ultimate as “stupid”.
I knew this was there somewhere. In
gdb
, thecommands
command lets you specify debugger commands that run when a breakpoint hits. For example, you can havegdb
print some variables and continue. Useful.Also in
gdb
:set scheduler-locking on
prevents other threads from running while you're stepping in a thread. Not available on all platforms, apparently; but this is the only sane way to debug a multithreaded program.Also in
gdb
:thread apply all
runs a debugger command on every thread in the process you're debugging. I have yet to use it without crashinggdb
, though.Even in a very simple 3D model, physics is very hard to get right. I think faking it using an easing function would get better results. Kind of sad.
...and more about static single assignment form, but I have much more to read there.
No comments:
Post a Comment