SlideShare a Scribd company logo
1 of 51
Download to read offline
War Stories
Programming in the field of Medieval History
Tara L Andrews (@tla)
Assistant Professor of Digital Humanities, University of Bern
How do we write history?
Matthew of
Edessa
He went through the wars.
And then his text did, too.
Interlude:
A fragile history
package Text::Tradition::Collation::Data;
use Moose;
use Graph;
use Text::Tradition::Datatypes;
has 'sequence' => (
is => 'ro',
isa => 'Graph',
default => sub { Graph->new() },
handles => {
paths => 'edges',
},
);
has 'relations' => (
is => 'ro',
isa => 'Text::Tradition::Collation::RelationshipStore',
handles => {
relationships => 'relationships',
related_readings => 'related_readings',
get_relationship => 'get_relationship',
del_relationship => 'del_relationship',
equivalence => 'equivalence',
equivalence_graph => 'equivalence_graph',
relationship_types => 'types'
},
writer => '_set_relations',
);
package Text::Tradition::Directory;
use strict;
use warnings;
use Moose;
use DBI;
use Encode qw/ encode decode_utf8 /;
use KiokuDB::GC::Naive;
use KiokuDB::TypeMap;
use KiokuDB::TypeMap::Entry::Naive;
use Safe::Isa;
use Text::Tradition::Error;
## users
use KiokuX::User::Util qw(crypt_password);
use Text::Tradition::Store;
use Text::Tradition::User;
use Text::Tradition::TypeMap::Entry;
extends 'KiokuX::Model';
use vars qw/ $VERSION /;
$VERSION = "1.2";
=head1 NAME
Text::Tradition::Directory - a KiokuDB interface for storing and retrieving
traditions and their owners
=head1 SYNOPSIS
[warn] leaked objects:
.--------------------------------------------------------------+----------.
| Class | Count |
+--------------------------------------------------------------+----------+
| Text::Tradition::Collation::Data | 1 |
'--------------------------------------------------------------+----------'
[warn] leaked objects:
.--------------------------------------------------------------+----------.
| Class | Count |
+--------------------------------------------------------------+----------+
| Text::Tradition::Collation::Data | 1 |
'--------------------------------------------------------------+----------'
[warn] leaked objects:
.--------------------------------------------------------------+----------.
| Class | Count |
+--------------------------------------------------------------+----------+
| Text::Tradition::Collation::Data | 6 |
'--------------------------------------------------------------+----------'
[warn] leaked objects:
.--------------------------------------------------------------+----------.
| Class | Count |
+--------------------------------------------------------------+----------+
| Text::Tradition::Collation::Data | 1 |
'--------------------------------------------------------------+----------'
[warn] leaked objects:
.--------------------------------------------------------------+----------.
| Class | Count |
+--------------------------------------------------------------+----------+
| Text::Tradition::Collation::Data | 6 |
'--------------------------------------------------------------+----------'
[error] Caught exception in stemmaweb::Controller::Relation->main "Cannot allocate
memory during fork at /usr/local/share/perl/5.18.2/Text/Tradition/Collation.pm line
976."
Testing. A cute idea.
Mac-c8e0eb150215:base tla$ prove -l t/*.t
t/00dependencies.t .............................. ok
t/01app.t ....................................... ok
t/02pod.t ....................................... ok
t/03podcoverage.t ............................... skipped: set TEST_POD to enable this test
t/text_tradition.t .............................. ok
t/text_tradition_collation.t .................... ok
t/text_tradition_collation_relationshipstore.t .. ok
t/text_tradition_parser_collatex.t .............. ok
t/text_tradition_parser_json.t .................. ok
t/text_tradition_parser_self.t .................. ok
t/text_tradition_parser_tabular.t ............... ok
t/text_tradition_parser_tei.t ................... ok
t/text_tradition_witness.t ...................... ok
All tests successful.
Files=13, Tests=556, 43 wallclock secs ( 0.10 usr 0.03 sys + 40.60 cusr 1.12 csys = 41.85 CPU)
Result: PASS
Digital Humanities tenure submission
Textual criticism
A war of methodology
Interlude #2:
We really have problems.
use strict;
use warnings;
use feature ‘say’;
use WWW::Google::Places;
my $api_key = 's33kr1t';
my $place = WWW::Google::Places->new({ api_key =>
$api_key });
# Google search place
my @results = $place->textsearch({ query => $ARGV[0] });
foreach (reverse @results) {
say "Id : ", $_->place_id;
say "Name : ", $_->name;
say "Types : ", join(", ", @{$_->types});
say "Geometry: ", $_->geometry;
say "Icon : ", $_->icon;
say "Vicinity: ", $_->vicinity;
say "Scope : ", $_->scope;
say "----------------------------------------";
}
----------------------------------------
Id : ChIJsX7lyvNMSIgRVXRTNgaDlb0
Name : Gihon Elementary School
Types : school, point_of_interest, establishment
Geometry: Location: Latitude: 39.234044, Longitude:
-81.552035
Icon : https://maps.gstatic.com/mapfiles/place_api/icons/
generic_business-71.png
Vicinity: N/A
Scope : GOOGLE
----------------------------------------
Id : ChIJRUzmdd7J5YgR0aKaqFXMhLI
Name : Shorstein, Lasnetski, & Gihon
Types : lawyer, point_of_interest, establishment
Geometry: Location: Latitude: 30.254356, Longitude:
-81.627089
Icon : https://maps.gstatic.com/mapfiles/place_api/icons/
generic_business-71.png
Vicinity: N/A
Scope : GOOGLE
----------------------------------------
Id : ChIJYbwjTt06K4gRuKL-IX6oTy0
Name : Gihon Spring Park
Types : park, point_of_interest, establishment
Geometry: Location: Latitude: 43.754475, Longitude:
-79.594406
Icon : https://maps.gstatic.com/mapfiles/place_api/icons/
generic_business-71.png
Vicinity: N/A
Scope : GOOGLE
Art or
engineering?
Skirmishes on the place of
creativity
Thank you!
¡Grácias!

More Related Content

Similar to War stories: Programming in the field of medieval history

Summerization notes for descriptive statistics using r
Summerization notes for descriptive statistics using r Summerization notes for descriptive statistics using r
Summerization notes for descriptive statistics using r Ashwini Mathur
 
Eli plots visualizing innumerable number of correlations
Eli plots   visualizing innumerable number of correlationsEli plots   visualizing innumerable number of correlations
Eli plots visualizing innumerable number of correlationsLeonardo Auslender
 
An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)Dataspora
 
De-Cluttering-ML | TechWeekends
De-Cluttering-ML | TechWeekendsDe-Cluttering-ML | TechWeekends
De-Cluttering-ML | TechWeekendsDSCUSICT
 
Linking data without common identifiers
Linking data without common identifiersLinking data without common identifiers
Linking data without common identifiersLars Marius Garshol
 
Ultra Violet-Visable Spectroscopy Analysis of Spin Coated Substrates
Ultra Violet-Visable Spectroscopy Analysis of Spin Coated SubstratesUltra Violet-Visable Spectroscopy Analysis of Spin Coated Substrates
Ultra Violet-Visable Spectroscopy Analysis of Spin Coated SubstratesNicholas Lauer
 
Data Science Academy Student Demo day--Michael blecher,the importance of clea...
Data Science Academy Student Demo day--Michael blecher,the importance of clea...Data Science Academy Student Demo day--Michael blecher,the importance of clea...
Data Science Academy Student Demo day--Michael blecher,the importance of clea...Vivian S. Zhang
 
Scanned by CamScanner s iO re W . th th e.docx
Scanned by CamScanner s  iO re  W .   th  th e.docxScanned by CamScanner s  iO re  W .   th  th e.docx
Scanned by CamScanner s iO re W . th th e.docxkenjordan97598
 
Statistics for data scientists
Statistics for  data scientistsStatistics for  data scientists
Statistics for data scientistsAjay Ohri
 
Generation_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfGeneration_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfDavid Harrison
 
Data Manipulation with Numpy and Pandas in PythonStarting with N
Data Manipulation with Numpy and Pandas in PythonStarting with NData Manipulation with Numpy and Pandas in PythonStarting with N
Data Manipulation with Numpy and Pandas in PythonStarting with NOllieShoresna
 
An intro to applied multi stat with r by everitt et al
An intro to applied multi stat with r by everitt et alAn intro to applied multi stat with r by everitt et al
An intro to applied multi stat with r by everitt et alRazzaqe
 
An Optimal Approach For Knowledge Protection In Structured Frequent Patterns
An Optimal Approach For Knowledge Protection In Structured Frequent PatternsAn Optimal Approach For Knowledge Protection In Structured Frequent Patterns
An Optimal Approach For Knowledge Protection In Structured Frequent PatternsWaqas Tariq
 
Applied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysisApplied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysisUltraUploader
 
4 Descriptive Statistics with R
4 Descriptive Statistics with R4 Descriptive Statistics with R
4 Descriptive Statistics with RDr Nisha Arora
 
maXbox starter67 machine learning V
maXbox starter67 machine learning VmaXbox starter67 machine learning V
maXbox starter67 machine learning VMax Kleiner
 

Similar to War stories: Programming in the field of medieval history (20)

Summerization notes for descriptive statistics using r
Summerization notes for descriptive statistics using r Summerization notes for descriptive statistics using r
Summerization notes for descriptive statistics using r
 
Eli plots visualizing innumerable number of correlations
Eli plots   visualizing innumerable number of correlationsEli plots   visualizing innumerable number of correlations
Eli plots visualizing innumerable number of correlations
 
An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)
 
De-Cluttering-ML | TechWeekends
De-Cluttering-ML | TechWeekendsDe-Cluttering-ML | TechWeekends
De-Cluttering-ML | TechWeekends
 
Programming Assignment Help
Programming Assignment HelpProgramming Assignment Help
Programming Assignment Help
 
Linking data without common identifiers
Linking data without common identifiersLinking data without common identifiers
Linking data without common identifiers
 
Ultra Violet-Visable Spectroscopy Analysis of Spin Coated Substrates
Ultra Violet-Visable Spectroscopy Analysis of Spin Coated SubstratesUltra Violet-Visable Spectroscopy Analysis of Spin Coated Substrates
Ultra Violet-Visable Spectroscopy Analysis of Spin Coated Substrates
 
Report Cryptography
Report CryptographyReport Cryptography
Report Cryptography
 
Data Science Academy Student Demo day--Michael blecher,the importance of clea...
Data Science Academy Student Demo day--Michael blecher,the importance of clea...Data Science Academy Student Demo day--Michael blecher,the importance of clea...
Data Science Academy Student Demo day--Michael blecher,the importance of clea...
 
Scanned by CamScanner s iO re W . th th e.docx
Scanned by CamScanner s  iO re  W .   th  th e.docxScanned by CamScanner s  iO re  W .   th  th e.docx
Scanned by CamScanner s iO re W . th th e.docx
 
Statistics for data scientists
Statistics for  data scientistsStatistics for  data scientists
Statistics for data scientists
 
Generation_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdfGeneration_XSD_Article - Part 3.pdf
Generation_XSD_Article - Part 3.pdf
 
Data Manipulation with Numpy and Pandas in PythonStarting with N
Data Manipulation with Numpy and Pandas in PythonStarting with NData Manipulation with Numpy and Pandas in PythonStarting with N
Data Manipulation with Numpy and Pandas in PythonStarting with N
 
An intro to applied multi stat with r by everitt et al
An intro to applied multi stat with r by everitt et alAn intro to applied multi stat with r by everitt et al
An intro to applied multi stat with r by everitt et al
 
renato_barros_arantes_article
renato_barros_arantes_articlerenato_barros_arantes_article
renato_barros_arantes_article
 
An Optimal Approach For Knowledge Protection In Structured Frequent Patterns
An Optimal Approach For Knowledge Protection In Structured Frequent PatternsAn Optimal Approach For Knowledge Protection In Structured Frequent Patterns
An Optimal Approach For Knowledge Protection In Structured Frequent Patterns
 
Applied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysisApplied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysis
 
4 Descriptive Statistics with R
4 Descriptive Statistics with R4 Descriptive Statistics with R
4 Descriptive Statistics with R
 
maXbox starter67 machine learning V
maXbox starter67 machine learning VmaXbox starter67 machine learning V
maXbox starter67 machine learning V
 
Statistics lab 1
Statistics lab 1Statistics lab 1
Statistics lab 1
 

Recently uploaded

AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilVinayVitekari
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdfKamal Acharya
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...drmkjayanthikannan
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...jabtakhaidam7
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 

Recently uploaded (20)

AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 

War stories: Programming in the field of medieval history

  • 1. War Stories Programming in the field of Medieval History Tara L Andrews (@tla) Assistant Professor of Digital Humanities, University of Bern
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. How do we write history?
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Matthew of Edessa He went through the wars. And then his text did, too.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 23.
  • 24.
  • 25.
  • 26. package Text::Tradition::Collation::Data; use Moose; use Graph; use Text::Tradition::Datatypes; has 'sequence' => ( is => 'ro', isa => 'Graph', default => sub { Graph->new() }, handles => { paths => 'edges', }, ); has 'relations' => ( is => 'ro', isa => 'Text::Tradition::Collation::RelationshipStore', handles => { relationships => 'relationships', related_readings => 'related_readings', get_relationship => 'get_relationship', del_relationship => 'del_relationship', equivalence => 'equivalence', equivalence_graph => 'equivalence_graph', relationship_types => 'types' }, writer => '_set_relations', );
  • 27.
  • 28. package Text::Tradition::Directory; use strict; use warnings; use Moose; use DBI; use Encode qw/ encode decode_utf8 /; use KiokuDB::GC::Naive; use KiokuDB::TypeMap; use KiokuDB::TypeMap::Entry::Naive; use Safe::Isa; use Text::Tradition::Error; ## users use KiokuX::User::Util qw(crypt_password); use Text::Tradition::Store; use Text::Tradition::User; use Text::Tradition::TypeMap::Entry; extends 'KiokuX::Model'; use vars qw/ $VERSION /; $VERSION = "1.2"; =head1 NAME Text::Tradition::Directory - a KiokuDB interface for storing and retrieving traditions and their owners =head1 SYNOPSIS
  • 29. [warn] leaked objects: .--------------------------------------------------------------+----------. | Class | Count | +--------------------------------------------------------------+----------+ | Text::Tradition::Collation::Data | 1 | '--------------------------------------------------------------+----------' [warn] leaked objects: .--------------------------------------------------------------+----------. | Class | Count | +--------------------------------------------------------------+----------+ | Text::Tradition::Collation::Data | 1 | '--------------------------------------------------------------+----------' [warn] leaked objects: .--------------------------------------------------------------+----------. | Class | Count | +--------------------------------------------------------------+----------+ | Text::Tradition::Collation::Data | 6 | '--------------------------------------------------------------+----------' [warn] leaked objects: .--------------------------------------------------------------+----------. | Class | Count | +--------------------------------------------------------------+----------+ | Text::Tradition::Collation::Data | 1 | '--------------------------------------------------------------+----------' [warn] leaked objects: .--------------------------------------------------------------+----------. | Class | Count | +--------------------------------------------------------------+----------+ | Text::Tradition::Collation::Data | 6 | '--------------------------------------------------------------+----------' [error] Caught exception in stemmaweb::Controller::Relation->main "Cannot allocate memory during fork at /usr/local/share/perl/5.18.2/Text/Tradition/Collation.pm line 976."
  • 30. Testing. A cute idea. Mac-c8e0eb150215:base tla$ prove -l t/*.t t/00dependencies.t .............................. ok t/01app.t ....................................... ok t/02pod.t ....................................... ok t/03podcoverage.t ............................... skipped: set TEST_POD to enable this test t/text_tradition.t .............................. ok t/text_tradition_collation.t .................... ok t/text_tradition_collation_relationshipstore.t .. ok t/text_tradition_parser_collatex.t .............. ok t/text_tradition_parser_json.t .................. ok t/text_tradition_parser_self.t .................. ok t/text_tradition_parser_tabular.t ............... ok t/text_tradition_parser_tei.t ................... ok t/text_tradition_witness.t ...................... ok All tests successful. Files=13, Tests=556, 43 wallclock secs ( 0.10 usr 0.03 sys + 40.60 cusr 1.12 csys = 41.85 CPU) Result: PASS
  • 32.
  • 33. Textual criticism A war of methodology
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. Interlude #2: We really have problems.
  • 42.
  • 43.
  • 44. use strict; use warnings; use feature ‘say’; use WWW::Google::Places; my $api_key = 's33kr1t'; my $place = WWW::Google::Places->new({ api_key => $api_key }); # Google search place my @results = $place->textsearch({ query => $ARGV[0] }); foreach (reverse @results) { say "Id : ", $_->place_id; say "Name : ", $_->name; say "Types : ", join(", ", @{$_->types}); say "Geometry: ", $_->geometry; say "Icon : ", $_->icon; say "Vicinity: ", $_->vicinity; say "Scope : ", $_->scope; say "----------------------------------------"; }
  • 45. ---------------------------------------- Id : ChIJsX7lyvNMSIgRVXRTNgaDlb0 Name : Gihon Elementary School Types : school, point_of_interest, establishment Geometry: Location: Latitude: 39.234044, Longitude: -81.552035 Icon : https://maps.gstatic.com/mapfiles/place_api/icons/ generic_business-71.png Vicinity: N/A Scope : GOOGLE ---------------------------------------- Id : ChIJRUzmdd7J5YgR0aKaqFXMhLI Name : Shorstein, Lasnetski, & Gihon Types : lawyer, point_of_interest, establishment Geometry: Location: Latitude: 30.254356, Longitude: -81.627089 Icon : https://maps.gstatic.com/mapfiles/place_api/icons/ generic_business-71.png Vicinity: N/A Scope : GOOGLE ---------------------------------------- Id : ChIJYbwjTt06K4gRuKL-IX6oTy0 Name : Gihon Spring Park Types : park, point_of_interest, establishment Geometry: Location: Latitude: 43.754475, Longitude: -79.594406 Icon : https://maps.gstatic.com/mapfiles/place_api/icons/ generic_business-71.png Vicinity: N/A Scope : GOOGLE
  • 46.
  • 47. Art or engineering? Skirmishes on the place of creativity
  • 48.
  • 49.
  • 50.