Enviar búsqueda
Cargar
Seaside - Why should you care? (Dynamic Stockholm 2010)
•
1 recomendación
•
979 vistas
J
jfitzell
Seguir
Tecnología
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 84
Recomendados
Introduction to OAuth2
Introduction to OAuth2
leondu
CSS3 now
CSS3 now
Johan Ronsse
Hunt Iinternational Training & Speaking Catalog --- January 2013
Hunt Iinternational Training & Speaking Catalog --- January 2013
Milton Hunt
Seaside Portability
Seaside Portability
jfitzell
Permenkumham 28 2014 orta kanwil kemenkumham sorted
Permenkumham 28 2014 orta kanwil kemenkumham sorted
Oelil Simbolon
ChannelStream: The challenges of continuously delivering
ChannelStream: The challenges of continuously delivering
jfitzell
Orações poderosas
Orações poderosas
Carla Martins
Ignorance is not Bliss
Ignorance is not Bliss
jfitzell
Recomendados
Introduction to OAuth2
Introduction to OAuth2
leondu
CSS3 now
CSS3 now
Johan Ronsse
Hunt Iinternational Training & Speaking Catalog --- January 2013
Hunt Iinternational Training & Speaking Catalog --- January 2013
Milton Hunt
Seaside Portability
Seaside Portability
jfitzell
Permenkumham 28 2014 orta kanwil kemenkumham sorted
Permenkumham 28 2014 orta kanwil kemenkumham sorted
Oelil Simbolon
ChannelStream: The challenges of continuously delivering
ChannelStream: The challenges of continuously delivering
jfitzell
Orações poderosas
Orações poderosas
Carla Martins
Ignorance is not Bliss
Ignorance is not Bliss
jfitzell
At the Extremities of Extreme (Agile North 2011)
At the Extremities of Extreme (Agile North 2011)
jfitzell
Hunt International Training & Speaking Overview --- January 2013
Hunt International Training & Speaking Overview --- January 2013
Milton Hunt
Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)
jfitzell
Appl Phys Lett 96 211103
Appl Phys Lett 96 211103
Vaibhav Mathur
Oração do arcanjo miguel para limpeza espiritual em 21 dias
Oração do arcanjo miguel para limpeza espiritual em 21 dias
Carla Martins
At the Extremities of Extreme (SPA 2011)
At the Extremities of Extreme (SPA 2011)
jfitzell
Real-time Collaborative Development (Jazoon 2011)
Real-time Collaborative Development (Jazoon 2011)
jfitzell
The Literary Works Of Alice Walker
The Literary Works Of Alice Walker
Lachica James
IEEE LEOS Optical MEMS
IEEE LEOS Optical MEMS
Vaibhav Mathur
Comsol2009 Paper
Comsol2009 Paper
Vaibhav Mathur
Slide presentasi pmk 249 2011
Slide presentasi pmk 249 2011
Oelil Simbolon
Multi dimensional profiling
Multi dimensional profiling
bergel
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
Atlassian
Integrating php withrabbitmq_zendcon
Integrating php withrabbitmq_zendcon
Alvaro Videla
Human APIs
Human APIs
Nikolai Onken
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Atlassian
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Atlassian
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Atlassian
Productcamp montreal 2010
Productcamp montreal 2010
Alistair Croll
ZOMG WHY IS THIS CODE SO SLOW
ZOMG WHY IS THIS CODE SO SLOW
Aaron Patterson
Poisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and How
Brian Ford
HTML5 Apps - Mobile Developer Summit Bangalore
HTML5 Apps - Mobile Developer Summit Bangalore
wolframkriesing
Más contenido relacionado
Destacado
At the Extremities of Extreme (Agile North 2011)
At the Extremities of Extreme (Agile North 2011)
jfitzell
Hunt International Training & Speaking Overview --- January 2013
Hunt International Training & Speaking Overview --- January 2013
Milton Hunt
Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)
jfitzell
Appl Phys Lett 96 211103
Appl Phys Lett 96 211103
Vaibhav Mathur
Oração do arcanjo miguel para limpeza espiritual em 21 dias
Oração do arcanjo miguel para limpeza espiritual em 21 dias
Carla Martins
At the Extremities of Extreme (SPA 2011)
At the Extremities of Extreme (SPA 2011)
jfitzell
Real-time Collaborative Development (Jazoon 2011)
Real-time Collaborative Development (Jazoon 2011)
jfitzell
The Literary Works Of Alice Walker
The Literary Works Of Alice Walker
Lachica James
IEEE LEOS Optical MEMS
IEEE LEOS Optical MEMS
Vaibhav Mathur
Comsol2009 Paper
Comsol2009 Paper
Vaibhav Mathur
Slide presentasi pmk 249 2011
Slide presentasi pmk 249 2011
Oelil Simbolon
Destacado
(11)
At the Extremities of Extreme (Agile North 2011)
At the Extremities of Extreme (Agile North 2011)
Hunt International Training & Speaking Overview --- January 2013
Hunt International Training & Speaking Overview --- January 2013
Seaside - Why should you care? (OSDC.fr 2010)
Seaside - Why should you care? (OSDC.fr 2010)
Appl Phys Lett 96 211103
Appl Phys Lett 96 211103
Oração do arcanjo miguel para limpeza espiritual em 21 dias
Oração do arcanjo miguel para limpeza espiritual em 21 dias
At the Extremities of Extreme (SPA 2011)
At the Extremities of Extreme (SPA 2011)
Real-time Collaborative Development (Jazoon 2011)
Real-time Collaborative Development (Jazoon 2011)
The Literary Works Of Alice Walker
The Literary Works Of Alice Walker
IEEE LEOS Optical MEMS
IEEE LEOS Optical MEMS
Comsol2009 Paper
Comsol2009 Paper
Slide presentasi pmk 249 2011
Slide presentasi pmk 249 2011
Similar a Seaside - Why should you care? (Dynamic Stockholm 2010)
Multi dimensional profiling
Multi dimensional profiling
bergel
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
Atlassian
Integrating php withrabbitmq_zendcon
Integrating php withrabbitmq_zendcon
Alvaro Videla
Human APIs
Human APIs
Nikolai Onken
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Atlassian
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Atlassian
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Atlassian
Productcamp montreal 2010
Productcamp montreal 2010
Alistair Croll
ZOMG WHY IS THIS CODE SO SLOW
ZOMG WHY IS THIS CODE SO SLOW
Aaron Patterson
Poisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and How
Brian Ford
HTML5 Apps - Mobile Developer Summit Bangalore
HTML5 Apps - Mobile Developer Summit Bangalore
wolframkriesing
Html5 Development
Html5 Development
Nikolai Onken
Mobile Future - Mobile Developer Summit Bangalore
Mobile Future - Mobile Developer Summit Bangalore
wolframkriesing
04 Reports
04 Reports
Hadley Wickham
Ajax solr
Ajax solr
Jeff Wallace
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile Development
Courtney Hemphill
Introduction to G0V.tw 2013
Introduction to G0V.tw 2013
Mindos Cheng
Spacebits at Codebits
Spacebits at Codebits
Celso Martinho
Flash Forward to the Future: Media Innovation: China
Flash Forward to the Future: Media Innovation: China
Dean Donaldson
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
ryancanulla
Similar a Seaside - Why should you care? (Dynamic Stockholm 2010)
(20)
Multi dimensional profiling
Multi dimensional profiling
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
Integrating php withrabbitmq_zendcon
Integrating php withrabbitmq_zendcon
Human APIs
Human APIs
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Pl...
Productcamp montreal 2010
Productcamp montreal 2010
ZOMG WHY IS THIS CODE SO SLOW
ZOMG WHY IS THIS CODE SO SLOW
Poisoning Rubinius: The _why and How
Poisoning Rubinius: The _why and How
HTML5 Apps - Mobile Developer Summit Bangalore
HTML5 Apps - Mobile Developer Summit Bangalore
Html5 Development
Html5 Development
Mobile Future - Mobile Developer Summit Bangalore
Mobile Future - Mobile Developer Summit Bangalore
04 Reports
04 Reports
Ajax solr
Ajax solr
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile Development
Introduction to G0V.tw 2013
Introduction to G0V.tw 2013
Spacebits at Codebits
Spacebits at Codebits
Flash Forward to the Future: Media Innovation: China
Flash Forward to the Future: Media Innovation: China
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
Último
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
Último
(20)
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Tata 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 Presentation
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Seaside - Why should you care? (Dynamic Stockholm 2010)
1.
Seaside Why should you
care? ~ Dynamic Stockholm 2010 ~ TM TM Julian Fitzell Cincom Systems Tuesday, November 2, 2010
2.
What is Seaside? Tuesday,
November 2, 2010
3.
A web framework TM Tuesday,
November 2, 2010
4.
A web framework^ application TM Tuesday,
November 2, 2010
5.
A web framework^ application ^ Smalltalk TM Tuesday,
November 2, 2010
6.
A web framework^ application ^ heretical? TM Tuesday,
November 2, 2010
7.
A web framework^ application ^ heretical? TM Tuesday,
November 2, 2010
8.
A web framework^ application ^ template-free TM Tuesday,
November 2, 2010
9.
A web framework^ application ^ open-source TM Tuesday,
November 2, 2010
10.
WebObjects Tuesday, November 2,
2010
11.
Ruby Tuesday, November 2,
2010
12.
Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ Tuesday, November 2,
2010
13.
The web is
a language equalizer Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ Tuesday, November 2, 2010
14.
Photocourtesyofhttp://www.flickr.com/photos/pragdave/173643703/ I can’t see
anything wrong. Could you try again? Tuesday, November 2, 2010
15.
“Why should I care?” Tuesday,
November 2, 2010
16.
Programming costs money Tuesday, November 2,
2010
17.
Programming costs money lots of Tuesday, November
2, 2010
18.
Let’s optimize development Tuesday, November
2, 2010
19.
Let’s take away
the pain Tuesday, November 2, 2010
20.
Let’s focus on
the features that make our products truly exceptional Tuesday, November 2, 2010
21.
So what’s your pain? Courtesy
of stock.xchng user Bubbels Tuesday, November 2, 2010
22.
<?xml version="1.0" encoding="UTF-8"
?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="mailreader-support" namespace="/" extends="mailreader-default"> <action name="Tour"> <result>/tour.html</result> <interceptor-ref name="guest"/> </action> <action name="Welcome" class="mailreader2.Welcome"> <result>/Welcome.jsp</result> <interceptor-ref name="guest"/> </action> <action name="Logout" class="mailreader2.Logout"> <result type="redirectAction">Welcome</result> </action> <action name="Login_*" method="{1}" class="mailreader2.Login"> <result name="input">/Login.jsp</result> <result name="cancel" type="redirectAction">Welcome</result> <result type="redirectAction">MainMenu</result> <result name="expired" type="chain">ChangePassword</result> <exception-mapping exception="org.apache.struts.apps.mailreader.dao.ExpiredPasswordException" result="expired"/> <interceptor-ref name="guest"/> </action> <action name="Registration_*" method="{1}" class="mailreader2.Registration"> <result name="input">/Registration.jsp</result> <result type="redirectAction">MainMenu</result> <interceptor-ref name="guest"/> </action> </package> XML Files? Tuesday, November 2, 2010
23.
Tag soup? Courtesy of
stock.xchng user lusi Tuesday, November 2, 2010
24.
Spaghetti Templates? Courtesy of stock.xchng
user TouTouke Tuesday, November 2, 2010
25.
Waiting for edit, compile, run? Courtesy of
stock.xchng user matchstick Tuesday, November 2, 2010
26.
Code generation? Courtesy of stock.xchng
users wildiexx and sundesigns Tuesday, November 2, 2010
27.
Mapping? Object-Relational Courtesy of stock.xchng
user theswedish Tuesday, November 2, 2010
28.
Passing around IDs? Tuesday,
November 2, 2010
29.
Security? Courtesy of stock.xchng
user lusi Tuesday, November 2, 2010
30.
step Processes? Multi- Courtesy of stock.xchng
user mexikids Tuesday, November 2, 2010
31.
Components Tuesday, November 2,
2010
32.
CBA Tuesday, November 2,
2010
33.
CBA Tuesday, November 2,
2010
34.
New Item Add Tuesday, November
2, 2010
35.
A B C Tuesday,
November 2, 2010
36.
New Item Add Tuesday, November
2, 2010
37.
Demo Tuesday, November 2,
2010
38.
New Item Add ? A B
C Tuesday, November 2, 2010
39.
New Item Add ?New Item Add A
B C Tuesday, November 2, 2010
40.
New Item Add New Item Add item item A
B C Tuesday, November 2, 2010
41.
a := self
request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b Tuesday, November 2, 2010
42.
a := self
request: ‘A number?’. b := self request: ‘Another?’. self inform: a + b Tuesday, November 2, 2010
43.
Demo Tuesday, November 2,
2010
44.
ActionAction WebBrowser Tuesday, November 2,
2010
45.
WebBrowser TaskTask Tuesday, November 2,
2010
46.
WebBrowser TaskTask CONTINUATIONS Tuesday, November 2,
2010
47.
Single Tool-chain Tuesday, November
2, 2010
48.
“7 Things” Courtesy of
stock.xchng user chux 3 21 4 5 6 7 Tuesday, November 2, 2010
49.
In Smalltalk, everything is
an object Tuesday, November 2, 2010
50.
In Smalltalk, everything is
an object Seaside+ Tuesday, November 2, 2010
51.
Templates aren’t OO Tuesday,
November 2, 2010
52.
<h1><% print $title
%><h1> Tuesday, November 2, 2010
53.
html heading: title Tuesday,
November 2, 2010
54.
✓Debugging Tuesday, November 2,
2010
55.
Refactoring ✓ Tuesday, November 2,
2010
56.
Callbacks... ✓ Tuesday, November 2,
2010
57.
<a href=“/deleteItem?id=<% print $item.id%>”>Delete</a> Tuesday,
November 2, 2010
58.
html anchor callback: [
self delete: item ]; with: ‘Delete’ Tuesday, November 2, 2010
59.
Security Courtesy of stock.xchng
user julosstock Tuesday, November 2, 2010
60.
Cross-site scripting (XSS) © Mark
Miller, from morguefile.com Tuesday, November 2, 2010
61.
Output is encoded by
default Tuesday, November 2, 2010
62.
html heading: title Tuesday,
November 2, 2010
63.
Parameter injection Courtesy of
stock.xchng user foxumon Tuesday, November 2, 2010
64.
Parameter names are not
meaningful Tuesday, November 2, 2010
65.
IDs are not passed
around Tuesday, November 2, 2010
66.
Actions are bound
to functions Tuesday, November 2, 2010
67.
html anchor callback: [
self delete: item ]; with: ‘Delete’ Tuesday, November 2, 2010
68.
If you don’t
expose it, your users can’t do it! Tuesday, November 2, 2010
69.
Replay attacks Courtesy of
stock.xchng user ratnesh Tuesday, November 2, 2010
70.
Tuesday, November 2,
2010
71.
Session (96-bit) Tuesday, November
2, 2010
72.
Page (96-bit) Tuesday, November
2, 2010
73.
Tuesday, November 2,
2010
74.
Demo Tuesday, November 2,
2010
75.
Where can I
find out more? Tuesday, November 2, 2010
76.
www.seaside.st Tuesday, November 2,
2010
77.
Tuesday, November 2,
2010
78.
Mailing list Tuesday, November
2, 2010
79.
Examples Tuesday, November 2,
2010
80.
Tuesday, November 2,
2010
81.
Tuesday, November 2,
2010
82.
Tuesday, November 2,
2010
83.
In business, there
is nothing more valuable than a technical advantage your competitors don't understand. – Paul Graham Tuesday, November 2, 2010
84.
Julian Fitzell jfitzell@cincom.com blog.fitzell.ca Twitter: @jfitzell www.seaside.st Seaside
is a trademark of Avi Bryant and Julian Fitzell CINCOM and the Quadrant Logo are registered trademarks of Cincom Systems, Inc. All other trademarks belong to their respective companies. © 2010 Cincom Systems, Inc. © 2009 Julian Fitzell All rights reserved Tuesday, November 2, 2010