At the request of jp, I have created a version of Inflo that’s more napkin-like. It’s fully compatible with the regular version of Inflo (it has a few known quirks because a) this is a hack and b) we’ll see how popular it is). However, it’s not yet linked in to the regular Inflo, yet. To use it, for any Inflo URL, replace http://inflo.cs.toronto.edu:8888/ with http://inflo.cs.toronto.edu:8888/paper.html. For example, to view one of apsmith‘s graphs in paper form, visit http://inflo.cs.toronto.edu:8888/paper.html?nodeId=215330785548783400729978002751085462383&nodeVersion=1302663272.770201&action=loadView (note the extra “paper.html”); you’ll need to scroll to the top left after the page has loaded.
Inflo macros
Last week, I added support for client-side macros to Inflo. While I had previously reengineered the custom autocomplete widget (used for entering content) in anticipation of additions such as this, I hadn’t really thought about how the macros would actually work. In the end, I was surprised at how simple it was to add, although some of my previous changes were helpful (most notably the parser I had written the day before); it took just under one hundred lines of new/changed code. Also nice is how everything is falls back when a macro hasn’t been defined.
register_macro( "stopping time", // Name of the macro "stopping time ( <i>velocity</i> , <i>deceleration</i> )", // Autocomplete help // The function itself; its parameters come in directly from Inflo and one needn't worry about nodes; // they're automatically converted to their values. function (v1, decel) { /* Assumes velocity in m/s and deceleration is in m/s^2 */ return (v1 / decel).toString() + " s"; });
The macros behave exactly like a built-in Inflo function, except they’re all currently prefix notation, don’t support sub-expressions in their arguments, need to be user-loaded when viewing the graph (easy with Creammonkey and Greasemonkey), and, for simplicity, ignore units coming into the macro. Anyone that knows some Javascript can write an Inflo macro!
Populating Inflo with data
One can fairly simply write a module to dump data into Inflo. The first thing I populated the database with was with some population data and then surface area data. I’m currently thinking of adding GDP data. Any ideas as to what other easily mineable data I ought to include?
Hello, Inflo
And now for something completely different: the post that I’ve alluded to for a few weeks (and as far back as last year)…