5 ms·
Hi all, creator of D2 here. I posted this on Reddit to get some feedback but was hoping to improve the docs and offer a playground environment before posting on
by alixanderwang 4y ago
Hi all, creator of D2 here. I posted this on Reddit to get some feedback but was hoping to improve the docs and offer a playground environment before posting on HackerNews. Ah well. I wanted to clarify some things:
1. D2 will be open source and usable outside of Terrastruct. Terrastruct will remain the best interface to D2, with bidirectional updates from GUI, but we already have vscode and vim plugins ready for local editing. We're a small team and working on one thing at a time.
2. We're aware of PlantUML, Graphviz, Mermaid, of course. These are mature offerings, but I see plenty room for improvement that we intend to tackle with D2. https://d2-lang.com/tour/faq#how-does-this-compare-to-mermaid-graphviz-plantuml https://d2-lang.com/tour/faq#how-does-this-compare-to-mermai...
Feel free to ask any questions!
- flashgordon 4y agoBy the way do you have a BNF grammar (or something more of a formal spec for this?). The cheat sheet does look good though.
- alixanderwang 4y agoNo unfortunately not yet. The docs are like 75% caught up to all the language right now and it's still changing not infrequently, so we'll make some formal specs once it's stable. This reveal caught us off guard =).
- mdaniel 4y ago> I posted this on Reddit to get some feedback > This reveal caught us off guard Hmmm
- alixanderwang 4y agohah, so the line of logic was: "let's post on reddit to get some low stakes feedback in preparation for a HN launch"
- atonse 4y agoI can buy this reasoning. This crowd gives solid, tough, but highly constructive feedback. I, like others, will keep an eye out for when it becomes open source mainly to see which license.
- kaladin_1 4y agoNice intro video on the landing page. I liked the capabilities shown. I do think you could have made it obvious in the Getting Started section that this is not a local runnable language. I spent some time looking for how to install it only for me to realise that it is some form of SaaS.
- alixanderwang 4y agoThanks! The caveat is on the intro/home page. We very much intend to support a high quality locally runnable experience before we'd call it a v1.
- sigy 4y agoIt seems that open sourcing it while it is growing up actually makes more sense. If you want community involvement, ideas, testing, contributions, and so on, then hiding the project source is antithetical to why most people participate in open source in the first place. Open source can mean more than just a license. It should mean more than just gifting a code base once you think you're done. I don't mean to come across as bitter or entitled. I just question the value of waiting till the last minute. For now, the promise only stands as a way to pull people into the fold. I've seen this kind of promise many times before in projects much like this.
- alixanderwang 4y agothank you for the advice, I do appreciate it, as I'm no expert in open source. one thing to clarify is the idea that we're tying a bow and chucking it across the fence. we'll be far from finished when we open source d2. the intention was to internally seed the initial design (of both the language and the code) -- the first minute of building -- quickly, within a small team. i'm really grateful for all the interest today from everyone, hopefully HN will let me post the repo to update people shortly (w/o considering it a dupe).
- jrmiii 4y agoThe guidelines for dupes require "substantially new information", IMHO the source absolutely constitutes substantially new information and I look forward to seeing it - I think your video demo was very compelling. It reminds me of that adage, "Start your business, the tool you build to run your business is now your business"
- ryukoposting 4y agoThe syntax reminds me a bit of PIC. Is that coincidence, or intentional?
- alixanderwang 4y agocoincidental, i actually thought i'd researched all the available options before embarking. can you share a link to an example? I found the wikipedia but haven't found what the syntax looks like
- ryukoposting 4y agoOkay, maybe it's not as close as I remember it! PIC is designed to be embedded inside of TROFF, so it's... not pretty, to say the least. It does have the -> arrow thing, and the label: value syntax, though. For as hideous as it is, it's surprisingly easy to use. https://yingtongdiddleipo.ee.wits.ac.za/help/gpic.pdf https://yingtongdiddleipo.ee.wits.ac.za/help/gpic.pdf
- SonOfLilit 4y agoThose probably descended through PlantUML
- alixanderwang 4y agothe -> probably descended from cave paintings
- eevilspock 4y ago> D2 will be open source and usable outside of Terrastruct. Terrastruct will remain the best interface to D2, with bidirectional updates from GUI Any honest open source project would not say such a thing categorically, and would welcome and support community improvements that take it to an even higher level. But instead it sounds like you will rig the game, with "open source" just meaning "let's get people to work on our proprietary product for free, and we can fly the banner of open source while we're at it!".
- ListenLinda 4y agoWill you be able to make computer network diagrams? None of the existing open source programs are very useful for this mostly because you can’t put text at the beginning, middle, and end of connectors.
- alixanderwang 4y agowe only support 1 label for connections right now, but that's a good suggestion. i'll put it on our roadmap, ty!