Hacker News new | past | comments | ask | show | jobs | submit login

What makes this a spreadsheet rather than a notebook (like Mathematica or Jupyter)? It's still great, I just expected something else - something more... spreadsheety.



I suppose it's only a spreadsheet in a very broad sense: a set of formula which refer to each other, and which are updated automatically on any change.

You can't have circular references to the top level, but you can do recursive definitions within a cell, which is maybe spreadsheety too.

You can use scraps of code to set the GUI behaviour, which is a bit crazy. Try making a region on an image (open an image view window, hold down CTRL, drag down and right).

Back in the main window, press the down button to the left of to the label of the cell containing the region and you'll find you can open it up. Keep clicking and a lot of rows will appear -- including left, top, width, height, etc. If you drag the region around and resize it, you'll see all these numbers update.

Click on the number for height and you can edit it. Enter "width * 2" and try resizing the region.


I don't use Nip2 (yet), but since you're here let me express how grateful I am for libvips and its Python bindings. It's a fantastic and essential tool.


I'm glad it's useful!


Spreadsheets are typically 2D tables in the first place, relations are secondary. This looks more like a node graph, which is a widespread UX paradigm in DSP and content creation. Almost every VFX/3D/image processing/sound engineering software suite has a graph editor or several somewhere underneath, or even entirely built around a node-based editor.


Yes, nip2 workspaces are DAGs, like node graph interfaces. The spreadsheet comparison was originally there to help introduce the interface to a less technical audience. nip2 was written in the 1990s when this stuff was less widespread.

I don't like plug-and-socket style graphical node graph interfaces personally -- I think they are hard to reason about, and things like composition and rewriting feel unnatural (to me). I came out of the functional programming community and I wanted things like referential transparency.

nip2 is supposed to be a graphical interface that's an expression of a set of relations. It has a three part model:

1. You enter scraps of code (or pick menu items) to build an object in nip2's programming language.

2. nip2 looks at the constructed object and draws the GUI.

3. Changes to the GUI trigger "edit" functions on the constructed object to update it.

4. ... if you go back and edit the code that originally constructed the object, the GUI resets.

So your code and the GUI independently update the constructed object, with code taking priority. You get a stateful GUI with a purely functional programming language and you get to keep equational reasoning.


I installed nip2 and played with it for a while. It is _the best_ notebook/spreadsheet tool I ever experienced. I don't know if the folks from Equals.app have notifications on their name in Hacker News, but they should consider taking some inspiration from nip2 and not just from Excel.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: