7,296 reputation
2247
bio website wolfram.com
location Chesterfield, MO
age 42
visits member for 2 years, 6 months
seen 2 days ago

I've been with Wolfram Research in some capacity since 1993, and have worked on the Mathematica front end since 1996. While Wolfram tolerates and even occasionally encourages my appearances in user forums like this one, my words (especially the stupid ones) are my own, and I don't speak for Wolfram in an official capacity.

Fun facts: I also like games of all sorts, and I'm a competitive Scrabble® player. I've written various sorts of crossword game-related utilities (some fun, some dead ends, some serious) in Mathematica, and consulted briefly on Wolfram|Alpha's word game content. I also contributed UI code to an open source crossword game simulator called Quackle which is quite the thing in the competitive player community.


Sep
14
comment Options CellLabel not showing
This is exactly the issue. The way CellLabelAutoDelete works is that it prevents the CellLabel option from being serialized (either to disk or to MathLink). Internally, the Options code has significant overlap with the serialization code and, for better or worse, the decision on how to treat CellLabel is getting caught up in that. I won't necessarily defend this as the best and most correct way of doing things, but that's why it behaves the way it does.
Sep
14
revised Manipulate and function definition
add code styling markdown
Sep
14
comment Manipulate and function definition
Since you don't say, I can't comment on your reasons for really wanting h to have only one parameter. But if it were my code, I find it difficult to imagine that I'd be happy with any variant of the one-parameter solution.
Sep
14
revised Prevent graphics render inside held expression
added 555 characters in body
Sep
14
revised Prevent graphics render inside held expression
added 555 characters in body
Sep
14
comment Prevent graphics render inside held expression
Actually, believe it or not, there are limits to my knowledge of Mathematica, and for some reason, it didn't occur to me to see if Block would automatically clear a Protected System symbol. I appreciate @Liam reading the benefit of hidden wisdom into my answer, though! :) And, in fact, that response gives me pause about editing the answer to shorten the code.
Sep
14
awarded  Nice Answer
Sep
14
comment Prevent graphics render inside held expression
@m_goldberg I should think the answer is obvious. Thick is a graphics directive. The documentation for Thick directly makes this statement. As for Red, Green, etc., you're absolutely correct in saying they aren't graphics directives. But they do evaluate directly into a graphics directives. For that reason, I don't think the choice to put them in the guide/GraphicsDirectives guide page is inappropriate.
Sep
14
answered Prevent graphics render inside held expression
Sep
13
comment The dangers of SaveDefinitions — should this really happen?
@Szabolcs All SaveDefinitions does is to auto-construct an Initialization option for you. I'm a control freak. Let me construct my own Initialization option.
Sep
12
comment Possible bug with second argument of Dynamic
I was considerably less confident than Rolf. Especially when I tried it in a development build, and it behaved worse. But then I fixed it. So I guess my confidence matches Rolf's, now. :) Beta testers should see this in the next beta build.
Sep
12
comment The dangers of SaveDefinitions — should this really happen?
More people should use the InputForm technique. Bravo to you.
Sep
12
comment The dangers of SaveDefinitions — should this really happen?
I never use SaveDefinitions. Just never. It's terribly convenient, but for my purposes, it is just not sufficiently predictable. And it can sometimes be incredibly inefficient (e.g., when it stores ridiculous amounts of definitions which were hidden behind a Needs or Get).
Sep
12
comment undisputed FrontEndTokenExecute
I'm very happy to see answers using the under-utilized Cells function. But I'm not sure what you mean by your statement that this "doesn't use the front end". Both Cells and NotebookDelete require a front end to work properly, and they're implemented by causing the kernel to issue commands to the front end. Incidentally, code very similar to this is in the Applications Examples section of the Cells documentation.
Sep
12
answered How to correctly disconnect from the kernel?
Aug
31
comment Incorrect information displayed when slider is moved (intermittent)
@Mr.Wizard Localizing t would require throwing multiple Blocks into the code to preserve the output form (which would not be preserved by DynamicModule, etc.). I agree that this would be the proper thing to do, but I didn't want to complexify the answer by focusing on points the author didn't ask. Nonetheless, I will point out for posterity that Mr.Wizard is right in saying this is not the code as I would have written it.
Aug
28
answered Incorrect information displayed when slider is moved (intermittent)
Aug
28
comment Automatically close Mathematica
@Kuba it's not possible to do anything like what you're asking for globally for arbitrary Mathematica commands. If you're sticking to fully documented Mathematica functions, you shouldn't ever see interactive prompts unless that's the purpose of the function (e.g., Input). But many of the FE tokens were implemented only for the purpose of user interaction through the menu system, and do not represent the gold standard of end-to-end design that we generally apply to fully documented functions.
Aug
26
comment Automatically close Mathematica
@Kuba, if you run the front end with the -server command-line option, then it will not prompt dialog boxes. But it will also not be usable by the user. This is, for example, how the kernel command UsingFrontEnd launches the kernel. Since you don't provide very much context for your question, it's not clear to me whether this is a useful answer to your question.
Aug
24
awarded  Nice Answer