On the Camerata, memory, and filesystems

Some of these sections should maybe be split out into posts. I'll let them stew and see what happens.

I've been itching to work through A Programmer's Introduction to Mathematics, so maybe I'll kick off that as the first of the technical books that I start reading. Coincidentally, I happen to have a notebook on standby for it. Why this book? It covers, at a high level, a lot of the maths topics that I want to build familiarity with. When I do assessments of where I am and where I want to be, one of the biggest barriers to moving forward is a lack of maths comfort.

On the Camerata

I've been thinking a lot about the idea of the Camerata and the need to find people that will help me grow. The new job seems like a good place to progress, but it seems like it would be helpful to find people that I don't work with - like some of the IRC channels I used to be a member of. The nice thing was that it wasn't all people interested in the same thing. The Cloudflare paper club was good for this; we had representation from security engineering, infosec, SRE, the data team, and probably a few more that I forgot about. Jessica noted the key characteristics of the Camerata as being:

  • People with diverse skills and perspectives worked together.
  • They had sponsorship.
  • They shared a common goal.
  • They were unsatisfied.
  • They had a common strategy.
  • The Camerata talked a lot, and listened to each other talk.
  • They practiced together!
  • They experimented.
  • Criticism came from people designated to the role.

As I'm reading The Dream Machine, I can't help but notice the same thing in a lot of the other efforts described, like the MAC and Xerox PARC. I bet that if you looked at other places, like Sun pre-Oracle, you'd find the same thing. It's not a guarantee of financial success, but it will make people good at what they do. That is very much something that I think I missed out on - most of my work to date has been silo'd off as a single person, and it's limited my growth. One way I'm fighting this is in my bullet journal: I have tables for skills I want to learn, which is an unordered set of things, and a table for moving things forward: what should I do now, and what should I after that? When I finish the now and move to the next, I write down the new next. The first table is kind of a map of where I'm going, the second is a tool for keeping me focused. There's still no replacement for feedback and a group that helps you to refine your skills.

On memory

There was an Aeon post [1] published last week that I missed; it asks the question of "what becomes safe to forget" in the context of the transition to a society where increasingly more work is done by computer. The author makes the example that as we switched to an agrarian society, we forgot how to track animals and survive in the woods. Certainly, some people still remember how, but this is by-and-large not commonly remembered in modern society - they have become the province of mostly hobbyists. So what are the skills that we no longer need? What things that we consider foundational will be someone's hobby in the future? Is that a good thing?

It's more than just societal skills, though. What about the kinds of things we ourselves used to remember, individually? For example, in high school, you had to remember (or write down) your friends phone numbers; I think that now most people use their phones for this [2].

There's something called transactive memory networks that sounds like something worth reading up on. The essence sounds like a group memory - someone, somewhere, knows the answer and it's just a matter of connecting to that person. This is how we've operated for a while, but recently we've started adding in computer systems as partners in this network. Many of these partners are AI systems that require training on examples to build a model that they can later use to make decisions or "learn" things. The training set of data is often limited and dominated by a particular demograph, particularly the technocratic elite; as a side-effect of this (which is predictable especially with some understanding of statistics) these models tend silently encode the biases of that demographic - think of the HR tool that quietly, systematically ignoring women who applied for jobs because of an underlying, implicit bais in the training data. The multiplicative effect of technology, combined with a tendency in AI systems towards blackboxes, means these biases become automated, intrinsic, and invisible unless audited externally by someone (or some system) that does not suffer from these same biases.

This is a big problem, and one that we have to be very explicit about solving. There's another problem, though: the tendency of our minds to mistake new information as something we already new and are just recalling; this even tends to be encoded in memory.

So we have this new external memory, and the possibility for a diffusion of the sense of self - what happens when 'I' extend beyond myself? I wonder, too, about the divide: when you have children growing up with these technologies and children who aren't, how much harder will it be for the have-nots to adapt later in life? Do we want to get to a point in our society where the extended self becomes a requirement to participate in society? I don't think that I like that option, but I think we're going there anyways.

[1]https://aeon.co/ideas/how-much-can-we-afford-to-forget-if-we-train-machines-to-remember
[2]Maybe people are using Facebook for this now, too?

On filesystems

Naturally, work makes me think about file systems a lot and how people interact with them. In particular, I wonder as many do about changes to the tree hierarchy of files. Our brains seem to be wired to prefer this, so I'm not suggesting there's anything wrong with it - but whether alternatives might be useful. I think about how I go about finding things normally; with photos, for example, I might search by date or location or keyword, and there are tools like reverse image search and tineye that allow searching for similar images. If I want to search documents or code, I might do a full text search. So what I've been thinking about is what does that look like a filesystem of mixed types. If I wanted to do full text search over documents, photos, and music, how does that work?

  • Could I use machine learning to deduce potential keywords or descriptions of images, music, movie files, or other non-textual sources?
  • If I used a photo as a search query, could I find out where that photo was taken and look for content tagged in or around there? Could I do the same machine learning as the previous point and use those as search queries for text docs?
  • What does a geographic search UI look like? Do I say "find files tagged Oakland, California" or do I say "find everything within 10 km of where this photo was taken"?
  • Could I leverage external memories to find out, say, that a movie was filmed in Oakland, and incorporate that into the file system?

Maybe all these things feed into a view scoped by search parameters or filters. This is really just a bunch of things that popped into my head after watching some hack week demos.

Some Smalltalk notes

I got to playing with Smalltalk (via Pharo). A few things:

  • I forgot how useful the system browser is.
  • Arrays are indexed from 1.
  • == only returns true if the two objects are the same object - not if they're equivalent.
  • I don't think you have to pre-declare a variable to use it.
  • The conditional syntax is cool; you can use the ifTrue and ifFalse keyword messages to do if-then. It looks like they have to be blocks, and I keep running into problems.
  • This is pretty fun. I should figure out how to do more stuff with it.

Tags: , , , , ,