Monday, April 18, 2016

Work / Study Notes

MathPiper in Action

I used some of my time at the meetup tonight to follow Ted Kosan's homework assignment, as I'd agreed on the listserv (i.e. in front of witnesses) to enroll in his work / study program.  

He's going over the basics of a computer algebra system (CAS) which begins by parsing an expression into a tree, as shown above.

He's sharing a JEdit-based framework he wrote and shares with the general public under a GNU v2 Open Source license.

The Document Object Model is tree-like in having nodes containing more nodes.  A Tree is a subtype of Graph and is typically a first recursive data structure (think "fractal").

"Phi is the first Fractal" one might suggest as a mantra, on the basis of its self-referencing proportionality.

I'd started the day's meetings with Mr. Stockton (Global Matrix) wanting to share some Graph Theory, showing me the same nodes edge-connected in two different ways.

What could I learn from this picture?

The first graph was like spokes around hubs with longer distance connections between the hubs.

The second graph was more like connecting all neighbors to nearest neighbors.  No spokes were evident, more like a quilt or lattice.  Same nodes.  Different stories regarding their relationships.

The first graph might be "cell phone provider" (some nodes represent "towers"), whereas the second graph might display "who borrows sugar from whom".  I might assume the same geographic layer for both in this story, whereas graphs need not be geographic at all (just topological).

Visitors to the code school tonight included a German-speaking duo, from Austria and Switzerland respectively.  I talked with the Swiss guy who sat next to me, about his bioinformatics work, training computers to get better at diagnostics.

I explained about my work with tetravolumes in Clojure, inside MathPiper.  He also liked my Nonsense Numbers.

I learned about ternary logic, discussed in Knuth (I'll look it up) and an early Russian prototype named Setun.  Ternary logic is non-boolean, yet a logic nevertheless.  I've been pointing out that even True and False based languages have Null and/or Undefined but that's not what "ternary logic" means exactly.  I'll be doing some more self-study.

Another topic already in the wind, that I learned about only recently, is clockless chips, meaning CPUs that are less clock-driven, more asynchronous.

We've had something of a paradigm shift in that respect at the software level.  I'll be looking for parallels in the literature.

I demonstrated doing symbolic calculus to another attender deep into Doing Math with Python (a new title).  He'll be getting to all that in a next chapter anyway.

An old student of mine (from Accelerated Intro) was there when I arrived, and is currently enrolled in one of the evening boot camps going on in the Business Accelerator building.  I'm glad.

With Sheri (the director) I discussed the Gift Shop meme, a way for any code school to showcase its own ability to source an on-line swag store, shopping cart model.

An on-line Gift Shop is precisely the type of application students come to code school to learn to code, so the Eat Your Own Dog Food aspect is evident.  I came away with a T-shirt myself.

A code school might stock any number of partially developed Gift Shop variants, some as group projects, some starting out solo.  Having a working project on the front lines does not imply other solutions do not exist.

We'll always have need for a "next Gift Shop" if only to give students and instructors opportunities to hack on something well-understood (like anatomy lessons).

Speaking of gifts, my thanks to Benjamin for cluing me about pathlib and py.test.