Post on 16-Jan-2016
Black Box
Larry Gall -- Peabody Museum of Natural History
… about computing [black boxes]
… about the [black boxes that comprise] EMu
… a black box inspired by Will Real & emuusers.org
… a black box inspired by Will Real & emuusers.org
“ This Bud’s for you, Will ”
“ This Bud’s for you, Will ”
“ This Bud’s for you, Will ”___
^
Moose Head’s
“ This Bud’s for you, Will ”___
^
Moose Head’sBlack Box’s_________
^
Black box nomenclature
Black box nomenclature
Some EMu black boxes
Black box nomenclature
Some EMu black boxes
Will’s Black Box Hack
Black box nomenclature
Some EMu black boxes
Will’s Black Box Hackto be posted on emuusers.org
^
Peabody CollectionsCounts & Functional Cataloguing Unit
• Anthropology 325,000 Lot• Botany 350,000 Individual• Entomology 950,000 Lot / Individual• Invertebrate Paleontology 325,000 Lot• Invertebrate Zoology 325,000 Lot• Mineralogy 35,000 Individual• Paleobotany 150,000 Individual• Scientific Instruments 4,000 Individual• Vertebrate Paleontology 125,000 Individual• Vertebrate Zoology 185,000 Lot / Individual
2.7 million database-able units => ~12 million items
Peabody CollectionsFunctional Units Databased
• Anthropology 325,000 95 % • Botany 350,000 1 %• Entomology 950,000 13 % • Invertebrate Paleontology 325,000 80 % • Invertebrate Zoology 325,000 31 % • Mineralogy 35,000 85 %• Paleobotany 150,000 60 %• Scientific Instruments 4,000 100 %• Vertebrate Paleontology 125,000 60 %• Vertebrate Zoology 185,000 95 %
1,225,000 of 2.7 million => 45 % overall
Black box nomenclature
“A piece of equipmentprovided by a vendor
for the purpose of usingthat vendor’s product.”
Wikipedia.org
“ A black box is any devicewhose inner workingsare not understood or accessible to the user.”
Whatis.com
“A piece of equipmentprovided by a vendor
for the purpose of usingthat vendor’s product.”
Wikipedia.org
“A piece of equipmentprovided by a vendor
for the purpose of usingthat vendor’s product.”
Wikipedia.org
“A piece of equipmentprovided by a vendor
for the purpose of usingthat vendor’s product.”
Wikipedia.org
“ The opposite of a black boxis a system where the inner
components or logic areavailable for inspection.”
Wikipedia.org
“ …sometimes knownas a white box,glass box, or a
clear box.”
Wikipedia.org
EMu code & infrastructure is accessible, hackable, extensible
“ …white box in [that] theprogram code can be seen,but the code is so complexthat it might as well be a
black box.”
Wikipedia.org
EMu code & infrastructure is accessible, hackable, extensible
EMu code & infrastructure is accessible, hackable, extensible also requires coaxing to behave
_________________
^
EMu code & infrastructure is accessible, hackable, extensible also requires coaxing to behave
_________________
^
Black box nomenclature
Black box nomenclature
Some EMu black boxes
Black box nomenclature
Some EMu black boxes
they’re everywhere^
The EMu Registry
The EMu Registry
The EMu Registry
Group Default
Group|Admin|Table|ecatalogue|Column Access| LocCurrentLocation
duQuerydvEditdaReplaceduEdit
Insert Tab Order
{Launch Temp %1} script
The EMu Registry
Like Windows registry,
duQuerydvEditdaReplaceduEdit
The EMu Registry
Like Windows registry, part black box,
duQuerydvEditdaReplaceduEdit
part black art,
The EMu Registry
Like Windows registry, part black box,
duQuerydvEditdaReplaceduEdit
part black art,
The EMu Registry
Like Windows registry, part black box, domain of EMu wizards
part black art,
The EMu Registry
Like Windows registry, part black box, domain of EMu wizards
Bern Marshall
The Taxonomy Module
The Taxonomy Module
The Taxonomy Module
The Taxonomy Module
The Taxonomy Module
The Taxonomy Module
The Taxonomy Module
The Taxonomy Module
Epitome of a black box for KE clients other than the natural history ones…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
and often a colossal black hole for them…
“Almost anything mightoccasionally be referred
to as a black box:
Wikipedia.org
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
Wikipedia.org
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
Wikipedia.org
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
humans,
Wikipedia.org
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
humans,
Wikipedia.org
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
humans,the Internet.”
Wikipedia.org
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
humans,the Internet.”
Wikipedia.orgwww
“Almost anything mightoccasionally be referred
to as a black box: a transistor,
humans,the Internet.”
Wikipedia.orgwww
Rather existentially black boxy…
www
www
www
www
www
Machines + People + Cyberspace
Pfffft !
Pfffft !
Pfffft !
Anakin Skywalker
Anakin Skywalker Seven of Nine
Anakin Skywalker Seven of Nine
Ahhhhhnold
The Ultimate Black Box
NEO
Keanu Reeves
NEO
Keanu Reeves
TRINITY
Carrie-Ann Moss
NEO
Keanu Reeves
TRINITY
Carrie-Ann Moss
MORPHEUS
Laurence Fishburne
AGENT SMITH
Hugo Weaving
AGENT SMITH
Hugo Weaving
AGENT SMITH
Hugo Weaving
There’s more…
XxxxxxxxxxxXEMu
XxxxxxxxxxxXEMu
Black box nomenclature
Some EMu black boxes
Black box nomenclature
Some EMu black boxes
Will’s Black Box Hack
These suggested solutions all work successfully,But involve exiting EMu and operating “elsewhere,”
And do not handle the multiple links/linking issue
Admin Task, calls script, builds Import control file
Admin Task, calls script, builds Import control file
Address Will’s immediate problem, but also offer extensibility
Admin Task, calls script, builds Import control file
Admin Task, calls script, builds Import control file
Build an Excel CSV file to import new images:
Fill columns in spreadsheet as usual (e.g., MulTitle, Multimedia)Identify a catalog field with unique values (e.g., CatFullNumber)Coopt a multimedia field to hold the catalog values (e.g., NotNotes)Fill the coopted column with the corresponding unique catalog values
Admin Task, calls script, builds Import control file
Build an Excel CSV file to import new images:
Fill columns in spreadsheet as usual (e.g., MulTitle, Multimedia)Identify a catalog field with unique values (e.g., CatFullNumber)Coopt a multimedia field to hold the catalog values (e.g., NotNotes)Fill the coopted column with the corresponding unique catalog values
Run the Import Tool
Admin Task, calls script, builds Import control file
Build an Excel CSV file to import new images:
Fill columns in spreadsheet as usual (e.g., MulTitle, Multimedia)Identify a catalog field with unique values (e.g., CatFullNumber)Coopt a multimedia field to hold the catalog values (e.g., NotNotes)Fill the coopted column with the corresponding unique catalog values
Run the Import Tool
Save these freshly imported images into a Group (e.g., MyMatrix)
Run the new MM Linker Admin Task
Admin Task, calls script, builds Import control file
Guts of the new MM Linker script:
Using saved Group, make list (a) of catalog records in coopted column
Admin Task, calls script, builds Import control file
Guts of the new MM Linker script:
Using saved Group, make list (a) of catalog records in coopted column
Affiliate multimedia records in the Group to proper catalog records
Admin Task, calls script, builds Import control file
Guts of the new MM Linker script:
Using saved Group, make list (a) of catalog records in coopted column
Affiliate multimedia records in the Group to proper catalog records
Query the catalog and assemble list (b) of existing linked multimedia
Admin Task, calls script, builds Import control file
Guts of the new MM Linker script:
Using saved Group, make list (a) of catalog records in coopted column
Affiliate multimedia records in the Group to proper catalog records
Query the catalog and assemble list (b) of existing linked multimedia
Merge lists (a) and (b), following preferences the user has specified
Admin Task, calls script, builds Import control file
Guts of the new MM Linker script:
Using saved Group, make list (a) of catalog records in coopted column
Affiliate multimedia records in the Group to proper catalog records
Query the catalog and assemble list (b) of existing linked multimedia
Merge lists (a) and (b), following preferences the user has specified
- If errors, return a text file with brief description
- If not, return an Excel CSV file good to go for import
Admin Task, calls script, builds Import control file
Positional arguments to be passed to MM Linker:
Name of the coopted multimedia field required Name of the unique catalogue field required Name of the multimedia Group required Action for the MM Linker to take optional
Admin Task, calls script, builds Import control file
Positional arguments to be passed to MM Linker:
Name of the coopted multimedia field required Name of the unique catalogue field required Name of the multimedia Group required Action for the MM Linker to take optional
2 = append new images onto the catalog records
Admin Task, calls script, builds Import control file
Positional arguments to be passed to MM Linker:
Name of the coopted multimedia field required Name of the unique catalogue field required Name of the multimedia Group required Action for the MM Linker to take optional
0 = flush existing multimedia from the catalog records 1 = prepend new images onto the catalog records 2 = append new images onto the catalog records 3 = insert the new images after flushing existing ones 4 = just show all existing multimedia (use to make “backups”!) 5 = delete catalog links anywhere for specified multimedia
Admin Task, calls script, builds Import control file
Registry entry = {Launch Temp %1} string
“execute some external script and send it’s output into the file %1”
Registry entry = {Launch Temp %1} string
“execute some external script and send it’s output into the file %1”
string is the gateway into our Black Boxstring consists of the external script name and any arguments
mmlinker MulDescription CatFullNumber [text: prompt] mmlinker MulDescription CatFullNumber mymatrixgroup [text: prompt]
Registry entry = {Launch Temp %1} string
“execute some external script and send it’s output into the file %1”
string is the gateway into our Black Boxstring consists of the external script name and any arguments
mmlinker MulDescription CatFullNumber [text: prompt] mmlinker MulDescription CatFullNumber mymatrixgroup [text: prompt]
emuload status
{Launch Temp %1} labels-ent-new 2 [text:Enter cat. no. or group]
{Launch Temp %1} mmlinker MulDescription CatFullNumber [text:]
Existing Multimedia records
Import the new Multimedia records
Import the new Multimedia records
mmlinker with action=2 (postpend)
mmlinker with action=2 (postpend)
mmlinker with action=5 (selective kill)
mmlinker with action=5 (selective kill)