3. The Perl Dev That Was
- between perl 5.10 and perl 5.12, we changed
how the release cycle works
4. The Perl Dev That Was
- between perl 5.10 and perl 5.12, we changed
how the release cycle works
- that was three years ago (!!)
5. The Perl Dev That Was
- between perl 5.10 and perl 5.12, we changed
how the release cycle works
- that was three years ago (!!)
- hopefully this is the last time we need to talk
about the old ways
6. The Old Days
5.9.0 5.9.1 5.9.2
blead
5.8.0 5.8.1 5.8.2
maint
5.10.0
10. The Old Days
- what merits a new dev release?
- when is a new major release done?
11. The Old Days
- what merits a new dev release?
- when is a new major release done?
- what can get backported?
12. The Old Days
- what merits a new dev release?
- when is a new major release done?
- what can get backported?
- i.e., how stable is a stable release?
14. When I say so is when!
- not a terrible idea in theory
15. When I say so is when!
- not a terrible idea in theory
- but in practice, it led to very long waits for
new features to be usable
16. When I say so is when!
- not a terrible idea in theory
- but in practice, it led to very long waits for
new features to be usable
- ...which led to bad designs surviving
44. Minimal Maint
- almost all dev. burden is kept in blead
- the rules about changing maint are strict
45. Minimal Maint
- almost all dev. burden is kept in blead
- the rules about changing maint are strict
- must be critical bug fix
46. Minimal Maint
- almost all dev. burden is kept in blead
- the rules about changing maint are strict
- must be critical bug fix
- (which includes security)
47. Minimal Maint
- almost all dev. burden is kept in blead
- the rules about changing maint are strict
- must be critical bug fix
- (which includes security)
- very effective! in fact, so effective that...
56. What is the Pumpking?
- the patch pumpkin
- the person with the conch
57. What is the Pumpking?
- the patch pumpkin
- the person with the conch
- the benevolent dictator for now
58. What is the Pumpking?
- the patch pumpkin
- the person with the conch
- the benevolent dictator for now
- was: the one who could do everything
59. What is the Pumpking?
- the patch pumpkin
- the person with the conch
- the benevolent dictator for now
- was: the one who could do everything
- now: the one who manages
73. Designing Perl
- So, does that mean that the pumpking is
Perl's designer?
- Only to the extent that the designs he offers
are carried out.
74. Designing Perl
- So, does that mean that the pumpking is
Perl's designer?
- Only to the extent that the designs he offers
are carried out.
- Saying "make it so" depends on having a crew
who will make it so.
75. Designing Perl
- So, does that mean that the pumpking is
Perl's designer?
- Only to the extent that the designs he offers
are carried out.
- Saying "make it so" depends on having a crew
who will make it so.
- Instead, he or she is the decider.
90. Other Lunacy
- "Your patch is nice, but why don't we do
fifteen other things along with it?"
91. Other Lunacy
- "Your patch is nice, but why don't we do
fifteen other things along with it?"
- "There are serious problems with this patch,
too large to fit in the margin of this email."
94. ...and in reality...
- These observations are true.
- So the advice to "lobby in private" seems
promising.
95. ...and in reality...
- These observations are true.
- So the advice to "lobby in private" seems
promising.
- Everybody wants to avoid a long p5p thread
96. ...and in reality...
- These observations are true.
- So the advice to "lobby in private" seems
promising.
- Everybody wants to avoid a long p5p thread
- …because p5p can be a horrible place.
99. U+1F4A9
- In most cases, everything I've just said is true.
- …and also crap.
100. U+1F4A9
- In most cases, everything I've just said is true.
- …and also crap.
- p5p has, in part, a culture of fear
101. U+1F4A9
- In most cases, everything I've just said is true.
- …and also crap.
- p5p has, in part, a culture of fear
- …of endless, horrible argument
112. The Pumpking's Job
- What will I do with all that free time?
- I will try to improve the list's culture.
113. The Pumpking's Job
- What will I do with all that free time?
- I will try to improve the list's culture.
- My promise:
114. The Pumpking's Job
- What will I do with all that free time?
- I will try to improve the list's culture.
- My promise:
- I will call out unreasonable arguments
and, even more, unreasonable behavior.
119. The Final Decision
- sometimes, controversy is unavoidable
- there is no consensus on whether a new
feature is a good idea
120. The Final Decision
- sometimes, controversy is unavoidable
- there is no consensus on whether a new
feature is a good idea
- how can Rik still avoid having to decide?
127. feature
- can the feature be lexically hidden behind
feature.pm?
- (remember, not every feature needs to be in a
version bundle)
128. feature
- can the feature be lexically hidden behind
feature.pm?
- (remember, not every feature needs to be in a
version bundle)
- use experimental
138. The Final Decision
- is the feature small and specific?
- is the feature generic and unsurprising?
139. The Final Decision
- is the feature small and specific?
- is the feature generic and unsurprising?
- is the feature teachable?
140. The Final Decision
- is the feature small and specific?
- is the feature generic and unsurprising?
- is the feature teachable?
- what's the maintenance burden?
141. The Final Decision
- is the feature small and specific?
- is the feature generic and unsurprising?
- is the feature teachable?
- what's the maintenance burden?
- does it feel like it makes Perl more Perlish?
162. Evolution
- seems to have worked pretty well
- except for the billions of required deaths
163. Evolution
- seems to have worked pretty well
- except for the billions of required deaths
- and millions of years
164. Evolution
- seems to have worked pretty well
- except for the billions of required deaths
- and millions of years
- and all those extinct species
165. Evolution
- seems to have worked pretty well
- except for the billions of required deaths
- and millions of years
- and all those extinct species
- and I still ended up with an appendix
169. Intelligent Evolution
- mutations are designed, not random
- then further mutated in captivity
- and possibly slaughtered before reaching the
wild
175. Oops
- so, Rik had to decide something
- and he made the wrong choice
176. Oops
- so, Rik had to decide something
- and he made the wrong choice
- and everybody can tell
177. Oops
- so, Rik had to decide something
- and he made the wrong choice
- and everybody can tell
- and he wants to fix it up so the new
smartassign operator is not legacy
193. Deprecation Cycle
1. (optional) announce in 5.16 delta that we'll
probably deprecate a behavior next time
2. start issuing warnings in 5.18
194. Deprecation Cycle
1. (optional) announce in 5.16 delta that we'll
probably deprecate a behavior next time
2. start issuing warnings in 5.18
3. keep issuing them in 5.20
195. Deprecation Cycle
1. (optional) announce in 5.16 delta that we'll
probably deprecate a behavior next time
2. start issuing warnings in 5.18
3. keep issuing them in 5.20
4. remove the behavior in 5.22
219. casemod escapes
$let = “LN{LATIN CAPITAL LETTER A}”;
# $let is now ‘a’
$let =~ /LN{LATIN CAPITAL LETTER A}/;
220. casemod escapes
$let = “LN{LATIN CAPITAL LETTER A}”;
# $let is now ‘a’
$let =~ /LN{LATIN CAPITAL LETTER A}/;
# fails!!
221. casemod escapes
$let = “LN{LATIN CAPITAL LETTER A}”;
# $let is now ‘a’
$let =~ /LN{LATIN CAPITAL LETTER A}/;
# fails!!
qr<N{LATIN CAPITAL LETTER A}>
222. casemod escapes
$let = “LN{LATIN CAPITAL LETTER A}”;
# $let is now ‘a’
$let =~ /LN{LATIN CAPITAL LETTER A}/;
# fails!!
qr<N{LATIN CAPITAL LETTER A}>
# (?^u:N{U+41})
223. casemod escapes
$let = “LN{LATIN CAPITAL LETTER A}”;
# $let is now ‘a’
$let =~ /LN{LATIN CAPITAL LETTER A}/;
# fails!!
qr<N{LATIN CAPITAL LETTER A}>
# (?^u:N{U+41})
qr<LN{LATIN CAPITAL LETTER A}>
224. casemod escapes
$let = “LN{LATIN CAPITAL LETTER A}”;
# $let is now ‘a’
$let =~ /LN{LATIN CAPITAL LETTER A}/;
# fails!!
qr<N{LATIN CAPITAL LETTER A}>
# (?^u:N{U+41})
qr<LN{LATIN CAPITAL LETTER A}>
# (?^u:n{u+41})
230. The Future of ~~
- deprecate and remove?
- make pluggable with simple replacement?
231. The Future of ~~
- deprecate and remove?
- make pluggable with simple replacement?
- leave as is with giant warning sign?
232. The Future of ~~
- deprecate and remove?
- make pluggable with simple replacement?
- leave as is with giant warning sign?
- and then what about given/when?