{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Oregon Curriculum Network](http://4dsolutions.net/ocn/)
\n", "[School of Tomorrow](School_of_Tomorrow.ipynb)\n", "\n", "\n", "\n", "\n", "# The School of Tomorrow\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\"Tribal\n", "
\n", "
\n", "Prompt: A skyscraper in Seattle in the Tlingit style with a mural showing a giant salmon in the native American style.\n", "\n", "## WINTER TERM 2025\n", "\n", "\"Winter\n", "\n", "[Link to Synergeo](https://groups.io/g/synergeo/message/3412)
\n", "[Guidance for Teachers](https://groups.io/g/synergeo/message/3409)\n", "\n", "\n", "## BACKGROUND CONTEXT\n", "\n", "The School of Tomorrow is a coming together of several currents in contemporary thought. A primary influence is Richard Buckminster Fuller (RBF), however a whole network of people come into view through the connections his life and work provide, likewise with myself, with any of us. Place based education means expanding outward from your present circumstances to encompass a more global scope. \n", "\n", "In that respect, the curriculum I'm hammering together reflects my place and angle, such that I'll say this approach is exemplary of what any of us might undertake, and what many have for sure undertaken. I've come across many who've rooted their educational materials in a particular view of the bigger picture.\n", "\n", "Some passages in Kierkegaard, my namesake in some ways (Kirby is kirk by, the garden by the church), mock the authenticity of the big picture narrator voice, the omniscient tense, usually deep and full of pretend objectivity, like the one in Idiocracy (the movie). In other words, I consider omniscient presumably objective projections to be subjective at the end of the day and therefore at least in disguise (in costume, in character) if not outright deceptive. The reader may bring the appropriate understanding and context to the reading, obviating the author (or committee as the case may be) from needing to protest too much.\n", "\n", "Starting with RBF, we explore American Transcendentalism more generally, through Bucky's great aunt Margaret Fuller, and her cohort (Emerson, Thoreau...), plus we link up with Anglo and Austro-German influences: [Mark Fisher](https://www.perplexity.ai/search/talk-about-mark-fisher-the-eng-KWmYjnlHRGyfRm4DhI5NVw?fbclid=IwY2xjawLU7hdleHRuA2FlbQIxMABicmlkETFGbVhNZGFubUExZHhwM3A5AR4U58cz4ov2i4rekKNVsULNWzuSe1k-JXTeL_pOqd0NBJwwdt4kP9VJHYYnuQ_aem_Tct4aiZoKAf4AyLtf-dN1g), [Peter Sloterdijk](https://www.perplexity.ai/search/peter-sloterdijk-author-of-bub-g17F1pcXRc29mt3ILunTdg), Walter Kauffman, Friedrich Nietzsche, Sigmund Freud, Carl Jung, Ludwig Wittgenstein (LW). " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "YouTubeVideo(\"rEZyoxPbE9s\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "My own trajectory sent me through the International School of Manila coming from Overseas School of Rome and Southeast High in Bradenton, Florida. Such a pre-college resume, along with high grades and test scores, landed me in an Ivy League university, Princeton, Class of 1980, where I pursued my many interests, from computer science to philosophy.\n", "\n", "When I was still of high school age in the Philippines, my dad, a huge fan of world travel, arranged for me to join them on home leaves, departing Manila to the west and making our way all the way around the world, back through Portland, Oregon (the city of my early childhood, before we moved to Rome), and home to Manila. We did that twice. \n", "\n", "One time had us going through Iran (Tehran, Isfahan, Shiraz), at the time of the shah. Another time dad's itinerary took us from India to Pakistan through Kashmir, then from Peshawar to Kabul on a bus through the Khyber Pass, then on to Tashkent (on Aeroflot), Moscow, St. Petersburg, Helsinki, Edinborough, Findhorn and back to the states (the North American stans, Lower48, whatever).\n", "\n", "When we lived in Rome, in my elementary through middle school years, we'd pack our German-made Stronmeyer family tent in a rack on the station wagon, along with other worldly goods, and take off around Europe. We got to stay at a Cub Med by the Black Sea in Romania, visit Budapest, Bucharest, Prague... at one point I could brag having been to every European nation except Poland and Albania. But then Yugoslavia got re-balkanized.\n", "\n", "I go into all this autobiography to give my readers a sense of my worldly background. I've been less kinetic in adulthood, having left our nuclear family to eventually start a career, on the US east coast at first, in Jersey City (Gotham), and then back in Portland. However my career as a Python guy (a Pythonista) took me to several EuroPythons and Pycons, and before that my parents had me, and later our family visit: in Cairo (Egypt), in Dhaka (Bangladesh), in Thimphu (Bhutan) and in Maseru (Lesotho), all the places my dad worked, as a city and regional planner, post his freelance work in the Philippines.\n", "\n", "\"Models\"/\n", "\n", "When I say dad was freelance, I mean he'd join with teams that worked for big name players, so at any one time he might be a US government employee, but so might he later be an employee of an Egyptian or Bhutanese Ministry, or with the UN (UNDP). He had no life-long affiliation with any one governmental, or non-governmental organization, except for the Quaker organizations they stayed connected to: Right Sharing of World Resources, Friends Committee on National Legislation, American Friends Service Committee and of course the many Friends' meetings of which they become members: Chicago 57th Street (when I was born), Multnomah in Portland (where I tend to attend), Florida Avenue (in DC), and Sarasota Friends along with more informal worship groups.\n", "\n", "I've continued to mine those Quaker roots for strength and treasure (of the spiritual variety more than money), and to stress test our committee structure, even as I'm stress tested in return. Friends stress one another sometimes, owing to a tradition of not mincing words. The unprogrammed Meeting is run as a business, with transparency and rotation, as a way of testing our faith and practice.\n", "\n", "Now that I've shifted to Quakerism as a topic, I'm ready to wend my way back to RBF and the Unitarians, who by the early 1800s were transforming Harvard Divinity School, as influenced by intellectual trends in Europe, most especially by German Idealism ala Kant and later Hegel. I see \"Unitarian\" as contrasting with \"Trinitarian\" which is where Christian dogma had been parked for some centuries, stemming from Roman Catholic ideology around Father, Son and Holy Ghost.\n", "\n", "What I discovered at Princeton, in that philosophy department, was receptivity to the idea of a Noosphere or Zeitgeist, which had a Holy Ghost flavor. Natural philosophy had been integrated with the natural sciences, and a philosopher was a polymath, such as Goethe, Leibniz and Pascal. But the disciplines had further fractionated and philosophy had largely turned its back even on Einstein, as physics was something else. Philosophy in the Anglosphere had become more analytic, infused with scholastic logic, whereas the Eurosphere stayed more poetic, and convergent with Vienna Circle psychoanalytic material, giving rise to such as J.J. Lacan and other Francophone philo guys.\n", "\n", "I recently sketched this \"recall\" (Evenlyn Wood terminology) of my impression of Princeton Philosophy in those years:\n", "\n", "\"Paradigm\n", "\n", "My thesis advisor (one of two), Richard Rorty, was renouned for jumping out of the Anglosphere to keep up on what those Euros were writing. He'd study Derrida, Foucault, Habermas and Adorno. In later years, he would write Acheiving our Country, which I'd glom onto as a way of reconciling my interest in perpetuating US iconography and systems thinking, while not buying the accreted imperialism that had tarnished the original vision. [E.J. Applewhite](https://www.grunch.net/synergetics/applewhites.html) later appreciated my Mark Twainish anti-imperialism and signaled his sympathy in having his own picture near Twain's in the Cosmos Club (Dupont Circle).\n", "\n", "What my thesis was about was Ludwig Wittgenstein's later philo, which Rorty was also in the process of reading into Pragmatism, advancing \"non-representationalism\" as a new pillar. \n", "\n", "From LW's writings I'd glean my sense of \"word meaning trajectories\" where a \"word\" was any symbol or sign, say a brand, a logo, and the game of trajectory-altering (imparting spin and momentum) being the work of advertising, PR and propaganda. Having lived in Rome, a fashion capital, and studied advertising (TV and billboard, magazine and radio), including through the eyes of MAD Magazine (a spinoff from Madison Avenue, advertising capital), I had a lot of appreciation for how words change their meaning over time, often thanks to deliberate media campaigns.\n", "\n", "Thanks to my appreciation for advertising, or lets say brainwashing more generally (relates to pedagogy and andragogy), I could see the Zeitgeist at work through the media." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## American Transcendentalism\n", "\n", "Margaret Fuller was a contemporary of Ada Byron's, not that the two ever met or corresponded. Emerson was familiar with Charles Babbage we've learned, one of Ada's mentors. Ada and Margaret were both in the vanguard in typifying the highly educated woman, not afraid to \"make waves\" and trailblaze in previously uncharted territory and assuming their rights as equals with men, not subservient.\n", "\n", "\"Romanticism\n", "\n", "We delve into the thinking of several Pragmatist thinkers, including: Richard Rorty (admirer of John Dewey), Charles Peirce (logic, abduction), William James (psychology friendly), and [Jane Addams](https://www.perplexity.ai/search/make-the-case-that-jane-addams-nayaZrSsS3O_Y1TSj9XsSA) (co-founder of WILPF). \n", "\n", "How Synergetics is grounded in psychology is clarified against the backdrop of [Fuller's remarks](https://kabbalahexperience.com/the-invisible-is-more-important-than-the-visible/) about Freud versus Einstein. He saw the former as paving the way for the latter by making the invisible (the unconscious in Freud's case) a primary determiner of what we agree on as a \"consensus reality\" (CR).\n", "\n", "Synergetics is likewise self-conscious about thinking itself, as a process of tuning in by tuning out, dismissing the irrelevant to isolate a coherent frequency or program or set of beliefs about the world, a me-ball. The passages about the omni-directional halo model make this thinking about thinking readily visualizable.\n", "\n", "\"Omnidirectional\n", "\n", "The very process of \"persisting as an ego\" maps to one of modeling the world and one's place within it. The cogito is a center of self preservation by means of active inference. The individual is both intuitive and agentic, sensing through the visio-imaginary (Eulerian faculties) and the viscero-tactile (Gibbsian faculties).\n", "\n", "Along these lines, we connect to another contemporary namespace: that of [Active Inference](https://github.com/4dsolutions/m4w/blob/main/CulturalEngineering.ipynb).\n", "\n", "We do much of this connection-making within Jupyter Notebooks; and \"who is this 'we'\" one might ask? \n", "\n", "Whereas a lot of these links are suggested in the Notebooks, they only get fleshed out elsewhere, in other media (e.g. in YouTubes, in blog posts, on Substack, on Medium, in Google slides), in curriculum materials developed by self and others.\n", "\n", "Our use of \"we\" suggests cohorts passing through with an intent to explore segues to next destinations. This is a liminal space in other words, meaning vestibular, a world of portals to other worlds, a switchboard.\n", "\n", "Canadian influences include: Marshall McLuhan, under whom Hugh Kenner studied, and Donald Coxeter, to whom RBF's Synergetics is dedicated, and who let Wittgenstein use his quarters in Cambridge for small group seminars (which Alan Turing attended). We also talk about Geoffrey Hinton, one of the fathers of AI. \n", "\n", "We have a lot of [Synergetics](https://nbviewer.org/github/4dsolutions/DigitalMathematics/blob/master/MartianMath.ipynb) in this curriculum, including in these notebooks, and explored with computer languages, including (but not thereby limited to) Python. \n", "\n", "\"Synergetics\n", "\n", "In this context, we encounter Quadray coordinates, a featured topic and a gateway to / from the standard investigation of XYZ coordinates (i.e. 3D Cartesian).\n", "\n", "LW's later philosophy is especially relevant. See [Operation Duckrabbit](https://coffeeshopsnet.blogspot.com/2024/07/mathartstream-4-kirby-urner-dimension.html). His philosophy of mathematics connects us to Martian Math (verboten math, wyrd math).\n", "\n", "We find our way over the famous C. P. Snow chasm, using Synergetics and Natural Language Processing (NLP) as our bridge disciplines, to arrive within [STEAM](https://controlroom.blogspot.com/2021/09/from-polymath-group.html) (Science, Technology, Engineering, Anthropology, Mathematics). \n", "\n", "Here in STEAM (STEM + Anthropology), we take up learning math and NLP through coding, and vice versa. We learn about Machine Learning, Deep Learning, and all the rest of it, mostly exploring the tools and frameworks Python provides.\n", "\n", "Starting in PATH (philosophy, anthropology, theater, history) we move into anthropology, diving into the David Graeber corpus among others. Economics falls under Anthropology as analyzed within STEAM (STEM + Anthro). Economist Steve Keen, [a friend of Graeber's](https://youtu.be/pxtjDvdX_Ok?si=sPTB7_QPVy4Ey6k1), helps connect us to the world of [GST](https://grunch.net/synergetics/gst2.html), General Systems Theory, wherein [thermodynamics](https://groups.google.com/g/wwwanderers/c/l-eRPgRzCXw/m/EUsYWXn5AAAJ) is taken seriously. Energy from the sun (for example) is a real input that [belongs in our accounting](https://www.perplexity.ai/search/explain-steve-keen-s-critique-i1UoTgxRQ1a00otdOy7WYA).\n", "\n", "Science fiction, the genre, is a big part of what we use to explore and simulate the possibilities. We explore those connections in more detail in Martian Math.\n", "\n", "Questions: who is making these choices and do we need to follow them? Are there more women?\n", "\n", "I'm Kirby Urner and my suggestion is two-fold: sure, use [these connections](https://docs.google.com/presentation/d/1TOVmvkHM4Da7XmE2jO1gczIF-64MUdbBx8sfwkSVTJI/edit?usp=sharing) (graphs, circuit diagrams, ecosystem) I present, as one example of a network and networking, but then create your own, as many as you like, making sure to include your own life experience, i.e. the people you follow, study, emulate, or even especially despise.\n", "\n", "My stories reach out through the singular life of one Sam Hill, founder of the Maryhill Museum on the north bank of the Columbia River, in Washington State. [Through Sam](https://youtu.be/fZXFlYKBYR4), we meet Queen Marie of Romania and her entourage, journeying by train across North America in the 1920s, bringing museum-quality European artifacts to exhibit in Sam's museum. \n", "\n", "Sam Hill was a much admired self-made American in European circles, and a champion of building quality roads, such as along the Columbia itself (a pilot project he engaged in). In this entourage: [Loie Fuller](https://en.wikipedia.org/wiki/Loie_Fuller), dancer, networker, and friend of the queen. We use this story to explore the convergent themes of both royalty and celebrity.\n", "\n", "I'll also branch off from my own mother's scenario. [Carol Reilley Urner](https://flic.kr/s/aHsjwss3CY) had an action-packed life as an international activist, pacifist and, like [my dad Jack Urner](https://www.grunch.net/4dsolutions/jackbio.html), a Quaker (Friend).\n", "\n", "\"End\n", "\n", "Through Carol Urner, we connect to the Women's International Leagure for Peace and Freedom (WILPF) of which Carol was a lifelong member. She attended the 100th year anniversary of said organization in The Hague. \n", "\n", "Another famous \"WILPFer\" whom Carol didn't know personally, was Ava Helen Pauling, wife of Linus Pauling (2x Nobel Prize, unshared, for chemistry and peace), and here we find a wealth of connections, including to [the origins of the Silicon Forest](https://controlroom.blogspot.com/2009/05/silicon-forest-origins.html) (a bevy of high tech companies and industries) itself.\n", "\n", "\"Silicon\n", "\n", "For some decades, conversationalists affiliated with [ISEPP.org](https://isepp.org) met in Linus Pauling's boyhood home across from Third Eye (famous original head shop) on Hawthrone Boulevard, in \"Asylum District\". \n", "\n", "All this placebased educational material features prominantly in [my YouTube channel](https://www.youtube.com/@kirbyurner)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SOME OF OUR TOPICS:\n", "\n", "* [Concentric Hierarchy](#CH)\n", "* [Martian Math](http://wikieducator.org/Martian_Math)\n", "* [Tensegrity](#Tensegrity)\n", "* [Flextegrity](Flextegrity_Lattice.ipynb)\n", "* [Computer Programming](#CP)\n", "* [The Grunch](https://github.com/4dsolutions/School_of_Tomorrow/blob/master/Geek_Terminology.ipynb)\n", "* [Simulations and Game Development](Quadcraft_Project.ipynb)\n", "* [Scheduling](Scheduling.ipynb)\n", "* 3D Graphics with Python and [Blender](blender.ipynb)\n", "* [Data Science](https://github.com/4dsolutions/Curriculum_Development) and [Visualization](dataviz.ipynb) (using [our tools](stats_works.ipynb))\n", "* [History](#HIST) (see Sidebars)\n", "* [Literature](#LIT) (see Sidebars)\n", "* [Cryptography](#crypto)(symmetric and public)\n", "* [Virology](Science_Paper.ipynb)\n", "* [Number Theory](NumberTheory.ipynb)\n", "* [Group Theory](GroupTheory.ipynb)\n", "* Number Sequences ([OEIS](http://oeis.org/A005901))\n", "* [HyperSnakes](Hypersnakes.ipynb) (\"snakes in nD spaces)\n", "* [SnakeCube](https://github.com/4dsolutions/m4w/blob/main/SnakeCube.ipynb) (3D puzzle)\n", "\"Pro\n", "* [Nuclear Isotopes](isotope_decay.ipynb) (e.g. Fukushima, Chenobyl, Marshall Islands, Nevada...)\n", "* [Arithmetic](arithmetic_of_tomorrow.ipynb) including in bases other than 10\n", "* [Philosophy of Engineering](https://en.wikipedia.org/wiki/Design_science_revolution)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Concentric Hierarchy\n", "\n", "What distinguishes a School of Tomorrow affiliate is a focus on some [shared focal points](https://mybizmo.blogspot.com/2006/09/focal-points.html). One of which is the Concentric Hierarchy of Polyhedrons with their tetravolumes.\n", "\n", "The idea of nesting polyhedrons is of course not new, however our emphasis on the tetrahedron as an alternative unit of volume, sharing power as such with the cube, leads to unfamiliar territory, in terms of our volumes table, and the ratios it brings out, along with transformations (e.g. the Jitterbug) and fractional components (e.g. [the BASKET modules](https://coffeeshopsnet.blogspot.com/2024/09/notes-on-basket.html)).\n", "\n", "\"concentric_hierarchy\"" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import sympy as sy\n", "from sympy import Rational, Integer\n", "from pandas import DataFrame\n", "\n", "rt2 = sy.sqrt\n", "φ = (rt2(5)+1)/2 # golden ratio\n", "Syn3 = rt2(Rational(9,8)) # not to be confused with Smod\n", "\n", "B = Rational(1, 24)\n", "A = Rational(1, 24)\n", "S = 1 / (2 * φ**5)\n", "K = Rational(1, 24) * Rational(3, 2)\n", "E = rt2(2) / (8 * φ**3)\n", "T = Rational(1, 24)\n", "\n", "sfactor = S/E # same as VE/Icosa\n", "\n", "# phi-up and phi-down E and S mods\n", "E3 = E * φ**3\n", "S3 = S * φ**3\n", "E6 = E3 * φ**3\n", "S6 = S3 * φ**3\n", "e3 = E * φ**-3\n", "s3 = E * φ**-3\n", "\n", "# uses Koski Identities\n", "# On-line: http://coffeeshopsnet.blogspot.com/2017/06/koski-paper.html\n", "\n", "Super_RT = Integer(20) * Syn3\n", "VE = Integer(20)\n", "Icosa = (100 * E3 + 20 * E).simplify()\n", "P_Dodeca = (348 * E + 84 * e3).simplify()\n", "RT_K = 120 * K \n", "RD = 6 * (S6 + S3).simplify() \n", "RT_E = Super_RT * φ**-3\n", "RT_T = 120 * T \n", "Octa = 4 * (S6 + S3).simplify()\n", "Cube = 3 * (S6 + S3).simplify()\n", "SkewIcosa = (Rational(5,2) * sfactor**2).simplify()\n", "SmallVE = VE * Rational(1,8) # half D edges (=R)\n", "Tetra = (S6 + S3).simplify()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
VolumeNumericAlgorithmic
Shape  
SuperRT21.21320343559642573202533086310015*sqrt(2)
VE20.00000000000000000000000000000020
Icosa18.5122958682191611960098992927005*sqrt(10)/2 + 15*sqrt(2)/2
PD15.3500182080507818640110057482003*sqrt(10)/2 + 15*sqrt(2)/2
RT_K7.50000000000000000000000000000015/2
RD6.0000000000000000000000000000006
RT_E5.00775803133283851593274144020015*sqrt(2)/(1/2 + sqrt(5)/2)**3
RT_T5.0000000000000000000000000000005
Octa4.0000000000000000000000000000004
Cube3.0000000000000000000000000000003
SkewIcosa2.917960675006309107724789938060320/(1 + sqrt(5))**4
SmallVE2.5000000000000000000000000000005/2
Tetra1.0000000000000000000000000000001
B0.0416666666666666666666666666671/24
A0.0416666666666666666666666666671/24
S0.0450849718747371205114670859141/(2*(1/2 + sqrt(5)/2)**5)
K0.0625000000000000000000000000001/16
E0.041731316927773654299439512002sqrt(2)/(8*(1/2 + sqrt(5)/2)**3)
T0.0416666666666666666666666666671/24
\n" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shapes = ['SuperRT', 'VE', 'Icosa', 'PD', 'RT_K', \n", " 'RD', 'RT_E', 'RT_T', 'Octa', 'Cube',\n", " 'SkewIcosa', 'SmallVE', 'Tetra',\n", " 'B', 'A', 'S', 'K', 'E', 'T']\n", "\n", "volumes = [Super_RT, VE, Icosa, P_Dodeca, RT_K,\n", " RD, RT_E, RT_T, Octa, Cube, SkewIcosa,\n", " SmallVE, Tetra, B, A, S, K, E, T ]\n", "\n", "\n", "\n", "volumes_num = [vol.evalf(30) for vol in volumes]\n", "\n", "vt = DataFrame(data = {'Numeric': volumes_num,\n", " 'Algorithmic': volumes},\n", " index = shapes)\n", "vt = vt.rename_axis(('Volume'), axis=1)\n", "vt.index.name = \"Shape\"\n", "format_mapping = {\"Numeric\": \"{:,.30f}\"}\n", "vt = vt.style.format(format_mapping)\n", "vt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nested polys](nest_polys_wbg.gif)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To learn more about how animated GIFs such as the above get made, check out this notebook on [Making Shapes](Shapes_Framework.ipynb).\n", "\n", "We use POV-Ray and sometimes Blender in most of our demos.\n", "\n", "
\n", "
\n", "\n", "\"Screen" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"gPcTl75Io5w\") " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"bD5RmyeN2LI\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[ZomeZone](ZomeZone.ipynb) -- lets look at even more modules, why not?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computer Programming\n", "\n", "Our Jupyter Notebook's kernel is Python. The code cells you see, interspersed with text and pictures, are a primary constituent of the Jupyter Notebook. You will learn more about Jupyter Notebook technology as you work through these materials.\n", "\n", "You will also learn [a lot of Python](CascadianSynergetics.ipynb).\n", "\n", "Recommended reading: [Python in a Nutshell](Annotations.ipynb)\n", "\n", "It's time for a short Glossary, that we will add to over time:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "glossary = {} # empty dictionary (a set of key:value pairs)\n", "glossary.update({\n", "\"Jupyter Notebook (JN)\" : \"like a web page, but interactive, stored as json\",\n", "\"cell\" : \"a Jupyter Notebook consists of mostly Code and Markdown cells\",\n", "\"code cell\" : \"where runnable code, interpreted by the Kernel, is displayed and color coded\",\n", "\"markdown cell\" : \"uses a markup called markdown to format the text cells in a Jupyter Notebook\",\n", "\"Python\" : \"a computer language from Holland (the Netherlands) that went viral\", \n", "\"Kernel\" : \"an interpreter, e.g. Python, ready to process JN code cells and return results\",\n", "})\n", "type(glossary) # ask about this object's type" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Visualization\n", "\n", "The School of Tomorrow features Jupyter Notebook based explorations of datasets, with the aim of building up skills with a specific suite of tools (see below).\n", "\n", "## History\n", "\n", "Our topics will include (but are not limited to):\n", "\n", "* Science Fiction through the ages, from [H.G. Wells](https://www.gutenberg.org/ebooks/author/30) to [Orson Welles](https://www.snopes.com/fact-check/war-of-the-worlds/). \n", "* Bonus Army (WW1 Veterans, requesting payment from Congress)\n", "* [Smedley \"fighting Quaker\" Butler](https://worldgame.blogspot.com/2020/01/occupy-history.html) (his career and writings)\n", "* Rajneesh Puram (Oregon History)\n", "* The Vortex Festival (Oregon History)\n", "* The Browser Wars and the Birth of JavaScript\n", "* [Occupy Portland (OPDX)](OPDX.ipynb) and Hoovervilles\n", "* Refugees and asylum-seekers in Portland\n", "* Cyber, Crypto and Solar Punk subcultures (consistent with The House of Tomorrow)\n", "* [this curriculum](https://youtu.be/k-fiZPpcCUU), it's development over time (4K Youtube of this page 9/2024; sound garbled)\n", "* other topics you choose (plus various research projects will be suggested)\n", "\n", "Links to Portland, Oregon, Cascadia region, home of the [Oregon Curriculum Network](http://4dsolutions.net/ocn/).\n", "\n", "\"P1080444\"\n", "
\n", "Mt. Tabor, Southeast Portland, Mid-level Reservoir\n", "
\n", "\n", "## Literature\n", "\n", "[Martian Math](https://github.com/4dsolutions/MartianMath/blob/master/mm1.ipynb) is Science Fiction, as well as a bridge to STEM topics.\n", "\n", "\"A\n", "\n", "\n", "\"A\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, we look at more than science fiction. \n", "\n", "Based on our *The Home of Tomorrow* theme, we take seriously the curious mathematics ensconced within American Transcendentalism in the form of \"synergetic geometry\", the Concentric Hierarchy of Polyhedrons especially, which features a flagship Tetrahedron of edges one, as a unit of volume." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
VolumesComments
Shapes
SuperRT21.213203Emods RT phi-up, (Icosa, P Dodeca)
Cubocta20.00000012 balls around 1
Icosa18.512296Jitterbug first stop
P Dodeca15.350018Icosahedron Dual
Rh Dodeca6.000000Space-filler, ball domain, (Cube, Octa)
RT5+5.007758Radius = 1.0000
RT55.000000Radius = 0.9994
Octa4.000000Jitterbug 2nd stop, Cube dual
Cube3.000000Duo-tet cube, Octa dual
Sm Icosa2.917961Faces flush with Octa
Sm VE2.500000Faces flush with Octa
Tetra1.000000Unit Volume
Emod30.176777Emod phi up
Emod0.0417311/120th RT5+
emod30.009851Emod phi down
Tmod0.0416671/120th RT5
Amod0.04166712 left + 12 right = Tetra
Bmod0.04166748A + 48B = Octa
Smod30.190983Smod phi up
Smod0.045085Sm Icosa + 24 Smods = Octa
smod30.010643Smod phi down
\n", "
" ], "text/plain": [ " Volumes Comments\n", "Shapes \n", "SuperRT 21.213203 Emods RT phi-up, (Icosa, P Dodeca)\n", "Cubocta 20.000000 12 balls around 1\n", "Icosa 18.512296 Jitterbug first stop\n", "P Dodeca 15.350018 Icosahedron Dual\n", "Rh Dodeca 6.000000 Space-filler, ball domain, (Cube, Octa)\n", "RT5+ 5.007758 Radius = 1.0000\n", "RT5 5.000000 Radius = 0.9994\n", "Octa 4.000000 Jitterbug 2nd stop, Cube dual\n", "Cube 3.000000 Duo-tet cube, Octa dual\n", "Sm Icosa 2.917961 Faces flush with Octa\n", "Sm VE 2.500000 Faces flush with Octa\n", "Tetra 1.000000 Unit Volume\n", "Emod3 0.176777 Emod phi up\n", "Emod 0.041731 1/120th RT5+\n", "emod3 0.009851 Emod phi down\n", "Tmod 0.041667 1/120th RT5\n", "Amod 0.041667 12 left + 12 right = Tetra\n", "Bmod 0.041667 48A + 48B = Octa\n", "Smod3 0.190983 Smod phi up\n", "Smod 0.045085 Sm Icosa + 24 Smods = Octa\n", "smod3 0.010643 Smod phi down" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import identities\n", "from identities import volumes_table\n", "volumes_table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\"Martian\n", "
\n", "
\n", "Martian Base made of an A-modules Tetrahedron,
protected with a Lux Perimeter\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Martian Math is also a new approach to some of the ideas in *Synergetics: Explorations in the Geometry of Thinking*. \n", "\n", "This is The School of Tomorrow after all. We teach the Bucky stuff.\n", "\n", "#### WORLD GAME MUSEUM\n", "\n", "Graphics by Richard Hawkins (see [Grunch/Synergetics/Modules](http://grunch.net/synergetics/modules.html))\n", "\n", "*A modules* make a Tetrahedron:\n", "\n", "![A module](http://grunch.net/synergetics/images/amod.gif)\n", "\n", "*B modules* with A modules, make an Octahedron. Tetrahedrons + Octahedrons define the space-filling IVM:\n", "\n", "![B module](http://grunch.net/synergetics/images/abmod.gif)\n", "\n", "*The MITE* (minimum tetrahedron) is a space-filling tetrahedron, but not the only one (cite Sommerville):\n", "\n", "![Mite](http://grunch.net/synergetics/images/mite.gif)\n", "\n", "*The Coupler* is an octahedral space-filler, also Unit Volume (same volume as Tetrahedron):\n", "\n", "![Coupler](http://grunch.net/synergetics/images/rdcubcp.gif)\n", "\n", "Maybe you would like to teach this curriculum it too? \n", "\n", "[Here are some slides](https://goo.gl/zoVYF1) you could use." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDBoYFhsaGRoeHRsfIjMmJCIiHzEtLycqLjYyMDEqLS01PVBFNzhLOS0wRWFFS1NWW11bMkJlbWRYbFBZW1cBERISGRYZLxsbLVc9NT9XV1dXV11XV1dXV1dXV1dXV1dXXVddV1dXX19XV19XV11XV1dXV1dXV1dYV1dXV1ddV//AABEIAWgB4AMBIgACEQEDEQH/xAAbAAEAAQUBAAAAAAAAAAAAAAAABQECAwQGB//EAEMQAAEDAgMEBwQIBgIBBAMAAAEAAhEDEgQhMQUTQVEGIjJhcYGRM1KhwRQWQlNykrHRFSM0c+HwVGLxB0Njghckov/EABoBAQEBAQEBAQAAAAAAAAAAAAABAgMEBQb/xAAwEQEAAgEEAAQEBQMFAAAAAAAAARECAxIhMRNBUfAEFCLBMmGB0fFxkaEFI1Kx4f/aAAwDAQACEQMRAD8A8/REQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBt7MH83yKlrRyHoonZntfIqXWoZlS0ch6JaOQ9FVFWVLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRyHolo5D0VUQUtHIeiWjkPRVRBS0ch6JaOQ9FVEFLRy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", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"ACnA3YknrT0\") # https://youtu.be/ACnA3YknrT0" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"OBuH2eAJT6Q\") # https://youtu.be/OBuH2eAJT6Q" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cryptography\n", "\n", "[RSA](https://github.com/4dsolutions/Python5/blob/master/Public%20Key%20Cryptography.ipynb) is the name of a public key cryptography algorithm we study a lot. Cryptography involves a lot of what we might call Number Theory.\n", "\n", "With the rise of the commercial web came the business requirement to perform secure communications, meaning encrypted communications over TCP/IP. The need for public key cryptography became obvious and widely disseminated, over the objections of those wishing to preserve \"military grade\" encryption for a chosen few.\n", "\n", "Subsequent to the rise of the commercial web came the crypto-currencies revolution, and blockchain strategies for decentralizing the responsibility for securing transactions. The promise of these technologies led many more people to develop [fluency around cryptography](https://bookauthority.org/books/best-cryptography-books).\n", "\n", "\"save_crypto\"\n", "\n", "### Historical Sidebar\n", "In periods marked by hostility towards specific cultures, the signature technologies of those cultures may be deprecated, pushed to the back burner. For example, [some argue](https://medium.com/@kirbyurner/operators-harbingers-of-the-zeitgeist-89fe9f4764b3) that Number Theory, pioneered by [Friedrich Gauss](http://4dsolutions.net/ocn/numeracy0.html) (1777-1855), was given a lower profile in North American curricula because of hostility towards Germanic cultures." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computer Programming Interlude\n", "\n", "The code cells are usually full of Python source code, ready to run. Even if the libraries we're using are such as ```numpy``` and ```pandas```, the language we're sharing here is known as Python, named for Monty Python, the English comedy troupe.\n", "\n", "When you first boot into Python, in order to use it coversationally, such as in a console, or in a code cell, it probably has no knowledge of ```time``` as a topic, nor of ```datetime``` nor ```math``` -- these being the names of modules we might import.\n", "\n", " Expect to use the proleptic Gregorian calendar in the Standard Library, or maybe the Julian (\"when in Rome...\"). You will also have integer days from an epochal starting point as an option, with time slices down to the nanosecond in pandas. \n", "\n", "Seek 3rd party packages for other calendars. The Python ecosystem is well stocked." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "import time\n", "from datetime import date\n", "\n", "# defining a type of object, of which we may have any number\n", "# anyone gets to be a me\n", "\n", "class Me(): # used below, to encapalsupate person data\n", " \n", " def __init__(self, nm : str, dob : str):\n", " self.name = nm\n", " struct = time.strptime(dob, '%d %B %Y')\n", " self.dob = date(*struct[:3]) \n", "\n", " def __repr__(self):\n", " return \"Me('{}', '{}')\".format(\n", " self.name, \n", " self.dob.strftime(\"%d %B %Y\"))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"apACNr7DC_s\") " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "RBF Me('R. Buckminster Fuller', '12 July 1895')\n", "CFG Me('Carl Friedrich Gauss', '30 April 1777')\n", "WOLF Me('Stephen Wolfram', '29 August 1959')\n", "GvR Me('Guido van Rossum', '31 January 1956')\n", "MC Me('Marie Curie', '07 November 1867')\n", "WD Me('Walt Disney', '05 December 1901')\n" ] } ], "source": [ "# all-star cast\n", "\n", "bucky = Me(\"R. Buckminster Fuller\", \"12 July 1895\")\n", "gauss = Me(\"Carl Friedrich Gauss\", \"30 April 1777\" )\n", "wolfram = Me(\"Stephen Wolfram\", \"29 August 1959\")\n", "guido = Me(\"Guido van Rossum\", \"31 January 1956\")\n", "curie = Me(\"Marie Curie\", \"7 November 1867\")\n", "disney = Me(\"Walt Disney\", \"5 December 1901\")\n", "\n", "# suggestive of what we might store in JSON (or other format)\n", "scenarios = {\"RBF\": bucky, \"CFG\": gauss, \"WOLF\": wolfram, \n", " \"GvR\": guido, \"MC\": curie, \"WD\": disney} # dict with Me type values\n", "\n", "for person in scenarios:\n", " print(\"{:5} {}\".format(person, scenarios[person]))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "import json\n", "\n", "def to_json(obj):\n", " return [obj.name, obj.dob.strftime(\"%d %B %Y\")]\n", " \n", "\n", "with open(\"timelines.json\", \"w\") as target:\n", " json.dump(scenarios, target, default=to_json)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's keep building that glossary..." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# alternative syntax for adding to a Python dictionary\n", "glossary = {}\n", "glossary[\"HTTP\"] = \"hypertext transfer protocol\"\n", "glossary[\"TLS\"] = \"Transport Layer Security, used to turn HTTP into HTTPS\"\n", "glossary[\"RSA\"] = \"public key crypto algorithm, named for collaborators Rivest, Shamir, Adleman\"\n", "glossary[\"PGP\"] = \"Pretty Good Privacy, RSA before the US patent expired, by Phil Zimmerman\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A Philosophy of Engineering\n", "\n", "The Silicon Forest continued to honor the memory of Linus Pauling by preserving his boyhood home on Hawthorne Boulevard. The organization supporting these preservation efforts was [the Institute for Science, Engineering and Public Policy](http://www.isepp.org/).\n", "\n", "Do engineers live by a code of ethics? Should they? ISEPP, a think tank, was looking into these questions, especially in light of Linus and Ava Helen Pauling's teachings and values.\n", "\n", "
\n", "\"P1080361\"\n", "
\n", "\n", "
\n", "Terry Bristol of ISEPP,
patron Doug Strain (ESI),
Julian Voss Andreae (sculptor)
in front of Alpha Helix\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tensegrity \n", "\n", "\"Semantic\n", "\n", "* [Kenneth Snelson's original website](https://www.grunch.net/snelson/) (by K. Urner)\n", "* [Darwin @ Home](https://youtu.be/_II-uESToOs) (YouTube)\n", "* [Gerald de Jong's YouTube Channel](https://www.youtube.com/@geralddejong)\n", "\n", "In a first [Pacific Northwest summit](https://worldgame.blogspot.com/2024/02/convergent-trajectories.html) in Seattle, Washington, hosted by Kasman-Chu ([Russell Chu](https://flic.kr/p/Joyki), [Deb Kasman](https://flic.kr/p/2hqH71R)), Gerald de Jong showed us his early experiments with EIG software. He had flown from the Netherlands to the Bay Area to attend JavaOne. Others present included [Alan Fergeson](https://flic.kr/p/JoyjH), Karl Erickson, [John Braley](https://flic.kr/p/JotTS), Kirby Urner. [E.J. Applewhite](https://grunch.net/synergetics/applewhites.html) was in touch by phone." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Literary Sidebar\n", "\n", "*The School of Tomorrow* is in part inspired by the movie *The House of Tomorrow*, in turn based on [a book](https://www.nytimes.com/2010/04/04/books/review/Stace-t.html). As you explore this curriculum, [some of the connections](https://kirbyurner.medium.com/a-memo-to-trimtabbers-d94f8ef56f72?sk=a8f026893a508a806c7a0ee8aefb502c) will become clear.\n", "\n", "\"P1080807\"\n", "
\n", "House of Tomorrow DVD\n", "
\n", "
\n", "\"Steampunk\"/\n", "
\n", "Steampunk\n", "
\n", "
\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "YouTubeVideo(\"UpEJysjcLBY\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Undercover\n", "
\n", "Occupy Portland, 2011\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Our Tools\n", "\n", "By the early 21st Century, many schools were using various Jupyter Notebook like tools. One of most impressive was [SAGE](http://www.sagemath.org/), which allowed cloud computing including access to computer algebra systems.\n", "\n", "[The edu-sig archives](https://mail.python.org/mailman/listinfo/edu-sig) at Python.org is a good place to search for insights into how some high school and college teachers were using such tools, including of course Jupyter Notebooks.\n", "\n", "Jupyter Notebooks may be rendered in several ways:\n", "\n", "* locally through a webserver, running on localhost:8888 (most likely), no internet access required\n", "* as read-only through a displayer program named nbviewer\n", "* rendered as read-only on a host website such as Github\n", "* as [interactive in the cloud](https://mybinder.org/), thanks to containerization and microservices\n", "\n", "Check out [this notebook in nbviewer](https://nbviewer.jupyter.org/github/4dsolutions/School_of_Tomorrow/blob/master/School_of_Tomorrow.ipynb)!\n", "\n", "Of the above, the first option is the most preferred, because \"interactive\" means only \"the ability to edit and run code cells\" where \"cell\" means some rectangle of code or text, such as you are reading now (if reading a Jupyter Notebook). \n", "\n", "If you're running Jupyter Notebook on localhost, you'll be able to start new notebooks from scratch, as well as completely overhaul the ones in your personal stash." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Our Toys\n", "\n", "The Oregon Curriculum Network is not a retailer or direct marketer of educational supplies. When you visit your medical doctor, you may get a prescription for a specific pill, but you buy those pills from a pharmacy not directly from the doctor. The doctor may give you free samples in some cases.\n", "\n", "Some of you are teachers and are planning on adapting Oregon Curriculum Network materials for your own use.\n", "\n", "Toys might include construction kits such as [Zometool](https://www.zometool.com/) and [Lux Blox](https://www.luxblox.com/).\n", "\n", "\"Assembling\n", "\n", "
\n", "C6XTY at OCN HQS\n", "
" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "glossary.update({\n", "\"CSV\" : \"comma-separated values, one of the simplest data sharing formats\",\n", "\"DOM\" : \"the Document Object Model is a tree of graph of a document in a web browser\",\n", "\"HTML\" : \"hypertext markup language, almost an XML, defines the DOM in tandem with CSS\",\n", "\"JavaScript\" : \"a computer language, not confined to running inside browsers but happy there\",\n", "\"Pascal\" : \"an early computer language, later commercially available as Delphi from Borland\",\n", "\"json\" : \"JavaScript Object Notation is a way to save data (compare with XML)\",\n", "\"localhost\" : \"the IP address of the host computer: 127.0.0.1\",\n", "\"port\" : \"internet services connect through IP:port addresses, JN usually on port 8888\",\n", "\"web browser\" : \"HTTP client, sends requests, gets responses\",\n", "\"web server\" : \"accepts and processes (or rejects) HTTP requests, sends responses\",\n", "\"XML\" : \"a markup language using pointy brackets, reminiscent of HTML, for structured data\",\n", "\"SGML\" : \"a parent specification behind what eventually became XML\"\n", "})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Python is a language of objects, where objects have type or kind, species. Depending on the species of an object, it will have varying capabilities. Dog objects bark. Car objects brake. Python is one of many computer languages we consider \"object oriented\". \n", "\n", "### Literary Sidebar\n", "\n", "HTML didn't come out of nowhere. Imagine storing all the parts for an airplane in a computer. How would you do that. JSON is one answer. XML is another. XML grew out of an older [SGML](https://en.wikipedia.org/wiki/Standard_Generalized_Markup_Language) where ML stands for \"markup language\". In HTML, we use pointy brackets as a kind of punctuation. \n", "\n", "The poet [Gene Fowler](https://www.amazon.com/Waking-poet-Acquiring-usually-talents/dp/0941386007) used to say we should teach HTML right along with all the rest of the language, meaning periods, commas, semi-colons and like that (grammar and punctuation). He wrote a text processor in Pascal showing the kind of thing he meant. He was [a prisoner in San Quentin](http://www.bigbridge.org/BD-GF-B.HTM) before he discovered how to \"re-genius\" himself.\n", "\n", "### Sharing Data\n", "\n", "We'll be sharing a lot of data sets in this school. We consume data produced by others, and we publish data for others to use. \n", "\n", "Data needs to be stored in some structured way, in files and databases. Even pictures, movies and music are data. We package up data in files and stream these files to one another over the internet or by some other means. Computer programs are also stored as data files, usually in some standard text encoding such as UTF-8.\n", "\n", "In the Glossary above, created in the Python language as a \"dictionary\", you will find at least three data storing and streaming formats defined: [CSV](https://en.wikipedia.org/wiki/Comma-separated_values), [JSON](https://en.wikipedia.org/wiki/JSON) and [XML](https://en.wikipedia.org/wiki/XML).\n", "\n", "The above data structure looks a lot like JSON by the way. Let's see that using Python's json library:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\"HTTP\": \"hypertext transfer protocol\", \"TLS\": \"Tr ... came XML\"}\n" ] } ], "source": [ "import json # Python has a huge library with hundreds of modules\n", "send_over_web = json.dumps(glossary)\n", "print(send_over_web[:50], \"...\", send_over_web[-10:]) # first 50 chars is enough, then the last 10." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "str" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(send_over_web) # what type of object is this? Number? String? Other kind of object? Dog?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### RECAP\n", "\n", "We just asked to have our ```glossary``` object turned into a string (a sequence of characters, like keyboard characters), but formatted as JSON. That ended up looking not much different from the ```glossary``` object in the first place, as defined in the code cell above.\n", "\n", "When a web browser asks an IP:port address for an HTTP response, by means of an HTTP request, it may get back JSON as payload. Or it may get back HTML, its bread and butter. Web browsers are all about combining the HTML + CSS in an HTTP response, and turning that into a formatted and typeset looking web page, such as you're likely looking at right now." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets save our JSON as a text file, for retrieval in [a next notebook](dataviz.ipynb)." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "with open('glossary.json', 'w') as output:\n", " json.dump(glossary, output)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computer Programming Interlude\n", "\n", "Lets continue to build or sense of how to slice and dice time using a much trickier coordinate system than most. Keeping track of date and time is non-trivial. Our tools took many programmer hours to build. Keep looking for bugs. \n", "\n", "Remember that some concepts we seek to track, such as whether [daylight savings time](https://youtu.be/w45QkL9blG4), or standard time is in effect, may depend on datasets we have not updated recently." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name: R. Buckminster Fuller DOB: 1895-07-12 Centennial: 1995-07-12\n", "Name: Carl Friedrich Gauss DOB: 1777-04-30 Centennial: 1877-04-30\n", "Name: Stephen Wolfram DOB: 1959-08-29 Centennial: 2059-08-29\n", "Name: Guido van Rossum DOB: 1956-01-31 Centennial: 2056-01-31\n", "Name: Marie Curie DOB: 1867-11-07 Centennial: 1967-11-07\n", "Name: Walt Disney DOB: 1901-12-05 Centennial: 2001-12-05\n" ] } ], "source": [ "from datetime import timedelta # for time deltas (needed for size deltas)\n", "\n", "for person in scenarios.values():\n", " # cent = person.dob + timedelta(days=365 * 100) <-- tempting but wrong\n", " cent = date(person.dob.year + 100, person.dob.month, person.dob.day)\n", " print(\"Name: {:20} DOB: {} Centennial: {}\".format(\n", " person.name, person.dob, cent))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# help(timedelta)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.3" } }, "nbformat": 4, "nbformat_minor": 4 }