Hacker News new | ask | show | jobs
by michaelrpeskin 261 days ago
One trick that I always fall back on is to make a dependency graph. In meetings I used to pull up yuml.com but now I use mermaid. You can just start typing text and arrows and it renders in real time what depends on what. It's great in a live meeting to help focus people on where the problem really is, or in documentation to show why a change here will affect something there.

Both yuml and mermaid don't get you control over layout. I think that's a feature. If the layout engine can make a pretty picture that means your dependencies aren't too complex, but if the graph looks terrible and complicated, that means you're system is also probably terrible and complicated.

4 comments

To save others confusion, it's not yuml.com but yuml.me, a UML diagramming tool
Sorry, you're right. It's been so long since I used it, I forgot that it wasn't a .com domain.
Totally agree on the lack of layout control being a hidden strength. When the graph looks like spaghetti, that's not a tool issue - it's a systems issue
I wish we could use that. I can’t use them because mermaid doesn’t have a way to assure no data is stored on mermaid servers so I can’t use it for anything proprietary or even work related at all. LucidChart has a way to tie into Corporate though
I just use VSCode with a markdown file and the mermaid preview extension. It’s all local.

https://marketplace.visualstudio.com/items?itemName=vstirbu....

I can’t even get that approved.
Does corporate IT need to whitelist every VSCode extension that's being used? I can see the logic -it's running arbitrary code on your system as your user on their network- but damn! How does that even work? A self-hosted VSCode marketplace or something?
Basically. VSCode supports airgap install or offline install of plugins. Store them in Artifactory like an arbitrary location like vs-code-plugins and then ask an admin to install them on your VM.
Ouch. We are headed that direction. The problem is, if a vulnerability is found in a plugin, then you have to get everyone to manually upgrade. Doing it this way means everyone’s software is always out of date, which has its own drawbacks too.
mermaid layout doesn't scale for me so I keep using yEd/yFiles and their tgf (trivial graph format -- tab-delimited relations) input with orthogonal layout. It's a bit of a hassle in a meeting but updates take about 15 seconds to refresh if you have everything set up. Automating it fully would require an expensive license.