All posts by admin

The 5-Minute Standup

Many people have written about daily standups*, and many people have written about the benefits of short meetings**.

I want to talk today about the idea of the 5-minute standup. This is an evolution of the daily standup that is part of the Scrum*** Agile methodology. I’m writing this from a Development perspective, but this could just as easily be applied to many other types of organizations.

The purpose of the daily standup as I see it is twofold:
1) Let everyone know what everyone else is working on
2) Let everyone know when someone is in trouble/blocked, so they can help

Classically, the daily Scrum standup has three questions:
A) What did you do yesterday?
B) What are you planning to do today?
C) What is blocking you right now****?

In my (limited) experience, people are pretty good about the status update part of things (what did you do yesterday?), and the forecasting part (what are you planning to do next?). You may need to explicitly ask the blocking question for a while until your team fully trusts you and the rest of the team to listen to their (often embarrassing) blockers and actually help them.

For me, I’m very much a proponent of short meetings. I love being as concise as possible (Think Ulath*****). I have an acute sensitivity for people who are uncomfortable with a situation or have checked out, and I try to do everything I can to fix that. (This makes me a good host, but it can be very tiring.) If I’m running a meeting, it will have a defined purpose, and it will be only as long as it needs to be.

I’ve found that developers especially will check out of a standup within minutes. Having a meeting of 5 minutes or less was the only way I could find to keep people engaged in a status meeting.

The way we’ve found best to run these meetings is to have the current set of tickets up on the screen, and we go through them in order. People are generally only working on one or two at a time, so it’s effectively the same as going around the circle, but with the added benefit of the visual aid. You can also do all of your ticket status changing at this time, along with asking for code reviews. Anyone who was missed then gives their update, then you break out to whatever after-meeting conversations were deemed necessary during the meeting. This way, only the people who need to be in those conversations are, and everyone else can get back to whatever else they were doing.

Some tips:
– If you find your standups routinely taking longer than 5 minutes (or 1 minute per person, max 10 people in a standup******!), try giving the most ‘detail-oriented’/rules-based person on your team the timer, and telling them to give each person no more than 1 minute to talk. It worked wonders for us. (I often do this myself, by being the most impatient one in the meeting.)
– Announcements should happen very quickly (max 30s), or over email. Discussions can happen after the standup is over.

To Recap:

Pros of the 5-minute daily standup:
– Less time
– No time spent on details, just high level, in depth discussions pushed to smaller groups
– Devs are much less likely to check out
– Not dreaded like interminable meetings
– A good outlet for the detail-oriented member of your team who cares about process, and wants to time things

Cons of the 5-minute daily standup:
– Still takes devs out of the flow, distracting them for much time before and after
– You still have to have all the one-on-one meetings to resolve things afterwards…
– It can make you think you’re having full communication when you’re not

*Interestingly, this is a very old tradition, as the UK privy council only has meetings where all members stand https://en.wikipedia.org/wiki/Privy_Council_of_the_United_Kingdom#Meetings

**Randy Pausch gave an excellent lecture on Time Management https://www.youtube.com/watch?v=oTugjssqOT0 and the benefits of making meetings as short as your scheduling software will allow.

***https://en.wikipedia.org/wiki/Scrum_%28software_development%29

****Many people would say “Is anything blocking you right now? I mostly avoid yes or no questions, as they’re too easy to dodge with a one word answer, and a lot of having effective meetings is getting people to be present and trust you and not dodge.

*****http://davideddings.wikia.com/wiki/Ulath

******If you have more than 10 people on your team, your team is too big. Note that more than 10 people can be listening or watching, if they also want an update, but there should be no more than 10 people talking, at 1 minute each.

Emotions and Control

So, I was listening to Adema’s “Everyone”, and one line in particular stood out to me:

“Why am I so angry inside my head?”

http://www.azlyrics.com/lyrics/adema/everyone.html

A classic question that people have been asking themselves for generations, and one of the questions that we’ve been trying to answer for the next generation I imagine for as long as we’ve been trying to answer things. (It also seems to be consistent fertile ground for many genres of music…)

Every generation brings new people, angry about new things (or the same thing, again and again).

Do we have more anger in our youth than usual?

Kondratiev wave theory would suggest yes:

http://en.wikipedia.org/wiki/Kondratiev_wave

At least in North America, there’s been a squeeze going on for probably 20 years (a whole slew of other topics, out of scope). Add that to they standard “Is that all there is?” as you approach adulthood, and that’s fodder for whole genres of music.

But really, the original question, about trying to control the non-grey matter portions of your brain…

When I was doing safety training, I used to say that I could deal with no sleep, or crappy food, but not both at the same time, or I would get cranky.

And how do you teach the next generation to control their brain? Do you want to?

How do you educate them to control the ‘proper’ parts of themselves, while still expressing their creative and exploratory sides?

The 0.6th world

One of my fondest memories from high school is learning about different types of infinities. The Cantor Diagonal proof is a as beautiful piece of argument as exists anywhere. Also present in that course was discussion of fractional dimensions, especially as to how they pertained to fractals.

Those who are familiar with the Gamma Function, or the Kardashev Scale will know of the technique of interpolating between the integer points of a numerical scale. (The Kardashev scale is cool enough to deserve its own post, and beyond the scope today.)

I was originally planning to talk about the First World/Second World/Third World model most often talked about in the media, but Mao’s Three Worlds Theory feels like it offers a slightly more linear progression between the three worlds.

The question is: What numbering would you give the world of the Internet? Of 4chan? Is this even a sensical question?

There are a number of different ways* you can try and quantify this. Using the West’s ‘Three-world Model’:

– “Alignment with ‘The West'”: This is where the ‘1st world’ is ‘The West’, the ‘2nd world’ is aligned opposite to ‘The West’, the ‘3rd world’ is not aligned with respect to the ‘West’. A ‘4th world’ or ‘0th world’ might be against the entire concept of ‘Alignment’ (Nations with multiple internal factions or with governments not exclusively beholden to one of the blocs might be part of the ‘1.3 world’. This becomes difficult with nations which are partially non-aligned, and partially aligned with the ‘1st world’, as the math doesn’t work out. You’d want a numerical Venn diagram** for this.)

– “Economic Development”: (This is problematic, as you have one of the groups deciding on its own the hierarchy of the groups, and for many other reasons.) In this case, though, you might be able to have worlds which have sprung up since the Three Worlds Theory was conceived be put on the chart. In this case, the Internet might indeed be the 0.6th world…

Using Mao’s ‘Three Worlds Theory’:

– You could classify Internet opinion and culture as a new lesser power, or perhaps even superpower. I think the Internet is not quite organized, and probably still too easily manipulated, to be a superpower. More like a regional power, with its region being spread around most of the world. Thinking about it like this, it might qualify as a 2.0 or 2.1 power.
– If you think about the division as ‘Imperial Superpowers’, ‘Lesser Powers’, and ‘Exploited nations’, the Internet is somewhat ‘Imperial’, in that its culture permeates and is conquering and eating entire industries. To qualify as a ‘Lesser Power’, it must be at least nominally be independent. Under this definition, the Internet might qualify as 1.6 power, higher or lower depending on how much ‘The Internet’ includes Internet companies

*I tried my best to 4-box this (in best business book fashion), but couldn’t come up with anything reasonable. The ‘unaligned’ nature of the ‘3rd world’ fills up two of the four boxes with most models. The closest I could get was to have Switzerland and maybe a few others in the 4th box, with the axes being GDP and alignment.

**Stay tuned for a later post…This is a fun concept!

Wikipedia Humour

My favourite page on Wikipedia is the description of the ‘Lamest Edit Wars’

https://en.wikipedia.org/wiki/Wikipedia:Lamest_edit_wars

Wikipedia is a treasure trove of (very) dry humour about often very controversial topics. Normally, if you’re in a conversation about a controversial topic, you can step out, but not an encyclopedia, which is expected to have words on everything.

You can see the workshopping that must have gone into it. I wonder if there are ways to detect the most workshopped phrases? To detect the ‘most controversial*’ parts of Wikipedia? (Although parsing the revision history may give you this.)

“Both frequencies coexist today (Japan uses both) with no great technical reason to prefer one over the other[1] and no apparent desire for complete worldwide standardization.”

https://en.wikipedia.org/wiki/Utility_frequency

If you enjoyed the humour above, you may also enjoy (hattip to AM):

https://github.com/bup/bup#things-that-are-stupid-for-now-but-which-well-fix-later

And my favourite subreddit of them all:
https://www.reddit.com/r/notinteresting

It is truly sublime, including such gems as:
“checking the radiator pipe cover”

radiator

*It turns out that Wikipedia has a list of these (of course it does): https://en.wikipedia.org/wiki/Wikipedia:List_of_controversial_issues
This is different from controversies about Wikipedia: https://en.wikipedia.org/wiki/List_of_Wikipedia_controversies
There are even articles in reputable news sources written about this: http://www.cnn.com/2013/07/24/tech/web/controversial-wikipedia-pages/ And research papers: http://arxiv.org/vc/arxiv/papers/1305/1305.5566v1.pdf

Ballroom Blintz

ballroom_blintz

So, last year I made Nalysnyky* for Orthodox Ukranian Christmas**, based on an excellent (and very forgiving!) recipe provided by Tori Avery here:

Cheese Blintzes

I made a few changes to the recipe for various reasons, and I figured I’d copy it below.

Basically, Nalysnyky and Blintzes are some sort of filling wrapped in a crêpe. I chose cottage cheese*** instead of the Ricotta and Creme cheese suggested by the original recipe. My proportions may be a little different, as well. I feel like there’s something slightly missing in the filling, but I’m not sure what it is. They were still a hit at Christmas dinner last year and this year. (Last year, S and I made ourselves sick eating them, but they were oh so tasty. 😀 ) Both last year and this year, I made a double batch. IIRC, this makes 15-18 blintzes, more than enough to satisfy 7 and leave many left over for snacks.

This is a very forgiving recipe. You mix things in a bowl, the exact proportions don’t really matter, and you can pause partway through and nothing much will go wrong (assuming nothing is actively burning in your frying pan). The first time I made them, I had long pauses between steps (as it was my first time doing a new recipe in a long time), the second time, I only used a timer about 1/3 of the time, trusting in my ability to read butter cooking temperature (browns and crackles at 375 F), and how well done a crepe was.

Cooking utensils:
– Measuring cups
– Whisk and a lot of patience, or a blender or mixer capable of dispersing flour clumps from solution
– Frying pan (non-stick is better)
– Plates to store partially made crêpes
– Wax paper to put between crepes so that they do not stick to each other (essential if you’re saving time by only cooking one side of the crêpe to start
– Plates and paper towel to de-butter and store freshly cooked

Garnishes:
– Fruits, especially strawberries and raspberries
– Thawed blueberries, pineapple, and mango worked well today (just remember to thaw them completely)

Thinking about it, if you wanted to do this assembly-line style, you could have two frying pans on the go, one making the shells, one frying the results.

Crêpe shell ingredients:
– 4 eggs
– 1 cup flour
– 1/3 cup sugar
– 3/4 cup milk (I used lactose-free milk, for reasons)
– 1/4 cup water (I used H2O, for reasons)
– 1 tsp vanilla
– Pinch of salt

Cooking requirements
– 1-2 sticks of butter (I used two full sticks for a double batch. About 85% to cook the crêpes and the rest to fry the filled crêpes.)

You could also use whatever oil suits you. We used olive oil the first time we made them, to good effect.

Filling ingredients:
– 1 tub (500g) of cottage cheese (I used organic 2%)
– 1/4 cup sugar
– (Here, the original calls for an egg yolk. I’m not sure why. I left it out.)
– 1/2 lemon, mostly squeezed into the mix (original called for 2 tsp)
– 1 tsp vanilla (I put in a little extra****)
– Pinch of salt

1) Mix all the crêpe shell ingredients in a mixing bowl.
2) Stir these ingredients until no flour lumps remain. (I couldn’t get them all out, but they still ended up fine. You’ll get better consistency if you do this step more assiduously.)
3) While stirring, turn on your frying pan/skillet to 375F. (On our stove, this is 2.5 stops below half, but really, it’s wherever butter browns but doesn’t burn. I learned this from many years of making pancakes growing up, YMMV.)
4) Apply enough butter to the bottom of the frying pan/skillet to make a thin layer for cooking. You can tell by the fact that it is sizzling and slightly browning and coating the bottom of the pan.
5) Pour 1/3 cup of crêpe shell mix onto the frying pan/skillet, then add a bit more, perhaps up to 1/2 cup (this will make the shell slightly larger and easier to fit filling into
6) Wait 60-75 seconds (I set my microwave timer for 55***** seconds), or until the crêpe can be flipped without displacing uncooked liquid on its top (If you wish, you don’t need to cook both sides of the crêpe at this stage, you can cook the inside, add the filling, then cook the outside later, which may save you 15-30 mins, if you’re really organized).
7) While this is cooking, take a sheet of wax paper, and get it ready to receive the crêpe.
8) Flip the crêpe, and cook the other side for 60-75s.
9) Take the crêpe off the frying pan and place it on the holding plate and/or wax paper

10) Repeat steps 4-9 until all the crêpe batter is exhausted.

11) While you are cooking the crêpes, you can mix up the crêpe filling:
12) Stir the filling ingredients in a mixing bowl. You may want to add different amounts than above, to taste.

13) Put a small amount (one spoon’s worth) of the filling onto the lower middle of one of the crêpes. Fold the bottom part of the crepe over the middle, then each of the sides in, then fold the bottom ‘pocket’ up until the crêpe is rolled up like a burrito around the filling.

14) Melt about 1/3 of a stick of butter into the pan (this should be enough to cover the bottom of the pan…Add more if you want to brown more of the nalysnyky during frying).

15) 3 of the filled crêpes should fit in your pan. Cook for 1.5-2 minutes
16) Flip the filled crêpes, cook for another 1.5-2 minutes

17) Dry the excess butter onto a paper towel

18) Serve warm, with fruit, or whatever other garnish you wish!

*https://en.wikipedia.org/wiki/Nalysnyky

**https://en.wikipedia.org/wiki/Christmas#Choice_of_December_25_date

***It might have been this page, or another, which suggested the substitution: http://allrecipes.com/recipe/212387/cottage-cheese-blintzes/

****Or a little ‘extract’? 😀

*****I have a personal rule that I must press the fewest number of microwave number buttons whenever I program a countdown. This leads to interesting regions like 0:55, 0:66, 1:11, 0:77, where you get some nice overlap. Usually, though, it’s 0:33, 0:99, and 0:55.

Agile: Scrum, Kanban, and Beyond

Scrum* is arguably the most popular of the Agile methodologies. It seems to be popular because it is lightweight while being structured. However, it is designed to interface with and compensate for the structural issues inherent in most large organizations.

The end goal of all Agile methodologies is to ship the greatest amount of useful, high quality software at a sustainable pace.

Scrum assists with this in the following ways:
– The ‘locked room’ iteration reduces or prevents distractions so the team can focus on their work.
– Requiring stories to meet specific, defined criteria in order to be ‘Ready’ or ‘Done’ adds clarity and reduces time wasted in clarification
– Channeling all outside asks through the Product Owner reduces distractions for the rest of the team
– Having the team perform the estimates provides a sense of ownership
– Having subject matter experts on all relevant subjects and from all relevant departments in the organization reduces the amount of time the team spends waiting for clarification
– Daily standups

There are more, but I think you get the point. Scrum is all about reducing distractions and time spent obtaining clarifications. Scrum also uses the crutch of iterations of a defined length to help reduce distractions from the rest of the organization, to help outside stakeholders get used to the idea that creating software takes time, but more importantly, to get outside stakeholders used to the idea that context switching takes time and has a cost.

I call the defined iteration a crutch, because there is another Agile methodology which does not have fixed iterations. I’m talking about Kanban, which is very similar (at least in my experience) to what I described above for Scrum, except that instead of Scrum’s timeboxing tasks to two weeks, Kanban focuses on enforcing a limit on the amount of work in progress.

For teams outside of operations and firefighting**, this requires more trust between the team and the organization, and likely a much more persuasive Product Owner to interface and control the conversation with the rest of the company.

But requiring a Product Owner to do this interface still feels like a crutch. What if everyone in the organization just knew what to do, and you didn’t need to separate out wrangling over priorities in order to stop distracting programmers?

Valve seems to be doing this:

http://www.valvesoftware.com/company/Valve_Handbook_LowRes.pdf

Their ethos is that they once a person has gotten through their very intensive hiring process, they are empowered to make all the decisions required to ship products. They seem to have found a way to gain the benefits of Agile without all of the crutches of the methodologies above.

We will explore more of this, and some possible steps in a future post.

Comments and topic suggestions below!

*In all of this, I am making the assumption that the team is running Scrum by the book. There are numerous obstacles to this which are outside the scope.

**Many operations and firefighting teams naturally gravitate more towards a Kanban approach than a Scrum approach, as they tend to have more volatility in their tasks, and possibly smaller tasks are required to make outside-world-visible results.

TNG: What Might Have Been

So, we were watching the TNG episode ‘Reunion’ http://memory-alpha.wikia.com/wiki/Reunion_%28episode%29, and it got us thinking about what TNG might have been.

K’Ehleyr was such a big and interesting and *alive* character. Imagine if she had been a cast regular. The place she seemed to fit best in our mind was replacing Riker as the Enterprise First Officer.

First, a bit of backstory to set the stage:

It’s often been said that the original Star Trek was based around a ‘Freudian Trio’ of the Ego (Kirk), the Superego (Spock), and the Id (McCoy).
http://tvtropes.org/pmwiki/pmwiki.php/Main/FreudianTrio

Gene Roddenberry’s vision for TNG was that humans would have evolved to no longer ‘need’ the interpersonal bickering which characterized the Spock/McCoy interaction. Some say that this led to ‘too safe’ personal interactions amongst the crew, with the only sources of conflict being Worf’s conservatism, Riker’s devil’s advocate, and the management/engineering interaction* between Picard and Geordi.

This made the writers need to look outside the main cast for sources of conflict. This generally worked well, but wasn’t Wesley’s best performance in the series when he played the sulky teenager being called on the carpet by Picard?

All this is a long winded way of saying that it could have been a very different series with a more varied and emotionally expressive cast.

Back to Susie Plakson as K’Ehleyr as First Officer. You would have a very different take on the ‘Freudian Trio’, with the calm and rational emotional readings from Troi, and the more aggressive emotions from K’Ehleyr, with Picard bringing it all together. There’s a beautiful scene with K’Ehleyr and Troi talking just after K’ehleyr has broken a glass table in anger. So much interesting emotional depth to discover and explore!

Also, you’d have the fun dynamic between K’Ehleyr and Worf, with her as his superior officer, much more interesting than the never-really-explored-outside-of-the-book-Imzadi relationship between Riker and Troi.

But alas, TNG was a product of its time and executives. Riker with his daddy issues (which are important, and he carried the part well) must have spoken to those casting, and it must have not just been because he had the second highest rank on the ship that he got second billing, above all the ‘supporting cast’.

Also, the two women who were most like what we’re suggesting for K’Ehleyr were both written out of the show after the first season, both because they wanted more from their parts on the show. Denise Crosby left to pursue feature films, and Gates McFadden was pushed out because she was insisting on more substantive parts for her character.

It wouldn’t be until Kira Nerys that we would have a character close to what could have been with K’Ehleyr. Maybe in a Mirror Universe someday…

*It’s actually really fun to watch this, especially in the early episodes, where they have a number of classic ‘management/engineering’ conversations, including such gems as ‘I don’t want you to use the word impossible’.

Other interesting notes:

Apparently, ‘Wesley Crusher’ was almost ‘Lesley Crusher’: http://trekmovie.com/2010/08/26/1987-paramount-memo-reveals-actors-auditioning-for-star-trek-tng-cast/

Pages 293-7
http://www.amazon.com/The-Continuing-Mission-Star-Trek/dp/0671025597#reader_0671025597
Interesting notes include the fact that each of the actors had to pass personal interviews with the studio execs, that Marina Sirtis and Denise Crosby were originally cast in the opposite parts, and that Gene had to be convinced at length to choose Patrick Stewart.

Agile Power Dynamics

In a previous post*: http://nayrb.org/~blog/2015/12/31/agile-basics/

I talked a little bit about Agile and what I thought it meant.

Today, I want to talk a little about how decision-making power is different in an Agile world.

Fundamentally, for me**, ‘Agile’ is all about codifying some of the hard-won lessons from the first 55*** years of computer programming.

There are a number of interlocking ideas in the manifesto, and I keep finding new wrinkles to them when new situations arise, so I’m going to focus on power dynamics.

For this, I will need the strawman of ‘Waterfall’, the ‘development method’ most often contrasted with Agile. Most people represent ‘Waterfall’ as a number of time-sequential silos, with varying amounts of feedback between the silos:

waterfall_1_e96847237d43

waterfall-diagram-in-powerpoint

What is not generally mentioned about ‘Waterfall’ is that estimation is generally performed with minimal input from those implementing whatever solution is called for. This**** generally leads to time and feature estimates being imposed on those implementing the solution.

“You will be solving this problem, and it will take you 3 days to do it.”

It is probably not surprising then that large software projects are prone to cost overruns, as those doing the work are not generally involved in the planning process.

What Agile tries to do is to add and tighten feedback loops. Whereas in a ‘Waterfall’ process, you might release code every quarter, in an agile process, you might do so every two weeks, or multiple times a day.

Key concepts here are subdividing features into smaller and smaller bits, to make the smallest useful change each time, but do it very often.

Getting back to decision-making power, what Agile does is to separate Prioritization power from Estimation power.

Agile gives the Estimation power to the team that will be doing to work*****, while retaining prioritization power in Management. You say that it separates the ‘How’ from the ‘What’******.

This separation encourages more buy-in from staff, and can stop bad ideas earlier. Most importantly, it focuses each of staff and management on what they (theoretically) do best. Management is hired to make decisions about what should be done next, developers are hired because they know how to do things well[7*].

Next time, we’ll tease apart more of the manifesto.

*Same disclaimer applies: I currently work for a company. That company does Agile. From my limited experience, I think it does it well. I am not talking about that company in any way, shape, or form in this post.

**And many others

***I’m going from ENIAC, the first actual construction of a general purpose computer. Lest you think I’m forgetting about Ada Lovelace, you may want to read about the first six (all female) programmers of ENIAC: http://eniacprogrammers.org/

****There are also often issues of under-estimating the cost of things in order to obtain a contract/approvals, but this is outside the scope of this post. Suffice it to say that one who was singularly focused on landing a contract would have great incentives to ignore feasibility and estimation objections from those who might be implementing it.

*****Agile also tries to make sure that the team has someone skilled in every relevant part of the company, but that is outside the scope.

******The ‘Why’ is outside scope of this article. 😀

*******You are confident that your hiring process is bringing in good developers, aren’t you?

Touch Typing

It’s the little things that you notice. I was writing something, and just happened to notice that I was looking off into the distance while I was typing. It was one of those choices I made when I was very young. I was in High School, our school didn’t have a typing class, and I decided I needed to learn how. I don’t even remember why. It might have been my mom’s stories about learning, with those typewriters with no letters on the keys, when she was growing up.

Anyways, I remember taking one course, one of those summer enrichment things, up at Northern Secondary. I seem to recall I also took magic, stained glass, and board games, but those might have been different years. (Come to think of it, it might even have been before high school…) Interestingly, I remember this being my choice, perhaps an odd choice for a 12 year old. I don’t even remember why I thought it would be useful, but I remember acutely that I knew it would be. Perhaps similar to my choice to pursue chemical engineering over computers, as I knew that no matter what I did, I would be using computers.

I remember taking that one course, and it being fun…They had these cool puzzles where they gave you a sequence of commands to type, making simple versions of what I could only find online as ‘typewriter art’: https://www.google.com/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1250&bih=694&q=typewriter+art

(Kind of early ASCII art, I wonder how much crossed over…)

In searching for the above, I found:

http://www.rapidtyping.com/online-typing-games/isogram-puzzle.html

It’s Mastermind, but with words! 😀

Which apparently has also been published:

https://boardgamegeek.com/boardgame/5662/word-mastermind

In a couple of different forms:
https://boardgamegeek.com/image/1029413/word-mastermind
https://boardgamegeek.com/image/1151419/word-mastermind

Anyways, I took these classes, but I don’t remember really using my typing until we had an email group in undergrad called the ‘Mailstrom’, often hitting 3 digits of messages per day, where quick wit (and quicker typing) was key.

I suspect there was also some training from playing computer games, but that would really only train a few keys (mostly ctrl and alt, from that era), and the mental mapping probably wouldn’t be from the hand motion to the letter.

And right now, I’m touch typing this, and it seems so normal/natural. Such a weird skill. Happy typing! 😀

Each Person is Their Own Country

I was in London during the summer of 2000, and one of the expats I met there described the inhabitants as “Each person is their own country”. This was their way of describing how the inhabitants of London (didn’t) interact with each other.

My experience there then was similar, with the only friends I made were other travelers, people from small towns, expats, and a most excellent MSF gentleman from Germany. I also had an experience I regret at the Church of Scientology, but we will speak no more of that.

More relevantly, we were talking at lunch today about large agglomerations of people vs. small towns, and wondering if there is something inherent to large cities that makes people colder or more distant.

AM suggested that it the interactions you would expect in a small town, acknowledging each other as you walk down the street simply become impractical when you encounter thousands of people each day. It’s also possible that people become more and more indistinguishable once there are so many of them, that it becomes a blur, and your mind automatically groups them or filters them out, as they’re too close to the average of ‘how much do I need to pay attention to this person today’. People whom you have befriended, family, co-workers all fall outside this category, but you can even see some of the effects of this if you’re working in a large organization of tens of thousands of people. Your brain will automatically take shortcuts, and group people, whether you want to or not; you have to actively fight this if you want to think of all of them as individuals.

Other possibilities include concerns for safety, concerns that the only reason people approach you on the street is to ask for money or to save your immortal soul, or just that the brain is set up to see 100-200 people as ‘your tribe’, and all others become NPCs*. Once again, this is something you have to fight against, or train your brain out of doing.

Finding “The conversation I can only have with you” can be non-trivial when your brain is full.

But still worth it. 😀

*https://en.wikipedia.org/wiki/Non-player_character