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.
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.
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.
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]
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?
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!
>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!
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
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.
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.
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.
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.