139
Coding for Designers. A Primer. build 130511 CC BY-NC-SA Fabian Fabian · @filtercake · filtercake.com

Coding for Designers. A primer. By Fabian Fabian

Embed Size (px)

DESCRIPTION

What is beyond HTML and CSS? And W.H.Y. should one make the effort and go deeper into designing with code? What does that mean anyways? Taking off from static web design, we will take a heavy tour de force, including but not limited to: the Shell and bash scripting, Git and Github, Ruby and Rails, vvvv and Processing, Arduino and Raspberry Pi. We will also see how and why open source and open standards are a good thing and why we as designers should support them. If you have a Design-Is-How-It-Works mindset, but never knew how and where to start with code, this is for you.

Citation preview

Page 1: Coding for Designers. A primer. By Fabian Fabian

Coding for DesignersA Primerbuild 130511CC BY-NC-SAFabian Fabian middot filtercake middot filtercakecom

Or

Designing interaction in Photoshop is like building a mechanical watch

with a hammer

Me

Designer

Hamburg

Freelancing StartUps Agencies

Proud father of twins

Fabian (filtercake)

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

Our goal for today

thisisindexedcom

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 2: Coding for Designers. A primer. By Fabian Fabian

Or

Designing interaction in Photoshop is like building a mechanical watch

with a hammer

Me

Designer

Hamburg

Freelancing StartUps Agencies

Proud father of twins

Fabian (filtercake)

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

Our goal for today

thisisindexedcom

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 3: Coding for Designers. A primer. By Fabian Fabian

Me

Designer

Hamburg

Freelancing StartUps Agencies

Proud father of twins

Fabian (filtercake)

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

Our goal for today

thisisindexedcom

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 4: Coding for Designers. A primer. By Fabian Fabian

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

Our goal for today

thisisindexedcom

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 5: Coding for Designers. A primer. By Fabian Fabian

What is beyond HTML and CSS And WHY should one make the eort and go deeper into designing with code What does that mean anyways

Taking o from static web design we will take a heavy tour de force including but not limited to the Shell and bash scripting Git and Github Ruby and Rails vvvv and Processing Arduino and Raspberry Pi

We will also see how and why open source and open standards are a good thing and why we as designers should support them

Our goal for today

thisisindexedcom

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 6: Coding for Designers. A primer. By Fabian Fabian

Our goal for today

thisisindexedcom

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 7: Coding for Designers. A primer. By Fabian Fabian

WHYWHATHOW

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 8: Coding for Designers. A primer. By Fabian Fabian

WHYYYYYYYYYY

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 9: Coding for Designers. A primer. By Fabian Fabian

Why did you become a designer in the

first place

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 10: Coding for Designers. A primer. By Fabian Fabian

WHAT

source

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 11: Coding for Designers. A primer. By Fabian Fabian

ltpgthello worldltpgt

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 12: Coding for Designers. A primer. By Fabian Fabian

HTML

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 13: Coding for Designers. A primer. By Fabian Fabian

HTMLHypertext Markup Language

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 14: Coding for Designers. A primer. By Fabian Fabian

Hypertext Markup Language

ldquoenwikipediaorgwikiHyper

A prefix used in mathematics to denote four or more dimensionsA prefix oen used in scientific and technical words to denote something above or beyond the usual normal expected or healthy level Sometimes used to mean extreme or specifically more than super-

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 15: Coding for Designers. A primer. By Fabian Fabian

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 16: Coding for Designers. A primer. By Fabian Fabian

Hypertext Markup Language

ldquoenwikipediaorgwikiText_(literary_theory)

In literary theory a text is any object that can be read whether this object is a work of literature a street sign an arrangement of buildings on a city block or styles of clothing It is a coherent set of signs that transmits some kind of informative message This set of symbols is considered in terms of the informative messages content rather than in terms of its physical form or the medium in which it is represented

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 17: Coding for Designers. A primer. By Fabian Fabian

markup The notation that is used to indicate how text should be displayed

Hypertext Markup Language

ldquoThe notation that is used to indicate how text should be displayed

markup

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 18: Coding for Designers. A primer. By Fabian Fabian

Hypertext Markup Language

ldquoMarkup_language middot Semiotics

Markup Language is a system for annotating a document in a way that is syntactically distinguishable from the text

Syntactics The branch of semiotics that deals with the formal properties of signs and symbols

Semiotics the study of signs and sign processes (semiosis) indication designation likeness analogy metaphor symbolism signification and communication Semiotics is closely related to the field of linguistics which for its part studies the structure and meaning of language more specifically

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 19: Coding for Designers. A primer. By Fabian Fabian

Markup is a set of rules and vocubalary on how to add meta information to data

ltpgthello worldltpgtp color black

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 20: Coding for Designers. A primer. By Fabian Fabian

hamlinfo

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 21: Coding for Designers. A primer. By Fabian Fabian

p hello world ltpgthello worldltpgt

HAML HTML

h1 the bird is the wordp hello world

lth1gt the bird is the wordlth1gtltpgthello worldltpgt

peterh1 the bird is the wordp hello world

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello worldltpgtltdivgt

peterh1 the bird is the wordp hello worldspan how are you today

ltdiv class=ldquopeterldquogtlth1gt the bird is the wordlth1gtltpgthello world ltspangthow are your todayltspangtltpgtltdivgt

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 22: Coding for Designers. A primer. By Fabian Fabian

sass-langcom

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 23: Coding for Designers. A primer. By Fabian Fabian

daringfireballnetprojectsmarkdown

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 24: Coding for Designers. A primer. By Fabian Fabian

- bullet- points- are- awesome

hello world ltpgthello worldltpgt

Markdown HTML

ltulgtltligtbulletltligtltligtpointsltligtltligtareltligtltligtawesomeltligtltulgt

lthrgt

the bird is the wordhello world

lth1gtthe birdlth1gtlth2gtis the wordlth2gtltpgthello worldltpgt

[ilsquom a link](httpanywherecom) lta href=ldquohttpanywherecom)ldquogt ilsquom a link ltagt

[i am an image](httpplacekittencomg500300)

ltimg alt=ldquoi am an imageldquo src=ldquohttpplacekittencomg500300ldquogt

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 25: Coding for Designers. A primer. By Fabian Fabian

iawritercom middot mouappcom middot markedappcom

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 26: Coding for Designers. A primer. By Fabian Fabian

tryghostorg

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 27: Coding for Designers. A primer. By Fabian Fabian

IN THE BEGINNING THERE WAS THE COMMAND LINE

OSX Terminal

bash

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 28: Coding for Designers. A primer. By Fabian Fabian

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 29: Coding for Designers. A primer. By Fabian Fabian

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 30: Coding for Designers. A primer. By Fabian Fabian

Shell

ldquoShell_(computing)

A shell is soware that provides an interface for users of an operating system to access the services of a kernel The name shell originates from shells being an outer layer of interface between the user and the internals of the operating system (the kernel)

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 31: Coding for Designers. A primer. By Fabian Fabian

$ ps aux | awk if ($5 = 0 ) print $2$5$6$11 | sort -k2n

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 32: Coding for Designers. A primer. By Fabian Fabian

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 33: Coding for Designers. A primer. By Fabian Fabian

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

VERBS

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 34: Coding for Designers. A primer. By Fabian Fabian

$PATH

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 35: Coding for Designers. A primer. By Fabian Fabian

$PATH = bin $PATH = Applications

$MY_NAME = filtercake$MY_SHOESIZE = 45

$FOO = BAR

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 36: Coding for Designers. A primer. By Fabian Fabian

VERSIONING

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 37: Coding for Designers. A primer. By Fabian Fabian

VERSIONING

shell

ldquoVersioning

Soware versioning is the process of assigning either unique version names or unique version numbers to unique states of computer soware

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 38: Coding for Designers. A primer. By Fabian Fabian

my super design final4 final2 version b nr6 exportpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 39: Coding for Designers. A primer. By Fabian Fabian

my super design 2012-05-23-14hpsd

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 40: Coding for Designers. A primer. By Fabian Fabian

my super design 2012-05-23-14hpsd

my super design 2012-05-23-19hpsd

my super design 2012-05-25-9hpsd

my super design 2012-05-25-18hpsd

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 41: Coding for Designers. A primer. By Fabian Fabian

DVCS Distributed Version Control System

Version Control System (VCS)

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 42: Coding for Designers. A primer. By Fabian Fabian

DVCS Distributed Version Control System

Version Control System (VCS)

Git

Distributed Version Control System (DVCS)

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 43: Coding for Designers. A primer. By Fabian Fabian

Before Aer01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [i am an image](httpplacekittencomg500300)

01 the bird02 is the word03 04 hello world05 06 [ilsquom a link](httpanywherecom)07 08 [ilsquom an image](httpplacekittencomg500300)

-08 [i am an image](httpplacekittencomg500300)+08 [ilsquom an image](httpplacekittencomg500300) ∆

Delta

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 44: Coding for Designers. A primer. By Fabian Fabian

$ git commit

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 45: Coding for Designers. A primer. By Fabian Fabian

$ git branch

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 46: Coding for Designers. A primer. By Fabian Fabian

GITHUB

follow

see commits

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 47: Coding for Designers. A primer. By Fabian Fabian

GITHUB

follow

see commits

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 48: Coding for Designers. A primer. By Fabian Fabian

GITHUB

follow

see commits

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 49: Coding for Designers. A primer. By Fabian Fabian

beforeheavy forking action

aftergraph

$ git clone gitgithubcom5v3nratpackgit

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 50: Coding for Designers. A primer. By Fabian Fabian

PACKAGE MANAGEMENT

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 51: Coding for Designers. A primer. By Fabian Fabian

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 52: Coding for Designers. A primer. By Fabian Fabian

PACKAGE MANAGEMENT

ldquoA package manager is a collection of soware tools to automate the process of installing upgrading configuring and removing soware packages for a computers operating system It typically maintains a database of soware dependencies and version information to prevent soware mismatches and missing prerequisites

Package_management_system

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 53: Coding for Designers. A primer. By Fabian Fabian

PACKAGE

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 54: Coding for Designers. A primer. By Fabian Fabian

PACKAGE

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 55: Coding for Designers. A primer. By Fabian Fabian

rvmio

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 56: Coding for Designers. A primer. By Fabian Fabian

rubygemsorg

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 57: Coding for Designers. A primer. By Fabian Fabian

RVM RUBYGEMS NPM APTITUDE BOWER

npmjsorg

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 58: Coding for Designers. A primer. By Fabian Fabian

RVM RUBYGEMS NPM APTITUDE BOWER

linuxdienetman8apt-get

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 59: Coding for Designers. A primer. By Fabian Fabian

RVM RUBYGEMS NPM APTITUDE BOWER

bowerio

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 60: Coding for Designers. A primer. By Fabian Fabian

HOMEBREW

mxclgithubiohomebrew

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 61: Coding for Designers. A primer. By Fabian Fabian

Tree

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 62: Coding for Designers. A primer. By Fabian Fabian

Tree$ brew install tree

done

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 63: Coding for Designers. A primer. By Fabian Fabian

Okay so can we now solve a real problem please

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 64: Coding for Designers. A primer. By Fabian Fabian

Shell Finder$ mv filetxt destination

$ cp filetxt destination

bdquoHold + DRAGldquomove

copybdquoHold + Alt + DRAGldquo

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 65: Coding for Designers. A primer. By Fabian Fabian

The Job

Move all photoshop files from all projects which are bigger than 100 mb and older than one month to the archive if they havenlsquot been archieved yet

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 66: Coding for Designers. A primer. By Fabian Fabian

The Job

Convert flac files to Apple lossless

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 67: Coding for Designers. A primer. By Fabian Fabian

ldquoIn the beginning there was the command line

cryptonomiconcombeginninghtml

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 68: Coding for Designers. A primer. By Fabian Fabian

duckduckgocom

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 69: Coding for Designers. A primer. By Fabian Fabian

$ brew install ffmpeg

$ touch flac2alacsh

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 70: Coding for Designers. A primer. By Fabian Fabian

SCREENSHOT SUBLIME$ chmod +x flac2alacsh

$ mv flac2alacsh ~scripts

$PATH = Usersfiltercakervmgemsruby-193-p392binUsersfiltercakervmgemsruby-193-p392globalbinUsersfiltercakervmrubiesruby-193-p392binUsersfiltercakervmbinusrlocalbinusrbinbinusrsbinsbinusrX11binusrlocalMacGPG2binUsersfiltercakescripts

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 71: Coding for Designers. A primer. By Fabian Fabian

TRANSFER

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 72: Coding for Designers. A primer. By Fabian Fabian

WHOAA11

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 73: Coding for Designers. A primer. By Fabian Fabian

IDEs vs TEXTEDITORS

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 74: Coding for Designers. A primer. By Fabian Fabian

sublimetextcom

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 75: Coding for Designers. A primer. By Fabian Fabian

macromatescom

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 76: Coding for Designers. A primer. By Fabian Fabian

paniccomcoda

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 77: Coding for Designers. A primer. By Fabian Fabian

Rubymine something something Eclipse

jetbrainscomruby

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 78: Coding for Designers. A primer. By Fabian Fabian

httpeclipseorg

eclipseorg

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 79: Coding for Designers. A primer. By Fabian Fabian

httpeclipseorg

eclipseorg

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 80: Coding for Designers. A primer. By Fabian Fabian

PROCESSING IDE + website

processingorg

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 81: Coding for Designers. A primer. By Fabian Fabian

natureofcodecom

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 82: Coding for Designers. A primer. By Fabian Fabian

HELLO WORLD PROCESSING

hello-worldcc

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 83: Coding for Designers. A primer. By Fabian Fabian

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 84: Coding for Designers. A primer. By Fabian Fabian

ARDUINO SCREENSHOT

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 85: Coding for Designers. A primer. By Fabian Fabian

ARDUINO SCREENSHOT

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 86: Coding for Designers. A primer. By Fabian Fabian

ARDUINO and PROCESSING

youtubecomwatchv=g0pSfyXOXj8

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 87: Coding for Designers. A primer. By Fabian Fabian

Wait a second

Werenlsquot we talking about

Ruby and Rails

craphoundcom

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 88: Coding for Designers. A primer. By Fabian Fabian

Rails Haml etcLibraries Gems

Your own code

ServerHTMLCSSJS

Browser

Language Ruby

Versioning Git

Package ManagmentRVM Rubygems Bundler

Control Terminal

Texteditor Sublime Text

Collaboration Github

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 89: Coding for Designers. A primer. By Fabian Fabian

rvmio

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 90: Coding for Designers. A primer. By Fabian Fabian

rvmio

~rvmrubies $ ls -ldrwxr-xr-x 8 filtercake staff 272 14 Aug 2012 ruby-192-p320drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p125drwxr-xr-x 8 filtercake staff 272 29 Aug 2012 ruby-193-p194drwxr-xr-x 8 filtercake staff 272 17 Maumlr 1845 ruby-193-p392drwxr-xr-x 8 filtercake staff 272 24 Maumlr 2242 ruby-200-p0

$PATH

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 91: Coding for Designers. A primer. By Fabian Fabian

rubygemsorg

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 92: Coding for Designers. A primer. By Fabian Fabian

rubyonrailsorg

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 93: Coding for Designers. A primer. By Fabian Fabian

$ gem install rails

$ rails new wollmilchsau

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 94: Coding for Designers. A primer. By Fabian Fabian

fatfreecrmcom

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 95: Coding for Designers. A primer. By Fabian Fabian

Fork example project$ git clone gitgithubcomfatfreecrmfat_free_crmgit wollmilchsau

fatfreecrmcom

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 96: Coding for Designers. A primer. By Fabian Fabian

gembundlercom

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 97: Coding for Designers. A primer. By Fabian Fabian

gembundlercom

Gemfile

source httpsrubygemsorggem nokogirigem rack ~gt11gem rspec require =gt spec

$ bundle install

$ rails s

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 98: Coding for Designers. A primer. By Fabian Fabian

sublimetextcom

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 99: Coding for Designers. A primer. By Fabian Fabian

HOW

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 100: Coding for Designers. A primer. By Fabian Fabian

OPEN SOURCE

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 101: Coding for Designers. A primer. By Fabian Fabian

Culture

ldquoCulture is everything which is not written down anywhere

Merlin Mann

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 102: Coding for Designers. A primer. By Fabian Fabian

tim berners lee

via flickr

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 103: Coding for Designers. A primer. By Fabian Fabian

lostechiescom

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 104: Coding for Designers. A primer. By Fabian Fabian

OK but why is that

important

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 105: Coding for Designers. A primer. By Fabian Fabian

What properitary closed systems do to you

Facebook changing their API at free will Now you tell your client

Google shutting down Reader Now you tell your users

Apple rejecting or taking down certain apps at free will Now you tell your users

Twitter basically saying bdquoThanks for making us not suck so much but we decided to go ahead and suck BIG TIME so we do not need you anymoreldquo Now you tell your users

Malware on Android Explain that to your mom

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 106: Coding for Designers. A primer. By Fabian Fabian

They are ALL bdquoevilldquo

BS

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 107: Coding for Designers. A primer. By Fabian Fabian

OPEN STANDARDS

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 108: Coding for Designers. A primer. By Fabian Fabian

remotestorageio middot unhostedorg

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 109: Coding for Designers. A primer. By Fabian Fabian

WHY did you become a designer in the first place

Why did you become a designer in the

first place

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 110: Coding for Designers. A primer. By Fabian Fabian

DIY

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 111: Coding for Designers. A primer. By Fabian Fabian

SHAPEMAKE

CREATE

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 112: Coding for Designers. A primer. By Fabian Fabian

CHANGE

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 113: Coding for Designers. A primer. By Fabian Fabian

httpswwwyoutubecomwatchv=u6XAPnuFjJc

Drive Daniel H Pink

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 114: Coding for Designers. A primer. By Fabian Fabian

CAUSE NOT

EFFECT

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 115: Coding for Designers. A primer. By Fabian Fabian

You want to be the needle

Not the haystack

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS

Page 116: Coding for Designers. A primer. By Fabian Fabian

Fabian Fabian filtercake filtercakecomCC BY-NC-SA

THANKS