com presentations: DPC talk, and missing slides: geo-dpc17.xml slides/mongodb/osm-import-location-section.xml slides/xdebug/happy-15th.xml slides/xdebug/happy-birthday-text.jpg slides/xdebug/vld-path-5-wrapup.xml slides/xdebug/xdebug-2.3-stack-trace-limit.xml slides/xdebug/xdebug-2.3-tracing.xml slides/xdebug/xdebug-2.5-new.xml slides/xdebug/xdebug-2.6-new.xml slides/xdebug/xdebug-2.6-switch.xml slides/xdebug/xdebug-2.6-switch2.xml xdebug-new-php

[email protected] (Derick Rethans) Thu, 29 Jun 2017 10:08:01 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Commit:    8a161b3425d1972ce90c39ede44b6db9046ca973
Author:    Derick Rethans <[email protected]>         Thu, 29 Jun 2017 12:08:01 +0200
Parents:   696c3c74c5f0f4c01b9fac84bb528e7dd7941b21
Branches:  master

Link:       http://git.php.net/?p=presentations.git;a=commitdiff;h=8a161b3425d1972ce90c39ede44b6db9046ca973

Log:
DPC talk, and missing slides

Changed paths:
  A  geo-dpc17.xml
  M  slides/mongodb/osm-import-location-section.xml
  A  slides/xdebug/happy-15th.xml
  A  slides/xdebug/happy-birthday-text.jpg
  A  slides/xdebug/vld-path-5-wrapup.xml
  A  slides/xdebug/xdebug-2.3-stack-trace-limit.xml
  A  slides/xdebug/xdebug-2.3-tracing.xml
  A  slides/xdebug/xdebug-2.5-new.xml
  A  slides/xdebug/xdebug-2.6-new.xml
  A  slides/xdebug/xdebug-2.6-switch.xml
  A  slides/xdebug/xdebug-2.6-switch2.xml
  A  xdebug-new-phpsouthcoast17.xml
diff_8a161b3425d1972ce90c39ede44b6db9046ca973.txt (text/plain, 16.1 KB)
diff --git a/geo-dpc17.xml b/geo-dpc17.xml
new file mode 100644
index 0000000..99fd169
--- /dev/null
+++ b/geo-dpc17.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<presentation css="10gen-strict.css">
+<topic>MongoDB</topic>
+<title>Locate All The Things</title>
+<event>Dutch PHP Conference</event>
+<location>Amsterdam, Netherlands</location>
+<lat>52.3417982</lat><lon>4.8891098</lon>
+<date>June 30, 2017</date>
+<speaker>Derick Rethans</speaker>
+<email>[email protected]</email>
+<twitter>derickr</twitter>
+<joindin>http://joind.in/21141</joindin>
+
+<slide>slides/mongodb/title.xml</slide>
+
+<slide>slides/mongodb/closed-pub.xml</slide>
+<!-- A few words about our dataset -->
+
+<slide>slides/mongodb/few-words-about-osm.xml</slide>
+
+<slide>slides/map/osm-data.xml</slide>
+
+<slide>slides/mongodb/osm-import-tags-section.xml</slide>
+
+<slide>slides/map/osm-tags1.xml</slide>
+<slide>slides/map/osm-tags2.xml</slide>
+<slide>slides/map/osm-tags3.xml</slide>
+
+
+<slide>slides/mongodb/osm-to-mongo-data.xml</slide>
+<slide>slides/mongodb/osm-to-mongo-data2.xml</slide>
+<slide>slides/mongodb/osm-to-mongo-data3.xml</slide>
+<slide>slides/mongodb/osm-to-mongo-data4.xml</slide>
+
+<!--<slide>slides/mongodb/osm-import-4times-section.xml</slide>-->
+<slide>slides/mongodb/osm-schema1.xml</slide>
+<!--<slide>slides/mongodb/osm-schema2.xml</slide>-->
+<slide>slides/mongodb/osm-schema4.xml</slide>
+<!--<slide>slides/mongodb/osm-schema3.xml</slide>-->
+<!--<slide>slides/mongodb/osm-schema-summary.xml</slide>-->
+
+<!-- DATA STORAGE -->
+<!--
+	No more [ lon, lat ], but geojson instead
+
+SAY WHERE ELSE GeoJson is used
+-->
+<slide>slides/mongodb/osm-import-location-section.xml</slide>
+<slide>slides/mongodb/geojson.xml</slide>
+
+<!--
+	POINT:
+    show an image, and the GeoJson under 
+-->
+<slide>slides/mongodb/geojson-point.xml</slide>
+<!--
+	LINESTRING:
+    show an image, and the GeoJson under 
+-->
+<slide>slides/mongodb/geojson-linestring.xml</slide>
+<!--
+	POLYGON:
+    show an image, and the GeoJson under 
+-->
+<slide>slides/mongodb/geojson-polygon.xml</slide>
+
+<!--
+	CELLS,
+    We divide the surface of the earth into cells
+        A library called S2 from Google does the hard work
+    Cells have a level which define the size of the cell.
+    S2 provides 31 levels
+    The higher the level, the smaller the cell, and therefore the more needed to cover the earth
+    By default, we use all levels between 500m on a side and 100km on a side
+-->
+<slide>slides/mongodb/cells.xml</slide>
+<!--
+	Show grid of (part of) London:
+	- Point, Westminster palace
+	- Line, Oxford Street
+    - Polygon, Hyde Park
+-->
+<slide>slides/mongodb/cells-level10-example-london-1.xml</slide>
+<slide>slides/mongodb/cells-level10-example-london-2.xml</slide>
+<slide>slides/mongodb/cells-level10-example-london-3.xml</slide>
+
+<slide>slides/map/osm-xapi.xml</slide>
+<slide>slides/map/osm-data.xml</slide>
+<slide>slides/map/import-script-manchester.xml</slide>
+
+
+<!-- operators
+    $near
+        find stuff near a point
+        index required
+    $geoWithin
+        find stuff within a polygon/circle
+        index NOT required
+    $geoIntersects
+        find stuff that intersects with other stuff
+        index NOT required
+
+-->
+<slide>slides/mongodb/geo-in-2.4.xml</slide>
+
+<!-- near
+	- Example with road and park
+	- slide with index/no index, and comparsion with 2.2?
+-->
+<!-- geoWithin
+	- Example with road and park
+	- slide with index/no index, and comparsion with 2.2?
+-->
+<!-- geoIntersects
+	- Example with road and park
+	- slide with index/no index, and comparsion with 2.2?
+-->
+<slide>slides/mongodb/geo-near.xml</slide>
+
+<!--
+	NEAR
+
+    Starts from a point
+    Looks at concentric donuts from that point
+    Want to look at documents within the donut
+    If distance from query point to document is within the donut, output
+    Adapts size of the donut as needed
+-->
+<!--
+	GeoWithin/GeoIntersecs
+
+    Generate a covering for geometry in query
+    Look at all points in all overlapping cells
+        Cells may be larger or smaller than our covering
+        Must look at cells that contain our covering
+        Must look at cells that we contain
+    See if documents are within or intersect our query geometry
+
+	Show examples of:
+	- within: The Palace of Westminster (point) in "City of Westminster" (polygon)
+	- intersect: thames (line) crossing London (polygon)
+-->
+<slide>slides/mongodb/geo-within.xml</slide>
+<slide>slides/mongodb/geo-within-2.xml</slide>
+
+<slide>slides/mongodb/geo-intersects.xml</slide>
+
+
+<!--
+Without index:
+    $near
+        Look at every point
+        Sort by distance
+        Very slow, so requires an index.
+    $geoWithin
+        Look at every document
+        Is it within the query polygon?
+        Order is arbitrary
+    $geoIntersects
+        Look at every document
+        Does it intersect with the query geometry?
+        Order is arbitrary
+-->
+<!-- AGGREGATION:
+
+	- show tube stations per borough
+	- show pubs by borough
+
+http://docs.mongodb.org/manual/reference/aggregation/#stage._S_geoNear
+
+- distance is important
+- $geoNear in aggregation can't deal with more than one 2dsphere index
+- spherical option is *required* when using a 2dsphere index
+-->
+<slide>slides/mongodb/geo-aggregation.xml</slide>
+<slide>slides/mongodb/geo-aggregation2.xml</slide>
+<!--
+<slide>slides/mongodb/osm-import-leaflet-section.xml</slide>
+
+<slide>slides/map/leaflet.xml</slide>
+<slide>slides/map/leaflet-ajax.xml</slide>
+<slide>slides/map/leaflet-json-return.xml</slide>
+-->
+<slide>slides/mongodb/questions.xml</slide>
+<slide>slides/mongodb/resources.xml</slide>
+
+</presentation>
diff --git a/slides/mongodb/osm-import-location-section.xml b/slides/mongodb/osm-import-location-section.xml
index d849bda..fb97931 100644
--- a/slides/mongodb/osm-import-location-section.xml
+++ b/slides/mongodb/osm-import-location-section.xml
@@ -1,4 +1,3 @@
-<slide style="title">
+<slide style="title" background="locations.png">
 <title>Locations</title>
-<image align="center" filename="locations.png" attr=""/>
 </slide>
diff --git a/slides/xdebug/happy-15th.xml b/slides/xdebug/happy-15th.xml
new file mode 100644
index 0000000..7aa655c
--- /dev/null
+++ b/slides/xdebug/happy-15th.xml
@@ -0,0 +1,3 @@
+<slide style="title" background="happy-birthday-text.jpg" background_attr="http://www.publicdomainpictures.net/view-image.php?image=25384&amp;picture=happy-birthday-textului — CC0">
+<title>15th Anniversary!</title>
+</slide>
diff --git a/slides/xdebug/happy-birthday-text.jpg b/slides/xdebug/happy-birthday-text.jpg
new file mode 100644
index 0000000..16c970c
Binary files /dev/null and b/slides/xdebug/happy-birthday-text.jpg differ
diff --git a/slides/xdebug/vld-path-5-wrapup.xml b/slides/xdebug/vld-path-5-wrapup.xml
new file mode 100644
index 0000000..5f4825a
--- /dev/null
+++ b/slides/xdebug/vld-path-5-wrapup.xml
@@ -0,0 +1,10 @@
+<slide>
+<title>Xdebug 2.3: Path/Branch Coverage</title>
+
+<list>
+	<bullet>Powerful way to show which tests you are missing</bullet>
+	<bullet>Hard to visualize</bullet>
+	<bullet>Very slow!</bullet>
+</list>
+
+</slide>
diff --git a/slides/xdebug/xdebug-2.3-stack-trace-limit.xml b/slides/xdebug/xdebug-2.3-stack-trace-limit.xml
new file mode 100644
index 0000000..2943097
--- /dev/null
+++ b/slides/xdebug/xdebug-2.3-stack-trace-limit.xml
@@ -0,0 +1,7 @@
+<slide>
+<title>Xdebug 2.3: Stack Trace Limit</title>
+
+<blurb>%xdebug.max_stack_frames%</blurb>
+<blurb>Controls how many stack frames are being shown</blurb>
+
+</slide>
diff --git a/slides/xdebug/xdebug-2.3-tracing.xml b/slides/xdebug/xdebug-2.3-tracing.xml
new file mode 100644
index 0000000..d5d4980
--- /dev/null
+++ b/slides/xdebug/xdebug-2.3-tracing.xml
@@ -0,0 +1,19 @@
+<slide>
+<title>Xdebug 2.3: Tracing</title>
+
+<blurb>Rendering variables as serialized text:</blurb>
+<blurb>%xdebug.collect_params = 5%</blurb>
+
+<example>
+function result() {}; result("Oh no, what does this say?", 42);
+</example>
+
+<example>
+-> result(czoyNjoiT2ggbm8sIHdoYXQgZG9lcyB0aGlzIHNheT8iOw==, aTo0Mjs=)
+</example>
+
+<break lines="2"/>
+
+<blurb>Shared secret for profiling and tracing with %profiler_enable_trigger_value% and %trace_enable_trigger_value%</blurb>
+
+</slide>
diff --git a/slides/xdebug/xdebug-2.5-new.xml b/slides/xdebug/xdebug-2.5-new.xml
new file mode 100644
index 0000000..659c233
--- /dev/null
+++ b/slides/xdebug/xdebug-2.5-new.xml
@@ -0,0 +1,9 @@
+<slide>
+<title>Xdebug 2.5</title>
+
+<list>
+	<bullet>Support for PHP 7.1</bullet>
+	<bullet>Support for PHP &lt; 5.6 dropped</bullet>
+	<bullet>Debugging: Support for IPv6</bullet>
+</list>
+</slide>
diff --git a/slides/xdebug/xdebug-2.6-new.xml b/slides/xdebug/xdebug-2.6-new.xml
new file mode 100644
index 0000000..9a1b12d
--- /dev/null
+++ b/slides/xdebug/xdebug-2.6-new.xml
@@ -0,0 +1,13 @@
+<slide>
+<title>Xdebug 2.6</title>
+
+<list>
+	<bullet>Support for PHP 7.2
+		<list>
+			<bullet>switch optimisation</bullet>
+		</list>
+	</bullet>
+	<bullet>Support for PHP 5 dropped</bullet>
+	<bullet>Filters: Tracing, Code Coverage</bullet>
+</list>
+</slide>
diff --git a/slides/xdebug/xdebug-2.6-switch.xml b/slides/xdebug/xdebug-2.6-switch.xml
new file mode 100644
index 0000000..9948f09
--- /dev/null
+++ b/slides/xdebug/xdebug-2.6-switch.xml
@@ -0,0 +1,62 @@
+<slide>
+<title>Switch</title>
+
+<example><![CDATA[<?php
+switch ( $a ) {
+    case 1: echo "one"; break;
+    case 2: echo "two"; break;
+    case 3: echo "three"; break;
+    case 4: echo "four"; break;
+    case 5: echo "five"; break;
+    case 6: echo "six"; break;
+}
+]]></example>
+
+<blurb>PHP 7.1</blurb>
+<example>
+compiled vars:  !0 = $a
+line     #* E I O op            return  operands
+--------------------------------------------------
+   3     0  E >   EXT_STMT              
+         1        CASE          ~1      !0, 1
+         2      > JMPNZ                 ~1, ->13
+   5     3    >   CASE          ~1      !0, 2
+         4      > JMPNZ                 ~1, ->17
+   7     5    >   CASE          ~1      !0, 3
+         6      > JMPNZ                 ~1, ->21
+   9     7    >   CASE          ~1      !0, 4
+         8      > JMPNZ                 ~1, ->25
+  11     9    >   CASE          ~1      !0, 5
+        10      > JMPNZ                 ~1, ->29
+  13    11    >   CASE          ~1      !0, 6
+        12      > JMPZNZ                ~1, ->37
+   4    13    >   EXT_STMT              
+        14        ECHO                  'one'
+        15        EXT_STMT              
+  18    16      > RETURN                1
+   6    17    >   EXT_STMT              
+        18        ECHO                  'two'
+        19        EXT_STMT              
+  18    20      > RETURN                1
+   8    21    >   EXT_STMT              
+        22        ECHO                  'three'
+        23        EXT_STMT              
+  18    24      > RETURN                1
+  10    25    >   EXT_STMT              
+        26        ECHO                  'four'
+        27        EXT_STMT              
+  18    28      > RETURN                1
+  12    29    >   EXT_STMT              
+        30        ECHO                  'five'
+        31        EXT_STMT              
+  18    32      > RETURN                1
+  14    33    >   EXT_STMT              
+        34        ECHO                  'six'
+        35        EXT_STMT              
+  18    36      > RETURN                1
+  16    37    >   EXT_STMT              
+        38        ECHO                  'default'
+        39        EXT_STMT              
+  18    40      > RETURN                1
+</example>
+</slide>
diff --git a/slides/xdebug/xdebug-2.6-switch2.xml b/slides/xdebug/xdebug-2.6-switch2.xml
new file mode 100644
index 0000000..2d6cd38
--- /dev/null
+++ b/slides/xdebug/xdebug-2.6-switch2.xml
@@ -0,0 +1,65 @@
+<slide>
+<title>Switch</title>
+
+<example><![CDATA[<?php
+switch ( $a ) {
+    case 1: echo "one"; break;
+    case 2: echo "two"; break;
+    case 3: echo "three"; break;
+    case 4: echo "four"; break;
+    case 5: echo "five"; break;
+    case 6: echo "six"; break;
+}
+]]></example>
+
+<blurb>PHP 7.2</blurb>
+<example>
+compiled vars:  !0 = $a
+line     #* E I O op            return  operands
+--------------------------------------------------
+   2     0  E >   EXT_STMT              
+         1        SWITCH_LONG           !0, [ 1:->15, 2:->19, 3:->23, 4:->27, 5:->31, 6:->35, ], ->39
+   3     2        CASE          ~1      !0, 1
+         3      > JMPNZ                 ~1, ->15
+   5     4    >   CASE          ~1      !0, 2
+         5      > JMPNZ                 ~1, ->19
+   7     6    >   CASE          ~1      !0, 3
+         7      > JMPNZ                 ~1, ->23
+   9     8    >   CASE          ~1      !0, 4
+         9      > JMPNZ                 ~1, ->27
+  11    10    >   CASE          ~1      !0, 5
+        11      > JMPNZ                 ~1, ->31
+  13    12    >   CASE          ~1      !0, 6
+        13      > JMPNZ                 ~1, ->35
+        14    > > JMP                   ->39
+   4    15    >   EXT_STMT              
+        16        ECHO                  'one'
+        17        EXT_STMT              
+        18      > JMP                   ->43
+   6    19    >   EXT_STMT              
+        20        ECHO                  'two'
+        21        EXT_STMT              
+        22      > JMP                   ->43
+   8    23    >   EXT_STMT              
+        24        ECHO                  'three'
+        25        EXT_STMT              
+        26      > JMP                   ->43
+  10    27    >   EXT_STMT              
+        28        ECHO                  'four'
+        29        EXT_STMT              
+        30      > JMP                   ->43
+  12    31    >   EXT_STMT              
+        32        ECHO                  'five'
+        33        EXT_STMT              
+        34      > JMP                   ->43
+  14    35    >   EXT_STMT              
+        36        ECHO                  'six'
+        37        EXT_STMT              
+        38      > JMP                   ->43
+  16    39    >   EXT_STMT              
+        40        ECHO                  'default'
+        41        EXT_STMT              
+        42      > JMP                   ->43
+  18    43    > > RETURN                1
+</example>
+</slide>
diff --git a/xdebug-new-phpsouthcoast17.xml b/xdebug-new-phpsouthcoast17.xml
new file mode 100644
index 0000000..a431280
--- /dev/null
+++ b/xdebug-new-phpsouthcoast17.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<presentation css="10gen-strict.css">
+<topic>Debugging</topic>
+<title>What's New in Xdebug?</title>
+<event>PHP SouthCoast</event>
+<location>Portsmouth, UK</location>
+<date>June 9th, 2017</date>
+<speaker>Derick Rethans</speaker>
+<email>[email protected]</email>
+<twitter>derickr</twitter>
+<url>http://derickrethans.nl/talks.html</url>
+<joindin>https://joind.in/21479</joindin>
+<slide>slides/mongodb/title.xml</slide>
+<slide>slides/mongodb/me.xml</slide>
+
+<slide>slides/xdebug/xdebug-2.3-error-munging.xml</slide>
+<slide>slides/xdebug/xdebug-2.3-new.xml</slide>
+<slide>slides/xdebug/xdebug-2.3-stack-trace-limit.xml</slide>
+<slide>slides/xdebug/xdebug-2.3-tracing.xml</slide>
+
+<slide>slides/xdebug/paths.xml</slide>
+<slide>slides/internals/vld2.xml</slide>
+
+<slide>slides/xdebug/vld-path-2-code.xml</slide>
+<slide>slides/xdebug/vld-path-2-output.xml</slide>
+<slide>slides/xdebug/vld-path-2-paths.xml</slide>
+<!--
+<slide>slides/xdebug/phpdbg.xml</slide>
+<slide>slides/xdebug/phpdbg-demo.xml</slide>
+-->
+<slide>slides/xdebug/vld-path-4-code.xml</slide>
+<slide>slides/xdebug/vld-path-4-output.xml</slide>
+
+<slide>slides/xdebug/vld-path-3-code.xml</slide>
+<slide>slides/xdebug/vld-path-3-output.xml</slide>
+<slide>slides/xdebug/vld-path-3-paths.xml</slide>
+
+<slide>slides/xdebug/vld-path-5-wrapup.xml</slide>
+
+<slide>slides/xdebug/xdebug-2.4-new.xml</slide>
+<slide>slides/xdebug/function-monitor.xml</slide>
+
+<slide>slides/xdebug/xdebug-2.5-new.xml</slide>
+
+<slide>slides/xdebug/happy-15th.xml</slide>
+
+<slide>slides/xdebug/restaurant.xml</slide>
+
+<slide>slides/xdebug/xdebug-2.6-new.xml</slide>
+<slide>slides/xdebug/xdebug-2.6-switch.xml</slide>
+<slide>slides/xdebug/xdebug-2.6-switch2.xml</slide>
+
+<slide>slides/xdebug/resources.xml</slide>
+
+</presentation>