com presentations: Slides for ZendCon EU and Forum PHP: mongo-jdi.xml mongo-zendconeu13.xml osm-forum13.xml slides/map/bestofosm.xml slides/map/gmm-korogocho2.xml slides/map/osm-haiyan.xml slides/map/osm-haiyan1.xml slides/map/osrm.xml slides/mongodb/repl-set-down.png slides/mongodb/repl-set-new-primary.png slides/mongodb/repl-set-normal.png slides/mongodb/repl-set-recovered.png slides/mongodb/repl-set-recovering.png
[email protected] (Derick Rethans)
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Commit: d260f1fa293ae410c7ff73305dc6f54e20cfe176 Author: Derick Rethans <[email protected]> Mon, 23 Dec 2013 11:56:05 +0100 Parents: f356492ef465ee120cfb08530e824fcd896a3077 Branches: master Link: http://git.php.net/?p=presentations.git;a=commitdiff;h=d260f1fa293ae410c7ff73305dc6f54e20cfe176 Log: Slides for ZendCon EU and Forum PHP Changed paths: A mongo-jdi.xml A mongo-zendconeu13.xml A osm-forum13.xml M slides/map/bestofosm.xml M slides/map/gmm-korogocho2.xml A slides/map/osm-haiyan.xml A slides/map/osm-haiyan1.xml M slides/map/osrm.xml M slides/mongodb/repl-set-down.png M slides/mongodb/repl-set-new-primary.png M slides/mongodb/repl-set-normal.png M slides/mongodb/repl-set-recovered.png M slides/mongodb/repl-set-recovering.png
diff_d260f1fa293ae410c7ff73305dc6f54e20cfe176.txt
(text/plain, 13.4 KB)
diff --git a/mongo-jdi.xml b/mongo-jdi.xml new file mode 100644 index 0000000..32d65d1 --- /dev/null +++ b/mongo-jdi.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>mongoDB</topic> +<title>MongoDB</title> +<event></event> +<location></location> +<date>December 23rd, 2013</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<url>http://derickrethans.nl/talks.html</url> +<joindin></joindin> +<slide>slides/mongodb/title.xml</slide> + +<slide>slides/mongodb/collections-documents.xml</slide> +<slide>slides/mongodb/document.xml</slide> + +<slide>slides/mongodb/insert-js.xml</slide> +<slide>slides/mongodb/insert-php.xml</slide> +<slide>slides/mongodb/insert-php-shortarray.xml</slide> +- single + +<slide>slides/mongodb/id.xml</slide> + +<slide>slides/mongodb/query2.xml</slide> +- findOne +- find + +<slide>slides/mongodb/query-advanced-ops.xml</slide> + +<slide>slides/mongodb/cursors.xml</slide> +- cursor +<slide>slides/mongodb/limit-skip.xml</slide> +- limit/skip + +<!-- SCHEMA DESIGN --> +<slide>slides/mongodb/section-schema-design.xml</slide> +Common Patterns + +- RDBMS-normalisation. + +<slide>slides/mongodb/blog.xml</slide> +<slide>slides/mongodb/blog2.xml</slide> + +<slide>slides/mongodb/considerations.xml</slide> + + +<slide>slides/mongodb/one-to-many2.xml</slide> +<slide>slides/mongodb/one-to-many4.xml</slide> + +<!-- COMMANDS and AGGREGATION --> +<slide>slides/mongodb/commands.xml</slide> + +<slide>slides/mongodb/section-aggregation.xml</slide> +<slide>slides/mongodb/aggr-aggr-framework.xml</slide> + +<slide>slides/mongodb/aggr-pipeline.xml</slide> +<slide>slides/mongodb/aggr-pipelines-ops.xml</slide> +<slide>slides/mongodb/aggr-our-example-data.xml</slide> +<slide>slides/mongodb/aggr-op-match.xml</slide> +<slide>slides/mongodb/aggr-op-match-example.xml</slide> +<slide>slides/mongodb/aggr-op-match-with-query-example.xml</slide> +<slide>slides/mongodb/aggr-op-project.xml</slide> +<slide>slides/mongodb/aggr-op-project-incl-excl-example.xml</slide> +<slide>slides/mongodb/aggr-op-project-rename-compute-example.xml</slide> +<!-- <slid>slides/mongodb/aggr-op-project-create-sub-example.xml</slid>--> +<slide>slides/mongodb/aggr-op-group.xml</slide> +<slide>slides/mongodb/aggr-op-group-sum-count-example.xml</slide> +<slide>slides/mongodb/aggr-op-group-collect-example.xml</slide> +<!-- <slid>slides/mongodb/aggr-op-group-compound-example.xml</slide> --> +<slide>slides/mongodb/aggr-op-unwind.xml</slide> +<slide>slides/mongodb/aggr-op-unwind-example.xml</slide> +<slide>slides/mongodb/aggr-op-sort-skip-limit.xml</slide> +<slide>slides/mongodb/aggr-op-sort-example.xml</slide> +<slide>slides/mongodb/aggr-op-limit-example.xml</slide> +<slide>slides/mongodb/aggr-op-skip-example.xml</slide> +<slide>slides/mongodb/aggr-op-sort-limit-skip-example.xml</slide> + +<!-- INDEXES --> +<slide>slides/mongodb/section-indexes.xml</slide> + +<slide>slides/mongodb/idx-create-php.xml</slide> + +<slide>slides/mongodb/idx-cities-by-name-and-pop.xml</slide> +<slide>slides/mongodb/idx-cities-by-name-and-pop2.xml</slide> +<slide>slides/mongodb/idx-cities-by-name-and-pop3.xml</slide> +<slide>slides/mongodb/idx-cities-by-pop-and-dem.xml</slide> +<slide>slides/mongodb/idx-cities-by-pop-and-dem2.xml</slide> +<!-- <slid>slides/mongodb/idx-stored2.xml</slide> --> +<slide>slides/mongodb/idx-cities-by-pop-and-dem4.xml</slide> +<slide>slides/mongodb/idx-cities-by-pop-and-dem6.xml</slide> +<slide>slides/mongodb/idx-cities-by-pop-and-dem5.xml</slide> + +<!-- <slid>slides/mongodb/idx-recap1.xml</slid> --> +<slide>slides/mongodb/idx-recap2.xml</slide> +<slide>slides/mongodb/idx-recap3.xml</slide> + +<slide>slides/mongodb/idx-which-one-is-picked.xml</slide> + +<!-- REPLICATION --> +<slide>slides/mongodb/section-replication.xml</slide> +<slide>slides/mongodb/repl-use-cases.xml</slide> +<slide>slides/mongodb/repl-features.xml</slide> +<slide>slides/mongodb/repl-works-basic.xml</slide> +<slide>slides/mongodb/repl-works-normal.xml</slide> +<slide>slides/mongodb/repl-works-failover.xml</slide> +<slide>slides/mongodb/repl-oplog.xml</slide> + +<slide>slides/mongodb/replication-setup.xml</slide> + +<slide>slides/mongodb/repl-eventual-consistency.xml</slide> + +<slide>slides/mongodb/questions.xml</slide> +<slide>slides/mongodb/resources.xml</slide> +</presentation> diff --git a/mongo-zendconeu13.xml b/mongo-zendconeu13.xml new file mode 100644 index 0000000..89d2a63 --- /dev/null +++ b/mongo-zendconeu13.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen-strict.css"> +<topic>mongoDB</topic> +<title>Introduction to MongoDB</title> +<event>ZendCon Europe 2013</event> +<location>Paris, France</location> +<date>November 20th, 2013</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<url>http://derickrethans.nl/talks.html</url> +<joindin>https://joind.in/9272</joindin> +<slide>slides/mongodb/title.xml</slide> +<slide>slides/mongodb/databasefield.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +<slide>slides/mongodb/section-intro.xml</slide> +<slide>slides/mongodb/collections-documents.xml</slide> +<slide>slides/mongodb/document.xml</slide> +<slide>slides/mongodb/connecting.xml</slide> +<slide>slides/mongodb/insert.xml</slide> + +<slide>slides/mongodb/query.xml</slide> +<slide>slides/mongodb/query2.xml</slide> +- findOne +- find + +<slide>slides/mongodb/cursors.xml</slide> +- cursor +<slide>slides/mongodb/limit-skip.xml</slide> + +Common Patterns + +- RDBMS-normalisation. +<slide>slides/mongodb/section-schema-design.xml</slide> + +<slide>slides/mongodb/blog.xml</slide> +<slide>slides/mongodb/blog2.xml</slide> + +<slide>slides/mongodb/considerations.xml</slide> + +**OSMify** +<slide>slides/mongodb/inherit-rdbms.xml</slide> +<slide>slides/mongodb/inherit-mongo.xml</slide> + +<slide>slides/mongodb/osm-to-mongo-data.xml</slide> +<slide>slides/mongodb/osm-to-mongo-data2.xml</slide> + +<slide>slides/mongodb/one-to-many2.xml</slide> +<slide>slides/mongodb/one-to-many4.xml</slide> + +<slide>slides/mongodb/embed-vs-link.xml</slide> + +<slide>slides/mongodb/commands-aggregation.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine1-match.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine2-unwind.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine3-match.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine4-group.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine5-group-with-sum.xml</slide> +<slide>slides/mongodb/aggregation-example-cuisine6-sort.xml</slide> + +<slide>slides/mongodb/section-indexes.xml</slide> +<slide>slides/mongodb/osm-to-mongo-data3.xml</slide> +<slide>slides/mongodb/osm-to-mongo-data4.xml</slide> +<slide>slides/mongodb/idx-create-php.xml</slide> + +<slide>slides/mongodb/idx-recap1.xml</slide> +<slide>slides/mongodb/idx-recap2.xml</slide> + +<!-- REPLICATION --> +<slide>slides/mongodb/section-replication.xml</slide> +<slide>slides/mongodb/repl-use-cases.xml</slide> +<slide>slides/mongodb/repl-features.xml</slide> +<slide>slides/mongodb/repl-works-basic.xml</slide> +<slide>slides/mongodb/repl-works-normal.xml</slide> +<slide>slides/mongodb/repl-works-failover.xml</slide> +<slide>slides/mongodb/repl-oplog.xml</slide> + +<slide>slides/mongodb/replication-setup.xml</slide> + +<slide>slides/mongodb/repl-eventual-consistency.xml</slide> + +<slide>slides/mongodb/selling-points.xml</slide> +<slide>slides/mongodb/resources.xml</slide> + +</presentation> diff --git a/osm-forum13.xml b/osm-forum13.xml new file mode 100644 index 0000000..fe3fcad --- /dev/null +++ b/osm-forum13.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="10gen.css"> +<topic>Maps</topic> +<title>OpenStreetMap for the Web</title> +<event>Forum PHP 2013</event> +<location>Montrouge, France</location> +<date>November 21st 2013</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<joindin>http://joind.in/8171</joindin> +<slide>slides/map/title.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +<!-- +In this talk I will be explaining the strong points of OpenStreetMap and why +using GoogleMaps for your websites is generally a bad idea. Contrary to popular +belief, GoogleMaps isn't as amazing as it looks and they are a lot more evil +than they look. OpenStreetMap's data is also easily accessible for use in PHP +applications and the generated tiles can easily be embedded into a Web 2.0 +application. Its open nature is a welcome and powerful geo database that can be +added to and used in whatever way imaginary. +--> + +<slide>slides/map/earth-sphere-approximation.xml</slide> +<slide>slides/map/meridian.xml</slide> +<slide>slides/map/projections.xml</slide> + +<!-- +What is X? +--> +<slide>slides/map/osm-what.xml</slide> + + + +<slide>slides/map/leaflet.xml</slide> + +<slide>slides/map/openlayers-location.xml</slide> +<slide>slides/map/leaflet-location.xml</slide> +<slide>slides/map/reverse.xml</slide> +<slide>slides/map/reverse-services.xml</slide> +<!-- +<side>slides/map/osrm.xml</slide> +<side>slides/map/osrm-services.xml</slide> +--> + +<slide>slides/map/osm-data.xml</slide> + +<slide>slides/map/osm-tags-edit.xml</slide> + + +<slide>slides/map/osm-mapping-party1.xml</slide> +<slide>slides/map/osm-editors.xml</slide> +<slide>slides/map/osm-kibera.xml</slide> +<slide>slides/map/osm-haiyan.xml</slide> +<slide>slides/map/osm-sad-face.xml</slide> +<slide>slides/map/osm-happy-face.xml</slide> + +<slide>slides/map/osm-xapi.xml</slide> +<slide>slides/map/osm-data-uses.xml</slide> + +<slide>slides/mongodb/resources.xml</slide> + +</presentation> diff --git a/slides/map/bestofosm.xml b/slides/map/bestofosm.xml index d10b49a..ad3a0fd 100644 --- a/slides/map/bestofosm.xml +++ b/slides/map/bestofosm.xml @@ -1,5 +1,5 @@ <slide> -<title>OpenStreetMap and php|tek</title> +<title>OpenStreetMap</title> <div effect="fade-out"> <image filename="bestofosm1.png"/> </div> diff --git a/slides/map/gmm-korogocho2.xml b/slides/map/gmm-korogocho2.xml index 47b46f4..8bc0375 100644 --- a/slides/map/gmm-korogocho2.xml +++ b/slides/map/gmm-korogocho2.xml @@ -1,4 +1,4 @@ <slide> <title>Mapping party: Korogocho</title> -<iframe filename="http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=36.88608&lat=-1.25629&zoom=16"/> +<iframe filename="http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=125&lat=11.24&zoom=16"/> </slide> diff --git a/slides/map/osm-haiyan.xml b/slides/map/osm-haiyan.xml new file mode 100644 index 0000000..1863184 --- /dev/null +++ b/slides/map/osm-haiyan.xml @@ -0,0 +1,4 @@ +<slide> +<title>Tacloban</title> +<iframe filename="http://www.theguardian.com/technology/2013/nov/15/online-volunteers-map-philippines-after-typhoon-haiyan?view=mobile"/> +</slide> diff --git a/slides/map/osm-haiyan1.xml b/slides/map/osm-haiyan1.xml new file mode 100644 index 0000000..9f42c3e --- /dev/null +++ b/slides/map/osm-haiyan1.xml @@ -0,0 +1,4 @@ +<slide> +<title>Mapping party: Korogocho</title> +<iframe filename="http://tools.geofabrik.de/mc/?mt0=mapnik&mt1=googlemap&lon=125&lat=11.24&zoom=14"/> +</slide> diff --git a/slides/map/osrm.xml b/slides/map/osrm.xml index 0188e96..7521c60 100644 --- a/slides/map/osrm.xml +++ b/slides/map/osrm.xml @@ -10,14 +10,23 @@ <?php $nominatimUrl = 'http://nominatim.openstreetmap.org/search?format=json&limit=1&q='; $from = urlencode( "The London Eye, London" ); -$to = urlencode( "St Paul's Cathedral, London" ); +$to = urlencode( "St Paul's Cathedral, City of London" ); $fromLL = json_decode( file_get_contents( "{$nominatimUrl}{$from}" ) ); $toLL = json_decode( file_get_contents( "{$nominatimUrl}{$to}" ) ); $osrmUrl = 'http://router.project-osrm.org/viaroute?instructions=true'; $osrmUrl .= sprintf( "&loc=%.4f,%.4f", $fromLL[0]->lat, $fromLL[0]->lon ); $osrmUrl .= sprintf( "&loc=%.4f,%.4f", $toLL[0]->lat, $toLL[0]->lon ); -var_dump( json_decode( file_get_contents( $osrmUrl ) ) ); + +$headers = + "User-Agent: Derick Rethans/Presentation/20131113 [email protected]\r\n" . + "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" . + "Accept-Encoding: gzip\r\n"; +$opts = array( 'http' => array( 'header' => $headers ) ); + +$context = stream_context_create($opts); + +var_dump( json_decode( gzdecode( file_get_contents( $osrmUrl, false, $context ) ) ) ); ?>]]></example> </div> </slide> diff --git a/slides/mongodb/repl-set-down.png b/slides/mongodb/repl-set-down.png index 31444d2..ce54062 100644 Binary files a/slides/mongodb/repl-set-down.png and b/slides/mongodb/repl-set-down.png differ diff --git a/slides/mongodb/repl-set-new-primary.png b/slides/mongodb/repl-set-new-primary.png index a849617..330734d 100644 Binary files a/slides/mongodb/repl-set-new-primary.png and b/slides/mongodb/repl-set-new-primary.png differ diff --git a/slides/mongodb/repl-set-normal.png b/slides/mongodb/repl-set-normal.png index ae072d4..0dbd836 100644 Binary files a/slides/mongodb/repl-set-normal.png and b/slides/mongodb/repl-set-normal.png differ diff --git a/slides/mongodb/repl-set-recovered.png b/slides/mongodb/repl-set-recovered.png index 9d911cd..60bd521 100644 Binary files a/slides/mongodb/repl-set-recovered.png and b/slides/mongodb/repl-set-recovered.png differ diff --git a/slides/mongodb/repl-set-recovering.png b/slides/mongodb/repl-set-recovering.png index 57ea2e8..5eae683 100644 Binary files a/slides/mongodb/repl-set-recovering.png and b/slides/mongodb/repl-set-recovering.png differ