Live data from Hacker News

Penrose – Create diagrams by typing notation in plain text

penrose.cs.cmu.edu

111–120 of 124 posts

Re: Penrose – Create diagrams by typing notation in plain text

#111
post #5

Penrose looks great. Beautiful diagrams and readable code. What are some other text-driven diagramming languages / tools? I know of: https://mermaid.js.org/ https://graphviz.org/ https://flowchart.fun/

For quick flowchart I use https://www.websequencediagrams.com/

Re: Penrose – Create diagrams by typing notation in plain text

#112

I have always found "diagrams as code" tools to be limiting. There will be that scenario where the generated diagram is not what you expected. The flexibility you get by using code is outweighed by these limiting scenarios. I switched to Mermaid.js but ended up switching back to normal diagramming tools because of these limitations.

Yes, just use Excalidraw to sketch what you really meant. Limited styles, limited colors, no burden. Sketch easy and go back to work...

https://excalidraw.com/

Re: Penrose – Create diagrams by typing notation in plain text

#113
post #5

Penrose looks great. Beautiful diagrams and readable code. What are some other text-driven diagramming languages / tools? I know of: https://mermaid.js.org/ https://graphviz.org/ https://flowchart.fun/

https://sequencediagram.org/

Re: Penrose – Create diagrams by typing notation in plain text

#115

A lot of replies here are missing the key idea behind Penrose: that the "substance" and "style" of any mathematical diagram are separable. For example, the "substance" of a diagram might be a collection of sets with known subset relationships: Set A, B, C IsSubset(B, A) IsSubset(C, A) That same substance can then be rendered in many different styles, e.g. as a Venn diagram or as a tree diagram (substance vs. style is…

> Importantly, Penrose's vision is that experts will author libraries of domains and styles, and end-users need only express the substance of their diagrams (i.e. the three lines of code above).

In that case, would it be a good idea to start the tutorial with some predefined domains and styles? Part of the intimidation factor here is not just the programming language, but also the abstraction one is faced with using and trying to understand before seeing their first picture. If the goal is to have predefined libraries, then why not start with pre-defined domains and styles and first teach people only how to do the substance, and leave domain & style definitions for advanced tutorials?

What are the advantages of making everything a constrained optimization problem? I like the idea that I can experiment with layouts sometimes, but I don’t really want a random diagram all the time. I realize it doesn’t have to be random, I have the choice to explicitly pin things down, but that takes extra work with Penrose, I’m asking why random is the default. Having done a lot of technical diagramming in papers and books, I would expect to almost always pin things down, and maybe once in a while free up a few elements to move around. Letting the whole thing go random is rarely if ever something I’d choose, especially near the end of making a more complicated diagram. What I’m wondering is whether this design is good for experts, and why, or if it mostly helps beginners.

I recently discovered GeoGebra, and would love to hear some compare & contrast notes. It doesn’t use constrained optimization, and it does separate style from substance as needed, but in a different way than Penrose. The important feature seems to be that it lets you define the relationships between elements of the diagram, so if you move a point, the line attached follows, and then parallel and perpendicular lines attached follow, and so on, everything in the diagram becomes responsive to adapt to the change while letting you put something right where you want it. This way I still get to experiment with layouts, but nothing in the construction needs to be random. Most of the style definitions are point & click GUI actions. Are there reasons that workflow is inferior to Penrose?

Re: Penrose – Create diagrams by typing notation in plain text

#116
post #75
post #57

The caffeine example is laughable. https://penrose.cs.cmu.edu/try/?examples=structural-formula/...

What is laughable about it?

By the way, just for clarity, note that the comments in this subthread were written before we updated the random seed for that example to result in a much better diagram: https://github.com/penrose/penrose/commit/134533830dab25642a...

Re: Penrose – Create diagrams by typing notation in plain text

#117
post #109
post #57

The caffeine example is laughable. https://penrose.cs.cmu.edu/try/?examples=structural-formula/...

Yeah :( To be honest, I think we got a bit overeager about this one, since none of us on the project are chemistry experts. At least for the front page, we should probably replace that with a different diagram from our registry. I think this is actually a fairly deep issue with our approach where we try to express everything in terms of numerical optimization, pairwise energies on shapes, etc. Especially since Style…

The combustion diagram does look nicer, since it doesn't contain complex overlaps of bonds. However, it's still physically inaccurate. The carbon dioxide molecule should be linear, for example. Molecules have atoms arranged following very specific rules arising from quantum mechanics and the theory of molecular orbitals, you can't solve this with a graph optimization algorithm.

Re: Penrose – Create diagrams by typing notation in plain text

#118
post #117
post #109

Earlier quoted context omitted.

Yeah :( To be honest, I think we got a bit overeager about this one, since none of us on the project are chemistry experts. At least for the front page, we should probably replace that with a different diagram from our registry. I think this is actually a fairly deep issue with our approach where we try to express everything in terms of numerical optimization, pairwise energies on shapes, etc. Especially since Style…

The combustion diagram does look nicer, since it doesn't contain complex overlaps of bonds. However, it's still physically inaccurate. The carbon dioxide molecule should be linear, for example. Molecules have atoms arranged following very specific rules arising from quantum mechanics and the theory of molecular orbitals, you can't solve this with a graph optimization algorithm.

Could you clarify what you mean when you say "it's still physically inaccurate" and "The carbon dioxide molecule should be linear"? In my post I was specifically contrasting the diagram in the Penrose registry (in which the carbon dioxide molecule is incorrect as you point out) with another version of that diagram which I generated using Python (in which the carbon dioxide molecule is correct). Did you only look at the one and not the other, perhaps?

Re: Penrose – Create diagrams by typing notation in plain text

#119
post #64

Earlier quoted context omitted.

https://en.wikipedia.org/wiki/Penrose_(surname) https://en.wikipedia.org/wiki/Penrose There's enough other Penroses to choose from; sir Roger doesn't own the (sur)name.

Yes, but his name is the obvious one. If I say "Dyson" and you're in the UK, you think of vacuums, "Penrose" and you think of Mathematical Physics. I doubt this would come to court. The main problem is the temerity of using the name of a living person in this way. But, they could have sought permission, in which case, all is well.

> If I say "Dyson" and you're in the UK, you think of vacuums

As a British national, I always called that category of cleaning device "hoovers": https://en.wikipedia.org/wiki/The_Hoover_Company

I'm sufficiently nerdy to think "Sphere" whenever the name Dyson comes up, but I'm sure that to most normal people even "Dyson sphere" will mean one of these rather than a K2 civilisation: https://www.dyson.co.uk/vacuum-cleaners/uprights/ball-animal...

Re: Penrose – Create diagrams by typing notation in plain text

#120
post #104
post #58

Is this actually affiliated with Roger Penrose? Seems extraordinarily rude to use his name otherwise. Was his permission sought? In fact, this may be seen as "passing off" in English law.

Not affiliated with Roger Penrose; we often hear this question about our project name: https://news.ycombinator.com/item?id=36749211 As Nimo mentioned in a response to that linked thread, we're open to suggestions for alternate names if a different one would better suit the project!

Assuming you're the Sam Estep from the team, can you comment whether he's been asked for his opinion on the matter?

Especially given the clear linkage with code references: https://github.com/search?q=repo%3Apenrose%2Fpenrose%20roger... - it seems more personal than Diagram/Graphical Notation/Tiling/Stairs/Triangle etc.

Post reply on HN