
Show HN: Solve Geometric Programs in the Browser - lochieferrier
http://www.prandtl.design/sandbox
======
fiatjaf
[http://euclidthegame.com/](http://euclidthegame.com/)

~~~
Groxx
Similar Android game I've been bashing my head against for a while:
[https://play.google.com/store/apps/details?id=com.hil_hk.euc...](https://play.google.com/store/apps/details?id=com.hil_hk.euclidea)

------
sleavey
The problem of solving angular constraints has interested me for a while. I
want to be able to programmatically lay out an optical setup with SVG. Here is
my work so far, but I've run up against the problem of dealing with cyclic
graphs. The "rewrite" branch uses a different approach based on an academic
paper.

[https://github.com/SeanDS/optivis/tree/rewrite](https://github.com/SeanDS/optivis/tree/rewrite)

------
amelius
Wouldn't this be much more convenient in the form of, say, a Python library
that the user can run on their local machine?

~~~
lochieferrier
You can already do this exact thing with a Python library on the user machine,
see here for install instructions:
[https://gpkit.readthedocs.io/en/latest/installation.html](https://gpkit.readthedocs.io/en/latest/installation.html)

The intent here is to make it easy for people to get started and quickly write
models, without needing to go through installing a set of packages.

~~~
amelius
There are also services that let you run arbitrary Python code in the browser,
e.g. [1].

[1] [https://trinket.io/](https://trinket.io/)

~~~
lochieferrier
For sure, but they have a limited range of packages installed, and can be
tricky to tune towards a specific need.

------
modalduality
I'm not quite able to run the code (too much load on the server probably). But
is this something that can solve LPs in the browser (possibly more than just
LPs, I think)? This would be incredibly helpful for many people I'm sure--all
the existing online ones have arcane input reqs (and unhelpful errors) and
standalone applications either cost money (Gurobi, cplex) or are not easy to
use at all (gnu glpk).

~~~
lochieferrier
Yes, there was an issue with someone nuking the compiler box, and we're
working on fixing the demo up.

This does more than LPs, it lets you formulate GPs, which are a way of doing
non-linear analytical optimization. See here for more:
[https://gpkit.readthedocs.io/en/latest/gp101.html#what-
is-a-...](https://gpkit.readthedocs.io/en/latest/gp101.html#what-is-a-gp)

~~~
kuon
HN community should add an internet rule:

xx) If it's online, it will get nuked.

------
partycoder
Doesn't scale

~~~
aerioux
I dont think that's fair to them. Having a GP solver in the bg is very hard
and very computationally expensive -- their costs are way more than similar
Show HN and saying "Doesn't scale" I don't believe acknowledges this well

~~~
partycoder
No, it is not unfair. It is valid, concise, actionable feedback, without
personal attacks based on empirical evidence.

If you are not comfortable with constructive feedback then don't post an open
invitation for feedback.

Then, it can be implemented in a way that scales. Since this is python +
gpkit, maybe it could be executed on the client-side using emscripten. Then if
the traffic is too high you can serve it from a CDN.

~~~
joshuamorton
No, that was valid, concise, actionable feedback. Your original post was
flippant and was not actionable. Although since gpkit almost assuredly uses
the cPython c abi, and there is no emscripten backend for cPython, even this
(much less flippant and much more actionable and valid) feedback isn't
actually actionable because you cannot execute python+some c module using
emscripten.

~~~
partycoder
I took the time to try the thing, and it did not work for me due to timeouts.
Others reported the same. Therefore it was showing signs of not scaling. And I
pointed it out through a concise comment in a post which was about _requesting
for feedback_ (the objective of the Ask HN section). Could not provide more
feedback since I could not use it.

"flippant" means "not showing a serious or respectful attitude". I do not know
at which point noting that a system is not scaling as feedback in a request
for feedback post suddenly is disrespectful.

But now read at your own post, with the ad hominem. Seems disrespectful, maybe
even "flippant". What is the point of acting in the exact same way you so
fiercely criticize?

Then, how sure are you about that exactly? you can run a functional Linux
kernel through emscripten, there must be a way to get a Python extension to
work.

~~~
joshuamorton
>>Therefore it was showing signs of not scaling.

Perhaps, although it seems as though it was less "not scaling" and more
"someone exploited our system to spin the CPU" from my reading of the thread.

>"flippant" means "not showing a serious or respectful attitude"

And I hold to the claim that a 2 word response to an ask HN is absolutely
flippant. Please explain to me what is actionable about "Doesn't scale"? That
is a problem. Or, well, it could be a problem, it might not be a worry for
them, but lets assume it is. "Doesn't scale" isn't actionable. Had your second
post been the only post you made here, I don't think we'd be having this
discussion, because while in this case it turns out to be not very helpful, it
is at least actionable. They can look into emscripten and python, see that it
probably won't work in this case, and move on. "Doesn't scale" doesn't do
that.

Its the difference between feedback that is "you have a lisp" and "you have a
lisp, try practicing speaking lyrically or rhythmically and it might
disappear." It might help, it might not, but its actionable. "you have a lisp"
isn't actionable.

I'll quote the Show HN Guidelines:

>Instead of "you're doing it wrong", suggest alternatives. When someone is
learning, help them learn more.

As for what you think of my comment, I have a few objections to your
statement:

1\. I don't actually see an 'ad hominem' anywhere, I only commented on your
original comment and how _your feedback_ was unhelpful. No commentary on the
user, only the content. Please specify where I did, because I would prefer to
not go around attacking people on HN, even unintentionally. 2\. I went so far
as to complement your second post and say that it was an example of good
feedback. 3\. You didn't post a Show HN, there are no guidelines on my
feedback to you ;)

That said, if your emscripten suggestion was made in good faith and not just a
CYA "suggestion", I apologize, I misread your tone.

~~~
partycoder
When a system is not scaling you can increase capacity to mitigate the
problem, to buy time while trying to root cause and fix the problem.

You can also take the site down and display an error page.

At no moment I said "you are doing it wrong". I pointed out "it doesn't
scale". A factual statement similar to "it's 11:13 am" or "it's raining".

~~~
joshuamorton
And like I said "you have a lisp" isn't actionable feedback. It is a factual
statement, but it suggests no action, and in fact, the person with the lisp
likely already knows.

Because "it doesn't scale" doesn't imply that you need to increase capacity
right now. "It doesn't scale" could mean that "this will be problematic when
you have 2,000,000 users", or as you used it, it could mean "I can't get to
your site right now". Personally I don't consider "it doesn't scale" to mean
"I can't use your app right now".

Which comes back to my core point, once again, that your original post,
"Doesn't scale", isn't actionable feedback, it didn't clearly convey any
immediate problem nor did it provide a clear action to follow. The fact that
you've had to clarify your post to multiple other users should be evidence of
that.

~~~
partycoder
OK dude, I will concede you the 1st place in Monty Python Argument Clinic
2017. Because at this point I simply don't care. Have an excellent day.

------
tpaschalis

      -- Result received at 14:30:3, response time of 24.714s --
      
      Execution Timed Out  
    

Seems very interesting, will check it out and hopefully provide some feedback
when it's back online

~~~
lochieferrier
It's online now! Sorry it had the usual HN flop.

