Thursday, July 24, 2014

OSCON XVI: Wrap Up

If you've not been to an OSCON, you might find it surprising how many talks are of a "psychological" nature, meaning about inter-personal skills, not in the sense of compensating for not having them, but in the sense of being a community manager or developer evangelist for a global company that depends on Agile / OSS for strategic advantage.  NeoJ4 is such a company, and their developer evangelist did a dynamite job outlining exactly what the job is, using graph theory.

Older companies may not appreciate what a "community manager" even is, as that sounds like some touchy-feely PR job, some icing on the cake associated with lobbying and schmoozing with members of congress.  There's some of that "special interest" or "lobbyist" flavor, for sure, but you're more serving a team of expensive race horses, your developers, your sled dogs, who are pulling this chariot towards fame and glory, or just plain old towards helping people, making life less of a drag.  Graph databases are doing that for people and NeoJ4 is a serious player.

Another talk was on Dealing with Disrespect, by a seasoned community manager with Ubuntu on his resume, one of the premier users of, and of course developers of, free and open source software.  He sketched a sorting system of three buckets:  agreeable, disagreeable and unacceptable communications, and techniques for dealing with the disagreeable most especially, as that's where attention to context matters.  Get beyond just content and tone.  The basic posture is empathy.  As an empathetic attender to communications, you're less likely to just go off in the face of provocation.

What I found refreshing and agreed with in this talk is we're not attempting to criminalize offending content, such as satire ala South Park or whatever.  Offensive content, like toxic acids, has its place on the chemistry shelf, as an ingredient.  The public spaces are free to protect themselves from too much "push content" but if you wanna watch HBO, that's your business.  Content providers are not always trying to reach that "agreeable to everyone" market, or only are some of the time.  That's all my spin on the presenter's remarks, what I took away as validation, given my content is sometimes offensive.  It's not like I didn't put that skull and crossed bones on the bottle (smile).

I stayed at my workstation Thursday morning (atypically a last day, as the usual format is Monday-Friday, not Sunday-Thursday -- next year back to normal), getting back in the groove.  This was not vacation time for me.  On the contrary, it was double duty.  True for all in the mentor pool who manned the booth (Kelly, Patrick...).  Our main booth guy is not a coder by training but is fairly able to converse in Portuguese, Russian and maybe some other stuff.  Given i18n was a theme for us, he was just what we needed from central casting.  I sat around looking silvery gray and professorial, in my blue blazer (no elbow patches).  I brought Naga (@psf_snake) in her special carry-on and draped her over the OST counter on Wednesday.  I'm talking about the Python mascot in past OSCONs (she'd flirt with the Perl camel), this year mute on Twitter as I'm no longer her puppet master behind the scenes.

Tuesday, July 22, 2014

OSCON XVI

I've got a different angle on OSCON this year, from behind a booth counter some of the time, also in front of a TV camera in booth 818.  OST is booth 717.  We're well integrated into the O'Reilly ecosystem, with the mother ship booth to our west at the Expo Hall Center.

Our program opened with a series of videos encouraging OSCON attendees to strive towards being "full stack engineers".  What that means is awareness of one's place in an ecosystem.  Know about how you and your skills fit in to an environment.  Basic sense making, but in geek parlance.

Bluehost and HP are especially visible as one comes in the door.  Both gave keynotes this morning, Bluehost in tandem with Raymond Henderson of Grassroots.org, a latter-day CUE (where I used to work; Center for Urban Education) in the sense that it helps non-profits leverage free and open technologies (CUE was at its peak prior to Open Source going gangbusters, around the time of the IBM PC).  IBM was here in force this year as well, with Softlayer.

Grassroots.org will get you some reliable hosting for your footprint in Cyberia, as long as you meet specific criteria.  Your ability to do quality bookkeeping is relevant.

The keynotes were somewhat psychological with the theme being inclusivity, the flip side (as in, same thing as) diversity.  What about children?  What about introverts?  Say what?  The talk on "coming out as an introvert" by Wendy Chisholm was quite ingenious in taking the term "coming out" -- usually associated with gender -- in a different yet related direction.

Wendy, an Accessibility expert, had found a way to pace herself that didn't go against the grain so much, in terms of her need to be alone with her thoughts and process in tranquility.  Someone with a daily meditation practice would sorely miss it for the same reason.  In allowing for her own needs, her stamina had greatly improved.  She encouraged conference attenders to attend to their own inner rhythms and maybe cutting back on stimulation as a way of engaging more fully.

We also heard from the younger generation, from a precocious programmer with parents up to providing guidance, and a community smart enough to appreciate his talents.  These factors:  access to the tools, guidance and encouragement, had led Shadaj Laddad to achieve maturity as a coder, with adult-level skills.  That he had done so much work in Scala was something the audience could appreciate.  Did I see Python code with a decorator aimed at adding trail call recursion of some kind?  That turns out to be a deep topic in the literature I was unaware of.

I took the nap lady's words to heart.  Not right away, as I had booth responsibilities and time on camera with Patrick and Steve, but later.

Will Marshall of Planet Labs rounded out the inwardly focused talks, plus HP on OpenStack, by sharing about his plans to open global data to user via some API. He already has a lot of satellites out there.

Google, another Platinum sponsor, with HP and Bluehost, recapped ten years of Summer of Code.  Much has been accomplished.  The "design science revolution" (Fuller's coin) lives on.

Sunday, July 20, 2014

Scala Tutorial at OSCON

My notes from Get Started Developing with Scala by Jason Swartz and Kelsey Gilmore-Innis.

This is my day for JVM languages i.e. languages that compile to the Java Virtual Machine.  Clojure and Scala both fit that bill and have other features in common as well:  immutable data, functional programming, first class functions.

I opted for this tutorial based on a lunch conversation at one of the i18n tables and showed up with nothing working or even installed.  One of the minders got me up and running, getting stuff off a memory stick.

Turns out my version of Java was too old on the OST Mac Air.  I'm grabbing jdk-7u65-macosx-x64.dmg.  That worked.

Now I have a little web servlet going, controlled by the tutorial code.

Starting SBT for OSCON Scala tutorial
mackurner:scala-tutorial kurner$ ./sbt.sh 
Starting SBT for OSCON Scala tutorial
[info] Loading project definition from /Users/kurner/Documents/scala-tutorial/project
[info] Set current project to Scala Tutorial (in build file:/Users/kurner/Documents/scala-tutorial/)
> console
[info] Generating /Users/kurner/Documents/scala-tutorial/target/scala-2.10/resource_managed/main/rebel.xml.
[info] Starting scala interpreter...
[info] 
Welcome to Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_65).
Type in expressions to have them evaluated.
Type :help for more information.

scala> "Hello, Scala"
res0: String = Hello, Scala 
scala> var started_programming: Map[String,Int] = Map("Kirby" -> 24, "Odd" -> 25)
started_programming: Map[String,Int] = Map(Kirby -> 24, Odd -> 25)

The language is not entirely unlike Java, statically typed, object oriented, but is more spare, more "expression-oriented" according to our presenter.  Someone who knows Java might move to Scala next.

Like Python and Clojure, Scala has a REPL (shown above).

I'm sitting next to a man named Odd Are. I like that.

For those who know Python:

>>> list(filter(lambda i: i < 3, [1, 2, 3]))

is the same as

scala> List(1, 2, 3).filter(i => i < 3)

or even

scala> List(1,2,3).filter(_ < 3).

Both Python and Scala feature top-level functions, meaning you're free and encouraged to pass them as arguments on occasion.  The methods map, reduce and filter give you a basis for functional programming.

Our presenters recommend easing into Scala by using it to write tests for Java code.

Recommended followup tutorial:  The Neophytes Guide to Scala.


OSCON 2014 Tutorials (Day 1)



My notes from: The Simplicity of Clojure presented by Clinton Dreisbach and Bridget Hillyer.

Collections in Clojure:  Vectors, Lists, Maps, Sets.

Vectors are heterogeneous, as are all the collections, so like Python's lists. Also 0-based.

(nth [3 6 9] 1) ;=> 6.

A List is a unit of execution in that the first element is the function. Above: [3 6 9] is the Vector whereas (nth ...) is a List.

Collections are also immutable, like Python's tuples, so (conj (list 1 2) 3) ;=> (3 1 2).

Maps are similar to Python dicts.  Why are they associative again?  Sets (#) are like Python sets: no duplicates

:keywords have a magical property of serving as functions. (:a {:a 1}) ;=> 1.

A :keyword is a symbol that evaluates to itself.

Function names (symbols) are common to all the collections wherever that makes sense.  This has to do with their all being Sequences (not just Collections).  The laziness of the Sequence should evoke Pythonic ideas of lazy iteration, as well as the general notion of sequence.

Strings are not sequences but get coerced into same in using sequence functions:

(first "this is it") ;=> \t

...where \t is the character type.

Python's special names enforce a kind of uniformity across types.  We get to the syntax level with __getitem__ and __getattr__ i.e. obj[x] and obj.x are things we define within the obj type.

First exercise (I'm in a tutorial):

(list "Professor Plum" "Mrs. Peacock" "Mr. Green" "Mrs. White" "Colonel Mustered" "Miss scarlet")

(nth (list "Professor Plum" "Mrs. Peacock" "Mr. Green" "Mrs. White" "Colonel Mustered" "Miss scarlet") 3) ;=> "Mrs. White"

They had us download LightTable to follow along.  Here are the slides.  LightTable works with Python as well!

I met up with Tatia and Ed Leafe at the break.  Ed shares my FoxPro lineage.  Tatia is fresh off the plane from Brazil.  She's a Pythonista, like Ed and myself, fluent in both English and Portuguese.  We compared notes on Ruby (another OO language like Python) and clojure (functional, more LISP-like).

In a local scope, function let takes a Vector to give its bindings.  defn contracts def and fn.

Thanks to prefix notation, the hyphen is fine in variable names (symbols), no confusion with the minus symbol.

Polymorphism:  how?  If you don't have objects.  multi-methods maybe.  Helps to know some Java maybe as defrecord relates to Java's classes and interfaces.  "Make a Piece protocol" to model chess pieces, say with possible-moves and can-move? as methods.  OO thinking involves dispatching.

Functional reactive programming:  Javelin treats your data like a spreadsheet.  Check core.matrix for an example of professional clojure code.  What's ClojureScript?  Read more at Hoplon.io.

For further reading:  Clojure for the Brave and True.

Friday, July 18, 2014

Wanderers 2014-7-9

This blog post is somewhat out of chronological order in that I've already blogged about a subsequent Wanderers meetup I attended (my practice is to cover only what I witness myself), but then some presentations may take longer to think on.

Anyway, Milt Markewitz treated us to some Kabbalistic esoterica last Wednesday, which he has done before, providing a neuro-scientific context:  ancient languages, in providing alternative mnemonic networks (semantic networks) may pop us out of our reveries and provide a fresh view.  When scanning invisible landscapes for better ways forward, seeing with new eyes as it were (per the concept of "aspect shift" in Wittgenstein) may sometimes prove our salvation.

Milt's chosen specimen ancient language was Hebrew.  Around the Blue House the I Ching tends to perform a similar service in providing doors to a collective unconscious in the Jungian and/or Nietzschean sense.

For some reason I associate Jewish mysticism with my Quaker animism, meaning the non-human aspect.  Treating non-humans with respect, as Wanderers among us, worthy of their own records and chronologies, cemeteries, is one of my themes.

We lost two of our non-human community shortly after this talk, a beloved dog named Blueberry and a cat of unknown name (but appreciated) -- which may be why this theme is so close to the surface.

Saturday, July 12, 2014

Dawn of the Planet of the Apes (movie review)

I've been an avid Apes (Planet of the) since the first one, with Charlton Heston and Roddy McDowall. I've even been known to read the books.

This newest addition to the franchise is excellent in that it continues to give the apes real personalities, no less than it gives them to humans.  The camera / observer is perhaps an angel from another planet in the sense of its sympathies going both ways.

The movie might be construed as pacifist in its message, even while the inevitability of war is its subject.  Fear and jealousy drive both sides and the lesser characters, the non-heroic, are the first to succumb.  They spread the seeds of war to others, including through treachery.  An old pattern.  The analogy of the physical virus with the mental one is crystal clear.

The facial expressions of anger, giving vent to the inner demon, stir in both human and ape alike, a first symptom of the infection.  I'm thinking of Tich Nhat Hanh and his challenge to followers to foreswear anger.  One might imagine this movie on his syllabus.

The choreography and computer graphics (visual effects) are spectacular.

Flavors of 12 Monkeys, Jurassic Park, Cabin in the Woods and several others, which isn't to say anything pejorative, on the contrary.

That the movie was brave enough to use subtitles is a big point in its favor.  The movie takes itself seriously enough to make real soul searching possible.  There's not much gratuitous levity.  The situation is dire.

Sunday, July 06, 2014

Exploring Cultural Heritage

:: all you need is cash ::

As a teacher of the Python computer language, I consider it my professional responsibility to fill in a lot of the gaps in my knowledge regarding Monty Python, for whom the language was named.  I found out watching the five hour bio of George Harrison, Life in the Material World, that he'd been instrumental in getting Life of Brian out there, after movie executives flinched at the South Parky content.

Speaking of South Park, that's another edgy cartoon I've been remiss in watching enough.  I watched the two part episode where Tom Cruise and other celebrities, tired of being made fun of, attempt to capture whatever mojo they can from a certain religious leader whose picture must not be shown in cartoon form.  For a brief shining moment, the scheme appears to work, and Tom is happily immune from spoofing.

Anyway, I hadn't seen the full mockumentary, All You Need is Cash, until last night.  I completed viewing it, with another Rutles fan, after taking the bus home from the Blues Festival and Don's boat (in the water again, after months of dry dock repairs).  George Harrison himself plays a role in this movie (can you find him?).

Tuesday, July 01, 2014

More Andragogy

I've been "watching" the World Cup, sometimes actually watching, on HDTV at a sports bar, e.g. Jolly Roger, while waiting to help on a move of some archive, but other times only hearing, being at the wrong angle to view, but hearing the cheering, the sounds of an engaged audience.  Such was the case at Horse Brass, where we sat around the corner from the TV (HD).

I've been advising my students to kick back and watch it though.  You'd think I'm self serving, just trying to have less work, but my view is programming requires some neural rewiring, or whatever model you like of "mental work", and that happens during sleep and off moments, not just when you're focused and concentrating.  Those two moments go together, a dialectic:  fierce concentration, followed by relaxed inattention, while you let the rest of your brain catch up, so to speak.

Bucky Fuller used Doppler Effect to mean something different:  the fact that we're not all on the same page all of the time, nor need we be nor should we be.  We roam around (wander) and find others on the same page, but not everyone, and sometimes only our own selves.  It's that "non-simultaneous only partially overlapping" stuff he talked about incessantly.  We get it in different orders, "it" being the thing we assemble from the puzzle pieces, per the constructivist view.

I'm calling this More Andragogy because it's pedagogy, familiar, but recapped for adults.  You might be a child reading this, but your peer readers are likely older, given the demographic for writings of this type.  I'm not thinking to be exclusionary and welcome child readers.  Fairy tales are for adults as well, as the muppet-masters manifest.  Inter-generational banter, message traffic, is the stuff of civilization, torch-passing and all that.

Today was a jumble.  We'd had a rule change at work awhile back, a consequence of growing towards new archetypes, as an academy, such that students were frantic to have finished X by today, a deadline.  Carol, mom, needed some professional attention and with help from Carl's Jr. and nearby Oregon Clinic (closed), I was able to snarf the WiFi I needed to keep up with said frantic students, enjoying a milkshake at the same time.  Carol's X-rays revealed nothing serious and we have follow-up care planned and covered.  The system worked for us today.  And yet: today was a jumble.

I hear the back gate swinging open as my door to the back deck (upstairs) is open, Sarah-the-dog taking in the night air, meaning Lindsey must be returning, our extended house guest from Savannah, GA.  She was introduced to me by Patrick, fellow mentor, with whom I just had a beer (not the first time).  We're a neighborly bunch, in our partially overlapping scenarios, experiencing the Doppler Effect by weaving through one another's lives in Scenario Universe as Bucky called it ("it").

Sunday, June 22, 2014

Notes from Business Meeting

:: this little light of mine ::

Joanne and family showed up as a worship group, This Little Light of Mine, with a prepared statement regarding Nominating's proposal to replace the Peace and Social Concerns Committee with a single individual, the PSC Coordinator.

Business Meeting was not in unity regarding this proposal.

Although the Peace and Social Concerns committee has in fact fizzled, its clerk, Debbie Averill is still up for making announcements and talked about our annual $75 contribution to the Hiroshima / Nagasaki Commemorative Ceremony (August 6th), which my mother helped start back in the 1960s.

Joanne proposed we have a threshing session, with PSC alums, e.g former clerks invited, to seek a way forward.

In her prepared statement, she mused on the theme of how far we might depart from Faith and Practice and still get away with the "Quaker" labeling on the box.  Truth in advertising is an issue, relating to our Integrity testimony.

Any mention of PSC on the Nominating slate might as well be stricken, said Debbie, as it's not realistic to show one, now that a threshing session is planned, and given the two on the slate (currently listed through 2016), besides herself, have not been coming to PSC meetings for some time, plus more recently we've stopped having any PSC meetings at all.

I moved that the AFSC Liaison position also be temporarily removed from the slate, given the job description mentions reporting to the defacto defunct Peace and Social Concerns.  My name was listed as "pending" anyway, and is slated to run through 2015.

The Clerk, turning Assistant Clerk after this meeting, denied my motion, saying she hadn't had time to fully study the AFSC Liaison job description.

Maybe AFSC and FCNL Liaisons and Peace and Social Concerns committee might be unlinked?

Perhaps that was the Clerk's thinking in wanting to keep my position alive while allowing the PSC committee to remain in abeyance.

Will the threshing session choose to go ahead with a Peace Coordinator, or "Peace Czar" as some call the position?

Other meetings, usually much smaller, have gutted themselves in this way and still go by the label "Quaker".

Even Multnomah itself, then smaller, flirted with having no PSC, back in the 1980s.  At least someone had been doing some homework.

I think the assumption most meetings and churches make is they're free to design a Liaison position however they like and AFSC is not really at liberty to have input. 

That may be accurate, although in our case the local AFSC office staff wanted their opinions known (they've been happy with me, as has been Debbie -- complaints to Nominating were from other corners and may have related to my eldering others in the meeting, in my capacity as former Overseer).

Even if a Friends Meeting is making the transition to Friends Church, as Multnomah has been doing, that needn't mean any interruption in liaising. 

Indeed, it's during times of radical surgery that these liaison relationships might be most needed and appreciated, as they bring a kind of legitimacy and continuity to the process.  The Quaker brand, valuable in and of itself, remains intact.



Thursday, June 19, 2014

End of An Era

Probably quite a few Friends Churches don't have a Peace and Social Concerns Committee.  That's a holdover from the Liberal tradition, especially typified in Cascadia, where meetings in the Beanite lineage have populated the Willamette Valley, Olympia, Seattle, surrounding areas.

College Park Association in California was the common parent, a group disowned by Iowa Yearly Meeting back when a wave of evangelical fervor was gripping the mid-west, driving out the more rational (think Pol Pot -- anti-intellectual).

Our local Multnomah Monthly Meeting, once a Liberal Friends flagship, has raised a new flag of late.  There's still a rainbow decal on the door, and a sticker in favor of wind power over coal, but beyond that the place is rather non-descript, though it prominently affiliates itself with the Religious Society of Friends.

 The Faith & Practice, gathering dust by the library door, will tell the newcomer about Peace and Social Concerns, but you'd have to be listening closely during Social Hour to realize that committee was "on ice" or "imploded" or whatever is the jargon du jour.  Don't expect the documentation to actually inform you about the real API.

How naive could you be? (yes, I'm being sarcastic -- as a geek I tout up-to-date documentation as a virtue and I'm not proud of our demented documentation, so way out of date).

Hah hah, bait and switch!  You thought you were getting a Peace and Social Concerns committee (it's there in the manual), but you weren't, and chances are "the clique" felt no obligation to tell you, so in-grown has it become.

What does this mean in terms of joining FGC and having ongoing relationships with the alphabet soup of Quaker entities?

Probably the AFSC has taken the most notice, given the local office is supposed to have a seat on the defunct PSC.  How does one take one's chair at the table, when the table and chair have gone missing?  Kind of puts it in one's face, the whole question of "where do I fit in"?  Answer:  nowhere at the moment, but likely AFSC will find a place to reconnect, once the restructuring is over.

What restructuring?  Come to Business Meeting or stay tuned.  Nominating has become the most powerful committee in the meeting, one could argue the last vital one of the three major "Monthly Meeting organs":  Nominating, Peace and Social Concerns, and Oversight.

Nominating gets people into their roles; Oversight gives reality checks / feedback, informing Business Meetings (a form of worship) by collecting and sharing information; and Peace and Social Concerns presents the cutting edge of Quakers acting out their testimonies:  egalitarian ethics, a commitment to plain speech (if sometimes technical),  simplicity / elegance in design and presentation, integrity, non-violence (no need of outward weapons) -- all that good stuff.

Like what's the point of a Monthly Meeting if you're not actually a platform for putting Quakerism into practice, isn't that the whole point?

We lost a lot of our Oversight powers awhile back at Multnomah, when a new committee (CAC), undocumented, took its place regarding external affairs (vigilance, intelligence, whatever).  Secret alliances were forged with no Oversight input, which committee mostly rolled over and played dead, or was dead for real.  Another story.

And PSC is now gone, as I've been mentioning, so that leaves Nominating to try to jump start the new structure.

Kind of like Dr. Frankenstein in his lab, applying the voltage to his "project".  Lets see if "the project" sits up and starts passing the Turing Test.  Then:  will it have Quaker values?


Friday, June 13, 2014

Rat Story

Like most of my rainforest neighbors experience from time to time, we have live-in rodentia, some squirrels, some rats.  They frequent the attic and spaces between the lath and plaster and wooden exterior (I know, Cascadia quaint, with somewhat creaky floors but not nearly as squeaky as Pauling House).

In the attic, an infra-red motion sensor has been firing off pix by email via the Internet (it has access to my router).  A have-a-heart trap of feral cat / raccoon trapping size sits in my living room, a $10 purchase at a nearby estate sale (thanks for the tip neighbor!).  However, the real property damage, to shared stores (Food Not Bombs) and personal stuff (the dog's food bag) has come from a rat or rats not in the attic.  I have less of a heart in some areas.

Speaking of slaughtering innocent furry animals, I also buy mice at the pet store for $1.98 apiece and let them "go free" in a confined volume with a predatory hungry animal, which kills them quickly by suffocation / constriction.  If one believes in moving on, a next life, roll of the dice, should be better than that of a clueless mouse in the pet food business.  But how about being a snake, what's that like?  Philosophers wonder about such things, what it's like to be a bat for example (famous essay).

The rabid consumer in me is pissed off the local grocery has gone with an off brand knock off of the V trap that's always worked well, lets call it Z.  I kept the receipt somehow knowing this could be problem, and sure enough, one night cheese, the next night peanut butter, and both times this super smart rat got a meal without paying the ultimate price.  My respect for the rat has gone up a lot, while my respect for the Z has plummeted.  I'm going to try another store for a V, and if it works then return my two Zs with scientific evidence to back my claim that Vs are better.