SlideShare a Scribd company logo
presented by Ian Kluft
Silicon Valley Perl
April 1, 2021
San Jose, California (online meeting)
#AprilFools Hijinks
April Fools jokes of the Perl community
2
1990: Black Perl, the first Perl April Fools joke
“It has come to my attention that there is a crying need for a place for people to express both
their emotional and technical natures simultaneously. Several people have sent me some items
which don't fit into any newsgroup. Perhaps it's because I recently posted to both
comp.lang.perl and to rec.arts.poems, but people seem to be writing poems in Perl, and they're
asking me where they should post them.”
- Larry Wall, April 1 1990
●
Joking proposal to create a Usenet newsgroup (remember them
from history?) for posting poetry which is parsable by Perl, whether
or not the program does anything useful
3
1997: Perl and Nuclear Weapons Don’t Mix
●
in The Perl Journal, April 1997
●
archive at
http://www.foo.be/docs/tpj/iss
ues/vol2_1/tpj0201-0004.html
●
story about Perl scripts used by
NORAD to generate target lists
●
...and how a US Air Force
civilian programmer working
on intercontinental ballistic
missiles got himself fired
●
fortunately it’s all fiction!
●
grain of truth about subtle
side-effects that coders should
be careful about
4
Reality: Perl and space rockets (1 of 2)
●
1st
successful amateur space launch had a problem:
we found the avionics & nose cone but not the
booster
●
I wrote Perl scripts using Math::Trig that generated
the latitude & longitude coordinates for the search
area for the missing booster stage of the CSXT
Space Shot rocket in 2004
– spanning from 0-100% parachute effectiveness
– 1 mile search area around that arc
●
launched May 17
●
apogee altitude 72 miles / 380,000’
●
avionics/nose cone recovered May 18
●
crashed booster recovered November 26
5
Reality: Perl and space rockets (2 of 2)
●
I was working with data from the CSXT rocket’s
builders
●
One of our tracking team made a high-quality audio
recording which captured the re-entry sonic booms
well enough to tell the booster’s parachute was open
when it went subsonic
●
That narrowed our search area
●
The rocket’s builders estimated coordinates for 0% and
100% parachute effectiveness based on winds aloft
●
They asked me to compute a 1-mile radius search area
around the line
6
Programming Parrot: April Fools 2001
●
Parrot was an April Fools Day
announcement by Simon Cozens
●
It claimed no less than the merger of
the Perl and Python communities
●
It was named for the Monty Python
parrot skit
7
Parrot becomes reality, sort of
●
Parrot Virtual Machine, the original intermediate code of Perl 6
(before it became Raku)
●
It was named after the 2001 Parrot joke
●
It was planned to be the back-end VM for many languages
●
After years of failing to realize performance goals, Perl 6 replaced it
with MoarVM and JVM for its back-end VMs
●
Last release of Parrot was in 2016
8
2001: Acme::Bleach posted to CPAN
●
CPAN module actually works
●
when run, it converts your
program to all whitespace
characters encoded to still run
the same code
●
since it’s whitespace, you can’t
read it any more
●
Oops!
9
2006: Larry replaces $ with € in Perl
●
Except it was spoofed
●
Larry didn’t post it
●
https://www.nntp.perl.org/gro
up/perl.perl6.language/2006/0
4/msg24898.html
●
Supposed internationalization
“fix” for Perl
●
“That’s just a regex after all”
From: Larry Wall
Date: April 1, 2006 15:04
Subject: replacement of $
Message ID: 200604012303.40162.larry@wall.org
Recently I had time to think about the $ symbol we use in Perl.
I think Perl has been using the USD symbol for too long, and
I'm now sure that it's time to replace it. After some research I
came to the conclusion that the best fit is the euro symbol (€).
So, spread the word, Perl 6 will require you to replace all the $
in your scripts with €. That's just a regex after all...
10
Perl in XKCD comics
#1171 Perl Problems
#208 Regular Expressions
11
Perl April Fools jokes summarized at Perl Mongers in 2006
●
“The Lighter Side of Perl Culture (Part VI): April Fools”
https://www.perlmonks.org/?node_id=540609
●
lists more April Fools jokes up to the point of the article in 2006
12
Perl Community #AprilFools Hijinks
Discussion:
What Perl-related April Fools jokes do you remember?

More Related Content

More from Ian Kluft

Command Line Arguments with Getopt::Long
Command Line Arguments with Getopt::LongCommand Line Arguments with Getopt::Long
Command Line Arguments with Getopt::LongIan Kluft
 
Geographic Computation in Perl
Geographic Computation in PerlGeographic Computation in Perl
Geographic Computation in PerlIan Kluft
 
Black Rock Desert Impact Theory
Black Rock Desert Impact TheoryBlack Rock Desert Impact Theory
Black Rock Desert Impact TheoryIan Kluft
 
Exception Handling in Perl
Exception Handling in PerlException Handling in Perl
Exception Handling in PerlIan Kluft
 
Geographic Computation in Perl
Geographic Computation in PerlGeographic Computation in Perl
Geographic Computation in PerlIan Kluft
 
Stratofox Aerospace Tracking Team presentation at Space Access 2013
Stratofox Aerospace Tracking Team presentation at Space Access 2013Stratofox Aerospace Tracking Team presentation at Space Access 2013
Stratofox Aerospace Tracking Team presentation at Space Access 2013Ian Kluft
 
Pacificon 200905
Pacificon 200905Pacificon 200905
Pacificon 200905Ian Kluft
 

More from Ian Kluft (7)

Command Line Arguments with Getopt::Long
Command Line Arguments with Getopt::LongCommand Line Arguments with Getopt::Long
Command Line Arguments with Getopt::Long
 
Geographic Computation in Perl
Geographic Computation in PerlGeographic Computation in Perl
Geographic Computation in Perl
 
Black Rock Desert Impact Theory
Black Rock Desert Impact TheoryBlack Rock Desert Impact Theory
Black Rock Desert Impact Theory
 
Exception Handling in Perl
Exception Handling in PerlException Handling in Perl
Exception Handling in Perl
 
Geographic Computation in Perl
Geographic Computation in PerlGeographic Computation in Perl
Geographic Computation in Perl
 
Stratofox Aerospace Tracking Team presentation at Space Access 2013
Stratofox Aerospace Tracking Team presentation at Space Access 2013Stratofox Aerospace Tracking Team presentation at Space Access 2013
Stratofox Aerospace Tracking Team presentation at Space Access 2013
 
Pacificon 200905
Pacificon 200905Pacificon 200905
Pacificon 200905
 

Recently uploaded

Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxwendy cai
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234AafreenAbuthahir2
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxMd. Shahidul Islam Prodhan
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdfKamal Acharya
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectRased Khan
 
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringKIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringDr. Radhey Shyam
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionjeevanprasad8
 
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamKIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamDr. Radhey Shyam
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdfKamal Acharya
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Pharmacy management system project report..pdf
Pharmacy management system project report..pdfPharmacy management system project report..pdf
Pharmacy management system project report..pdfKamal Acharya
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsAtif Razi
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf884710SadaqatAli
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfPipe Restoration Solutions
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdfKamal Acharya
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationRobbie Edward Sayers
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxCenterEnamel
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.PrashantGoswami42
 
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGKOUSTAV SARKAR
 

Recently uploaded (20)

Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptx
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringKIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data StreamKIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
KIT-601 Lecture Notes-UNIT-3.pdf Mining Data Stream
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdf
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 
Pharmacy management system project report..pdf
Pharmacy management system project report..pdfPharmacy management system project report..pdf
Pharmacy management system project report..pdf
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docxThe Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
The Ultimate Guide to External Floating Roofs for Oil Storage Tanks.docx
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
 

"#AprilFools Hijinks" at SVPerl April 2021 meeting

  • 1. presented by Ian Kluft Silicon Valley Perl April 1, 2021 San Jose, California (online meeting) #AprilFools Hijinks April Fools jokes of the Perl community
  • 2. 2 1990: Black Perl, the first Perl April Fools joke “It has come to my attention that there is a crying need for a place for people to express both their emotional and technical natures simultaneously. Several people have sent me some items which don't fit into any newsgroup. Perhaps it's because I recently posted to both comp.lang.perl and to rec.arts.poems, but people seem to be writing poems in Perl, and they're asking me where they should post them.” - Larry Wall, April 1 1990 ● Joking proposal to create a Usenet newsgroup (remember them from history?) for posting poetry which is parsable by Perl, whether or not the program does anything useful
  • 3. 3 1997: Perl and Nuclear Weapons Don’t Mix ● in The Perl Journal, April 1997 ● archive at http://www.foo.be/docs/tpj/iss ues/vol2_1/tpj0201-0004.html ● story about Perl scripts used by NORAD to generate target lists ● ...and how a US Air Force civilian programmer working on intercontinental ballistic missiles got himself fired ● fortunately it’s all fiction! ● grain of truth about subtle side-effects that coders should be careful about
  • 4. 4 Reality: Perl and space rockets (1 of 2) ● 1st successful amateur space launch had a problem: we found the avionics & nose cone but not the booster ● I wrote Perl scripts using Math::Trig that generated the latitude & longitude coordinates for the search area for the missing booster stage of the CSXT Space Shot rocket in 2004 – spanning from 0-100% parachute effectiveness – 1 mile search area around that arc ● launched May 17 ● apogee altitude 72 miles / 380,000’ ● avionics/nose cone recovered May 18 ● crashed booster recovered November 26
  • 5. 5 Reality: Perl and space rockets (2 of 2) ● I was working with data from the CSXT rocket’s builders ● One of our tracking team made a high-quality audio recording which captured the re-entry sonic booms well enough to tell the booster’s parachute was open when it went subsonic ● That narrowed our search area ● The rocket’s builders estimated coordinates for 0% and 100% parachute effectiveness based on winds aloft ● They asked me to compute a 1-mile radius search area around the line
  • 6. 6 Programming Parrot: April Fools 2001 ● Parrot was an April Fools Day announcement by Simon Cozens ● It claimed no less than the merger of the Perl and Python communities ● It was named for the Monty Python parrot skit
  • 7. 7 Parrot becomes reality, sort of ● Parrot Virtual Machine, the original intermediate code of Perl 6 (before it became Raku) ● It was named after the 2001 Parrot joke ● It was planned to be the back-end VM for many languages ● After years of failing to realize performance goals, Perl 6 replaced it with MoarVM and JVM for its back-end VMs ● Last release of Parrot was in 2016
  • 8. 8 2001: Acme::Bleach posted to CPAN ● CPAN module actually works ● when run, it converts your program to all whitespace characters encoded to still run the same code ● since it’s whitespace, you can’t read it any more ● Oops!
  • 9. 9 2006: Larry replaces $ with € in Perl ● Except it was spoofed ● Larry didn’t post it ● https://www.nntp.perl.org/gro up/perl.perl6.language/2006/0 4/msg24898.html ● Supposed internationalization “fix” for Perl ● “That’s just a regex after all” From: Larry Wall Date: April 1, 2006 15:04 Subject: replacement of $ Message ID: 200604012303.40162.larry@wall.org Recently I had time to think about the $ symbol we use in Perl. I think Perl has been using the USD symbol for too long, and I'm now sure that it's time to replace it. After some research I came to the conclusion that the best fit is the euro symbol (€). So, spread the word, Perl 6 will require you to replace all the $ in your scripts with €. That's just a regex after all...
  • 10. 10 Perl in XKCD comics #1171 Perl Problems #208 Regular Expressions
  • 11. 11 Perl April Fools jokes summarized at Perl Mongers in 2006 ● “The Lighter Side of Perl Culture (Part VI): April Fools” https://www.perlmonks.org/?node_id=540609 ● lists more April Fools jokes up to the point of the article in 2006
  • 12. 12 Perl Community #AprilFools Hijinks Discussion: What Perl-related April Fools jokes do you remember?