conv = lambda data:{ 'a': [el['a'] for el in data ],
'a_sum' : sum( [el['a'] for el in data ]),
'b': list(set( [el['b'] for el in data ])), }
conv(input_data)
which appears to have the same functionality.
This is quite off putting and it took me a while to dig down to find why convtools can offer more than just an extra abstraction layer to learn.
Perhaps pick an example that shows off the non trivial functions like joins or GroupBy?
Similar to this [0] from a few years ago.
That one also had some basic encryption included.
Some previous discussions[1,2] of that tool highlights that this can easily be abused for xss or distribution of illegal materials which you may not want to find yourself the focus of.
I like the idea, I've even written something similar myself, but for me a few things were not clear.
How would I load in data that is stored on my harddrive (not web addressable) without having to run my own server or go through the file selector popup box each time. User JS can't just read the harddisk (a requirement for web security). If I have to run my own server then a major selling point of this is gone.
I work with large tabled data and very often use vectorised functions using numpy or pandas, working on entire columns with a fantastically simple interface. A = B * x, for arrays B, scalars x returning a new array A. Is there something as beautiful available, working around the lack of operator overloading in JS? I've only seen string abuse like p('A') = p('B*x'). Auh.
There is another solution for having citations and references in figures: use Inkscape as suggested in the OP. In particular the save to pdf+latex feature. Any text elements in the figure are generated using latex. This means the correct font and the ability to write any latex you want as text. I still like hand editing figures to add complex annotations so I like being able to use Inkscape's GUI.
I just want to chime in and say that I've had a look and a quick play with mypost.io and think it looks awesome. Like many of the links on this HN thread, but with way more feature.
As you are allowing HTML entry, how are you protecting against Javascript inside user created pages?
I think it would be interesting to read about the decision process that decided on the 1.4MW of power generation to 6MWh of storage ratio. This is around 1:4.2h.
Is this ratio very specific to Ta’u island, with their usage patterns, or can this ratio be used as a guide for future installations?
I'm guessing that Ta'u has not as much technology that stays on overnight, and a more realistic ratio would be 1:6h or more.
If you are plotting using a canvas - not building a SVG or on the dom - then even 50000 points is fine, no need to filter even on mobile devices.
A 100,000 data point file would be about 500kb transfered to the client. This is still a tiny amount of data to play around with in JS. It is possible to build an array of image tiles, and zoom around like google maps. But keeping the image tiles in memory could be worse than just replotting if the plot function is fast and optimized enough.
The fact that on the summary page there isn't a number showing the significance is very worrying. As the whole reason for it is to make a binary choice, there could be a 2 line chuck of js that just says "B might be better (60% probablity)".
Assuming the usual sqrt(n+1) error on a count, as n is low. Combining the uncertainties from 83/66 [0] gives 1.258 +- 0.231 (1sd). It's only just likely that it is an actual improvement, but there is about a 30% chance that the orignal was better.
I wrote this for a small game I'm updating, which has about 30 objects colliding. However in my situation because it has so few objects the overhead is greater than the time saved. This system works really well when there are many objects.
See if you can use a regular quadTree if you can find a way to do it. It'll be faster than this.
I don't know about the _most_ efficient method. That is a field of research bigger than my weekend project.
If anyone want to use it, I've put it out under the MIT License (available now in the updated source).
However I think most people will look at the ideas involved and implement it in there own way as I've made a few assumptions about the structure of the objects being put in the tree.