Why are Preprocessors divisive?          Kianosh Pourian
Who Are you?
Who Are you? No one of consequence
Who Are you? No one of consequence      I must know
Who Are you? No one of consequence       I must knowGet used to disappointment
Who Are you? No one of consequence       I must knowGet used to disappointment   Twitter: @kianoshp Blog: innovatorylife.com
What are Preprocessors?   In computer science, a preprocessor is a program that processes its input data to produce output...
Preprocessors for the Web
Preprocessors for the WebFor the web, the term usually means a languagethat can be combined with a trans-compiler to    ou...
Preprocessors for the WebFor the web, the term usually means a languagethat can be combined with a trans-compiler to    ou...
PreProcessors in the wild
PreProcessors in the wild• Stenographers• Shorthand notes
PreProcessors in the wild• Stenographers• Shorthand notes
Preprocessors for Front End       DevelopmentHAML    Jade               Zen-coding
Preprocessors for Front End       DevelopmentHAML           HTML    Jade               Zen-coding
Preprocessors for Front End         DevelopmentHAML             HTML      Jade                 Zen-codingCSS
Preprocessors for Front End                DevelopmentHAML                            HTML                    Jade        ...
Preprocessors for Front End                DevelopmentHAML                            HTML                    Jade        ...
Preprocessors for Front End                DevelopmentHAML                            HTML                    Jade        ...
How to Argue Correctly• Scientific research vs. Political debate• Leave out the vitriol• Semi colon war of 2012 - https:// ...
Goals of a Discussion
Goals of a Discussion• It should produce a wise agreement, if  possible
Goals of a Discussion• It should produce a wise agreement, if  possible• It should be efficient
Goals of a Discussion• It should produce a wise agreement, if  possible• It should be efficient• It should not damage the r...
Tactics for a discussion
Tactics for a discussion• Separate the people from the problem
Tactics for a discussion• Separate the people from the problem• Focus on interests, not positions
Tactics for a discussion• Separate the people from the problem• Focus on interests, not positions• Invent options for mutu...
Tactics for a discussion• Separate the people from the problem• Focus on interests, not positions• Invent options for mutu...
Discussion Self Preparation
Discussion Self Preparation• Retain the willingness to be convinced
Discussion Self Preparation• Retain the willingness to be convinced• Imagine where others are coming from
Discussion Self Preparation• Retain the willingness to be convinced• Imagine where others are coming from• Account for you...
Discussion Self Preparation• Retain the willingness to be convinced• Imagine where others are coming from• Account for you...
Rules of engagement
Rules of engagement• Be nice
Rules of engagement• Be nice• Speak with surgical precision
Rules of engagement• Be nice• Speak with surgical precision• Be honest in your characterizations
Rules of engagement• Be nice• Speak with surgical precision• Be honest in your characterizations• Dont rise to the bait of...
Common Arguments
Common Arguments   I know CSS/JavaScript why do I need        to learn Sass/CoffeeScript?
Common Arguments             I know CSS/JavaScript why do I need                  to learn Sass/CoffeeScript?Compiler? I d...
Common Arguments             I know CSS/JavaScript why do I need                  to learn Sass/CoffeeScript?Compiler? I d...
Common Arguments             I know CSS/JavaScript why do I need                  to learn Sass/CoffeeScript?Compiler? I d...
Why do we have         preprocessors?• Fill a void or short-coming• Streamline development• Ease of use
How to end the argument• Don’t be afraid to walk away• Give them something to think about• In regards to pre-processors, h...
Thank You• Blog: innovatorylife.com• twitter: @kianoshp• LinkedIn: http://www.linkedin.com/in/  kianoshpourian
Upcoming SlideShare
Loading in...5
×

Why are preprocessors divisive

335

Published on

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
335
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Story of how this started, the reason behind the subject.\n
  • The Princess Bride\n
  • The Princess Bride\n
  • The Princess Bride\n
  • The Princess Bride\n
  • Pre-process information for other programs like a compiler. Simple changes like textual substitutions, format correction.\n
  • for the web, trans-compiler to canonical web language.\ndialect not language.\n
  • for the web, trans-compiler to canonical web language.\ndialect not language.\n
  • Stenography or shorthand notes.\n
  • Stenography or shorthand notes.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Talk about how I am trying my best to follow these rules but am not perfect.\nScientific community base their arguments on facts. So if one is disproved, it is not taken personally.\n\n
  • Talk about the facebook post.\n
  • Talk about the facebook post.\n
  • Talk about the facebook post.\n
  • - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  • - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  • - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  • - any emotional feelings towards the person on the other side of the argument, should be removed.\n- Outline what it is that you are trying to accomplish\n- Coming up with solutions that will work for both sides\n- Setting an objective will help in working towards that.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Common arguments against pre-processors\n
  • Common arguments against pre-processors\n
  • Common arguments against pre-processors\n
  • Common arguments against pre-processors\n
  • \n
  • - Don’t use the cliche “let’s agree to disagree” but same concept\n- walk away with goals for each side\n\n
  • \n
  • Why are preprocessors divisive

    1. 1. Why are Preprocessors divisive? Kianosh Pourian
    2. 2. Who Are you?
    3. 3. Who Are you? No one of consequence
    4. 4. Who Are you? No one of consequence I must know
    5. 5. Who Are you? No one of consequence I must knowGet used to disappointment
    6. 6. Who Are you? No one of consequence I must knowGet used to disappointment Twitter: @kianoshp Blog: innovatorylife.com
    7. 7. What are Preprocessors? In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program. The output is said to be a preprocessed formof the input data, which is often used by some subsequent programs like compilers. The amount and kind of processing done depends on the nature of the preprocessor; some preprocessors are only capable of performing relatively simple textual substitutions and macro expansions, while others have the power of full-fledged programming languages.
    8. 8. Preprocessors for the Web
    9. 9. Preprocessors for the WebFor the web, the term usually means a languagethat can be combined with a trans-compiler to output a canonical “web language,” like JavaScript or CSS.
    10. 10. Preprocessors for the WebFor the web, the term usually means a languagethat can be combined with a trans-compiler to output a canonical “web language,” like JavaScript or CSS. More a dialect, less a language.
    11. 11. PreProcessors in the wild
    12. 12. PreProcessors in the wild• Stenographers• Shorthand notes
    13. 13. PreProcessors in the wild• Stenographers• Shorthand notes
    14. 14. Preprocessors for Front End DevelopmentHAML Jade Zen-coding
    15. 15. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding
    16. 16. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-codingCSS
    17. 17. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding Sass/CompassLESS CSS Stylus
    18. 18. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding Sass/CompassLESS CSS Stylus JavaScript
    19. 19. Preprocessors for Front End DevelopmentHAML HTML Jade Zen-coding Sass/CompassLESS CSS CoffeeScript IcedCoffeeScript Stylus JavaScript GWT DART
    20. 20. How to Argue Correctly• Scientific research vs. Political debate• Leave out the vitriol• Semi colon war of 2012 - https:// github.com/twitter/bootstrap/issues/3057• Selector wars of 2008 - http://ejohn.org/ blog/selectors-that-people-actually-use/
    21. 21. Goals of a Discussion
    22. 22. Goals of a Discussion• It should produce a wise agreement, if possible
    23. 23. Goals of a Discussion• It should produce a wise agreement, if possible• It should be efficient
    24. 24. Goals of a Discussion• It should produce a wise agreement, if possible• It should be efficient• It should not damage the relationship between the parties
    25. 25. Tactics for a discussion
    26. 26. Tactics for a discussion• Separate the people from the problem
    27. 27. Tactics for a discussion• Separate the people from the problem• Focus on interests, not positions
    28. 28. Tactics for a discussion• Separate the people from the problem• Focus on interests, not positions• Invent options for mutual gain
    29. 29. Tactics for a discussion• Separate the people from the problem• Focus on interests, not positions• Invent options for mutual gain• Insist on objective criteria
    30. 30. Discussion Self Preparation
    31. 31. Discussion Self Preparation• Retain the willingness to be convinced
    32. 32. Discussion Self Preparation• Retain the willingness to be convinced• Imagine where others are coming from
    33. 33. Discussion Self Preparation• Retain the willingness to be convinced• Imagine where others are coming from• Account for your own taste
    34. 34. Discussion Self Preparation• Retain the willingness to be convinced• Imagine where others are coming from• Account for your own taste• Account for your own emotions
    35. 35. Rules of engagement
    36. 36. Rules of engagement• Be nice
    37. 37. Rules of engagement• Be nice• Speak with surgical precision
    38. 38. Rules of engagement• Be nice• Speak with surgical precision• Be honest in your characterizations
    39. 39. Rules of engagement• Be nice• Speak with surgical precision• Be honest in your characterizations• Dont rise to the bait of others vitriol
    40. 40. Common Arguments
    41. 41. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript?
    42. 42. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript?Compiler? I don’t need no stinking compiler!!
    43. 43. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript?Compiler? I don’t need no stinking compiler!! Large learning curve
    44. 44. Common Arguments I know CSS/JavaScript why do I need to learn Sass/CoffeeScript?Compiler? I don’t need no stinking compiler!! Large learning curve Convince me!!
    45. 45. Why do we have preprocessors?• Fill a void or short-coming• Streamline development• Ease of use
    46. 46. How to end the argument• Don’t be afraid to walk away• Give them something to think about• In regards to pre-processors, history is on the pre-processor side • CSS4 will have variables • JavaScript Next (6.0) will have arrow functions
    47. 47. Thank You• Blog: innovatorylife.com• twitter: @kianoshp• LinkedIn: http://www.linkedin.com/in/ kianoshpourian
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×