Shared posts

21 Feb 18:37

Building a chicken coop dusk timer with NodeMCU and Lua

One of the more fun bits of hardware I have acquired in the last couple of years is the NodeMCU development board.

A NodeMCU development board

This little board contains the Espressif ESP8266 WiFi-enabled microcontroller which packs a punch: a 32bit RISC processor clocked at up to 160MHz, on board WiFi, very power-efficient “deep sleep” modes, and the NodeMCU board adds power management, 4MB flash, and some odds and ends without increasing the footprint much beyond a small Arduino. The best thing is that your local store will have it for around $5 and if you source if from China for around a dollar and change. I’m a big fan of Elixir and especially Nerves, but I’m also Dutch and therefore a cheapskate - I’ll use a cheaper part if I can and the ESP8266 displaces a lot of stuff where years ago, you would only have considered a Raspberry Pi.

NodeMCU is a development board and an SDK, and the SDK is in one of my favorite little languages, Lua. Lua was made for embedding, it is hugely popular in a lot of industries, and rightfully so - the whole official language and run-time environment weigh in at ~20k lines of C and ~10k lines of Lua code, there are multiple highly compatible implementations to choose from (including Luerl which implements Lua from scratch in Erlang), and given its size, it is not hard to run it on really small machines, like the ESP8266. NodeMCU also comes with excellent documentation and a library containing all the things you will need for your embedded project.

So why am I writing about this? We have chickens. That’s why.

Chickens are awesome creatures. They hatch and then they come preprogrammed with everything they need to know to survive - we know, because we got ours as day-olds and we certainly did not teach them how to swallow a young frog whole. We let ours free roam and being excitable and curious creatures they often forget to check back into the coop in time. So they enter a dark coop around dusk, cannot see the roost, and then sleep somewhere else with the risk of being pooped on by the ones that did make it back in time. Every night, we check them on the coop cam (a Wyze 2, never owned a very small cube that runs Linux and talks to me before), notice it happened again, get up, and rectify the situation manually.

Therefore, what’s needed is some extra light around dusk.

The simplest definition of “dusk” is “when it gets darker”, and I started hooking up a photoresistor to the dev board’s A/D converter, which worked fine, but then I thought about how to calculate, with certainty, that it gets darker because of dusk and not because of a thunderstorm. Yes, I could have just pivoted and turned the “dusk light” into a “it is getting somewhat dark for any ol’ reason” light, but I was not ready to do that yet. Therefore, I needed a way to know what time it was, probably. I said that NodeMCU comes with a rich standard library so I was very happy to find the sntp module, a simple NTP client.

Hmm… so if I know, from NTP, what date it is can’t I just calculate dusk instead of relying on a photoresistor? Less hardware, more software, just up my alley. Not a lot of stuff from Lua land came up, but Wikipedia has an entry on the Sunrise Equation that felt like something I could translate into Lua. So, I started out with a test:

function test_sunrise_sunset()
   -- Toronto
   local lat = 43.740
   local lng = -79.370

   -- Somewhere on 1 Nov 2020
   -- According to https://nrc.canada.ca/en/research-development/products-services/software-applications/sun-calculator/:
   -- Sun rise: 6:54 LT / 11:54 UTC
   -- Solar noon: 12:01 LT / 17:01 UTC
   -- Sun set: 17:07 LT / 22:07 UTC
   local jd = posix2julian(1604250457)
   local rise, noon, set = sunrise_sunset(lat, lng, jd)
   assert_equal("2459154.9966005", ""..rise)
   assert_equal("2459155.2098313", ""..noon)
   assert_equal("2459155.4230621", ""..set)
end

Note the string compares - pure laziness, because lunit does not have something to compare floats with a delta and I was not going to let me be sidetracked in finding something else/better or even writing a small test framework from scratch. The code was a relatively simple transcription from Wikipedia, with some thinking over where to put degree-to-radian conversions as Wikipedia worked in degrees but most math libraries want, for good reasons, radians. It disagreed with the National Research Council of Canada’s calculations by one or two minutes, which could simply be because of altitude corrections. I decided that for my application, this was immaterial so I manually verified the calculated results and punched them back into the test assertions as a future safety net, hence the very precise numbers the test uses to compare.

Without further ado, I landed on this:

local sunrise_sunset = function(lat, lng, jd)
   local julian_date = math.floor(jd) -- note, by the way, that ".0" equals noon,
                                      -- not midnight, as the Julian date numbering
                                      -- started at 1200 somewhere in 4713 BC

   local n = julian_date - 2451545.0 + 0.0008 -- julian day
   local j_star = n - (lng / 360.0) -- mean solar noon
   local m = math.rad((357.5291 + 0.98560028 * j_star) % 360) -- solar mean anomaly
   local c = 1.9148 * math.sin(m) + 0.0200 * math.sin(2 * m) + 0.0003 * math.sin(3 * m) -- equation of the center
   local lambda = math.rad((math.deg(m) + c + 180 + 102.9372) % 360) -- ecliptic longitude
   local j_transit = 2451545.0 + j_star + 0.0053 * math.sin(m) - 0.0069 * math.sin(2 * lambda)
   local earth_tilt = math.rad(23.44)
   local delta = math.asin(math.sin(lambda) * math.sin(earth_tilt)) -- declination of the sun
   local correction_angle = math.rad(-0.83)
   local lat_rad = math.rad(lat)
   local omega_0_divident = math.sin(correction_angle) - math.sin(lat_rad) * math.sin(delta)
   local omega_0_divisor = math.cos(lat_rad) * math.cos(delta)
   local omega_0 = math.acos(omega_0_divident / omega_0_divisor) -- hour angle
   omega_0 = math.deg(omega_0)

   local j_rise = j_transit - (omega_0 / 360.0)
   local j_set = j_transit + (omega_0 / 360.0)

   return j_rise, j_transit, j_set
end

Note that this works with Julian dates which I think is a concept that deserves more attention in the software world. Given that the POSIX timestamp and the Julian date are both offsets from a given epoch, the conversion is trivial:

local posix2julian = function(posix_timestamp)
   return (posix_timestamp / 86400.0) + 2440587.5
end

Where the 2440587.5 represents the difference between 1970 and 4713BC. One odd thing happened with my code which was a headscratcher until I realized that the Julian epoch starts at noon (UTC) and not midnight, and that cost me a lot of time. I could not understand why the outcomes where half a day off :).

I wrote the code and tests on my Linux box, but the same code worked on the ESP8266 once I rebuilt the firmware with two options:

  • Use the included Lua 5.3 instead of the default Lua 5.1; the 5.3 version includes the math standard libraries;
  • Realize just how bad single precision floating point works for this sort of stuff and switch Lua to double precision.

Once that was done, everything worked fine. I now had a microcontroller that could, theoretically, ask the Net for the exact date and calculate sunset from there. My first computer was a TRS-80 so yeah, mind blown.

NodeMCU’s “Node” comes from its borrowing Node’s concurrency model, heavily relying on callbacks. I really do not like that programming model, because you invariably end up mixing up concurrency and business level code, but for this it worked just perfectly. We boot, some housekeeping is done (like attaching to WiFi), and then we ask what time it is:

function ntp_sync()
   sntp.sync(nil, ntp_callback, ntp_err_callback, nil)
end

gpios_off()
ntp_sync()

gpios_off switches off the LEDs (we’ll get to the hardware later). The sntp module has a sync command that does two things: it sets the time in the ESP8266’s RTC (so that subsequent calls to the rtctime module give the right answer) and it calls a callback function with some info on the NTP response (the error callback I pass in just reboots the MCU). The callback then calculates sunset, calculates the time that the lamp should be on (I put that half an hour before sunset), and depending on whether we’re in the lamp on interval or not, does the right thing. The whole thing is in Github so I’m not going to copy/paste, but for example if the lamp needs to be switched on, then this gets called:

function turn_lamp_on(time_to_lamp_off)
   log.info("Turning lamp on for "..time_to_lamp_off.." seconds")
   gpios_on()
   if not tmr.create():alarm(time_to_lamp_off * 1000, tmr.ALARM_SINGLE, function()
                                log.info("Lamp has been on enough, turning off")
                                gpios_off()
                                sleep_until_next_round()
                            end)
   then
      log.error("ERROR Could not create timer until lamp off, rebooting.")
      node.restart()
   end
end

Like most functions there, it ends up doing something and then setting up a timer with a callback to do the next thing. As far as state machines with delays go, I found it a very clean and simple to reason about way to write code, and it was pretty much one of the first times that the callback model for multithreading looked like it found its sweet spot. The state machine breaks down in four functions that do something and then call or schedule each other.

You would expect me to write something about testing now. I should. I won’t. But it’d be extremely trivial in Lua to have dummy implementations of tmr and sntp and friends. Instead, I decided that there are just a couple of use cases, it was around dusk anyway, so I just rebooted the MCU at set times to see whether it made the right decisions. It did :). Time for hardware.

Cooplight on a breadboard

Breadboard first, of course. While the target hardware uses left over LED strips, these take 12V so I verified that things worked using regular LEDs. The transistors (I used 2N3904 for the very good reason that I had them) are triggered through two GPIO pins with a 1KΩ resistor as a current limiter between GPIO and base, and the LEDs are between 5V and the transistors’ collectors. The emitters are wired to ground. Needless to say, this is 101 electronics, if it even makes that bar and everything just worked. Still, had to verify with the blinkenlights, not?

Why two transistors, I hear you ask. Well, I only had low power transistors and the end result would use a 12V LED strip that was left over; it has six LEDs on it and on measuring it on my bench power supply, it drew 50mA. 50mA times 13.6V is 680mW which is higher than the transistor’s 625mW max power dissipation. Instead of calculating and measuring more to see how much the transistor would actually dissipate, I decided to use the LED strip’s hint and cut it in half (these strips have a cut mark every three LEDs) and just trigger two GPIOs. Shorter strips are simpler to work with anyway. For those that, like me, are not electronics wizzards, the schematic:

Cooplight circuit

and, for a good laugh, the end result, mounted dustproof in an old pickle jar:

Cooplight in a jar

The jar is dustproof, fireproof, and transparent so it is the perfect enclosure for a chicken coop. The jar is fed by 12V from a solar+battery combination, and I added a DC-DC voltage regulator; I once bought a handful of these; they are based on an LM259 switching regulator and they’ll eat anything up to 40V and spit out whatever you need. The LEDs get the 12V directly and the NodeMCU receives 5V through its USB port (I could have soldered the 5V directly on the NodeMCU but this way the device either gets 5V or is connected to my laptop, never both at the same time which I think is safer). Next up is install in the coop, as soon as the snow stops :). Because it is in the coop, and I never trust my code, I added remote logging as well so that a PC that is always on now shows exactly what is happening in its /var/log/syslog:

Jan  1 00:00:00 ESP-E1B27B Waiting for IP address...
Jan  1 00:00:00 ESP-E1B27B Wifi connection is ready! IP address is: 192.168.17.219
Jan  1 00:00:00 ESP-E1B27B Startup will resume in five seconds, in case of panic loop execute `file.remove("init.lua")` on console
Jan  1 00:00:00 ESP-E1B27B Initializing CoopLight™ (v1.0)
Nov  3 11:13:48 ESP-E1B27B Synchronized NTP with 199.182.221.110
Nov  3 11:13:48 ESP-E1B27B Current POSIX time is 1604402028
Nov  3 11:13:48 ESP-E1B27B Current Julian time is 2459156.9679167
Nov  3 11:13:48 ESP-E1B27B Sunset in: -45935 secs
Nov  3 11:13:48 ESP-E1B27B Sleeping for an hour...

I hope I got your attention for this wonderful and cheap IoT device and development environment. The whole build took me maybe two days, and for much less than a Raspbery Pi I now have something that does the trick, is network connected, easy to upgrade (although not yet over-the-air), and will tell me what it is doing through syslog to a PC that is always on and has remote logging enabled. Using ESPlorer development is highly interactive and Lua seems to me like a language tailor-made for this kind of device.

Also, I hope you had fun reading this, of course :)

Code can be had from Github.

10 Nov 18:13

The Weirdest people in the world

by Derek Jones

Western, Educated, Industrialized, Rich and Democratic: WEIRD people are the subject of Joseph Henrich’s latest book “The Weirdest People in the World: How the West Became Psychologically Peculiar and Particularly Prosperous”.

This book is in the mold of Jared Diamond’s Guns, Germs, and Steel: The Fates of Human Societies, but comes at the topic from a psychological/sociological angle.

This very readable book is essential reading for anyone wanting to understand how very different WEIRD people are, along with the societies they have created, compared to people and societies in the rest of the world today and the entire world up until around 500 years ago.

The analysis of WEIRD people/societies has three components: why we are different (I’m assuming that most of this blog’s readers are WEIRD), the important differences that are known about, and the cultural/societal consequences (the particularly prosperous in the subtitle is a big clue).

Henrich cites data to back up his theories.

Starting around 1,500 years ago the Catholic church started enforcing a ban on cousin marriage, which was an almost universal practice at the time and is still widely practiced in non-WEIRD societies. Over time the rules got stricter, until by the 11th century people were not allowed to marry anyone related out to their sixth cousin. The rules were not always strictly enforced, as Henrich documents, but the effect was to change the organization of society from being kin-based to being institution-based (in particular institutions such as the Church and state). Finding a wife/husband required people to interact with others outside their extended family.

Effects claimed, operating over centuries, of the shift from extended families to nuclear families are that people learned what Henrich calls “impersonal prosociality”, e.g., feeling comfortable dealing with strangers. People became more altruistic, the impartial rule of law spread (including democracy and human rights), plus other behaviors needed for the smooth running of large social units (such as towns, cities and countries).

The overall impact was that social units of WEIRD people could grow to include tens of thousands, even millions, or people, and successfully operate at this scale. Information about beneficial inventions could diffuse rapidly and people were free(ish) to try out new things (i.e., they were not held back by family customs), and operating in a society with free movement of people there were lots of efficiencies, e.g., companies were not obligated to hire family members, and could hire the best person they could find.

Consequently, the West got to take full advantage of scientific progress, invent and mass produce stuff. Outcompeting the non-WEIRD world.

The big ideas kind of hang together. Some of the details seem like a bit of a stretch, but I’m no expert.

My WEIRD story occurred about five years ago, when I was looking for a publisher for the book I was working on. One interested editor sent out an early draft for review. One of the chapters discusses human cognition, and I pointed out that it did not matter that most psychology experiments had been done using WEIRD subjects, because software developers were WEIRD (citing Henrich’s 2010 WEIRD paper). This discussion of WEIRD people was just too much for one of the reviewers, who sounded like he was foaming at the mouth when reviewing my draft (I also said a few things about academic researchers that upset him).

05 Nov 07:58

Datasette 0.51 (plus weeknotes)

I shipped Datasette 0.51 today, with a new visual design, plugin hooks for adding navigation options, better handling of binary data, URL building utility methods and better support for running Datasette behind a proxy. It's a lot of stuff! Here are the annotated release notes.

New visual design

Datasette is no longer white and grey with blue and purple links! Natalie Downe has been working on a visual refresh, the first iteration of which is included in this release. (#1056)

It's about time Datasette grew beyond its clearly-designed-by-a-mostly-backend-engineer roots. Natalie has been helping me start adding some visual polish: we've started with an update to the colour scheme and will be continuing to iterate on the visual design as the project evolves towards the 1.0 release.

The new design makes the navigation bar much more obvious, which is important for this release since the new navigation menu (tucked away behind a three-bar icon) is a key new feature.

A screenshot of the new Datasette visual design, also showcasing two new menu icons

Plugins can now add links within Datasette

A number of existing Datasette plugins add new pages to the Datasette interface, providig tools for things like uploading CSVs, editing table schemas or configuring full-text search.

Plugins like this can now link to themselves from other parts of Datasette interface. The menu_links(datasette, actor) hook (#1064) lets plugins add links to Datasette's new top-right application menu, and the table_actions(datasette, actor, database, table) hook (#1066) adds links to a new "table actions" menu on the table page.

This feature has been a long time coming. I've been writing an increasing number of plugins that add new pages to Datasette, and so far the main way of using them has been to memorise and type in their URLs!

The new navigation menu (which only displays if it has something in it) provides a global location to add new links. I've already released several plugin updates that take advantage of this.

The new "table actions" menu imitates Datasette's existing column header menu icon - it's a cog. Clicking it opens a menu of actions relating to the current table.

Want to see a demo?

The demo at latest.datasette.io now includes some example plugins. To see the new table actions menu first sign into that demo as root and then visit the facetable table to see the new cog icon menu at the top of the page.

Here's an animated GIF demo showing the new menus in action.

Using the nav menu to upload CSVs, then the table actions menu to edit the table schema and rename latitude and longitude columns so that the Central Park Squirrel Census is displayed on a map!

Binary data

SQLite tables can contain binary data in BLOB columns. Datasette now provides links for users to download this data directly from Datasette, and uses those links to make binary data available from CSV exports. See Binary data for more details. (#1036 and #1034).

I spent a ton of time on this over the past few weeks. The initial impetus was a realization that Datasette CSV exports included ugly Python b'\x15\x1c\x02\xc7\xad\x05\xfe' strings, which felt like the worst possible way to display binary in a CSV file, out of universally bad options.

Datasette's main interface punted on binary entirely - it would show a <Binary data: 7 bytes> label which didn't help much either.

The only way to get at binary data stored in a Datasette instance was to request the JSON version and then manually decode the Base-64 value within it!

This is now fixed: binary columns can be downloaded directly to your computer, using a new .blob output renderer. The approach is described on this new page in the documentation.

Security was a major consideration when building this feature. Allowing the download of arbitrary byte payloads from a web server is dangerous business: it can easily result in XSS holes where HTML with dangerous <script> content can end up hosted on the primary domain.

After some research, I decided to serve up binary content for download using the following headings:

content-type: application/binary
x-content-type-options: nosniff
content-disposition: attachment; filename="data-f30889.blob"

application/binary is a safer Content-Type option than the more common application/octet-stream, according to Michal Zalewski's renowned web application security book The Tangled Web (quoted here)

x-content-type-options: nosniff disables the XSS-tastic content sniffing feature in older versions of Internet Explorer, where IE would helpfully guess that you intended to serve HTML based on the first few bytes of the response.

The content-disposition: attachment header causes the browser to show a "download this file" dialog, using the suggested filename.

If you know of a reason that this isn't secure enough, please let me know!

URL building

The new datasette.urls family of methods can be used to generate URLs to key pages within the Datasette interface, both within custom templates and Datasette plugins. See Building URLs within plugins for more details. (#904)

Datasette's base_url configuration setting was the forcing factor around this piece of work.

It allows you to configure Datasette to serve content starting at a path other than / - for example:

datasette --config base_url:/path-to-datasette/

This will serve all Datasette pages at locations starting with /path-to-datasette/.

Why would you want to do this? It's useful if you are proxying traffic to Datasette from within the URL hierarchy of an existing website.

The feature didn't work properly, and enough people care about it that I had a steady stream of bug reports. For 0.51 I gathered them all into a single giant tracking issue and worked through them all one by one.

It quickly became apparent that the key challenge was building URLs within Datasette - not just within HTML template pages, but also for things like HTTP redirects.

Datasette itself needed to generate URLs that took the base_url setting into account, but so do Datasette plugins. So I built a new datasette.urls collection of helper methods and made them part of the documented internals API for plugins. The Building URLs within plugins documentation shows how these should be used.

I also added documentation on Running Datasette behind a proxy with example configs (tested on my laptop) for both nginx and Apache.

The datasette.client mechanism from Datasette 0.50 allows plugins to make calls to Datasette's internal JSON API without the overhead of an HTTP request. This is another place where plugins need to be able to construct valid URLs to internal Datasette pages.

I added this example to the documentation showing how the two features can work together:

table_json = (
    await datasette.client.get(
        datasette.urls.table("fixtures", "facetable", format="json")
    )
).json()

One final weird detail on this: Datasette now has various methods that automatically add the base_url prefix to a URL. I got worried about what would happen if these were applied more than once (as above, where datasette.urls.table() applies the prefix so does datasette.client.get()).

I fixed this using the same trick that Django and Jinja use to avoid appliying auto-escaping twice to content that will be displayed in HTML: the datasette.urls methods actually return a PrefixedUrlString object which is a subclass of str that knows that the prefix has been applied! Code for that lives here.

Smaller changes

A few highlights from the "smaller changes" in Datasette 0.51:

  • Wide tables shown within Datasette now scroll horizontally (#998). This is achieved using a new <div class="table-wrapper"> element which may impact the implementation of some plugins (for example this change to datasette-cluster-map).

I think this is a big improvement: if your database table is too wide, it now scrolls horizontally on the page (rather than blowing the entire page out to a wider width). You can see that in action on the global-power-plants demo.

If you are signed in as root the new navigation menu links to a whole plethora of previously-undiscoverable Datasette debugging tools. This new permission controls the display of those items.

  • Link: HTTP header pagination. (#1014)

Inspired by GitHub and WordPress, which both use the HTTP Link header in this way. It's an optional extra though: Datasette will always offer in-JSON pagination information.

  • Edit SQL button on canned queries, (#1019)

Suggested by Jacob Fenton in this issue. The implementation had quite a few edge cases since there are certain categories of canned query that can't be executed as custom SQL by the user. See the issue comments for details and a demo.

  • --load-extension=spatialite shortcut. (#1028)

Inspired by a similar feature in sqlite-utils.

  • datasette -o option now opens the most relevant page. (#976)

This is a fun little feature. If your Datasette only loads a single database, and that database only has a single table (common if you've just run a single CSV import) then running this will open your browser directly to that table page:

datasette data.db -o
  • datasette --cors option now enables access to /database.db downloads. (#1057)

This was inspired by Mike Bostock's Observable Notebook that uses the Emscripten-compiled JavaScript version of SQLite to run queries against SQLite database files.

It turned out you couldn't use that notebook against SQLite files hosted in Datasette because they weren't covered by Datasette's CORS option. Now they are!

Recommendations for plugin authors, inspired by a question from David Kane on Twitter. David has been building datasette-reconcile, a Datasette plugin that offers a reconciliation API endpoint that can be used with OpenRefine. What a brilliant idea!

datasette-edit-templates (almost)

Inspired by a conversation with Jesse Vincent, I also spent some time experimenting with the idea of a plugin that can load and edit templates from the database - which would turn a personal Datasette into a really fun interface hacking environment. I nearly got this working, and even shipped a preview of a load_template() plugin hook in the Datasette 0.51a2 alpha... before crashing into a road block when I realized that it also needed to work with Jinja's {% extends %} and {% include %} template tags and loaders for those don't currenty support async functions.

In exploring this I also realized that my load_template() plugin hook wasn't actually necessary - if I'm going to solve this problem with Jinja loaders I can do so using the existing prepare_jinja2_environment(env) hook.

My not-yet-functional prototype for this is caled datasette-edit-templates. I'm pretty confident I can get it working against the old plugin hook with a little more work.

Other weeknotes

Most of my time this week was spent on Datasette 0.51 - but I did find a little bit of time for other projects.

I finished recording my talk for PyCon Argentina. It will air on November 20th.

sqlite-utils 2.23 is out, with a .m2m() bug fix from Adam Wolf and the new ability to display progress bars when importing TSV and CSV files.

Releases this week

Several of these are updates to take advantage of the new navigation plugin hooks introduced in Datasette 0.51.

TIL this week

05 Nov 07:52

On networking

In the distracting bustle of professional life and career advice, I think we’ve lost track of why we call networking “networking”.

A network is a weave. A grid. A fabric. The parts are interwoven tightly together to produce a whole strengthened by each cross-stitch and knot. When we talk about networking, I think we often miss the forest for the tress – the network for the threads, if you will. Networking isn’t about the individual connections themselves, but about what you get when they are woven together.

Your cognitive tribe

At its best, I think a great network of people around you in life can be an extension of your brain and your senses into the world, a way for you to think about and experience things you otherwise wouldn’t have. There are the boring usual examples: hearing about a job opportunity through the grapevines, or picking up some insider news on what teams or people in the network are working on. But I also reach for people around me to help clarify my thoughts for a blog post, to help brainstorm ideas, to help out a friend stuck in a hard situation, to find travel tips for a new destination without rifling through pages of search results. And when they ask, I’ll help just the same.

Strong networks of people don’t just connect when there’s a problem to solve. There are ideas and tips and advice and updates constantly flowing throughout like neurons in your brain, and when something interesting happens, the right neurons fire to make sure the right people in the group know about it. But for this to work, a network can’t be about individual connections made. I think a better way to think about a network of people is as a cognitive tribe. Networking is weaving yourself into a part of a larger network, neurons firing and stories flowing, so that when something interesting happens to pull on a thread in the fabric, the rest of the network notices.

This is the way I think of networking. There are thousands of communities of interesting people, thousands of overlapping layers of human fabric connected by threads of people weaving in and out, sharing information and opportunity and stories. Networking is intertwining yourself into these weaves. Looking at it this way, it should also be evident that there are no networks better or worse – just the ones more meaningful to you, and the ones less relevant to your life. Contrary to common misconceptions, networking isn’t a climb to the top, but a search for a fit.

In this light, it’s strange that we talk about network as if it’s something we own or create ourselves. We say things like “people in my network” and “growing your network.” But networks aren’t potted plants you seed and grow in your office yourself, they are gardens we can be welcomed into. Networks thread and permeate all of life, and networking is the myriad of things we do to wander into the gardens that help us stumble into the right opportunities and stories and people in life and work.

How do?

I owe a lot of where I am professionally, including much of my past work opportunities, to the networks around me. But outside of work, the same people also help me think through career decisions, join me in my hobbies, and help me flesh out ideas for projects. When I first set out to try to find a network a few years ago, I was mostly grasping blindly in the dark, searching for interesting conversations with people I admired. These days, most interactions I have around my network are organic. Maybe someone’s starting a company, and wants my thoughts on developer tools, or someone’s looking to work at a past workplace of mine, and wants my opinion. Sometimes, there are people just as excited as I about communities or compilers, and we can just jam on ideas for hours.

I think networking is three things, practiced well.

I use the word practice very intentionally here – while I wouldn’t go so far as to say networking is an art form, it’s a skill. The skill goes beyond what you’d expect, like being a good conversationalist, and also includes things like having a clear narrative about what you want to do, and better understanding the kinds of people whose company you enjoy.

  1. Find and talk to people you think are great. Not everyone you meet this way is going to be a hit. Some conversations will be better than you had hoped, and others will derail and get cut short. But this is a place you can improve. One of the big ways I’ve grown myself is in this skill. I think I’m better now at understanding when someone is a person I want to be around, and I’m more confident and comfortable with my judgement as time passes.
  2. Be gracious to the people you surround yourself with. Help them where you can because it’s right, not because it helps you. Be a good friend, coworker, mentor, advocate. I don’t just mean “help” in the sense of “let me introduce you to X” or offering up an expertise of yours, though those can be useful. Help people the way you’d help friends or family. Be a sounding board for ideas and an open ear when they have news. Care about what they’re trying to do with their life. Mental calculus of give-and-take is tiring. Good people help you not because you helped them once, but because you’d do the same for them.
  3. Find a narrative about yourself that resonates with you. Some story about your interests, your goals, your values that you can sharpen and flesh out over time. Make sure everyone knows your story. There’s a reason this tip is to “find” a story rather than to “come up with” one. Don’t make things up. Don’t embellish a narrative or repeat a trope if it’s not actually a reflection of what you want to do with your life. The point of a narrative is not to make you seem impressive. It’s to help everyone who wants to help you remember what you’re doing, and where you want to go. What are you doing now? How did you get there? Is this what you want to be doing in the future? If not, why not?

Most people do 1. Many people do 2. Few people do 3. But building a strong network without a great personal story is like having a nervous system without a brain. Lots of signal, lots of activity, but if the people around you don’t have a clear sense of where you want to go next and what you still need to get there, even the right signals through the network might get lost in the wrinkles and never reach you.

It seems like every other article about networking begins with an apology-excuse about how “networking” isn’t a dirty word. I don’t think it’s worthwhile to debate whether people are using a word correctly, but regardless of debates of semiotics, what I do doesn’t change. I try to surround myself with people I like, try to care about what they do, and raise a hand if I want to help out. I’m not shy about talking about my interests in community or my various side-project escapades, because I know that if they come across something interesting to me, they’ll know to share it with me, just as I’ll do for them.

Networking is a search for the cognitive tribe that wants to go together where you want to go, and build together what you want to build. If you wander into the right ones, help where you can, and share where you want to go, it’ll undoubtedly help you get there easier and faster than going alone.


Much of my thoughts and experiences meeting interesting people and building relationships have been shaped by Keith Ferrazzi’s Never Eat Alone, a book I’ve re-read multiple times. It comes off a little MBA-esque compared to my usual taste in books, but it still comes with a positive recommendation from me, if you’re interested.

05 Nov 07:50

How to Speak Canayjun

by Dave Pollard

I often get ribbed when I visit “the States” because of how I apparently pronounce the word about, and because I actually do say eh, instead of huh.

But I’m always surprised at the number of words and expressions that I thought were universal English, that Americans simply never use. So, to help out my “south of the border” readers, here is a little quiz to test how well you can fathom Canadian vernacular. (I’d be interested in knowing how well UK readers do on this quiz, since some of these words and expressions originated there.)

No cheating by Googling before you guess. Asking any nearby Canadians is OK. Answers in the comments thread.

Here we go:

PART 1: What’s that Canadian on about?

What do the following words and expressions refer to, in terms Americans would understand? (1 point for each correct answer)

  1. blinds
  2. boxing day
  3. brown bread
  4. a Caesar (not as in salad)
  5. candy floss
  6. a chesterfield
  7. a civic holiday
  8. a flat (of a consumer product)
  9. give me a shout
  10. a Gravol
  11. had the biscuit
  12. a keener
  13. a kerfuffle
  14. kraft dinner
  15. Nanaimo bar
  16. a “regular” coffee
  17. a Robertson screw
  18. Smarties
  19. a snowbird

PART 2: What’s that in Canadian?

Canadians might use the following terms and expressions, and they would certainly know what they mean. But they would be likely to use a distinctly Canadian word or expression instead. What is it? (1 point for each correct answer)

  1. the restaurant check
  2. a candy bar
  3. a convenience store
  4. to fake or feint (by zagging when they zig, to get past someone in your way)
  5. gutters (that collect rainwater from the roof)
  6. rubber bands
  7. garbage disposal (unit in a sink)
  8. taking a vacation
  9. powdered (confectioners’) sugar
  10. a long line (waiting)
  11. a parking garage
  12. next-to-last (penultimate)
  13. napkin
  14. snowmobile
  15. faucet
  16. dish towel
  17. restroom
  18. non-dairy creamer (for coffee)

PART 3: What’s that Manitoban on about? Prairie terms.

This part is probably harder, since these are terms that you would likely only hear people from the Canadian prairie provinces use. Translate into ‘Murrican. (2 points for each correct answer)

  1. bumper-shining
  2. bush party
  3. cabin
  4. dainties
  5. frost shields
  6. going to a social
  7. Hallowe’en apples! (shouted)
  8. jam buster
  9. K-Tel brush
  10. pickerel
  11. “square tires”
  12. tanglefoot

BONUS QUESTION: The greatest Canadian.

A recent CBC series reaffirmed that the gentleman pictured above is still considered by Canadians to be our greatest public figure. What’s his name (1 point) and why is he so revered (1 point)?

Maximum score is 63 points. If you scored more than 30 points, congratulations — you are now an honorary Canuck. Skookum! Lord tunder’n Jesus, eh? Collect your prize in Timbits and Canadian Tire money on the way out.


(Thanks to hosertalk.com for many of the above expressions)

05 Nov 07:44

Long Links

This is the fifth “Long Links” episode, a monthly curation of good long-form essays from around the Internet that nobody who (unlike me) has an actual job has time to read all of. A glance through this might turn up one or two pieces that would reward even a busy person’s time.

[Geeks only.] Microservices — architecture nihilism in minimalism’s clothes, by Vasco Figueira, comes with a provocative title and really a whole lot of different angles on the problem. I certainly don’t agree with all of his conclusions, but some of the angles are new to me and I suspect would be to others as well. At AWS it’s sort of written in the stars that all of the services have microservices inside: control plane vs data plane, stateless vs stateful, serverless vs serverful, etc. Good stuff.

The Niskanen Center presents itself as the natural home of that highly-endangered species, the American centrist. Faster Growth, Fairer Growth, their manifesto, is really long, verging on book-length — no, even I haven’t read all of it. The parts I have read are sensible, logical, and sound to me like what rational Republicans would probably say (there aren’t any of those, current Republicans are just the embodiment of Trump, no more and no less). Obviously, I would come down considerably to the left of this viewpoint — for example, there’s nothing about applying criminal sanctions to business miscreants, nor about directly strengthening working-class power. On top of which, I don’t believe that GDP growth is the best, or even a very useful, measure of the goodness of an economy. But still, if the Republicans ever manage to get clear of the Trump toxins, these are the pathways they should be investigating.

And now for something completely different: Grapefruit Is One of the Weirdest Fruits on the Planet. There’s lots to learn about the citrus-fruit family tree, where the name “grapefruit” came from, and the bizarre way this delicious package of flavor interacts with your digestive system and (potentially dangerously) with whatever prescription you might be on.

Yanis Varoufakis was a wildly controversial Greek Minister of Finance, when Greece started digging out from its entirely-insupportable public-debt load. He tried defying the European financial establishment and got squashed like a bug. He’s an interesting guy, and Capitalism isn’t working. Here’s an alternative is an interesting piece. Here are the first two paragraphs:

When Margaret Thatcher coined “Tina” – her 1980s dictum that “There is no alternative” – I was incensed because, deep down, I felt she had a point: the left had neither a credible nor a desirable alternative to capitalism.

Leftists excel at pinpointing what is wrong with capitalism. We wax lyrical about the possibility of some “other” world in which one contributes according to one’s capacities and obtains according to one’s needs. But, when pushed to describe a fully fledged alternative to contemporary capitalism, for many decades we have oscillated between the ugly (a Soviet-like barracks socialism) and the tired (a social democracy that financialised globalisation has rendered infeasible).

That certainly grabbed my attention. This piece doesn’t actually lay out his alternative, it lays out a few very interesting highlights, and plugs his book Another Now. Which worked; it’s now in my to-read queue.

Back in 2018, Benedict Evans asked Is Tesla disruptive?, a question which is increasingly material as Tesla’s valuation balloons to increasingly intergalactic levels. His answer is mostly in the negative. I find this easy to believe, because I drive a modern electric car (a Jaguar I-Pace) which shipped in late 2018 and which I wouldn’t trade for any currently-shipping Tesla. So maybe I’m prejudiced. But I sure wouldn’t be buying any Tesla shares right now.

You’ll be reading this right around the week of the 2020 American election. Suppose it pans out as the election modelers predict, with a well-deserved defeat for Trump specifically and Republicans in general. A question then arises, captured nicely in the title of Brian Beutler’s recent piece on Crooked (a site I haven’t previously encountered): What to Do About GOP Bad Faith After Trump. A large proportion of viewers of US politics have come to conclusion that current American conservatism is without truth, without honor, and without decency, and if there is any concern for justice, must be made to pay a price. Beutler doesn’t offer a lot of what-to-do specifics, he simply makes the case that a possible future Democratic majority should stop treating Republicans as good-faith adversaries or decent people, because they are neither.

Just because you can’t pretend that 2020 Republicans as principled or intelligent conservatives doesn’t mean that such things can’t exist. Government Of, By, and For the Elite is a discussion between J.D. Vance and Chris Arnade. Arnade’s politics don’t fall into any neat bucket but Vance is definitely conservative, and while he does suck at the teat of the right-wing noise machine, is not self-evidently corrupt and malevolent. I’m not going to try to summarize their discussion but here’s a nice out-take from Vance, describing the whole US political establishment as “a uni-party that governs culturally a little bit to the left of the American people and economically very much to the right of the American people.”

Now let’s take a quick hop across the Pacific for Victor H. Mair’s How to Forget Your Mother Tongue and Remember Your National Language, which is mostly about the fact that Taiwanese, spoken at home by many in that nation, has no written form. While I’m not equipped to understand many of his points about Han ideographics, I am interested in the intersection between language and culture and I think this would be interesting to most who share those interests. Being Putonghua-literate would increase the chances of finding this fascinating.

As a long-time skeptic concerning Bitcoin in particular and blockchain in general, I always like a good anti-blockchain rant, because, to my amazement, there still seem to be people out there who see it as The Future Of Everything. Jesse Frederik’s Blockchain, the amazing solution for almost nothing is a useful refresher course on the claims of the blockchainers and why they’re almost certainly wrong. On top of which, it’s readable and entertaining.

Back to the Niskanen center, where we find Philip K. Verleger’s The Energy Transition: How Fast?, which dives deep on a single argument advanced by defenders of the high-carbon status quo in the energy economy: That the transition to renewables is going to be slow because of the heavy existing investments in fossil-fuel infrastructure. This argument is ridiculous (uh, “sunk costs”, anyone?) and Verleger dunks on it in elegant, evidence-based style.

One of the central problems of our era is the profusion of falsehood, with the Internet serving as a global-scale lie amplifier. I think anything that promises to mitigate this awfulness, even a little bit, deserves serious attention. Amy Yee’s To Recognize Misinformation in Media, Teach a Generation While It’s Young makes a strong case that spotting lies is a skill that can be taught to young people. Let’s do that! She links to Exploring Media Literacy Education as a Tool for Mitigating Truth Decay, a useful RAND report on the subject.

From back in July in New York magazine, David Shor’s Unified Theory of American Politics is a hell of a read. Mr Shor has a whole lot of smart things to say about how American voters vote and what, specifically, the Democratic party should be and do.

Wired addresses another subject close to my heart in Ad Tech Could Be the Next Internet Bubble. Subtitle: “The scariest thing about microtargeted ads is that they just don’t work.” If you care at all about the Internet economy, that should be enough to grab 100% of your attention. The article focuses on a book by Tim Hwang, Subprime Attention Crisis: Advertising and the Time Bomb at the Heart of the Internet (Amazon affiliate link, feel free to buy elsewhere). Think I’m gonna have to read that.

Let’s finish on an upbeat note. Stephen O’Grady is a really smart industry analyst, whose analysis work seems to have followed me around over the years, which is to say the stuff he’s mostly written about at any one time seemed to be the area I was working in. I’ve hoisted a few beers with him and enjoyed a lot of his writing. Much to everyone’s surprise, he has now published This is the Way, fifty pieces of advice on what a good life is and how to live it. It’s exquisite. Go read it.

05 Nov 07:42

Last Plane Out

by peter@rukavina.net (Peter Rukavina)

While it wasn’t quite the last flight out of Saigon, I just heard the last scheduled WestJet for Toronto, Boeing 737 C-GQWJ, rumble into the sky.

While we’re still connected to Canada by the one daily flight to each of Toronto and Montréal on Air Canada, WestJet’s pullout does reinforce the “cut off from the rest” feeling of living on this Island, in both the negative and positive senses.

05 Nov 07:42

Autumn Yellow

This is my least favorite of the seasons, because I can’t help thinking of the looming cold and dark. This weekend — when the timeshift robs us of an hour of late light — feels particularly onerous. But you have to admire those trees.

Autumn Yellow

I’m still shooting with the the Fujifilm X-T30. My honeymoon with this eighteen-month-old camera is somewhat over. I miss the mammoth electronic viewfinder of the flagship X-T models and the minimal grace of the X-E models. For pictures like the ones in this fragment, I think of the mighty GFX100 and big poster-sized prints. Except for, Lightroom Classic on the Mac is painful enough with these 26-MPixel shots.

Autumn Yellow

Having said all that, the X-T30 with a couple of the smaller X-series lenses makes for a damn light camera-bag. Today I was out with just the two lenses I bought with my first Fujifilm back in 2013, the 35mm and 18-55mm zoom. It’d be hard to think of an autumn-trees photo opportunity where I would have wanted anything else.

Also, the X-T30 looks cool. This afternoon some people chatting in their front yard saw me coming with the camera. One was saying to the others about how he’d been shooting leaves too earlier that day, then when I got nearer said “Oh, wow, a real film camera!” with that endearing “fillum” pronunciation. I smiled and said no, it’s modern, just a bit retro looking, and we exchanged a few socially-distanced words.

Autumn Yellow

Wooden arch!
(Please ignore the wires.)

News

Flow through this blog is apt to be a bit disrupted because, um, I’m trying to write a book. When I became briefly infamous back in May, I got outreach from publishers and literary agents along the lines of “Wow, you write a lot. How about a book?” As of now I have about a third of a book’s worth of Word files and am about halfway to convincing myself that something good potentially exists of which they’re a part. That’s all I’m saying about it for now.

05 Nov 07:41

This full-body MRI scan could save your life

by Robert Scoble

This summer a 40-year-old friend and brilliant software engineer, Brandon Wirtz, died due to colon cancer and my dad died of pancreatic cancer too. At first neither of their doctors diagnosed properly (Brandon was frequently getting sick and my dad kept having more and more problems). Ever since Brandon discovered his cancer, I’ve started taking healthcare more seriously, wondering if there’s a way to diagnose such diseases earlier.

Last week a new clinic, Prenuvo, opened near San Francisco, that promises to do just that by doing a full-body MRI scan (Magnetic Resonance Imaging). This is like a high-resolution X-ray machine except it doesn’t use radiation to make its images.

I was lucky enough to be one of the first to be scanned in its new location (it has been doing such scans for a decade up in Vancouver, Canada) by founder, Dr Raj Attariwala. Here I filmed the consultation with Dr. Raj right after my scans were done.

The process? You pay $2,500. You spend an hour inside an MRI machine. For me, it was a chance to hold perfectly still for an hour, while I listened to the machine whir and buzz around me. After the hour, it takes a few minutes to process your images and then you sit down with a doctor, like I did here.

Luckily for me I got a pretty clean bill of health but you can see this is a powerful diagnostic tool to help doctors find dozens of problems before they become untreatable. Everything from heart disease to a variety of cancers. You can see how Dr. Raj walks through my entire body, including my brain, looking for problems that I’ll need to work on. He did find one with me, my mom had a bad back, and it looks like I’ve been blessed with the same problems, and he told me to do exercises to strengthen my core muscles to minimize that problem in the future.

In talking with cofounder/CEO Andrew Lacy the company has developed its own MRI machine to do these scans. He told me that most other MRIs are used only for specific body parts, usually after a cancer or problem has already been found. Prenuvo, he told me, has modified the software running the MRI machine to do specialized full-body scans that other machines can’t do easily. Also, his team is using these images to build machine learning to assist the doctors in helping find various problems and, also, in its plans to scale this to more people over time (the San Francisco location has two scanners that can do two people an hour, the company has plans to open more locations and do more scans per hour, but that will need more AI work, and a training of doctors to look for problems when they are early, rather late-stage like they usually see).

For me it’s amazing to see inside your own body for the first time and the company gives its customers all scans on a mobile app that you can explore on your own time later. It also sends the scans to your primary-care physician, or to other doctors for second opinions.

You can learn more about this service at https://www.prenuvo.com.

05 Nov 07:40

Create better, more responsive text annotations (yes, also on maps)

We’re excited to announce that you can now create text annotations in Datawrapper choropleth maps, symbol maps, (stacked) column charts, scatter plots, line charts, and area charts. Like so:

After launching our new map options, spike maps, and heatmaps for tables, this is the fourth big change we’re rolling out this fall.

More chart types

So far, you could create annotations in our scatter plots, line and area charts, and – through markers – in our locator maps. Now we’re introducing them to more visualization types:

header image showing different kinds of annotations

Use our new annotations…

  • in choropleth map and symbol map to point out certain regions or spatial patterns, or to give context information. And yes, even zooming works – try it out in the map above.
  • in column charts and stacked column charts to highlight certain columns. Note that your data needs a date column to create annotations in these chart types.
  • in line charts and area charts to annotate long developments and surprising spikes
  • in scatter plots to lead the reader’s eye to outliers and general trends

Easier editing with more options

Besides extending the number of chart types for which you can create annotations, we vastly improved how you create them:

With our new annotations feature, you can…

  • edit the annotation text directly in the chart or map (try Cmd+b on Mac/Ctrl+b on Windows or Linux to make it bold, too!)
  • move the annotation around directly on the visualization
  • edit the color, size, and formatting of multiple annotations at the same time
  • draw lines and arrows from your most important data points to your annotations, or place circles around the area you want to annotate
  • give your text a text outline so that it’s readable even if it sits on colorful data elements or busy grid lines
  • create multi-line annotations without hitting Enter or using HTML line breaks – just change the width of the text box

Readable on smaller devices

Overlapping or cropped annotations are annoying for you and your readers. We will always encourage you to check your visualizations with the “mobile” and “tablet” preview buttons in Datawrapper. But even if you do, it can be time-consuming to (re-)design annotations for mobile. We wanted to solve that. Here’s what we came up with:

On small screens, annotations get numbered and move below the chart. You can even change the order of the annotations in this new mobile view. Just drag them around in the annotation list.

new mobile keys for Datawrapper annotationsIf you want certain annotations to always show up directly in your visualization, disable “Show as key on mobile” in the annotation settings. We did this here with the “2019” label.

Annotations resize with the visualization. The width of the annotations resizes relative to your chart or map. Here’s an example: If you create an 800px-wide chart and embed it in a 600px-wide article, your annotations become 25% narrower. The text wraps automatically, introducing more line breaks where possible.

changing the chart size changes the annotation sizeThe width of annotations is now measured in chart width, not in absolute pixels.

If you prefer the fixed width, simply delete the width in the annotation settings.

Improved range highlights

We also tweaked our “highlight range” feature. You can now add horizontal and vertical ranges and lines to scatter plots, line charts, area charts, column charts and stacked column charts if you upload a date column.

Here, too, we added more options: Edit the color and opacity of multiple range highlights at the same time, create dashed lines and change their width, or adjust the position of the highlights directly on the chart.

GIF of the new range annotations

Also, everything is smoother now

When trying out our new text annotations and range highlights, you might notice that the Refine tab loads faster after switching to another chart type; that things, in general, run a bit smoother. That’s because we rewrote the complete step 3: Visualize in a framework called Svelte.

We’ve been working on this transition for months now, to make Datawrapper ready for the years and changes to come. As part of this process, we’ve slightly updated the interface step by step: tidying it up, hiding options you don’t need, and adding more explanations. Today we’re bringing the new controls to the last chart type, our scatter plots:

old and new Datawrapper controlsBye bye, old interface. Hello, new one!

With this change and the big annotation update, it all comes together – with a snappier Datawrapper experience.


Datawrapper wants to enable you to easily communicate your data – in a beautiful, readable way. We hope that our new text annotations, range highlights, and the new, faster interface help you do exactly that.

As always, we love to hear from you. If you have questions about the new options or feedback, get in touch with us at support@datawrapper.de.

05 Nov 07:36

Fall color in the neighborhood 😷 We found out ...

Fall color in the neighborhood

😷 We found out yesterday that a second-degree contact (contact of a contact) last week was was recently diagnosed with COVID-19. The chances of our exposure are probably pretty slim given the precautions we take and the fact that both degrees in the potential exposure were outside and masked up. Still…

💉 Contributing to potential paranoia, our family got our flu shots yesterday and we’ve got all the typical side effects. We keep reminding ourselves that everything we’re feeling is almost certainly not the COVID.

🔐 Needless to say, we are going to go beyond the latest German lockdown “light” restrictions. We’ll fully quarantine at home until we can get tested.

🛫 Starting November 16th, United flight 14 from Newark to Heathrow will require a negative COVID-19 test in order to board. I’m surprised this hasn’t yet become common practice for all international flights. The idea of testing after a flight just seems like the wrong order to do things in.

🍜 Pok Pok, one of my favorite Portland restaurants, is no more. The pandemic was too much, and it’s not the only notable restaurant to permanently close its doors. Toro Bravo, Beast, Tasty n Alder, Aviary, Bluehour, Montage. All gone. I’ve really missed the Portland food scene since moving to Berlin and it really hits hard to hear that so many staples are gone. I’m glad Le Pigeon, Nostrana, and Podnah’s all seem to be still kicking.

📆 Two more days until E-day, and hopefully the start of the interregnum.

05 Nov 07:36

A Lightweight Process for Lesson Teams

by Greg Wilson

Over the course of my last several jobs, I’ve been trying to develop a lightweight process for small teams who are developing lessons together. Version control and a standard template are the “what”, and while there’s a lot of room to improve the templates, the “how” needs even more attention. Here’s my current best guess for a team of half a dozen technically-skilled people who are building a large-ish set of tutorials, and who are already familiar with the topic. (If the team isn’t already comfortable with what they’re going to teach, please read Teaching What You Don’t Know and then tell me what process you come up with.)

  1. Spend a few hours brainstorming the overall structure of the curriculum. I like concept maps for this, but what’s important is coming up with a rough decomposition of material into lessons. The details will change once you start work—probably more than you think—but this decomposition allows team members to work in parallel.

  2. Pick an editor—the human kind, not the Emacs-or-Word kind. Their job is to keep the big picture in mind and check everyone’s rough first draft for gaps, overlaps, and inconsistencies. This is the point at which lessons are moved and/or refactored; like the editor of a medium-sized newspaper or magazine, they decide “is this worth finishing?”

  3. The authors’ first task is to give the editor something to edit. Again, I like drawing concept maps, but a point-form outline with roughly one bullet per spoken minute can serve just as well. The most important thing, though, is to include working code. It doesn’t matter what I’m teaching or how often I’ve taught it: as soon as I actually have to write code I discover that I’ve left out some important details that will take time to cover. Writing code at this stage also helps the editor: “explain anchors in regular expressions” is soothing but much more ambiguous than three lines of Python.

  4. Authors should also describe the lessons’ formative assessments at this point. I don’t recommend completing them—writing auto-grading code is a lot of work that might need to be redone several times as material moves around—but a sentence or three outlining a multiple-choice question, fill-in-the-blanks coding exercise, or Parsons Problem is a good reality check on how feasible the lesson is.

  5. If the team is using a plain-text format (e.g., Markdown) and GitHub, the author submits the draft as a pull request for the editor to review. The author then incorporates the editor’s big-picture changes and re-works the outline, goes on to write the prose, draw the diagrams, and fill in the exercises, or hands it off to someone else, who ought to be able to fill it in more or less the way the outliner would have. (Handoffs like this are a good way to bring new team members on board.)

Nothing in this process is revolutionary, but it seems to work reasonably well. I’d be grateful for feedback on what other people have come up with and how well it’s working. (Please send feedback by email; I had to start policing the comments on this site after my comments about Shopify and DataCamp and I haven’t bothered to turn them back on.)

05 Nov 07:36

Corvids in the City & Vancouver’s Canuck the Crow

by Sandy James Planner

In pre pandemic days I wrote about Canuck the Crow who was a Vancouver institution. Canuck was  a human-reared crow living on the east side making his presence known to the locals, including neighbourhood friends, such as those delivering the mail and local passers-by. He was also implicated in a police investigation for taking a knife away from a crime scene, supposedly because it was shiny and he liked it. Canuck the Crow also still has his own twitter account. He sadly disappeared last Fall .

Canuck the Crow was so popular that in one of CBC Civic reporter Justin McElroy’s always amazing polls, Canuck was voted the unofficial brand ambassador for Vancouver, handily “defeating” actor Michael J. Fox for the honour.

In pandemic times when being outside has been so necessary and meaningful for people self-isolating, watching the behaviour of crows (or how they watch you) has taken on a new meaning. In my area there are crows that follow walkers and cyclists, and loudly admonish people for stopping to talk. They seem to recognize people and  can live a very long time.

The NPR have just produced this clip with Dr. Kaeli Swift who studied crow behaviour at the University of Washington. Her findings show that like Canuck the Crow, crows can memorize faces, and if they have a “scary experience” (like being trapped, banded and released) they remember that individual face. If that face returns,  Dr. Swift says crows  “would alarm-call, they would dive-bomb that person.”  The crow also teaches other crows which people are “dangerous’ and they can remember faces for years.

Crows are also known to “mob” when  a crow dies,  making loud scolds. Dr. Swift notes that what the crows are doing is trying to establish the reason that the crow died, and will be more cautious about using that area. If you are seen carrying a dead crow into the area, experiments show that the crow will indeed remember the face of who did that, and that person is “guilty by association”.

And despite what you learned in school about primates being the only tool using animal, New Caledonian crows create hooked tools out of twigs to burrow out bugs that are in wood.

You can hear the whole conversation at this link. 

There is also a wonderful documentary about Canuck the Crow and his special friendship with Vancouverite Shawn. If you have not seen this 18 minute documentary you can on this YouTube link below.

Image with permission from artist Frank Ducote

 

 

 

 

05 Nov 07:36

Apple Announces November 10, 2020 Online Media Event

by John Voorhees

As tweeted by Federico, Apple has announced a media event for November 10, 2020, at 10:00 am Pacific. The event will be held online only.

Based on widespread speculation, Apple is expected to introduce its first Apple silicon Mac, which the company said at WWDC would debut before the end of the year. It’s possible that Apple could also announce long-rumored over-ear headphones and, perhaps, the AirTag location trackers too.

Apple is also likely to announce a release date for macOS 11.0 Big Sur. If Apple’s September Apple Watch and iPad event is any indication, the final 11.0 version of macOS Big Sur could be released to the public soon after the event.


Support MacStories Directly

Club MacStories offers exclusive access to extra MacStories content, delivered every week; it’s also a way to support us directly.

Club MacStories will help you discover the best apps for your devices and get the most out of your iPhone, iPad, and Mac. Plus, it’s made in Italy.

Join Now
05 Nov 07:36

Atmospheric Disturbances

by Alicia Puglionesi
Full-text audio version of this essay.

In the United States in the year 2020, many people begin their days with an activity known as “doom scrolling,” their gazes fixed on a stream of images and text created by other social media users and beamed to their smartphones in real time. Concerned psychologists suggest that this behavior is unhealthy; it foments anxiety, stress, and depression, which reduce our productivity. Such chiding is completely pointless in that the doom scrolling behavior has been carefully engineered by other psychologists as a source of boundless profit for the platforms that harvest our data while we interact with the stream. In the language of cyberpunk — once edgy, then ironic, now simply a grinding part of daily experience — we’re “plugged in” to a larger consciousness, an atmosphere of information from which no one can seal themselves off.

If a person, following the psychologists’ self-help advice, were to put their phone down and walk outside to greet the morning — well, that’s not advisable either. Doom lies not in the scroll; it’s carried on the wind. During seasons of risk, increasingly all seasons, one needs to know the level of various deadly things in the air. I see, in a stream, photos of my friend’s car covered in ash, an animated heat map of plague levels in each state, clouds of chemical weapons engulfing protests. Choosing to put down your phone changes none of this. An opinion poll indicates that while 52 percent of registered voters are concerned about violence caused by protests against police brutality, only 43 percent are concerned about police brutality. We breathe the same air, until we don’t.

Weather is a ready-to-hand metaphor for currents of thought: It permeates, yet the experience of it is highly stratified. To represent it, researchers make maps

Weather is a ready-to-hand metaphor for the abstract yet visceral currents of thought in which people are immersed, the feeling of being in social, political, and cultural relation with millions of others. It permeates experience, yet the experience of it is highly stratified and segmented. To represent it, researchers make maps filled with colors and symbols that stand for the distribution of sentiments across geographic space. The sense of public opinion or national feeling as an atmospheric condition, amenable to the same tools of representation and modeling used in meteorology, has a curious history. Never formally articulated, it flits across the 20th-century social and human sciences as a set of expectations about how to measure and control the national mind. The association might seem purely rhetorical — psychologists have dreamed of predicting behavior as meteorologists predict the weather — but it has certain methodological and conceptual continuities.

These continuities can foreground the widespread feeling that our mental weather has become ever-more intense. We rely on the instruments that observe us to understand ourselves. Those instruments, in the formulation of Donald McKenzie, are engines, not cameras (although they have built-in cameras too). They seamlessly exploit and channel political behavior, contributing to a kind of climate change not unlike that which is the legacy of the internal combustion engine, unleashing feedback effects, heightening turbulence. Yet, for a period of time in the 20th century, science claimed to be edging towards mastery over both the meteorological and psychological weather. The idea that data and innovation could optimize those forces failed to grasp the material, political conditions from which they arise.


In 1873, a New York doctor named Thomas Davison Crothers wrote about an “atmosphere of mind” which he believed was influencing the health of his patients. Our feelings “do not depend alone upon the senses of hearing or seeing,” he argued. Rather, each person is embedded in the vast and invisible mental atmosphere that conveys feeling the same way an air mass sweeps across the land. For sensitive or very ill patients, agitations of the mental atmosphere could “destroy life.” Crothers described a local lawyer who was “prostrated with overwork” and sent to rest in a country retreat. The lawyer made a good recovery until one day he “became violently agitated,” overwhelmed by a sudden excitement that left him feeble and exhausted for two weeks. He later found out that, at the very moment of his agitation, he had been nominated to run for Congress during a political convention in the city. The lawyer “firmly believes,” concluded Crothers, that the uproarious feelings of the convention “influenced his weakened nervous system…although he was many miles away, and not aware of its meeting.” More anecdotes of mobs, riots, and political uproar flowed from Crothers’ pen, forming a picture of a country united in agitation from which none could escape.

Crothers was very invested in this idea of the mental atmosphere, which went far beyond the metaphor of a national mood or public sentiment. Like many men of science in the 19th century, he was hunting the white whale of mental force. There had to be some physical explanation for the influence of one mind on another, just as magnetism explained the movement of a compass needle. Indeed, “animal magnetism,” deployed by professional mesmerists, had been a popular medical treatment a few decades earlier. Crothers was more interested in how mental force acted in the wild. How did a mob know to rush to the street in anger? Why couldn’t his patients escape the clutches of party politics? Such phenomena, operating on the vast scale of the American landscape, were both frightening and galvanizing.

This atmospherics of feeling coincided with advancing scientific study of the earth’s literal, gaseous atmosphere. In the 1850s, the Smithsonian Institution began collecting simultaneous weather observations from around the country, via newly-laid telegraph wires, and plotting them on a large wall map, publicly displayed. This form of data organization, known as a synoptic chart, made the motions of air masses visible for the first time. The Smithsonian provided a God’s-eye view of atmospheric currents of which the earth-bound individual only saw a small part. Harvard’s William James, who is remembered as the founder of American psychology but also established a society for the study of psychic phenomena such as clairvoyance and telepathy, embraced the analogy between weather and mental experience. Both weather and experience were “discontinuous and chaotic… But the Washington weather-bureau intellectualizes this disorder” with its synoptic charts, fixing every data point “to its place and moment in a continental cyclone.” James hoped to do the same for psychic phenomena with his American Society for Psychical Research, which requested reports of premonitions and intuitions of the variety that Crothers collected.

The weather had a line in the federal budget because of its economic and military implications: it held agriculture, shipping, and colonial expansion at its mercy. Predicting the weather was part of an imperial project that created the “self-evident” shared identity and interests of a nation. If unruly weather could undermine these interests, the mental atmosphere posed a similar hazard. To some extent, investigators who pored over psychic anecdotes saw them also as affirming a shared national identity. At the same time, comfortable, middle-class, white investigators like Crothers feared even metaphysical contact with the great mass of people unlike themselves, and stoked anxiety about mental contamination. The notion of dangerous feelings spreading through some elemental psychic force mystified the political agency of “others” through the assumption that they acted impulsively and automatically.

There had to be some physical explanation for the influence of one mind on another: How did a mob know to rush to the street in anger? Why couldn’t Crothers’ patients escape the clutches of party politics?

A growing class of experts, taking this synoptic view of human behavior, addressed themselves to managing mental disturbances that threatened the order of capitalist democracy. William McDougall, who led the American Society for Psychical Research briefly in the 1920s, is better remembered as a founder of social psychology, a field preoccupied with such phenomena as the contagion of the crowd and later the “mass hysterias” of fascism and communism. Because he believed certain types of people more susceptible to” the coarser emotions and less refined sentiments,” McDougall saw eugenic population control as the only way to render America’s mental atmosphere” safe for democracy.” Through draconian immigration restrictions, intelligence testing, and eugenic sterilization of people deemed “unfit,” the United States attempted to shape the bodies and minds within its borders. Social scientists were increasingly engaged in such matters of national interest, treating the “mass man” as a kind of meteorological phenomenon to observe, track, and — they imagined — predict and control.

Though the human sciences looked to the Weather Bureau’s state-of-the-art observation system as a model, weather prediction was very limited in the early decades of the 20th century. Forecasts were empirical, based on patterns and past experience. As of 1922, expert forecasters could predict the weather up to two days in advance with reasonable accuracy. Government and industry longed for knowledge of future conditions beyond the two-day horizon, and this interest only grew during World War I, when strategy for land, sea, and air offensives hinged on the weather. Lewis Fry Richardson, a promising young superintendent for the British Meteorological Office, had left his post to serve in an ambulance corps at the front. While lodged in the trenches he began a novel attempt at numerical forecasting, using mathematical analysis of past weather data to predict the future. His forecast was incorrect, and the computations took him six weeks, but Richardson believed that his method was sound — if only he had better data and more computing power.

Mathematical forecasting would eventually transform meteorology, but Richardson abandoned the field in 1920. As a Quaker, he refused to work for the Meteorological Office when it was placed under the auspices of the British military. Perhaps his “intense objection to killing people” helped form the idea of applying his forecasting method to the psychology of human conflicts. In the years that followed, he created a system of equations to model the likelihood of war — to predict and, he imagined, prevent “disturbances of the psychic atmosphere” among nations. Richardson didn’t imagine, as Crothers had, a literal mental force flowing from mind to mind. His argument was simply that the complex dynamics of weather and human relations are amenable to the same analytic tools.

In the 1950s, Richardson’s dream of weather computation became a reality under the initiative of Hungarian mathematician John von Neumann. Von Neumann had played a pivotal role in the Manhattan project, contributing to the design of the atomic bomb and helping to choose its targets — he described himself as “a good deal more militaristic than most.” He seized upon weather forecasting as the perfect task to prove the strategic usefulness of the first electronic computer, the ENIAC. What had taken Richardson six weeks to get wrong took the electronic computer a day to get right, and would soon take split-seconds. Von Neumann was bullish about using such powerful atmospheric modeling to exert human control over the weather. However, aside from localized cloud seeding, weather manipulation has never proved technically or ethically feasible on a large scale — even as a last-ditch effort to halt climate change, it poses dire risks that the best models may fail to calculate.

The atmospherics of feeling operating on the vast American landscape coincided with advancing scientific study of the earth’s gaseous atmosphere

Von Neumann, like Richardson, confidently applied his predictive prowess to both weather and the human mind. In 1944 he published, with political economist Oskar Morgenstern, the influential treatise Theory of Games and Economic Behavior. Whereas Richardson envisioned mass violence as an emergent phenomenon tipped off by many smaller “whorls” of stress and sentiment, von Neumann and Morgenstern reduced conflict to a set of rational decisions made by players to optimize competitive outcomes. Their scenarios were supposed to model the probable moves of U.S. and Soviet leaders in the nuclear stalemate. Unlike the many-layered complexity of weather modeling, the scenarios presented in Theory of Games took place in a realm of formal abstraction where the players alone controlled their fates.

Over the course of the Cold War, the messy mental atmosphere crept back in     to models of human behavior, whether in panics over mass-media brainwashing or in psychological studies of bias, irrationality, and conformity. Richardson had anticipated such refutations of game theory. If politics is a game of chess, he wrote, “it is somewhat as if the chessmen were connected by horizontal springs to heavy weights beyond the chessboard.” The image of chess pieces weighted by hidden springs of history, culture, and psychology is surely closer to life, yet even this optimistically supposes that each tendril of influence could be isolated and quantified. Psychology has always dealt in subjective metrics, from eugenic fitness and criminality to intelligence and neuroticism, that measure shifting, socially-assigned qualities as though they were facts of nature. The thermometer and barometer, though not ahistorical themselves, present a much more constant picture of material reality.

Sometimes simplifications work — mathematical weather forecasting showed that a good-enough model can achieve impressive predictive power. The problem with applying this method to people is that they don’t merely generate data; they absorb and are changed by it in much the way Crothers imagined his patients infiltrated by the mental atmosphere. As historian Sarah Igo writes, the categories that 20th-century researchers constructed to assess everything from politics to sexuality were quickly taken up by the public as objective self-descriptions. Igo notes that research subjects had a strong desire to know where they stood, as points in a statistical cloud, as “normal” or “abnormal” in relation to polls and surveys.

The opinion research of the later 20th century gave us an aerial view of the country as made up of red and blue states, “security moms” and the aggrieved “white working class.” Consumer confidence stood in for well-being. Analysts gathered around these synoptic maps of feelings and attitudes to diagnose and make increasingly daring predictions. Yet they missed what most of us would consider, so far, the storms of the century: the financial collapse of 2008; the election of Donald Trump in 2016; nationwide uprisings against racism and police violence; the growth of right-wing reaction. To be in the midst of these storms is to feel a turbulence breaking out that has built for a long time. The sense that people can’t take any more pain is difficult to state in numbers. It calls into question central objectives of the social and human sciences as they’re operationalized in the great 21st century data-rush — the assumption that the discrete units of feeling they can easily produce and track are the ones that matter. Treating human sentiments like the weather, a natural phenomenon to be studied and exploited, means not engaging with social needs and political demands.


Today, Americans are just as heavily-monitored as the weather — the same smartphones that capture our taps and swipes can also report local temperature and pressure. From the user’s hand, these two data streams flow in parallel across physical infrastructures of satellites and server farms, through algorithmic processes that discern their significance and value in real time. The goal, in both cases, is forecasting. The corporate pitch for harvesting weather data from your phone is that you’ll need hyper-accurate local forecasts to survive in a catastrophe-ridden future. The amazing computational power that allows us to model climate change has not helped to avert it.

In the case of the mental atmosphere, the expansive Cold War vision of modeling, prediction, and control has become similarly narrowed to a pragmatic focus on short-term profitability. Psychologists plugged in to tech companies’ endless streams of data, promising that their models would effectively target users for advertising and, more importantly, influence user behavior. By sorting people into categories, and engineering how those people encountered information within social media relationships, they modified the political climate in ways that no one bothered to model. In the proprietary spheres of platform capitalism — micro-climates with no accountability for cumulative effects — these are not the questions one gets paid to ask. Such manipulations of the physical atmosphere were banned by international treaty in 1977, precisely for fear of cascading global consequences that defied our predictive abilities.

Treating human sentiments like the weather, a natural phenomenon to be studied and exploited, means not engaging with social needs and political demands

The doom scroll is a product and process of this phenomenon, a synoptic chart used to locate ourselves amid the objectively miserable conditions of the present moment. If a person goes outside to greet the morning, without first checking the body count, how do they know what kind of day it is? Others betray nothing in their actions, walking down the street, waiting for the bus. This is uncanny, many remark — this sinister persistence of normalcy. How much suffering can be hidden behind closed doors? How much can people take? The logical expectation that people can’t take any more has led conservative talk-show hosts to posit that the nation’s cities are aflame in active rebellion. If you have a certain kind of news feed, it could look that way, and you could neither know nor care that the greatest violence occurs under so-called normal conditions.

As in the 19th century, dangerous feelings originate “somewhere else” — never granted an independent reality, they only register when they penetrate the sphere of normative white sensibility. Crothers advised that sensitive patients be removed as far as possible from cities, yet his own examples troublingly showed that distance was no obstacle to the currents of the mental atmosphere. Today, conservatives declare that the suburbs are under siege. It’s not that de-facto racial and economic segregation has been breached in any meaningful way; rather, the vector of assault is the digital devices that render people permeable to a stream of words and images optimized for maximum emotional engagement. Certainly, people in the past also responded to ideas with violent feelings, thus Crothers’ sense that certain feelings are simply “in the air,” taking hold regardless of specific vectors. Yet many people understand social media as information rather than an intervention in their own affects calculated to produce more feelings, more attention, and more data. Platforms may claim that their algorithms have no ideology, but the arrangement by which they profit from anger and fear is an ideological one.

One specific weather instrument was especially treasured by 19th century meteorologists: the barometer. Unlike the thermometer, which measured current weather, the barometer had a rudimentary ability to detect what was coming before a human observer could perceive any change: “a storm a thousand miles off makes [the barometer] tremble.” Crothers envisioned people as barometers with varying degrees of sensitivity to the mental atmosphere of social and political life. Most Americans today carry a digital barometer in their pockets which both monitors and modifies; the person equipped with this technology is an instrument honed by its own observability, whether in suburban retrenchment or in the tumult of an uprising.

There may truly be a mental atmosphere in Crothers’ sense, a community of feeling whose agitation we perceive in moments of stress and upheaval. Our goal can’t be to unplug from or manage it, when it emanates from real conditions that remain unchanged. To be clear, what divides Americans is not new technology but the oldest of commitments to white supremacy and wealth extraction. Breaking their hold would by definition cut against the prevailing winds — it will always require, and create, dangerous feelings. Yet the scientific dream of molding those feelings, and the reality of manipulating them for profit, have changed the dynamics of our atmosphere in unforeseen ways. Even as we scrutinize maps, aggregations, and feeds for some sense of what to expect, what to think, what to do — and even as these channels help to organize necessary action — we need to ask why we’ve allowed our permeability to be exploited, when we see and feel so intensely that the damage cannot be contained.

05 Nov 07:35

selenium-wire

selenium-wire

Really useful scraping tool: enhances the Python Selenium bindings to run against a proxy which then allows Python scraping code to look at captured requests - great for if a site you are working with triggers Ajax requests and you want to extract data from the raw JSON that came back.

05 Nov 07:35

Xenia: the ancient Greek norm of guest-friendship

I’m slowly working my way through Emily Wilson’s wonderfully accessible translation of Homer’s The Odyssey. Here’s a review by poet Tate Standage: I feel any review of Emily Wilson’s Odyssey that didn’t mention the introduction would be as incomplete as the translation itself would be without it.

The introduction takes a dive into the culture and norms of ancient Greece. It’s excellent.

In particular, xenia stuck in my head. From Wilson’s intro (p23 of my edition):

Hospitality is important in all human cultures, ancient and modern; in this respect, there is nothing special about archaic Greece. What is distinctive about the customs surrounding hospitality in this culture is that elite men who have entered one another’s homes and have been entertained appropriately are understood to have create a bond of “guest-friendship” (xenia) between their households that will continue into future generations. Guest-friendship is different from philia, the friendship, affection, love, and loyalty that connects a person to his or her family members and neighborhood friends. It is created not by proximity and friendship, but by a set of behaviors that create bonds between people who are geographically distance from each other.

Wilson refers to the norms and expectations of xenia. One of the ways I think of a “norm,” to try to get inside the head of one of these ancient Greeks, is to remember that norms are social reals that are mostly never questioned, it never even occurs to people to question them, they’re taken as given, as actual as gravity and rocks.

(But norms can be violated, and then the retaliatory norm is to punish… Wilson sees The Odyssey through this lens: The poem’s episodes can be seen as a sequence of case studies in the concept of xenia.)

And:

Xenia acquired an extra importance in the era when Greek men were expanding their world. Travelers, in an era before money, hotels, or public transportation, had to rely on the munificence of strangers to find food and lodging and aid with their onward journey.

Before money!

Money feels very real today, as real as gravity. It’s provocative to think of money itself as a replacement technology, the codified version of the ancient “remote friendship” norm, thousands of years on, xenia 2.0.

05 Nov 07:34

Strengthen Your Innovation Capabilities to Drive Performance

by meredith jenusaitis

Organizations invest enormous resources to strengthen their capabilities and capacity to innovate but are often disappointed by the results. Building an innovation capability is a systems design challenge that requires a system solution; if instead you try to build it by cobbling together isolated point solutions, each is likely to fail in entirely predictable ways.

To address this, leaders need a model to help them understand the components of a well-functioning innovation system, how they fit together, and how they connect to the rest of the organization. The innovation performance model can be used to map an organization’s current approach to innovation, assess what’s working well and identify areas for improvement. This, in turn, can help leaders to strengthen their own systems for innovation, building on the foundations already in place.

Discover more resources on our Innovation Performance Hub.

The innovation performance model describes the five primary components of a complete innovation system — performance, priorities, pathways, portfolios, people. The model is best understood by considering each “P” individually, including the unique role it plays, the enablers that comprise it and how it relates to the rest of the system.

Every large organization has, at some time, demonstrated its capacity to innovate successfully (or it would never have achieved success). However, that sense of achievement can calcify leadership structures and shift focus away from customer understanding toward product or operational excellence.

Leaders who seek to understand their system today and take steps to strengthen it across the five dimensions of innovation performance are investing in the engine that will help their organizations own the future.

DOWNLOAD THE FULL E-book AT THE FORM ABOVE.

The post Strengthen Your Innovation Capabilities to Drive Performance appeared first on Innosight.

05 Nov 07:31

Technical debt as a lack of understanding

Some time back, I was working on a project where it felt like the timebomb of technical debt was exploding in our faces. We couldn’t refactor the whoositz because of the whatsitz and when we asked about the whatsitz no one knew about the whatsitz and how it exactly worked with the whoositz and there certainly weren’t tests for it. When we notified management they replied, “We’re in a build the plane while flying situation, how can we get this out now without doing a big rewrite?” It was pretty clear how the technical debt had amassed.

This launched me on a bender exploring the concept of technical debt. I knew what technical debt was, or rather what it felt like, but I didn’t have a great way of explaining it that wasn’t purely subjective. “Code smells” are a great tell, but if “Code I don’t like” is the bar to qualify as technical debt, you’ll be refactoring the entire project every time you hire a new employee who has big opinions.

After some searching, I was pleased to find this short video by Ward Cunningham, the software programmer who originally coined the phrase “technical debt”, where he explains the concept a bit further…

“If you develop a program for a long period of time by only adding features but never reorganizing it to reflect your understanding of those features, then eventually that program simply does not contain any understanding and all efforts to work on it take longer and longer.”

Ward Cunningham

I like this definition that the problem lies in “never reorganizing [the code] to reflect your understanding.” In a go-go-go product cycle, that loss of understanding begins to create problems that have literal and figurative costs. A general sense of confusion builds and builds. The developer economics are fairly simple to quantify; either you slow down and pay someone to refactor and document the code after every major iteration, or you pay every developer who works on the project until the end of time to stare at the code for a few hours and wonder what the hell is going on. That dumbfounded staring at the codebase compounds over time. Organizationally, you pay in velocity and turnover; talented people are going to leave after a few rounds of bullshit.

Knowledge management is so important in organizations, but they rarely undergo that critical step of reorganizing to reflect the current understanding. Need evidence? Take a look at your nearest corporate wiki. I can almost guarantee it’s a mess because most companies should never have wikis. Successful wikis, like Wikipedia, are powered by an army of editors and most organizations will never prioritize that much time or content strategy. Poorly managed knowledge leaves organizations with the memory of goldfish. I can’t tell you how many new product initiative meetings I’ve been in where no one remembers the meeting about the exact same thing from two quarters ago. It’s like Groundhog’s Day, but you’re having the same meetings over and over.

One thing I like about Cunningham’s understanding-based view of technical debt is that it leaves room to justify a big refactor when necessary. If there’s been enough organizational turnover or enough feature creep in a product, then maybe doing a rewrite is the best option so your team has a collective understanding of the code. You can’t expect people to be productive in something that was a culmination of rushed code, poorly understood requirements, and shortcuts made by people who no longer work there. At that point your technical debt balloon has popped, you are in possession of a toxic asset, and it’s time to pay the piper. And perhaps, with some agreed upon principles, you can find ways to cheat entropy or build technical credit instead of accruing debt or endlessly chasing the new shiny.

05 Nov 07:31

Announcing the Librem Mini V2

by Purism

It was less than a year ago when we announced our new Librem Mini campaign. We wanted to offer people a powerful and accessible desktop PC in a mini form-factor running the same free firmware and operating system as our laptops. The Librem Mini campaign was a big success and now we are excited to announce an upgrade to the Librem Mini product line.

The Librem Mini v2 in just about all respects matches the Mini v1 including the same base price. The big difference is that we can now offer a new, 10th gen i7-10510U Intel processor. This gives the Librem Mini four cores at up to 4.9Ghz!

While the Mini v1 was already a capable desktop or home server, upgrading the CPU makes the Librem Mini v2 even more powerful while still offering the same PureBoot or coreboot firmware and running the same freedom-respecting PureOS.

The Librem Mini v2 is available for purchase today and ships within our standard 10-business-day shipping window. Order yours now!

The post Announcing the Librem Mini V2 appeared first on Purism.

05 Nov 07:31

Still, Stand Still

by Dave Pollard


drawing by Canadian artist Pierre Surtes, from my own collection
(this is NOT the image in the poster I refer to below, which seemingly exists now only in my memory)

When I was seventeen, my gf brought me a poster that showed a little girl standing at the ocean’s edge and staring out, her arms outspread. The words beneath the photo read: “Stand still and look until you really see.”

At seventeen, I didn’t get it. Perhaps I still don’t. But somehow I “know” there’s something important there.

I’ve always fallen in love with women way smarter, more aware, more grounded than I can ever hope to be.

I’m flush from a series of discussions and exchanges with, and readings from, some extremely bright people, and I feel suddenly blessed to have more such people in my life than ever before. I’ve so often felt starved for intellectual stimulation, but that may be mainly because I’ve never paid close attention when it’s actually all around me, and instead I keep waiting for it to knock on my door. I’m lazy that way.

So a little thank you to all those who have corresponded with me recently, and exposed me to new ideas, new possibilities, new ways of thinking and feeling and being. Thank you for reminding me to breathe, to slow down, to smile, to notice, to keep things in perspective, to pay attention, to make eye contact, and to give things time, even when time seems inexorably to be running out.

The message of the poster is perhaps a different way of relaying the message of radical non-duality that I’ve so taken to heart in recent years. Except that of course radical non-duality asserts that no amount of looking, or standing still, will enable “you” to see because “you” are precisely what’s in the way of seeing. A little joke from the universe.

~~~~~

I am starting to sense that the turmoil of what is seemingly going on all around us, with slowly-accelerating violence and chaos, is precisely what civilizational collapse, the “long emergency”, looks like. And that terrible, wonderful realization is coming precisely when it’s also dawning on me, as I’ve somehow always known, and as every wild creature keeps quietly telling me, that none of what I imagine is real, and everything already just is, perfectly, the way it is, the only way it could possibly be. And that the anguish I feel is because I’m too full of my self, and as such cannot hope to really see, to accept, to let go, to just be, in wonder. I know to my activist friends that sounds like an irresponsible cop-out, but, well…

I knew all this as a small child, and there have been glimpses since, but most of the time I’ve forgotten, and keep forgetting. And I understand that it’s hopeless and that when this is remembered, there will be no one here remembering. And that it doesn’t matter; things only really matter to our beleaguered, exhausted, deluded selves. But this incessant noisy mattering of everything still seems to be happening here, sadly.

Some writers are now starting to write about the current period as the traumacene. The horrific overpopulation of humans, the vast chasm of inequality, and the disconnected, frenzied lifestyles we have come to live, have created massive artificial scarcities and made most of us endlessly stressed. Compounding that, we now live in an age of unprecedented dependence, where so much that we need relies on ‘efficient’ global transportation and centralized, automated production and distribution systems, and on the cheap energy needed to produce and sustain them. It is an age of precarity, and of endless unspoken dread as to when everything will run out, knowing that that time is coming soon, and that we long ago lost the capacities and skills needed to live independently and sufficiently.

And we have been programmed and conditioned to be anxious, furious, and guilt-ridden about this, to want to blame someone, everyone, and ourselves for how the dice have rolled since our well-meaning civilization began. Or to deny it. And then to somehow fix it, make it the way in our foolish dreams we thought it might be, or once was. Somehow we know that none of these feelings make sense, and that none of these urgently-sought outcomes are even remotely possible. But knowing that can’t make us feel any better about it.

I first started writing poetry about waiting when I was seventeen. I didn’t know what I was waiting for, but somehow I “knew” that that was what was required, and that in the meantime everything was just an act, make-believe, faking it, unimportant. Putting in time.

For most of the fifty-two years since, I forgot I was waiting; I forgot that that was what was necessary. In that forgetting, the ‘me’ that keeps asserting its existence, its validity, has been mostly and variously impatient, angry, ambitious, depressed, outraged, discouraged, saddened, terrified, anxious. About a reality that is nothing more than a fiction, an invented world conjured up in my brain. It’s a form of mental illness that I think almost all ‘selves’ suffer from.

Wild creatures, even when they age and become more wary, seem to have no need for such nonsense. They don’t imagine unreal things and happenings into self-vexing existence. They have never forgotten what is real.

There’s a wonderful story in scientist-poet Loren Eiseley’s book The Star Thrower about the utterly different perspective wild creatures have, and occasionally give us a glimpse of. Here’s an abridged version the story:

I did not realize at first what it was that I looked upon. As my wandering attention centered, I saw nothing but two small projecting ears lit by the morning sun. Beneath them, a small neat face looked shyly up at me. The ears moved at every sound, drank in a gull’s cry and the far horn of a ship. They crinkled, I began to realize, only with curiosity; they had not learned to fear. The creature was very young. He was alone in a dread universe. I crept on my knees around the prow and crouched beside him. It was a small fox pup from a den under the timbers who looked up at me. …

He innocently selected what I think was a chicken bone from an untidy pile of splintered rubbish and shook it at me invitingly. There was a vast and playful humor in his face. … I dropped even further and painfully away from human stature. It has been said repeatedly that one can never, try as he will, get around to the front of the universe. Man is destined to see only its far side, to realize nature only in retreat.

Yet here was the thing in the midst of the bones, the wide-eyed, innocent fox inviting me to play, with the innate courtesy of it two forepaws placed appealingly together, along with a mock shake of the head. The universe was swinging in some fantastic fashion around to present its face, and the face was so small that the universe itself was laughing.

It was not a time for human dignity. It was a time only for the careful observance of amenities written behind the stars. Gravely I arranged my forepaws while the puppy whimpered with ill-concealed excitement. I drew the breath of a fox’s den into my nostrils. On impulse, I picked up clumsily a whiter bone and shook it in teeth that had not entirely forgotten their original purpose. Round and round we tumbled for one ecstatic moment. We were the innocent thing in the midst of the bones, born in the egg, born in the den, born in the dark cave with the stone ax close to hand, born at last in human guise to grow coldly remote in the room with the rifle rack upon the wall.

But, I had seen my miracle. I had seen the universe as it begins for all things. It was, in reality, a child’s universe, a tiny and laughing universe. I rolled the pup on his back and ran, literally ran for the neared ridge. The sun was half out of the sea, and the world was swinging back to normal. The adult foxes would be already trotting home. …

For just a moment I had held the universe at bay by the simple expedient of sitting on my haunches before a fox den and tumbling about with a chicken bone. It is the gravest, most meaningful act I shall ever accomplish.

In forgetting what is hidden behind the veil of self, we’ve forgotten how to play. Young foxes (and old corvids) play to learn, to develop skills, and to practice. But true play is never serious, or even consciously purposeful. Wild creatures play because it’s fun. The benefits are incidental.

In real play there are no winners and losers, no keeping score. Only in humans’ world of artificial scarcity is play a zero-sum game. The ideas of “healthy” competition, of dog-eat-dog, and of interaction being mostly about dominance and submission are, I think, a myth, a foolish anthropocentric misunderstanding.

Competition is actually IMO a traumatic response to scarcity. Its only evolutionary purpose is to “thin the crowd” when natural means of population management have been exhausted and the population is severely stressed. Otherwise there is no need for it. And while some birds and other animals may seem to be vying for mating rights, or for what we (I think incorrectly) call “status”, I would argue that this is no more “competitive” than the game Loren played with the young fox.

These seeming “competitions” (the word competition etymologically means “striving together”) are I believe the means animal tribes use to determine and communicate roles in the community. There is no hierarchy, only collective agreement on who in the tribe is best at doing what.

A part of that, it seems, is acknowledging who actually wants which role. There have been studies that show that the “central” male and female in a wild community (what we anthropomorphically call “alphas” or “top dogs”) are not necessarily the largest or strongest, but rather those most eager and able to fill the often-exhausting key protector and reproducer roles. Don’t want the job, don’t apply.

What would a human society look like without competition? I think this can only be imagined in a post-collapse culture, one without crowding or scarcity of resources. My sense is that it would be a society full of art and music, as that is one way humans play — as a means of expression, not just a means of learning important skills and staying fit. Humans aren’t alone in that — some bird species mimic, collect and display bright shiny objects, and sing quietly to themselves at night when they’re alone.

As our incompetent human civilization gears up and spins out, there is less and less time for art. Our current mania for work leaves no bandwidth, no space for creativity, no time for wonder. There are many constraints that actually stimulate creative ideas, but a lack of time is not one of them.

To live effectively and comfortably in a world without competition and scarcity, which is the world our species lived in for its first million years, where all that was needed was within easy reach from our warm treetop perches, we would first have to unlearn all the terrible knowledge we have been conditioned to accept and believe.

That’s why I think our re-emergence into such a world will have to await civilization’s collapse. In the 21st century the only way we know to live is the constant struggle to have enough, to have more, to survive. The only thing we have learned to believe is that our deprivation and stress and unhappiness has a purpose — motivating us to “create the better world we know is possible” or some similar nonsense. We have to keep denying that our few millennia of trying to run this little blue laboratory has been an unmitigated disaster, and that the sooner it ends, the better.

But it’s fine. We’ve always done our best, and will continue to do so until Gaia gets tired of the experiment and re-sets. She will take as long as is needed to clean up the mess. Humans, it turned out, weren’t very good at playing well with others, but that’s OK. There are many other creatures that are, and they will have their turn.

The problem with waiting is that there isn’t actually any such thing as time. It’s just a metaphor, a mental invention, a way for humans to make sense of what actually makes no sense, and has no need to. The universe has no need for time; everything is always fine just as it is.

Our species that has turned all play into competition will never understand. We’ve forgotten that real play has no consequences. And there is ‘no time’ to relearn all that we’ve forgotten.

So those of us waiting — for liberation from our selves, for salvation by some gods or super-humans, for a better world for our children, for the end of suffering, for Godot — are waiting, hopelessly, in non-existent time, for things to be other than how they are, the only way they can possibly, already, eternally, be. A madman’s folly.

Still, we have no choice. We can only laugh. We can only try to play, even though we’ve forgotten how. We can — still — only stand still, and look, until we really see, what has always been, right before our veiled eyes. What we can never see, until we’re gone.

04 Nov 05:03

Thoughts Before the 2020 Election

Some random thoughts before the final day of voting in the 2020 US Presidential election:

  • At least now more people realize the importance of politics. “How bad could it be?” may have gotten him into the office, but “Oh, that bad!” will probably remove him.

  • The press, at least the legitimate press, like CNN and the NYTimes, finally overcame their crippling addiction to falling for every single Trump troll.

  • If it turns out that if women hand the election to Biden, which seems possible, expect at least one Fox News talking head to float the idea of revoking women’s suffrage.

  • There are a lot of racist people out there, and this was probably the most eye-opening part of the past four years. I mean, I knew there were some, I just didn’t realize they commanded a majority in some places. In talking to some of these people the logic they apply is fairly stunning, like after they say something blatently racist as the reason they are voting for Trump, you point out that what they said is racist, and they act offended. As if they’ve been socialized enough to know that being called a “racist” is bad, and they don’t believe they are “bad” people even as they parrot white supremacist talking points.

  • Facebook is an ethical cesspool, but at least more people seem to know that now.

  • None of this (waves hands around) is surprising to me, and removing Trump from office, while a good start, won’t magically fix it. Welcome To The ‘Turbulent Twenties’. The solution, in my mind, starts with reversing corporate concentration. And yes, I believe, and have believed for a long time, that it will get much worse before it gets better:

04 Nov 05:02

Play “What’s The Rule?” to Develop Computational Thinking

W. Ian O'Byrne, Nov 03, 2020
Icon

This is a neat idea and I wish Ian O'Byrne had added more examples to his short article or perhaps done a search to find examples where the same thing is applied elsewhere (it matches the oft-cited example from Sesame Street, "which of these things does not belong?", though I confess, other examples are hard to find). The idea is to present children with a scenario (or adults, with more complex scenarios) and to ask them, "what's the rule?" I would also ask, "what's the pattern" or as in the Sesame Street case, "what's the classification scheme?" The idea is to get people to derive their own rules (patterns, classifications, etc) as practice for new environments when pre-existing rules (etc) might not have been previously defined. And I would extend this along the line of my own critical literacies principles, asking (for example) "what is being valued here?" or "what inference is the person making?" or "how would we describe the logic of change being applied here?" Because, you know, in all reasoning, recognition precedes critique.

Web: [Direct Link] [This Post]
04 Nov 05:02

Is the Internet Different?

by Ben Thompson

Tim Wu has a new piece up on Medium called Ben Thompson’s “Stratechery”; the subtitle, I think, is more descriptive of Wu’s premise:

Smart, but a little too much Kool-Aid

Said premise is in the second paragraph:

Thompson has more recently begun to pronounce and analyze in the field of tech antitrust, and here he is on less solid ground. I appreciate that deep industry expertise is important in his area, especially, say, when designing remedies that make sense. Lacking a background in law or economics is not disqualifying. Nonetheless, I’d say Thompson’s readers are at risk of being misled if they rely too much on what he has to say about tech antitrust. For, as we shall see, his analysis relies too much on an idiosyncratic “digital markets are fundamentally different” thesis that really doesn’t hold up too well. Stated simply, I’d say he’s inducing his readers to drink too much of his “aggregation theory” Kool-Aid, as opposed to encouraging them to think more broadly or read more deeply to understand a slightly messier reality than he presents.

I appreciate Wu’s article, both in terms of its specifics (which I disagree with), its goals (which are implied), and its means (which I value). Time to drink some Kool-Aid!

(Orange-flavored, of course).

Wu’s Argument

Wu’s primary focus is my recent piece United States v. Google:

According to Thompson, the Google case needs be understood primarily through what he calls aggregation theory, which is something of a specialized version of what economists call a two-sided markets theory. His theory asserts that 1) the quality of the user experience, rather than control over distribution, is what determines the winners in digital markets; and 2) a lead based on quality is self-reenforcing, because either more suppliers are attracted or the winner, with more customers, gets more feedback on what makes for a better product. (For those with a background in economics, Thompson’s aggregation theory is basically a mixture of a two-sided market theory with some positive feedback loop stuff thrown in.) Thompson says that “aggregators” (platforms, in economic, if not technological, parlance) are in this manner different than traditional monopolists, for they “win by building ever better products for consumers”…

The problem is that his aggregation theory isn’t aspirational. Instead, it is presented as a description of how the internet has “fundamentally changed the plane of competition” in a world where “on the internet everything is just zero marginal bits.” It also takes as its assumptions: “Zero distribution costs. Zero marginal costs. Zero transactions.” In that, in some ways, it is like the older economic models from the 1960s, except that they were at least billed as models, not depictions of reality.

Wu appears to be serious in his statement that assertions about the importance of zero marginal costs are best understood by looking to the past; his analogy for Aggregation Theory reaches back to the 1920s:

Here’s my send-up of aggregation theory: Imagine this is the 1920s and we were speaking of the invention of brand advertising, and someone says, “whichever brand has the most people attracting it will create a buzz that further favors the winner. Hence, traditional metrics of competition are out the window.” I think we’d all agree that brand matters, and indeed the invention of powerful brands did change competition. But it might be a little too easy to think competition actually has changed forever. And we can see Thompson falling into the novelty trap by asserting things like “the internet has made transaction costs zero” — a sentence that would make any serious economist howl with laughter.

I can’t speak for serious economists — I’ve generally enjoyed my interactions with them, and have been treated with nothing but respect while presenting the idea of Aggregation Theory — but the only thing I find humorous here is the idea that the Internet has not had a massive impact on transactions costs.

Transactions Costs

Consider various iterations of two-sided markets, of which Wu believes the companies I call Aggregators are a not particularly special version of. At the most basic level you might have something like a neighborhood flea market: on one side the market is a place for people to sell things, and on the other a place to buy things. Ultimately, though, every transaction entails sourcing supply, acquiring a customer, and executing the transaction itself. All three of those activities are costly.

Over the course of the 20th century, larger and larger firms became more and more efficient at managing these transaction costs. The Great Atlantic & Pacific Tea Company, more commonly known as A&P, was the best example of this. The company expanded rapidly in the late 1800s, which was critical in acquiring ever more customers (the company was also a pioneer in advertising and using low prices on select items to get customers into stores); meanwhile, A&P built a back-end operation to match, vertically integrating into being a wholesaler, particularly of its own private label goods, which, combined with A&Ps scale, helped it deliver on those low prices. By 1930 the company had 16,000 stores doing nearly $3 billion in sales, accounting for a 10% share of nationwide grocery stores.

By 1950 A&P’s market share peaked at 15%, although by that time A&P had transitioned to fewer, larger stores (around 4,500); the company was also facing an antitrust lawsuit, that it would eventually settle with a favorable consent decree. What ultimately doomed A&P, though, was its inability to adjust to a grocery market increasingly dominated by national brands advertised on television, along with uncompetitive labor costs and a failure to expand from city centers to the exploding suburbs. Each of these entailed higher transaction costs, and A&P couldn’t bear them.

A few decades later Walmart would follow in A&P’s footsteps as far as dominance is concerned, although their strategy started with exurbs and suburbs and worked backwards; the fundamental limitations of needing to open stores to acquire customers, build out logistical networks to acquire and distribute goods at scale, and actually stock shelves and check out customers remained, though. Walmart too has reached about 15% market share (albeit of a larger general merchandise market).

Amazon, meanwhile, has leveraged the Internet to dramatically decrease its customer acquisition costs in particular: the fundamental insight driving the retailer is that on the Internet shelf space is both infinite and available to anyone with an Internet connection; the company is still smaller than Walmart — 5% of general merchandise last year, although that number surely made a huge leap because of the pandemic — but it got there much more quickly: Amazon is only 26 years old, while Walmart is 58.

Still, as Wu notes, Amazon has plenty of transaction costs of its own:

Here is the danger: If you think competition is all about flavor and buzz (in the 1890s) or Thompson’s aggregation theory (right now), you might end up overlooking all of the other strategies and factors that could also lead to a lasting advantage. Consider Amazon. Thompson says that “the internet has made distribution (of digital goods) free.” But, as implied, that hasn’t made the distribution of physical goods free. And that is why a company like Amazon can, and has, gained a major advantage by building up a large physical infrastructure (warehouses), not unlike a steel producer in the 20th century, and strongly relying on a loyalty program (Prime). So, it turns out Amazon’s competitive advantage isn’t all about the fact that “on the internet everything is just zero marginal bits.”

I completely agree; that’s why I have stated — contra Wu’s assertion — that Amazon is not an Aggregator. I mentioned Amazon specifically in 2017’s Defining Aggregators:1

Aggregators have all three of the following characteristics; the absence of any one of them can result in a very successful business (in the case of Apple, arguably the most successful business in history), but it means said company is not an Aggregator.

Direct Relationship with Users

This point is straight-forward, yet the linchpin on which everything else rests: Aggregators have a direct relationship with users. This may be a payment-based relationship, an account-based one, or simply one based on regular usage (think Google and non-logged in users).

Zero Marginal Costs For Serving Users

Companies traditionally have had to incur (up to) three types of marginal costs when it comes to serving users/customers directly.

  • The cost of goods sold (COGS), that is, the cost of producing an item or providing a service
  • Distribution costs, that is the cost of getting an item to the customer (usually via retail) or facilitating the provision of a service (usually via real estate)
  • Transaction costs, that is the cost of executing a transaction for a good or service, providing customer service, etc.

Aggregators incur none of these costs:

  • The goods “sold” by an Aggregator are digital and thus have zero marginal costs (they may, of course, have significant fixed costs)2
  • These digital goods are delivered via the Internet, which results in zero distribution costs3
  • Transactions are handled automatically through automatic account management, credit card payments, etc.4

This characteristic means that businesses like Apple hardware and Amazon’s traditional retail operations are not Aggregators; both bear significant costs in serving the marginal customer (and, in the case of Amazon in particular, have achieved such scale that the service’s relative cost of distribution is actually a moat).

Demand-driven Multi-sided Networks with Decreasing Acquisition Costs

Because Aggregators deal with digital goods, there is an abundance of supply; that means users reap value through discovery and curation, and most aggregators get started by delivering superior discovery.

Then, once an Aggregator has gained some number of end users, suppliers will come onto the Aggregator’s platform on the Aggregator’s terms, effectively commoditizing and modularizing themselves. Those additional suppliers then make the Aggregator more attractive to more users, which in turn draws more suppliers, in a virtuous cycle.

This means that for Aggregators, customer acquisition costs decrease over time; marginal customers are attracted to the platform by virtue of the increasing number of suppliers. This further means that Aggregators enjoy winner-take-all effects: since the value of an Aggregator to end users is continually increasing it is exceedingly difficult for competitors to take away users or win new ones.

This is in contrast to non-Aggregator and non-platform companies that face increasing customer acquisition costs as their user base grows. That is because initial customers are often a perfect product-market fit; however, as that fit decreases, the surplus value from the product decreases as well and quickly turns negative. Generally speaking, any business that creates its customer value in-house is not an Aggregator because eventually its customer acquisition costs will limit its growth potential.

Google is the canonical example of this definition, and the difference from Amazon, much less non-Internet two-sided markets, is significant. Start with the transaction costs: while scaling an Internet service is a profoundly difficult thing to do, requiring tremendous ingenuity, invention, and investment, the marginal transaction costs for serving one additional customer are zero. That is why Google, from the moment it launched, could be used by anyone in the world. Like Amazon, the company didn’t need to build out physical stores, but unlike Amazon, the company didn’t need to build out delivery infrastructure either. And unlike every retailer in existence it didn’t need to pay for supply. And — this is the part that makes Google truly unique — it didn’t even need to generate supply. The web already existed!

This is why Google can achieve 88 percent market share in the U.S. search market (according to the Department of Justice lawsuit), and achieve a similar level of share all over the entire world. The company’s scalability is effectively infinite, because serving additional customers is a function of fixed costs, not transaction costs; it really is not comparable to Amazon at all, in this regard, as the companies’ respective market shares demonstrates.

The same reality applies to Google’s marginal costs (including distribution); while Google spends a tremendous amount of fixed costs on its data centers and networking, any one search is “free”, including Google accepting the search term, computing the result, and delivering it to the user. Moreover, this same principle applies to Google’s advertising business: the vast majority of advertising on Google is acquired via self-service portals that price ads automatically via real-time auctions. Yes, the infrastructure necessary to enable this business requires substantial investment, but the only transaction costs on any one specific advertising purchase are credit card fees.

This is a business that requires more analysis than calling it a “two-sided market…with some positive feedback loop stuff thrown in”; for one, I would argue that all two-sided markets have positive feedback loops. Any market that touches the physical world, though, accumulates an ever increasing number of tiny costs along the way, whether that be labor costs, shipping costs, rent costs, etc.; moreover, the logistical challenges entailed in managing those costs incur their own cost in managerial complexity, and every investment to overcome those challenges become sunk costs, making it difficult to adjust when the market changes (this is particularly acute because it takes time to make these investments).

Google, on the other hand, faces none of these natural drags on scale. More search means better search, thanks to the ongoing feedback of billions of users ranking every Google search result (by clicking on the best result); more advertisers means better advertising results, for the same reason. This matters greatly for antitrust because at some point you need a theory of harm: how exactly is Google making things worse for users or advertisers?

Switching Costs

This is also why I disagree with Wu’s characterization of switching costs:

Whether this is core to his theory or not, Thompson also takes a highly anti-empirical approach to switching costs. He endorses the old 1990s idea that “competition is just one click away,” which may have been true in 1999, but that can’t be taken seriously now — if what he means is that the costs of leaving Google or Amazon or Facebook are close to zero. The real question is whether there are, for the average person, costs to switching from Facebook or Google to use something else — leaving behind Gmail, friends, and so on. The assertion that those costs are near zero is magical thinking. Indeed, one of Google’s most important strategies over this decade — its tell — has been to increase those switching costs, those barriers to entry.

Consider Google specifically: the company’s core product, Search, has for its supply the open web. Indeed, that is what let the company be at scale, instantly, in a way no other company ever has. It follows, though, that every other search engine — including Bing, DuckDuckGo, etc. — has access to the exact same supply.

Admittedly, Google does have its own local results in particular; Yelp has an entire website complaining about this fact, arguing that the search engine should be forced to include third-party content in its local search results because those results are better for consumers. That, though, is a mark in the competition’s favor: is Wu’s position that Google’s allegedly inferior local search results is lock-in?

Meanwhile, I am puzzled by the reference to Gmail; it is unclear to me why it is a competition concern when a user chooses to use a free email service that is quite obviously locked to the service provider. The relevant market here is not Gmail, it is email, and not only is there a huge amount of competition for hosted email, it is fairly simple to set up your own email server. Critically, there is absolutely nothing Google can do to stop you from doing so, even if they wanted to.

This drives at the biggest reason why I believe a distinct definition for “Aggregators” is important; while Wu casually conflates Aggregators and platforms (“in economic, if not technological, parlance”), I believe the distinction is substantial and crucial. I explore that distinction at length in A Framework for Regulating Competition on the Internet, but the critical point goes back to the email example:

  • Platforms are essential to their value chains. You can’t have a Windows app, for example, without the Windows API.
  • Aggregators, in contrast, are not essential, but they are convenient. You can go to a website directly — just type in its URL — but for most consumers, for most pieces of information, it is far easier to search.

What is fascinating about many of Google’s most ardent critics is that they themselves aspire to be Aggregators. Yelp, for example, doesn’t operate any local businesses. It doesn’t prepare the food, or cut the hair, or teach the class: its business model is to aggregate so many users that local businesses feel compelled to be on Yelp, the better to reach more customers than they could on their own. The same applies to Trip Advisor, or Expedia, or any other vertical search company. All of those sites are only a click away.

And, critically, so are the entities that actually provide the services or information that the user is seeking. Airlines and hotels invest heavily in loyalty programs, for example, because they want their best customers to come to them directly, not via an Aggregator, whether that Aggregator be Google or Booking.com. That not only sounds like competition, it also sounds like an exceptionally customer-friendly outcome.

The Missing Intersection

Where I think Wu and many tech critics go wrong is missing how the question of zero marginal costs and zero switching costs intersect. First, because Wu does not believe that Google is unique as far as scalability is concerned, he appears to assume that the company must be doing something nefarious to command such market share. And, by the same token, there must be some sort of unfair lock-in, because again, companies ought not be so dominant. This is a sure recipe for lazy arguments that end up criminalizing the basics of business.

How does all this relate to antitrust? Antitrust should be dealing with the reality of anticompetitive behavior in markets, not ideals of how companies work. And it is the difficult job of the law to determine which of these durable advantages just described are part of fair competition (for example, a better user experience) and which are not (for example, buying out dangerous rivals, or exclusionary deals that keep out competitors)…

We may summarize the problem for Thompson this way: Why, exactly, did Google pay Apple billions to gain control over distribution rights? And why, to bring the law into it, hasn’t Google settled the case? If aggregation theory is right — if competition has changed in the digital market and the best user experience wins — then Google doesn’t need to spend that money.

I honestly don’t think this is too complicated: defaults do matter, and given the fact that Google makes somewhere north of $250 in revenue per U.S. user it is well worth sharing some of that revenue to ensure it gets as many users as possible. Consider iOS specifically:

  • According to the Department of Justice “This agreement covers roughly 36 percent of all general search queries in the United States”; assuming that share of search queries is inline with share of revenue (which is almost certainly not the case, given the relative spending power of Apple’s userbase), the agreement covers $26.9 billion worth of revenue.
  • Further assume that, were Google not the default, the company would lose 25% of Apple device searches it might have gained otherwise; this equates to a revenue loss of $6.7 billion for the U.S. alone, and again, this number is almost certainly conservative given the relative spending power of Apple users.

Moreover, those searches would go to Google’s competitors, not only giving valuable data that would help make their search engines better, but also increasing the efficiency and relative attractiveness of their ad products. I do still believe that Google would continue to win on the merits, but it would be more costly, not less.

Which, of course, is why I support the Department of Justice’s lawsuit, and why I have been outspoken about acquisitions by Aggregators. Aggregators already have intrinsic advantages given the nature of costs on the Internet; I don’t believe they should be able to augment those advantages with contracts or by acquiring customers (I do not, however, favor a ban on other types of acquisitions).

The difference I have with Wu, as far as I can tell, is that I see these agreements and acquisitions as frosting on an Aggregation cake, as opposed to the fundamental drivers of their dominance. Google isn’t dominant because they broke the law, they are (arguably) breaking the law well after their dominance was established, and that distinction matters when it comes to crafting remedies and regulations that actually work.

Differentiation and Gatekeepers

The most disappointing part of Wu’s essay, though, at least on a personal level, is the conclusion:

This may be too much for some readers, but a last problem with aggregation theory is that its “winner take all” assertion assumes away the importance of differentiated user preferences. In other words, it tends to assume that there is one “user experience” that is preferred by everyone, and by depending on feedback, the product can be improved to match that…

Perhaps Thompson has addressed this somewhere, but I thought it important to point out. The model only works well, I think, either when consumers have identical preferences or when they want the greatest number of suppliers for some reason, or maybe when consumer value convenience even over what they’d called their own stated preferences (the so-called tyranny of convenience).

The very premise of this site is that the Internet takes preference differentiation to the extreme, resulting in never-ending niches that can be profitably filled. Moreover, this isn’t simply about small websites: just last month I wrote about how Disney is pursuing an integration strategy that is an antidote to Aggregators like Google and Facebook, and how that can be model for other media companies. The Article included this distinction:

Aggregators are content agnostic. Integrators are predicated on differentiation.

Facebook reduces all content to similarly sized rectangles in your feed: a deeply reported investigative report is given the same prominence and visual presentation as photos of your classmate’s baby; all that Facebook cares about is keeping you engaged. Content created by Disney, on the other hand, must be unique to Disney, and memorable, as it is the linchpin for their entire business.

So yes, I have “addressed this somewhere” — I addressed it three weeks ago. Contrary to Wu’s caricature of me, I don’t believe that Aggregation Theory applies to everything, but the things to which it does apply — like when “consumers have identical preferences or when they want the greatest number of suppliers” for something like search results — it matters a great deal. To that end, it seems rich to criticize me for “false confidence” and an unwillingness to “think more broadly or read more deeply” when one can’t be bothered to scroll down my home page.

Then again, perhaps an honest debate isn’t the goal. Wu foreshadowed his essay on Twitter:

Wu added, in a tweet he seems to have deleted, that my writing is “quack medicine”:

Tim Wu's tweet calling Stratechery "Quack Medicine"

This casts Wu’s comment that “Lacking a background in law or economics is not disqualifying”, in a different, more backhanded, light. For decades antitrust was indeed limited to those with a background in law or economics; that is the only way politicians, attorneys general, judges, general counsels, or the media would pay attention to what you had to say. The media in particular had a monopoly on the dissemination of information, and credentials were the way to get into their channel. It’s hard to escape the sense that a breakdown in gatekeepers bothers Wu.

And, by the same token, perhaps this is why I do believe that the Internet is something profoundly different; it has certainly made my career far different than it might have been were I a decade or two older. And, by extension, perhaps this is why I can see the benefit of Aggregators: Google and Facebook and Twitter may have been terrible for traditional media companies whose business models depended on controlling distribution, but they are fantastic for giving consumers exactly what they want, including a perhaps heretical view of antitrust.

Truth Seeking

This does raise the question as to why you should believe me, or anything else you read on the Internet. This interaction arose in response to Wu’s initial tweet:

My response:

This is why, whatever Wu’s motivations, I appreciated his piece. I do disagree, in part because I don’t think Wu understands my argument, but that’s ok: it’s an opportunity to make my argument in a different way, as I tried to do today, and perhaps change his mind, or yours. Or perhaps I failed, and you agree with Wu that I have created a theory where one ought not exist. Again, that’s fine: now you know what you believe better than you did before this piece, and perhaps you will view my other writing with increased skepticism. That’s a good thing!

More broadly, the pre-Internet world, governed as it was by gatekeepers, was certainly a more unified one, at least as far as conventional wisdom was concerned — this applied to law and economics just as much as anything else. At the same time, that does not mean the pre-Internet world had a better overarching grasp on the truth, given how much more difficult it was for dissenting voices to gain distribution. If I happen to be correct about Aggregation Theory, and that the way to understand Google depends on more than “two-sided market theory with some positive feedback loop stuff thrown in”, then I would like to think the fact that Stratechery can exist, without anyone’s permission, is a good thing.

After all, I am concerned about just how powerful these companies are. I am not intrinsically opposed to regulation — I believe in democratic oversight — but the risk of getting regulation wrong is that companies like Google become more entrenched, not less. This is why I objected to GDPR before it came in force, and why I spend time writing about antitrust (which, I might add, is not a traffic driver!). Getting the law and the economics right are important, particularly if the Internet challenges the fundamental assumptions underlying them.

  1. Please forgive me for the long excerpt, but despite Wu’s exhortation that one needs to read deeply to understand these issues, it appears he has not done me the same honor
  2. And yes, in the very long run, all fixed costs are marginal costs; that said, while the amount of capital costs for Aggregators is massive, their userbase is so large that even over the long run the fixed costs per user are infinitesimal, particularly relative to revenue generated
  3. In terms of the marginal customer; in aggregate there are of course significant bandwidth costs, but see the previous footnote
  4. Credit card fees are a significant transaction cost that do limit some types of businesses, but will generally be ignored in this analysis
04 Nov 04:58

Open Learning, Open Networks - Online Learning in 2020

by Stephen Downes

This is an edited transcript of the talk delivered November 3, 2020. For audio and video please see https://www.downes.ca/presentation/533
 
 

Hello. Hello everyone pleasure to be here today. This presentation will be in English. I'm going to be talking about open learning open networks and open learning.

Just a few just a few notes to begin our presentation.

  • First of all, you can share and edit the links to this presentation. I've opened up a page on Google Docs for you and so you should be able to go into that page and edit that page, add links, change things. I've left it wide open for anybody to change as you want. 
  • As well the discussion has a Twitter feed. #Numerique 2020 is the hashtag and I'm monitoring the hashtag as well and so… here it is, we have something from Tracy Rosen, but that's from yesterday. So anything you say here - I'm not sure how much time I'll have to get to them during the talk but you can certainly have a conversation with each other while I'm talking. 
  • Oh yes in the slides audio video recording all of that all the recording information will be online on my website www.downes.ca/presentation/533, and I see also that the conference is recording this zoom session as well. So we've got both.

So let's launch into it.

You've probably noticed it's been a challenging year. We've got, you know, the usual crises plus a little bit of extra. Today we've got climate change, of course we've got democracy in crisis (and I do note for the record that this presentation is happening the day of the 2020 presidential election in the United States, we don't know what's going to happen yet, so we're all interested or some of us are). We have ongoing problems in Canada, the US and around the world with poverty and inequality. We have issues with social media disinformation, fake news. Oh yes and we have a global pandemic happening, which means that everybody we're not everybody but many people are working at home. I am working at home (this is my personal home office as you can see, especially cleaned up for this presentation). And of course we have the economic crisis, and we're probably just at the beginning of that. So it's a pretty interesting time in the world today.

I'm going to structure my presentation today around the current work that I'm doing, and I know you're probably not necessarily interested in the current work that I'm doing, but this work touches on many of the themes that I think are prevalent in the world of online learning and new media today. So we'll begin with some of the stuff that I've done for my Covid response and then look at some projects that I'm involved in: extended reality training, data literacy; and then some off-the-side of the desk research that I've been doing on ethics and analytics and, of course, as always, personal learning environments.

Covid Response

So we begin with the Covid response. And you know, just in case you're curious, inside NRC now, of course we've shifted to working at home like everyone else. To make this work we've had to greatly expand our virtual private network capacity, buying a bunch of extra bandwidth and seat licenses. We adopted Zoom meetings (and I'm getting kind of good at working with zoom meetings), we set up Slack for quick messaging. Longer term, we're probably going to move all of this to Microsoft Teams, but you don't migrate an enterprise like NRC to Microsoft teams on the turn of a dime, so we're using these other things. And we've faced issues, the same sorts of issues that schools are facing around the world, issues with cloud services, making sure we're secure while working at a distance, migrating our processes to an online environment, and then thinking about the long-term impact of this. And there will be a long-term impact. I, for one, don't intend to go back to the office if I can possibly avoid it.

So the Covid response really is framed around the different types of educational technology that are available, everything from tools for experiential learning all the way down to tools for software simulation, workflow, transactions, and so on. And now what I did to begin with, to adapt to Covid, is I began by creating something called a ‘Quick Tech Guide’, because the idea here was that enterprise technology isn't going to change on a dime. People needed quick tools in a hurry to make things work. So, that's what I did. So if we go to that very quickly to take a look at - here it is bit.ly/quicktechguide - so here it is.

This basically on the left-hand side is a listing of pretty much all the different types of educational technology that you would ever need and what I've done in this guide is provided links for people for individuals to create any of these things using free tools. And... oh, there's a bunch of people on it already! So everything from calendar to teams to screen and video recording etc. Wow. It's nice to see that everybody's able to just zip into this like this right away. That's wonderful. When I first started it I left it open for anybody to edit, and so I had a fair amount of time that I had to spend fixing the edits.

But it became really popular in a hurry, you know, the first few days of the pandemic. The popularity is waning off a bit, but I'm still accepting submissions. There are all these options and if you don't like my guide, who says you have to right? There's a long list of other guides at the bottom, and if you send me yours, I'll add it to the list.

So, that was the first thing basically that I did for the Covid response, the Quick Tech Guide, and as I say, the tech I added needed to be web-based, free and open access, etcetera, as well. I'm looking at the longer-term impact here, you know, maybe I should expand this guide include pedagogy etc. Not really sure at this point in time.

Another part of the Covid response: thinking about MOOCs. A lot of people turned to MOOCs and, you know, it's almost like this year has become the resurgence of the MOOC. These are a few resources that I've put together on MOOCs over the years, including the True History of the MOOC, which was of course developed by us in 2008, and then Tony Bates wrote a pretty good article distinguishing between the cMOOC and the xMOOC. Now, I haven't run a MOOC over this coveted pandemic but, a lot of other people have, and so I haven't felt the need to, although I'm probably looking at running one or two. Wow, I was gonna say maybe in the fall, but it's November so... sometime. Sometime in the future.

I've also worked with some other bodies on the covered response, including a group put together by the International Science Council called CovidEA. That stands for Covid Education Alliance. We've just released something called a Covid EA Primer. That's just a rough quick draft of the sorts of things that we need to be thinking about when we're thinking about what it's going to take to get people to the point of moving to online learning, which is what we're going to have to do in this current covet environment.

So moving forward, you know, we're looking at a lot of issues that the Covid pandemic has brought to us. What kind of education are we looking at?

Providing competencies? You know, there's this whole story about the competency model of education, but there are issues with that model, issues around “are we providing the proper sort of education if we're focusing only on competencies?” And not a lot of, I won't say soft skills, but along the lines of the more social benefits that are created by an education, especially, you know, an education in an institution like Harvard, MIT, Princeton, Yale. They're not focused on competencies, they're focused on building networks, they're focused on creating social skills, giving people the practical experience they need to navigate in the academic and business world. Things like that.

Questions of the evidence for learning. There's been a controversy around an exam proctoring service called Proctorio, you know. What sort of evidence do we provide for learning? I did a presentation recently (there's a link in the slide) on open recognition networks. What about microlearning? What about course libraries? A lot of libraries during the pandemic had to, you know, change their systems on the fly in order to provide access to people who weren't on the university campus.

Extended Reality Training

So now the second type of project that I've been involved in is an immersive reality project. The name keeps changing, but right now it's XRT for TEAM. Extended reality XT for teams, I mean, in particular, for emergency response teams. Now we're looking at what immersive reality is. Is it just the VR helmet? What are the key elements of immersion? Does it include games or should it focus on serious learning? So, looking at our particular presentation, we're looking at virtual reality mostly but you know, there is the choice: extended reality or augmented reality.

Virtual reality two major platforms to consider: Unity and Unreal. Now Unity was originally released for the macOS and it's a pretty popular virtual reality platform, but there's also the Unreal Engine, and it's from Epic Games. So you might recall Epic Games is the company that is currently engaged in a lawsuit with Apple about the 30% surcharge that Apple levies on anything that is offered on the Apple or the IOS platform. This battle isn't just about app stores. This battle is about the future of virtual reality, and whether Apple gets a 30% cut basically from all of virtual reality, and it's a serious issue. So I think there's more to this battle between Epic and Apple than we're seeing in the news headlines.

Right now the big stopper for virtual reality is the cost of the hardware. Three of the major choices:

  • HTC Vive 1.3 thousand in other words thirteen hundred dollars
  • the HoloLens from microsoft, super expensive
  • you can get an Oculus headset for much less the problem with the oculus headset is you have to also get a Facebook account.

So, I think there's a gap still between where we are and virtual reality actually hitting education in a big way. But these prices are going to come down, I think, in fairly short order.

So anyhow, we're doing extended reality training for transportation emergencies and management. We've been doing a bit of background research on this now. We've got some people developing the actual simulations. I'm not doing the hands-on on that because I don't have a headset, but I've been doing some background research on it, and putting together the advisory group which we've put together of people in the sector from across Canada.

And here are a few links on this page to extended reality training for emergency management. Emergency management is a little outside my own area of expertise but it's so pretty interesting and I got to go to the fire building at NRC where they deliberately set things on fire, and that was pretty cool.

So, what really makes extended reality work is presence. I did a presentation on presence a month or two ago looking at models of presence, like the Community of Inquiry model from Anderson, Archer and Garrison. I also surveyed some other kinds of presence, you know, interface, learning, autonomy, etc. presence. Really is the idea that there's somebody at the other end of the system. If I'm succeeding with presence here today what you should be getting is the feeling that I'm human, I'm doing stuff, I'm doing stuff live on the fly, I'm conveying not just information but maybe a sense of my interest in the subject, my excitement about the subject etc. If we think about other kinds of presence, you know, for example, interface, learning, autonomy, cognitive social, etc, these are different aspects, different ways of me projecting myself into the environment where you are. And I've thought about it, and to me, what makes the difference in presence and what will make the difference in extended reality isn't the technology, it's belief. Does the person using the tool believe that they're there? Do they think it's real? Are they willing to engage? So it's very much a perceptual question rather than a technology question. So I found that pretty interesting.

Data Literacy

Another big project that we're working on is on data literacy. This seems like a bit of a jump from the other stuff, but it's not. I mean, if we go back to the crises that we've been looking at (fake news, democracy in crisis and all of that) plus all of the complications that have been brought to us by the pandemic and the difficulties, you know, even if things like having a meeting online, things like data literacy moved to the fore.

I've done and will be presenting in another forum a fair amount of background work here in data literacy. I would break it down into four major data literacy models (clip and save):

  • data stewardship
  • science and research
  • information literacy, and
  • analytics and decision making

These are for frames or four ways of thinking about data literacy.

For example: data stewardship. It’s: do you know how to manage your data? Do you have a source of truth for your data? Do you know how to integrate multiple sources of data into a data lake? Do you know how to organize that data into an application specific data marked stuff like that?

There are also different measurement frameworks for assessing data literacy. Most of what's out there now is self-assessment, which is not that useful. As well, there's a distinction to be drawn, a useful one, I think, between individual and collective data literacy. And then, because we're working in a practical context, data literacy isn't this thing that's abstract out there in the world; we need a mechanism for mapping what we think data literacy is to what we think the benefits are that are realized from it. You know, it might be as simple as saving money or not being fooled. In our context, we're looking at operational advantages, being better than the other people who are in the same field.

So anyhow, I've compiled a bunch of stuff and I continue to add to this. You can view that as soon as it loads here again. It's a Google doc, and so, here are all of my notes the different types of data literacy, etc. I put on the PowerPoint slide a couple of key references but you know, there's lots and lots and lots of stuff you can read on data literacy. So if you're interested in this subject this might be a starting point for you, and if you're interested in data literacy and have a resource that you haven't found please send it to me. I'll add it to this list. I'll add the summary to the summary and when I produce the overall report on what I think data illiteracy is and how to go about teaching it. You'll be able to access it there in that copy. I don't know when that'll be done but some, Time in the next few months probably maybe sooner so watch for it. It's such an important topic and it is new. I mean work began really seriously on it in, say, 2010. The earliest significant references are 2008, but 2010 is kind of when it all came together.

I do want to mention the challenges to learning providers that data literacy, the whole question, poses. Learning providers today are asking whether they should focus on content knowledge versus literacies, not just reading and writing, but what I call critical literacies, which would include critical thinking, the capacity to explain, the ability to sort real from false information, and even things like identifying value systems, identifying what you want to value, etc. They are also looking at the distinction between ‘employment skills’ versus ‘education’. That's a key issue today. People are always talking about how education should be providing job skills. The problem is the job skills that are relevant today aren't the jobs skills that'll be relevant when they graduate. We've seen in our world of crisis how society can change on a dime, and we need to be able to develop ways for people to be resilient, to be able to learn how to learn, and that means focusing on what all call here ‘education’.

We're also looking at major social change inside and outside of education. Do we rely on authority or can we look at the wisdom of crowds (properly so-called). This is the distinction between “do we learn from experts?” or “do we learn for ourselves with the support of experts?” And of course the question of credentials again comes up in this area.

This is basically my approach to data literacy. My approach to critical literacy is generally the major critical literacies: syntax, semantics, context, use, cognition, and change; then the skills that are needed in working in a data environment: aggregate, remix, repurpose, feed forward; and then the semantic side of that, the values that make a data network work most effectively: autonomy, diversity, openness, interaction. If you've listened to or see any of my stuff at all in the past you've probably seen me hit on some of these subjects in my various talks.

Ethics, Analytics and the Duty of Care

The next major subject is ethics, analytics and the duty of care. Now one of the things that I did there is a presentation on open recognition networks. That was just a few days ago and the audio and video and all of that are available for you on the web. See how this is part of data literacy: instead of just doing a presentation and letting it disappear into the ether I collect this, the slides, the audio, the video. I use Google to make an automated transcript; I use my Google Pixel And I provide a link back to the conference. So when I said this presentation will be available at presentation/533, well here's the site right now because the presentation hasn't happened yet, but in a day or two all of this stuff will be available on this website and you'll be able to access it. That's data management, but that's also adapting how you're doing what you're doing to the online world. Okay. So also on ethics analytics and duty of care.

I've been getting involved a little bit in communities and councils related to this subject. I've joined the government-wide artificial intelligence policy community of practice and actually I'll be working on a subcommittee on best practices for AI in education. So if you have ideas on that, send them to me. This is the gcCollab link. Now gcCollab is a public facing website, but it's not wide open, so I'm not sure if you will be able to get access to it. Generally if you're an academic or if you're working in government, you can access it. But each individual case is different.

Also internally at NRC I'm on a data equity working group. I also did a thing recently. I don't have a link to it looking at ethical codes and research ethics boards and I'm looking at joining the research ethics board for the NRC. That should be a lot of fun, actually, and I know not everybody thinks of something like that is fun, but I think of something like that is fun.

The main bit about ethics, analytics and duty of care for me is a presentation, then I started writing a paper and it grew. So, here's the Google Docs version of it. This is page one.I've looked at applications of AI in education, issues, ethical codes, and then beginning with ethical approaches and through the rest of it. I have notes. This is gradually being converted into a book which I'm hosting on PressBooks. I actually have real text for, say, the first third to a half of it, and then the rest of it is my notes and progress. I think you'll find it already interesting. If you have suggestions or ideas about things that I should consider, I'm all ears, and again, of course, the results of this will be made freely and openly available as a service to the community.

I think of this as the world's most boring book. And you know, I'm not writing this for marketability or sales or anything like that. I'm writing this for comprehensiveness and accuracy. So for example when I talk about the applications of analytics and learning I'm talking about all of the applications of analytics and learning. I'm not picking and choosing. I'm capturing everything with examples, so you can get a complete picture of it. Similarly with the issues. I'm not highlighting this or that issue. I'm identifying all of them. That's what makes it so boring but I think that's also what makes it useful. At least I hope that's what makes it useful. This has been a big part of my work over the last year and it'll continue to occupy my time and my interest, because I think we need this broad-based look.

Again we go back to all of the issues in our society: the pandemic, the information issues, the democracy issues; we as a society need to get a handle nn the ethical approaches to artificial intelligence and other technologies, and especially how we talk about them and how we teach them and.

Here's my conclusion from the work that I've done so far - still tentative, but I just read a thing today from Geoffrey Hinton, the father of AI, saying eventually deep learning is going to do everything. There aren't any gaps, that is, that aren't going to be done by deep learning. There aren't any jobs, any super-creative jobs, that only humans can do. We like to think that, but deep learning works the same way brains work, which means they're eventually going to do all this work.

So what is there for us to do? Our job in the future, our only job in the future, will be to be teachers, to teach artificial intelligence. That means we have to get our acts together in the sense that we have to figure out you know, not by voting, but figure out what values, what principles, what processes we want to teach artificial intelligence. We have to instantiate them in ourselves. Because otherwise we'll never be able to teach the AI. You know, the issues that come up in AI - bias and prejudice and bad predictions and all of that - we can see those in the population as a whole, right? So we need to fix these in ourselves before we can ever fix them in AI, because we are the ones teaching AI. That will be our job. So we have to get it right.

Anyhow, I'm looking forward to finishing this even if it's a boring book it might be relevant and useful. It's certainly possible.

Personal Learning Environments

The last thing is personal learning environments. A few years ago, I ran a MOOC called e-learning 3.0 that's still available on the website. Here it is. And it covers some of the major trends in e-learning, not the ones that are happening now that other futurists like Horizon report will predict, but the stuff that's coming that will impact us really in a big way in five to ten years.

I broke them down into: data, cloud, graph, identity, resources, recognition, community, experience and agency. I wrote a little essay for each and talked about them in some presentations, especially later the big idea from each of these things. There's a lot of stuff in there. There's no way to summarize it at this point in time, but this content I'm finding is still relevant even to this day.

The other thing that I'm doing with respect to personal learning environments is continuing to work on distributed social networks, you know things like Opera Unite, Mozilla OS, Diaspora - these have passed by the wayside. SoLiD, which is Tim Berners-Lee's project, continues to be important but I noticed just yesterday Mitzi Laszlo, their manager, said that she's moving on, so I wonder about that project. I'm still interested in the Interplanetary File System. I'm still very interested in Mastodon, the federverse generally, and something called ActivityPub. If you want to learn about Fediverse, or Federated Networks, this website is a really comprehensive website. It covers everything for you.

The other thing I'm doing is something called Grasshopper in a box and what I've done is taken my gRSShopper application (and put it into a container). Anyhow, on that website is a link to a Docker container so that with just one or two commands you can actually get an instance of gRSShopper running in a virtual container on your own desktop. It should run on any desktop now. It's not perfect, I'm still working on it, but it gives it's the first real chance for people who are not programming experts to get a sense of what I'm trying to do with grasshopper and I'm going to continue to develop this idea and this concept.

Cloud infrastructures in general are pretty important for this. Like I say I'm using Docker. I've done it in the past using Vagrant. It didn't go as well as I wanted to. Vagrant and gRSShopper resulted in me never being invited back to Online Educa Berlin, so that tells you something. The thing that containerization does for you is it provides you access to a whole bunch of cloud services - Wolfram Alpha, MS Cognitive Services, basic AI services, automated translation, all of that sort of thing.

So my view of the personal learning environment is you get one of these containers, it has gRSShopper in it, gRSShopper accesses the cloud storage the distributed data networks and these cloud services that you can use in order to work with your own “data - aggregate - remix - repurpose - feed - forward”, that's what gRSShopper is intended to support.

It's your personal answer to fake news, the information crisis, the crisis in democracy, global warming and all the rest of it. Here's the concept all of this: different information comes in, you manage it and then you broadcast it to wherever you want. That's also where data literacy comes in, right? So you know, it's interesting.

This position that I'm working in, it's not about the technology all the time, hey you got another technology, but it's so often about critical literacy, about perception, sense of belief, it's so often about how people see things, what their environment is, what their ways of perceiving things are, how they're going to learn. You can't dismiss the technology, and it's a two-way kind of thing. And you don't ‘plan pedagogy then do technology’. It goes back and forth because the technology lets you do stuff you were never able to do before the technology came.

So some of the things that I've been looking at: repository networks, personal cloud, personal learning record, personal learning assistants (probably powered by AI that we have to teach) and distributed intelligence.

You know, we're facing a lot of challenges in our educational institutions with this economic crisis coming, the bottom is going to fall out of the financial support governments provide. We as a people have to adapt. So we are looking at these challenges, we're looking at what we need to go forward. We can't depend on the institutions to do this. We have to do it for ourselves.

Thank you.

04 Nov 04:07

Apple reportedly unveiling ARM-based MacBook Air, Pro laptops at November 10th event

by Aisha Malik
Apple

Apple is launching ARM-based MacBook Air and Pro laptops at its November 10th event, according to a new report from Bloomberg’s Mark Gurman and Debby Wu.

This will be a significant move from Apple, as it will be the first time the tech giant is launching a laptop featuring its own custom ARM-based CPUs.

Gurman and Wu report that Apple is going to unveil three new laptops at the ‘One More Thing’ event next week, one 13-inch MacBook Air and two MacBook Pro laptops (a 13-inch model and a 16-inch model).

It’s not exactly surprising that Apple is unveiling its ARM-based Macs next week since several rumours indicated that the tech giant would launch them at an event in November.

During WWDC earlier this year, Apple officially announced its plans to transition its Mac lineup to its own proprietary ARM-based processors and shift away from Intel chips. This came after months of rumours regarding the transition.

With this latest report, we now know what models may get the custom CPUs first. Apple CEO Tim Cook has previously stated that the transition to the proprietary processors will take two years, which gives us an idea of when we can expect computers outside of the MacBook line to be updated to the ARM-based processors.

The report also suggests that Apple is working on a redesigned iMac, a half-sized Mac Pro, and a new Mac mini, all with Apple chip architecture.

At the event, we’ll likely also see Apple’s often-rumoured AirPods Studio, its Bluetooth tracking AirTag accessor and, finally, the overdue public launch of macOS Big Sur.

Source: Bloomberg

The post Apple reportedly unveiling ARM-based MacBook Air, Pro laptops at November 10th event appeared first on MobileSyrup.

04 Nov 04:07

Microsoft Surface Pro X (2020) Review: All dressed up with no where to go

by Jonathan Lamont

If it weren’t for the fact that the pandemic has me stuck in my basement working on this review instead of sitting in the MobileSyrup office, I’d say I have a bad case of déjà vu.

Microsoft’s new Surface Pro X is the same as the old Surface Pro X in almost every way, including its name. For the sake of my sanity (and yours), I’ll refer to them as the Pro X (2020) and Pro X (2019) throughout this review. I’ve been using the Pro X (2020) for about a week and, aside from being at my home office, it feels a lot like last year. The main three differences between this year’s and last year’s Pro X are as follows: new chips, new colour and new price.

Although the hardware changes are minimal with the Surface Pro X (2020), Microsoft could very well invalidate everything I say in this review in the next few months. The most significant change for either the Pro X (2020) or Pro X (2019) is still on the way. The Redmond, Washington-based company plans to roll out support for emulation of x86 64-bit (also called x86-64) apps on ARM processors.

If that sounds like gibberish to you, I don’t blame you. In short, it means that the Pro X (2020) and presumably the Pro X (2019) will soon have access to more Windows apps than they currently do. However, at the time of writing, the new feature wasn’t live and I wasn’t able to test it. As far as Microsoft has said, the x86-64 emulation will start rolling out to Windows Insider testers in November. I’ll get more into the technical details deeper in the review for those who care deeply about processor architecture.

For now, all you need to know is that when that emulation capability does arrive, one of my gripes with the Pro X line may no longer apply, assuming that emulation works well and allows for many more Windows apps to play nice with ARM processors. I hope I’ll be able to test x86-64 emulation on this Pro X (2020) once it goes live.

All that aside, the Pro X (2020) is in some cases better and most ways the same as the OG Pro X. And depending on how you feel about iterative upgrades, that will either be just fine or an annoying pain point.

Specs

  • Display: 13-inch PixelSense display, 2880×1920 pixel resolution (267 ppi), 3:2 aspect ratio
  • Processor: Microsoft SQ2 (last year’s SQ1 still available in some models)
  • Memory: 16GB LPDDR4x RAM (8GB available with SQ1 models)
  • Storage: Removable SSD in 256GB or 512GB variants (128GB available with SQ1 models)
  • Dimensions: 287mm x 208mm x 7.3mm
  • Weight: 1.7lbs (774g) not including keyboard
  • Camera: Windows Hello face authentication camera (front-facing), 5.0MP front-facing camera with 1080p full HD video, 10.0MP rear-facing autofocus camera with 1080p full HD video
  • Operating System: Windows 10
  • Battery: Up to 15 hours
  • Connectivity: Wi-Fi 5, Bluetooth 5, LTE
  • Sensors: Accelerometer, Gyroscope, Magnetometer, Ambient light sensor
  • Ports: 2x USB-C, 1x Surface Connect Port, Surface Keyboard connector port, 1x nano SIM
  • Graphics: Microsoft SQ2 with Adreno 690 GPU

SQ2 brings a marginal improvement

Let’s start with the most significant change, the new SQ2 processor in the Pro X (2020). The SQ chips are custom, ARM-based processors developed by Microsoft and Qualcomm. The 2019 Pro X debuted with the SQ1 and the Pro X (2020)’s SQ2 offers a minimal boost in performance.

I ran a Geekbench 5 test and got scores of 799 for single-core and 3137 for multi-core, which appears to be well in the average score based on other Pro X (2020) tests visible on Geekbench’s website.

I didn’t run benchmarks on the Pro X (2019) when I reviewed it last year, likely because at the time benchmark software didn’t support Windows on ARM. However, looking through the Pro X (2019) testing history on Geekbench’s website reveals single-core scores around 750 points and multi-core around 2950. While the SQ2 scored better than the SQ1, it’s hardly a significant improvement. Most people considering buying a Pro X would be better off going with the cheaper SQ1 model and getting almost identical performance, with the exception of people who want the 16GB RAM, 256GB storage model. The SQ2 variant is only $60 more than the SQ1 version, so I’d say the extra cost is negligible.

It’s also disappointing to see those numbers in comparison to Microsoft’s new Surface Laptop Go, which outperforms both versions of the Pro X using a last-gen Intel CPU. Granted, comparing an x86 Intel processor with the ARM-based SQ1 or 2 isn’t entirely fair given the differences in architecture and that Windows laptops have historically run on x86. However, for a customer looking to buy a new laptop, the Laptop Go offers better performance for less money, and that’s not even getting into the other laptops out there that match the Laptop Go in specs but cost less.

Unfortunately, other benchmarks I’d typically run on a laptop weren’t compatible with the SQ2 chipset, making Geekbench one of the few ways of comparing benchmark performance. It’s also worth noting that benchmarks aren’t everything. In my day-to-day use of the Pro X (2020), it handled most things just fine. For the most part, that just meant browsing the web, either for work or entertainment, since the SQ2 processor prohibits many Windows apps from working well, or at all, on this device.

More performance for nothing

More power is great, but it doesn’t mean much if you can’t make use of it. When I reviewed the Pro X (2019) last year, I was quite excited for the prospect of Windows on ARM and what it could mean for thin-and-light, portable computers like the Surface line. Although not as powerful as some x86 options, many of the ARM chips on offer come close — as evidenced by the Pro X (2020) and the Laptop Go. Close enough, at least, for ARM chips to be viable options, especially in 2-in-1s and ultra-portable PCs where the goal isn’t necessarily high-end performance but instead longevity and connectivity.

The biggest hurdle, however, is the lack of compatible apps. Sure, some developers have built variants of their software that work with ARM-based Windows devices. Unfortunately, a year out from the original Surface Pro X, the number of apps that work natively on ARM has improved, but not gotten significantly better.

Anyone who buys a Surface Pro X will find themselves using what amounts to a glorified Chromebook, but with Microsoft’s Edge browser. Edge remains one of the few good apps built for Windows on ARM. While I’m a Firefox fan, and Firefox does offer an ARM version of its browser, it doesn’t feel quite as fast as Edge on ARM. I’m not referring to browsing speed here either. General performance of the browser, such as the animations that play when opening or switching tabs, just isn’t as polished or smooth as Edge. And Chrome fans shouldn’t even consider the Pro X because Google’s Chrome for ARM is still nowhere to be found.

Sure, you can emulate 32-bit x86 applications, but emulation degrades performance and in many cases, developers have moved on to 64-bit apps. Windows on ARM can’t emulate x86-64 apps yet, but as mentioned up top, x86-64 emulation support will enter testing next month and could change the number of apps available to Pro X owners.

Adobe still doesn’t place nice with ARM

Creatives who rely on Adobe apps will also want to avoid the Surface Pro X (2020). Like last year’s model, Adobe has yet to roll out ARM support for its apps (the company says it’s coming, but there’s no release date yet). Unfortunately, things are in a worse position in 2020. Last year, I worked around the lack of support by downloading the 2018 version of Photoshop CC, the last version of the software with a 32-bit variant. Although it was older, it had all the tools I needed for my job and ran well on the Pro X (2019) despite the emulation. It wasn’t perfect, but as a stop-gap solution, it worked.

However, I wasn’t able to do the same with the Pro X (2020). In large part, this was because Adobe seems to have removed the option to download older versions of Photoshop. If memory serves, the process last year involved downloading the company’s Creative Cloud app and then using the app to select an older version of Photoshop to install. When I try to do the same on the Surface Pro X (2020), installing the Creative Cloud app causes an error because it doesn’t support ARM.

I also tried downloading Photoshop directly from the Creative Cloud website, but it would only let me download the latest 64-bit version, and the installer would also throw an error. Interestingly, that error claimed I was trying to download ‘illegitimate’ Adobe software and would direct me back to the same Creative Cloud website I started on to download “genuine Photoshop.”

Granted, this is likely a niche issue — not many people I know actively need or use Photoshop. In fact, most people probably use Windows laptops for browsing the web, Office apps or playing games. And while gaming is also limited (but not out of reach) thanks to the ARM chipset, those other two tasks work pretty well as long as you get a browser with support for ARM hardware. In other words, Microsoft Edge or Firefox.

Circling back to gaming specifically, some lighter titles, like Among Us, should work fine even with emulation. However, don’t expect to play the latest and greatest titles with the settings maxed.

Everything could change

Once Microsoft’s x86-64 emulation launches for ARM-based Windows PCs, most of those issues could change. That emulation should allow just about any Windows app to run on ARM-based hardware, invalidating most of the above criticism about limited apps.

However, x86-64 app emulation may bring a new set of problems. For one, it’s not clear how well the emulation will work. Based on the current x86-32 app emulation, my guess is that x86-64 apps on ARM will be useable, but not necessarily reliable. In my experience, x86-32 apps work when emulated, but with some performance degradation and, depending on how complex the software is, some compatibility issues. Plus, emulating x86 apps will hit the battery more than running native ARM apps, which negates one of the main benefits of using ARM-based processors.

In short, x86-64 could be a great stop-gap measure to hold things over until developers release apps that support ARM hardware. Long term, I don’t think most people will want to rely on emulated x86-64 apps. Unfortunately, developers have so far shown some reluctance in porting apps to ARM.

Perhaps this will change when Apple’s new ARM-based Macs arrive. With more computers transitioning to ARM, there’s more incentive for developers to move to ARM. But it remains to be seen if that will translate to Windows developers adopting ARM.

Ultimately, this is all speculation since I can’t test x86-64 app emulation on the Surface Pro X (2020). The software won’t be available November and hopefully once it arrives, I can test it on the Pro X (2020).

So, should you buy a Pro X (2020) in hopes that x86-64 app emulation fixes the issue of limited app support? Absolutely not. If you really want a Surface Pro X, I would advise waiting until x86-64 app emulation arrives and people test it before making a purchase. I think that feature will largely make or break the device.

We’ve seen this before

As for the design of the Surface Pro X (2020), there’s really nothing new here — it’s about as iterative as you can get. Internally, the only change is the addition of a SQ2 processor, while externally there’s a new colour variant, ‘Platinum,’ and new options for the Surface Pro X Signature Keyboard, ‘Poppy Red,’ ‘Ice Blue,’ ‘Platinum’ and ‘Black.’

I got the opportunity to test the new Platinum colour and, while I like it, I think the ‘Matte Black’ looks way cooler. The upside to Platinum is it doesn’t show fingerprints and smudges as much as the Matte Black. It’s also worth noting Platinum is only available on the SQ2 models, while the superior Matte Black is available on every model.

On one hand, the Surface Pro X (2019) sported an excellent redesign that was a more modern refresh of Microsoft’s Intel-based Surface Pro line. The Pro X (2020) has all the same benefits — large, nearly edge-to-edge display, thin-and-light design, Windows Hello face recognition, great keyboard. It’s all here and it all still looks and works great.

On the other hand, it also means that the few shortcomings of the Pro X (2019) design make a return. For example, the tiny touchpad on the Signature Keyboard. There’s also the high $189.99 price of the Signature Keyboard, an arguably necessary accessory to get the most out of either Pro X model.

None of these are critical issues and I still think the design is well ahead of the Surface Pro line. Given Microsoft’s penchant for not refreshing its hardware designs frequently, I expect we’ll see this design carried forward on the next few Pro X models too. That’s not a bad thing, although it may get boring after a while.

Marginal improvement in battery life

Although I’ve been mostly negative about the Pro X (2020) so far, I must say that it isn’t all bad. Battery life, for example, is improved over last year’s model, although it’s hard to say how much.

I got through almost a full workday on one charge with the Pro X (2020), clocking in at about seven to seven and a half hours. That almost entirely involved using the Firefox browser with 10+ tabs open — someone running Microsoft Edge will likely seen even better battery life thanks to optimization.

That battery life is superb, and ultimately a testament to the efficiency of ARM compared to x86 chips from Intel or AMD. In my experience, most x86-based laptops need to plug in after maybe five hours of use. Granted, that can fluctuate drastically based on how you use the device, what processor is in it, the battery size and various other factors.

With last year’s Pro X, I got between five and six hours on the battery consistently. On the surface, the Pro X (2020) seems like a decent improvement. However, it’s worth noting that my usage was a bit different last year, with Photoshop being a part of my testing. Since I wasn’t able to run Photoshop on the Pro X (2020), it’s hard to say how much of an impact it had on battery life.

Still, an extra hour of battery is nice, whatever the reason may be. You can likely extend your time off the charger by lowering the performance slider in Windows to favour battery, lowering brightness and by being more conservative with which apps you’re using and how many tabs are open in your browser. Plus, running native ARM apps and Microsoft’s Edge browser will likely further increase battery life.

Canadian data is finally an option

Another benefit of Microsoft’s SQ chips is that they can leverage Qualcomm’s excellent modem hardware. With the Pro X (2020), customers can add LTE data via eSIM or nano SIM via the built-in ‘Mobile Plans’ app. Last year, the only two providers listed in the app were GigSky and Ubigi, which offer sometimes pricey data plans for eSIM devices. Both services target travellers as an easy way to add some extra data when abroad.

This time around, Bell is available as an option in the Mobile Plans app. Selecting Bell in the app takes you to the carrier’s website. Customers are asked to select their province and whether they’re an existing Bell customer or a new customer. You then get the option to select from one of three data plans, listed below:

  • $15 per month, 1.5GB of data
  • $35 per month, 5GB of data
  • $70 per month, 11GB of data

Bell also lists that each plan comes with a $30 activation credit, which will be available “until further notice.” Once you select your plan, Bell asks for your credit card details. It appears that you don’t need to have an existing Bell mobile line to set up one of these plans.

Bell added support for self-activating data on the Pro X line and other connected PCs and tablets back in May. Plus, Bell supports eSIM with the Pro X, so it’s just a matter of following the activation procedure in the Mobile Plans app.

It’s good to see an actual Canadian carrier as an option in the Mobile Plans app. Hopefully, more carriers follow suit. Presumably, Pro X (2019) owners will also have access to the Bell plans through the Mobile Plans app since both devices sport the same modem hardware.

More of the same

The Surface Pro X (2020) is a very iterative update from Microsoft. Given the ongoing pandemic and everything else that’s going on, it’s understandable to see a dull launch like this. Still, it’s frustrating to see with the Pro X line, especially considering how far it has to go.

When I reviewed the Pro X (2019), I felt like it was the future of Surface. In several ways it was a marked improvement over the Surface Pro line and, even though the ARM-based SQ1 processor had some early teething issues and app compatibility problems, I felt it was a step in the right direction for Microsoft. While x86 chips from AMD and Intel will likely reign supreme in high-end PCs for the foreseeable future, ARM offers a lot of benefits in the portable PC market — eventually, it’ll be a great option.

The post Microsoft Surface Pro X (2020) Review: All dressed up with no where to go appeared first on MobileSyrup.

04 Nov 04:02

A compelling arguement for public art on transi...

by illustratedvancouver
31 Oct 00:59

Where coronavirus cases are peaking

by Nathan Yau

With this simple choropleth map, Lauren Leatherby for The New York Times shows where coronavirus cases peaked in the past month or week. It appears the United States still has a way to go:

With case counts trending upward in almost every state — and 21 of those states adding more cases in the last week than in any other seven-day stretch — officials in parts of the country are once again implementing control measures. Residents of El Paso are under a two-week stay-at-home order, and indoor dining will be halted in Chicago beginning Friday, Oct. 30. Other officials are considering new restrictions in an effort to curb the virus’s rapid spread.

Oh.

Tags: coronavirus, New York Times, peak

30 Oct 23:30

Xwexwesélken: ways of doing

by Chris Corrigan

Xwexwesélken is the Squamish name for the mountain goat, a creature that lives on the high rocky cliffs of the coast mountains, picking its way across perilous and sheer vertical surfaces in search of food and protection. Mountain goat wool is a prized material in Squamish culture, used to weave blankets with immense spiritual and social significance.

In the last session of the Mi Tel’nexw leadership course, Chepxímiya Siyám (Chief Janice George) used the mountain goat as her metaphor for teaching about Squamish ways of doing. As a master weaver who has brought the weaving practice back to life in many Coast Salish communities, she wove her personal story with the deeper cultural story of Squamish ways of life, as goat wool is woven through weft and warp into a beautiful, powerful blanket. I heard two critical teachings in her presentation: doing things well comes down to being anchored in story and treating all work as ceremony.

Chepxímiya started her teaching with her own personal history of how she grew in the cultural knowledge, raised by her grandmother after her family died in a car accident, and working as an archeology researcher. Several times she talked about how “the culture saved my life.”

Chepxímiya was raised in the Squamish tradition of women’s leadership, leadership that is characterized by gentleness and deep knowledge of the rhythms and seasons of land, family, medicines, and food, so that the people may be cared for. In a culture where men were often sent to war, the women are knowledge keepers. A man might be killed in battle and all his knowledge dies with him. Women hold the deep knowledge of ceremony while men lead the work.

“To lead,” she said, “we have to believe in our ancestors, their teachings, and ourselves.” Who I am and what I am doing is deeply connected to my family, to our stories, and to my aspirations for my children and their children. This is the bigger context for any action, but it is so easy to make things short-term and succumb to immediate needs that don’t take the bigger picture into account. If one is disconnected from family, community, land, and history, then one is lacking the perspective needed to lead well.

One of Chepxímiya’s profound early learnings about this came in her research work when she discovered that the National Museum in Ottawa had two skeletons in its possession that were taken from Xway Xway, the village site in Stanley Park in Vancouver that is located near to where the totem poles stand today. In the early part of the 20th century, it was cleared and the residents relocated across the water to Xwmeltch’stn. In 1879 and again in 1928, two skeletons were disinterred and taken to the museum. Chepxímiya was a key part of the effort to bring these ancestors home in 2006. When the skeletons arrived in Vancouver, they were driven to the Park and brought to Xway Xway for one more visit before being taken away and buried in the cemetery. It was a profound moment, connecting ancestors, land, history, and ceremony.

This moment led Chepxímiya to learn more about her leadership and to accept her responsibility as a Siyám. She was invited to take a name and refused to do so until everyone in her family agreed that it was a good action, and there was no jealousy or conflict. The name she was given is from Senákw, the village on the south shore of False Creek that was the subject of nearly a century of litigation with the federal government and decades of discussions between Squamish, Musqueam, and Tsleil-Waututh. Chepxím was one of the last people to live at Senákw before the villagers were moved against their will. In taking her name, Chepxímiya consulted Elders and leaders from Squamish, Musqueam, and Tsleil-Waututh, and all were invited to witness in her naming ceremony. As Cheif Leonard George told her at the time “that’s a gutsy move you’re making” but when the final litigation was all settled and the Squamish regained the village site, the final court decision was released on her birthday.

As Chepxímiya says, when you walk softly and receive signs, you become susceptible to spirit. This is why ceremony as a model of “doing” is so profound.

Lessons from Squamish ceremony

The way in which Squamish ceremonies are conducted contains many lessons for leadership. Chepxímiya shared these lessons generously, and these are my reflections on her teachings.

Family, land, and teachings are all connected to action. Squamish ceremonies are conducted under strict protocols. These protocols include an intense period of preparation where one personally invites people to come, prepares to seat, feed, and gift every person who comes. There are people in the community who manage the feasts and conduct the ceremony with detailed knowledge of every person’s name, who their family is, which community they come from, how they are related to the family hosting the feast and where they are in their spiritual development. For a feast with hundreds of attendees, this is an immense amount of knowledge to carry, and making a mistake – such as pronouncing a name wrong, running out of food or seating a person in the wrong place – can be costly to the standing and status of the host family. Knowing the context is critical, to the finest detail, and finding the people who can lead in a respectful and generous way is essential to keeping the work relational.

(It is one of my great failings that I have a hard time remembering people’s names and faces, and I personally understand how hurtful it is to get this wrong. I spend a lot of time trying to remember and also humbly apologizing for my inability to connect faces and names.)

“The more you give away the richer you are.” Squamish culture is a reciprocal gift giving culture, and in giving away possessions, names, and power, one humbles oneself and open oneself to be able to receive from others. Those who hold on to their possessions and hoard them are unable to receive gifts from others. In my own spiritual practice, emptying is a key practice, to become open to receiving. To receive, first, you must give and that is a powerful leadership lesson.

Prepare seriously for important work. When leaders are appointed to lead in ceremony, they are blanketed with a mountain goat wool blanket to protect their heart and given a headband made of cedar to focus their mind so they can act purely, kindly, and with the purpose of the work in mind. Witnesses are appointed for any kind of important work and are given the job of reporting the story of what happened in as much detail as possible. In my own facilitation practice, these are the practices of hosting and harvesting. Preparation for hard work is essential, and perhaps this is an obvious teaching, but in a rushed world, when we can zoom from one meeting to another, it is critical to create time to prepare ourselves well to host and harvest important moments.

“The weaver’s job is to create a pure space for your people to stand on.” I have left the most profound teaching for last, as this speaks so powerfully to the work I have done for years trying to understand the role of space and containers in my facilitation and strategic leadership practice. The blankets that Chepxímiya weaves are both for the protection of the heart, but also to lay down on the floor of the longhouse so that people may stand on them as they are appointed to their witnessing roles or given their new names. The blanket creates a pure space, a container that is open to potential and clear of anything that holds back the person in fulfilling their duties, It is both a physical purity and a spiritual purity that is represented. The image of the leader as a facilitator and as a weaver is powerful; creating a lifegiving context for action; providing the conditions of material and relational capacity for a person to live out their purpose for their family and community and territory; to trust a person to act while keeping them connected to all that is important. This is really the gift of these teachings.

Mi tel’nexw is a powerful leadership journey. As a person who lives within Skwxwu7mesh Temix, this journey has given me some deep insight into what is HERE, into the traditions that are soaked into the land in which I live. It helps me better understand Squamish practice and tradition and gives me lenses for reflection on my own leadership the concepts that I teach others. You too can go on this journey, and the next course starts on November 3.

I lift my hands up to Skwetsímeltxw, Lloyd, Ta7táliya, Chepxímiya and Ta7táliya-men for this offering, for their generosity and their beautiful work. Chen kw’enmantumi!