Category Archives: Analysis

What is the Difference Between a Duck?: Mu Jokes and Mental Push Hands

UPDATE: While I was writing this, this blog passed 1000 page views since I started counting on Dec 29th! You people are awesome!

******************************************************

Yesterday, I briefly touched on the concept of ‘the space between meaning’.

One way to demonstrate this concept is with a Mu-joke (not really an anti-joke*):

Q: What is the difference between a duck**?

A: One of its legs are both the same!

The goal here is to say some words which sound not too much like nonsense, such that the listener really tries to understand.

Like a good pun, you want to draw the listener in by making things the correct level of ‘difficult to understand’. Too easy, the listener groans and moves on. Too difficult, the listener times out and moves on. (Note that this changes with each individual audience member. If ever there was an argument for (education) streaming, this is it. 😀 )

By analogy, you want your Mu-joke to make the listener feel like they would understand it if they ‘just tried a little harder’.

Also, a good Mu-joke will play with language and parts of speech, the goal being to make the listener more aware of the structure and inner meaning of what they are saying and what is being said around them. Normally, the word ‘between’ refers to two things, but we are using it to refer to one object, a duck. This gives the listener a mental ‘cache miss‘ or ‘branch misprediction‘ error, and it can throw them off balance as they try to reassemble their mental model of the conversation.

This trick can be used in a ‘Mental Push Hands***’ competition. I have fond memories of doing this with MC as we reshelved books at the library in high school. I suspect many of the best debaters use variants of this, and the best politicians have well-developed defenses against these kinds of tactics.

But back to ‘the space between meaning’. It is the space in your head where you are comfortable with ‘between’ referring to any number of things, where you are comfortable with ‘both’ referring to one thing.

It is a space I enjoy, and I hope you can help put me there. 😀

*Anti-jokes are not quite what I mean. They seem to be defined online as jokes with a standard leadup and an opposite-ish punchline. Many of the punchlines seem to take a ‘standard’ punching-down joke and subvert it. Funny, interesting, useful, but not what I’m taking about.

**I first saw this joke in one of those ‘choose-your-own-adventure-rpg’ books: https://en.wikipedia.org/wiki/Grailquest. Probably my favourite series in the genre.

***I learned ‘Push Hands’ as a martial arts balance exercise. You plant your feet and touch palms with your opponent. The object is to make your opponent move one of their feet without moving yours. For me, it was all about being as flexible as possible while trying to find my opponent’s inflexibilities.

Analysis: Fractional Home Ownership II

EDIT: The previous post: http://nayrb.org/~blog/2016/01/18/analysis-fractional-home-ownership/ got the most feedback ever (other than the immediately preceding one about facebooking pictures of your kids). It turns out that all you need to do to get lots of comments is to make a post with an incorrect and not-completely-thought-out graph, and everyone eagerly posts corrections and ideas. (It was actually a really fun discussion… 😀 )

– SG mentioned that the curve of the graph is likely off, suggesting a convex curve and swapping the axes, also suggested looking up Michael Raynor and Clayton Christensen.
– AB asked exactly where fractional ownership fit on the graph (my statement was it could fit anywhere on the graph, but that’s not really that helpful, is it. 😀 )
– PD (among others) pointed out that I somehow missed labeling the X-axis (it’s ‘ownership’, which is not quite correct, it should be ‘negative ownership’ or something similar, and it got lost in the .dwg to .png translation)
– DR brought up a kind of ownership which exists in Montreal called ‘divided ownership’, which is a form of co-ownership where a group of people own a building

So, to address these comments:

Interestingly, I had always pictured tradeoff diagrams like so:

cost_vs_one_over_benefit_with_isoscience_lines

Where your goal was to get as close to the line which represented the current best technology. (I’ve called these ‘iso-science lines’, for lack of a better term. More on these later.) This way of looking at it also suggests that there’s a ‘good enough’ for your application, that your science/technology may get you closer and closer to infinity, but most of your users will likely not care. (This may be most useful for consumer commodities.)

You might find the following graph more useful. It jibes better with my mental model of commodity CPU performance curves from when I was growing up.:

cost_vs_benefit_with_isoscience_lines

This has benefit increasing without bound, which may be more useful for many other applications. You could also see how the curves could have technological advances more in the cost or benefit directions, such as how the 787 looks very much like the 767. It’s much more fuel efficient, but travels at about the same speed:

http://idlewords.com/talks/web_design_first_100_years.htm

Anyways, back to fractional house ownership. I’m not entirely sure how to measure the utility of different types of housing ownership…You could look at financial benefits over time, but what horizon do you look over? You could look at the ‘pride of ownership’, but that is difficult to quantify.

But I had to quantify it somehow, so I put a condo at about twice the ‘utility’ as an apartment, then townhouse, semi-detached, detached linearly improving from there*.

house_prices

As you can see, you get a similar diminishing returns curve as we saw before, but that could just be because we were looking for/expecting that.

Let me know what you think in the comments! 😀

Data from:
5-year variable rate of 2.7% from:
https://www.tangerine.ca/en/borrowing/tangerine-mortgage/index.html

Average rental rates of 1 bedroom $1085 and 2 bedroom $1269 from:

Average apartment rental rates across Canada

Average house prices of:
– Condo 410k (1878/mo @ 2.7%+ condo fees of about $600/mo)
– Townhouse 520k (2382/mo @ 2.7%)
– Semi-detached 660k (3023/mo @ 2.7%)
– Detached 1.0M (4580/mo @ 2.7%)
http://www.thestar.com/business/2015/09/04/average-gta-house-price-up-10-in-august.html
http://www.huffingtonpost.ca/2015/02/19/condo-fees-toronto-canada_n_6714396.html

*Utility:
– Renting 1-bedroom apartment: 2
– Renting 2-bedroom apartment: 3
– Purchase of Condo: 5
– Purchase of Townhouse: 6
– Purchase of Semi-detached: 7
– Purchase of Detached: 8

Analysis: Fractional Home Ownership

EDIT: This post got the most feedback ever (other than the immediately preceding one about facebooking pictures of your kids). It turns out that all you need to do to get lots of comments is to make a post with an incorrect and not-completely-thought-out graph, and everyone eagerly posts corrections and ideas. (It was actually a really fun discussion… 😀 )

I’ve followed up here:

Analysis: Fractional Home Ownership II

********************************************************

So, one of my former students just started a company doing fractional home ownership. Their theory is that there’s some middle ground between fully renting and fully owning property that they’d like to facilitate. Here’s why I think they might be right:

This is your standard engineering/product/tradeoff/price-features/etc graph that people/your customers are used to.

House_Ownership

What they’re suggesting is that the graph is really only populated at the edges* (with condominiums allowing lesser monetary costs with a reduction of ownership).

Airbnb and Uber/Lyft have monetized the space for unused housing and vehicle resources. Fractional and micro lending have started to do this for banking. Why not do this for the actual ownership of property?

People have been jointly owning property since there was the concept of property. The difference now is that we can do it in smaller tranches, and perhaps we can streamline the legal process. I think this streamlining is what will make the most difference. Condos are the closest we have in the consumer market (REITs are somewhat similar, but don’t let you own a part of the dwelling you actually live in).

It feels like there’s somewhere where this will make sense/take off, and it will have to do with the ratio between rent prices and ownership prices. A larger difference between these would give a larger space for partial ownership to work.

However, it feels like it needs a simple(r) set of easily enforceable rules, with benefits and reasons to comply for those buying and selling. I don’t know what these are yet, but I do know that all of the rules about condos are there for a reason, so it’ll have to be a really innovative contract to incentivize everyone to comply.

*Yes, I know that ownership is not absolute, but within the scope of this post, the space to the left of the graph is unreachable.

alt.comp.risks and Swiss Cheese

If you’ve never read alt.comp.risks, you should do so. In fact, you can read the digest here:

https://catless.ncl.ac.uk/Risks/

If you don’t know what alt.comp.risks is, it is 30 years of all the things that can go wrong with complex systems (especially computers). Anyone who has done a post-mortem or incident report or accident report will familiar (if not happy) reading there. They will probably also notice that the same problems keep happening again and again and again.

Young Drivers mentioned a study* which said that a typical traffic accident requires four errors on the part of the drivers (two each). In the accident and risk analysis world, this is often referred to as the ‘Swiss Cheese’ model. https://en.wikipedia.org/wiki/Swiss_cheese_model

The ‘Swiss Cheese’ model is the idea that adding more layers of checks and protection can help make a system safer, as long as the holes in those layers do not align.

This is a major reason why it is just as important to investigate incidents as it is to investigate accidents. ‘Incidents’ are occasions where something ‘almost went terribly wrong’, where two or more of the ‘Swiss Cheese’ holes aligned, ‘Accidents’ are where all of the ‘Swiss Cheese’ holes aligned, and something terrible actually happened. In the Diagram below**, the ‘Accident’ is the arrow that made it all the way through, all of the other arrows are incidents, which left unchecked, could lead to accidents some day.

raeda-icam-image

Why do we not just spend our time and energy closing those holes in the ‘Swiss Cheese’ (or to making sure they don’t align)? All of that takes money or other resources***. So, given the modern legal system, most organizations balance money and safety in some way, shape, or form. This balance between resource allocation and safety is such an issue that there is an entire regulated profession whose purpose is to properly maintain the balance.

I’m speaking of course of Engineering. The perception of Engineering is perhaps of people building things, or Leah Brahms and Geordi arguing about how to make warp engines go faster, but fundamentally Engineering is about balancing safety with costs.

Probably the most pernicious obstacle to this proper balancing is the dismissal of incidents as unimportant or contained. Any incident which makes its way through 3 of your 4 layers of safety is one mistake away from a disaster, and should be treated accordingly.

*I can’t seem to find it at the moment, but I believe them, as it is consistent with my experience.

**From http://raeda.com.au/?p=115 “The ICAM (Incident Cause Analysis Method) Model Explained

***Often not stated is that spending time on safety-related things is a distraction, both in time and context switching.

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!

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?

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.

Similar but not Identical

How do you make a a playlist of songs which are similar, but not identical. Ideally, you want to play music that the user is likely to want to listen to*, but you probably don’t want to play the same song, even in different remixes over and over. So, how do you detect similarities, while removing identicals, even when they may not be so identical?

In practice, there is probably a lot of separation between the spike of identical songs and those that are merely similar. You could also use the Web 2.0 crutch of looking at what people searched after other songs, and/or the machine learning approach of trying to put songs after one another and seeing what people skipped or turned to from the suggestions instead.

Similarly**, cleaning data of artifacts is still an open problem. It feels to me like a similar one. You’re trying to remove this *huge* signal which is overwhelming your sensors so you can get at what you actually care about. Assuming both the artifacts and the signal are within your detection limit***, you have to determine the nature of the artifact, both where it is in the signal spectrum, and what axes it spreads through and how. It might also have related harmonics****.

Another related problem is the removal of 60Hz***** noise from all sorts of electronics. I’m not sure what sorts of filters are used, but even band reject filters have non-ideal behaviour, so perhaps smoothing the edges in a known way works better, but this is all speculation. I mostly like using the field around power cords to test oscilloscopes and to get people to think about electric fields.

But back to artifact removal. I don’t have particular insights right now, outside of specific problems spaces. I just think it would be a really cool problem to work on (and one that people work on in a specific way all the time).

*Or perhaps something just similar enough that you’ve been paid enough to play.

**But not identically,

***My favourite procedure/process is the one I learned from an analytical chemist, which is that the signal has to be 3x the noise for you to consider it signal.

****I’m using signal processing as an analogy, but the concept is the same for other artifact removal, just different math.

*****50Hz across the pond

Problem Solving Examples (With some Machine Learning)

So, in a previous post, (http://nayrb.org/~blog/2015/12/25/automation-and-machine-learning/), we talked about some methods to help you decide whether you actually needed Machine Learning or not to solve your problem. This post talks about some various different problem solving approaches and which types of problems they can make tractable.

I started my career fascinated by protein folding and protein design. By the time I got there, they had narrowed the question down to one of search: ‘Given this physics-based scoring function, how do I find the optimal configuration of this molecule’? There were a number of different techniques they were using: gradient descent, monte carlo, simulated annealing, but they all boiled down to finding the optimal solution to an NP-Complete problem.

As we know that biological systems can perform protein folding quickly, there must be some algorithm which can do this (even if it means simulating each individual electron). This can then be restated as a simulation/decision question, from the perspective of a cell/physics. Many other search problems have similar human-like or physics-like easier solutions (ways of finding the NP-Complete verifier). For example, as a traveling salesperson, you would look at the map, and be able to narrow down the routes to some smaller number, or be able to quickly narrow down the options to a small number of sets of routes.

In many ways, this is the ‘holy grail’ of Machine Learning, the ability for a machine to step away from what we tell it, and to be able to solve the problem in a more direct way. Heuristics are an attempt to solve this problem, but they’re always somewhat rules-based.

Next is clustering, best used for differentiating between different groups of things so that you can make a decision. My favourite is ‘Flow Cytometry’ https://en.wikipedia.org/wiki/Flow_cytometry, where you’re trying to differentiate different groups of cells, basically through clustering on a 2-D graph of the brightness of various fluorescent cell markers.

Customer persona clustering is another example, such as you might do for segmentation, where standard groups like age or location would not be good enough.

Machine Learning problems such as the Netflix challenge http://www.netflixprize.com/, where you want a large degree of accuracy in your answer, require the use of a number of techniques. (The problem was to take a list of customer movie ratings and predict how those customers would rate other movies.)

First, you need to clean and normalize the data. The authors were also able to separate the general opinion of each movie from the specific opinion each person had about each movie. (Each of these was about as important to the overall result.) Each of these normalizations or bias removals would likely have been done with some form of machine learning, suggesting that any comprehensive usage would require multiple pipelines or channels, probably directed by some master channels* learning from which of them were the most effective.

I wonder how much of what we do as humans involves breaking down the problem, to divide and conquer. When we’re asked for a movie recommendation, do we think of good movies first, then what that person would think of? Personally, I feel I get my best results when I try to put myself in that person’s shoes, suggesting there may be a long way still to go.

Perhaps looking at groups of movies, or some sort of tagging, to get at whatever ‘genes’ may be underneath, as you may like certain things about movies which are only imperfectly captured by how people like them similarly. (Or perhaps, the data is big enough to capture all of this. It’s fun to speculate. 😀 )

*This suggests a hierarchy, which is only one way of seeing the structure. Other views are possible, but outside the scope.

Class Divisions

There are many computer games out there which have or purport to give the player the fighter/mage/thief* experience. The canonical examples for me are ‘Quest for Glory’ (Sierra) and ‘Keef the Thief’, probably because they were the first ones I played in the genre.

Most of these games will have different skills you can use to overcome the various obstacles the games throw your way. I’m interested in looking at these skills, and seeing how much each of the games actually lets you play a fighter, mage, or thief, and also how much each of the skills falls under one or more of these categories. But for this, well need some definitions…

The mage/non-mage division is probably the easiest to define, good canonical examples are ‘Ars Magica’ and the ‘Might and Magic’ series, where there are various types of magic users various types of non-magic users.

Mages:
– Basically, a mage is someone who can do things that are outside of what a human could do at a medieval tech. level**.
– They also have some sort of internal power reserve which they use to perform these feats, a power reserve which recharges over time or when they rest. This power reserve is sometimes the same as ‘stamina’ (GURPS), ans sometimes not (D&D, TES, etc…)

‘Fighters’ and ‘Thieves’ have skills that one could conceivably acquire as a very well-trained human. The main difference is in the techniques used to solve problems.

Fighters:
– Tend to use very straight-forward methods to solve problems, often involving combat.
– Fighters will tend to have more combat skills and options than others

Thieves:
– Thieves tend to use more stealth, trying to find an adversary’s weak points, and using more non-combat skills, many of which have less than legal uses.
– Thieves will tend to have a wider variety of skills than others

There are also various skills which any ‘adventurer’ would require to get by in a fantasy world. Depending on the particular game and its game balance, these skills may fall under any one of the ‘classes’ above.

*I’m stepping somewhat away from the D&D Fighter/Mage/Cleric/Thief paradigm, but may revisit this in the future. There are a large number of games which merge all magic users into one, and that’s what I want to explore. Also, the idea of a separate class of ‘healers’ is an interesting concept/conceit, and it may be interesting to see how this is reflective of a society where people damage themselves all the time, and rely on one member of the group to heal them, rather than doing things in a more sustainable/mindful manner…

**’Tech. levels’ were first codified (that I saw) by GURPS: http://gurps.wikia.com/wiki/Tech_Level. Most fantasy-type games feel like between 2 and 3 on this scale. Game balance wrt different ‘magic spells’ and their resepective tech. levels is a whole different interesting topic.