Skip to content
dann toliver edited this page Aug 9, 2014 · 1 revision

So the story goes something like this: you've been recruited into a group of privateers, and you're responsible for intership communication. The standard semaphore set has 64 symbols using 4 different colors of flag. But your shipmates are spending a lot of time flag-switching, so you've decided to compress the system down in to 64 symbols in just a single color. How do you do this?

The idea was to lead gradual in to base64 compression, which has a nice (and quite natural, once you've seen it) way of packing things together. (I may have fudged the story above a little, because I'm writing this quickly months later and don't actually remember what I made up that day, but it was something that could lend itself to base64ification.)

There was rather poor attendance that night, so the four or five of us clustered into a single super group and hammered out a couple versions in Common Lisp and Haskell. Then we spent the last session at the whiteboard with an impromptu lecture on the difference between application and composition in Haskell.

This type of data packing problem could be fun in future, but it needs more refinement.

Clone this wiki locally