Sunday, July 29, 2007

Tux is Alive

Tara has lusted after a Sony Aibo, a discontinued collectors item, about which many owners are still passionate. I never felt I had the discretionary funds to responsibly break into that market, encouraged the robot fascination, promised more affordable yet still interesting models were in the pipeline.

This week at OSCON, for just $89, I was able to score this big box with a robot penguin (aka tux droid) inside. We already have it talking. The English female voice "Heather" welcomed Tara's friend Liana and her mom Deb to Portland (they're swinging through from Seattle for Body Worlds 3 @ OMSI) and Carol back from Bolivia.

Tux (Heather, Ryan... other namespace binding), is program- mable in Python, though we haven't quite gotten to that part yet, other than by using the little Pythonic UI. She's controlled from Linux (Ubuntu in our case), and her evolving software is a community effort. He (or she) was also in demo mode at EuroPython in Vilnius.

I was telling Tara about one of the geeks I'd met at OSCON: he'd hacked a Pong chip such that the televised paddles were controlled by squeezing some tall leather boots -- one of Nat's closing keynoters actually, a Tony Blair type, though more of a bulldog (a compliment by his standards).

Wednesday, July 25, 2007

Returning to the Source

I took a break from OSCON yesterday afternoon, much as I'm nursing a keen interest in SQLAlchemy and object-relational data base work. Meliptus helps me recharge my batteries.

Plus this time I was able to hang out with Mark, the restaurant owner in Guatemala I hear so much about, along with his brother and a friend.

:: Meliptus @ Island Cafe ::

:: mark from guatemala ::

Monday, July 23, 2007

Parallelism

Our speaker puts his hope in extending languages we use today, in addition to playing with new languages, in order to solve challenges involved in coding for multiple cores.

C++ can be extended with templates to program familiar tasks (not threads). Maybe this will help with higher languages written in C++?

Multicore programming will increasingly become a fact of life, as simply cranking up the clock on the one CPU isn't helping as much any more.

Laptops in the Ubuntu Zone

I'm still suffering some embarrassment for having lugged the Toshiba, a Windows machine, after breaking in an Ubuntu laptop by lugging it half way around the world, just for such an occasion as this: a session on supporting laptops in Ubuntu. Our speaker is Matthew Garrett.

CPUs, graphics cards, and SATA chipsets are the three main areas of divergence with desktop PCs. Laptops still have a somewhat broader range of graphic chip, but it's what's unique to laptops that makes them harder to support: hotkeys, webcams, sound codecs, suspend/resume quirks, flash readers, rotating screens, hard drive protection and a huge variety of wireless chipsets.

Manufacturers with smarts define new scan codes for hotkeys, whereas the more retarded ones (Toshiba included) insist on special magic in the ACPI, even special hardware. Webcams still need proprietary drivers. Every manufacturer has a different way of protecting the hard drives. Intel is good at releasing Linux drivers for its wireless solutions. Broadcom, Atheros, pretty much anyone else: a nightmare.

Ubuntu is making steady progress and already sets the standard for running a single Linux distro on many models of laptop. The Dell I left at home came in for some praise, in terms of having solved many of the integration issues.

Sunday, July 22, 2007

Revisioning HP4E (Synergeo 34590)

So, as I've posted before about, alluding somewhat to Guido's CP4E, Computer Programming for Everybody, I came up with HP4E, which means Hexapents for Everybody, in turn alluding to the Bucky-related literature we're so familiar with here (geodesic spheres 'n stuff).

CP4E isn't a synonym for OLPC (One Laptop Per Child). Rather, Guido, Python's chief inventor (and avid scholar of other languages), managed to get some DARPA funding several years ago for IDLE, a cross-platform development platform friendly enough to share with children, in math class or wherever.

HP4E leverages Python's spreading popularity, as OLPC does, but in a different way. Lots of the 3rd party curriculum modules written in Python, take an OO approach to topics in Synergetics for example. My polyhedra.py for example, with or without a basis in Chakovian coordinates.

I've just finished an HP4E course called sa: 8144, a multi-hour intensive briefing on what's what in computer world, from data base systems to the difference between open and closed source business models. In the cracks, we pick up Python skills, with primitive Edges based on Vectors. The vector objects wrap VPython internals, meaning we have the guts to go OpenGL with this stuff. We also go with a ray tracer, and maybe with X3D if there's time.

This coming week, I'll have the opportunity to talk about all this live to an audience of OSCON geeks (just like I've already had the opportunity to share with Eurogeeks in Lithuania last week).

These geeks are usually quick to spread the word, given their adeptness within the blogosphere and so on. I may not mention Synergeo directly, but don't be surprised if a few geeks surf through, maybe stay for a conversation or two.

CP4E stopped getting DoD funding after IDLE was off the ground (it was later inherited by the wider community, where upgrades have continued -- Guido himself more inclined to use emacs, now that he's back on Linux (the earliest Python has roots on an Apple Lisa)).

Issues of how Python should or could impact everyday pedagogy are still a subject of many a 'round-the-water-cooler conversation, leading to speculation about upcoming hires and fires in faculty lounges as well. So many thorny issues are involved, where computer programming of any kind is concerned. Are we really ready for an army of programmers? The Unicode piece isn't really implemented yet (that's for Python 3000). So many urge a "go slow" approach.

That doesn't stop the experiments though. Some communities are simply willing to try something new, and rely mostly on local feedback loops, not outside experts, to feel their way forward, with Python, with the technology in general. The children themselves are a principal source of feedback. Our job is less to tell them what to do, than to learn from what they're doing.

Friday, July 20, 2007

Winding Up

:: teacher station ::
I'm finishing up with this class today, signing the certificates, getting the feedback filed. This was another go-round of Pythonic Math, each time with innovations, new proofs (or disproofs) of concept. I'm finding this round going pretty smoothly, with a lot of credit to my students, mostly eager to be there and learn.

:: gray board ::
Yesterday, appropriately timed with Moira's visit, I took a biotech approach to Python, explaining expression fragments, data and control structures, as proteins. Functions are primitive biota, taking args through a mouth, doing tricks in exchange (preferably not too many tricks per single function).

If we want more tricks, stack them along a spine with those special name __ribs__, begetting the skeletal class framework so characteristic of Python.

Finally, a module would be like a zoo or aquarium, a place for all of this stuff to share habitat, creating an ecosystem ( = namespace in this namespace).

:: projection mode ::

Class Notes on edu-sig: [1][2][3][4]
Comment on math-thinking-l

Tuesday, July 17, 2007

sa: 8144: Day One

Above is a busy board with several layers of sediment. I like this computer lab better than the last one because the whiteboard is up front, behind a pull down projector screen, and with all workstations facing it. In the previous lab, the whiteboard was more awkwardly placed.

On the left, my attempt to freehand Europe, with allusions to North Pole centric maps (Fuller's being one of them), ergo the route back to Seattle. Given this was less that twenty four hours since my return from Lithuania, I wanted to share about that trip (to EuroPython 2007), including by projecting some slides of beautiful Vilnius, with more on Flickr.

In the middle, responding to a student question: how to get pseudo-random integers in the Python shell, looking ahead to more multi-line programming tomorrow, with some minimal set of control structures.

On the right: using the the function __builtins__.dir to query some types and/or modules (integer, string, list, dictionary... plus __builtins__ itself) as to their respective "bags of tricks," netting lots special name __rib__s in reply.

For a more detailed write-up of this first class in the series, click here.

Friday, July 13, 2007

Adventure Story


After publishing some technoinvective to edu-sig, cc math-teach, followed by a healthy breakfast in my hotel, I set out to achieve today's objective: the TV tower, the local version of the Space Needle.

Did it have a revolving restaurant inside? I set out on foot, first stopping to buy stamps for, and mailing, Alexia's postcards.

Although Portland boasts some record number of city acres devoted to parks, Vilnius must be up there, given these large swatches of forest hugging both banks of the river Neris.

With my iPod blaring (Condi has one too), newly stocked with tunes from Tara's collection, I stealthily approached said tower, wandering up through some apartment blocks on the outskirts of the CBD.

Yes, there's a revolving restaurant inside, a 1970s design. Over a beer, I surveyed the scene: CBD, Old Town, airport, apartment blocks, power stations, the river winding through it all.

Unfortunately use of a camera is strictly forbidden, although the young woman who sold me the ticket had no idea why ("it's just the rule"). I used the opportunity to mentally plan my route back to the hotel, noticing a strange looking playground I'd have to visit along the way.

Pretending to be a Lithuanian kid pretending to be a partisan nationalist, I dove head first into the forest, a wilderness of unsigned sometimes eroding trails. Obviously the locals use this place to party, as there's lots of trash -- a good opportunity for community service projects, like our annual Oregon Beach cleanup.

Finding my way to the river bank was a challenge. I slipped and slid a few times, getting quite dirty. By the time I re-emerged into civilization, I was somewhat of a sight, in need of a shower. I had enjoyed my adventure though. I hope the city planners aren't too quick to zone away all these river side forests, though adding more bicycle trails (and trash receptacles) might be a nice touch.

Tuesday, July 10, 2007

Version Control

More from EuroPython day 2:

Open source projects depend on version control repositories, which allow projects to evolve in an organized manner, meaning in a tree shape, with a trunk and branches.

Right now I'm sitting in a talk about Bazaar with Launchpad. Bazaar is named for gun nut Eric Raymond's The Cathedral and the Bazaar, a classic essay within the free software movement.

Geeks I interviewed seem to rank Bazaar more highly than Subversion, Subversion more highly than CVS. Mercurial may be even better than Baazar.

Earlier I attended some open space discussions: of Pygame (games projected), of possibly organizing a business conference (eGenix).

I mostly just listened, while writing descriptions for, and uploading, five Pythonic mathcasts to Showmedo. The wireless hotspots here are quite fast, thanks to Aistė, so the video files uploaded quickly.

OK, time for some lightning talks in Alpha. Amazing stuff: LOLPython, web serving from a mobile phone (Nokia) running Apache & py_mod. Chandler. Zope3 (Zope instances are dead). z3c.ormJS. PyCon UK. Enso. EGEE grid.

Python 3000: Guido encourages developers to use the upcoming Python 2.6 and a new source code conversion tool to begin developing 3.0 versions of the code, starting with excellent unit tests.

Monday, July 09, 2007

A Few Photos

python argentina

geeks on break

grrlgeeks

some sun at last

Sunday, July 08, 2007

EuroPython HQS

FOSS boss Aistė Kesminaitė met us at POV (Programmers of Vilnius), of which company she is Director. Aistė speaks perfect English, Lithuanian, Russian, Polish, also French and German.

She's been organizing EuroPython pretty much single- handedly on site, just returned with boxes full of newly printed programs. Now she and Jacob are off in search of a printer ink cartridge, on a Sunday.

Laura is hard at work on her laptop.

Really there's a lot of color printing still to be done, plus the USB cable to Laura's low end color printer appears to be broken.

Aistė and Jacob decide on the spot to purchase a brand new HP color laser printer. POV needs one anyway. I carry it in from the car.

Given the USB cable is broken, Aistė struggles to get the new HP 2840 working as a network printer. Finally, Ubuntu comes through, using a generic Postscript driver.

Later Aistė and I drive to the hotel, where we meet up with other geeks. Here, the game is to decide where to put some additional wireless access points, including these four industrial strength ones Aistė has borrowed.

Google, a sponsor, has sent promotional materials, including a banner display.

I did a screen test in one of the rooms. The equipment at Reval Hotel Lietuva is all top of the line.

Oh yeah, I finally figured out how to change my Blogger interface back to English.

:: python on linux ::