SlideShare a Scribd company logo
Welcome to
Building SlateCRM: Real World EF, MVC and JQuery
                                    by EddyRecio
MAD CODE
             To Entertain and educate



N av ig ati ng th e prog ram ing wor ld
Why are we here?
NuGet
IOC                                          DJango
         JQUERY
                             iPhone

   ASP.NET                                   WebForms
                     MVC
    WCF                                     OData

                                       EF
      Prototype
                  MooTools                     WP7
Ruby on Rails
                             Android
Guidelines
Conventions, Patterns
    and Idioms
Get on the GRID
Back to the past
Long lost knowledge
There is a pattern for that
Do you see it?
Golden Ration
It’s everywhere!
Demo
Get the grids

 http://www.fluidgrid.net/
 http://www.designinfluences.com/fluid960gs/
 http://fluid.newgoldleaf.com/
 http://960.gs/
 http://www.blueprintcss.org/
Color Blindness: More Prevalent Among Males

Some 10 million American men—fully 7 percent of the male population—either cannot distinguish red from
green, or see red and green differently from most people. This is the commonest form of color blindness,
but it affects only .4 percent of women. The fact that color blindness is so much more prevalent among men
implies that, like hemophilia, it is carried on the X chromosome, of which men have only one copy. (As in
hemophilia, women are protected because they have two X chromosomes; a normal gene on one
chromosome can often make up for a defective gene on the other.)
• Follow language idioms
• Do not reinvent the pattern
• Beware of too much
  customization

• There are fewer patterns
  than we think
ENTITY
FRAMEWORK
PITFALLS
Hallway coding
Hallway coding
The Joel Test: 12 Steps to Better Code
www.joelonsoftware.com/articles/fog0000000043.html
Patterns not discussed
•   Opaque Object

•   OO JS

•   Caching is not an all or
    none
Parting Thoughts
•   HTML is bigger than
    ever

•   CSS is not for designers

•   OOP live on

•   Keep on rocking!
Are you not entertained?
Are you not entertained?
www.slatecrm.com
THANK YOU

                   @EddyRecio (twitter)

                   eddy@ngensoft.net

                   ngensoft.net

www.slatecrm.com   facebook.com/ngensoft

More Related Content

Similar to Building SlateCRM: Real World EF, MVC and JQuery

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmet
Brad Frost
 
The rules of the internet
The rules of the internetThe rules of the internet
The rules of the internetCodyGarbrandt
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul Event
Lemi Orhan Ergin
 
From React to React Native
From React to React NativeFrom React to React Native
From React to React Native
Axel Delafosse
 
Greenfield Effect: Patterns for Effective Disaster Delivery
Greenfield Effect: Patterns for Effective Disaster DeliveryGreenfield Effect: Patterns for Effective Disaster Delivery
Greenfield Effect: Patterns for Effective Disaster Delivery
Julian Warszawski
 
Minimalism
MinimalismMinimalism
Minimalism
mustafa sarac
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
Kasra Khosravi
 
Write Once, Run Everywhere
Write Once, Run EverywhereWrite Once, Run Everywhere
Write Once, Run Everywhere
Mike North
 
Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015
AboutYouGmbH
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
MunirMahmud3
 
Innovation Culture (Stanford)
Innovation Culture (Stanford)Innovation Culture (Stanford)
Innovation Culture (Stanford)
David E. Weekly
 
Go for Rubyists. August 2018. RUG-B Meetup
Go for Rubyists. August 2018. RUG-B MeetupGo for Rubyists. August 2018. RUG-B Meetup
Go for Rubyists. August 2018. RUG-B Meetup
Kirill Zonov
 
The Future Friendly Campus (Workshop Edition)
The Future Friendly Campus (Workshop Edition)The Future Friendly Campus (Workshop Edition)
The Future Friendly Campus (Workshop Edition)
Dave Olsen
 
Technology Trends
Technology TrendsTechnology Trends
Technology TrendsHenry Jacob
 
8 Ways to Get Gen Z and Millennials to Give
8 Ways to Get Gen Z and Millennials to Give8 Ways to Get Gen Z and Millennials to Give
8 Ways to Get Gen Z and Millennials to Give
TechSoup
 
Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009
Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009
Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009Scott Porad
 
Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java
Wojciech Seliga
 
Progressing and enhancing
Progressing and enhancingProgressing and enhancing
Progressing and enhancing
Christian Heilmann
 

Similar to Building SlateCRM: Real World EF, MVC and JQuery (20)

Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmet
 
The rules of the internet
The rules of the internetThe rules of the internet
The rules of the internet
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul Event
 
From React to React Native
From React to React NativeFrom React to React Native
From React to React Native
 
Greenfield Effect: Patterns for Effective Disaster Delivery
Greenfield Effect: Patterns for Effective Disaster DeliveryGreenfield Effect: Patterns for Effective Disaster Delivery
Greenfield Effect: Patterns for Effective Disaster Delivery
 
Minimalism
MinimalismMinimalism
Minimalism
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Write Once, Run Everywhere
Write Once, Run EverywhereWrite Once, Run Everywhere
Write Once, Run Everywhere
 
Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
 
Innovation Culture (Stanford)
Innovation Culture (Stanford)Innovation Culture (Stanford)
Innovation Culture (Stanford)
 
Go for Rubyists. August 2018. RUG-B Meetup
Go for Rubyists. August 2018. RUG-B MeetupGo for Rubyists. August 2018. RUG-B Meetup
Go for Rubyists. August 2018. RUG-B Meetup
 
The Future Friendly Campus (Workshop Edition)
The Future Friendly Campus (Workshop Edition)The Future Friendly Campus (Workshop Edition)
The Future Friendly Campus (Workshop Edition)
 
Technology Trends
Technology TrendsTechnology Trends
Technology Trends
 
8 Ways to Get Gen Z and Millennials to Give
8 Ways to Get Gen Z and Millennials to Give8 Ways to Get Gen Z and Millennials to Give
8 Ways to Get Gen Z and Millennials to Give
 
Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009
Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009
Lazy, Messy, Backwards - Scott Porad, Start Pad, June 2009
 
Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java Devoxx Poland 2015: 5-10-15 years with Java
Devoxx Poland 2015: 5-10-15 years with Java
 
Web2013
Web2013Web2013
Web2013
 
Progressing and enhancing
Progressing and enhancingProgressing and enhancing
Progressing and enhancing
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 

Building SlateCRM: Real World EF, MVC and JQuery

  • 1. Welcome to Building SlateCRM: Real World EF, MVC and JQuery by EddyRecio
  • 2. MAD CODE To Entertain and educate N av ig ati ng th e prog ram ing wor ld
  • 3. Why are we here?
  • 4.
  • 5. NuGet IOC DJango JQUERY iPhone ASP.NET WebForms MVC WCF OData EF Prototype MooTools WP7 Ruby on Rails Android
  • 7. Get on the GRID
  • 8. Back to the past Long lost knowledge
  • 9. There is a pattern for that
  • 10. Do you see it?
  • 13. Demo
  • 14. Get the grids http://www.fluidgrid.net/ http://www.designinfluences.com/fluid960gs/ http://fluid.newgoldleaf.com/ http://960.gs/ http://www.blueprintcss.org/
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Color Blindness: More Prevalent Among Males Some 10 million American men—fully 7 percent of the male population—either cannot distinguish red from green, or see red and green differently from most people. This is the commonest form of color blindness, but it affects only .4 percent of women. The fact that color blindness is so much more prevalent among men implies that, like hemophilia, it is carried on the X chromosome, of which men have only one copy. (As in hemophilia, women are protected because they have two X chromosomes; a normal gene on one chromosome can often make up for a defective gene on the other.)
  • 22. • Follow language idioms • Do not reinvent the pattern • Beware of too much customization • There are fewer patterns than we think
  • 25. Hallway coding The Joel Test: 12 Steps to Better Code www.joelonsoftware.com/articles/fog0000000043.html
  • 26. Patterns not discussed • Opaque Object • OO JS • Caching is not an all or none
  • 27. Parting Thoughts • HTML is bigger than ever • CSS is not for designers • OOP live on • Keep on rocking!
  • 28. Are you not entertained?
  • 29. Are you not entertained?
  • 31. THANK YOU @EddyRecio (twitter) eddy@ngensoft.net ngensoft.net www.slatecrm.com facebook.com/ngensoft

Editor's Notes

  1. \n
  2. Goals: hopefully come away having learned something new\nfocus on the rough edges\n
  3. - Ask how many are web devs?\n- Same as you, watch demos, read articles\n\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. - Convention: agreed upon standard\n- Patterns: only recognizable afterwards.\n- Idioms : are language specific { many languages have similar phrases }\n
  21. \n
  22. \n
  23. \n
  24. \n
  25. Fibonnacci\n\n
  26. \n
  27. \n
  28. \n
  29. Is it a cup?\n
  30. Lady or hag?\n
  31. More advance?\n
  32. More advance?\n
  33. \n
  34. \n
  35. Causes of color blindnessThe most common form of color blindness is inherited. However color blindness can also be caused by diseases such as macular degeneration, poisoning and side effects of medication. Women are usually the 'carriers' of the defect which is passed on through a defective x chromosome. It is mostly men who inherit color blindness, affecting about 1 in 20 men for every 1 in 200 women.\n
  36. - In Javascript use their bracing style, inheritance, etc.\n- Iterators, extensions\n- MVC folders\n- Stick to the core before looking for strangers ones.\n
  37. Jump into code, get app working\n
  38. Avoid by doing lihgtweight test, prototypes outside app, focus on context, mock if needed\n
  39. Against Frameworkitis, why not make this a NuGet or codeplex proj?\nSoftware teams should have app level frameworks\n\n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n