7,321 reputation
2348
bio website wolfram.com
location Chesterfield, MO
age 42
visits member for 2 years, 7 months
seen yesterday

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.


Dec
2
comment How to set default save directory for notebooks?
NotebookBrowseDirectory works on Windows and Linux, but on Mac, we allow the operating system to assert its natural behavior over such things. I'm not now so convinced that this was a good idea, but I haven't finished a proper investigation. So, it's possible this behavior will change in the future.
Dec
2
answered Localizing variables within a Manipulate
Nov
30
awarded  Enlightened
Nov
30
awarded  Nice Answer
Nov
18
answered Order/Dependency of Styles in a Stylesheet
Nov
18
comment Unique[] symbol not properly tracked
I filed a bug report on this. I can't explain the behavior, as it's produced by code that's outside of my expertise.
Nov
14
awarded  Enlightened
Nov
13
awarded  Nice Answer
Nov
12
comment Enabled option for slider in Manipulate not updating dynamically
@m_goldberg, the system for syncing DynamicModule variables between the FE and kernel isn't airtight. It's possible for outside intervention such as a scheduled task to interfere with it in a way that causes things to appear to work. But that's an unreliable side effect of the implementation, not a guarantee of the design.
Nov
12
answered Is there a way to base one style on another?
Nov
11
comment How to set Math text size & line spacing
There is, in fact, a style definition called InlineCell which affects all inline cells. But change with care...this affects inline cells everywhere. The style definitions in Core.nb for inline cells are very conservative for that reason. In general, there is no way to pick out just the characters in the Mathematica* fonts and resize them. I suppose one could come up with some hacky post-processing of a notebook which would selectively apply styles, but aside from that, it just can't be done.
Nov
11
comment Enabled option for slider in Manipulate not updating dynamically
[continued] So there are a number of ways to do this which might appear to work at first but which are open to subtle failures. Really, the only way to get this to work is to have the scheduled task and dynamic code communicate using a global variable. You'll have to initialize this variable properly. You can hide it in a private namespace. If you hope to have multiple manipulators functioning independently, it gets more challenging. I have some thoughts about per-instance creation of unique variable names, but it would take some effort to work this up.
Nov
11
comment Enabled option for slider in Manipulate not updating dynamically
Every part of this question touches on something which horrifies me. DynamicModule variables were never designed to escape the confines of the DynamicModule which scopes them, but scheduled tasks do quite a nice job of punching a hole in those confines. We should figure out how to deal with that problem, but haven't yet. Module, on the other hand, creates an unexpected global (not local) variable which is scoped to the current kernel session. For this reason, mixing Module and Dynamic or Manipulate is always a bad idea. That's why you get the syntax highlighting.
Nov
11
comment Having Dynamic evaluated when off screen
It seems odd that solution as a variable defined here is Dynamic[(*some stuff*)] while the comments above suggest that solution is used in the form Plot[U[t]/.solution...]. As Rojo says, there are many possible answers to the question, but I just don't feel I understand the question well enough to say which (if any) of them are appropriate for you. Incidentally, an additional tool I would add to Rojo's list is the use of notebook-level TaggingRules to emulate notebook-level DynamicModule variables. See the examples section of the TaggingRules docs for more info.
Nov
2
awarded  Nice Answer
Oct
25
comment How can I set an image to be the Notebook's background?
The closest I can think of is a scrollable Pane on top of a background, which isn't very good. Note that this will be possible in v9, but not documented (see the chat log in the Mathematica chat room for evening, Oct. 21, where I discuss why that's the case). When v9 ships, I'll swing back around and answer this question.
Oct
25
comment Can the banner in the Home Edition be removed?
Where inheritance is concerned, all things may be permissible, but not all things are advisable. At WTC 2012, a user reported broken behavior in the v9 beta to me. I spent 25 minutes banging on his system until I found WindowFrame->"Generic" set on $FrontEnd. I thought "why would anyone ever do that?". And considered that it was one of those unfortunate accidents which can have bad consequences (setting Editable->False globally could be bad, too). And then I read this. So, for v9, all things aren't permissible anymore. This setting will not work (and neither will Editable, et. al.).
Oct
25
answered How to make the docked cell and the navigation toolbar in the Slide Show?
Oct
25
comment Better Autocompelete for the Front-End
The FE does completion by calling the kernel function FE``FC. Which is a very simple and naive function. Rewriting it could be the basis for an answer here. That having been said, this is radically revamped in v9 (coming soon!), and I wouldn't recommend any answer based upon this notion be applied to v9.
Oct
25
comment Parsing subscripts when loading package files via the FrontEnd
This just isn't supported in the FE. The FE tries very hard not to put unreadable typesetting markup into packages to facilitate easy exchange with other programming editors. Possibly workarounds...putting the code in a notebook with an auto-save package would work, but then the package file is no longer the primary source file, and that probably won't satisfy you. You could post-process the save file, but that seems dicey to me.