Stuff They Never Taught You At Website School
Upcoming SlideShare
Loading in...5
×
 

Stuff They Never Taught You At Website School

on

  • 2,845 views

This presentation, given at the Edge of the Web, 2009 shows some of the 10-percentaers you can do to make good websites, awesome.

This presentation, given at the Edge of the Web, 2009 shows some of the 10-percentaers you can do to make good websites, awesome.

Very code heavy, but aimed at beginner to mid-range coders.

Statistics

Views

Total Views
2,845
Views on SlideShare
2,831
Embed Views
14

Actions

Likes
3
Downloads
28
Comments
0

5 Embeds 14

http://www.slideshare.net 8
http://yataue.blogspot.com 2
http://schwacms.vpc-local 2
http://www.slashdocs.com 1
http://www.docshut.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Stuff They Never Taught You At Website School Stuff They Never Taught You At Website School Presentation Transcript

  • Stuff you
    need
    Preamble:Ruby or go home
    For Ruby
    Sinatra
    http://www.sinatrarb.com/
    Ruby on Rails
    http://www.rubyonrails.org
    For PHP
    Junior
    http://github.com/madpilot/junior
    The World’s smallest PHP Framework†
    + Apache (with mod_rewrite)
    † Probably...
  • The Setup
    Junior:World’s smallest PHP framework
    You will need:
    A web server that supports URL rewrites
    PHP 4 (5 is better)
  • The Setup
    Junior:The guts
    You will need:
    A web server that supports URL rewrites
    PHP 4 (5 is better)
  • Friendly URLS
    Lesson 1: Make your URLs nicer
    You will need:
    A web server that supports URL rewrites
  • Friendly URLS
    Lesson 1: Make your URLs nicer
    You will need:
    A web server that supports URL rewrites
  • Tags and Abstracts
    Lesson 2: Dynamic Redirects
    Moving stuff around?
    Most would use .htaccess – not happiness
    Store from URLS and to URS
    Redirect with 301 Permanent
    Bask in Google love
  • Tags and Abstracts
    Lesson 2: Dynamic Redirects
  • Tags and Abstracts
    Lesson 2: Dynamic Redirects
  • Tags and Abstracts
    Lesson 3: Auto generate tags and descriptions
    Google might not care about meta tags anymore, but some sites do. Also useful for internal search...
  • Tags and Abstracts
    Lesson 3: Auto generate tags
    In five easy steps
    Strip out all the HTML and non-alpha characters
    Split the all the text into tokens (single words)
    Strip out common words (stop words)
    Count the frequency of the remaining words
    Return the top 10 (or whatever)
  • Tags and Abstracts
    Lesson 3: Auto generate tags
    You will need:
    A list of stop words
  • Tags and Abstracts
    Lesson 3: Auto generate tags
    You will need:
    A list of stop words
  • Tags and Abstracts
    Lesson 4: Auto generate abstract
    Most users will just use the first paragraph for descriptions – let’s do it for them
    Find as many paragraphs as you can, without going over the word count.
    OR
    Find as many sentences in the first paragraph as you can, without going over the word count
    OR
    Find as many works in the first sentence as you can without going over the word count (and add a ellipses)
    OR
    Truncate the world’s longest word (and add a ellipses)
  • Tags and Abstracts
    Lesson 4: Auto generate abstract
    You will need:
    PHP + Tidy Plugin
    or
    Ruby + Nokogiri
  • Tags and Abstracts
    Lesson 4: Auto generate abstract
    You will need:
    PHP + Tidy Plugin
    or
    Ruby + Nokogiri
  • Search
    Lesson 5: Adding Search
    You will need:
    MySQL with MyISAM
    or
    acts_as_indexplugin
  • Search
    Lesson 5: Adding Search
    MySQL has full text search:
    CREATE TABLE `searches` (
    `id` int(11) unsigned NOT NULL auto_increment,
    `title` varchar(255) default NULL,
    `abstract` varchar(255) default NULL,
    `copy` text,
    `keywords` varchar(255) default NULL,
    `permalink` varchar(255) default NULL,
    `entry_id` int(11) default NULL,
    `entry_type` varchar(255) default NULL,
    `created` datetime default NULL,
    `modified` datetime default NULL,
    PRIMARY KEY (`id`),
    FULLTEXT KEY `title` (`title`,`copy`,`keywords`)
    ) ENGINE=MyISAM
    You will need:
    MySQL with MyISAM
    or
    acts_as_indexplugin
  • Search
    Lesson 5: Adding Search
    You will need:
    MySQL with MyISAM
    or
    acts_as_indexplugin
  • Search
    Lesson 5: Adding Search
    acts_as_indexed :fields => [ :title, :body, :generate_keywords ]
    You will need:
    MySQL with MyISAM
    or
    acts_as_indexplugin
  • Did you mean?
    Lesson 6: Did you mean?
    Correct misspelled search terms
    Split the term into tokens (on spaces)
    Spell check each token
    If it is wrong, show the correction
    Make the corrected string a link
    You will need:
    PHP + Pspell
    or
    Ruby + raspell
  • Did you mean?
    Lesson 6: Did you mean?
    You will need:
    PHP + Pspell
    or
    Ruby + raspell
  • Did you mean?
    Lesson 6: Did you mean?
    You will need:
    PHP + Pspell
    or
    Ruby + raspell
  • Clean up
    Lesson 7: Cleaning up user HTML
    First thing clients do: Write their copy in Word, then paste it in
    You tell the client not to cut-and-paste word documents
    The second thing the client does: Write their copy in Word, then paste it in...
    Also, RTE’s produce bad code, and each produces different bad code.
    You will need:
    PHP + Tidy/HTMLPurify
    or
    Ruby + sanitize
  • Clean up
    Lesson 7: Cleaning up user HTML
    You will need:
    PHP + Tidy/HTMLPurify
    or
    Ruby + sanitize
  • Clean up
    Lesson 7: Cleaning up user HTML
    You will need:
    PHP + Tidy/HTMLPurify
    or
    Ruby + sanitize
  • Shpelling
    Lesson 8: TinyMCE Spell check
    This is a TinyMCEplugin.
    Just need to define two JSON endpoints, and use the same library from the “Did you mean” section
    You will need:
    TinyMCE + Pspell or raspell
  • Shpelling
    Lesson 8: TinyMCE Spell check
    You will need:
    TinyMCE + Pspell or raspell
  • Shpelling
    Lesson 8: TinyMCE Spell check
    You will need:
    TinyMCE + Pspell or raspell
  • Uploader
    Lesson 8: File Uploader
    Why are they so HARD!? It’s 2009 for god’s sake...
    There is an apache module. Not so good for shared servers, but it works.
    You can use a jqueryplugin, to turn normal uploaders into better uploaders
    Oh, if any Adobe people are here: SORT FLASH UPLOADERS OUT.
    Also. If there is any W3C people here: LET ME UPLOAD USING AJAX.
    You will need:
    mod_upload_progress
    Some jquerymagic
    AND NOT PHP
  • Uploader
    Caveat: PHP has not happiness
    You CAN use the APC. It’s pretty flaky.
    The shared memory fills up, and it breaks. #balls
    You will need:
    APC PECL module
    A lot of patience
  • Uploader
    Lesson 8: File Uploader
    You will need:
    mod_upload_progress
    Some jquery magic
  • Uploader
    Lesson 8: File Uploader
    You will need:
    mod_upload_progress
    Some jquery magic
  • Uploader
    Lesson 8: File Uploader
    You will need:
    mod_upload_progress
    Some jquery magic
  • Links
    Sinatra:http://www.sinatrarb.com
    Junior:http://www.github.com/madpilot/junior
    Apache Uploader: http://github.com/drogus/apache-upload-progress-module
    TinyMCESpellchecker for Rails: http://github.com/madpilot/tinymce_spellcheck
    Acts as Indexed: http://github.com/dougal/acts_as_indexed
    HTMLPurifier: http://htmlpurifier.org/
    Sanitize: http://wonko.com/post/sanitize