## Working out a Math Problem | BIT-101

I love how math creeps into design, programming and other problem solving.

I had some fun playing with Keith’s code (as usual). I’m always impressed with how he’ll see a problem and eventually at least figure out how to solve it using math/trig/physics. It’s a breath of fresh air and it almost makes me wish I was a math teacher and I could whip the example out whenever a student says ‘how is math useful’. I use it and even enjoy using math in my work to solve problems and it what bits I paid attention to in school still really help me.

Anyways, Keith was trying to figure out how to have a ring of a certain number of exactly touching circles around one central circle of a predetermined size. Sounds like a perfect bonus question from trig, right?
Here’s his post: Working out a Math Problem | BIT-101. And then his follow-up post where he gets to what I was expecting in some nice renderings showing how he’s using this simple pattern to make some really interesting designs.

I commented that I liked his problem solving procedure and was interested to see it animated! I love how math creeps into design like this. So I toyed a bit with animating the form. Check out my jsbin at http://jsbin.com/icahul/132/edit.

## Randomness and Unicorns for Programming

Programming seems to have a gulf dividing the playful and the useful. The random and scripted. The fun and the business. KrazyDad writes the book review and calls for a concerted effort to close this gap. The pleasurable and “recreational programming” mindset seems to be giving way to OOP and other acronyms that do little to inspire new programmers to experiment. While I agree I also think that the web of today makes a lot of old boring aspects – now playful. There are things like the 1K competitions, and all the magic that is now coming our with these new CSS3 properties. Although it’s not enough, I think there is at least a spark of it, and agreed it could be better in that it could be easier for newbies to jump in and experiment without understanding so much first. Thanks for the book recommendation Jim, I’ll add it to my list and hopefully get an into to BASIC.

For a long time, the amount of joy I derived from writing software was proportional to the amount that the features depended on randomness. There is a relationship between the RND() function and the perception of utility. To me, programs that are useful, and that do not require randomness, are useful, but boring — they fill out your tax return and monitor patients in hospitals. The RND() function is like a firehose from God, and the programs that use it are useless, but fun — they are games, and simulations, and art.

## Music Visualization via JS

Very fun audio visualizer built with Three.js loop waveform visualizer and more, check it out and see some really nice looking forms and shapes responding to music.