Live data from Hacker News

Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

news.ycombinator.com

211–220 of 221 posts

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#213

I don't know what to make of the fact that reactivity doesn't seem to be discussed in the docs or the tutorial. I am a fan of ObservableHQ's reactive JavaScript notebooks, in which blocks of code get rerun when their inputs change. This is reactivity in the same sense as spreadsheets are reactive, and it's pretty neat. One nice feature of ObservableHQ is that you can use free variables when writing code blocks, and t…

(Neptyne cofounder here) That's probably something we should dig more into in the docs, yeah. Neptyne works like a ipython/Jupyter notebook in that everything is in scope all the time. So you can write your code in an imperative way (e.g. `B10 = some_value`) within a function, or you can do use a functional style. We handle spreadsheet-style reactivity by building the dependency graph out of any cell addresses mentio…

> But if my_func reads from, say, B1, it will not automatically re-run when B1 changes.

Is that a conscious design decision, or a technical limitation? I would definitely have expected it to automatically rerun by default.

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#214
post #213

Earlier quoted context omitted.

(Neptyne cofounder here) That's probably something we should dig more into in the docs, yeah. Neptyne works like a ipython/Jupyter notebook in that everything is in scope all the time. So you can write your code in an imperative way (e.g. `B10 = some_value`) within a function, or you can do use a functional style. We handle spreadsheet-style reactivity by building the dependency graph out of any cell addresses mentio…

> But if my_func reads from, say, B1, it will not automatically re-run when B1 changes. Is that a conscious design decision, or a technical limitation? I would definitely have expected it to automatically rerun by default.

It's a conscious decision. The spreadsheet recalculates itself, the python code doesn't. Recalculations in the spreadsheet are determined by the graph (cell Q3 depends on cell D4 because it mentions it in it's formula like "=D4 * 3") If Q3 calls a python function ("=my_function()") and in that function D4 is mentioned we don't add it to the graph. It is already hard enough as is to see the dependency graph in a spreadsheet - adding implicit relations to it would make this almost impossible.

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#215
post #190

Earlier quoted context omitted.

I think it might have been a quote issue actually ... But we should handle failures better, I agree

My worry was more about random failures on Open AI side (I'm building something with it). Thanks for sharing. I'd love to see a blog post on how you are handling the quoting issues. Are you planning on sticking with Open AI or is it a stop gap until you train your own models?

>quoting issues Did you mean quota issues?

As for our own models, it depends on the use case. If you click the code assist and type "Insert a pie chart of the sources of income into B3", the Open AI models do a hard to beat (at this point) job. When it comes to fine tuning on a massive stack of existing spreadsheets, published models are a better fit.

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#216
post #213

Earlier quoted context omitted.

> But if my_func reads from, say, B1, it will not automatically re-run when B1 changes. Is that a conscious design decision, or a technical limitation? I would definitely have expected it to automatically rerun by default.

It's a conscious decision. The spreadsheet recalculates itself, the python code doesn't. Recalculations in the spreadsheet are determined by the graph (cell Q3 depends on cell D4 because it mentions it in it's formula like "=D4 * 3") If Q3 calls a python function ("=my_function()") and in that function D4 is mentioned we don't add it to the graph. It is already hard enough as is to see the dependency graph in a sprea…

In Observable, a cell can define a function or return a value. When the value of a free variable within a function definition changes the function is redefined rather than the function being rerun. So there is a clear difference between points at which the function's bound variables come into play (function invocation) and the points when changes to the free variables have an effect (function definition). It's far from unmanageable in that "reactive notebook" setting. Maybe spreadsheets are the problem...

FWIW: https://www.nature.com/articles/d41586-021-01174-w

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#217
post #190

Earlier quoted context omitted.

My worry was more about random failures on Open AI side (I'm building something with it). Thanks for sharing. I'd love to see a blog post on how you are handling the quoting issues. Are you planning on sticking with Open AI or is it a stop gap until you train your own models?

>quoting issues Did you mean quota issues? As for our own models, it depends on the use case. If you click the code assist and type "Insert a pie chart of the sources of income into B3", the Open AI models do a hard to beat (at this point) job. When it comes to fine tuning on a massive stack of existing spreadsheets, published models are a better fit.

Ah quota issues make more sense.

Thanks.

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#218

This is cool, but I think it might be missing what the big problems with spreadsheets are. I was complaining just today because I pasted some records into Excel and it decided to treat 933349234275230104 as a number (it's a hash), convert it to scientific notation (which I NEVER want), and lose precision. Yet there is no way to globally disable scientific notation. Plus it's kind of insane that "formatting" changes d…

It's already solved in Google Sheets

Re: Launch HN: Neptyne (YC W23) – A programmable spreadsheet that runs Python

#219

I believe Google Sheets supports programmability using Javascript these days. Is your product fundamentally different? Thanks and all the best.

(co-founder of Neptyne here) With Google Sheets you get a flavor of JS called Apps Script, a flavor of JS with some limitations. Some ways in which our use of Python differ are: - run Python directly in the spreadsheet cells, not just as an "extension" - a full runtime in a Jupyter kernel, so you can import and use effectively any Python package, as long as it runs on Linux - an interactive REPL that gives you a nice…

Understood. Thank you for the elaboration.
Post reply on HN