I have been slowly (since 2005 at the latest!) developing artistic programs that draw squares packed with a gap into a vertical dimension. I found early on that you can scale the squares to fit any integer number of squares up to the limit of the sum of the gaps. At that point, if you scale the gap you can hypothetically fit an infinite number of squares up to the resolution of your output.
The idea was originally to make wall art as I am an artist. Nodebox has allowed the possibility of completely customizable interior design pattern wall paper or other elements, hence "lavender", as I didn't think many interior designers would want an entire wall of black squares.
My programs went something like this: Postscript -> SVG.js -> Processing -> Nodebox
One thing that is different about Nodebox is that it is always rendering so that if you make changes you see them immediately. This is huge, but it's strange to have a program environment that uses lists and no loops. If you are starting out, it's like saying make a painting with brushstrokes but you can't use a brush. I struggled for a long time to get the space between columns to work. In the end I found the "Running Total" node which makes this network possible.
My next step is to make controls visible without hunting for each node specifically. I did this before by creating a subnetwork and publishing the values but I keep adding things that I want to control. I have in this version the introduction of a sine function, which I later disconnected because things were getting out of hand.
One thing I have learned through this process is that the first step to adding functions is getting it to work, and then a harder task is getting it to ALWAYS work, and third and possibly hardest, get it so you don't have to know the magic number to make it work. For this piece that meant how to automate a random color, then fit it within the number of columns (always works), I haven't figured out how to make it so I don't have to remember how this crazy setup controls the hue, saturation, and brightness. At some point, I will share the Nodebox file, but I'm not ready for that yet. Here is just a screengrab. I guess you could build it from this, but if you want to do it that badly, just ask me and I'll send you the file.
I want to thank the Nodebox community for making this software available. It is truly amazing.