Slide 1

Slide 1 text

Don’t believe everything you learn @mheap at #phpsc17

Slide 2

Slide 2 text

Things we believe are true

Slide 3

Slide 3 text

Things we believe are true But they’re not

Slide 4

Slide 4 text

Falsehoods programmers believe about X

Slide 5

Slide 5 text

Michael

Slide 6

Slide 6 text

Time

Slide 7

Slide 7 text

@mheap The number of days in every month starts with a 3, so either 30 or 31?

Slide 8

Slide 8 text

@mheap The number of days in every month starts with a 3, so either 30 or 31? February has 28

Slide 9

Slide 9 text

#phpsc17 Each month always has the same number of days every year though?

Slide 10

Slide 10 text

#phpsc17 Each month always has the same number of days every year though? February has 29 in leap years

Slide 11

Slide 11 text

@mheap But we can calculate leap years. They’re every four years

Slide 12

Slide 12 text

@mheap But we can calculate leap years. They’re every four years Unless it’s divisible by 100

Slide 13

Slide 13 text

#phpsc17 But we can calculate leap years. They’re every four years (Unless it’s divisible by 100)

Slide 14

Slide 14 text

#phpsc17 But we can calculate leap years. They’re every four years (Unless it’s divisible by 100) If it divides by 100 and 400, it is a leap year

Slide 15

Slide 15 text

@mheap But that rule holds all the time

Slide 16

Slide 16 text

@mheap But that rule holds all the time Unless you’re Sweden

Slide 17

Slide 17 text

#phpsc17 February is 28 or 29 days February the 30th doesn’t exist

Slide 18

Slide 18 text

#phpsc17 February is 28 or 29 days February the 30th doesn’t exist Unless you’re Sweden

Slide 19

Slide 19 text

#phpsc17 February is 28 or 29 days February the 30th doesn’t exist

Slide 20

Slide 20 text

#phpsc17 February is 28 or 29 days February the 30th doesn’t exist Or the Soviet Union

Slide 21

Slide 21 text

@mheap A month starts and ends in the same year

Slide 22

Slide 22 text

@mheap A month starts and ends in the same year Not in ancient Rome

Slide 23

Slide 23 text

@mheap A month starts and ends in the same year

Slide 24

Slide 24 text

@mheap A month starts and ends in the same year Or a modern Ethiopia

Slide 25

Slide 25 text

#phpsc17 Excluding DST, time always goes forwards

Slide 26

Slide 26 text

#phpsc17 Excluding DST, time always goes forwards Shanghai, 1927 1927-12-31 23:54:08 happened twice

Slide 27

Slide 27 text

Modern Time

Slide 28

Slide 28 text

@mheap The day before Saturday is always Friday

Slide 29

Slide 29 text

@mheap The day before Saturday is always Friday Samoa, 2011

Slide 30

Slide 30 text

#phpsc17 The offsets between two timezones will always be the same

Slide 31

Slide 31 text

#phpsc17 The offsets between two timezones will always be the same 10 changes in 2016 2 changes so far in 2017

Slide 32

Slide 32 text

@mheap Timezones are always +/- an integer number of hours

Slide 33

Slide 33 text

@mheap Timezones are always +/- an integer number of hours Afghanistan, +04:30 New Zealand (Chatham Islands), +12:45

Slide 34

Slide 34 text

#phpsc17 15 minutes is safe though?

Slide 35

Slide 35 text

#phpsc17 15 minutes is safe though? UTC-00:25:21 - Dublin Mean Time

Slide 36

Slide 36 text

@mheap If they do change, there’ll be plenty of notice

Slide 37

Slide 37 text

@mheap If they do change, there’ll be plenty of notice North Korea, 2015 8 days notice of a 30 minute change

Slide 38

Slide 38 text

Audience Participation

Slide 39

Slide 39 text

@mheap There are always 24 hours in a day

Slide 40

Slide 40 text

@mheap There are always 24 hours in a day Daylight Savings Time Means 23 or 25 hours in a day

Slide 41

Slide 41 text

#phpsc17 Is the time 23:59:60 invalid?

Slide 42

Slide 42 text

#phpsc17 Is the time 23:59:60 invalid? Leap seconds A minute can have 61 seconds

Slide 43

Slide 43 text

Names HELLO , M Y N AM E IS

Slide 44

Slide 44 text

@mheap A child will have the same surname as either their mother or father (or both)

Slide 45

Slide 45 text

@mheap A child will have the same surname as either their mother or father (or both) Not in Iceland

Slide 46

Slide 46 text

#phpsc17 People have at least 2 names

Slide 47

Slide 47 text

#phpsc17 People have at least 2 names Teller (of Penn & Teller fame) Akihito (Emperor of Japan)

Slide 48

Slide 48 text

@mheap People’s names do not contain numbers

Slide 49

Slide 49 text

@mheap People’s names do not contain numbers John 5

Slide 50

Slide 50 text

#phpsc17 People’s names do not contain numbers

Slide 51

Slide 51 text

#phpsc17 People’s names do not contain numbers K8lyn? (Kaitlyn)

Slide 52

Slide 52 text

#phpsc17 People’s names do not contain numbers

Slide 53

Slide 53 text

#phpsc17 People’s names do not contain numbers KVIIIlyn

Slide 54

Slide 54 text

@mheap For every rule, there are guaranteed to be exceptions

Slide 55

Slide 55 text

@mheap For every rule, there are guaranteed to be exceptions No spaces Van Buren

Slide 56

Slide 56 text

@mheap For every rule, there are guaranteed to be exceptions

Slide 57

Slide 57 text

@mheap For every rule, there are guaranteed to be exceptions Only letters O’Reilly

Slide 58

Slide 58 text

@mheap For every rule, there are guaranteed to be exceptions

Slide 59

Slide 59 text

@mheap For every rule, there are guaranteed to be exceptions One capital letter McDonald

Slide 60

Slide 60 text

Audience Participation HELLO , M Y N AM E IS

Slide 61

Slide 61 text

@mheap A name must contain one or more alphanumeric characters

Slide 62

Slide 62 text

@mheap A name must contain one or more alphanumeric characters ⽑毛泽东

Slide 63

Slide 63 text

#phpsc17 A name must contain one or more unicode characters

Slide 64

Slide 64 text

#phpsc17 A name must contain one or more unicode characters

Slide 65

Slide 65 text

@mheap I can safely assume that this list of bad words has no names in it

Slide 66

Slide 66 text

@mheap I can safely assume that this list of bad words has no names in it Ever been to Middlesex?

Slide 67

Slide 67 text

@mheap I can safely assume that this list of bad words has no names in it

Slide 68

Slide 68 text

@mheap I can safely assume that this list of bad words has no names in it Eaten shittake mushrooms?

Slide 69

Slide 69 text

@mheap I can safely assume that this list of bad words has no names in it

Slide 70

Slide 70 text

@mheap I can safely assume that this list of bad words has no names in it Been named Craig Cockburn?

Slide 71

Slide 71 text

@mheap I can safely assume that this list of bad words has no names in it

Slide 72

Slide 72 text

@mheap I can safely assume that this list of bad words has no names in it Linda Callahan?

Slide 73

Slide 73 text

@mheap I can safely assume that this list of bad words has no names in it

Slide 74

Slide 74 text

#phpsc17 What about less obvious ones?

Slide 75

Slide 75 text

#phpsc17 What about less obvious ones? Super Bowl XXX

Slide 76

Slide 76 text

@mheap Did you hear about planning permission emails bouncing?

Slide 77

Slide 77 text

@mheap Did you hear about planning permission emails bouncing? Erection of a structure

Slide 78

Slide 78 text

#phpsc17 The sad story of

Slide 79

Slide 79 text

#phpsc17 The sad story of Christopher Null

Slide 80

Slide 80 text

Addresses

Slide 81

Slide 81 text

#phpsc17 A building number is numeric

Slide 82

Slide 82 text

#phpsc17 A building number is numeric 1A Egmont Road, Middlesbrough, TS4 2HT

Slide 83

Slide 83 text

@mheap No buildings are numbered zero

Slide 84

Slide 84 text

@mheap No buildings are numbered zero 0 Egmont Road, Middlesbrough, TS4 2HT

Slide 85

Slide 85 text

#phpsc17 If the addresses on the left are even, addresses on the right must be odd

Slide 86

Slide 86 text

#phpsc17 If the addresses on the left are even, addresses on the right must be odd Seine-Saint-Denis, France Even numbers on both sides, no odds

Slide 87

Slide 87 text

@mheap You can omit leading zeros

Slide 88

Slide 88 text

@mheap You can omit leading zeros 101 Alma St, Palo Alto Apartments 1 and 001 on different floors.

Slide 89

Slide 89 text

#phpsc17 A street name won't include a number

Slide 90

Slide 90 text

#phpsc17 A street name won't include a number 8 Seven Gardens Burgh, Woodbridge, IP13 6SU

Slide 91

Slide 91 text

@mheap You wouldn’t name a town Street

Slide 92

Slide 92 text

@mheap You wouldn’t name a town Street Street, Somerset, UK

Slide 93

Slide 93 text

#phpsc17 You can’t have two towns/cities with the same name in a country

Slide 94

Slide 94 text

#phpsc17 You can’t have two towns/cities with the same name in a country The UK has three places named Newport

Slide 95

Slide 95 text

@mheap Those cities don’t have duplicate street names

Slide 96

Slide 96 text

@mheap Those cities don’t have duplicate street names 10 High Street, Newport, PO30 1SS 10 High Street, Newport, NP20 1FQ 10 High Street, Newport, TF10 7AN

Slide 97

Slide 97 text

#phpsc17 Street names will be reasonably short

Slide 98

Slide 98 text

#phpsc17 Street names will be reasonably short Aleja Alije Izetbegovića Prvig Predsjednika Predsjedništva Republika Bosna i Hercegovina

Slide 99

Slide 99 text

@mheap A building has a single postcode

Slide 100

Slide 100 text

@mheap A building has a single postcode DVLA Swansea: V5Cs are processed at SA99 1BA, Driving licences at SA99 1AB

Slide 101

Slide 101 text

#phpsc17 Addresses are a fixed point in space

Slide 102

Slide 102 text

#phpsc17 Addresses are a fixed point in space BF1 4FB

Slide 103

Slide 103 text

@mheap Concrete buildings are a fixed point in space

Slide 104

Slide 104 text

@mheap Concrete buildings are a fixed point in space In Zürich, a 6200 ton building was moved by 60 meters to make way for railway tracks

Slide 105

Slide 105 text

Audience Participation

Slide 106

Slide 106 text

#phpsc17 Do all countries have a capital city?

Slide 107

Slide 107 text

#phpsc17 Do all countries have a capital city? Switzerland does not. The government is currently in Bern, but the city is not the capital

Slide 108

Slide 108 text

Commerce

Slide 109

Slide 109 text

#phpsc17 A product has one price

Slide 110

Slide 110 text

#phpsc17 A product has one price Price with tax, price without tax, sale price, list price, minimum price

Slide 111

Slide 111 text

@mheap A product has a price

Slide 112

Slide 112 text

@mheap A product has a price Products sold on auction sites do not have a price until it’s sold

Slide 113

Slide 113 text

#phpsc17 Currencies symbols uniquely identify a currency

Slide 114

Slide 114 text

#phpsc17 Currencies symbols uniquely identify a currency The peso and dollar sign $ is used by many countries

Slide 115

Slide 115 text

@mheap Currencies have a unicode symbol that represents them

Slide 116

Slide 116 text

@mheap Currencies have a unicode symbol that represents them The Swiss franc does not Until 2010, neither did the Indian rupee

Slide 117

Slide 117 text

#phpsc17 Currencies symbols uniquely identify a currency

Slide 118

Slide 118 text

#phpsc17 Currencies symbols uniquely identify a currency The peso and dollar sign $ is used by many countries

Slide 119

Slide 119 text

Audience Participation

Slide 120

Slide 120 text

@mheap Locale doesn’t matter for currency

Slide 121

Slide 121 text

@mheap Locale doesn’t matter for currency 1.000

Slide 122

Slide 122 text

#phpsc17 The currency symbol always precedes the amount e.g. £1.50

Slide 123

Slide 123 text

#phpsc17 The currency symbol always precedes the amount e.g. £1.50 1.50€ in Spain

Slide 124

Slide 124 text

@mheap The currency symbol always precedes or follows the amount

Slide 125

Slide 125 text

@mheap The currency symbol always precedes or follows the amount 1€50 in France

Slide 126

Slide 126 text

Computers

Slide 127

Slide 127 text

The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn't change. There is one administrator. Transport cost is zero. The network is homogeneous.

Slide 128

Slide 128 text

(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000- \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\ ["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?: \r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\ [([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?: \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)? [ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?: (?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\ [\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?: (?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)? [ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\". \[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\ [\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\] (?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\ [\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?: \r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?: \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)? [ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\ \".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)? [ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\ \".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z| (?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\ \.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)? (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000- \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+| \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\ \.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*)

Slide 129

Slide 129 text

In summary

Slide 130

Slide 130 text

In summary Computers are hard

Slide 131

Slide 131 text

In summary

Slide 132

Slide 132 text

In summary Humans make assumptions

Slide 133

Slide 133 text

In summary

Slide 134

Slide 134 text

In summary Things are never as simple as they seem

Slide 135

Slide 135 text

@mheap https://joind.in/21483