21st Web Montag in Cologne

Yesterday evening, the 21st Web Montag Cologne took place. The list of participants had already been growing constantly during the last days before the event, but when @fbz, @scompt and me arrived at ~19:30, I was surprised anyway how many people where already there and engaged in lively discussions. Starting from 8 o’clock, three talks were given.

Jörn Zaefferer (@bassistance) presented the newly released jQuery 1.4. It offers new features and also an improved performance. If you use jQuery, it might be worth upgrading, despite some backwards-imcompatibilities. A lot of work has also been done on the website and the documentation.

Christoph Beckmann (@cbek) talked about his experiences surviving a traffic peak caused by TV appearance with the help of Amazon Web Services. The solution involved migrating the Loo2Go server to a big EC2 instance and using several caching servers. While the costs were marginal, the approach seems very labour intense to me.

Michael presented a new MVC framework written in PHP which was heavily influenced by his experiences working with Ruby on Rails.

After the talks, the discussions continued. All in all, it was once again a very interesting evening, thanks everybody for participating.

The next Web Montag in Cologne will probably be on the first or second Monday in March, so mark these dates in your calendar.

How to solve the 36 Cube puzzle – hints & solution

For Christmas, I got the ThinkFun 36 Cube. It is consists of 36 towers in 6 colors and 6 different sizes and a base plate with 6 by 6 slots to plug in the towers. These slots are of different heights. The goal is to place one towers of every color in each row and column. And the  towers must fit to form a level cube.

After some tries, I came to the conclusion that this puzzle is the work of the devil and that I should not waste more brain cycles on solving it. So I wrote a little python script to solve the puzzle for me.

Show sourcecode

My program quickly came up with a correct placement for 34 towers – but it failed to find the complete solution.

[('P', 5), ('Y', 3), ('O', 2), ('B', 1), ('R', 4), ('G', 6)]
[('Y', 4), ('O', 1), ('P', 6), ('R', 2), ('G', 5), ('B', 3)]
[('O', 6), ('B', 5), ('R', 3), ('G', 4), ('P', 1), ('Y', 2)]
[('R', 1), ('G', 2), ('Y', 5), ('P', 3), ('B', 6), ('O', 4)]
[('B', 2), ('P', 4), ('G', 1), ('Y', 6), ('O', 3), ('R', 5)]
[('G', 3), ('R', 6), ('B', 4), ('O', 5), ('X', 2), ('X', 1)]

P = Purple, Y = Yellow, O = Orange, B = Blue, R = Red, G = Green, X = Empty
The number is the size of the tower.
As you can see, I didn’t waste much time on making the output pretty 🙂

36cube almost solved

So close and yet so far

After spending lots of time verifying that my program was working correctly, I became impatient and googled for help. I found an answer, but it revealed too much, taking all the fun.

Therefore, I split my solution into multiple hints. If you are stuck, reveal just one of them at a time and try to figure it out by yourself. It is way more rewarding!

Hint #1 (show):

Hint #2 (show):

Hint #3 (show):

Hint #4 (show):

Hint #5 (show):

Even if you uncovered all hints, the puzzle is still far from solved. You can still tinker with it forever.

Spoiler alert: Don’t uncover the solution, unless you are really desperate!

Click to show the 36cube solution.