7,686 reputation
2749
bio website wolfram.com
location Chesterfield, MO
age 43
visits member for 3 years, 2 months
seen Mar 24 at 0:05

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
10
answered How to get the new font in Mathematica 10?
Jul
9
awarded  Nice Answer
Jul
9
awarded  Necromancer
Jul
9
answered Implementing efficient multiple undo
Jul
7
comment How to wait until a Listen mode link gets connected to?
I can absolutely certify that the answer is correct (although incomplete...there is no timeout that I'm aware of). I'll add a bit more technical detail to the Community thread, where you ask slightly different questions and make a misleading assertion. But the answer as I now see it here is correct without qualification.
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