SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Code as Praxis

 Prof Alvarado
  MDST 3705
29 January 2013
Business
• Please create Posts, not Comments
• Quiz 1 to be posted next Tuesday
• New materials on the site
  – Requirements
  – Schedule later today
• Concerns about coding level
  – Media Studies
  – Computer Science
Review
• Code, like language, both assumes a
  world and constructs worlds
• 10 PRINT showed this
  – Close reading of the line of code
  – The pattern that the code generated
• Word patterns (an example)
  – http://people.virginia.edu/~rca2t/MDST3705/pl
    ay/sara.php
• Another example is Conway’s Game of
  Life
  – Anyone heard of it?
CONWAY’S GAME OF LIFE




http://www.youtube.com/watch?v=XcuBvj0pw-E
Very simple rules and structures

Complex and unpredictable results

   An example of “emergence”

   This is what Barricelli saw …
Coding as Hacking
But first, what’s a hacker?
http://www.merriam-webster.com/dictionary/hacker
http://www.learnersdictionary.com/search/hacker
How is hacking like painting?
Hacking is a form of creation or building

             The code itself

        The effects of the code
Are creativity and logic
    incompatible?
Ginevra de Benci

Leonardo da Vinci
c. 1475
What is the relationship between
      doing and knowing?

     (Ramsay’s argument)
According to Ramsay, scholars who
 write programs learn something
about knowledge and meaning that
           others do not

(He created a big stink in saying so.)
“Praxis,” which is German for practice,
   refers to a theory of knowledge

This theory holds that only knowledge
based in and oriented to action is valid

Assocaited with Marxism, but also with
American Pragmatism (Perice, James,
               Dewey)
How is hacking not like painting?
Hackers and painters are also at
            odds …

 Plato banished the poets (which
  included painters) in favor of
philosophers (whose descendants
     are computer scientists)
Code and Plato’s Cave
Coding and painting, literally speaking,
use different “parts” of the brain


e.g. Visual vs. Syntactic


People skilled at one are not
usually skilled at the other
The code reflects this division of labor

     Good software is always the
    collaboration of “hackers” and
              “painters”

 Graham’s implicit point is that hackers
and painters can get along because they
   both have a creator’s approach to
              knowledge
}   PAINTERS




        }      CODERS
The nature and structure of
programming languages reflects
      this division of labor
Code Review
BASIC TEMPLATE FOR HTML
HTML + CSS
HTML + CSS + PHP
PHP Values
• Strings are in quotes
  – $foo = “BAR”;
  – $foo = „BAR‟;
• Double quotes mean you can put variables
  inside the string
  – $foo = “BAR $baz”;
• Numbers have no quotes
• Booleans have no quotes
  – true
  – false
PHP Operators
• Numeric
  +-/*%
• Strring
  . (the “dot” operator)
  e.g. “This ” . “and that” = “This and that”
• Boolean
  && || < > == != <= >=
  and or xor
  e.g. if ($x < $y) { … }
Regarding Truth
• The “true” is that which has a positive or
  negative value
• The “false” is that which has a no value,
  other 0 or an empty string

Weitere ähnliche Inhalte

Andere mochten auch

Mdst3705 2012-01-15-introduction
Mdst3705 2012-01-15-introductionMdst3705 2012-01-15-introduction
Mdst3705 2012-01-15-introductionRafael Alvarado
 
Thatcamp2011 intro to-cm_ses
Thatcamp2011 intro to-cm_sesThatcamp2011 intro to-cm_ses
Thatcamp2011 intro to-cm_sesRafael Alvarado
 
Mdst3703 2013-09-05-studio2
Mdst3703 2013-09-05-studio2Mdst3703 2013-09-05-studio2
Mdst3703 2013-09-05-studio2Rafael Alvarado
 
Mdst3703 projects-2012-10-11
Mdst3703 projects-2012-10-11Mdst3703 projects-2012-10-11
Mdst3703 projects-2012-10-11Rafael Alvarado
 
Mdst 3559-01-25-data-journalism
Mdst 3559-01-25-data-journalismMdst 3559-01-25-data-journalism
Mdst 3559-01-25-data-journalismRafael Alvarado
 
Mdst3705 2013-01-31-php3
Mdst3705 2013-01-31-php3Mdst3705 2013-01-31-php3
Mdst3705 2013-01-31-php3Rafael Alvarado
 

Andere mochten auch (6)

Mdst3705 2012-01-15-introduction
Mdst3705 2012-01-15-introductionMdst3705 2012-01-15-introduction
Mdst3705 2012-01-15-introduction
 
Thatcamp2011 intro to-cm_ses
Thatcamp2011 intro to-cm_sesThatcamp2011 intro to-cm_ses
Thatcamp2011 intro to-cm_ses
 
Mdst3703 2013-09-05-studio2
Mdst3703 2013-09-05-studio2Mdst3703 2013-09-05-studio2
Mdst3703 2013-09-05-studio2
 
Mdst3703 projects-2012-10-11
Mdst3703 projects-2012-10-11Mdst3703 projects-2012-10-11
Mdst3703 projects-2012-10-11
 
Mdst 3559-01-25-data-journalism
Mdst 3559-01-25-data-journalismMdst 3559-01-25-data-journalism
Mdst 3559-01-25-data-journalism
 
Mdst3705 2013-01-31-php3
Mdst3705 2013-01-31-php3Mdst3705 2013-01-31-php3
Mdst3705 2013-01-31-php3
 

Ähnlich wie Mdst3705 2013-01-29-praxis

Evolving as a professional software developer
Evolving as a professional software developerEvolving as a professional software developer
Evolving as a professional software developerAnton Kirillov
 
Антон Кириллов, ZeptoLab
Антон Кириллов, ZeptoLabАнтон Кириллов, ZeptoLab
Антон Кириллов, ZeptoLabDiana Dymolazova
 
Documentation for developers
Documentation for developersDocumentation for developers
Documentation for developersMichael Marotta
 
On being a professional software developer
On being a professional software developerOn being a professional software developer
On being a professional software developerAnton Kirillov
 
Fluid, Fluent APIs
Fluid, Fluent APIsFluid, Fluent APIs
Fluid, Fluent APIsErik Rose
 
Python: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopersPython: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopersGlenn De Backer
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Codemotion
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...ssuser4edc93
 
Four Languages From Forty Years Ago
Four Languages From Forty Years AgoFour Languages From Forty Years Ago
Four Languages From Forty Years AgoScott Wlaschin
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hackerRTigger
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesGanesh Samarthyam
 
DMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesPaige Morgan
 
Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Paige Morgan
 
Hacking - high school intro
Hacking - high school introHacking - high school intro
Hacking - high school introPeter Hlavaty
 
Coding for Designers. A primer. By Fabian Fabian
Coding for Designers. A primer. By Fabian FabianCoding for Designers. A primer. By Fabian Fabian
Coding for Designers. A primer. By Fabian FabianCodemotion
 
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...Jesús Moreno León
 
Linked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRMLinked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRMRobert Sanderson
 
C Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh Share
C Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh ShareC Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh Share
C Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh ShareNho Vĩnh
 

Ähnlich wie Mdst3705 2013-01-29-praxis (20)

Evolving as a professional software developer
Evolving as a professional software developerEvolving as a professional software developer
Evolving as a professional software developer
 
Lunch & learn code monkey
Lunch & learn code monkeyLunch & learn code monkey
Lunch & learn code monkey
 
Антон Кириллов, ZeptoLab
Антон Кириллов, ZeptoLabАнтон Кириллов, ZeptoLab
Антон Кириллов, ZeptoLab
 
Documentation for developers
Documentation for developersDocumentation for developers
Documentation for developers
 
On being a professional software developer
On being a professional software developerOn being a professional software developer
On being a professional software developer
 
Fluid, Fluent APIs
Fluid, Fluent APIsFluid, Fluent APIs
Fluid, Fluent APIs
 
Python: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopersPython: an introduction for PHP webdevelopers
Python: an introduction for PHP webdevelopers
 
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
Mike Kotsur - What can philosophy teach us about programming - Codemotion Ams...
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
 
Four Languages From Forty Years Ago
Four Languages From Forty Years AgoFour Languages From Forty Years Ago
Four Languages From Forty Years Ago
 
How to hire a hacker
How to hire a hackerHow to hire a hacker
How to hire a hacker
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
 
C++ Basics
C++ BasicsC++ Basics
C++ Basics
 
DMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slides
 
Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2
 
Hacking - high school intro
Hacking - high school introHacking - high school intro
Hacking - high school intro
 
Coding for Designers. A primer. By Fabian Fabian
Coding for Designers. A primer. By Fabian FabianCoding for Designers. A primer. By Fabian Fabian
Coding for Designers. A primer. By Fabian Fabian
 
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
Analyze your Scratch projects with Dr. Scratch and assess your Computational ...
 
Linked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRMLinked Art: An Art Museum Profile for CIDOC-CRM
Linked Art: An Art Museum Profile for CIDOC-CRM
 
C Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh Share
C Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh ShareC Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh Share
C Programming_ Step By Step Beginner's To Experts _ Nho Vĩnh Share
 

Mehr von Rafael Alvarado

Mdst3703 2013-10-08-thematic-research-collections
Mdst3703 2013-10-08-thematic-research-collectionsMdst3703 2013-10-08-thematic-research-collections
Mdst3703 2013-10-08-thematic-research-collectionsRafael Alvarado
 
Mdst3703 2013-10-01-hypertext-and-history
Mdst3703 2013-10-01-hypertext-and-historyMdst3703 2013-10-01-hypertext-and-history
Mdst3703 2013-10-01-hypertext-and-historyRafael Alvarado
 
Mdst3703 2013-09-24-hypertext
Mdst3703 2013-09-24-hypertextMdst3703 2013-09-24-hypertext
Mdst3703 2013-09-24-hypertextRafael Alvarado
 
Mdst3703 2013-09-12-semantic-html
Mdst3703 2013-09-12-semantic-htmlMdst3703 2013-09-12-semantic-html
Mdst3703 2013-09-12-semantic-htmlRafael Alvarado
 
Mdst3703 2013-09-17-text-models
Mdst3703 2013-09-17-text-modelsMdst3703 2013-09-17-text-models
Mdst3703 2013-09-17-text-modelsRafael Alvarado
 
Mdst3703 2013-09-10-textual-signals
Mdst3703 2013-09-10-textual-signalsMdst3703 2013-09-10-textual-signals
Mdst3703 2013-09-10-textual-signalsRafael Alvarado
 
Mdst3703 2013-09-03-plato2
Mdst3703 2013-09-03-plato2Mdst3703 2013-09-03-plato2
Mdst3703 2013-09-03-plato2Rafael Alvarado
 
Mdst3703 2013-08-29-hello-world
Mdst3703 2013-08-29-hello-worldMdst3703 2013-08-29-hello-world
Mdst3703 2013-08-29-hello-worldRafael Alvarado
 
UVA MDST 3703 2013 08-27 Introduction
UVA MDST 3703 2013 08-27 IntroductionUVA MDST 3703 2013 08-27 Introduction
UVA MDST 3703 2013 08-27 IntroductionRafael Alvarado
 
MDST 3705 2012-03-05 Databases to Visualization
MDST 3705 2012-03-05 Databases to VisualizationMDST 3705 2012-03-05 Databases to Visualization
MDST 3705 2012-03-05 Databases to VisualizationRafael Alvarado
 
Mdst3705 2013-02-26-db-as-genre
Mdst3705 2013-02-26-db-as-genreMdst3705 2013-02-26-db-as-genre
Mdst3705 2013-02-26-db-as-genreRafael Alvarado
 
Mdst3705 2013-02-19-text-into-data
Mdst3705 2013-02-19-text-into-dataMdst3705 2013-02-19-text-into-data
Mdst3705 2013-02-19-text-into-dataRafael Alvarado
 
Mdst3705 2013-02-12-finding-data
Mdst3705 2013-02-12-finding-dataMdst3705 2013-02-12-finding-data
Mdst3705 2013-02-12-finding-dataRafael Alvarado
 
Mdst3705 2012-01-22-code-as-language
Mdst3705 2012-01-22-code-as-languageMdst3705 2012-01-22-code-as-language
Mdst3705 2012-01-22-code-as-languageRafael Alvarado
 
Mdst3705 2013-01-24-php2
Mdst3705 2013-01-24-php2Mdst3705 2013-01-24-php2
Mdst3705 2013-01-24-php2Rafael Alvarado
 
Mdst3703 graph-theory-11-20-2012
Mdst3703 graph-theory-11-20-2012Mdst3703 graph-theory-11-20-2012
Mdst3703 graph-theory-11-20-2012Rafael Alvarado
 
Mdst3703 maps-and-timelines-2012-11-13
Mdst3703 maps-and-timelines-2012-11-13Mdst3703 maps-and-timelines-2012-11-13
Mdst3703 maps-and-timelines-2012-11-13Rafael Alvarado
 
Mdst3703 culturomics-2012-11-01
Mdst3703 culturomics-2012-11-01Mdst3703 culturomics-2012-11-01
Mdst3703 culturomics-2012-11-01Rafael Alvarado
 
Mdst3703 visualization-2012-10-23
Mdst3703 visualization-2012-10-23Mdst3703 visualization-2012-10-23
Mdst3703 visualization-2012-10-23Rafael Alvarado
 

Mehr von Rafael Alvarado (20)

Mdst3703 2013-10-08-thematic-research-collections
Mdst3703 2013-10-08-thematic-research-collectionsMdst3703 2013-10-08-thematic-research-collections
Mdst3703 2013-10-08-thematic-research-collections
 
Mdst3703 2013-10-01-hypertext-and-history
Mdst3703 2013-10-01-hypertext-and-historyMdst3703 2013-10-01-hypertext-and-history
Mdst3703 2013-10-01-hypertext-and-history
 
Mdst3703 2013-09-24-hypertext
Mdst3703 2013-09-24-hypertextMdst3703 2013-09-24-hypertext
Mdst3703 2013-09-24-hypertext
 
Presentation1
Presentation1Presentation1
Presentation1
 
Mdst3703 2013-09-12-semantic-html
Mdst3703 2013-09-12-semantic-htmlMdst3703 2013-09-12-semantic-html
Mdst3703 2013-09-12-semantic-html
 
Mdst3703 2013-09-17-text-models
Mdst3703 2013-09-17-text-modelsMdst3703 2013-09-17-text-models
Mdst3703 2013-09-17-text-models
 
Mdst3703 2013-09-10-textual-signals
Mdst3703 2013-09-10-textual-signalsMdst3703 2013-09-10-textual-signals
Mdst3703 2013-09-10-textual-signals
 
Mdst3703 2013-09-03-plato2
Mdst3703 2013-09-03-plato2Mdst3703 2013-09-03-plato2
Mdst3703 2013-09-03-plato2
 
Mdst3703 2013-08-29-hello-world
Mdst3703 2013-08-29-hello-worldMdst3703 2013-08-29-hello-world
Mdst3703 2013-08-29-hello-world
 
UVA MDST 3703 2013 08-27 Introduction
UVA MDST 3703 2013 08-27 IntroductionUVA MDST 3703 2013 08-27 Introduction
UVA MDST 3703 2013 08-27 Introduction
 
MDST 3705 2012-03-05 Databases to Visualization
MDST 3705 2012-03-05 Databases to VisualizationMDST 3705 2012-03-05 Databases to Visualization
MDST 3705 2012-03-05 Databases to Visualization
 
Mdst3705 2013-02-26-db-as-genre
Mdst3705 2013-02-26-db-as-genreMdst3705 2013-02-26-db-as-genre
Mdst3705 2013-02-26-db-as-genre
 
Mdst3705 2013-02-19-text-into-data
Mdst3705 2013-02-19-text-into-dataMdst3705 2013-02-19-text-into-data
Mdst3705 2013-02-19-text-into-data
 
Mdst3705 2013-02-12-finding-data
Mdst3705 2013-02-12-finding-dataMdst3705 2013-02-12-finding-data
Mdst3705 2013-02-12-finding-data
 
Mdst3705 2012-01-22-code-as-language
Mdst3705 2012-01-22-code-as-languageMdst3705 2012-01-22-code-as-language
Mdst3705 2012-01-22-code-as-language
 
Mdst3705 2013-01-24-php2
Mdst3705 2013-01-24-php2Mdst3705 2013-01-24-php2
Mdst3705 2013-01-24-php2
 
Mdst3703 graph-theory-11-20-2012
Mdst3703 graph-theory-11-20-2012Mdst3703 graph-theory-11-20-2012
Mdst3703 graph-theory-11-20-2012
 
Mdst3703 maps-and-timelines-2012-11-13
Mdst3703 maps-and-timelines-2012-11-13Mdst3703 maps-and-timelines-2012-11-13
Mdst3703 maps-and-timelines-2012-11-13
 
Mdst3703 culturomics-2012-11-01
Mdst3703 culturomics-2012-11-01Mdst3703 culturomics-2012-11-01
Mdst3703 culturomics-2012-11-01
 
Mdst3703 visualization-2012-10-23
Mdst3703 visualization-2012-10-23Mdst3703 visualization-2012-10-23
Mdst3703 visualization-2012-10-23
 

Mdst3705 2013-01-29-praxis

  • 1. Code as Praxis Prof Alvarado MDST 3705 29 January 2013
  • 2. Business • Please create Posts, not Comments • Quiz 1 to be posted next Tuesday • New materials on the site – Requirements – Schedule later today • Concerns about coding level – Media Studies – Computer Science
  • 3. Review • Code, like language, both assumes a world and constructs worlds • 10 PRINT showed this – Close reading of the line of code – The pattern that the code generated • Word patterns (an example) – http://people.virginia.edu/~rca2t/MDST3705/pl ay/sara.php • Another example is Conway’s Game of Life – Anyone heard of it?
  • 4. CONWAY’S GAME OF LIFE http://www.youtube.com/watch?v=XcuBvj0pw-E
  • 5.
  • 6. Very simple rules and structures Complex and unpredictable results An example of “emergence” This is what Barricelli saw …
  • 8.
  • 12. How is hacking like painting?
  • 13. Hacking is a form of creation or building The code itself The effects of the code
  • 14. Are creativity and logic incompatible?
  • 15. Ginevra de Benci Leonardo da Vinci c. 1475
  • 16. What is the relationship between doing and knowing? (Ramsay’s argument)
  • 17. According to Ramsay, scholars who write programs learn something about knowledge and meaning that others do not (He created a big stink in saying so.)
  • 18.
  • 19. “Praxis,” which is German for practice, refers to a theory of knowledge This theory holds that only knowledge based in and oriented to action is valid Assocaited with Marxism, but also with American Pragmatism (Perice, James, Dewey)
  • 20. How is hacking not like painting?
  • 21. Hackers and painters are also at odds … Plato banished the poets (which included painters) in favor of philosophers (whose descendants are computer scientists)
  • 23.
  • 24. Coding and painting, literally speaking, use different “parts” of the brain e.g. Visual vs. Syntactic People skilled at one are not usually skilled at the other
  • 25. The code reflects this division of labor Good software is always the collaboration of “hackers” and “painters” Graham’s implicit point is that hackers and painters can get along because they both have a creator’s approach to knowledge
  • 26.
  • 27. } PAINTERS } CODERS
  • 28. The nature and structure of programming languages reflects this division of labor
  • 32. HTML + CSS + PHP
  • 33. PHP Values • Strings are in quotes – $foo = “BAR”; – $foo = „BAR‟; • Double quotes mean you can put variables inside the string – $foo = “BAR $baz”; • Numbers have no quotes • Booleans have no quotes – true – false
  • 34. PHP Operators • Numeric +-/*% • Strring . (the “dot” operator) e.g. “This ” . “and that” = “This and that” • Boolean && || < > == != <= >= and or xor e.g. if ($x < $y) { … }
  • 35. Regarding Truth • The “true” is that which has a positive or negative value • The “false” is that which has a no value, other 0 or an empty string

Hinweis der Redaktion

  1. NOTE THE PARADOX BETWEEN 2 and 3
  2. http://ep.yimg.com/ca/I/paulgraham_2202_9776096