7,496 reputation
2348
bio website wolfram.com
location Chesterfield, MO
age 43
visits member for 2 years, 10 months
seen Dec 11 at 3:49

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.


Jul
6
comment Evaluating an If expression inside Dynamic
@MichaelE2 The first argument of InputField can only be a settable lhs if it's inside of a Dynamic (and, of course, that Dynamic has a sensible setting function). Otherwise, what the FE receives is literally the evaluated argument of the InputField which, in this case, would be InputField[1, Number, Enabled->Dynamic[fuc == "1"]]. The a is long gone.
Jun
3
comment Manipulate: After Changing view of a Graphic, the sliders can't be used anymore
I received an internal bug report indicating that the underlying code was the same as referenced in this question. If so, this is not a bug. The code was something of the form Manipulate[Graphics3D[Cone[], ViewPoint -> RotationMatrix[t, {0, 0, 1}].{1.3, -2.4, 2}], {t, 0, 2 Pi}], and the report was that rotating the graphic causes the slider to be ineffective. If that's the problem here, then it's as designed. Rotating the graphic wipes the ViewPoint option, which breaks the connection with the slider.
May
13
awarded  Enlightened
May
13
awarded  Nice Answer
May
4
awarded  Outspoken
Apr
29
comment What it is the best way to enforce that only one CreateDialog window can be created?
The issues with Deinitialization timing were just stupid bugs. Which, I believe, are now all fixed in v10. But I don't think the statement about deinitialization only being performed if initialization has been performed is that mysterious. As you know, dynamics may never evaluate. E.g., if they're never scrolled onscreen, or forever live inside of a closed cell group, they might never get resolved. Which means they would never get initialized. Which, the documentation is explaining, means they would never get deinitialized.
Apr
29
comment Effect of Block[] on iterators in Manipulate[]
FYI, I think I've fixed all of the issues with the wonky timing of Deinitialization (for Dynamic, DynamicModule, and all derivative constructs such as Manipulate) for v10.
Apr
10
awarded  Nice Answer
Jan
30
awarded  Yearling
Dec
25
awarded  Enlightened
Dec
25
awarded  Nice Answer
Dec
6
awarded  Nice Answer
Dec
5
awarded  Enlightened
Dec
5
awarded  Nice Answer
Nov
2
answered Add text before TraditionalForm
Nov
2
answered Time constraints on KernelExecute commands or MenuItems?
Oct
29
comment Frontend coloring of Table[x, {x, 0, x}]
That having been said, I do think that the coloring of the DynamicModule case in the answer above is correct. Yes, the code might be correct, but it is confusing and potentially error-prone. A little-understood fact about syntax coloring is that it never colors red illegal code (except after a Shift+Enter syntax fail). Take a look. Every red coloring is legal Mathematica code. But, if we've done our jobs correctly, red coloring is an indication of buggy code on the user's part. I.e., red means you hit an antipattern which often results in the code performing not as you intended.
Oct
29
comment Frontend coloring of Table[x, {x, 0, x}]
FWIW I think that we should be capturing these comparatively minor end-cases. Using the current feature set, though, implementation on WRI's end is time-consuming...too much so for the limited reward per case we capture. But I'm thinking two and three versions ahead, and I'm already laying out plans...
Oct
25
awarded  Necromancer
Oct
22
answered Notebook vs. DocumentNotebook; display a Notebook inline, like a DocumentNotebook