Categories

## Stuff I folded while compiling…

Usually, I have tons of spare paper around. It comes with the job (student, programmer). I also like to fold. So when I’m thinking\resting\doing anything, I usually pick up a piece of paper, and start folding. This time, while doing compilation homework, I came up with two nice folds. Problem is, I don’t remember the way to fold them. If I want to find out, I’ll have to reverse engineer my own fold. That actually happens quite a lot to me. Maybe I’ll just open them and try to solve them as a crease pattern… It’s about time I learned how to do that.

Of course, anything I fold doesn’t really look as good as anything by ‘the masters’. Still it’s fun to fold.

Here are the results, a rhino, and something that looks remotely like the road-runner:

Categories

## A new origami fold: Squirrel

Finally, got my computer hooked up to the ‘net, and I’m almost finished with moving. Yipee.

This fold was actually the first fold I did that had four limbs and actually resembled something. Although the proportions are not the best I still like this fold. It is not really complicated, and once you get the trick of the wings, you can get to it from the bird base quite easily. The same technique is also very useful for creating other four legged creatures (some of which I will also show).

(click on the image for folding instructions).

Categories

## A new fold on the origami page: Qua Qua Egg

In Israel, we have a fold we call ‘qua-qua-de-la-oma” or for short, “qua-qua”. I believe in english it is called a ‘color changer’, but I’m not sure of that. In any case, this fold yields a 3D shape similar to two connected tetrahedrons. (It is only similar because the shape is not completely symmetric). I couldn’t find a name for this shape, and since the same fold yields a qua-qua, I called it a qua-qua-egg. This fold is very useful as a makeshift ball to throw around the office.

Categories

I wanted to add this section for quite some time now. There are a few foldings I created, which I wanted to put online. Now the first page is ready.

I also wanted to create the web-page myself, so I had to learn a bit of JavaScript, html, css, and other cuss-words. Indeed, JavaScript seems to me a bad language. There is no printf equivalent! I tried looking for it on the web, and all I could find were partial implementations by people around the world. Did I say these implementations were partial?

Nevermind. So here is the new origami page, soon to be filled with many wondrous creatures.

Here is a preview of the first fold waiting there:

Categories

## Origami crease-patterns are NP-complete

After talking about it with someone I met, I looked it up, and it does seem to be so. There is of-course a lot of research on the subject that I didn’t yet get the chance to read, but I think this is the general picture.

In any case, this shows that my suggestion of using origami as a hash function is valid! Really cool stuff… I wonder if it could actually be useful somewhere.

Categories

## "Where is Waldo?", or "Security by Origami"

The Problem

A friend of mine gave me a riddle this morning regarding “Where’s Waldo?”. The riddle is as follows:

You and a friend play “Where’s Waldo?”. You solve the puzzle before your friend, and you want to prove to your friend you solved the puzzle, without giving him any hints. How do you do this?

Obviously, this is of course very reminiscent of zero knowledge proofs. A good zero knowledge proof will allow your friend to be convinced before he found Waldo himself, and even if he never finds him at all. A somewhat less interesting solution is a solution that will allow your friend to be convinced if and when he finds Waldo himself and can then verify your proof.

There are obviously many “intuitive” solutions, and I will not write them here… I will write here the second solution I thought of, but I consider it to be the more interesting one. However, this solution doesn’t solve the original problem – it only allows your friend to verify your solution once he solved it himself.

The Solution

Take a sheet of paper of identical dimensions to the picture, and mark a spot on it in the position where Waldo would have been on that sheet of paper. Fold that sheet of paper to some kind of origami animal, and give it to your friend. Once he solves the puzzle, he can open the folding, and see for himself that the point was marked correctly.

This is obviously not a very good solution. It is just a glorified note – you write down your solution on a note, and ask your friend not to peek until he solves it himself. So I came up with an improvement:

Agree beforehand with your friend on some (large) origami folding (such as a beetle). He shouldn’t know the instructions to fold it. Take a sheet of paper, and mark Waldo’s position on it (with a dot). Hold the paper above the fold, and mark on the fold (with another dot) the projection of the original dot on the folding. Now unfold the origami – you have a crease pattern. Give the crease pattern to your friend. When he solves the puzzle, refold the origami, and prove to your friend that the projection of the dot on the fold coincides with the dot on the picture. As an added bonus – your friend just learned how to fold another origami beast!

Of course, this solution isn’t water-tight. It also relies on crease patterns being hard to solve. It is mostly security by obscurity – but this time, ‘security by obscurity’ becomes ‘security by origami’. I just found that fascinating – that origami may be considered a function that is ‘hard to reverse engineer’ (even if it is not so) – such as a hash function. Origami does behave a little bit like a hash…

Tell me your original solutions to the problem.