1,598 karma · joined April 5, 2012
You can reach me at jwmerrill@gmail.com
Browser support for fetch is still pretty weak, so you'll need some kind of polyfill to use it today.
This being the Internet, someone registered it and pointed it at Rick Astley.
We license our calculator API to people who want to use it to make math content, or integrate it as a tool for students into their books, exercises, assessments, etc.
One of the big things that we've been working on is building interactive lessons that a whole classroom can do together:
Some of these use the calculator as a tool, and they all generally keep with the spirit of trying to make it cheap to try out an idea and see what it implies.
Are you asking about numerically solving systems of equations? Or 3D plotting? We might do one or both of those at some point, but they aren't on the near term road map.
We don't do integrals right now, but I hope we'll be able to add them at some point. It can be pretty tricky to do integrals accurately for non-smooth or highly oscillatory functions. Here's a graph I made recently exploring an interesting numerical integration technique called tanh-sinh quadrature:
https://www.desmos.com/calculator/jg4wamuwde
2. ... If I change the equation, it seems like it has to complete the first calculation to get to the new calculation.
Right, we currently wait for existing calculations to finish before starting new ones. We've experimented with strategies for killing calculations that look like they're hung, but we don't do anything like that right now. Killing and respawning webworkers is expensive and has been crashy in various browsers at various times, and short of that, it's hard to stop calculations midway through.
Our biggest goal with the calculator has been to make it easy to immediately see the consequences of changing part of an expression, or changing a parameter in an expression. When you remove the friction, this feels like exploring.
Happy to answer any questions.
Edit: For the tech crowd, I'll play the "what happens when you type a key on google.com?" game, only for Desmos:
1. Your keystroke is interpreted and typeset by the awesome, open source math typesetting library MathQuill: http://mathquill.com/
2. Mathquill notifies us that an expression has changed, and gives us a new LaTeX representation of it.
3. We send this new expression to a webworker, where we do all of our math processing. This lets us avoid blocking the UI thread, even if the user asks us to do something like a sum from one to a billion.
4. In the webworker, the expression LaTeX is parsed and analyzed for dependencies, variable assignments, and function definitions. We mark any other expressions that depend on symbols it exports as dirty, so that we can also reanalyze and replot them.
5. We compile the parsed expression (and any other expressions that need to be updated) to javascript by calling "new Function()" on a string representation. Since we need to evaluate these functions at thousands of points for plotting, we've found this to be much more efficient than an interpreter.
6. We plot all plottable functions (explicit functions of one variable, implicit functions of two variables, parametric equations, polar equations, inequalities, etc.), and analyze them for discontinuities and points of interest like minima, maxima, and zeros.
7. We send a representation of the plotted curves back from the webworker to the frontend, and they are plotted on the graph paper using the HTML5 canvas API.
This is true in a way, but finding and studying larger effects is often a better strategy. To some extent, why talk about something that needs huge N to get above the noise?
> Other disciplines are emulating the arXive pre-print model
> ...something like a gigantic open-source version of arXive for all scientific research
That's not how you spell arXiv.
I think this comment is a good example of "contempt culture," which we've probably all been guilty of, and which we should do less.
Of course, I would think that because I work on one: https://www.desmos.com
Cosma Shalizi has written some interesting posts on this subject, and also published papers in statistics journals:
You can complain that this isn't what a browser is for, but it won't really matter until you can distribute your favorite kind of software in a way that requires (nearly) zero effort and zero risk for your end users to get started with.
Nassim Taleb has written extensively about this subject (and the converse, where people fail to account for potentially very large rewards of unlikely but possible scenarios):
Be thankful that you live in a time and place that allow you to not take it very seriously. I know I'm thankful for this.
Mathematica is really a pretty remarkable piece of software. I doubt it's world class for factorization, but it gives you easy access to a lot of pretty darn good algorithms for a wide range of problems.
There's 1 sentence on the implementation of FactorInteger in the docs, FWIW:
http://reference.wolfram.com/language/tutorial/SomeNotesOnIn...
651651626268416641641703*983764598769387649827639876407 = 641071800653367850802176606120792275422168080497001121
jwmerrill's razor: points in the plane should be considered to be close to the origin unless there is evidence otherwise.
Is this a reasonable law? As reasonable as Occam's razor? I think probably not, but I don't have a strong opinion. One interesting thing to note is that the law doesn't say where the origin is (similarly, Occam's razor is vague about what exactly is meant by "simple" and "complex").
Finite asymptotic form: for any finite point set, there is a distance D such that no point in the set is further from the origin than D.
Continuous asymptotic form: given any function from points in the plane to non-negative numbers which has a finite integral, there is a distance D such that the integral of the function over the region that is further from the origin than D is less than any epsilon_1, and such that the function is everywhere less than any epsilon_2 on this region except perhaps on a set of measure 0.
The asymptotic forms are provable mathematical statements, but I think it would be a mistake to say that either of them is a very compelling argument for the original statement of "jwmerrill's razor."
Without intending to call you out in particular (I don't know what opinions you hold), I think people sometimes accept some odd logic in probability theory that they would be less likely to accept in other contexts. Bayesian probability theory provides practical solutions to a lot of interesting problems, and I personally wish people would emphasize those cases more, and make fewer sweeping statements about it being a consistent theory of all of the scientific method.