Splitting Learning into Foundations and Differences

Analogous function but different solutions to arms and wings (source: http://mrsgebauer.com/bats/birds/bird.html)

Analogous function but different solutions to arms and wings (source: http://mrsgebauer.com/bats/birds/bird.html)

My favourite techniques in extending technical knowledge are a “Parallels” method and the “Hub Analogy” method.

Parallels Method: For example, if someone knows how to solve a particular problem in Java, map each step over to the target language – say Objective C, and line up the equivalent functionality. Then, differences are much more easily explained, as they stand out from this common basis. This method works great when laterally moving through equivalent topics.

Hub Analogy Method: I recently had the opportunity to do a presentation to new pilots on how airplanes land at an airport. The aviation terms and language really make no sense to a newcomer, especially in 5 minutes, so I started with the idea that landing at an airport is a lot like going through a Tim Horton’s Drivethru: you line up, follow the signs, make a radio call with your request, and keep yourself away from other traffic. This had the benefit of allowing us to ‘hang’ new ideas off this solid mental model which everyone could be familiar with. For example, you can call the Tim Horton’s person the ‘Tower’ and introduce the concept of ‘runway clearance’ as the equivalent of, ‘please drive up to the second window’. A familiar and flexible hub analogy allows better student recall by splitting new learning into Foundation and Connected Differences, i.e. Hub and Spokes. This method works best when introducing less familiar or totally unfamiliar topics. (It is most notoriously misused in science documentaries as the classic units of measure: “Human Hair”, “elephants”, “Golf Ball” and “Football Fields”)

No technique is going to work as well without examples. Popular books from Gladwell and Kahneman are completely saturated with examples because they know that we learn by generalizing, not by making up specifics after memorizing some abstract framework. Humans evolved to think, “I don’t eat that fish because that one time I did was pretty bad, therefore, no yellow-striped fish for me of any kind.”, not, “anything that is sending a signal it is poisonous is highly visible as opposed to camouflaged, therefore I will not try that fish over there.” Examples are also a form of storytelling – which is just a way of conveying a personal experience like, “In and Out: That One Time I Ate That Yellow Striped Yuck Fish”. We love stories because humans are empathy machines, and blur our Specifics into Generalizations.

Displays in a vibrating environment: How NASA addressed a blurry problem

vibratingDisplay2

The effect of synchronized strobed display to reduce motion blurring readibility issues in a high vibration environment. Or more specifically, Turning a mess into less of a mess.

The stereotypes are true: the boost into space from sea level is a shaky, G-infested carnival ride with every Fourier component you care to name. NASA had a similar problem as part of its problematic Ares 1 project. Some rockets have a dominant resonance frequency in long axis that is termed ‘pogo’ (like the stick) and in human rated vehicles this means a dominant mode vibration passes to the passengers. In the case of the Ares I, this was on the order of 0.7G’s at about 12 Hertz, working out to around 5mm motion. If the computer displays the passenger is looking at do not have the same damping and resonance characteristics as their own eyes and head, motion blur in the displays will make them unreadable as simulated above.

A solution tested was to strobe the display in the same way LED-based displays are dimmed – a square wave duty cycle is applied so that the display is actually off some of time. The duty cycle is synchronized to the main vibrational component of the the pogo motion, removing the worst of the motion blur at the expense of some brightness (This simulated view assumes that brightness can be boosted somewhat to compensate).

 

Trading Brightness for clarity: effect of strobing a display in sync with a sinusoidal vibration mode

Trading Brightness for clarity: effect of strobing a display in sync with a sinusoidal vibration mode

When compensating for a single, sinusoidal mode, the loss in brightness is not that great if the duty cycle of the strobing is phase matched to a displacement peak of the motion as shown. A vibration reduction of 90% is possible with a 20% duty cycle, or 80% loss in brightness.

Read the article and see the demo video here:

http://gizmodo.com/5880850/how-nasa-solved-a-100-million-problem-for-five-bucks

How to effectively study

Alan Turing Statue

Alan Turning : “We can only see a short distance ahead, but we can see plenty there that needs to be done.”

You never stop learning, which means you never stop studying. Sometimes the hardest things to learn are those that don’t have a concrete test or exam at the end. How do you know how well you did in a race if there are no hurdles, laps, timer or finish line? That’s part of being an adult, and actually a part of a Human Factors model where your “comfort zone” must be stretched into an area where you are uncomfortable, but, as it turns out, competent.

A good way to stretch yourself in the direction of learning something new is not just to read the manual. Humans are designed to learn through doing, so doing examples and writing example exams is generally more effective than just linear reading.

Why?

 

Continue reading

Javascript performance across many browsers – run your tests and share the results here

jsperf is like a horserace – it allows you to set up and run your own test cases simultaneously on multiple remote browsers to see the performance differences. One recent one I was checking out was “Math.floor(4.6)” versus “~~4.6”. This is a powerful tool to diagnose some cross browser performance issues, and to have a look at what other people have been benchmarking.

 

UX: Touch design for kids is touch design for Execs

Kids are fearless and brilliant and will learn to drive an interface faster than any adult. This great article outlines 4 ‘pleas’ from a father to touch app developers that are not so much for his kid (2 years old) but for his own understanding, and I have not seen it spelled out so clearly and concisely before. Well worth the read.