Building a Simple Network Map with nomnoml

Avdi Grimm wrote an interesting post back in June, about using text to create simple diagrams. He highlighted a few different tools, but one stood out: nomnoml. I used UMLet a lot back in college, to create some mediocre user stories, which soured me on UML in general. I gave nomnoml a shot, though, and created this simple network diagram:

Example network diagram created with nomnoml

Check out the code that generated it, below:

#.adversary: visual=rhomb fill=red visual=database #.router: visual=ellipse [<adversary>ENY]->[<cloud>Gray;space] [<cloud>Gray;space]<->firewall[\|\|\|\|] [\|\|\|\|]<->[<router>✥] [<router>✥]<->[Subnet 1;↔] [Subnet 1;↔]<->[M1_1] [Subnet 1;↔]<->[M2_1] [Subnet 1;↔]<->[M3_1] [Subnet 1;↔]<->[M4_1] [<router>✥]<->[Subnet 2;↔] [Subnet 2;↔]<->[M1_2] [Subnet 2;↔]<->[M2_2] [Subnet 2;↔]<->[M3_2] [Subnet 2;↔]<->[M4_2] [<router>✥]<->[DMZ;↔] [DMZ;↔]<->[Server] [DMZ;↔]<->[Plex] [DMZ;↔]<->[Pi] [DMZ;↔]<->[Pi2]

Most people use PowerPoint for simple network diagrams, and Visio Studio for more complex ones, but I liked using nomnoml more than either of those. Next time I need to mock up something simple, I’ll go there first.