SlideShare a Scribd company logo
1 of 100
Big Websites
Diana Montalion Dupuis : @dianadupuis
 previously: @mooncougar
Robert Ristroph : @robgr

Drupal powers many small-to-medium websites, from personal
blogs to company intranets. Drupal also powers big sites like
The Economist and The White House. How are the big sites
different from the small ones?



Four Kitchens : @fourkitchens
With a lot of caching




Dallas Drupal Days 2011
Before big websites
Before big websites
• Clients would come to me and ask me to build
them a website.
Before big websites
• Clients would come to me and ask me to build
them a website.
• I would build them a website.
I would . . .
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
• download and install a CMS (usually Drupal).
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
• download and install a CMS (usually Drupal).
• download, install and configure modules or plug-
ins.
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
• download and install a CMS (usually Drupal).
• download, install and configure modules or plug-
ins.
• sometimes install and configure compatible apps
like CiviCRM or a shopping cart.
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
• download and install a CMS (usually Drupal).
• download, install and configure modules or plug-
ins.
• sometimes install and configure compatible apps
like CiviCRM or a shopping cart.
• merge some data, maybe.
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
• download and install a CMS (usually Drupal).
• download, install and configure modules or plug-
ins.
• sometimes install and configure compatible apps
like CiviCRM or a shopping cart.
• merge some data, maybe.
• build a theme, install it, and cross-browser test.
I would . . .
• meet with a client, define their business goals and
technical needs, create a site plan.
• download and install a CMS (usually Drupal).
• download, install and configure modules or plug-
ins.
• sometimes install and configure compatible apps
like CiviCRM or a shopping cart.
• merge some data, maybe.
• build a theme, install it, and cross-browser test.
• rebuild the theme for IE6.
I would . . .
I would . . .
• sprinkle on (just enough) javascript.
I would . . .
• sprinkle on (just enough) javascript.
• log in as user 1 and click configuration buttons.
I would . . .
• sprinkle on (just enough) javascript.
• log in as user 1 and click configuration buttons.
• teach the user how to use their site.
Afterwards,
Afterwards,
• clients called me when they had a problem.
Afterwards,
• clients called me when they had a problem.
• I would fix it.
Simpler times
Simpler times
• Caching was a browser issue. "Did you clear your
cache?"
Simpler times
• Caching was a browser issue. "Did you clear your
cache?"
• Version control was ensuring there was a backup
or rollback ability.
Simpler times
• Caching was a browser issue. "Did you clear your
cache?"
• Version control was ensuring there was a backup
or rollback ability.
• Performance was not serving an automatically-
playing video on the homepage.
Simpler times
• Caching was a browser issue. "Did you clear your
cache?"
• Version control was ensuring there was a backup
or rollback ability.
• Performance was not serving an automatically-
playing video on the homepage.
• Scalability was a functionality issue. "Can I add a
picture gallery later?"
Simpler times
• Caching was a browser issue. "Did you clear your
cache?"
• Version control was ensuring there was a backup
or rollback ability.
• Performance was not serving an automatically-
playing video on the homepage.
• Scalability was a functionality issue. "Can I add a
picture gallery later?"
• I longed to write more code.
Little Bobby Tables
Then, things changed.
Then, things changed.
• I joined Four Kitchens, birthplace of Pressflow,
and was surrounded by major league Big Website
foo.
Then, things changed.
• I joined Four Kitchens, birthplace of Pressflow,
and was surrounded by major league Big Website
foo.
• In time, I became the team lead for the Austin
(aka Janus) team working on The Economist online.
Rob is currently the team lead.
Then, things changed.
• I joined Four Kitchens, birthplace of Pressflow,
and was surrounded by major league Big Website
foo.
• In time, I became the team lead for the Austin
(aka Janus) team working on The Economist online.
Rob is currently the team lead.
• I went from a one-woman expertise factory to a
developer who *needs* her teammates to survive
the workday.
How The Economist
changed my (work) life
How The Economist
changed my (work) life
• Most of the functionality I add is custom built or at
least customized.
How The Economist
changed my (work) life
• Most of the functionality I add is custom built or at
least customized.
• I often have to study more (custom) code than I
write when implementing new functionality.
How The Economist
changed my (work) life
• Most of the functionality I add is custom built or at
least customized.
• I often have to study more (custom) code than I
write when implementing new functionality.
• I build a branch for every task and merge code into
the codebase when it's done.
How The Economist
changed my (work) life
• Most of the functionality I add is custom built or at
least customized.
• I often have to study more (custom) code than I
write when implementing new functionality.
• I build a branch for every task and merge code into
the codebase when it's done.
• I am rarely the only person working on that
branch.
How The Economist
changed my (work) life
• Most of the functionality I add is custom built or at
least customized.
• I often have to study more (custom) code than I
write when implementing new functionality.
• I build a branch for every task and merge code into
the codebase when it's done.
• I am rarely the only person working on that
branch.
• If I do use a contributed module, it has it’s own
vendor branch.
• Every bit of code I write (even in the theme) is
reviewed (more than once) before it is merged.
• Every bit of code I write (even in the theme) is
reviewed (more than once) before it is merged.
• I test everything in four different environments
(versions of the website) before it is "Done".
• Every bit of code I write (even in the theme) is
reviewed (more than once) before it is merged.
• I test everything in four different environments
(versions of the website) before it is "Done".
• I write a test (Selenium, currently) for any new
functionality I create.
• Every bit of code I write (even in the theme) is
reviewed (more than once) before it is merged.
• I test everything in four different environments
(versions of the website) before it is "Done".
• I write a test (Selenium, currently) for any new
functionality I create.
• I work in the command line every day, not just
during install.
• Every bit of code I write (even in the theme) is
reviewed (more than once) before it is merged.
• I test everything in four different environments
(versions of the website) before it is "Done".
• I write a test (Selenium, currently) for any new
functionality I create.
• I work in the command line every day, not just
during install.
• Local work is done using VMWare running a Centos
enviroment (no MAMP) configured to match the
production environment.
• Every bit of code I write (even in the theme) is
reviewed (more than once) before it is merged.
• I test everything in four different environments
(versions of the website) before it is "Done".
• I write a test (Selenium, currently) for any new
functionality I create.
• I work in the command line every day, not just
during install.
• Local work is done using VMWare running a Centos
enviroment (no MAMP) configured to match the
production environment.
• It takes hours to download a new database for my
local environment.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• I *always* have to think about caching, in layers.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• I *always* have to think about caching, in layers.
• Performance and scalability is a science involving.
multiple servers, load balancers, CDN, Varnish, etc
that I need to understand.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• I *always* have to think about caching, in layers.
• Performance and scalability is a science involving.
multiple servers, load balancers, CDN, Varnish, etc
that I need to understand.
• Complicated tasks running "in the
background" (cron, drush/Hudson) are Chuck-
Norris-level customizations.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• I *always* have to think about caching, in layers.
• Performance and scalability is a science involving.
multiple servers, load balancers, CDN, Varnish, etc
that I need to understand.
• Complicated tasks running "in the
background" (cron, drush/Hudson) are Chuck-
Norris-level customizations.
• I will never know enough Javascript.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• I *always* have to think about caching, in layers.
• Performance and scalability is a science involving.
multiple servers, load balancers, CDN, Varnish, etc
that I need to understand.
• Complicated tasks running "in the
background" (cron, drush/Hudson) are Chuck-
Norris-level customizations.
• I will never know enough Javascript.
• Everything must be in code, even admin
configurations. I never click a button.
• The havoc I could wreak if I’m not careful keeps
me up nights.
• I *always* have to think about caching, in layers.
• Performance and scalability is a science involving.
multiple servers, load balancers, CDN, Varnish, etc
that I need to understand.
• Complicated tasks running "in the
background" (cron, drush/Hudson) are Chuck-
Norris-level customizations.
• I will never know enough Javascript.
• Everything must be in code, even admin
configurations. I never click a button.
• I apply relational skills as often as software
development skills to problems or inventing
• I attend a lot more meetings.
• I attend a lot more meetings.
• I read and answer a river of emails - every day.
• I attend a lot more meetings.
• I read and answer a river of emails - every day.
• I always know what time it is in London and New
York and Seattle and Los Angeles.
• I attend a lot more meetings.
• I read and answer a river of emails - every day.
• I always know what time it is in London and New
York and Seattle and Los Angeles.
• Besides writing code together, the other devs and I
have bowled, snowshoed, played with dry ice, seen
Weird Al in person, pub crawled in London, drank
awesomesauce in Copenhagen, watched Tron 3D at
the IMAX, and smoked hookah together.
Code-Review Velocci
Categories of differences
Categories of differences
• Version control
Categories of differences
• Version control
• Workflow and development environments
Categories of differences
• Version control
• Workflow and development environments
• Quality control
Categories of differences
• Version control
• Workflow and development environments
• Quality control
• Back-end processes
Categories of differences
• Version control
• Workflow and development environments
• Quality control
• Back-end processes
• Performance and scalability
Categories of differences
• Version control
• Workflow and development environments
• Quality control
• Back-end processes
• Performance and scalability
• Project management (Scrum!)
Categories of differences
• Version control
• Workflow and development environments
• Quality control
• Back-end processes
• Performance and scalability
• Project management (Scrum!)
• Group think and relationship management.
Version control
Version control
• I <3 Bazaar (launchpad)
Version control
• I <3 Bazaar (launchpad)
• Drupal uses Git (github)
Version control
• I <3 Bazaar (launchpad)
• Drupal uses Git (github)
• I !<3 SVN or CVS but they are better than nothing.
Version control
• I <3 Bazaar (launchpad)
• Drupal uses Git (github)
• I !<3 SVN or CVS but they are better than nothing.
• Branching
Version control
• I <3 Bazaar (launchpad)
• Drupal uses Git (github)
• I !<3 SVN or CVS but they are better than nothing.
• Branching
• Questions?
Workflow and dev
environments
Workflow and dev
environments
• Sameness in local environments is good.
Workflow and dev
environments
• Sameness in local environments is good.
• Plan development well or die.
Workflow and dev
environments
• Sameness in local environments is good.
• Plan development well or die.
• Establish version control flow.
Workflow and dev
environments
• Sameness in local environments is good.
• Plan development well or die.
• Establish version control flow.
• Questions?
Quality control
Quality control
• Code reviews
Quality control
• Code reviews
• Testing
Quality control
• Code reviews
• Testing
• Definition of Done
Quality control
• Code reviews
• Testing
• Definition of Done
• Questions?
Back-end processes
Back-end processes
• Cron tasks
Back-end processes
• Cron tasks
• Custom drush commands
Back-end processes
• Cron tasks
• Custom drush commands
• Custom scripting
Back-end processes
• Cron tasks
• Custom drush commands
• Custom scripting
• Questions?
Performance and
scalability
Performance and
scalability
• Caching: Varnish and memcache
Performance and
scalability
• Caching: Varnish and memcache
• Multiple servers, load balancing, CDN
Performance and
scalability
• Caching: Varnish and memcache
• Multiple servers, load balancing, CDN
• Questions?
Project management
Project management
• Absolutely, positively, essential to do this well.
Project management
• Absolutely, positively, essential to do this well.
• Scrum
Project management
• Absolutely, positively, essential to do this well.
• Scrum
• Questions?
Relationship management
Relationship management
• Relationship skills are as important (more
important?) as geek skills.
Relationship management
• Relationship skills are as important (more
important?) as geek skills.
• Questions?
Thank You!

More Related Content

What's hot

WordPress Plugins and Security
WordPress Plugins and SecurityWordPress Plugins and Security
WordPress Plugins and SecurityThink Media Inc.
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPressvnsavage
 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)Grace Solivan
 
光速テーマ開発のコツ
光速テーマ開発のコツ光速テーマ開発のコツ
光速テーマ開発のコツHishikawa Takuro
 
Intro To WordPress Themes
Intro To WordPress ThemesIntro To WordPress Themes
Intro To WordPress Themesdamonsharp
 
2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hosting2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hostingshendison
 
Presentation to SAIT Students - Dec 2013
Presentation to SAIT Students - Dec 2013Presentation to SAIT Students - Dec 2013
Presentation to SAIT Students - Dec 2013Think Media Inc.
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)Chris Mills
 
What's Coming in WordPress 3.0
What's Coming in WordPress 3.0What's Coming in WordPress 3.0
What's Coming in WordPress 3.0Jane Wells
 
Building a Simple Theme Framework
Building a Simple Theme FrameworkBuilding a Simple Theme Framework
Building a Simple Theme FrameworkJoe Casabona
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails DeveloperJohn McCaffrey
 
Theming in WordPress - Where do I Start?
Theming in WordPress - Where do I Start?Theming in WordPress - Where do I Start?
Theming in WordPress - Where do I Start?Edmund Turbin
 
What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012
What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012
What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012WordCamp Sydney
 
WordPress, Domain Names and Web Hosting Basics
WordPress, Domain Names and Web Hosting BasicsWordPress, Domain Names and Web Hosting Basics
WordPress, Domain Names and Web Hosting BasicsChris Burgess
 
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】Mami Kuroki
 
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12ucbdrupal
 

What's hot (20)

WordPress Plugins and Security
WordPress Plugins and SecurityWordPress Plugins and Security
WordPress Plugins and Security
 
How to Build Custom WordPress Blocks
How to Build Custom WordPress BlocksHow to Build Custom WordPress Blocks
How to Build Custom WordPress Blocks
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPress
 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)
 
光速テーマ開発のコツ
光速テーマ開発のコツ光速テーマ開発のコツ
光速テーマ開発のコツ
 
Intro To WordPress Themes
Intro To WordPress ThemesIntro To WordPress Themes
Intro To WordPress Themes
 
2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hosting2010 11 pubcon_hendison-hosting
2010 11 pubcon_hendison-hosting
 
Presentation to SAIT Students - Dec 2013
Presentation to SAIT Students - Dec 2013Presentation to SAIT Students - Dec 2013
Presentation to SAIT Students - Dec 2013
 
Seven deadly theming sins
Seven deadly theming sinsSeven deadly theming sins
Seven deadly theming sins
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)
 
What's Coming in WordPress 3.0
What's Coming in WordPress 3.0What's Coming in WordPress 3.0
What's Coming in WordPress 3.0
 
Building a Simple Theme Framework
Building a Simple Theme FrameworkBuilding a Simple Theme Framework
Building a Simple Theme Framework
 
Becoming a more productive Rails Developer
Becoming a more productive Rails DeveloperBecoming a more productive Rails Developer
Becoming a more productive Rails Developer
 
Theming in WordPress - Where do I Start?
Theming in WordPress - Where do I Start?Theming in WordPress - Where do I Start?
Theming in WordPress - Where do I Start?
 
What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012
What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012
What Multisite can do for You - Anthony Cole - WordCamp Sydney 2012
 
Blogging
BloggingBlogging
Blogging
 
WordPress, Domain Names and Web Hosting Basics
WordPress, Domain Names and Web Hosting BasicsWordPress, Domain Names and Web Hosting Basics
WordPress, Domain Names and Web Hosting Basics
 
HTML5shim
HTML5shimHTML5shim
HTML5shim
 
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
PHPをさわらず作る!デザイナーさんのためのWordPress【超!初級】
 
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12
 

Viewers also liked

Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyFour Kitchens
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Four Kitchens
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screenFour Kitchens
 

Viewers also liked (6)

Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMS
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websites
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case Study
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
 
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 

Similar to Big Websites

'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps BelfastJohn Fitzpatrick
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deploymentheyrocker
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new buildAndrew Phillips
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate WorkshopThe Toolbox, Inc.
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyondimoneytech
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Brian Ritchie
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your websitehernanibf
 
6 Things to Think About Before Building Your Website
6 Things to Think About Before Building Your Website6 Things to Think About Before Building Your Website
6 Things to Think About Before Building Your WebsiteFloown
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalRod Martin
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationNick Josevski
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing codeZivtech, LLC
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
Project Tools in Web Development
Project Tools in Web DevelopmentProject Tools in Web Development
Project Tools in Web Developmentkmloomis
 
WP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp MontrealWP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp MontrealShawn Hooper
 
Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Nickolay Ninarski
 
Shitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebasesShitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebasesFlorian Weingarten
 
WordPress Setup and Security - WordCamp, Charleston 2014
WordPress Setup and Security - WordCamp, Charleston 2014WordPress Setup and Security - WordCamp, Charleston 2014
WordPress Setup and Security - WordCamp, Charleston 2014Michael Carnell
 

Similar to Big Websites (20)

'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
Wp 3hr-course
Wp 3hr-courseWp 3hr-course
Wp 3hr-course
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate Workshop
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
 
6 Things to Think About Before Building Your Website
6 Things to Think About Before Building Your Website6 Things to Think About Before Building Your Website
6 Things to Think About Before Building Your Website
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
The business case for contributing code
The business case for contributing codeThe business case for contributing code
The business case for contributing code
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
Project Tools in Web Development
Project Tools in Web DevelopmentProject Tools in Web Development
Project Tools in Web Development
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
 
Java CMS 2015
Java CMS 2015Java CMS 2015
Java CMS 2015
 
WP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp MontrealWP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp Montreal
 
Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)
 
Shitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebasesShitlist-driven development and other tricks for working on large codebases
Shitlist-driven development and other tricks for working on large codebases
 
WordPress Setup and Security - WordCamp, Charleston 2014
WordPress Setup and Security - WordCamp, Charleston 2014WordPress Setup and Security - WordCamp, Charleston 2014
WordPress Setup and Security - WordCamp, Charleston 2014
 

More from Four Kitchens

Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Four Kitchens
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalFour Kitchens
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Four Kitchens
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websitesFour Kitchens
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fontsFour Kitchens
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbookFour Kitchens
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef CookbookFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Four Kitchens
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typographyFour Kitchens
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Four Kitchens
 
PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)Four Kitchens
 
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Four Kitchens
 

More from Four Kitchens (20)

Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
 
Teaching Drupal
Teaching DrupalTeaching Drupal
Teaching Drupal
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websites
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fonts
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbook
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef Cookbook
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
 
The state of web typography
The state of web typographyThe state of web typography
The state of web typography
 
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
 
PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)PHP for NonProgrammers (DrupalCon SF 2010)
PHP for NonProgrammers (DrupalCon SF 2010)
 
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
 
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Big Websites

  • 1. Big Websites Diana Montalion Dupuis : @dianadupuis previously: @mooncougar Robert Ristroph : @robgr Drupal powers many small-to-medium websites, from personal blogs to company intranets. Drupal also powers big sites like The Economist and The White House. How are the big sites different from the small ones? Four Kitchens : @fourkitchens
  • 2. With a lot of caching Dallas Drupal Days 2011
  • 4. Before big websites • Clients would come to me and ask me to build them a website.
  • 5. Before big websites • Clients would come to me and ask me to build them a website. • I would build them a website.
  • 6. I would . . .
  • 7. I would . . . • meet with a client, define their business goals and technical needs, create a site plan.
  • 8. I would . . . • meet with a client, define their business goals and technical needs, create a site plan. • download and install a CMS (usually Drupal).
  • 9. I would . . . • meet with a client, define their business goals and technical needs, create a site plan. • download and install a CMS (usually Drupal). • download, install and configure modules or plug- ins.
  • 10. I would . . . • meet with a client, define their business goals and technical needs, create a site plan. • download and install a CMS (usually Drupal). • download, install and configure modules or plug- ins. • sometimes install and configure compatible apps like CiviCRM or a shopping cart.
  • 11. I would . . . • meet with a client, define their business goals and technical needs, create a site plan. • download and install a CMS (usually Drupal). • download, install and configure modules or plug- ins. • sometimes install and configure compatible apps like CiviCRM or a shopping cart. • merge some data, maybe.
  • 12. I would . . . • meet with a client, define their business goals and technical needs, create a site plan. • download and install a CMS (usually Drupal). • download, install and configure modules or plug- ins. • sometimes install and configure compatible apps like CiviCRM or a shopping cart. • merge some data, maybe. • build a theme, install it, and cross-browser test.
  • 13. I would . . . • meet with a client, define their business goals and technical needs, create a site plan. • download and install a CMS (usually Drupal). • download, install and configure modules or plug- ins. • sometimes install and configure compatible apps like CiviCRM or a shopping cart. • merge some data, maybe. • build a theme, install it, and cross-browser test. • rebuild the theme for IE6.
  • 14. I would . . .
  • 15. I would . . . • sprinkle on (just enough) javascript.
  • 16. I would . . . • sprinkle on (just enough) javascript. • log in as user 1 and click configuration buttons.
  • 17. I would . . . • sprinkle on (just enough) javascript. • log in as user 1 and click configuration buttons. • teach the user how to use their site.
  • 19. Afterwards, • clients called me when they had a problem.
  • 20. Afterwards, • clients called me when they had a problem. • I would fix it.
  • 22. Simpler times • Caching was a browser issue. "Did you clear your cache?"
  • 23. Simpler times • Caching was a browser issue. "Did you clear your cache?" • Version control was ensuring there was a backup or rollback ability.
  • 24. Simpler times • Caching was a browser issue. "Did you clear your cache?" • Version control was ensuring there was a backup or rollback ability. • Performance was not serving an automatically- playing video on the homepage.
  • 25. Simpler times • Caching was a browser issue. "Did you clear your cache?" • Version control was ensuring there was a backup or rollback ability. • Performance was not serving an automatically- playing video on the homepage. • Scalability was a functionality issue. "Can I add a picture gallery later?"
  • 26. Simpler times • Caching was a browser issue. "Did you clear your cache?" • Version control was ensuring there was a backup or rollback ability. • Performance was not serving an automatically- playing video on the homepage. • Scalability was a functionality issue. "Can I add a picture gallery later?" • I longed to write more code.
  • 29. Then, things changed. • I joined Four Kitchens, birthplace of Pressflow, and was surrounded by major league Big Website foo.
  • 30. Then, things changed. • I joined Four Kitchens, birthplace of Pressflow, and was surrounded by major league Big Website foo. • In time, I became the team lead for the Austin (aka Janus) team working on The Economist online. Rob is currently the team lead.
  • 31. Then, things changed. • I joined Four Kitchens, birthplace of Pressflow, and was surrounded by major league Big Website foo. • In time, I became the team lead for the Austin (aka Janus) team working on The Economist online. Rob is currently the team lead. • I went from a one-woman expertise factory to a developer who *needs* her teammates to survive the workday.
  • 32. How The Economist changed my (work) life
  • 33. How The Economist changed my (work) life • Most of the functionality I add is custom built or at least customized.
  • 34. How The Economist changed my (work) life • Most of the functionality I add is custom built or at least customized. • I often have to study more (custom) code than I write when implementing new functionality.
  • 35. How The Economist changed my (work) life • Most of the functionality I add is custom built or at least customized. • I often have to study more (custom) code than I write when implementing new functionality. • I build a branch for every task and merge code into the codebase when it's done.
  • 36. How The Economist changed my (work) life • Most of the functionality I add is custom built or at least customized. • I often have to study more (custom) code than I write when implementing new functionality. • I build a branch for every task and merge code into the codebase when it's done. • I am rarely the only person working on that branch.
  • 37. How The Economist changed my (work) life • Most of the functionality I add is custom built or at least customized. • I often have to study more (custom) code than I write when implementing new functionality. • I build a branch for every task and merge code into the codebase when it's done. • I am rarely the only person working on that branch. • If I do use a contributed module, it has it’s own vendor branch.
  • 38.
  • 39. • Every bit of code I write (even in the theme) is reviewed (more than once) before it is merged.
  • 40. • Every bit of code I write (even in the theme) is reviewed (more than once) before it is merged. • I test everything in four different environments (versions of the website) before it is "Done".
  • 41. • Every bit of code I write (even in the theme) is reviewed (more than once) before it is merged. • I test everything in four different environments (versions of the website) before it is "Done". • I write a test (Selenium, currently) for any new functionality I create.
  • 42. • Every bit of code I write (even in the theme) is reviewed (more than once) before it is merged. • I test everything in four different environments (versions of the website) before it is "Done". • I write a test (Selenium, currently) for any new functionality I create. • I work in the command line every day, not just during install.
  • 43. • Every bit of code I write (even in the theme) is reviewed (more than once) before it is merged. • I test everything in four different environments (versions of the website) before it is "Done". • I write a test (Selenium, currently) for any new functionality I create. • I work in the command line every day, not just during install. • Local work is done using VMWare running a Centos enviroment (no MAMP) configured to match the production environment.
  • 44. • Every bit of code I write (even in the theme) is reviewed (more than once) before it is merged. • I test everything in four different environments (versions of the website) before it is "Done". • I write a test (Selenium, currently) for any new functionality I create. • I work in the command line every day, not just during install. • Local work is done using VMWare running a Centos enviroment (no MAMP) configured to match the production environment. • It takes hours to download a new database for my local environment.
  • 45.
  • 46. • The havoc I could wreak if I’m not careful keeps me up nights.
  • 47. • The havoc I could wreak if I’m not careful keeps me up nights. • I *always* have to think about caching, in layers.
  • 48. • The havoc I could wreak if I’m not careful keeps me up nights. • I *always* have to think about caching, in layers. • Performance and scalability is a science involving. multiple servers, load balancers, CDN, Varnish, etc that I need to understand.
  • 49. • The havoc I could wreak if I’m not careful keeps me up nights. • I *always* have to think about caching, in layers. • Performance and scalability is a science involving. multiple servers, load balancers, CDN, Varnish, etc that I need to understand. • Complicated tasks running "in the background" (cron, drush/Hudson) are Chuck- Norris-level customizations.
  • 50. • The havoc I could wreak if I’m not careful keeps me up nights. • I *always* have to think about caching, in layers. • Performance and scalability is a science involving. multiple servers, load balancers, CDN, Varnish, etc that I need to understand. • Complicated tasks running "in the background" (cron, drush/Hudson) are Chuck- Norris-level customizations. • I will never know enough Javascript.
  • 51. • The havoc I could wreak if I’m not careful keeps me up nights. • I *always* have to think about caching, in layers. • Performance and scalability is a science involving. multiple servers, load balancers, CDN, Varnish, etc that I need to understand. • Complicated tasks running "in the background" (cron, drush/Hudson) are Chuck- Norris-level customizations. • I will never know enough Javascript. • Everything must be in code, even admin configurations. I never click a button.
  • 52. • The havoc I could wreak if I’m not careful keeps me up nights. • I *always* have to think about caching, in layers. • Performance and scalability is a science involving. multiple servers, load balancers, CDN, Varnish, etc that I need to understand. • Complicated tasks running "in the background" (cron, drush/Hudson) are Chuck- Norris-level customizations. • I will never know enough Javascript. • Everything must be in code, even admin configurations. I never click a button. • I apply relational skills as often as software development skills to problems or inventing
  • 53.
  • 54. • I attend a lot more meetings.
  • 55. • I attend a lot more meetings. • I read and answer a river of emails - every day.
  • 56. • I attend a lot more meetings. • I read and answer a river of emails - every day. • I always know what time it is in London and New York and Seattle and Los Angeles.
  • 57. • I attend a lot more meetings. • I read and answer a river of emails - every day. • I always know what time it is in London and New York and Seattle and Los Angeles. • Besides writing code together, the other devs and I have bowled, snowshoed, played with dry ice, seen Weird Al in person, pub crawled in London, drank awesomesauce in Copenhagen, watched Tron 3D at the IMAX, and smoked hookah together.
  • 60. Categories of differences • Version control
  • 61. Categories of differences • Version control • Workflow and development environments
  • 62. Categories of differences • Version control • Workflow and development environments • Quality control
  • 63. Categories of differences • Version control • Workflow and development environments • Quality control • Back-end processes
  • 64. Categories of differences • Version control • Workflow and development environments • Quality control • Back-end processes • Performance and scalability
  • 65. Categories of differences • Version control • Workflow and development environments • Quality control • Back-end processes • Performance and scalability • Project management (Scrum!)
  • 66. Categories of differences • Version control • Workflow and development environments • Quality control • Back-end processes • Performance and scalability • Project management (Scrum!) • Group think and relationship management.
  • 68. Version control • I <3 Bazaar (launchpad)
  • 69. Version control • I <3 Bazaar (launchpad) • Drupal uses Git (github)
  • 70. Version control • I <3 Bazaar (launchpad) • Drupal uses Git (github) • I !<3 SVN or CVS but they are better than nothing.
  • 71. Version control • I <3 Bazaar (launchpad) • Drupal uses Git (github) • I !<3 SVN or CVS but they are better than nothing. • Branching
  • 72. Version control • I <3 Bazaar (launchpad) • Drupal uses Git (github) • I !<3 SVN or CVS but they are better than nothing. • Branching • Questions?
  • 74. Workflow and dev environments • Sameness in local environments is good.
  • 75. Workflow and dev environments • Sameness in local environments is good. • Plan development well or die.
  • 76. Workflow and dev environments • Sameness in local environments is good. • Plan development well or die. • Establish version control flow.
  • 77. Workflow and dev environments • Sameness in local environments is good. • Plan development well or die. • Establish version control flow. • Questions?
  • 80. Quality control • Code reviews • Testing
  • 81. Quality control • Code reviews • Testing • Definition of Done
  • 82. Quality control • Code reviews • Testing • Definition of Done • Questions?
  • 85. Back-end processes • Cron tasks • Custom drush commands
  • 86. Back-end processes • Cron tasks • Custom drush commands • Custom scripting
  • 87. Back-end processes • Cron tasks • Custom drush commands • Custom scripting • Questions?
  • 90. Performance and scalability • Caching: Varnish and memcache • Multiple servers, load balancing, CDN
  • 91. Performance and scalability • Caching: Varnish and memcache • Multiple servers, load balancing, CDN • Questions?
  • 93. Project management • Absolutely, positively, essential to do this well.
  • 94. Project management • Absolutely, positively, essential to do this well. • Scrum
  • 95. Project management • Absolutely, positively, essential to do this well. • Scrum • Questions?
  • 97. Relationship management • Relationship skills are as important (more important?) as geek skills.
  • 98. Relationship management • Relationship skills are as important (more important?) as geek skills. • Questions?
  • 99.

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n