Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

YouTube videos are no longer supported on SlideShare

View original on YouTube

Who Doesn't Want to Believe in Magic? Slide 2 Who Doesn't Want to Believe in Magic? Slide 3 Who Doesn't Want to Believe in Magic? Slide 4 Who Doesn't Want to Believe in Magic? Slide 5 Who Doesn't Want to Believe in Magic? Slide 6 Who Doesn't Want to Believe in Magic? Slide 7 Who Doesn't Want to Believe in Magic? Slide 8 Who Doesn't Want to Believe in Magic? Slide 9 Who Doesn't Want to Believe in Magic? Slide 10 Who Doesn't Want to Believe in Magic? Slide 11 Who Doesn't Want to Believe in Magic? Slide 12 Who Doesn't Want to Believe in Magic? Slide 13 Who Doesn't Want to Believe in Magic? Slide 14 Who Doesn't Want to Believe in Magic? Slide 15 Who Doesn't Want to Believe in Magic? Slide 16 Who Doesn't Want to Believe in Magic? Slide 17 Who Doesn't Want to Believe in Magic? Slide 18 Who Doesn't Want to Believe in Magic? Slide 19 Who Doesn't Want to Believe in Magic? Slide 20 Who Doesn't Want to Believe in Magic? Slide 21 Who Doesn't Want to Believe in Magic? Slide 22 Who Doesn't Want to Believe in Magic? Slide 23 Who Doesn't Want to Believe in Magic? Slide 24 Who Doesn't Want to Believe in Magic? Slide 25 Who Doesn't Want to Believe in Magic? Slide 26 Who Doesn't Want to Believe in Magic? Slide 27 Who Doesn't Want to Believe in Magic? Slide 28 Who Doesn't Want to Believe in Magic? Slide 29
Upcoming SlideShare
Back to You Future - a talk from Future Insights Live 2015
Next
Download to read offline and view in fullscreen.

4

Share

Download to read offline

Who Doesn't Want to Believe in Magic?

Download to read offline

As developers, we often make things happen but can’t explain exactly how.. Computing ultimately comes down to 1s and 0s, but we seldom think of our work that way. It is the powerful abstractions provided by software that drive technological progress. But what happens when these abstractions become too magic? This talk will explore the pitfalls of “abstraction magic”, and promote the successes that full stack understanding can bring to your projects, and even career.

Related Books

Free with a 30 day trial from Scribd

See all

Who Doesn't Want to Believe in Magic?

  1. 1. who doesn’t want tobelieve in magic?kate matsudaira | @katematsWednesday, May 29, 13
  2. 2. happinessWednesday, May 29, 13
  3. 3. happinessLife would be somuch better if therewere piñatasstrategically placedthroughout the day.Wednesday, May 29, 13
  4. 4. flow happinessWednesday, May 29, 13
  5. 5. challengesskillsanxietyboredomflowdiagram from the book: Flow: The Psychology of Optimal Experience (1990)Wednesday, May 29, 13
  6. 6. happiness is a way of travel,not a destinationhttp://occasionallego.files.wordpress.com/2013/02/feb_02_2013.jpgWednesday, May 29, 13
  7. 7. flow happinessmasteryWednesday, May 29, 13
  8. 8. Image source: http://satellite.tpub.com/TM-11-5895-846-14/TM-11-5895-846-140401im.jpgWednesday, May 29, 13
  9. 9. Image source: http://pixelperfectdigital.com/photo/5/computer-circuits.htmlWednesday, May 29, 13
  10. 10. Image source: wallpaperstock.net -Wednesday, May 29, 13
  11. 11. Image source: www.balsas.lt - -Wednesday, May 29, 13
  12. 12. Wednesday, May 29, 13
  13. 13. Image source: http://jochenebmeier.blogspot.com/2011/07/arkanum-die-remystifizerung-des-wissens.htmlWednesday, May 29, 13
  14. 14. Image source:http://etsy.comWednesday, May 29, 13
  15. 15. SPDYWednesday, May 29, 13
  16. 16. Source: http://www.sencha.com/blog/the-making-of-fastbook-an-html5-love-storyWednesday, May 29, 13
  17. 17. mysql>  SELECT  `campaign_active_rankings`.*  FROM  `campaign_active_rankings`  WHERE  (campaign_id  =  3  and  engine_id  =  96)  AND  (latest_rank  =  min_rank  AND  latest_rank  <  max_rank)  ORDER  BY  beta  DESC  LIMIT  3;Wednesday, May 29, 13
  18. 18. Heres the underlying view SQL:campaign_active_rankingsselect  `campaign_tracked_rankings`.`campaign_id`  AS  `campaign_id`,`campaign_tracked_rankings`.`engine_id`  AS  `engine_id`,`campaign_tracked_rankings`.`keyword_id`  AS  `keyword_id`,`campaign_tracked_rankings`.`keyword_labels`  AS  `keyword_labels`,max(`campaign_tracked_rankings`.`rank`)  AS  `latest_rank`,max(`chained_domain_ranks_by_week`.`rank`)  AS  `max_rank`,min(`chained_domain_ranks_by_week`.`rank`)  AS  `min_rank`,(max(`chained_domain_ranks_by_week`.`rank`)  -­‐  min(`chained_domain_ranks_by_week`.`rank`))  AS  `spread`,pow(exp(sum(log(coalesce((case  when  (`chained_domain_ranks_by_week`.`delta`  <>  0)  then  abs(`chained_domain_ranks_by_week`.`delta`)  end),0.5)))),(1  /  count(0)))  AS  `beta`,avg(abs(`chained_domain_ranks_by_week`.`delta`))  AS  `avg_delta_mag`  from  ((`campaigns`  join  `campaign_tracked_rankings`  on(((`campaigns`.`id`  =  `campaign_tracked_rankings`.`campaign_id`)  and  (`campaigns`.`domain_host`  =  `campaign_tracked_rankings`.`domain_host`))))  join  `chained_domain_ranks_by_week`  on(((`campaign_tracked_rankings`.`keyword_id`  =  `chained_domain_ranks_by_week`.`keyword_id`)  and  (`campaign_tracked_rankings`.`engine_id`  =  `chained_domain_ranks_by_week`.`engine_id`)  and  (`campaign_tracked_rankings`.`domain_host`  =  `chained_domain_ranks_by_week`.`domain_host`)  and  (`chained_domain_ranks_by_week`.`week`  in  (`campaign_tracked_rankings`.`week`,(`campaign_tracked_rankings`.`week`  -­‐  interval  1  week),(`campaign_tracked_rankings`.`week`  -­‐  interval  2  week),(`campaign_tracked_rankings`.`week`  -­‐  interval  3  week))))))  group  by  `campaign_tracked_rankings`.`campaign_id`,`campaign_tracked_rankings`.`engine_id`,`campaign_tracked_rankings`.`keyword_id`Wednesday, May 29, 13
  19. 19. chained_searches_by_weekselect  `engine_keyword_week_latest_search`.`week`  AS  `week`,`engine_keyword_week_latest_search`.`search_id`  AS  `search_id`,`engine_keyword_week_latest_search`.`engine_id`  AS  `engine_id`,`engine_keyword_week_latest_search`.`keyword_id`  AS  `keyword_id`,`engine_keyword_week_latest_search`.`search_date`  AS  `search_date`,`engine_keyword_week_latest_search`.`search_state`  AS  `search_state`,`prior_week`.`search_id`  AS  `prior_search_id`,`prior_week`.`search_date`  AS  `prior_search_date`,`prior_week`.`search_state`  AS  `prior_search_state`  from  (`engine_keyword_week_latest_search`  left  join  `engine_keyword_week_latest_search`  `prior_week`  on(((`engine_keyword_week_latest_search`.`engine_id`  =  `prior_week`.`engine_id`)  and  (`engine_keyword_week_latest_search`.`keyword_id`  =  `prior_week`.`keyword_id`)  and  (`engine_keyword_week_latest_search`.`week`  =  (`prior_week`.`week`  +  interval  1  week)))))engine_keyword_week_latest_searchselect  `searches`.`engine_id`  AS  `engine_id`,`searches`.`keyword_id`  AS  `keyword_id`,`searches`.`week`  AS  `week`,`searches`.`state`  AS  `search_state`,`searches`.`date`  AS  `search_date`,`searches`.`id`  AS  `search_id`  from  (`searches`  left  join  `searches`  `better_search`  on(((`searches`.`engine_id`  =  `better_search`.`engine_id`)  and  (`searches`.`keyword_id`  =  `better_search`.`keyword_id`)  and  (`searches`.`week`  =  `better_search`.`week`)  and  (`better_search`.`state`  =  2)  and  (`searches`.`date`  <  `better_search`.`date`))))  where  ((`searches`.`state`  =  2)  and  isnull(`better_search`.`id`))search_domain_rankselect  `pages_urls`.`search_id`  AS  `search_id`,`pages_urls`.`host`  AS  `domain_host`,`pages_urls`.`rank`  AS  `rank`,`pages_urls`.`url_id`  AS  `url_id`  from  (`pages_urls`  left  join  `pages_urls`  `better_pages_urls`  on(((`better_pages_urls`.`host`  =  `pages_urls`.`host`)  and  (`better_pages_urls`.`search_id`  =  `pages_urls`.`search_id`)  and  (`better_pages_urls`.`rank`  <  `pages_urls`.`rank`))))  where  isnull(`better_pages_urls`.`id`)campaign_trackingsselect  `campaign_engines`.`campaign_id`  AS  `campaign_id`,`campaign_engines`.`engine_id`  AS  `engine_id`,`campaign_keywords`.`keyword_id`  AS  `keyword_id`,`campaign_keywords`.`labels`  AS  `keyword_labels`,`campaign_domains`.`domain_host`  AS  `domain_host`  from  ((`campaign_engines`  join  `campaign_domains`  on((`campaign_engines`.`campaign_id`  =  `campaign_domains`.`campaign_id`)))  join  `campaign_keywords`  on((`campaign_engines`.`campaign_id`  =  `campaign_keywords`.`campaign_id`)))campaign_tracked_rankingsselect  `campaign_trackings`.`campaign_id`  AS  `campaign_id`,`campaign_trackings`.`engine_id`  AS  `engine_id`,`campaign_trackings`.`keyword_id`  AS  `keyword_id`,`campaign_trackings`.`keyword_labels`  AS  `keyword_labels`,`campaign_trackings`.`domain_host`  AS  `domain_host`,`engine_keyword_latest_search`.`search_id`  AS  `search_id`,`engine_keyword_latest_search`.`search_date`  AS  `search_date`,`engine_keyword_latest_search`.`search_state`  AS  `search_state`,`engine_keyword_latest_search`.`week`  AS  `week`,`domain_ranking_summaries`.`rank`  AS  `rank`,`domain_ranking_summaries`.`prior_rank`  AS  `prior_rank`,`domain_ranking_summaries`.`delta`  AS  `delta`  from  ((`campaign_trackings`  left  join  `engine_keyword_latest_search`  on(((`campaign_trackings`.`engine_id`  =  `engine_keyword_latest_search`.`engine_id`)  and  (`campaign_trackings`.`keyword_id`  =  `engine_keyword_latest_search`.`keyword_id`))))  left  join  `domain_ranking_summaries`  on(((`engine_keyword_latest_search`.`search_id`  =  `domain_ranking_summaries`.`search_id`)  and  (`campaign_trackings`.`domain_host`  =  `domain_ranking_summaries`.`domain_host`))))chained_domain_ranks_by_weekselect  `chained_searches_by_week`.`search_id`  AS  `search_id`,`chained_searches_by_week`.`engine_id`  AS  `engine_id`,`chained_searches_by_week`.`keyword_id`  AS  `keyword_id`,`chained_searches_by_week`.`week`  AS  `week`,`chained_searches_by_week`.`search_date`  AS  `search_date`,`search_domain_rank`.`domain_host`  AS  `domain_host`,`search_domain_rank`.`rank`  AS  `rank`,`prior_search_domain_rank`.`rank`  AS  `prior_rank`,(`prior_search_domain_rank`.`rank`  -­‐  `search_domain_rank`.`rank`)  AS  `delta`  from  ((`chained_searches_by_week`  join  `search_domain_rank`  on((`chained_searches_by_week`.`search_id`  =  `search_domain_rank`.`search_id`)))  left  join  `search_domain_rank`  `prior_search_domain_rank`  on(((`chained_searches_by_week`.`prior_search_id`  =  `prior_search_domain_rank`.`search_id`)  and  (`search_domain_rank`.`domain_host`  =  `prior_search_domain_rank`.`domain_host`))))domain_ranking_summariesselect  `engine_keyword_latest_search`.`engine_id`  AS  `engine_id`,`engine_keyword_latest_search`.`keyword_id`  AS  `keyword_id`,`engine_keyword_latest_search`.`search_id`  AS  `search_id`,`urls`.`host`  AS  `domain_host`,max(`engine_keyword_latest_search`.`search_date`)  AS  `search_date`,max(`engine_keyword_latest_search`.`search_state`)  AS  `search_state`,min(`chained_url_ranks_by_week`.`rank`)  AS  `rank`,min(`chained_url_ranks_by_week`.`prior_rank`)  AS  `prior_rank`,(min(`chained_url_ranks_by_week`.`prior_rank`)  -­‐  min(`chained_url_ranks_by_week`.`rank`))  AS  `delta`  from  ((`engine_keyword_latest_search`  join  `chained_url_ranks_by_week`  on((`engine_keyword_latest_search`.`search_id`  =  `chained_url_ranks_by_week`.`search_id`)))  join  `urls`  on((`chained_url_ranks_by_week`.`url_id`  =  `urls`.`id`)))  group  by  `engine_keyword_latest_search`.`engine_id`,`engine_keyword_latest_search`.`keyword_id`,`urls`.`host`chained_url_ranks_by_weekselect  `chained_searches_by_week`.`search_id`  AS  `search_id`,`chained_searches_by_week`.`engine_id`  AS  `engine_id`,`chained_searches_by_week`.`keyword_id`  AS  `keyword_id`,`chained_searches_by_week`.`week`  AS  `week`,`pages_urls`.`url_id`  AS  `url_id`,`pages_urls`.`rank`  AS  `rank`,`pages_urls`.`page_number`  AS  `page_number`,`pages_urls`.`position`  AS  `position`,`prior_pages_urls`.`rank`  AS  `prior_rank`,(case  when  (`prior_pages_urls`.`rank`  is  not  null)  then  -­‐((`pages_urls`.`rank`  -­‐  `prior_pages_urls`.`rank`))  else  NULL  end)  AS  `delta`  from  ((`chained_searches_by_week`  join  `pages_urls`  on((`pages_urls`.`search_id`  =  `chained_searches_by_week`.`search_id`)))  left  join  `pages_urls`  `prior_pages_urls`  on(((`prior_pages_urls`.`search_id`  =  `chained_searches_by_week`.`prior_search_id`)  and  (`prior_pages_urls`.`url_id`  =  `pages_urls`.`url_id`))))Wednesday, May 29, 13
  20. 20. Image source: http://static.fjcdn.com/pictures/pear_ff99e0_3037113.jpgwhat is inthat blackbox?Wednesday, May 29, 13
  21. 21. Image source: htto://www.amazon.comWednesday, May 29, 13
  22. 22. flow happinessmasteryWednesday, May 29, 13
  23. 23. cause&effectWednesday, May 29, 13
  24. 24. Wednesday, May 29, 13
  25. 25. I may not be there today,but I am closer than I was yesterday.Wednesday, May 29, 13
  26. 26. we are definedby what wemake time to doWednesday, May 29, 13
  27. 27. Wednesday, May 29, 13
  28. 28. thank youpresentation by:kate matsudairapopformsWednesday, May 29, 13
  • JohnMBradyAAMS

    Apr. 9, 2015
  • amyrlam

    May. 31, 2013
  • katemats

    May. 29, 2013
  • jcolman

    May. 29, 2013

As developers, we often make things happen but can’t explain exactly how.. Computing ultimately comes down to 1s and 0s, but we seldom think of our work that way. It is the powerful abstractions provided by software that drive technological progress. But what happens when these abstractions become too magic? This talk will explore the pitfalls of “abstraction magic”, and promote the successes that full stack understanding can bring to your projects, and even career.

Views

Total views

2,116

On Slideshare

0

From embeds

0

Number of embeds

20

Actions

Downloads

8

Shares

0

Comments

0

Likes

4

×