Local-First Software:You Own Your Data, in Spite of the Cloud

Total Page:16

File Type:pdf, Size:1020Kb

Local-First Software:You Own Your Data, in Spite of the Cloud Local-First Software: You Own Your Data, in spite of the Cloud Martin Kleppmann Adam Wiggins Department of Computer Science and Technology Ink & Switch University of Cambridge Berlin, Germany Cambridge, United Kingdom [email protected] [email protected] Peter van Hardenberg Mark McGranaghan Ink & Switch Ink & Switch San Francisco, CA, USA Seattle, WA, USA [email protected] [email protected] Abstract challenges for this new data model. Lastly, we suggest some Cloud apps like Google Docs and Trello are popular because next steps for moving towards local-first software: for re- they enable real-time collaboration with colleagues, and they searchers, for app developers, and a startup opportunity for make it easy for us to access our work from all of our devices. entrepreneurs. However, by centralizing data storage on servers, cloud apps CCS Concepts • Human-centered computing → Col- also take away ownership and agency from users. If a service laborative content creation; Ubiquitous and mobile com- shuts down, the software stops functioning, and data created puting systems and tools; • Computer systems organiza- with that software is lost. tion → Peer-to-peer architectures; • Software and its engi- In this article we propose local-first software, a set of prin- neering → Peer-to-peer architectures; Organizing principles ciples for software that enables both collaboration and own- for web applications. ership for users. Local-first ideals include the ability to work offline and collaborate across multiple devices, while also Keywords collaboration software, mobile computing, data improving the security, privacy, long-term preservation, and ownership, CRDTs, peer-to-peer communication user control of data. We survey existing approaches to data storage and sharing, ACM Reference Format: ranging from email attachments to web apps to Firebase- Martin Kleppmann, Adam Wiggins, Peter van Hardenberg, and Mark backed mobile apps, and we examine the trade-offs of each. McGranaghan. 2019. Local-First Software: You Own Your Data, in spite of the Cloud. In Proceedings of the 2019 ACM SIGPLAN In- We look at Conflict-free Replicated Data Types (CRDTs): ternational Symposium on New Ideas, New Paradigms, and Reflec- data structures that are multi-user from the ground up while tions on Programming and Software (Onward! ’19), October 23–24, also being fundamentally local and private. CRDTs have 2019, Athens, Greece. ACM, New York, NY, USA, 25 pages. https: the potential to be a foundational technology for realizing //doi.org/10.1145/3359591.3359737 local-first software. We share some of our findings from developing local-first software prototypes at the Ink & Switch research lab over 1 Motivation: Collaboration and the course of several years. These experiments test the via- Ownership bility of CRDTs in practice, and explore the user interface It’s amazing how easily we can collaborate online nowadays. We use Google Docs to collaborate on documents, spread- Permission to make digital or hard copies of all or part of this work for sheets and presentations; in Figma we work together on user personal or classroom use is granted without fee provided that copies interface designs; we communicate with colleagues using are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights Slack; we track tasks in Trello; and so on. We depend on for components of this work owned by others than the author(s) must these and many other online services, e.g. for taking notes, be honored. Abstracting with credit is permitted. To copy otherwise, or planning projects or events, remembering contacts, and a republish, to post on servers or to redistribute to lists, requires prior specific whole raft of business uses. permission and/or a fee. Request permissions from [email protected]. We will call these services “cloud apps,” but you could Onward! ’19, October 23–24, 2019, Athens, Greece just as well call them “Software as a Service” (SaaS) or “web- © 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM. based apps.” What they have in common is that we typically ACM ISBN 978-1-4503-6995-4/19/10...$15.00 access them through a web browser or through mobile apps, https://doi.org/10.1145/3359591.3359737 and that they store their data on a server. 154 Onward! ’19, October 23–24, 2019, Athens, Greece Martin Kleppmann, Adam Wiggins, Peter van Hardenberg, and Mark McGranaghan Today’s cloud apps offer big benefits compared to earlier software packages such as graphics applications or CAD generations of software: seamless collaboration, and being software fall in this category.3 able to access data from any device. As we run more and In old-fashioned apps, the data lives in files on your local more of our lives and work through these cloud apps, they disk, so you have full agency and ownership of that data: become more and more critical to us. The more time we you can do anything you like, including long-term archiv- invest in using one of these apps, the more valuable the data ing, making backups, manipulating the files using other pro- in it becomes to us. grams, or deleting the files if you no longer want them. You However, in our research we have spoken to a lot of cre- don’t need anybody’s permission to access your files, since ative professionals,1 and in that process we have also learned they are yours. You don’t have to depend on servers operated about the downsides of cloud apps. by another company. When you have put a lot of creative energy and effort To sum up: the cloud gives us collaboration, but old-fash- into making something, you tend to have a deep emotional ioned apps give us ownership. Can’t we have the best of both attachment to it. If you do creative work, this probably seems worlds? We would like both the convenient cross-device familiar. (When we say “creative work,” we mean not just access and real-time collaboration provided by cloud apps, visual art, or music, or poetry — many other activities, such and also the personal ownership of your own data embodied as explaining a technical topic, implementing an intricate by “old-fashioned” software. algorithm, designing a user interface, or figuring out how to lead a team towards some goal are also creative efforts.) 2 Seven Ideals for Local-first Software In the process of performing that creative work, you typi- We believe that data ownership and real-time collaboration cally produce files and data: documents, presentations, spread- are not at odds with each other. It is possible to create soft- sheets, code, notes, drawings, and so on. And you will want ware that has all the advantages of cloud apps, while also to keep that data: for reference and inspiration in the future, allowing you to retain full ownership of the data, documents to include it in a portfolio, or simply to archive because you and files you create. feel proud of it. It is important to feel ownership of that data, We call this type of software local-first software, since it because the creative expression is something so personal. prioritizes the use of local storage (the disk built into your Unfortunately, cloud apps are problematic in this regard. computer) and local networks (such as your home WiFi) over Although they let you access your data anywhere, all data servers in remote datacenters. access must go via the server, and you can only do the things In cloud apps, the data on the server is treated as the that the server will let you do. In a sense, you don’t have full primary, authoritative copy of the data; if a client has a copy 2 ownership of that data — the cloud provider does. In the of the data, it is merely a cache that is subordinate to the words of a bumper sticker [132]: “There is no cloud, it’s just server. Any data modification must be sent to the server, someone else’s computer.” otherwise it “didn’t happen.” In local-first applications we When data is stored on “someone else’s computer”, that swap these roles: we treat the copy of the data on your local third party assumes a degree of control over that data. Cloud device — your laptop, tablet, or phone — as the primary copy. apps are provided as a service; if the service is unavailable, Servers still exist, but they hold secondary copies of your you cannot use the software, and you can no longer access data in order to assist with access from multiple devices. your data created with that software. If the service shuts As we shall see, this change in perspective has profound down, even though you might be able to export your data, implications. without the servers there is normally no way for you to Here are seven ideals to strive for in local-first software. continue running your own copy of that software. Thus, you are at the mercy of the company providing the service. 2.1 No Spinners: Your Work at Your Fingertips Before web apps came along, we had what we might call Much of today’s software feels slower than previous gen- “old-fashioned” apps: programs running on your local com- erations of software [91]. Even though CPUs have become puter, reading and writing files on the local disk. We still use ever faster, there is often a perceptible delay between some a lot of applications of this type today: text editors and IDEs, user input (e.g. clicking a button, or hitting a key) and the Git and other version control systems, and many specialized corresponding result appearing on the display.
Recommended publications
  • An Overview of the 50 Most Common Web Scraping Tools
    AN OVERVIEW OF THE 50 MOST COMMON WEB SCRAPING TOOLS WEB SCRAPING IS THE PROCESS OF USING BOTS TO EXTRACT CONTENT AND DATA FROM A WEBSITE. UNLIKE SCREEN SCRAPING, WHICH ONLY COPIES PIXELS DISPLAYED ON SCREEN, WEB SCRAPING EXTRACTS UNDERLYING CODE — AND WITH IT, STORED DATA — AND OUTPUTS THAT INFORMATION INTO A DESIGNATED FILE FORMAT. While legitimate uses cases exist for data harvesting, illegal purposes exist as well, including undercutting prices and theft of copyrighted content. Understanding web scraping bots starts with understanding the diverse and assorted array of web scraping tools and existing platforms. Following is a high-level overview of the 50 most common web scraping tools and platforms currently available. PAGE 1 50 OF THE MOST COMMON WEB SCRAPING TOOLS NAME DESCRIPTION 1 Apache Nutch Apache Nutch is an extensible and scalable open-source web crawler software project. A-Parser is a multithreaded parser of search engines, site assessment services, keywords 2 A-Parser and content. 3 Apify Apify is a Node.js library similar to Scrapy and can be used for scraping libraries in JavaScript. Artoo.js provides script that can be run from your browser’s bookmark bar to scrape a website 4 Artoo.js and return the data in JSON format. Blockspring lets users build visualizations from the most innovative blocks developed 5 Blockspring by engineers within your organization. BotScraper is a tool for advanced web scraping and data extraction services that helps 6 BotScraper organizations from small and medium-sized businesses. Cheerio is a library that parses HTML and XML documents and allows use of jQuery syntax while 7 Cheerio working with the downloaded data.
    [Show full text]
  • Data and Computer Communications (Eighth Edition)
    DATA AND COMPUTER COMMUNICATIONS Eighth Edition William Stallings Upper Saddle River, New Jersey 07458 Library of Congress Cataloging-in-Publication Data on File Vice President and Editorial Director, ECS: Art Editor: Gregory Dulles Marcia J. Horton Director, Image Resource Center: Melinda Reo Executive Editor: Tracy Dunkelberger Manager, Rights and Permissions: Zina Arabia Assistant Editor: Carole Snyder Manager,Visual Research: Beth Brenzel Editorial Assistant: Christianna Lee Manager, Cover Visual Research and Permissions: Executive Managing Editor: Vince O’Brien Karen Sanatar Managing Editor: Camille Trentacoste Manufacturing Manager, ESM: Alexis Heydt-Long Production Editor: Rose Kernan Manufacturing Buyer: Lisa McDowell Director of Creative Services: Paul Belfanti Executive Marketing Manager: Robin O’Brien Creative Director: Juan Lopez Marketing Assistant: Mack Patterson Cover Designer: Bruce Kenselaar Managing Editor,AV Management and Production: Patricia Burns ©2007 Pearson Education, Inc. Pearson Prentice Hall Pearson Education, Inc. Upper Saddle River, NJ 07458 All rights reserved. No part of this book may be reproduced in any form or by any means, without permission in writing from the publisher. Pearson Prentice Hall™ is a trademark of Pearson Education, Inc. All other tradmarks or product names are the property of their respective owners. The author and publisher of this book have used their best efforts in preparing this book.These efforts include the development, research, and testing of the theories and programs to determine their effectiveness.The author and publisher make no warranty of any kind, expressed or implied, with regard to these programs or the documentation contained in this book.The author and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.
    [Show full text]
  • JETIR Research Journal
    © 2018 JETIR October 2018, Volume 5, Issue 10 www.jetir.org (ISSN-2349-5162) QUALITATIVE COMPARISON OF KEY-VALUE BIG DATA DATABASES 1Ahmad Zia Atal, 2Anita Ganpati 1M.Tech Student, 2Professor, 1Department of computer Science, 1Himachal Pradesh University, Shimla, India Abstract: Companies are progressively looking to big data to convey valuable business insights that cannot be taken care by the traditional Relational Database Management System (RDBMS). As a result, a variety of big data databases options have developed. From past 30 years traditional Relational Database Management System (RDBMS) were being used in companies but now they are replaced by the big data. All big bata technologies are intended to conquer the limitations of RDBMS by enabling organizations to extract value from their data. In this paper, three key-value databases are discussed and compared on the basis of some general databases features and system performance features. Keywords: Big data, NoSQL, RDBMS, Riak, Redis, Hibari. I. INTRODUCTION Systems that are designed to store big data are often called NoSQL databases since they do not necessarily depend on the SQL query language used by RDBMS. NoSQL today is the term used to address the class of databases that do not follow Relational Database Management System (RDBMS) principles and are specifically designed to handle the speed and scale of the likes of Google, Facebook, Yahoo, Twitter and many more [1]. Many types of NoSQL database are designed for different use cases. The major categories of NoSQL databases consist of Key-Values store, Column family stores, Document databaseand graph database. Each of these technologies has their own benefits individually but generally Big data use cases are benefited by these technologies.
    [Show full text]
  • Building Your Hybrid Cloud Strategy with AWS Ebook
    Building Your Hybrid Cloud Strategy with AWS eBook A Guide to Extending and Optimizing Your Hybrid Cloud Environment Contents Introduction 3 Hybrid Cloud Benefits 4 Common AWS Hybrid Cloud Workloads 6 Key AWS Hybrid Cloud Technologies and Services 6 VMware Cloud on AWS 18 AWS Outposts: A Truly Consistent Hybrid Experience 21 Becoming Migration Ready 23 Hybrid Cloud Enablement Partners 24 Conclusion 26 Further Reading and Key Resources 27 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Introduction Optimizing IT Across Cloud and On-Premises Environments Public sector organizations continue to do more with less, find ways to innovate and bring new ideas to their organizations while dealing with security and maintaining mission-critical legacy systems. Evolving cloud capabilities are transforming the IT landscape for many public sector organizations, some use cases a hybrid cloud approach can help ease and accelerate a path to modernization and cloud adoption. For some use cases a hybrid cloud approach became a more feasible path to IT modernization and cloud adoption. For example, some customers have applications that require the lowest network latency possible, or they already achieve consistent and predicable performance in an on- premises environment, but want to use new cloud tools to enhance the application (e.g. Enterprise Resource Planning systems, real-time sensor data processing, industrial automation and transaction processing). Some customers may encounter unique challenges such as federal regulations associated with data residency, or limitations on their use of the cloud. A hybrid cloud (the use of both on-premises and cloud resources), allows IT organizations to optimize the performance and costs of every application, project and system in either the cloud, on-premises datacenters, or a combination of both.
    [Show full text]
  • Lecture 14 Slides
    Stanford CS193p Developing Applications for iOS Fall 2011 Stanford CS193p Fall 2011 To d a y Core Data Thread Safety NSManagedObjectContext is not thread-safe. What to do about that. Core Data and Table View Very common way to view data from a Core Data database So it is made very easy with NSFetchedResultsController Big ol’ demo Photomania Browse recent photos by Photographer who took them Stanford CS193p Fall 2011 Core Data Thread Safety NSManagedObjectContext is not thread safe Luckily, Core Data access is usually very fast, so doing it in the main thread is mostly fine. Always safe to access from the thread in which it (or its UIManagedDocument) was created. Feel free to take this approach for your homework (it’s the most straightforward). Another Approach [context performBlock:^{ // o r performBlockAndWait: // do stuff with context }]; This will make sure that the code in the block happens on the context’s safe thread. Note that this might well be the main thread, so you’re not necessarily getting “multithreaded.” Advanced Approach Some contexts (including Core Data ones) have a parentContext (a @property on NSMOC). The parentContext will almost always have its own thread, so you can performBlock: on it. But it is a different context, so you’ll have to save and then refetch to see the changes. Stanford CS193p Fall 2011 Core Data and Table View NSFetchedResultsController Hooks an NSFetchRequest up to a UITableViewController NSFetchedResultsController can answer all of the UITableViewDataSource protocol’s questions! For example ... - (NSUInteger)numberOfSectionsInTableView:(UITableView *)sender { return [[self.fetchedResultsController sections] count]; } - (NSUInteger)tableView:(UITableView *)sender numberOfRowsInSection:(NSUInteger)section { return [[[self.fetchedResultsController sections] objectAtIndex:section] numberOfObjects]; } Stanford CS193p Fall 2011 NSFetchedResultsController Very important method ..
    [Show full text]
  • Evernote Cover Sheet.Docx
    Evernote [Pick the date] Cover Sheet.docx [Year] [Type the abstract of the document here. The abstract is typically a short [Type the summary of the contents of the document. Type the abstract of the document here. The abstract is typically a short summary of the contents document of the document.] subtitle] Acknowledgements These Maker Modules were prepared for the Literacy Link South Central project “Using Technology to Facilitate Connections between Literacy and the Broader Community” (2014). Maker Modules available in this series include: QR Codes Augmented Reality Leap Motion QR Codes Tiny Scan Bluetooth Macrophotography Tiny Scan Word Lens Dropbox MaKey MaKey Word Lens The World of 3D Evernote Portable Podcasting The World of 3D Literacy Link South Central (LLSC) wishes to acknowledge the valuable contributions made by the following consultants, project staff and partners: Beth Compton, MakerBus Danielle Carr, Literacy-Technology Liaison Herta Taylor, Literacy-Technology Liaison James Graham, MakerBus Kim Martin, MakerBus Ryan Hunt, MakerBus Summer Burton, LLSC Titus Ferguson, UnLondon Digital Media Association Tony Mejia, Literacy-Technology Liaison The staff and learners of Nokee Kwe Native Education Centre, Collège Boréal London, Literacy London, ATN Access Inc., WIL Employment Connections and Youth Opportunities Unlimited for testing the Maker Modules and providing their feedback. www.makerbus.ca/ www.llsc.on.ca [email protected] [email protected] © Organizations are encouraged to copy these materials; however, reproducing these materials for a profit is prohibited. 2014 This Employment Ontario project is funded in part by the Government of Canada. 2 Introduction To successfully complete this MakerBus Module, you will need: 1.
    [Show full text]
  • Building Resilience & Confronting Risk In
    BUILDING RESILIENCE & CONFRONTING RISK IN THE COVID-19 ERA A PARENTS & CAREGIVERS GUIDE TO ONLINE RADICALIZATION POLARIZATION AND EXTREMISM RESEARCH AND INNOVATION LAB (PERIL) PERIL brings the resources and expertise of the university sector to bear CONTENTS on the problem of growing youth polarization and extremist radicalization, through scalable research, intervention, and public education ideas to PARENT & CAREGIVER GUIDE 3 reduce rising polarization and hate. WHAT IS ONLINE RADICALIZATION? WHY SHOULD YOU CARE? 4 SOUTHERN POVERTY LAW CENTER NEW RISKS IN THE COVID-19 ERA 5 The SPLC seeks to be a catalyst for racial justice in the South and RECOGNIZING WARNING SIGNS 6 beyond, working in partnership with communities to dismantle white UNDERSTANDING THE DRIVERS 7 supremacy, strengthen intersectional movements, and advance the ENGAGE AND EMPOWER 9 human rights of all people. RESPONDING TO HATE 11 HOW TO GET HELP 12 APPENDIX: STAYING ALERT TO SITES, PLATFORMS AND APPS FREQUENTLY EXPLOITED BY EXTREMISTS 17 ENDNOTES 19 CREDITS 20 ILLUSTRATIONS BY CLAUDIA WHITAKER PARENT & CAREGIVER GUIDE Who is this guide for? We wrote this guide with a wide Whether you live with a young person, or work virtually range of caregivers in mind. with youth, radicalization to extremism is something we all should be concerned about. Extremists looking Caregivers living with children and young adults. This to recruit and convert children are predatory. Like all includes parents, grandparents, foster parents, extended forms of child exploitation, extremist recruitment drives families, and residential counselors who are the a wedge between young people and the adults they would guardians and caregivers of children and youth living typically trust.
    [Show full text]
  • Efficient Algorithms for Comparing, Storing, and Sharing
    EFFICIENT ALGORITHMS FOR COMPARING, STORING, AND SHARING LARGE COLLECTIONS OF EVOLUTIONARY TREES A Dissertation by SUZANNE JUDE MATTHEWS Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY May 2012 Major Subject: Computer Science EFFICIENT ALGORITHMS FOR COMPARING, STORING, AND SHARING LARGE COLLECTIONS OF EVOLUTIONARY TREES A Dissertation by SUZANNE JUDE MATTHEWS Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Approved by: Chair of Committee, Tiffani L. Williams Committee Members, Nancy M. Amato Jennifer L. Welch James B. Woolley Head of Department, Hank W. Walker May 2012 Major Subject: Computer Science iii ABSTRACT Efficient Algorithms for Comparing, Storing, and Sharing Large Collections of Evolutionary Trees. (May 2012) Suzanne Jude Matthews, B.S.; M.S., Rensselaer Polytechnic Institute Chair of Advisory Committee: Dr. Tiffani L. Williams Evolutionary relationships between a group of organisms are commonly summarized in a phylogenetic (or evolutionary) tree. The goal of phylogenetic inference is to infer the best tree structure that represents the relationships between a group of organisms, given a set of observations (e.g. molecular sequences). However, popular heuristics for inferring phylogenies output tens to hundreds of thousands of equally weighted candidate trees. Biologists summarize these trees into a single structure called the consensus tree. The central assumption is that the information discarded has less value than the information retained. But, what if this assumption is not true? In this dissertation, we demonstrate the value of retaining and studying tree collections.
    [Show full text]
  • Learning Core Data for Ios Addison-Wesley Learning Series
    Learning Core Data for iOS Addison-Wesley Learning Series Visit informit.com/learningseries for a complete list of available publications. The Addison-Wesley Learning Series is a collection of hands-on programming guides that help you quickly learn a new technology or language so you can apply what you’ve learned right away. Each title comes with sample code for the application or applications built in the text. This code is fully annotated and can be reused in your own projects with no strings attached. Many chapters end with a series of exercises to encourage you to reexamine what you have just learned, and to tweak or adjust the code as a way of learning. Titles in this series take a simple approach: they get you going right away and leave you with the ability to walk off and build your own application and apply the language or technology to whatever you are working on. Learning Core Data for iOS Tim Roadley Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Cape Town • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their Editor-in-Chief products are claimed as trademarks. Where those designations appear in this book, Mark Taub and the publisher was aware of a trademark claim, the designations have been printed Senior Acquisitions with initial capital letters or in all capitals. Editor The author and publisher have taken care in the preparation of this book, but make Trina MacDonald no expressed or implied warranty of any kind and assume no responsibility for errors Senior Development or omissions.
    [Show full text]
  • Magic Quadrant for Enterprise High-Productivity Application Platform As a Service
    This research note is restricted to the personal use of [email protected]. Magic Quadrant for Enterprise High- Productivity Application Platform as a Service Published: 26 April 2018 ID: G00331975 Analyst(s): Paul Vincent, Van Baker, Yefim Natis, Kimihiko Iijima, Mark Driver, Rob Dunie, Jason Wong, Aashish Gupta High-productivity application platform as a service continues to increase its footprint across enterprise IT as businesses juggle the demand for applications, digital business requirements and skill set challenges. We examine these market forces and the leading enterprise vendors for such platforms. Market Definition/Description Platform as a service (PaaS) is application infrastructure functionality enriched with cloud characteristics and offered as a service. Application platform as a service (aPaaS) is a PaaS offering that supports application development, deployment and execution in the cloud. It encapsulates resources such as infrastructure. High- productivity aPaaS (hpaPaaS) provides rapid application development (RAD) features for development, deployment and execution — in the cloud. High-productivity application platform as a service (hpaPaaS) solutions provide services for declarative, model-driven application design and development, and simplified one-button deployments. They typically create metadata and interpret that metadata at runtime; many allow optional procedural programming extensions. The underlying infrastructure of these solutions is opaque to the user as they do not deal with servers or containers directly. The rapid application development (RAD) features are often referred to as "low-code" and "no-code" support. These hpaPaaS solutions contrast with those for "high-control" aPaaS, which need professional programming — "pro-code" support, through third-generation languages (3GLs) — and provide transparent access to the underlying infrastructure.
    [Show full text]
  • Emerging Cyber Threats to the United States Hearing
    EMERGING CYBER THREATS TO THE UNITED STATES HEARING BEFORE THE SUBCOMMITTEE ON CYBERSECURITY, INFRASTRUCTURE PROTECTION, AND SECURITY TECHNOLOGIES OF THE COMMITTEE ON HOMELAND SECURITY HOUSE OF REPRESENTATIVES ONE HUNDRED FOURTEENTH CONGRESS SECOND SESSION FEBRUARY 25, 2016 Serial No. 114–55 Printed for the use of the Committee on Homeland Security Available via the World Wide Web: http://www.gpo.gov/fdsys/ U.S. GOVERNMENT PUBLISHING OFFICE 21–527 PDF WASHINGTON : 2016 For sale by the Superintendent of Documents, U.S. Government Publishing Office Internet: bookstore.gpo.gov Phone: toll free (866) 512–1800; DC area (202) 512–1800 Fax: (202) 512–2104 Mail: Stop IDCC, Washington, DC 20402–0001 COMMITTEE ON HOMELAND SECURITY MICHAEL T. MCCAUL, Texas, Chairman LAMAR SMITH, Texas BENNIE G. THOMPSON, Mississippi PETER T. KING, New York LORETTA SANCHEZ, California MIKE ROGERS, Alabama SHEILA JACKSON LEE, Texas CANDICE S. MILLER, Michigan, Vice Chair JAMES R. LANGEVIN, Rhode Island JEFF DUNCAN, South Carolina BRIAN HIGGINS, New York TOM MARINO, Pennsylvania CEDRIC L. RICHMOND, Louisiana LOU BARLETTA, Pennsylvania WILLIAM R. KEATING, Massachusetts SCOTT PERRY, Pennsylvania DONALD M. PAYNE, JR., New Jersey CURT CLAWSON, Florida FILEMON VELA, Texas JOHN KATKO, New York BONNIE WATSON COLEMAN, New Jersey WILL HURD, Texas KATHLEEN M. RICE, New York EARL L. ‘‘BUDDY’’ CARTER, Georgia NORMA J. TORRES, California MARK WALKER, North Carolina BARRY LOUDERMILK, Georgia MARTHA MCSALLY, Arizona JOHN RATCLIFFE, Texas DANIEL M. DONOVAN, JR., New York BRENDAN P. SHIELDS, Staff Director JOAN V. O’HARA, General Counsel MICHAEL S. TWINCHEK, Chief Clerk I. LANIER AVANT, Minority Staff Director SUBCOMMITTEE ON CYBERSECURITY, INFRASTRUCTURE PROTECTION, AND SECURITY TECHNOLOGIES JOHN RATCLIFFE, Texas, Chairman PETER T.
    [Show full text]
  • Higher Inductive Types (Hits) Are a New Type Former!
    Git as a HIT Dan Licata Wesleyan University 1 1 Darcs Git as a HIT Dan Licata Wesleyan University 1 1 HITs 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] Higher inductive types (HITs) are a new type former! 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] Higher inductive types (HITs) are a new type former! They were originally invented[Lumsdaine,Shulman,…] to model basic spaces (circle, spheres, the torus, …) and constructions in homotopy theory 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] Higher inductive types (HITs) are a new type former! They were originally invented[Lumsdaine,Shulman,…] to model basic spaces (circle, spheres, the torus, …) and constructions in homotopy theory But they have many other applications, including some programming ones! 2 Generator for 2 equality of equality Patches Patch a a 2c2 diff b d = < b c c --- > d 3 3 id a a b b
    [Show full text]