Hacker News new | past | comments | ask | show | jobs | submit login
Penrose 3.0 (cmu.edu)
241 points by sestep on July 16, 2023 | hide | past | favorite | 43 comments



Sam here (Penrose maintainer and one of the authors of this announcement post), AMA :)


Slightly off topic but I'll share my $.02 because you mentioned you authored the post. These types of announcements would be so much better if they included a brief blurb about what the project is near the beginning.

I think these posts get a lot of new eyeballs, and as someone who clicks on a lot of "new major release for X" posts, it's always an annoying side quest to go and figure out what the product is before going back to the post.

Congrats on the launch :)


Good point, thanks! Editing the post now, should have an updated version up soon with a blurb.


Agreed. Its always "Finally we have added xyz support for our abc module, now you can just call mnb by using the cba function!!" while (I believe) 90% of the people reading that just want to know what kind of tool it is.

On topic: This tool to make diagrams using plain text looks great. Definately going to see if I can utilize it in a project.

Example: https://penrose.cs.cmu.edu/try/?examples=graph-domain/other-...


It's one click away, have we power users become that lazy?


Maybe, but I also think it's good writing practice to lay a foundation for readers.

My reference point would be "proper" press releases. There's always some very basic blurbs about the company and/or product being announced, in addition to the meat of the announcement. This blog is essentially a press release for nerds, so I think following a similar pattern is in the best interest of the writers for these announcements.


At the very least, make the first mention of the product name a link to someplace with a description. It amazes me how often people skip basic things like this.


> AMA

As a mathematician. I cannot get over the fact that a tool called Penrose that makes (according to its documentation) diagrams, does not, in fact, make Penrose diagrams [0]. Nor even Penrose-Carter diagrams [1]

The output looks lovely, and I would like to use this for my math notes, but I cannot bear to accept such a disturbing name.

Question: Why did you chose this confusing name? Could you justify it in the introduction of the documentation? [2]

[0] https://en.wikipedia.org/wiki/Penrose_graphical_notation

[1] https://fr.wikipedia.org/wiki/Diagramme_de_Penrose-Carter

[2] https://penrose.cs.cmu.edu/docs/ref


Would love to hear what diagrams you'd like to make in your notes!

> Why did you chose this confusing name?

The main idea of the project is to generate diagrams from mathematical notations. So we want a name that people can associate with both "notations" and "diagrams." In addition to this, some of us also liked the fact that the name can be broken down into "pen" + "rose" :D.

We're really open to suggestions on names if a new name can help us spread the words on our core idea and the tool. "Escher" was one of the early candidates, too. Let us know!

> Could you justify it in the introduction of the documentation?

Great suggestion! Will do.

> As a mathematician. I cannot get over the fact that a tool called Penrose that makes (according to its documentation) diagrams, does not, in fact, make Penrose diagrams [0]. Nor even Penrose-Carter diagrams [1]

We never got around to make some Penrose diagrams in Penrose, but Penrose is an extensible platform! If you make a lot of them and want to make them in Penrose, join the discord (https://discord.com/invite/a7VXJU4dfR) to chat with us. I'd love to have some Penrose diagrams in our gallery too ;).


FWIW as a non-mathematician: when I hear “Penrose” I think “Penrose Diagram”. The name association would benefit me as a sort of mnemonic: if I saw a binary called penrose on my system, I would guess it has something to do with diagrams (not necessarily Penrose diagrams). Similarly, if I forgot the name of this tool, it would be easy to recall, as there aren’t too many “____ diagram” word pairs floating around in my brain. I give libraries and executables pithy names along the same lines, where one word that isn’t already in use (“Penrose”) strongly associates with another more general word (“diagram”) in my memory.

Look at the VHS tool for example — it doesn’t have anything to do with physical VHS tapes, but it does record a scripted shell invocation as a GIF for embedding in docs and demos and such. Super easy name to remember. See https://github.com/charmbracelet/vhs


I'm a long time TikZ user and have been following penrose since the initial video introduction. Really great progress! At this point, what do you think an avid TikZ/dot/pgf user might miss the most when trying Penrose?


Thanks! And great question; I'd probably say the main missing pieces would be the level of integration and the amount of general programming you can do. The former is kind of difficult for Penrose to compete with; for instance, to let people use Penrose in Overleaf, AFAIK we'd need to get it into the TeX Live distribution, which is pretty strict about what sorts of code is allowed. Specifically, our optimizer is written in Rust which we compile to WebAssembly, neither of which currently seem to be supported in the TeX Live build system.

The latter is something we're working hard on. We're trying to find the right balance between simplicity and expressiveness, and starting to explore options beyond our trio-DSL approach. We don't have great docs on this yet, but we have some experiments with using Penrose as a library in combination with SolidJS: https://github.com/penrose/penrose/tree/v3.0.0/packages/soli...


Thanks for the response and all that makes sense. These days, a lot of the LaTeX and TikZ I write is honestly embedded in web and asciidoc content (via custom extensions and a lot of shoestring interprocess scripting) so that seems perfectly fine. Ironically, I use SolidJS when I happen to do web stuff also, so I'll be sure to check that out.


Nimo here, the other author of the blog post :). Another advantage of TikZ is you can use it directly in LaTeX. TeX integration is something we care deeply about, so v3 introduces an export mode compatible with the svg package (https://ctan.org/pkg/svg?lang=en). Basically we export SVGs with raw <text> elements that LaTeX can style together with the rest of the document. More docs here: https://penrose.cs.cmu.edu/docs/ref/using#export.


Thank you for putting a brief description of the product at the top of the post. There are often posts on HN for new versions of software that I haven't heard of. I click on them out of curiosity only to find a post that only talks about the new version. I have to go looking to find out what the product/project actually is. (And often the post is on a blog that doesn't have a link back to the main product/project site!)


In the examples I saw graphs but I'm not sure I saw directed acyclic graphs... does this do graphs that respect layered algorithms like sugiyama and elkjs?


Good question! The graph styles you see in those examples can definitely be used to draw directed acyclic graphs (try opening one in the online editor and modifying the Substance file!), but it sounds like you may specifically be asking whether those graph layout algorithms are available in Penrose? In that case the answer is no, but you could write a Style program that does layered graph layout if you want. Unless I misunderstood your question?


That separation of domain, substance and style is genius.


I'm a bit lost looking at the examples, <snip> ... turns out that with uBlock on the examples partially break, the other files update but the .substance one does not ... which was very confusing to me!


Good catch! Opened an issue to investigate this https://github.com/penrose/penrose/issues/1553.


Are you sure it's uBlock related? I disabled uBlock origin for the whole site but it still has that behaviour.


Yes, pretty sure, I bypassed uBlock for the page, reloaded and then the examples made sense!


For me, using Firefox, following the tutorial produces blank output. Not sure why.

Clarification: Following the instructions in the Basics chapter in the online workspace.


Testing the tutorial link (https://penrose.cs.cmu.edu/docs/tutorial/welcome) locally with Firefox 115.0.2 seems okay. If this problem persists, can you file an issue about it in our repo: (https://github.com/penrose/penrose/issues)?


>We are excited to announce Penrose 3.0! We've added many exciting diagrams to our collection, reworked our core API, and improved support for more complex geometric queries... among many other things!

Cool! What is Penrose?


System for drawing diagrams, particularly focused on entities and relationships.


For the future, here is how you can find out yourself:

Click on the element in the top-left corner and it usually brings you to the landing page. That's the introduction page for most visitors so probably contains useful information if you visit a change log/release page but don't know what the project is.


This is attacking the problem in the wrong place. There are a relatively small number of writers of update announcements but a large number of readers. The readers have relatively low motivation to deeply investigate any one announced product. The product announcers generally have significant motivation to get the right readers to check out the product. So the correct solution here is for writers to realize that they need to address not just current users, but to spare a thought for the much, much, much larger number of people who are not yet familiar with the product. Even better, that's exactly what the writer did: https://news.ycombinator.com/item?id=36748426


No, that usually brings you to the front of the blog / forum / help page (depending on where you already are)

It can be surprisingly difficult to move from blog to product page.


Thanks for confirming that I’m not crazy. I click on a lot of these version announcements and I always feel like getting to the “what even is this” is surprisingly hard.


If editing the url bar to go to the homepage is “surprisingly hard”, maybe computing isn’t for you. Not even being ironic.


Mobile workflow:

1. Click HN link

2. See announcement, want product details

3. Click on logo… goes to blog homepage

4. Can’t edit url in in-app browser, so click to open in safari

5. Click to open url bar

6. Figure out what the home address likely is, mostly by guessing

7. Scan past giant hero to find an actual “about page”, maybe this is obvious maybe it isn’t

8. Actually get info I want

9. Close tab

10. Close safari

11. Open HN app again

12. Read release notes with actual context

If you can’t see how that is an annoyingly laborious process, easily resolved with a simple link in the opening paragraph, maybe logic isn’t for you. Not even being ironic.


Did OP update the site or something? Clicking the logo on mobile redirects to the home/landing page as one would expect from a website.


We are talking in general.

TFA behaves well, but I can understand if some users has learned to simply stop clicking the logo to get to the product page


> Clicking the logo in the top left usually leads to a blog or forum or help page

That’s not speaking in general. That’s called lying to prove a point.


Not sure why I got downvoted. Two people literally denied how websites work in order to prove their points.


Probably because your assertion doesn’t mesh with reality.

You’re pretending that there is some imaginary standard about how websites must work, we’re saying our personal experiences do not match what you’re asserting as a universal truth.


Yeah, this site isn’t bad; the comment I was initially responding to was more a general commentary on a trend that admittedly doesn’t really apply here.

It’d still be nice to get a summary “about” link but at least you can go right home.


And you can do that without agreeing with someone who is blatantly lying about how websites work in general


Nobody has time to do research on every article they read in a day. There's no excuse for not giving a short description in an announcement.


It is enough of a friction on mobile for me to very rarely do that.

However, if you can't make the logo of your product go to the landing page, then computing is definitely not for you. Also not being ironic.


You know what they say: focus on yourself.


Usually clicking the “logo” in the top left or center brings you to the “homepage” or “landing page”, not a blog/forum/help page. Websites have worked like this for decades.

Also, this is an announcement for an update. Not an announcement for a completely new product launch.




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

Search: