Wednesday, April 27, 2016

Wanderers 2016.4.27

Brainstorming Session

I expressed my frustration with Culture and Value to Jon Bunce.  Wittgenstein, a Vienna Circle vet, alludes in knowing tones to all these musical passages, yes by well-known composers.

It's only my ignorance that's showing through.  Nevertheless, I could use a podcast version (anyone?  Princeton?).

The podcast guides, the voices, would not need to share all of Wittgenstein's opinions, about Mahler's stuff for example.  They'd not be disciples necessarily, but would play some of these missing puzzle piece passages while trying to get at the nuances Wittgenstein was hoping to get across in referencing them.

For Wittgenstein, music had the capability, especially in the hands of some composers, to approach language in its attributes and abilities.  He used language and music as quasi-mirrors of each other, to gain deeper insights into both.

Glenn is talking about his Global Matrix as a useful summarizing tool.  Geoscope.  Macroscope.  The Christian Science folks had their Mapparium.  Yes, we're talking about a globe, which in projections gets flattened out, into a Mercator or whatever.  Glenn's matrix is a data structure.

What distinguishes the Global Matrix from the Mapparium is Glenn is really into the "hexapent" (a word he doesn't like).  Hexagonal tiling is more characteristic of certain game boards, including virtual boards like in Civilization.

We had two newcomers this morning, who've never heard Glenn present, so he had a good opportunity to summarize.  We had some interesting discussion, focusing a lot on the Internet, but ranging to other topics.

Glenn derives a lot of his stuff from scratch, like a cook who invents many great dishes that other restaurants immediately recognize but have other names for.  He builds on his own experience, as a crypt-analyst and project manager.  The flavors he comes up with are subtly different, or even surprisingly different in some cases.  Glenn has his own cuisine.  Maybe he'll succeed where few others have dared to tread.

That reminds me, last night at the dinner party, Alice named my dessert drink, Soylent + Jack Daniels, a "kirbster".  I doubt that'll stick.  We geeks already have "headless chicken" for the Bloody Mary, an allusion to the etymology of "geek".

I expressed to Jon my concern that Wanderers might seem too intimidating from the outside.  Would-be attenders might be concerned they'd be grilled, interrogated, by judgemental know-it-alls.  But that's quite far from our ideal.

I recalled my suggested logo:  that Monopoly guy wandering on a chess board, a "random walk", with a lamp post marking its beginning, a dotted line showing his path.  Is he holding a bottle?  Is that a triple-x on the label?  He must be drunk right?  And therefore wandering.


We're called Wanderers for a reason.  We don't have alcohol at our weekly meetings (we do at our Equinox and Solstice celebrations).  The wandering is more Ouija Board like at its best, recalling a Quaker meeting.  We let the spirit move the conversation.

Jon and I got to talking about David Prideaux's No Big Bang in the kitchen, reviewing some of the main memes (elevators, acceleration, gravity...).   Jon agreed that gravity affects wavelength.  Light escaping from a massive body gets redshifted.

We also agreed the Monopoly guy had a much better chance of coming back to the lamp post in a 2D matrix, rather than in a 3D matrix of XYZ cubes, or perhaps rhombic dodecahedra, if using the IVM.

Before that I was out on the porch, phoning Carol Urner (mom), presumably in transit somewhere between Cape Cod and WDC, and Patrick Barton, asking for advice.

"What's a good entry point into what we're calling 'machine learning' these days?" was the gist of my question to Patrick, and "do we have to learn R?".  I'd started reading on the topic in Safari On-Line earlier that morning.

Patrick suggested starting with a large publicly available database.  Although we talked about baseball statistics, I actually don't know if those databases are open.  I completely agree that a hallmark of that sport is its fascination with statistics.

When still with O'Reilly School, I'd suggested writing SQL-related curriculum against just such a stash, but again I have no idea to what extent this stash is available, and/or at what price.

How about a database of faces against which to run facial recognition algorithms?  We could play a game like Memory, wherein every face is twice repeated and the machine's job, after a training period, is to recognize as many pairs as at can.  Patrick suggested using mug shots of the very same baseball players (called "trading cards").

My angle on Machine Learning against Big Data is from the point of view of a code school curriculum writer / instructor, and wanting to lower a ladder to keep the topics accessible.

Where would we start with 8th graders?  I think with success stories. Voice recognition, and OCR (optical character recognition) have come a long way in my day.

"Voice recognition" does not necessarily mean recognizing "who is talking" although that could be an application (biometrics), and would be more like fingerprint or retinal pattern matching (used to authenticate and/or determine identity). This is more Buzz's area.

The customary meaning of "voice recognition" in 2016 is that the computer correctly transcribe into writing what the speaker has said.  Given advances in this area (didn't Tim Peters do work here?), people are talking into their devices a lot more, asking questions, and getting answers.

Great Stuff!

Monday, April 25, 2016

Patterns in Primes

I've been enjoying Dr. Terry Tao's enlightening patter regarding prime numbers and their statistical distribution along the number line.  Important results stretch back thousands of year's, starting with a proof credited to Euclid (as so many are) that no greatest prime number exists.

The Fundamental Theorem of Arithmetic is a next one:  all natural numbers decompose into prime factors except 1, with primes being those with precisely one factor (almost-primes have two).

Terry breaks it down for us into the multiplicative and additive branches of study.  Multiplied primes have received more attention, historically speaking.  In the additive world, we're looking for arithmetic series, and the distribution of intervals.

Do we ever run out of twinned primes, primes only two apart, like 3 and 5, 41 and 43?

As of when these Youtubes were made, we know if we keep twins, cousins, and sexies together in the set, we'll never run out (that set is infinite), but there's still no recognized proof that just twins will occur infinitely often ("i.o.") though Terry suspects that they do.

Primes do get more sparse lets remember i.e. they do tend to spread out.

What if only sexies remain, once we're out far enough i.e. some lower bound exists after which twins will no longer occur?  This result is not much expected, but at this point is hard to rule out.

Many interesting results have been obtained, including that the number of primes between n and 2n approaches n/log(n) as n increases.  That's log to the base e.

This is called the Prime Number Theorem or PNT and was known by the 1800s.

As a programming challenge, why not explore this assertion empirically?  I will make that suggestion on mathfuture, where I'm data warehousing some new curriculum ideas.

I've been developing a so-called "lambda calculus" track for 9-12 grade level topics, shades of Hermann (sp?) on sci.math, way back in the 1990s (he was a huge lambda calculus booster, by which he meant something more hard core and formal in meaning, and to which I am not opposed).

Dr. Tao knows how to continue the history of number theoretic research into primes right up to the last minute, owing to his front row seat as an active contributor to this literature.

Saturday, April 23, 2016

Seder 2016

Seder 2016

I joined the Potkin brothers for Seder on Friday, the Jewish Passover celebration, which commemorates the escape from tyranny to freedom, both thousands of years ago, as narrated in the Book of Exodus, and in a more eternal sense, every day. 

The ritual has many parts to it, involving especially prepared foods and wine.  Alan presided, in addition to having done a lot of the prep.  I'd been to Seders before, but not many.

Since Alan and his wife have both devoted their careers to curating, often digitally, a lot of Buddhist culture, especially in Southeast Asia (they lived in Laos for many years), why not turn these same skills towards restoring and sharing some aspects of Jewish culture as well?

Illustrated storytelling is at the heart of such anthropology.  Alan had some material ready for sharing on his computer, hooked to an HDTV.

Alan gave the backstory as to how he came to take his Jewish heritage more seriously, thanks to his appointment with destiny in Vietnam.

He'd been drafted out of Bard College, an intellectual Brooklyn Jew who had soured on his own Jewishness, owing to oppressive aspects of his childhood and young adulthood.

As an infantryman in the Army, he got into a firefight, with grenades and all the rest of it.  The shrapnel in his jugular, which no one knew for sure was there, but some suspected, took many hours to to fully express its presence.

His case kept moving to the bottom of the triage list as he spent the day getting shunted from facility to facility in search of a working X-ray machine.  When he finally started losing blood in earnest, he was fortunately in a place that could do something about it and his life was saved.

That's when Alan met Morton Singer, an Army chaplain looking after his fellow Jews, rather few and far between among the enlisted.

Even though Alan had "no preference" on his dog tag, Singer recognized a fellow New York Jew.  He and Alan had some serious soul-searching conversations, and to the delight of Alan's parents, Alan returned to the fold.

As it turned out, Morton's young family lived only block's away from Alan's parents.  Small world.

Later, Alan learned that his new mentor and friend had been killed in a plane crash, owing to a neglectful refueler putting in the wrong type of fuel.  The C-123 pancaked at the end of the runway, killing at least half aboard, including Captain Singer.

Alan's telling contained many more details than shared above, and Jonathan worried Alan might be going overboard with the war story.  What worked to everyone's advantage was about only half those present were Jewish, so no one really knew what to expect.

At least one other Vietnam War vet was in our party.  He later thanked Alan for sharing his story.  We all applauded the Potkin brothers for hosting this special event.

A grand time was had by all.  Passover is a celebration, not a time for mourning especially.  The invited guests were jovial and a source of interesting conversation.

The fact that the next day was Shakespeare's birthday added to the literary and multi-cultural flavor of the event.

Alan drew an analogy between the Jews and the Laotians, forced as slaves to build a certain grand canal in Bangkok by the conquering "Egyptian" Siamese.  Helping people better appreciate history was a big part of what we were up to I'd say.

Tuesday, April 19, 2016

A Wanderers Presentation


I've written about Alan Potkin before, as a gifted geek but more from the satellite photography side of the business.

Alan used to sell a poster, a satellite picture of the Bay Area from space, which helped finance his grad school days lifestyle.  He shared it in the course of his presentation.

His poster reminded me of Stewart Brand and his "why haven't we seen any pictures of the whole earth yet?" (this was before Google Earth or any of that, in the years leading up to the first Whole Earth Catalog).

Tonight's audience included at least two attenders I've never met.  They asked interesting questions and participated in the discussion of the trade-offs.  Major dams have their consequences, that's just physics, some considered beneficial.

Alan's main focus was hydro-electric projects, existing, planned, postponed, dismantled.  In Burma, Laos,  However he reviewed, in more detail than I'd heard, his role in restoring a famous Lao version of the Ramayana to the newer version of a certain temple.

Detailed photographs from the destroyed temple were projected on the walls of the new temple using techniques Alan pioneered, after some pretty serious processing.  Skilled artists turned the projections back into murals.

These projects are connected, in that both feature Alan's meticulous approach to curating and chronicling findings by means of interlinking PDFs, into which he integrates text and pictures, movies.

Why aren't these techniques standard among those charged with writing environmental impact reports?  Why is just dry text and tabulated data considered sufficient?  Tufte's name came up.

Alan's technique evolved independently of the Internet and its way of doing multimedia, perhaps only locally ("self serve") using

I enjoyed spending time with Alan and his brother Jonathan in downtown Portland earlier, with Glenn Stockton in my company.

Glenn and I took the bus to the Design Week Portland headquarters in Pioneer Courthouse Square (a geodesic dome) and then met up with the two brothers near the KGW studio entrance (part of the Square).

We ended up at the Yard House for lunch, near the Apple Store.  Alan's presentation was later that evening at the Linus Pauling House.
Presenting at Thirsters
:: Alan presenting at Thirsters two days later ::

Sunday, April 17, 2016

Learnability (continued)

Ashley may be expressing some ambivalence here, about the direction of ES6 / ES7, I find it somewhat hard to tell.

She's loyal to the concept of teaching the language, but worries, rightly, about syntactic sugar obscuring and occluding the more deeply unifying concepts.

The best way to learn is to teach, that she knows.

Some of the new syntax she's clearly excited about, namely "destructuring".

The JavaScript community seems quite comfortable with "transpilers" such as Babel, which re-casts ES7/ES6 semantics in an earlier version.

This developer raves about destructuring too.

Other transpilers go to ES-whatever from TypeScript, CoffeeScript, ClojureScript...


Here's another one by Ashley helping us understand the npm (Node Package Manager) ecosystem.  She's right, the data are pretty sketchy.

Thursday, April 14, 2016

Musings on JavaScript

I'm sorting through code school videos in the Youtube repository, and others, looking for exemplary recordings.  Today, I'm combing through Douglas Crockford movies.

No, you won't find him in IMDB I don't think (OK, maybe), but he's a star nonetheless.  He invented JSON and JSLint after having an epiphany that JavaScript was really a lot like Scheme under the hood (plus Self, and HyperCard) -- no accident given the history -- and that realization made him really brilliant.

Zooming out, it's the Lessons he teaches we should take to heart:  it's not that what we have today is the way it is because it had to be this way, nor because this way is best.

In the case of JavaScript, the vision of the Web was taking off and Netscape wanted to launch LiveScript at a critical time, when we needed previews.  What would this Web come to be?  Big business was willing to gamble.  Little puppet shows, with some LiveScript pulling the strings, would say a lot about the potential future, and so it shipped, one might say as a part of a much-needed demo.

And that, my children, is what we're calling JavaScript today.  Or ES6 or whatever we're up to.

Crockford is returning to his roots in wanting to dive deep into recursion, with tail optimized calls.  "JS will finally be a real functional programming language", he exclaims.

So lets remember that Lesson:  it's not the best way, it's not the only way, it's just the way, whatever it is.

We're stuck along some axes more than others.

We might define the axes in a negative sense, as precisely those things which cannot happen, leaving what can, constrained, as the allowed space of what's next.  Do we know enough about the rules to preclude... [you name it]?

Let me digress to mention a movie again:  Ten Cloverfield Lane.  How would you ramp it up, given a budget, in the direction of more and more surreal?

In a way I found it compelling how deeply into surrealism our imagination could take us.  Yet my reaction was the same as hers:  "oh gimme a break".

Like, what "miracle" would say to you that "reality is broken"?  Something impossible that is, like the aliens landing.  The thing is:  might not aliens land?

You'd likely not be not surprised to find out many humans believe we've already been invaded, with much disagreement on who by or what the symptoms are.  Most mythologies don't cast the aliens as helping us hold it together, much as the good Angels used to do (the bad ones worked for some Lucy or someone).

Our language leaves that loophole open, for "space invaders" -- one might say.  We're at the twilight of the empirical in entertaining such beliefs, on the fence not so much with what's false as what it makes no sense to say.  What makes us think our language makes us capable of thinking "anything we like"?  I'd say more the opposite is the case.

OK, digression over, sorry.  JavaScript is where I'm focused.


1.  Because Portland has long had its Admirers of JavaScript (a meetup and listserv I've been a part of).  "I won't need loops anymore, because we'll have tail calls" (Crockford again).

2.  But more than that:  it's a hugely prevalent language that's worth learning from the ground up, perhaps using Crockford's minimalist approach, which allows him to call it "silly" (just a prototype after all) while staying fairly proud of his own use of it (as audited by JSLint).

No code school gets away without teaching JavaScript at some level, and in a hand-wavy way is worse.  I want to get it more thoroughly myself, for a host of reasons, such as looming "boot camps" for math teachers (I use quotes to suggest they're maybe really not as strenuous as the "boot camp" metaphor makes out).

The real question is whether to have it at all levels, client through server, from Angular to Node to MongoDB.

I lean towards wanting to tackle more than one language and SQL, HTML and CSS by themselves don't stand up as Turing Complete if ya know what I mean.

JavaScript and something else, maybe Clojure.

Maybe Java or Python or C# (as a trio?), with an emphasis on whichever one the mentor wants to pick.  We go with the strengths of the mentor, why not, without discouraging cross-training and branching out.

Do we work in .NET or not?  I don't see why not.  I'm not against using free teaser products that hint at more and even better for pay.  I understand money is a medium.  Open Source is often itself the teaser, meaning a company uses it to showcase what must be a vibrant culture, to hatch and sustain such a cool thing.  I'm neither cynical about nor disapproving of this practice, quite the contrary.

Code schools that start small may be tempted to stretch too thin and teach too many subjects, because the materials don't teach themselves and people need mentors, both synchronous and asynchronous (either the adjective and the adverb work here).

A code school without mentors is not so much an oxymoron as one with ghost mentors and/or unsung volunteers, which may be people willing to guinea pig themselves (like "Guinea Pig B", aka Bucky aka RBF).  That's pretty extreme though.  The word "school" has never been synonymous with "robot" and it's a stretch to make it mean that right now.

My theory is the geek etymology, with roots in the carnival business, show business more generally (even stage magic), comes with this idea of "rides" which are indeed "engines" that create experiences, such as roller coasters and Ferris wheels.

Lets remember these are real characteristics of the user experience in cyber-ville:  we do build little rides and theme parks for people (they're called web sites) that treat everyone the same way.  There's lots of automaticity involved, but nevertheless, every pinball game is different.

What I hadn't realized about JavaScript is its deep investment in IEEE 754 floating type as the only type, whereas Douglas is sensitive to the COBOL crowd's need for reliable monetary computations, and true Decimal computations.

We have the Decimal type in Python.  There's an advantage to having several Number types.

DEC64 sounds smart though.

He's entirely open to a next language, star Crockford is.  He's ready to create the space for us to try something new.

Why not something parallel to the Internet to fall back on, made of different parts?  I saw a talk on that topic as well, by someone else stellar.

Call it research.  Call it your company's Diversity policy, in action.  I'm not the one to boss you around, no worries.  I'm just celebrating our liberal openness to new languages and alternatives to what we tend to take for granted.

Having working languages already, dependable, responsible, is a gift as well.  In clinking my glass and toasting the future, I'm not thereby dissing the past, a misunderstanding that's easy to have, sometimes all too hard to let go of.

"We never change the minds... we just have to wait for them to die" (laughter, applause).  "Can we get rid of GOTO now?"  Hah hah.

He's really into lambdas, which is spelled 'function' in JavaScript.  You don't have to name it or remember it, just do it.

What does he think about Go I wonder, Crockford I mean?

That's something I could Google up no doubt, or even Bing.  Is Go not close to the metal enough to qualify as a systems language?

What I wonder, given such as ClojureScript and Brython (a topic in Cuba these days), is:  if JavaScript is to be seen as the Assembler of the Internet, should we maybe just use it like that, to implement mostly other languages?

Stay in Clojure or Python in the client, knowing you've got some V8 or whatever under the hood?

Is JavaScript more like our most refined grade of engine oil in Web 3.0?  Made of only the good parts I mean?

Monday, April 11, 2016

A Code School Evening

I took my time getting to Tillikum Crossing by bus and light rail, having plenty to read, including Southeast Examiner (neighborhood news) and Willamette Week (WW, April 6 "can't believe I ate the whole thing" cover, 2016).

I'd eaten nothing but Soylent all day.  The Flying Elephant Delicatessen was singing a siren's song when I got off the Max and I headed straight to it.

WW was far harder on 10 Cloverfield Lane than I'd be, were I to write my full movie review.

Yes, it turns absurdist, almost dada at the end, but surrealism is the province of science fiction, to which this film lays claim.  It's a genre question.  I saw it in that place where comedy / sitcom meets horror (more Joss Whedon maybe)?

I also saw it as a throwback to stage theater, with high quality close-up performances, most the emphasis on the acting.  Another really good movie like that, also science fiction:  Ex Machina.

I then wandered to Starbucks for an hour of black coffee and WiFi, before ascending the hill behind the tracks, to PDX Code Guild, passing under a maze of freeway overpasses in route.

Many of the regulars were curious about Elm, a new web dev technology, and so were attending its debut meetup tonight.  So attendance at this Monday night Python meetup was initially fairly light... until the tour group showed up.

Greg and Margaux, of workingIT (dot com) arrived soon after I'd set up my second monitor, borrowed from the standing station.  Greg is a professional auditor and expert in risk-based thinking (RBT), with a background in homeland security.

His daughter Margaux was interested in interviewing some of her peers familiar with the code school experience.

Chelsea and Katie practically live at the code school, and were helping orient a newcomer.  Chris (CTO) helped install Python on the newcomer's laptop.  That's pretty much a first step where <guild /> is concerned.

The code schooler across from me wanted to know more about Vagrant, which I at first confused with some Mozilla tool to create random noise for web clients, simulating a VUCA world.

But that's not what Vagrant is at all.  I was confusing Vagrant with Mozilla's Vaurien, used in front of Nginx, by Luciano Ramalho in Fluent Python to deliberately create a choppy Internet experience for browser testing purposes.

Vagrant, in contrast, works with a hypervisor, like VirtualBox or VMware, to smooth the developer experience in mixed OS settings (very common).  I need to learn more.  Good thing I have Safari.

I hooked up a larger monitor so I could show off some of my own projects, for example Peter Farrell's rotating letter F, controlled in Pygame.

I'd needed a gfortran compiler (courtesy of gcc) to get that demo working, and was eager to show off my chops in getting Pygame to actually work on El Capitan.  I was hoping for some applause and approval I suppose, kudos.

I'd also planned to boot up Ted Kosan's MathPiper, a Java-based computer algebra system, but also a study in the generic power of JEdit to run multiple languages, including Clojure.  He'd sent me instructions for getting my tetravolumes demo going.

I also showed off O'Reilly Safari, where I go for a lot of my readings (like tonight's on Vagrant for example).

As I was writing in a memo to Charlie earlier today, I think paywalls like Lydna's and Pluralsight are fantastic for what they have (I've learned plenty from both), however in IT we need to read books a lot too, so paywalls like O'Reilly's need to stay in the game.

I didn't get a picture of the tour group.  Sheri took them off somewhere, and probably out of 2626 to the Business Accelerator building just up the street.  That's where I taught Intro to Programming (accelerated version), which I'd gladly teach again.

Greg and Margaux gave me a ride home, right to my front door.  A productive evening!

Saturday, April 09, 2016

Learnability Versus Complexity

I enjoyed the above presentation by John Allsopp, regarding how we're trading away learnability, in exchange for shorter term convenience, ease.  Are we being lazy in the wrong way?

For those unused to "geek", the word "lazy" may always have negative connotations but it has a positive spin as well:  not too busy in the sense of overwhelmed by urgency (crazed).

Fully mastering the tools that we have, versus frantically trying and throwing away, is what saves us from perpetual infancy.  Complexity is often a function of a lack of mastery.

The vicious circle is: unnecessary complexity detracts from learnability which discourages mastery even more.

Monday, April 04, 2016


I was chatting with Glenn today, over lunch at Skavone's, about I-5 as an institution, part of the larger I-system, a network of freeways (that sometimes charge a toll).

I'd just driven several hundred miles on I-5 over the weekend:  Portland -> Bellevue -> Tulalip Country -> Stillaguamish Country -> back to Portland.

Freeway means "restricted access"; the only way on or off is via interchange.  They're more restrictive than highways in that way, making higher speeds possible.

Where these exchanges get placed can make or break a local economy.  Congressmen wield power over some of these nuts and bolts.

Glenn knows a lot about the impact of freeways on local highway culture.  The case of Route 66 is famous.  The animated feature Cars (Disney) explores this theme, much as Who Killed Roger Rabbit explored the impact of cars on streetcars.

Glenn filled me on about Harvey Girls, the waitresses who staffed Frank Harvey's chain of track-side restaurants and hotels.  Harvey had an exclusive agreement with Santa Fe railroad.  His restaurants revolutionized the food services industry, setting a new and higher standard for what the general public might expect.

Learning this Americana proved a missing puzzle piece for me.  I'm following up tonight, doing more research.