
Show HN: Create diagrams stitching images on a grid using HCL (like Terraform) - lucasepe
https://github.com/lucasepe/jumble/
======
guessmyname
Nice project. Thanks for sharing. One more for my collection.

I already use Monodraw [1] which works great to document stuff in code.

Runway [2] and Diagrams [3] for my presentations and README files.

And recently, I’ve been using mingrammer’s Diagrams Python tool [4]. I am very
excited about this pull-request on GitHub [5] where some people are creating a
web wrapper in Flask around this project so that we can generate the diagrams
à la [http://webgraphviz.com](http://webgraphviz.com) which is quite similar
to established products like Draw.io [6] and CloudCraft [7]. Someone also
posted about InfraMap [8] a couple of days ago [9] and I’ve noticed the
developers have made several improvements to the graphs in the last couple of
days.

I hope Jumble’s developer gets good feedback too.

I’d recommend replacing the GIF with static images or at least put a progress
bar (here [10] is a program written in Go to do that) because it is very
difficult to understand the first time what is happening in the animation with
all the _code-to-graph-and-back-to-code_ jump cuts.

Keep up the good work.

[1] [https://monodraw.helftone.com](https://monodraw.helftone.com)

[2] [http://celestialteapot.com/runway/](http://celestialteapot.com/runway/)

[3] [https://diagrams.app](https://diagrams.app)

[4]
[https://github.com/mingrammer/diagrams](https://github.com/mingrammer/diagrams)

[5]
[https://github.com/mingrammer/diagrams/pull/201](https://github.com/mingrammer/diagrams/pull/201)

[6] [http://draw.io](http://draw.io)

[7] [https://cloudcraft.co](https://cloudcraft.co)

[8]
[https://github.com/cycloidio/inframap](https://github.com/cycloidio/inframap)

[9]
[https://news.ycombinator.com/item?id=23860701](https://news.ycombinator.com/item?id=23860701)

[10] [https://github.com/nwtgck/gif-progress](https://github.com/nwtgck/gif-
progress)

~~~
dkersten
I so agree with that last paragraph. I just saw a blank grid and was about to
close it and comment about maybe posting an example image and then I realised
that the animation slowly built up the image... Even then, though, I just
wanted to see the end result not wait for the step by step.

------
t0astbread
Cool! I recently started using graphviz for my diagrams and while I do like it
a lot, there are a lot of scenarios where it just doesn't do what I want and
there appears to be no way to make it do what I want. Jumble seems to make an
interesting tradeoff compared to graphviz in that it's less automatic but you
have more control over your final diagram. I'll bookmark this for my next
diagram!

~~~
lucasepe
Thank you! I had the same problem with Graphviz (if you are curious and have
time, check my other experiment 'draft' it uses graphviz. Right now with
'jumble' I'm able to draw all kinds of architectures. I'm using Jumble also to
merge different architecture patterns.

------
ianlevesque
I like Nomad, which also uses HCL, but why would you use it for anything else?
Serious question, it's not a common choice.

~~~
OJFord
It could quite easily be the only declarative language someone was familiar
with (or the one most familiar, or the one thought to be most familiar to
potential users).

Agree it's not common, don't think I've ever seen it in a non-Hashicorp
project, but then declarative languages aren't (relatively!) common.

Alternate tongue-in-cheek answer: if you want a job at Hashicorp? (Or tongue-
out-of-cheek: you already work at Hashicorp and are very familiat with it, or
looking for a pet project to get very familiar with it.)

Would be interested to hear OP's actual reason though, I'm not criticising the
question.

~~~
lucasepe
Hi! :) thanks!

I don't work for Hascicorp and no I'm not looking for jobs right now.

I'm really really curious... a lot!

I was fashinated about how terraform does it's magic, so I studied terraform
source code (just the part related to Hcl).

I like the idea to write a custom declarative language, with expressions and
custom function.

As side project (just for fun) I'm writing a 2D Cad all with custom Hcl
directives and geometric functions (intersections etc.).

Since for my job I need to draw and change..a lot.. solution architectures
diagrams... so the Jumble idea was born.

All the best, Luca

------
spydum
Neat idea, but I initially thought it might be like dot/graphviz for reading
your TF configs and automatically diagramming them.. would be an interesting
idea, considering TF has some awareness of dependencies (though maybe not
app/data flow)

~~~
mwaitjmp
There is a command called “terraform graph” which can do this. Apologies if I
have misunderstood your post.

------
VectorLock
Pretty neat, now if it could do Grafana dashboards I'd be perfect.

