Thursday, January 22, 2009

Modulo Numbers

Modulo Numbers
I had another lunch meeting with my uncle (actually dad's mom's sister's son) chatting local politics some, went to Bridgeport Ale House, both of us having onion soup and ESB (one pint each).

Portlanders have a long way to go, in terms of becoming more cosmopolitan, but there's still that humility, a willingness to keep climbing that learning curve. We've made a strong beginning, since Oregon Trail days.

FOSS
(free and open source software) is protectively militant within specific levels, meaning some frequency bands need to keep serving the public, except ours is a "stack" of coded layers, going down to the chip, up to the cloud.

The floors in between are open or closed, mostly in peaceful coexistence, but we work to ensure a well-endowed commons, a shared public heritage, with GNU/Linux just a beginning. Our FOSS user space is really quite huge, despite being of uneven quality.

The more secret levels make liberal use of these goodies, and give back sometimes, contributing code, sponsoring further development.

Liberal arts subcultures take the same view: freedom and scholarship go hand in hand, otherwise you lose too much transparency, become easy prey for scam artists and/or simply lose direction and organization.

You need glue languages, interdisciplinary infrastructure... wanderers.
"Science would be ruined if it were to withdraw entirely into narrowly defined specialties. The rare scholars who are wanderers-by-choice are essential to the intellectual welfare of the settled disciplines." -- Benoit Mandelbrot
In the graphic above (click for larger view), we're studying the closure property given a set of Modulo Numbers made from the totatives of 12.

Because Python objects contain innate knowledge of operations, we don't mind seeing these "modulo numbers" as a "type" of integer, modified or specialized in some way.

The above Modulo class
is actually just a wrapper, or "facade" as Alex might say. We make use of the Integer type, though not by subclassing, and for only for a few of its features. We add __pow__ later in the lesson, other __ribs__ or special names.