SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Alpine Perl Workshop 2016 • brian d foy
The Surprisingly Tense
History of the
Schwartzian Transform
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
http://bit.ly/2bHNNx4
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform Randal Schwartz
Just another
hacker.
•troff
•emacs
•Lisp
•Perl
•Smalltalk
•…
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Tom Christiansen
•Languages geek
•Csh god
•Perl evangelist
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
The Technique
Its Expression
The Arguments
Its Name
The Reckoning
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
decorate
sort
undecorate
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
compute
associate
sort
map
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Richard Stallman
•Editor editor
•GNU
•Free Software
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
TECO - Text Editor and Corrector
Emacs - Editing MACroS
EINE - E. Is Not Emacs
ZWEI - Z. Was EINE Initially
GNU Emacs
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Lisp
(defun schwartzian-transform (list costly-function predicate)
(mapcar #'cdr
(stable-sort (mapcar (lambda (x)
(cons (funcall costly-function x) x))
list)
predicate
:key #'car)))
(require :sb-posix)
(schwartzian-transform
(directory "/etc/*")
(lambda (x) (sb-posix:stat-mtime (sb-posix:stat x)))
#'<=)
http://codereview.stackexchange.com/a/138436/13050
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
December 16, 1994
#!/usr/bin/perl
require 5; # new features, new bugs!
print
map { $_->[0] }
sort { $a->[1] cmp $b->[1] }
map { [$_, /(S+)$/] }
<>;
Randal Schwartz in comp.unix.shells
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Unfamiliar
Complex
Undocumented
Hard to learn
Too clever
New
Different
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
OMFG
Awesome
New features
Lists of lists
Power tools
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Not documented
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Easy to learn
Power tools
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
FMTEYEWTK
I'm not ragging on Randal, merely teasing a bit. He's
just trying to be clever, and that's what he does. I'm
just submitting a sample chapter for his perusal for
inclusion the mythical Alpaca Book :-)
Tom Christiansen
Far More Than Everything You've Ever Wanted to Know About Sorting,
http://www.perl.com/doc/FMTEYEWTK/sort.html
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
August 30, 1995
Or for possibly more efficiency, ensure that
the calls only happen once per record, rather than
approximately NlogN times, with the Schwartz
transformation:-)
@keys =
map { $_->[0] }
sort { $a->[1] <=> $b->[1] or $a cmp $b }
map { [ $_, datexform($foo{$_}) ] } keys
%foo;
Bennett Todd in comp.lang.perl.misc
https://groups.google.com/forum/?hl=en#!topic/comp.lang.perl.misc/fLo0RNV8oW8
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
January 1996
http://www.stonehenge.com/merlyn/UnixReview/col06.html
Randal explains map-sort-map in Unix Review
I'm going to talk about some sorts of sorts, and
hopefully you'll sort everything out by the time
you're finished reading. (And no, despite the
similarity to my name, I will not talk about
``random sorts''.)
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
April 1996
Tom labels a benchmark "Schwartzian XFrom" in
comp.lang.perl.misc for “Read directory in
timestamp order?”
https://groups.google.com/d/msg/comp.lang.perl.misc/pw-Hl4byLnc/yzejRnku3RoJ
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
July 1996
https://groups.google.com/d/msg/comp.lang.perl.misc/6NEeX4XJx54/nmpMmReMIbcJ
Colin Howarth in comp.lang.perl.misc
"Schwartzian transform of %$self ... help?"
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
October 1996
Tom posts a draft of perllol
with "Schwartzian Transform"
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
December 1996
https://groups.google.com/d/msg/comp.lang.perl.misc/fPx42DB2jd8/cC_6osV70mMJ
Tom in comp.lang.perl.misc
I'm still pissed at Randal for having posted it,
especially the way he did.
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
I hereby propose that the aforementioned
Lispism, yclept “Schwartzian Transform",
be recast in a less Teutonic albeit darker
light; to wit, "Black Transform", as this
spelling more accurately connotes its
sinister subtleties. :-)
Tom later in the same thread
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
December 1996
I wonder if this chunk of code will
haunt us forever.
Eric Arnold in comp.lang.perl.misc
https://groups.google.com/d/msg/comp.lang.perl.misc/fPx42DB2jd8/CTRmyWyJW6MJ
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
1999
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Orcish Manuever
@sorted = sort {
( $times{$a} ||= -M $a ) <=>
( $times{$b} ||= -M $b )
} @old_array;
Perl 4 compatible version
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
2000
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Python 2.4, 3
sorted = sorted(string_list, key=…)
string_list.sort(key=lambda …)
map(lambda x: x[1],
sorted(
map(lambda x: (f(x), x),
old_list)))
new_list = zip(*
sorted(
zip(map(f, old_list),
old_list)))[1]
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Python 2
tmp2 = [ (int(s[10:15]), s) for s in L ]
tmp2.sort()
Isorted = [ x[1] for x in tmp2 ]
sorted([5, 2, 4, 1, 3], cmp=…)
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
Ruby
[1,1.1,1.2,10].sort_by {|n| n.to_s}
ThePerlReview•www.theperlreview.com
TheSurprisinglyTenseHistoryoftheSchwartzianTransform
•Innsbruck - CC BY 2.0 by Reisender1701 (Flickr)
https://goo.gl/PuILnA
•Randal Schwartz - CC BY-SA 3.0 by Chris Marquardt
https://commons.wikimedia.org/wiki/File:Randal_Schwartz_headshot_by_Chris_Marquardt.png
•Tom Christiansen - CC BY-SA 3.0 by Tim Bray
https://en.wikipedia.org/wiki/File:Tom_Christiansen_in_2008.jpg
•Richard Stallman - CC BY-SA 3.0 by Thesupermat
https://commons.wikimedia.org/wiki/File:Richard_Stallman_-_Fête_de_l%27Humanité_2014_-_010.jpg

Contenu connexe

En vedette

Perl Bag of Tricks - Baltimore Perl mongers
Perl Bag of Tricks  -  Baltimore Perl mongersPerl Bag of Tricks  -  Baltimore Perl mongers
Perl Bag of Tricks - Baltimore Perl mongersbrian d foy
 
Making My Own CPAN
Making My Own CPANMaking My Own CPAN
Making My Own CPANbrian d foy
 
Making My Own CPAN
Making My Own CPANMaking My Own CPAN
Making My Own CPANbrian d foy
 
Friends Don't Let Friends Clap on One and Three: a Backbeat Clapping Study
Friends Don't Let Friends Clap on One and Three: a Backbeat Clapping StudyFriends Don't Let Friends Clap on One and Three: a Backbeat Clapping Study
Friends Don't Let Friends Clap on One and Three: a Backbeat Clapping StudyEthan Hein
 
The Whitespace in the Perl Community
The Whitespace in the Perl CommunityThe Whitespace in the Perl Community
The Whitespace in the Perl Communitybrian d foy
 
Advanced modulinos trial
Advanced modulinos trialAdvanced modulinos trial
Advanced modulinos trialbrian d foy
 
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014brian d foy
 
Perl Conferences for Beginners
Perl Conferences for BeginnersPerl Conferences for Beginners
Perl Conferences for Beginnersbrian d foy
 
Advanced modulinos
Advanced modulinosAdvanced modulinos
Advanced modulinosbrian d foy
 
Parsing JSON with a single regex
Parsing JSON with a single regexParsing JSON with a single regex
Parsing JSON with a single regexbrian d foy
 

En vedette (10)

Perl Bag of Tricks - Baltimore Perl mongers
Perl Bag of Tricks  -  Baltimore Perl mongersPerl Bag of Tricks  -  Baltimore Perl mongers
Perl Bag of Tricks - Baltimore Perl mongers
 
Making My Own CPAN
Making My Own CPANMaking My Own CPAN
Making My Own CPAN
 
Making My Own CPAN
Making My Own CPANMaking My Own CPAN
Making My Own CPAN
 
Friends Don't Let Friends Clap on One and Three: a Backbeat Clapping Study
Friends Don't Let Friends Clap on One and Three: a Backbeat Clapping StudyFriends Don't Let Friends Clap on One and Three: a Backbeat Clapping Study
Friends Don't Let Friends Clap on One and Three: a Backbeat Clapping Study
 
The Whitespace in the Perl Community
The Whitespace in the Perl CommunityThe Whitespace in the Perl Community
The Whitespace in the Perl Community
 
Advanced modulinos trial
Advanced modulinos trialAdvanced modulinos trial
Advanced modulinos trial
 
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
 
Perl Conferences for Beginners
Perl Conferences for BeginnersPerl Conferences for Beginners
Perl Conferences for Beginners
 
Advanced modulinos
Advanced modulinosAdvanced modulinos
Advanced modulinos
 
Parsing JSON with a single regex
Parsing JSON with a single regexParsing JSON with a single regex
Parsing JSON with a single regex
 

Plus de brian d foy

Conferences for Beginners presentation
Conferences for Beginners presentationConferences for Beginners presentation
Conferences for Beginners presentationbrian d foy
 
20 years in Perl
20 years in Perl20 years in Perl
20 years in Perlbrian d foy
 
PrettyDump Perl 6 (London.pm)
PrettyDump Perl 6 (London.pm)PrettyDump Perl 6 (London.pm)
PrettyDump Perl 6 (London.pm)brian d foy
 
Dumping Perl 6 (French Perl Workshop)
Dumping Perl 6 (French Perl Workshop)Dumping Perl 6 (French Perl Workshop)
Dumping Perl 6 (French Perl Workshop)brian d foy
 
Perl v5.26 Features (AmsterdamX.pm)
Perl v5.26 Features (AmsterdamX.pm)Perl v5.26 Features (AmsterdamX.pm)
Perl v5.26 Features (AmsterdamX.pm)brian d foy
 
Dumping Perl 6 (AmsterdamX.pm)
Dumping Perl 6 (AmsterdamX.pm)Dumping Perl 6 (AmsterdamX.pm)
Dumping Perl 6 (AmsterdamX.pm)brian d foy
 
Reverse Installing CPAN
Reverse Installing CPANReverse Installing CPAN
Reverse Installing CPANbrian d foy
 
Backward to DPAN
Backward to DPANBackward to DPAN
Backward to DPANbrian d foy
 
Perl docs {sux|rulez}
Perl docs {sux|rulez}Perl docs {sux|rulez}
Perl docs {sux|rulez}brian d foy
 
What's wrong with the perldocs
What's wrong with the perldocsWhat's wrong with the perldocs
What's wrong with the perldocsbrian d foy
 
Frozen Perl 2011 Keynote
Frozen Perl 2011 KeynoteFrozen Perl 2011 Keynote
Frozen Perl 2011 Keynotebrian d foy
 

Plus de brian d foy (13)

Conferences for Beginners presentation
Conferences for Beginners presentationConferences for Beginners presentation
Conferences for Beginners presentation
 
20 years in Perl
20 years in Perl20 years in Perl
20 years in Perl
 
PrettyDump Perl 6 (London.pm)
PrettyDump Perl 6 (London.pm)PrettyDump Perl 6 (London.pm)
PrettyDump Perl 6 (London.pm)
 
Dumping Perl 6 (French Perl Workshop)
Dumping Perl 6 (French Perl Workshop)Dumping Perl 6 (French Perl Workshop)
Dumping Perl 6 (French Perl Workshop)
 
Perl v5.26 Features (AmsterdamX.pm)
Perl v5.26 Features (AmsterdamX.pm)Perl v5.26 Features (AmsterdamX.pm)
Perl v5.26 Features (AmsterdamX.pm)
 
Dumping Perl 6 (AmsterdamX.pm)
Dumping Perl 6 (AmsterdamX.pm)Dumping Perl 6 (AmsterdamX.pm)
Dumping Perl 6 (AmsterdamX.pm)
 
Reverse Installing CPAN
Reverse Installing CPANReverse Installing CPAN
Reverse Installing CPAN
 
Backward to DPAN
Backward to DPANBackward to DPAN
Backward to DPAN
 
Perl docs {sux|rulez}
Perl docs {sux|rulez}Perl docs {sux|rulez}
Perl docs {sux|rulez}
 
Why I Love CPAN
Why I Love CPANWhy I Love CPAN
Why I Love CPAN
 
What's wrong with the perldocs
What's wrong with the perldocsWhat's wrong with the perldocs
What's wrong with the perldocs
 
Frozen Perl 2011 Keynote
Frozen Perl 2011 KeynoteFrozen Perl 2011 Keynote
Frozen Perl 2011 Keynote
 
brian d foy
brian d foybrian d foy
brian d foy
 

Dernier

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Dernier (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

The Surprisingly Tense History of the Schwartzian Transform