SlideShare une entreprise Scribd logo
1  sur  77
Télécharger pour lire hors ligne
this space left intentionally blank
why perl is awesome and
all other languages suck
         Mike Astle
    flamebait@lokku.com
from mash-up to business

    Mike Astle - Lokku Ltd.
    Google Developer Day
    31 May 2007 - London
i like questions
Milestones
•   Start dev April 2006
•   Launch London June 2006
•   Launch UK Sept 2006
•   Launch Spain May 2007
Numbers
• In the UK, have 850,000 listings
  refreshed continually
• Boils down to about 500,000 properties
• 100,000+ users per month
• 4 programmers
• No dedicated operations staff
Houses on a map…so what?
this is harder than it looks
The Plan
• Talk about some of the technical
  decisions we made at Nestoria
• Go over a few challenges that we have
  faced
• Hopefully there are lessons to learn
  from our experiences
first, you design
Things to worry about
•   Architecture
•   Services vs. APIs
•   How to scale?
•   i18n
•   Future products
then you choose a platform
MS vs. Everything Else
Java?
That Leaves LAMP
PHP?
Ruby?

LAMR?
Python?
Perl
Perl


Utility Belt == CPAN
Apache
MySQL
GNU/Linux
 (Debian)
now choose a
development environment
Source Control
• SVN…duh
• Does anybody use CVS anymore?
• Love the trac
Coders
• A few veterans
• As many interns / junior coders as fit in
  the room
Highly Collaborative
(but not XP or Agile)
Emphasis
• Collective decision-making
• Individual responsibility for deadlines
• Many small success rather than few
  large projects
Why write tests?
• Find bugs, of course
• Increase confidence to make changes
  to unfamiliar systems or libraries
• Promote good design / expose bad
  design
Design
• Informal process (no UML, minimal
  design patterns)
• Concentrate on the things that will really
  hurt - e.g. i18n
• Not everything has to be an object
Documentation
• POD for interfaces
• twiki for systems
• Schedule regular refreshers
Outsource
• If you can spec it faster than you can
  write it, consider farming it out
• Many, many site full of hungry coders
• Have had good results with
  scriptlance.com but there are lots of
  others out there
how to deploy?
Virtualization?
• Sounds like voodoo to me
• Extra layer to worry about
• Easy enough to do everything in user
  space
Wigwam


•   12 subdomains
•   Live data
•   22 services
•   Many playpens per box
•   Releases several times a week
big ISP vs. small ISP
•   Bigger - more consistent
•   Smaller - more personal
•   Bigger - discrete choices
•   Smaller - continuous advice

• We went small
Hardware
• Know your downtime limits
• Be reasonable!
• Load balancing - expensive and
  complex - we do it with DNS through a
  vendor
• Have a failure plan
The
Hawkeye
Principle
but is anybody using it?
Logging
• Need your own, and it needs to be
  flexible
• Use the free tools as a sanity check
Reporting
• An important area of expertise, not an
  annoying afterthought
• Glossary
• Every mean needs a variance
• A/B Testing (a.k.a Bucket Testing) is
  hard to do right
Also…
• Build tools for ad hoc queries, they
  >will< get used
• Keep an audit trail of changes
• Effective tools for drilling down on
  sessions allows non-techs to help
  debugging
problems we have solved
http://www.nestoria.co.uk/covent-
 garden/flat/buy/bedrooms-2/maxprice-
1000000/minprice-250000/bathrooms-2
•   Alderly Edge => Alderley Edge
•   Bayswater London => Bayswater
•   Berkhampsted => Berkhamsted
•   Birminham => Birmingham
•   Bletchingly => Bletchingley
•   Broxbourne Station => Broxbourne
•   Cambuslank => Cambuslang
•   Canary Warf => Canary Wharf
•   Claphamjuction => Clapham Junction
•   Covent Garden London => Covent
    Garden
Geocoding
• Transform address into lat/long
  coordinates
• 1,000+ calls a minute
• Very high data variance (few cache hits)
• Royal Mail data for UK
• Teleatlas data for Spain
•   Albert Villas, Gilbert Mews, LEIGHTON BUZZARD,
•   Bedfordshire, LU7 1NF
•   Lake Lock Drive, Wakefield West Yorkshire
•   Church Lane, London
•   C ELMINGTON ROAD, LONDON
•   Fountain Road (Flat 2), Edgbaston
•   London SE18, UK
•   Lee, London, UK
•   Free Trade Wharf, 340 The Highway,
    Wapping/Limehouse London
•   Stunning 3 Storey Contemporary Barn Conversion In
    The Popular Village Of Utkinton
•   A.4-1 GREAT NORTHERN TOWER,WATSON
    STREET,CITY CENTRE,
•    MANCHESTER GREATER MANCHESTER
•   15, ASTLEY HOUSE, LONDON
(((^[BEGLMNS][1-9]d?) | (^W[2-9] ) | ( ^( A[BL] | B[ABDHLNRST] |
C[ABFHMORTVW] | D[ADEGHLNTY] | E[HNX] | F[KY] | G[LUY] | H[ADGPRSUX] |
I[GMPV] | JE | K[ATWY] | L[ADELNSU] | M[EKL] | N[EGNPRW] | O[LX] |
P[AEHLOR] | R[GHM] | S[AEGKL-PRSTWY] | T[ADFNQRSW] | UB | W[ADFNRSV] |
YO | ZE ) dd?) | (^W1[A-HJKSTUW0-9]) | (( (^WC[1-2]) | (^EC[1-4]) |
(^SW1) ) [ABEHMNPRVWXY] ) ) (s*)? ([0-9][ABD-HJLNP-UW-Z]{2}))
what next?
Future Projects
• Expose more data via API (e.g.
  historical aggregate data)
• Implicit personalisation (the system
  learns from users)
• More international expansion
• Systemic testing to improve user
  experience
like what you see?
http://www.lokku.com/jobs
thanks!

            astle@lokku.com
          http://www.lokku.com
        http://www.nestoria.co.uk
         http://www.nestoria.es
http://www.lokku.com/lpw06_geocoding/
 http://www.lokku.com/lpw06_wigwam/

Contenu connexe

Similaire à Google Developer Day 2007 - Nestoria: From Mash-up To Business

ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereKevin Pettitt
 
Retooling the world wide web for its original purpose
Retooling the world wide web for its original purposeRetooling the world wide web for its original purpose
Retooling the world wide web for its original purposesingingfish
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPIoannis Baltopoulos
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...Scott Abel
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryScott Abel
 
Variables & Expressions
Variables & ExpressionsVariables & Expressions
Variables & ExpressionsRich Price
 
Front-end Web Dev (HK) Info Session
Front-end Web Dev (HK) Info SessionFront-end Web Dev (HK) Info Session
Front-end Web Dev (HK) Info SessionAllison Baum
 
PostgreSQL Conference: West 08
PostgreSQL Conference: West 08PostgreSQL Conference: West 08
PostgreSQL Conference: West 08Joshua Drake
 
Ignite Orlando - Act 2
Ignite Orlando - Act 2Ignite Orlando - Act 2
Ignite Orlando - Act 2GreggPollack
 
Smoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two TeamsSmoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two TeamsEqual Experts
 
FOSDEM 2009 Thunderbird 3 talk
FOSDEM 2009 Thunderbird 3 talkFOSDEM 2009 Thunderbird 3 talk
FOSDEM 2009 Thunderbird 3 talkdavidascher
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue
 
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your PrototypesKill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your Prototypesjsokohl
 
O365Engage17 - How to avoid the 5 stages of grief when moving to office 365
O365Engage17 - How to avoid the 5 stages of grief when moving to office 365O365Engage17 - How to avoid the 5 stages of grief when moving to office 365
O365Engage17 - How to avoid the 5 stages of grief when moving to office 365NCCOMMS
 
Working With People Adl Uni
Working With People Adl UniWorking With People Adl Uni
Working With People Adl UniMatthew Landauer
 
Jonathon Rochelle @ FOWA Feb 07
Jonathon Rochelle @ FOWA Feb 07Jonathon Rochelle @ FOWA Feb 07
Jonathon Rochelle @ FOWA Feb 07carsonsystems
 

Similaire à Google Developer Day 2007 - Nestoria: From Mash-up To Business (20)

ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates Everywhere
 
Retooling the world wide web for its original purpose
Retooling the world wide web for its original purposeRetooling the world wide web for its original purpose
Retooling the world wide web for its original purpose
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation Library
 
Even More Agile
Even More AgileEven More Agile
Even More Agile
 
Variables & Expressions
Variables & ExpressionsVariables & Expressions
Variables & Expressions
 
Front-end Web Dev (HK) Info Session
Front-end Web Dev (HK) Info SessionFront-end Web Dev (HK) Info Session
Front-end Web Dev (HK) Info Session
 
re7olabini
re7olabinire7olabini
re7olabini
 
PostgreSQL Conference: West 08
PostgreSQL Conference: West 08PostgreSQL Conference: West 08
PostgreSQL Conference: West 08
 
Ignite Orlando - Act 2
Ignite Orlando - Act 2Ignite Orlando - Act 2
Ignite Orlando - Act 2
 
Smoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two TeamsSmoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two Teams
 
FOSDEM 2009 Thunderbird 3 talk
FOSDEM 2009 Thunderbird 3 talkFOSDEM 2009 Thunderbird 3 talk
FOSDEM 2009 Thunderbird 3 talk
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
 
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
Coolblue Behind the Scenes | Niels Abels - Continuous Delivery.
 
DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!
 
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your PrototypesKill Your Darlings: Solving Design by Throwing Away Your Prototypes
Kill Your Darlings: Solving Design by Throwing Away Your Prototypes
 
O365Engage17 - How to avoid the 5 stages of grief when moving to office 365
O365Engage17 - How to avoid the 5 stages of grief when moving to office 365O365Engage17 - How to avoid the 5 stages of grief when moving to office 365
O365Engage17 - How to avoid the 5 stages of grief when moving to office 365
 
Working With People Adl Uni
Working With People Adl UniWorking With People Adl Uni
Working With People Adl Uni
 
Jonathon Rochelle @ FOWA Feb 07
Jonathon Rochelle @ FOWA Feb 07Jonathon Rochelle @ FOWA Feb 07
Jonathon Rochelle @ FOWA Feb 07
 

Plus de lokku

Geocoding Overview
Geocoding OverviewGeocoding Overview
Geocoding Overviewlokku
 
OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data lokku
 
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014lokku
 
A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data  A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data lokku
 
Geo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-searchGeo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-searchlokku
 
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR eventGeocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR eventlokku
 
Nestoria new design
Nestoria new designNestoria new design
Nestoria new designlokku
 
CSS::SpriteMaker in action!
CSS::SpriteMaker in action!CSS::SpriteMaker in action!
CSS::SpriteMaker in action!lokku
 
Reducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage DataReducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage Datalokku
 
Css sprite_maker-1
Css  sprite_maker-1Css  sprite_maker-1
Css sprite_maker-1lokku
 
Nestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketingNestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketinglokku
 
The Nestoria GeoChallenge
The Nestoria GeoChallengeThe Nestoria GeoChallenge
The Nestoria GeoChallengelokku
 
Geo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOGeo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOlokku
 
Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data lokku
 
What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012lokku
 
How Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapsHow Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapslokku
 
Remote Geocoding
Remote GeocodingRemote Geocoding
Remote Geocodinglokku
 
Lessons learned in doing lots with few people
Lessons learned in  doing lots with few peopleLessons learned in  doing lots with few people
Lessons learned in doing lots with few peoplelokku
 
Mapstraction
MapstractionMapstraction
Mapstractionlokku
 
Bar Camp London 7
Bar Camp London 7Bar Camp London 7
Bar Camp London 7lokku
 

Plus de lokku (20)

Geocoding Overview
Geocoding OverviewGeocoding Overview
Geocoding Overview
 
OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data OpenCage Data and sustainable business models for open data
OpenCage Data and sustainable business models for open data
 
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
Presenting the OpenCage Geocoder at #londonapi 17 Sept 2014
 
A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data  A living hell - lessons learned in eight years of parsing real estate data
A living hell - lessons learned in eight years of parsing real estate data
 
Geo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-searchGeo-search-location-based-results-for-site-search
Geo-search-location-based-results-for-site-search
 
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR eventGeocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
Geocoding India - talk delivered on 31 Jan 2014 at the Bangalore goeBLR event
 
Nestoria new design
Nestoria new designNestoria new design
Nestoria new design
 
CSS::SpriteMaker in action!
CSS::SpriteMaker in action!CSS::SpriteMaker in action!
CSS::SpriteMaker in action!
 
Reducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage DataReducing the technical hurdle - why we started OpenCage Data
Reducing the technical hurdle - why we started OpenCage Data
 
Css sprite_maker-1
Css  sprite_maker-1Css  sprite_maker-1
Css sprite_maker-1
 
Nestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketingNestoria case study - The effective use of geo-data for search marketing
Nestoria case study - The effective use of geo-data for search marketing
 
The Nestoria GeoChallenge
The Nestoria GeoChallengeThe Nestoria GeoChallenge
The Nestoria GeoChallenge
 
Geo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEOGeo-Data for Search Marketing SEM & SEO
Geo-Data for Search Marketing SEM & SEO
 
Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data Making using OSM data simpler - OpenCage Data
Making using OSM data simpler - OpenCage Data
 
What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012What’s next in mapping for portals? ppw2012
What’s next in mapping for portals? ppw2012
 
How Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap mapsHow Nestoria switched to OpenStreetMap maps
How Nestoria switched to OpenStreetMap maps
 
Remote Geocoding
Remote GeocodingRemote Geocoding
Remote Geocoding
 
Lessons learned in doing lots with few people
Lessons learned in  doing lots with few peopleLessons learned in  doing lots with few people
Lessons learned in doing lots with few people
 
Mapstraction
MapstractionMapstraction
Mapstraction
 
Bar Camp London 7
Bar Camp London 7Bar Camp London 7
Bar Camp London 7
 

Dernier

Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menzaictsugar
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
 
India Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample ReportIndia Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample ReportMintel Group
 
Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Seta Wicaksana
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?Olivia Kresic
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfJos Voskuil
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Anamaria Contreras
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessSeta Wicaksana
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africaictsugar
 
Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionMintel Group
 
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / NcrCall Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncrdollysharma2066
 

Dernier (20)

Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
 
India Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample ReportIndia Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample Report
 
Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...Ten Organizational Design Models to align structure and operations to busines...
Ten Organizational Design Models to align structure and operations to busines...
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?MAHA Global and IPR: Do Actions Speak Louder Than Words?
MAHA Global and IPR: Do Actions Speak Louder Than Words?
 
Corporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information TechnologyCorporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information Technology
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdf
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful Business
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africa
 
Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted Version
 
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / NcrCall Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
 

Google Developer Day 2007 - Nestoria: From Mash-up To Business

  • 1. this space left intentionally blank
  • 2. why perl is awesome and all other languages suck Mike Astle flamebait@lokku.com
  • 3. from mash-up to business Mike Astle - Lokku Ltd. Google Developer Day 31 May 2007 - London
  • 5.
  • 6. Milestones • Start dev April 2006 • Launch London June 2006 • Launch UK Sept 2006 • Launch Spain May 2007
  • 7.
  • 8.
  • 9. Numbers • In the UK, have 850,000 listings refreshed continually • Boils down to about 500,000 properties • 100,000+ users per month • 4 programmers • No dedicated operations staff
  • 10. Houses on a map…so what?
  • 11. this is harder than it looks
  • 12. The Plan • Talk about some of the technical decisions we made at Nestoria • Go over a few challenges that we have faced • Hopefully there are lessons to learn from our experiences
  • 14. Things to worry about • Architecture • Services vs. APIs • How to scale? • i18n • Future products
  • 15. then you choose a platform
  • 16.
  • 18. Java?
  • 20. PHP?
  • 23. Perl
  • 26. MySQL
  • 29. Source Control • SVN…duh • Does anybody use CVS anymore? • Love the trac
  • 30.
  • 31. Coders • A few veterans • As many interns / junior coders as fit in the room
  • 33. Emphasis • Collective decision-making • Individual responsibility for deadlines • Many small success rather than few large projects
  • 34.
  • 35.
  • 36. Why write tests? • Find bugs, of course • Increase confidence to make changes to unfamiliar systems or libraries • Promote good design / expose bad design
  • 37. Design • Informal process (no UML, minimal design patterns) • Concentrate on the things that will really hurt - e.g. i18n • Not everything has to be an object
  • 38. Documentation • POD for interfaces • twiki for systems • Schedule regular refreshers
  • 39. Outsource • If you can spec it faster than you can write it, consider farming it out • Many, many site full of hungry coders • Have had good results with scriptlance.com but there are lots of others out there
  • 41.
  • 42.
  • 43. Virtualization? • Sounds like voodoo to me • Extra layer to worry about • Easy enough to do everything in user space
  • 44. Wigwam • 12 subdomains • Live data • 22 services • Many playpens per box • Releases several times a week
  • 45. big ISP vs. small ISP • Bigger - more consistent • Smaller - more personal • Bigger - discrete choices • Smaller - continuous advice • We went small
  • 46. Hardware • Know your downtime limits • Be reasonable! • Load balancing - expensive and complex - we do it with DNS through a vendor • Have a failure plan
  • 48. but is anybody using it?
  • 49. Logging • Need your own, and it needs to be flexible • Use the free tools as a sanity check
  • 50. Reporting • An important area of expertise, not an annoying afterthought • Glossary • Every mean needs a variance • A/B Testing (a.k.a Bucket Testing) is hard to do right
  • 51. Also… • Build tools for ad hoc queries, they >will< get used • Keep an audit trail of changes • Effective tools for drilling down on sessions allows non-techs to help debugging
  • 53.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64. Alderly Edge => Alderley Edge • Bayswater London => Bayswater • Berkhampsted => Berkhamsted • Birminham => Birmingham • Bletchingly => Bletchingley • Broxbourne Station => Broxbourne • Cambuslank => Cambuslang • Canary Warf => Canary Wharf • Claphamjuction => Clapham Junction • Covent Garden London => Covent Garden
  • 65. Geocoding • Transform address into lat/long coordinates • 1,000+ calls a minute • Very high data variance (few cache hits) • Royal Mail data for UK • Teleatlas data for Spain
  • 66. Albert Villas, Gilbert Mews, LEIGHTON BUZZARD, • Bedfordshire, LU7 1NF • Lake Lock Drive, Wakefield West Yorkshire • Church Lane, London • C ELMINGTON ROAD, LONDON • Fountain Road (Flat 2), Edgbaston • London SE18, UK • Lee, London, UK • Free Trade Wharf, 340 The Highway, Wapping/Limehouse London • Stunning 3 Storey Contemporary Barn Conversion In The Popular Village Of Utkinton • A.4-1 GREAT NORTHERN TOWER,WATSON STREET,CITY CENTRE, • MANCHESTER GREATER MANCHESTER • 15, ASTLEY HOUSE, LONDON
  • 67. (((^[BEGLMNS][1-9]d?) | (^W[2-9] ) | ( ^( A[BL] | B[ABDHLNRST] | C[ABFHMORTVW] | D[ADEGHLNTY] | E[HNX] | F[KY] | G[LUY] | H[ADGPRSUX] | I[GMPV] | JE | K[ATWY] | L[ADELNSU] | M[EKL] | N[EGNPRW] | O[LX] | P[AEHLOR] | R[GHM] | S[AEGKL-PRSTWY] | T[ADFNQRSW] | UB | W[ADFNRSV] | YO | ZE ) dd?) | (^W1[A-HJKSTUW0-9]) | (( (^WC[1-2]) | (^EC[1-4]) | (^SW1) ) [ABEHMNPRVWXY] ) ) (s*)? ([0-9][ABD-HJLNP-UW-Z]{2}))
  • 68.
  • 70. Future Projects • Expose more data via API (e.g. historical aggregate data) • Implicit personalisation (the system learns from users) • More international expansion • Systemic testing to improve user experience
  • 72.
  • 73.
  • 74.
  • 75.
  • 77. thanks! astle@lokku.com http://www.lokku.com http://www.nestoria.co.uk http://www.nestoria.es http://www.lokku.com/lpw06_geocoding/ http://www.lokku.com/lpw06_wigwam/