Live data from Hacker News

Vizdom: Diagrams as Code

vizdom.dev

21–30 of 68 posts

Re: Vizdom: Diagrams as Code

#21
post #18

Earlier quoted context omitted.

Congrats on the launch! I'm the author of D2 (Terrastruct). I won't comment on comparisons you want to make as it's your launch, but just to clarify, we do have a programmatic API: - https://terrastruct.com/blog/post/generate-diagrams-programm... - https://d2lang.com/tour/api/

Thanks! Love your product! I didn’t mean to say you don’t have it. I’ll edit my other post.

No worries at all, the API is definitely a bit hidden. Anyway, best of luck and feel free to reach out if you want to chat diagrams!

Re: Vizdom: Diagrams as Code

#22
post #13
post #6

I’m the author, I just got tired of using a DSL and wanted a way to programmatically write/build a graph and quickly see the rendering. DLS-based diagramming tools like Terrastruct, mermaid, or graphviz definitely have their perks and are very well established for manual graph curation. But I found the lack of programmatic tooling (except terrastruct) a bit of a pain point.

"DLS-based diagramming tools like Terrastruct, mermaid, or graphviz definitely have their perks and are very well established for manual graph curation. But I found the lack of programmatic a bit of a pain point." Hi, creator of Ilograph[0] here. I agree with this if the DSL doesn't provide an IDE with autocomplete and instant-rendering (which I think applies to the technologies you mentioned). With auto-complete and…

Neat product! I like the interactivity.

For me (and my narrow use-case), I just couldn’t find a simple tool to sync my graph to somewhere that I could view it easily - especially after I’ve instrumented my application and deployed to the cloud.

Re: Vizdom: Diagrams as Code

#24
post #8
post #4

"Diagrams as Code" has been around a long time (e.g. DOT), not sure what this is really bringing as an improvement, especially as seems to require an account (at least it does when I click "get started" and, as someone else points out, is closed source.

The npm package is free to use, but closed source until I have bandwidth. To be clear, you don’t need an account to use the npm package which has all of the functionality to perform layout and rendering. An account is only needed if you want to sync the graph and have a web page to view renderings. This is useful if you’ve instrumented a long lived application with Vizdom, but don’t want to produce a local layout/ren…

an account. to make a diagram. sigh diagrams-as-a-service. sign. "turn your OCD side project into a business: turn something that people do for free and don't really care that much about into a paid subscription service because..."

Re: Vizdom: Diagrams as Code

#25

Other than Graphviz (can try one of its other visual editors[3]), other generic text to diagram tools/langs in this space are Pikchr[1] and D2[2]. UPDATE: Just realized that Vizdom here is not a new language, but a Graphviz editor. [1]: https://pikchr.org/home/pikchrshow [2]: https://play.d2lang.com/ [3]: http://magjac.com/graphviz-visual-editor/

Ah yeah while I do have a live editor for playing with DOT, it’s not a graphviz replacement nor is it primarily what Vizdom is all about. I actually launched a tech preview earlier this year and those two pages were all I really had.

Re: Vizdom: Diagrams as Code

#26
the diagram on the front page I thought was documenting the huge amount of code next to it but it turns out it's the other way around! huge amount of code is generating the simple diagram. you must really hate dsl's. the point of the DSL is it saves you writing the huge amount of code to do something simple. so your premise here is people aren't writing enough code that's right more code that we have to maintain just to draw diagrams. play something simple like a DSL with something difficult like more code. heaps of it! and then charge money for it :D

Re: Vizdom: Diagrams as Code

#27
post #10
post #7

Earlier quoted context omitted.

Can you explain the licensing? There’s several comments noting some closed source WASM blob.

Sure! It’s Apache 2.0 licensed, but yes the binary wasm blob is what does all the work and is closed source for the time being. It’s about 25k lines of rust code compiled to do the following: - Layout/position a directed graph - Compute a bounding box for text labels and produce font glyphs for the rendering engine - Generate an SVG - Optionally, sync to a Vizdom account Fun fact, the majority of that wasm blob is wh…

I free to redistribute the WASM blob to my end users? The blob itself is Apache? I know binaries can be under Apache without being source available but I just want o make sure I understand correctly

Re: Vizdom: Diagrams as Code

#28
post #14

Earlier quoted context omitted.

Looks like this uses DOT? Click on "Editor" at the top

I wrote some functionality to parse DOT to feed it into the layout engine before I got everything working. It was a great way to validate more complex graphs with a DSL that is already prevalent. So for now it’s only present in the webapp. DOT parsing isn’t part of the npm package, but I’m not totally opposed to include it! It may add 1-2Mb more to the wasm bundle.

> So for now it’s only present in the webapp.

Just so you know, I find this terribly confusing. You see the homepage with your code, then you think "oh, I'll try this editor here..." and then it turns out it's Dot? All examples are written in Dot? Why? Didn't it say "no DSLs"? Didn't it show some TypeScript in the homepage?

It can very easily make people get the wrong idea about what your project is.

Re: Vizdom: Diagrams as Code

#30
post #26

the diagram on the front page I thought was documenting the huge amount of code next to it but it turns out it's the other way around! huge amount of code is generating the simple diagram. you must really hate dsl's. the point of the DSL is it saves you writing the huge amount of code to do something simple. so your premise here is people aren't writing enough code that's right more code that we have to maintain just…

Tradeoffs are real. My example displays a few more knobs and yes, it’s more verbose.

I’d say my premise isn’t that “DSLs are bad”, but more along the lines of if a DSL isn’t what you’re looking for, I may have something for you. Particularly if you need your application to generate a view of a graph _during runtime_ so that it is your real-time source of truth.

I find that DSLs and “as code” solutions for several products have their own niche. Take for example Terraform vs Pulumi.

Post reply on HN