Tuesday, July 31, 2007

Greetings from Richmond

Some folks around here, merchants included, have taken to calling this the "Hawthorne District," but our neighborhood newsletter is still about Richmond. Hawthorne Boulevard is actually our northern border, with Sunnyside neighborhood across the way. Powell, otherwise known as Highway 26, limits us to the south.

In cyberspace, I'm waiting for a level three engineer to do something in Apache that'll make Python source files pop up on screen, like before. The takeover of digitalspace.net by jumpline.com hasn't been entirely without glitches.

I'm in a coffee shop with Derek, thinking about what to have next. A rooiboos latte, honey infused, might be good.

I'm expecting to have dinner with Dave, missing Wanderers this time. Martin Zwick is presenting on his paper Systems Metaphysics: A Bridge from Science to Religion. I made some comments in the egroup about it, which I'll now dump to a world readable text for public linking purposes.

We were hoping Larry might join us at dinner this evening, but he's tackling his basement, trying to diagnose a problem. Derek may be otherwise occupied as well.

Tara phoned from a mountain wilderness area covered by Verizon, saying she's having a great time hiking with Larry's Chris, Jane, June and Luci.

The call came while I was in said basement, enjoying slides of Amanda's wedding (Chris & Larry's youngest -- their eldest, Greg, is by now back in Moscow).

MetroFi continues to expand its coverage of Portland neighborhoods, per this browser mashup. [update: that link goes nowhere now, as MetroFi later quit the scene, might never have had a clear storyboard in the first place, hard to know].

Metrofi access points
in and around Richmond Neighborhood
July 31, 2007

Thursday, July 26, 2007

Programming for Everybody (P4E)

I'm in this very high ceilinged venue, the Oregon Convention Center, listening to Guido outline his plan for transitioning to Python 3.0 via Python 2.6, a bridge version. I like that he offers a strategy, not just the changes themselves. He gives himself a responsible role, not too heavy, not too light.

In that vein, I don't want to saddle him with a lot of Python in Education content he never signed his name to. CP4E was his original abbreviation, used to secure some funding for IDLE. Although I want to acknowledge the heritage, the influence, I'm not wanting to get him in trouble if I take a dead end path. So I've doctored the slides to say P4E more frequently, dropping the C. Plus I have HP4E to play with (these days, everyone thinks "HP" means "Harry Potter").

That may not sound like much of a difference, but legalistic types don't need much of a difference, to see the difference, so I'm feeling good about this change.

So I'm up next. I published some notes just a couple hours ago, to edu-sig, to help focus my mind, keep me on track.

Technical note: digitalspace.net, the ISP behind 4dsolutions.net, was acquired by some new company. The process of website conversion has apparently partly broken access to my site. I've opened a trouble ticket. If you can't access "the slides" (above), please be patient and try again soon. Embarrassing to develop this glitch right when I'm making my work more public.

I stayed late to hear Larry Wall's State of the Onion, right after a great auction (Perl people are so cute).

He confirmed my impression that Ruby really owes more to Perl than Python.

Most of his talk was about the different dimensions along which scripting languages vary, netting a big phase space. And let's own "scripting" was his advice (Perl has no hope of shaking the label). Don't fight it, just change its meaning if that's what you need to do.

Wednesday, July 25, 2007

Geospatial and Open Source

I'm attending a talk on the effect of open source on geospatial. The database and CAD packages are being geospatially enabled. New views, giving fire fighters a real time simulation of the insides of buildings, of what's under the street, are becoming commoditized.

"Think of SimCity but with real data" said Geoff Zeiss of Autodesk.

Geospatially-enabled IT plus Web 2.0 means General IT is absorbing GIS, resulting in a convergence of hitherto separate cultures. GIS is also converging with CAD.

We're also seeing new open geospatial standards, such as SFS, GML, web mapping service (WMS) and web feature service (WFS). ISO's SQL/MM includes geospatial extensions. OSGeo has matured.

Given the field forces have lots of retirement age personnel, there's a big need to update telco and utility records so that coming generations know where stuff is. Historically, central data repositories are significantly out of date vis-a-vis what's true on the ground.

Tuesday, July 24, 2007

Ajax Tutorial

Our forum leader is top notch, a true master of his field, able to spin up an OS + Browser in almost any permutation, in order to better empathize with his users, and kill their bugs. His name is Alex Russell, an author of Dojo Toolkit, count me a fan.

For those of you who don't know, Ajax is a foundational technology of Web 2.0, a second wave of browser bling, courtesy of a Renaissance in browser technology. Microsoft actually gets a lot of credit, for introducing an ActiveX control for interacting with a host over the wire in the background, with no click sound in user space.

The basis for dynamically changing a web page, without a reload, without an audible click, was born. Other browsers quickly followed suit, obviating reams of workarounds and hacks that had made this stuff too esoteric for 99% of developers.

I wasn't so aware of JSON before: a non-XML solution, quickly handled by eval() on the client side to create a data-rich Javascript object. I also finally installed Firebug for which Alex had plenty of high praise.

Monday, July 23, 2007

Idiomatic Python

I parked Razz near Hollywood and took the Max to the Portland Convention Center. Two geek circuses are already in full swing, so I'm walking around with two badges, two bags with bling.

Now I'm in Code Like a Pythonista: Idiomatic Python by David Goodger, who works in the financial sector, which explains all these (portfolio, equity, position) examples, in addition to the more typical Monty Python based ones, as in:

>>> given = ['John','Eric','Terry','Michael']
>>> family = ['Cleese','Idle','Gilliam','Palin'].
>>> pythons = dict(zip(given, family))

Although the content is very basic, I'm finding it of excellent quality. Safe to say: some of these idioms won't survive into Python 3, but mostly he's encouraging good habits. For example, given the 'in' operator works on so many collections, use 'key in dict' not dict.has_key(). Be less idiosyncratic, i.e. when possible use the more common pattern versus the too special case.

Hey, collections.defaultdict is a pretty cool tool. maybe using int as a factory function, though note you won't get any "no key" errors (it'll just create a new one).

I surprised myself this morning, what with all the switching among laptops and cases: not until I got to the conference room did I realize I was lugging the Toshiba, not the Dell, meaning I'm in Windows, not Ubuntu at the moment.

Good chat with Lars Lohn, now contracting with OSDL on the OLPC project. I hope he introduces me to Justin, a project leader and student, also speaking next session. Lars and I remembered each other from our conversations two years ago. I also met up with my old Plone friend "fifer" (Richard Amerman), plus encountered Kevin Turner (FreeGeek) in the Ubuntu Zone, where I am now.

Maybe I'll finally hook up with Don this evening? S'been a tad hectic since getting back from Lithuania. Tara is still count down for lift off. Hey Nick, leave voice mail if you want me to get back to you. I'm unresponsive to simple vibrations.

Sunday, July 22, 2007

Transformers (movie review)

The future of humanity is at stake and it's all up to this boy and his cube, with help from the muscle car, and in hopes of winning the heart of this girl. Not a new storyline, we all realize (OK well, maybe the cube part's a little different -- kinda Borgy -- but not the robots, although these ones are quite expert at disguising themselves by curling up).

The Pentagon was happy to show off its best toys, in this wash of eye candy. A broad cross section of kids, some adults, get a character with which to identify, plus many will see the car they want to drive, or truck, one of the many airplane options. Flatscreens galore. Department store bling. Lots of shopping ideas.

Was the whole point of that little dog to embed a link to Taco Bell? Lots of amped up brand name iconography, blended with other governmental, patriarchal, patriotic razzmatazz and symbols of authority (scenes of national security goons bossing USA homelanders were a focus in The Last Mimzy as well).

The autobots themselves might be cast as advertising something more abstract. How about the ability of capitalism -- the cult of imaginatively using one's head -- to morph endlessly, if sometimes only one-dimensionally.

Transformers is a loud nerve-jangling ride with lots of bovine growth hormone or testosterone or whatever that is. Amusement park stuff, cram packed with clichés. Enlist today. Serve your country.

Wednesday, July 18, 2007

Wanderers 2007.7.18

Dr. Moira Gunn is our guest at Wanderers this morning. She's chatting away about Philosophy Talk (she's a fan), the possible two channel solution to the need for more tech talk on the public air waves.

But mostly she's talking about her new biotech book (martini glass on the cover).

Speaking of that martini glass, why do hardened journalists carry hard liquor around (a stereotype perpetuated by many movies)? You can disinfect a cut with it, brush teeth with it, bribe with or give it as a gift, plus have fun with it. Even journalists who don't drink have been known to lug some liquor. And why scotch and not vodka? Easier to see if it's been diluted, plus how much you have left.

Now she's talking patents and big pharma in the context of a world economy, analogies to the music industry, trends in the price points, Brook Shields' tatoos. Obviously I'm in the presence of a true teacher, not "just" a journalist.

Earlier, we went around the circle introducing ourselves, giving thumbnails. Terry did his "I'm a contrarian" speech, some threw in deep questions (Don: "what hope do we have?"), while I pulled off a fifteen second version of my stump speech, this time with the added spin of having just returned from Vilnius, with lots of Wanderers happy to see me, me them. Hi Nancy!

The other aspect of my morning is I'm needed on stage for Day Two of this Saturday Academy class on Pythonic Math, a strategic Silicon Forest pilot.

I'll treasure this brief partial overlap with Moira as the sweet encounter it was for me.

OK, back to Razzmatazz, my trusty Subaru, waiting outside.

Sunday, July 15, 2007

Sunday in Vilnius

I enjoyed a quiet Sunday in Vilnius with young Geoffrey French, author of gSculpt and gSim, plus a professional graphics designer using 3ds Max in the UK.

We ascended Castle Hill, a thousand-year-old site, then had lunch in Old Town, comparing notes on such topics as soccer hooliganism, South Park, Ali G, and Ricky Gervais in Extras and The Office (also meta-classes in Python).

We also visited an amber museum. Fossilized tree sap, oft times with "inclusions" (insects especially), dating back 40 or 50 million years (or more) is an important extract in the local ecosystem.

Baltic amber is typically mined off shore, or from a patch of "blue earth" in Russia. Tons of the stuff are recovered every year.

I bought some tiny dolls-in-within-dolls for Tara.

Tuesday, July 10, 2007

Python in the Control Room

I started my second day at EuroPython learning about how ConocoPhillips is using Python to improve integrated operations of North Sea oil platforms in onshore control rooms.

Coin3D wrapped in Pivy on top of a database, serving out through Qt, gives operators real time views of the drilling platforms and surrounding vessels. We zoomed in on the Ekofisk field, checking out weather conditions, logistic features (e.g. vessel trip planning, viewing cargo manifests).

The demonstrated application implements collision and speeding detection, sea bed visualization. Applying a dynamic language such as Python was a big experiment and considered a success. Our speaker was Roly Seehaus of Kongsberg.

Fabio Pliger from the University of Verona also cast his talk as a success story regarding Python's ability to perform in real time, generating critical feedback, this time within the pharmaceutical industry.

His shop is still Windows-based, but Python plays well with others.

I next learned about the somewhat experimental PyConsole.py running atop Python's win32console module. This gives users a Windows compatible command line, atop which another Python interpreter might be loaded.

By use of callbacks, one might use multiple consoles to leverage the operating system's multi-processing capabilities (e.g. instead of Python-level threading).

The speaker, Michael Graz, also demonstrated using AJAX to invoke a server-based Python command line from within a client's web browser.

The Pygame guy unfortunately had no sense of time. Though obviously a genius, we barely got to the core substance of his discussion (tmap, RenderUpdatesThreaded).

Jonathan Fine of The Open University in the UK demonstrated the public MathTran server (mathtran.org) designed to put mathematics on web pages. The service takes math formulas written in Tex and sends back an image for web page embedding. Python glues it all together. Let's give it a try. Sending \sum_{k=1}^\infty \frac{1}{k}, receiving back the following png:

.

OK, cool.

On the agenda: two way translations between TeX and MathML.

Johnny Stovall, a wild man Texan expat from Indonesia belted out his Data Driven Parsing for the Real World. The guy's been on a 36 year mission to develop a utility he's been told is impossible (he's been nicknamed "the impossible man").

But what is a data driven parser and what is it for? It doesn't depend on an exhaustive rule-based description of a knowledge domain or human language.

Mostly he talked about how computers complement humans by accomplishing tasks that humans cannot (but I think we knew that).

I believe until what he's looking for -- some kind of very generic pattern recognizer -- is better defined, the kind of non-computable problems he imagines tackling will be handled on the human side of the fence, though with the aid of computers. I don't think we're quite ready to do Python sprints to solve the perennial problem of creating an Artificial Intelligence.

Monday, July 09, 2007

Connecting the Dots

The talk went OK I thought, in Zeta (all the rooms have Greek letter names).

The gist:

Students like to be clued in regarding technology, especially when it represents the promise of better living standards. Calculators shouldn't artificially delimit what we mean by "technology in the classroom."

Understanding of computers, how they're programmed, gives a deeper appreciation for "how things work" in many walks of life e.g. data bases are prevalent.

Mathematics and computer programming need to be better integrated from an early age. The object oriented paradigm (OOP) brings some unifying heuristics to basic mathematics, as we're able to cast polynomials, vectors, polyhedra, rational numbers and so on as "math objects."

Working backward from a vision of the future in which many more people are much more computer literate, we need to ask ourselves: how did we get here (a more enlightened world) from there (the dark ages past)?

P4E succeeded not because everyone had to learn Python or had to choose computer science or programming for their profession. Rather, we converged problem solving skills with coding skills, code being another kind of mathematical notation (the machine executable kind).

Our integrated approach also involved connecting the lexical to the graphical, keeping the so-called left and right hemispheres of the brain integrated.

For eye candy I had my hypertoon projecting as people took their seats. During the talk I rotated the Beryl desktop cube a few times, switching to various websites.

For example, I demonstrated looking up 1, 12, 42, 92... in Sloane's On-Line Encyclopedia of Integer Sequences. We might use such sequences to motivate writing a few Python generators.

I didn't actually have time to run any of my source code, nor even explore it in much detail.

I only got two questions, one about whether I get any income from my teaching (yeah, some) and one about H.S.M. Coxeter and his possible influence on my curriculum writing (he's one of my heroes, helped give focus to polyhedral numbers).

There were some microphone problems and page up/down weren't working in OpenOffice so I kept resorting to the mouse wheel, which was awkward.

P4E: slides, paper, 4dsolutions, edu-sig, CP4E, OEIS, Kusasa, PyMath, Mathematics for a Digital Age, math-teach HP4E: Hexa-wuh?, EuroPython 2005, Hexapent Turtle Shell

Saturday, July 07, 2007

Lithuanian Control Panel

Blogger control panel in Lithuanian
(click for larger view)

Tuesday, July 03, 2007

Ratatouille (movie review)

The food critic, mirroring a film critic, delivers the moral of this film: anyone might be a cook (film director, great actor... food critic). What that means is: not everyone is born to do just anything, but anyone you meet might be a genius in ways that surprise you.

How this movie teaches its lesson is by setting up a lot of interspecies bigotry (not hard, as it's real, at least on the human side), with the crossover being quality food, in which members of both species are true believers, but this one rat in particular: he has the right stuff.

Although a kids' cartoon, I found ways to piggyback my adult reveries, about kings and queens and their inner circles 'n stuff. The word "democracy" is still echoing from Michael Moore's latest (a certain UKer was most eloquent about it), and the Quaker idea of "that of God in each and every" -- easily mappable, as a maxim, to "the genius light within" or St. Augustine's "inner teacher."

The rats inhabit a kind of Hades, a netherworld. Remy overcomes his misanthropy enough to actually become one of "them" (joined in his loneliness by his idol, one recently departed) if, that is, you think looking out a man's hat, puppeting his limbs, might just be a metaphor about the mind-body relationship ("naw, Disney? Philosophical?" chuckle). Think "rat = homunculus" in this case an ego dealing with class and personality complexes (shades of Flushed Away).

This was a family outing, with Tara to my immediate right, then Julie and Carol. Later we split up a bit, me heading to Men's Warehouse (redeem a coupon, shirts for Vilnius), Tara to American Eagle, Carol and Julie wandering an old haunt. We rendezvoused at the ice cream stand just outside Macy's, Carol's treat, and drove home.

My thanks to Tara for filling my iPod with a lot of good music. Tonight's listening: Blue October: Into the Ocean, Hate Me (Tara and I agree there's a lot of talent here).

Sunday, July 01, 2007

River Views