Focus, SCNA 2011
Upcoming SlideShare
Loading in...5
×
 

Focus, SCNA 2011

on

  • 294 views

This was a talk that I gave at SCNA 2011. It's a bit old but recently requested.

This was a talk that I gave at SCNA 2011. It's a bit old but recently requested.

Statistics

Views

Total Views
294
Views on SlideShare
294
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Focus, SCNA 2011 Focus, SCNA 2011 Presentation Transcript

  • Mastery
  • Local Maximas
  • Focus
  • Masters can melt people with their minds
  • We spend most of our time here
  • Mihaly Csikszentmihalyi on flow
  • What is flow?
  • I’ll give you a hint...
  • ?
  • Flow != meditation
  • The mental states are remarkably similar
  • The flow of a master is much more effective
  • Our nervous system can only process 110 bits of information per second
  • Effects • Completely involved (no notion of self) • A sense of ecstasy • Inner Clarity • Confidence in skills to solve the problem • Serenity • Timelessness • Intrinsic motivation
  • Focus has an enemy
  • 25
  • When you over caffeinate, your nervous system can’t funciton properly
  • You can’t enter proper flow when in this state
  • BS!
  • We spend most of our time here
  • Achieving mastery requires proper focus
  • How do we get there?
  • Power
  • Power comes in multiple forms
  • Locality
  • Know when to apply what kind of power
  • Sometimes power > elegance
  • Work in tools that allow flexible application of power and elgance
  • Simplicity
  • example: refactor apache commons isBlank 33
  • initial implementation public class StringUtils { ! public static boolean isBlank(String str) { ! int strLen; ! if (str == null || (strLen = str.length()) == 0) { ! return true; ! } ! for (int i = 0; i < strLen; i++) { ! if ((Character.isWhitespace(str.charAt(i)) == false)) { ! return false; ! }! }! return true;! }! } 34
  • - type decls public class StringUtils { ! public isBlank(str) { ! if (str == null || (strLen = str.length()) == 0) { ! return true; ! } ! for (i = 0; i < strLen; i++) { ! if ((Character.isWhitespace(str.charAt(i)) == false)) { ! return false; ! }! }! return true;! }! } 35
  • - class public isBlank(str) { ! if (str == null || (strLen = str.length()) == 0) { ! return true; ! } ! for (i = 0; i < strLen; i++) { ! if ((Character.isWhitespace(str.charAt(i)) == false)) { ! return false; ! }! }! return true;! } 36
  • + higher-order function public isBlank(str) { ! if (str == null || (strLen = str.length()) == 0) { ! return true; ! } ! every (ch in str) { ! Character.isWhitespace(ch);! }! return true;! }! 37
  • - corner cases public isBlank(str) { ! every (ch in str) { ! Character.isWhitespace(ch);! }! } 38
  • lispify (defn blank? [s] ! (every? #(Character/isWhitespace %) s)) 39
  • initial implementation Mutable state Condition public class StringUtils { ! public static boolean isBlank(String str) { ! int strLen; ! if (str == null || (strLen = str.length()) == 0) { ! return true; ! } ! for (int i = 0; i < strLen; i++) { ! if ((Character.isWhitespace(str.charAt(i)) == false)) { ! return false; ! }! }! return true;! }! } Exit point Loop Exit point Exit point 40 Condition
  • Ok, i’m confused, how does this apply to mastery?
  • Focus and flow let us realize our potential
  • We learn by stretching beyond our limits
  • Entering flow helps us become more self aware
  • And sometimes here We should be tactically moving here
  • Effective focus helps you level up faster
  • You need to work with tools and languages that allow proper focus
  • Choose sleep over caffiene
  • Thank You! • • • aaron@clojure.com @abedra thinkrelevance.com