Slide 1

Slide 1 text

Interactive Software Archival wilkie @ wilkieii [email protected] (cc) Transcript: blah/blah/etc

Slide 2

Slide 2 text

Me Computers Make Me So Happy Sometimes

Slide 3

Slide 3 text

Me Computers Make Me So Grumpy Sometimes

Slide 4

Slide 4 text

Systems + OSes Application File System Abstraction Drivers IPC Kernel Software Is Too Complex

Slide 5

Slide 5 text

Systems + Archives Application Figure It Out, Genius Reliable Storage Hardware The Ideal System Is an Archive

Slide 6

Slide 6 text

Archival

Slide 7

Slide 7 text

Artifacts Mona Lisa Rosetta Stone

Slide 8

Slide 8 text

Leaning Tower of Pisa 3.99° of PRESERVED TILT

Slide 9

Slide 9 text

Provenance ● Even if you’ve never heard the word, we developers have created a culture around using provenance. ● Software development is sometimes aptly referred to as a Garbage Fire. ● Bundler, npm, pip, CPAN… etc… all solving the problem of the chaos of development through maintaining a record of where and when and who dependencies come from.

Slide 10

Slide 10 text

Digital Artifacts 0010 1011 0110 Which Lives Longer?

Slide 11

Slide 11 text

Digital Archives

Slide 12

Slide 12 text

HD-Rosetta Disks Rosetta Disk Documentary: scottoller.com/rosetta

Slide 13

Slide 13 text

Software As An Artifact

Slide 14

Slide 14 text

What is Software? < ? >

Slide 15

Slide 15 text

Ada Lovelace ...the Analytical Engine might act upon other things besides numbers… the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. -- "Notes" Section A, 1842

Slide 16

Slide 16 text

Ada Lovelace … scientific pieces of music of any degree of complexity or extent.

Slide 17

Slide 17 text

Code as Art

Slide 18

Slide 18 text

Software Piracy Becomes Art

Slide 19

Slide 19 text

Demoscene Second Reality by FUTURE CREW

Slide 20

Slide 20 text

Software as an Artifact Is software preserved if it cannot be executed?

Slide 21

Slide 21 text

The Internet Archive https://archive.org

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

نب نسحلا ،يلع وبأ مثيهلا نب نسحلا Abū Alī al- asan ibn ʿ Ḥ al- asan ibn al-Haytham Ḥ c. 965 – c. 1040 CE

Slide 24

Slide 24 text

Scientific Method Form a Question Propose Hypothesis Predict Outcome Test Analysis Record, Reflect, Repeat

Slide 25

Slide 25 text

Repeatablilty Running the same experiment

Slide 26

Slide 26 text

Reproducibility Running the same experiment but altering the conditions

Slide 27

Slide 27 text

Science + Software Is science reproducible if you can't run the code?

Slide 28

Slide 28 text

Sorry... Pessimistic CS Statistics Reproducibility Rate 32% Of Scientists Believe Slight/Significant Reproducibility Crisis 90%

Slide 29

Slide 29 text

Dang it Code Publicly Available 35% Asked and received code 22% Asked but told NO 36% Asked but no response 7%

Slide 30

Slide 30 text

That’s a Little Better Got it to Build: <30 minutes 58% Got it to Build: >30 minutes 28% Couldn't build it; told it should 10% Couldn't build it; told it sucks 4%

Slide 31

Slide 31 text

Excuses “ Student graduated; Nobody knows how it works ”

Slide 32

Slide 32 text

Science is an Interactive Narrative

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Solution: Archival

Slide 35

Slide 35 text

Interactive Archival

Slide 36

Slide 36 text

Solution: Virtualization “Not a Graveyard” – Erika Linke and Dan Ryan introducing the concept of Olive and executable archives.

Slide 37

Slide 37 text

Olive Archive CMU (Pittsburgh!) QEMU+KVM Emulation On Top olivearchive.org

Slide 38

Slide 38 text

VmNetX: Internet Suspend/Resume Virtual Machine Network eXecution; GPLv2 VM Archive Your Computer Executes VM Stream VM (HTTP)

Slide 39

Slide 39 text

bwFLA University of Freiburg

Slide 40

Slide 40 text

bwFLA VM Archive Your Computer Sees Video Stream Stream Video (SPICE, etc)

Slide 41

Slide 41 text

http://bw-fla.uni-freiburg.de/demo-cloud.html

Slide 42

Slide 42 text

Olive/bwFLA: Drawbacks Inflexible What if VM tech is obsoleted?

Slide 43

Slide 43 text

Solution: Satisfaction Application Figure It Out, Genius Reliable Storage Hardware

Slide 44

Slide 44 text

Ex: Commander Keen Reliable Storage Hardware 1991

Slide 45

Slide 45 text

Native DOS -> Impractical Figure It Out, Genius Reliable Storage Hardware 2016

Slide 46

Slide 46 text

DOSBox Hardware

Slide 47

Slide 47 text

Decide How To Run Hardware

Slide 48

Slide 48 text

University of Pittsburgh https://occam.software

Slide 49

Slide 49 text

React To The Future x86-64 Javascript

Slide 50

Slide 50 text

Javascript Emulation Reliable Storage Browser

Slide 51

Slide 51 text

Adaptable (NES, SNES, etc) x86-64 Javascript XNES OR

Slide 52

Slide 52 text

Scientific Workflows

Slide 53

Slide 53 text

Active Curation Image Filter

Slide 54

Slide 54 text

Lessons Think about how the heck your code works in the future

Slide 55

Slide 55 text

AND HAVE FUN! http://wilkie.io /abstractions