Category Archives: Idle Speculation

Facebook, Consent, and Pictures of your Kids

Earlier today, I was having a conversation with an old friend of mine about the idea that parents oversharing about their children is ‘ruining their lives’, as mentioned in this article:

http://aplus.com/a/sharenting-parents-oversharing-facebook-social-media

My initial response was to say that this was a social change that people were going to need to ‘learn to get over’, and that they should focus on doing the things they want to do, and ignoring those who want to judge them over unimportant things.

After some discussion, I realized that my opinion was coming from a place of significant privilege, not just cis/white/male/etc, but because I’d never experienced that horribly invasive mocking and worse that so often happens to people on social media.

I think this really revolves around issues of consent, and I wonder how much the posting of pictures of children without their consent is similar to giving them a hug without their consent. It could be that in a few years, this will be seen as just as important.

We have very stringent laws about privacy of medical records. Why not for photos? I’m assuming this is mostly about the ability of photographers to do their jobs and the total unenforceability of such an idea.

But if you can be denied a job because of something you did in your spare time the same way you could be denied a job because of an existing condition, why would we not extend those protections?

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?

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

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.

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

How I Organize my Thoughts

Right now, I have 89 posts posted on my blog, 2 scheduled, and 93* drafts at one stage or another. I have 20 posts open for editing, 11 Google docs, 1 Google spreadsheet, 19 tabs of various research, and 12 minimized browser windows. I also use Clear**, Apple Notes, and I have written journals going back to 1997. I also have about 3600 emails in my inbox and roughly 400 emails in my ‘project’ folder.

For some reason, though, I feel like I’m finally taking charge of this. I think the maxim ‘Real Artists Ship***’ applies. I’m finally shipping some of my thoughts, closing open loops****

When I’m working on my computer, it seems to be a 2-6 brain system*****:
1) Blog post ideas go straight into drafts. (I have 23 that I’ve created or edited within the last two days
2) Longer form ideas go into a Google doc, if there are a lot of numbers, into a spreadsheet.
3) Plans go into my calendar immediately
4) Various things I’m tracking go into Clear
5) Emails go out when they need to, as soon as I can send them out
6) If I need a blank sheet to think about something, it goes in my journal

Interestingly, I’ve been using 3,4,5,6 for a while, to close open loops. What makes this different now is using 1 and 2 to actually release some of those closed-but-in-abeyance loops. Even though the loop is closed and saved, there is still a cost in knowing that I have so many just waiting to be reopened.

This blog seems to be functioning as the ‘bigger can’ to re-can all of those mind worms that pop out when I go trawling through my ideas.

There are plenty of ideas on the go, but I’m sure you have many as well. Let me know if there’s something you’d like me to write about.

*94 now!

**It is amazing todo- and other- list software. Try it!

***Attributed to Steve Jobs

****A concept central to ‘Getting Things Done’, is that of ‘open loops’, or mental distractions, things you’re worried about, or worried about forgetting. A large part of the method is to reduce these as much as possible.

*****I used to call it a ‘3-brain system’ when I just had my PDA and journal. Things have spiraled a little since then.

The Six Answers to a ‘Yes or No’ Question

There exist the traditional five answers to a ‘Yes or No’ question:

– ‘Yes’, indicating complete agreement
– ‘No’, indicating complete disagreement
– ‘Maybe’, indicating something in between on that axis
– ‘I don’t know’, indicating a lack of relevant information
– ‘Mu*’, or ‘unask the question, it contains an incorrect assumption’

Recently, J EB (nee K) mentioned that ‘like’ is a new answer to a yes/no question. (On my post ‘No Spoilers Awaken’)

The Facebook ‘like’ seems to mean a number of different, sometimes overlapping things…
– ‘I like this post and I want you to know’
– ‘I agree with you’
– ‘I’m curious to hear the answer to this question’
– ‘I support you’
– ‘I understand your feelings’

It is very clear (to me) that ‘like’ is a valid answer to a ‘Yes or No’ question, and it is most delightfully ambiguous. It feels more discovered than invented, as we’ve always had ‘interesting question’, it was just rarely expressed by random people around the world, in response to a conversation they are not explicitly a part of.

*For those who wish a slightly more formal treatment: https://en.wikipedia.org/wiki/Mu_%28negative%29 specifically: https://en.wikipedia.org/wiki/Mu_%28negative%29#.22Unasking.22_the_question

You may also be interested in the somewhat related: https://en.wikipedia.org/wiki/Many-valued_logic

But my favourite is probably: https://en.wikipedia.org/wiki/Not_even_wrong (Thanks DJ!) This is one way to say ‘Mu’, but usually only if you’re trying to be insulting.

The Spoilers Become More Awake

Earlier, I talked a little about fear and redemption in The Force Awakens:

The Spoilers Awaken

This post is more a bunch of scattered thoughts…

The movie was all about Han Solo, and that was a good thing. Harrison Ford has really matured as an actor (I should see how he is in American Graffiti), where you see the gravitas, which smoothed out the ‘scruffy-haired nerf-herder*’

There’s probably something about having actors of varying ages and maturity levels, and how it smooths things out. (Even though the young actors in this movie are more skilled (or better directed), they still have the very young energy, attractiveness, and rushing intensity, all of which can do better with guidance…)

‘Droids’ is an excellent example of good ‘in universe’ lingo**.

Seeing the characters old and the death of Han Solo was not just the passing of the torch to the next generation of Star Wars, but also perhaps a passing of the torch to us, that it’s time for us to step up (similar to when Jack Layton died)…

Leia’s dress with a New Republic neck was a nice touch.

Some people have said that Leia was not the most convincing actor, but her acting worked fine for me. Her scenes with Han were very touching, along with the scene near the end with Rey. I also found her convincing as a general, who ‘went back to what she knew the best’, and seemed to fit well in that role.

In a galaxy with hyperdrive and even reasonable astronomy and astrogation, how could you not tell where a sector was, if there was a map of it that included 5-10% of the galaxy? Even with 300 billion stars in a galaxy, you wouldn’t need very many to be narrow down a sector, if the map had any reasonable level of accuracy…

So much regret for time past with problems remaining unresolved…Like Tron:Legacy…

Good use of X-wing quad lasers in ground combat against stormtroopers (apparently they added an under-blaster-cannon in the updated model for the movie), similar to R2-D2’s method for dealing with Joruus C’boath (even a jedi master cannot deflect startfighter-sized weapons, and/or they cannot predict what droids will do). Also, I liked the new X-wing colours. Apparently the shape is slightly different, but I didn’t notice that. http://starwars.wikia.com/wiki/T-65B_X-wing_starfighter#Behind_the_scenes

It was very fitting that the new death star reformed back into a sun…

The art department had many scenes of groups of aliens, just doing their thing, ‘world building’ as S says.

The establishing shots were really well done (you should do Comic Book Boot Camp http://comicbookbootcamp.com/).

The force continues to be weak in dealing with droids…The light side of the force more often appears with empathy, so they they can use that to interact with droids

A very tech-savvy force user…Anakin, perhaps Luke, for sure Rey…Either a force ability, or something about growing up on desert planets. If it’s a force ability, interesting that it allows much easier repairs and jury rigging, but not sensing or understanding the motivations of droids.

A small complaint about Cineplex showing spoilers in the opening ‘pre-movie games’

Also, the imperials just sound better with English accents.

Interesting the ‘order’ vs. ‘freedom’ contrast between ‘The First Order’ and ‘The Resistance’.

*Similar to how the last few vestiges of Garath the thief were the only differences between Belgarath the Sorceror and Aldur…

**The counterexample I always use is ‘Argonians’ and ‘Kajhit’ in Oblivion, where no matter how racist the character, they always used the official names, which I always found jarring and unrealistic.

Agile Basics

Disclaimer: 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.

I don’t recall when I first heard about Agile software development. I probably heard about it from Slashdot, when I was still reading it during grad. school.

First up, the Manifesto itself:

From: http://agilemanifesto.org/


We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

Overall, it feels like a very human approach to software development. I’ve always enjoyed speculating about the situations which may have led to rules being formed*.

It also feels like it was written by a group of people who were actually interested in solving problems, perhaps by cutting through Gordian Knots of rigid process and planning.

Their conclusion was that problems will occur, things will change, and you want your process to accommodate that as much as possible, to enable and encourage people to talk about these earlier and more effectively. More of a ‘getting to yes’, rather than rear-covering or posturing.

Now, they further broke down the above four statements into 12 principles:

http://agilemanifesto.org/principles.html

1) “Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.”

This one seems pretty self-evident, but there are a surprising number of people who have job descriptions at odds or orthogonal to this, especially as organizations get larger.

2) “Welcome changing requirements, even late in
development. Agile processes harness change for
the customer’s competitive advantage.”

This might be the toughest (it was for me, and I consider myself good at this), as humans are naturally lazy and resistant to change.

Evolutionary Psychology : Laziness

I wonder if this can only be overcome through experience, by knowing how much more pain will happen if a particular shortcut is taken or some important stakeholder is ignored. (Even knowing that someone should be listened to instead of letting your lazy brain edit them out can be difficult.) Either way, a good argument for having at least one person (that you listen to!) with experience on the team.

But if you’re having requirements changing too often, your stories are likely not ready before you start, or they are too large, leading you to:

3) “Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.”

‘Fail early, fail often’ goes the quote. Coupled with 2), it becomes much more difficult to be working on the wrong thing when you’re allowing for updated requirements every time you start a new short story**.

4) “Business people and developers must work
together daily throughout the project.”

I feel like the people who put this list together had experienced a lot of communication problems where they worked. This one is really helpful. There are few things more annoying than being ready to work on something but not being able to reach the person who needs to make the decision.

5) “Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.”

From the people I’ve talked to, this is every programmer’s dream. All the best working environments I’ve been in have been like this.

6) “The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.”

Yes. And it drops off considerably, even to ‘face-to-face’ Skype/

7) “Working software is the primary measure of progress.”

Many people have different measures of progress, leading to organizational misalignment.

8) “Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.”

As much fun as ‘feast and famine’ is, you’re probably not doing your best work souped up on adrenaline and coffee. (Or maybe you are. If so, you should take some time off between binges.)

9) “Continuous attention to technical excellence
and good design enhances agility.”

‘We put brakes on the car so that it can go faster.’ ‘Legacy code is defined as any code with inadequate test coverage.’ All the time you spend hesitating*** because you’re worried about breaking old crappy code is time you’re not building features or refactoring old crappy code.

10) “Simplicity–the art of maximizing the amount
of work not done–is essential.”

Think Apple. Think Oblivion when they decided to voice all of the dialog, and all the streamlining that inspired/required. Think about that super-expert programmer you know who can tell you why every single line of code they wrote is there, and also why everything not there is not there.

11) “The best architectures, requirements, and designs
emerge from self-organizing teams.”

Ask the people who know the most about something to make the decisions****.

12) “At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly. ”

Continuous improvement. Read ‘The Goal*****’. Really. It will improve your life. Also retrospectives.

*Similar to reading Wikipedia and trying to figure out the actual events behind the dry descriptions…

**I still remember the day when I felt I had ‘graduated to short stories’, as they tend to pack more large ideas per page. Longer novels tend to be more meditative/escapatory?

***And working around crappy code…

****I’m currently most comfortable with some mix of Scrum and Kanban. They have a specific separation of powers between the team (handles estimation) and the product owner (handles prioritization). To me, this seems totally reasonable, but re-reading the manifesto above, there are many levels of Agile actualization above that. (Think Valve.) (Also, the product owner is part of the team, just with a specific role to play in addition to the general team tasks.)

*****https://en.wikipedia.org/wiki/The_Goal_%28novel%29 My favourite business book. Told in a novel format. Some of the story has dated references (before most of feminism), but is still very useful.