Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. PipePipe: NewPipe hard fork implementing SponsorBlock (github.com/infinityloop1308)
    127comments
  2. DeepSeek Elastic Compute (DSec) (arxiv.org)
    12comments
  3. Show HN: Reladraw – A diagram language where you decide where to place things (github.com/reladraw)
    23comments
  4. A searchable library of forgotten public-domain film clips from 1915 onward (movingimagearchive.com)
    12comments
  5. Drawgent: Coding agent on a live Excalidraw canvas (tangled.org)
    25comments
  6. Welcome to the Medical Clinic at the Interplanetary Relay Station (lightspeedmagazine.com)
    —discuss
  7. The Lost Atomic Update on Loongson CPU (jia.je)
    4comments
  8. Fifteen years later, the Apple Cards origin story (lexontech.org)
    67comments
  9. Modern Object Pascal Introduction for Programmers (castle-engine.io)
    42comments
  10. Revealing the details of how OpenAI agents hacked Hugging Face (swarmtraces.org)
    435comments
  11. The Rise of Audio AR (dbreunig.com)
    5comments
  12. LA Metro has some of the slowest escalators on Earth (basin.la)
    7comments
  13. We're gonna need a lot more mathematicians (terrytao.wordpress.com)
    436comments
  14. Analyzing Frontier Model Progress with My Favourite Game: Prince of Persia (blog.priyan.in)
    30comments
  15. Breaking Up with Google Play: Why Conversations Is Now Free (gultsch.de)
    229comments
  16. Plan mode is dead (aymannadeem.com)
    459comments
  17. How to keep enjoying programming in a world of LLMs (haskell.org)
    164comments
  18. Plunging test scores are a slow-moving catastrophe (economist.com)
    257comments
  19. The Murky History of Soviet-Born Tetris (mitpress.mit.edu)
    26comments
  20. Ollaya – Ollama for open-source, Jev-style decision models (ollaya.dev)
    139comments
  21. Reflections on 1,000 Days of Math (gmays.com)
    31comments
  22. OpenAI bots meddled with multiple US Government agency sites (bbc.com)
    111comments
  23. Automattic has a new board after failed attempt to put CEO on leave (techcrunch.com)
    109comments
  24. Floci: Locally emulating any cloud service (floci.io)
    27comments
  25. Show HN: Jev Plays Pokémon Red (jev-pokemon.vercel.app)
    108comments
  26. Experiencing writing at our recent Chinese calligraphy workshop (viewsproject.wordpress.com)
    1comments
  27. 16GB iPod Nano 3G Upgrade (tuckerosman.com)
    22comments
  28. Is your Postgres migration safe or not safe? (safenotsafe.dev)
    40comments
  29. What even is an OS now? (sockpuppet.org)
    430comments
  30. Banks and Credit Unions to Team Up Against Apple Pay Fees (macrumors.com)
    76comments

Show HN: Reladraw – A diagram language where you decide where to place things

85 pointsby 4h agogithub.com
23 comments
I love making diagrams to help understand, plan, etc. However, the options are (A) auto-placement languages like Mermaid or Graphviz (which don't let me decide how the diagram looks), or (B) software like Draw.io which are powerful but are very time consuming (and inefficient for agents to manipulate).

I wanted to have the benefits of both, where you can define a diagram in a diagram language, but also retain a high degree of control over what the diagram looks like.

I also wanted this to work well for humans and agents.

On the Github link, there's a playground where you can try it out without installation. There's also instructions for a simple npm install and for installing a skill you can use with Claude or other agents.

1h agoHN ↗

I like it. I have too many issues with Mermaid

1h agoHN ↗

Thanks! I really like Mermaid, but if the diagram gets too complicated, it draws it how it wants and I end up reaching for Draw.io, which is also awesome, but can take a lot of time.

1h agoHN ↗

This genuinely fucks. Thank you

Fighting with mermaid is so frustraiting, especially when it comes to normal vs github formatting. This is going to replace several ad-hoc half impls I have laying around

1h agoHN ↗

Glad to hear it :) If you find that you want Reladraw to do something that it can't, let me know! I keep uncovering features by looking at actual Draw.io diagrams I've made and seeing if Reladraw can do it.

1h agoHN ↗

This is basically tikz's positioning library (right=of, below left=of) without having to touch LaTeX. With tikz it was never the nodes that hurt me, it was the edges. Once two edges want the same side of a box it gets ugly fast. Does the resolver do any routing, or is from:/to: all you get? And what happens with conflicting statements, does the first one win or do you get an error?

1h agoHN ↗

Appreciate the comment and questions!

Does the resolver do any routing? It doesn't auto-route around obstacles. But, if nodes A, B, and C all have edges going to the left side of D, they share that side and space themselves apart so they don't cross. If the side is too short, they'll bow out to make space for each other, so you don't have to manually fiddle. You can also give routing instructions like "these edges pass between these two nodes on their way to D".

Conflicting statements? Statements that can all hold will all apply. Right of one node and below another is okay. Or, "right of A and B and C" will clear whichever sticks out furthest. If they all can't hold, you'll get an error naming the clashing statements (e.g., something both left and right of A). Nothing silently wins.

1h agoHN ↗

nothing silently wins.

Fantastic! Never change this.

People will complain. These people also prefer type unsafe languages. Hold fast.

1h agoHN ↗

Thanks! My concern was that a resolver making decisions "to be helpful" could become surprising or frustrating.

For example, if you ask for edges to pass "between C and D", but those two nodes sit diagonally, the gap you are asking for might be the vertical channel or horizontal channel between them. So instead of guessing for you, it will tell you of the ambiguity and let you spell out what you want.

1h agoHN ↗

I was looking for something like this. I wish it had different themes, the will prob be the best improvement.

1h agoHN ↗

Great idea! So, right now it defaults to this sorta "dark" theme, and the only option you'd have is to change the diagram background color or define styles. I'll make defining some preset themes a priority!

58m agoHN ↗

That is damn interesting. When I made copilot write a script that creates a .dot diagram, I found it funny that it had the same problems with placement that I have when doing it manually.

51m agoHN ↗

Thanks very much! Yea, with .dot, the layout engine decides where things go. So, the agent doesn't know what the result looks like, leading to render, look, fiddle loops. And, depending on how much you care about layout, .dot might not give you enough knobs to turn to make it look like what you want.

The idea with Reladraw is that a human or agent could just state "I want this node to the right of this other one", rather than have a layout engine decide. Hopefully less fiddling for agents!

46m agoHN ↗

I love it, and I wish it was part of Mermaid. I've always struggled with the presentation and agents tend to hack or just straight use SVG lol

38m agoHN ↗

Thanks! Mermaid is so cool, but I wanted this relative placement, too. I've played with having Claude make me infographics in HTML and also using SVG. They can be surprisingly decent, until you want something complicated, then it gets messy! I figure, let the agents just say what they want, and let the tool (Reladraw) worry about the arithmetic. No use having an agent burning tokens to recompute coordinates with dubious results! >.<'

23m agoHN ↗

I wish this just implement tikz without latex. I've yet to see a better drawing library that is both simple and has the depth to build the most complicated things.

17m agoHN ↗

Huh, can you read my mind?! :D

This is super cool. I love diagrams, charts, etc. and use them a lot. Both privately and for work.

Definitely going to make use of this, I didn't know how much I wanted something like this until right now hahaha.

13m agoHN ↗

Glad to hear it! I'm a big fan of diagrams for understanding, mapping out architecture, etc!

15m agoHN ↗

Seems a little buggy, I added this line:

edge parser -> renderer "test edge" from: left to: right

and it wasn't smart enough to make a curved arrow

6m agoHN ↗

Genuine bug! Good find. I'll look into a fix.

14m agoHN ↗

Mermaid works great for fixed layouts like sequence diagrams and Gantts. For flowcharts, where position is king, it's bad.

I've tried using svg in my MD files but they get unwieldy quite fast. This is a great idea. My first reaction was - but what's if I need something more exact. But reflecting on it, I've realized that this relative positioning is probably enough.

4m agoHN ↗

Yea, it's hard to beat absolute positioning if you want something ultra-custom, but I'm hoping for most flowcharts, mind maps, etc. the relative positioning is enough to get what you want without fiddling too much!