One of the key motivating factors for free software is so that a user or interested third party can see how a program works, how it was created, verify it for bugs and security, and can easily modify it including to fix bugs. To some degree this philosophy can be carried across to other works covered by copyright, yet the Creative Commons licenses don’t yet offer a license for this. For instance, say I do a drawing with a pencil on paper. There isn’t really any source, only a binary (the final drawing). If you want to change it, all you can do is draw over the top of it or use an eraser (just like modifying binary encoded machine code).
However, works covered by copyright are no longer solely creative, and no longer a single final binary. Just like software code which although could have creative thought put into it, it is mostly functional. I have the same thought process for creative works, I want to be able to see how it was created, and how I can modify it. Take for instance a digital painting, where every brush stroke is stored as a brushstroke. This way a third party could come along later, select the single brush stroke in question, select it and change the paint color.
I’ve pull this post from my Draft Archives from July 2010. I think it is about time I post it.
I stumbled upon Tetris the other day and began to wonder about the pieces, which lead me to stumble into a whole area of maths that I didn’t know had been documented: polyforms.
In 2D you have n squares which can be formed into Polyominos, for an arrangement of squares to form a polyomino each square must share at least one of it’s edges with another square. If you use 2 squares you get Dominos, 3 squares gives you Trominos, 4 gives Tetrominos, 5 gives Pentominos, and so on to n-minos. These all fall under the category of polyminos.
In 3D you have cubes with the principle that each cube must share a face with at least one other cube. These shapes are called polycubes. If you use 3 cubes you get tricubes, and so on.
You can extrapolate this concept to nD hypercubes with the principle that each n-cube must share at least one of its (n-1)-faces with another n-cube. Lets call these polyhypercubes.
We shall also say that polyhypercubes are the same if we can rotate (or mirror as well, depending on your definition of equality) them to match exactly. Note that if you are looking at the set of all poly-n-cubes for some n, the total size will vary depending whether you decide to allow mirroring (…although mirroring is the same as allowing rotation in a dimension 1 higher than the dimension of the space).
To generate these shapes you can start with one cube, from this you can make a graph where you add one block to every possible place. You can turn this into a directed graph, where an edge indicates you can get one shape by adding another cube to the previous shape. Perhaps this can be extended to a hypergraph, where two shapes are linked if you can morph from one to another by moving just one block (square, cube…)?
You can also do a similar graph (well actually it would be a multigraph as you would have islands) by only allowing an edge where you can make a “rubix cube” like change to the object.
I was originally interested in two problems here. Generating all possible n-polycubes for a given n, and finding the total number of n-polycubes for a given n. The diagrams are examples of what I mean, but it was only done manually and only up to 5-polycubes. Code used to generate those diagrams is at https://github.com/andrewharvey/phc/tree/master/concrete-cases/5-polycubes.
If I had a bakery, I would set up a blog which I would fill with interesting behind the counter things like photos of bread being made, run downs of their process of make different breads, what are in their different breads, etc… I suppose this could be done with a static web page, but I think a blog would work better as a marketing tool and they could do a post once a week. The idea is that you can assign a little bit of time along the way, rather than trying to document everything up front. Also a blog will come across much more authentic I think.
People interested in your produce can subscribe and see behind the scenes giving transparency but also reminding them to drop in for a visit.
Posting to the blog is one thing, but you also need to consider how would potential customers find out about it in the first place? GeoRSS combined with a good GeoRSS enabled search engine, then when you walk past your mobile device finds the nearby GeoRSS feed and you can check it out.