2019‒05‒02 Python Lesson Tutor Notes

Total Page:16

File Type:pdf, Size:1020Kb

2019‒05‒02 Python Lesson Tutor Notes tutor_notes.md 4/29/2019 2019‒05‒02 Python lesson tutor notes These notes are intended for the tutor as they work through the material, but may also be useful for independent learning. Start the slides Start the slides TITLE: Building Programs With Python (Part 1) SECTION 01: Setup SECTION 02: Getting Started SECTION 03: Data Analysis SECTION 04: Visualisation SECTION 05: for loops SECTION 06: lists SECTION 07: Making choices SECTION 08: Analysing multiple files SECTION 09: Conclusions (Part 1) TITLE: Building Programs With Python (Part 2) SECTION 10: Jupyter notebooks SECTION 11: Functions SECTION 12: Refactoring SECTION 13: Command‒line programs SECTION 14: Testing and documentation SECTION 15: Errors and Exceptions SECTION 16: Defensive programming TITLE: Building Programs With Python (Part 1) SLIDE: Etherpad Please use the Etherpad for the course DEMONSTRATE LINK note that slides and tutor notes are available online SLIDE: Why Are We Here? We're here to learn how to program this lesson just happens to be in Python, but the principles are relevant to all languages Programming is a way to solve problems in your research through making a computer do work quickly and accurately You'll build functions that do specific, defined tasks You'll automate those functions to perform tasks over and over again (in various combinations) 1 / 79 tutor_notes.md 4/29/2019 You'll manipulate data, which is at the heart of all research You'll learn some file input/output to make the computer read and write useful information You'll learn some data structures, which are ways to organise data so that the computer can deal with it efficiently SLIDE: XKCD: The best use of your time The XKCD comic is tongue‒in cheek, but there's a lot of truth in this The less time you spend messing with Excel or manually processing data files, the more time you have for getting your research done SLIDE How are we doing this? We'll be learning how to program using Python Why Python? We need to use some language Python is free, with good documentation and lots of books and online courses. Python is widely‒used in academia, and there's lots of support online It can be easier for novices to pick up than other languages We won't be covering the entire language in detail For those with a bit more experience, note: we will be using some long‒handed ways of doing things to keep them clear for novices SLIDE: XKCD: Python This XKCD comic highlights two of those key points: Programming in Python is FUN There are libraries for pretty much anything you might want to do SLIDE No, I mean "How are we doing this?" We'll use two tools to write Python The bulk of the course will be in a text editor Text editors are part of the edit‒save‒execute cycle, which is how much code is written We'll also spend a little bit of time writing code in the Jupyter notebook** Jupyter is good for exploring data, prototyping code, data‒wrangling, and teaching However, it's not so good for writing "production code" in a general sense There are also specialist integrated development environments (IDEs) for Python that are extremely useful for developers, but we'll not be using them SLIDE Do I need to use Python afterwards? No. The lesson and principles are general, we're just teaching in Python 2 / 79 tutor_notes.md 4/29/2019 What you learn here will be relevant in other languages If your field or colleagues use another language in preference, there may be very good reasons for that, and they may be able to offer detailed, relevant support and help to you in that language. This is valuable. My advice is usually: when learning, choose the language that you can get local help in. Language Wars waste everyone's time. SLIDE What are we doing? We're using a motivating example of data analysis We've got some data relating to a new treatment for arthritis, and we're going to explore it. Data represents patients and their daily measurements of inflammation We need to analyse the data We need to visualise the data We're going to get the computer to do this for us It's a small dataset, so we could do this by hand (it would take us a day, maybe) (Excel anecdote from lab?) Automation is key: fewer human mistakes easier to apply to other future datasets easier to share with others (transparency) We can also share our code and results via sites such as GitHub and BitBucket publish as supplementary information greater impact encourage collaboration SECTION 01: Setup SLIDE Setting Up ‒ 1 ‒ DEMO We want a neat (clean) working environment: always a good idea when starting a new project ‒ it helps for when you might want to use git to put it under version control, later. Change directory to desktop (in terminal or Explorer) Create directory python-novice-inflammation Change your working directory to that directory cd ~/Desktop mkdir pni cd pni SLIDE Setting Up ‒ 2 ‒ DEMO We need to download our data (and also a little code that can help us) 3 / 79 tutor_notes.md 4/29/2019 This is just like grabbing data from an analytical machine's output, or being given data by a collaborator Go to Etherpad in browser http://pad.software‒carpentry.org/2019‒05‒02‒standrews Point out file links http://swcarpentry.github.io/python‒novice‒inflammation/data/python‒ novice‒inflammation‒data.zip Click on file links to download Move files to pni directory Extract files ‒ this will create a subdirectory called data in that folder CHECK WHETHER EVERYONE HAS EXTRACTED THE DATA SHOW FILE STRUCTURE IN TERMINAL AND FILE EXPLORER SECTION 02: Getting Started SLIDE Python in the terminal We start the Python console with the command python This should bring up the interactive console Explain header information Explain the prompt $ python Python 3.6.3 |Anaconda custom (64-bit)| (default, Oct 6 2017, 12:04:38) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> CHECK WHETHER EVERYONE HAS STARTED THE CONSOLE SLIDE Python REPL You learned about the REPL (read‒evaluate‒print‒loop) in the shell lesson 4 / 79 tutor_notes.md 4/29/2019 Python's console implements the REPL We can use Python like a complex calculator Note the spaces around operators ‒ good Python style >>> 3 + 5 8 >>> 12 / 7 1.7142857142857142 >>> 2 ** 16 65536 >>> 15 % 4 3 >>> (2 + 4) * (3 - 7) -24 SLIDE My first variable We've seen how to use the REPL To build interesting things, we'll need to store values We need to work with variables Variables are like named boxes An item of data goes into the box When we refer to the box/variable name, we get the contents of the box We need a variable name We need variable contents Use a real‒life example to hand if possible You can think of a variable as a labelled box, containing a data item Here, we have a box labelled Name ‒ this is the variable name We've put the value Samia into the box SLIDE: Creating a variable We assign a value to a variable with the equals sign: = Variable name goes on the left, value on the right Character strings (words etc.) are enclosed in quotes 5 / 79 tutor_notes.md 4/29/2019 EXPLAIN DOUBLE‒ AND SINGLE‒QUOTES Python accepts either double‒ or single‒quotes, but you can't mix them. After assignment, if we refer to the variable Name, we get the value that's in the box, which is: Samia The print() function shows the value of a variable KEY POINTS: We refer to the name of the variable, but get its contents >>> name = "Samia" >>> name 'Samia' >>> print(name) Samia CHECK THAT EVERYONE GETS THE CONCEPT/SEES THE NAME Variable names can include letters, digits, and underscores must not start with a number are case sensitive >>> myvar_1 = "Michael" >>> myvar_1 'Michael' >>> myvar-1 = "Michael" File "<stdin>", line 1 SyntaxError: can't assign to operator >>> 1myvar = "Michael" File "<stdin>", line 1 1myvar = "Michael" ^ SyntaxError: invalid syntax >>> Myvar_1 = "Alex" >>> Myvar_1 'Alex' >>> myvar_1 'Michael' SLIDE: Working with variables 6 / 79 tutor_notes.md 4/29/2019 Lead the students through the code: >>> weight_kg_text = "weight in kilograms:" >>> weight_kg = 55 Note, we're assigning an integer now (no quotes), but assignment is the same for all data items Python knows about several types of data, including integer numbers floating point numbers strings We can print weight_kg to see its value The print() function will also take more than one argument, separated by commas, and print them: >>> print(weight_kg) 55 >>> print(weight_kg_text, weight_kg) weight in kilograms: 55 Variables can be substituted by name wherever a value would go, in calculations for example >>> 2.2 * weight_kg 121.00000000000001 We can mix strings and variables and even do calculations with variables inside the print() function: >>> print("Weight in pounds:", 2.2 * weight_kg) Weight in pounds: 121.00000000000001 People may ask about floating point representations here ‒ an introduction is at https://docs.python.org/3/tutorial/floatingpoint.html ‒ this is on the Etherpad. Most decimal fractions can't be represented exactly as binary fractions Reassigning to the same variable overwrites the old value 7 / 79 tutor_notes.md 4/29/2019 >>> weight_kg = 65.0 >>> print("Weight in kilograms is now:", weight_kg) Weight in kilograms is now: 65.0 Changing the value of one variable does not automatically change the values of other variables calculated using the original value >>> weight_lb = 2.2 * weight_kg >>> print('weight in kilograms:', weight_kg, 'and in pounds:', weight_lb) weight in kilograms: 65.0 and in pounds: 143.0 >>> weight_kg = 100 >>> print('weight in kilograms:', weight_kg, 'and in pounds:',
Recommended publications
  • Short-Format Workshops Build Skills and Confidence for Researchers to Work with Data
    Paper ID #23855 Short-format Workshops Build Skills and Confidence for Researchers to Work with Data Kari L. Jordan Ph.D., The Carpentries Dr. Kari L. Jordan is the Director of Assessment and Community Equity for The Carpentries, a non-profit that develops and teaches core data science skills for researchers. Marianne Corvellec, Institute for Globally Distributed Open Research and Education (IGDORE) Marianne Corvellec has worked in industry as a data scientist and a software developer since 2013. Since then, she has also been involved with the Carpentries, pursuing interests in community outreach, educa- tion, and assessment. She holds a PhD in statistical physics from Ecole´ Normale Superieure´ de Lyon, France (2012). Elizabeth D. Wickes, University of Illinois at Urbana-Champaign Elizabeth Wickes is a Lecturer at the School of Information Sciences at the University of Illinois, where she teaches foundational programming and information technology courses. She was previously a Data Curation Specialist for the Research Data Service at the University Library of the University of Illinois, and the Curation Manager for WolframjAlpha. She currently co-organizes the Champaign-Urbana Python user group, has been a Carpentries instructor since 2015 and trainer since 2017, and elected member of The Carpentries’ Executive Council for 2018. Dr. Naupaka B. Zimmerman, University of San Francisco Mr. Jonah M. Duckles, Software Carpentry Jonah Duckles works to accelerate data-driven inquiry by catalyzing digital skills and building organiza- tional capacity. As a part of the leadership team, he helped to grow Software and Data Carpentry into a financially sustainable non-profit with a robust organization membership in 10 countries.
    [Show full text]
  • Operational Transformation in Co-Operative Editing
    INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 5, ISSUE 01, JANUARY 2016 ISSN 2277-8616 Operational Transformation In Co-Operative Editing Mandeep Kaur, Manpreet Singh, Harneet Kaur, Simran Kaur ABSTRACT: Cooperative Editing Systems in real-time allows a virtual team to view and edit a shared document at the same time. The document shared must be synchronized in order to ensure consistency for all the participants. This paper describes the Operational Transformation, the evolution of its techniques, its various applications, major issues, and achievements. In addition, this paper will present working of a platform where two users can edit a code (programming file) at the same time. Index Terms: CodeMirror, code sharing, consistency maintenance, Google Wave, Google Docs, group editors, operational transformation, real-time editing, Web Sockets ———————————————————— 1 INTRODUCTION 1.1 MAIN ISSUES RELATED TO REAL TIME CO- Collaborative editing enables portable professionals to OPERATIVE EDITING share and edit same documents at the same time. Elementally, it is based on operational transformation, that Three inconsistency problems is, it regulates the order of operations according to the Divergence: Contents at all sites in the final document transformed execution order. The idea is to transform are different. received update operation before its execution on a replica Causality-violation: Execution order is different from the of the object. Operational Transformation consists of a cause-effect order. centralized/decentralized integration procedure and a transformation function. Collaborative writing can be E.g., O1 → O3 defined as making changes to one document by a number of persons. The writing can be organized into sub-tasks Intention-violation: The actual effect is different from the assigned to each group member, with the latter part of the intended effect.
    [Show full text]
  • Lock-Free Collaboration Support for Cloud Storage Services With
    Lock-Free Collaboration Support for Cloud Storage Services with Operation Inference and Transformation Jian Chen, Minghao Zhao, and Zhenhua Li, Tsinghua University; Ennan Zhai, Alibaba Group Inc.; Feng Qian, University of Minnesota - Twin Cities; Hongyi Chen, Tsinghua University; Yunhao Liu, Michigan State University & Tsinghua University; Tianyin Xu, University of Illinois Urbana-Champaign https://www.usenix.org/conference/fast20/presentation/chen This paper is included in the Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST ’20) February 25–27, 2020 • Santa Clara, CA, USA 978-1-939133-12-0 Open access to the Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST ’20) is sponsored by Lock-Free Collaboration Support for Cloud Storage Services with Operation Inference and Transformation ⇤ 1 1 1 2 Jian Chen ⇤, Minghao Zhao ⇤, Zhenhua Li , Ennan Zhai Feng Qian3, Hongyi Chen1, Yunhao Liu1,4, Tianyin Xu5 1Tsinghua University, 2Alibaba Group, 3University of Minnesota, 4Michigan State University, 5UIUC Abstract Pattern 1: Losing updates Alice is editing a file. Suddenly, her file is overwritten All studied This paper studies how today’s cloud storage services support by a new version from her collaborator, Bob. Sometimes, cloud storage collaborative file editing. As a tradeoff for transparency/user- Alice can even lose her edits on the older version. services friendliness, they do not ask collaborators to use version con- Pattern 2: Conflicts despite coordination trol systems but instead implement their own heuristics for Alice coordinates her edits with Bob through emails to All studied handling conflicts, which however often lead to unexpected avoid conflicts by enforcing a sequential order.
    [Show full text]
  • Linfield College, Computer Science Department COMP 161: Basic Programming Syllabus Spring 2015 Prof
    Linfield College, Computer Science Department COMP 161: Basic Programming Syllabus Spring 2015 Prof. Daniel Ford COURSE DESCRIPTION: Introduces the basic concepts of programming: reading and writing unambiguous descriptions of sequential processes. Emphasizes introductory algorithmic strategies and corresponding structures. (QR). COMP 160 is required for a major in electronic arts and is a prerequisite for COMP 161 and all other required courses for a major or minor in computer science. Extensive hands-on experience with programming projects. Lecture/discussion, lab. PREREQUISITES: Prerequisite: COMP 160. CREDITS: 3 LECTURES: Renshaw 211 Section 1: MWF 2:00 – 2:50 PM WORKSHOPS: Renshaw 211 Workshop: Mondays and Wednesday, 8—9 PM Additional help and tutoring is available by request and through the learning center. PROFESSOR: Daniel Ford Office: Renshaw 210 Phone: x2706 E-mail: [email protected] Office Hours: MWF 10:30—11:30 AM, TTh 2:00—3:00 PM, and by appointment. RECOMMENDED BOOKS: § Cay S. Horstmann, Big Java, http://www.horstmann.com/bigjava.html. Recommended for COMP 160 & 161. Wiley 5th Edition (2012 Early Objects) ~ $90, 4th Edition, 3rd Edition, …, 2nd Edition (2005) ~ $10. § Y. Daniel Liang, Introduction to Java Programming, Comprehensive Version, http://cs.armstrong.edu/liang/intro9e/. Recommended for COMP 160 & 161. Faster, more advanced, but with fewer tips than Big Java. 9th Edition (2012) ~ $90, 8th Edition, …, 6th Edition (2006) ~$10. § Cay S. Horstmann & Gary Cornell, Core Java™, Volume I – Fundamentals and Volume II – Advanced Features (9th Edition), 2012 http://www.horstmann.com/corejava.html. The best reference manuals for Java. Recommended for CS majors and professional Java programmers.
    [Show full text]
  • Link IDE : a Real Time Collaborative Development Environment
    San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 2012 Link IDE : A Real Time Collaborative Development Environment Kevin Grant San Jose State University Follow this and additional works at: https://scholarworks.sjsu.edu/etd_projects Part of the Computer Sciences Commons Recommended Citation Grant, Kevin, "Link IDE : A Real Time Collaborative Development Environment" (2012). Master's Projects. 227. DOI: https://doi.org/10.31979/etd.rqpj-pj3k https://scholarworks.sjsu.edu/etd_projects/227 This Master's Project is brought to you for free and open access by the Master's Theses and Graduate Research at SJSU ScholarWorks. It has been accepted for inclusion in Master's Projects by an authorized administrator of SJSU ScholarWorks. For more information, please contact [email protected]. Link IDE : A Real Time Collaborative Development Environment A Project Report Presented to The Faculty of the Department of Computer Science San José State University In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science by Kevin Grant May 2012 1 © 2012 Kevin Grant ALL RIGHTS RESERVED 2 SAN JOSE STATE UNIVERSITY The Undersigned Project Committee Approves the Project Titled Link : A Real Time Collaborative Development Environment by Kevin Grant APPROVED FOR THE DEPARTMENT OF COMPUTER SCIENCE SAN JOSÉ STATE UNIVERSITY May 2012 ------------------------------------------------------------------------------------------------------------ Dr. Soon Tee Teoh, Department
    [Show full text]
  • Re-Engineering Apache Wave Into a General-Purpose Federated & Collaborative Platform
    Awakening Decentralised Real-time Collaboration: Re-engineering Apache Wave into a General-purpose Federated & Collaborative Platform Pablo Ojanguren-Menendez, Antonio Tenorio-Forn´es,and Samer Hassan GRASIA: Grupo de Agentes Software, Ingenier´ıay Aplicaciones, Departamento de Ingenier´ıadel Software e Inteligencia Artificial, Universidad Complutense de Madrid, Madrid, 28040, Spain fpablojan, antonio.tenorio, [email protected] Abstract. Real-time collaboration is being offered by plenty of libraries and APIs (Google Drive Real-time API, Microsoft Real-Time Commu- nications API, TogetherJS, ShareJS), rapidly becoming a mainstream option for web-services developers. However, they are offered as cen- tralised services running in a single server, regardless if they are free/open source or proprietary software. After re-engineering Apache Wave (for- mer Google Wave), we can now provide the first decentralised and fed- erated free/open source alternative. The new API allows to develop new real-time collaborative web applications in both JavaScript and Java en- vironments. Keywords: Apache Wave, API, Collaborative Edition, Federation, Op- erational Transformation, Real-time 1 Introduction Since the early 2000s, with the release and growth of Wikipedia, collaborative text editing increasingly gained relevance in the Web [1]. Writing texts in a collaborative manner implies multiple issues, especially those concerning the management and resolution of conflicting changes: those performed by different participants over the same part of the document. These are usually handled with asynchronous techniques as in version control systems for software development [2] (e.g. SVN, GIT), resembled by the popular wikis. However, some synchronous services for collaborative text editing have arisen during the past decade.
    [Show full text]
  • Technology Integration in Schools
    TECHNOLOGY INTEGRATION IN SCHOOLS Compiled by Elizabeth Greef, November 2015 This is a broad topic and may take many forms. CONTENTS Technology and teaching Technology and research App evaluation Online resources – Web tools and apps Digital tools by theme or purpose: Academic repositories Animation Audio recording Blogging platforms Brainstorming/mindmapping/planning Coding and computer programming Collaborative note-taking Comics and cartoons creation Communication and social media apps Content curation for teachers Content sharing Critical and creative thinking Digital publishing Digital storytelling Flyers, posters, newsletters Google tips Image editing and drawing Image searching Infographics Inquiry-based learning Maps Moviemaking Online citation generators Online classroom environments Other tools Personal information management Presentations QR codes Questioning Reading Reference apps Screen capturing Search engines Surveys and polls Teacher tools Timelines Video sharing Wordclouds BYOD links Of course, apps are just tools. It is important to keep in mind the 21st century skills students require and how the landscape of learning is changing. For thoughts on this, see the clips, broader conceptual links and samples in the Technology and teaching section. It may be that your school is considering a BYOD (bring your own device) approach – look at the BYOD links. If you are creating a digital literacy scope and sequence, look at the item Creating and information and/or digital literacy scope and sequence in the IASL PD Library. You may be evaluating apps to include and recommend for students in which case App evaluation forms and the app lists may be of most use. Ask similar schools for recommended apps, search yourself for recent well-regarded apps and look at the lists below.
    [Show full text]
  • A Conflict-Free Replicated JSON Datatype
    1 A Conflict-Free Replicated JSON Datatype Martin Kleppmann and Alastair R. Beresford Abstract—Many applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption. Index Terms—CRDTs, Collaborative Editing, P2P, JSON, Optimistic Replication, Operational Semantics, Eventual Consistency. F 1 INTRODUCTION SERS of mobile devices, such as smartphones, expect plications can resolve any remaining conflicts through pro- U applications to continue working while the device is grammatic means, or via further user input. We expect that offline or has poor network connectivity, and to synchronize implementations of this datatype will drastically simplify its state with the user’s other devices when the network is the development of collaborative and state-synchronizing available.
    [Show full text]
  • Analyzing the Suitability of Web Applications for a Single-User to Multi-User Transformation
    Analyzing the Suitability of Web Applications for a Single-User to Multi-User Transformation Matthias Heinrich Franz Lehmann Franz Josef Grüneberger SAP AG SAP AG SAP AG [email protected] [email protected] [email protected] Thomas Springer Martin Gaedke Dresden University of Chemnitz University of Technology Technology thomas.springer@tu- [email protected] dresden.de chemnitz.de ABSTRACT 1. INTRODUCTION Multi-user web applications like Google Docs or Etherpad According to McKinsey’s report“The Social Economy”[6], are crucial to efficiently support collaborative work (e.g. the use of social communication and collaboration technolo- jointly create texts, graphics, or presentations). Neverthe- gies within and across enterprises can unlock up to $860 less, enhancing single-user web applications with multi-user billion in annual savings. Collaborative web applications capabilities (i.e. document synchronization and conflict res- represent an essential class from the group of collaboration olution) is a time-consuming and intricate task since tra- technologies that allow multiple users to edit the very same ditional approaches adopting concurrency control libraries document simultaneously. In contrast to single-user appli- (e.g. Apache Wave) require numerous scattered source code cations (e.g. Microsoft Word) which have to rely on tra- changes. Therefore, we devised the Generic Collaboration ditional document merging or document locking techniques Infrastructure (GCI) [8] that is capable of converting single- in collaboration scenarios, shared editing solutions such as user web applications non-invasively into collaborative ones, Google Docs or Etherpad improve collaboration efficiency i.e. no source code changes are required. In this paper, due to their advanced multi-user capabilities including real- we present a catalog of vital application properties that al- time document synchronization and automatic conflict res- lows determining if a web application is suitable for a GCI olution.
    [Show full text]
  • Etherbox: the Novel
    Etherbox: The novel June 10, 2017 Contents Initial image + setup2 Setup apache to serve the root with custom header + readme’s2 droptoupload.cgi...........................3 HEADER.shtml3 Better permissions with facl4 Set up etherpad4 etherdump5 Setup the folder............................6 styles.css + versions.js........................6 etherdump.sh + cron.........................6 Other software7 Access point8 Makeserver + etherpad (experimental!)9 TODO 10 1 Initial image + setup Based on 2017-04-10-raspian-jessie-lite.zip unzip -p 2017-04-10-raspbian-jessie-lite.zip | pv | sudo dd of=/dev/sdc bs=4M SSH is no longer on by default! So need to connect with a screen first time and turn this on. sudo raspi-config Enable ssh under connectivity. Bring the rest of the software up to date. sudo apt-get update sudo apt-get upgrade Setup apache to serve the root with custom header + readme’s sudo apt-get install apache2 cd /etc/apache2/sites-available sudo nano 000-default ServerAdmin webmaster@localhost # DocumentRoot /var/www/html DocumentRoot / <Directory /> Options Indexes FollowSymLinks AllowOverride none Require all granted </Directory> HeaderName /home/pi/include/HEADER.shtml ReadmeName README.html NB: Sets the HeaderName and ReadmeName directives (part of mod_autoindex). sudo service apache2 reload 2 droptoupload.cgi sudo a2enmod cgi sudo service apache2 restart Placed ‘droptoupload.cgi’ in /usr/lib/cgi-bin and tried running it with: ./droptoupload.cgi Like this is just outputs an HTML form. Looking at http://etherbox.local/ cgi-bin/droptoupload.cgi
    [Show full text]
  • Transfer Word Document to Google Docs
    Transfer Word Document To Google Docs Schroeder iodize exhibitively if French-Canadian Mateo reformulating or nurses. Dam Marve always crunches his chazan if Christopher is imparipinnate or pinned whereabout. Swanky and insatiate Maddy still diddled his evaluation electrometrically. When ms word document to transfer google docs is Meet by following your post. For getting more nav menu and transfer word document to google docs if you agree to do you how about how. By continuing to represent this site you finish giving us your consent account do this. Google Drive any lounge you are online. Relatedly, security updates, including Microsoft Word. Share the discover new ways to work smarter with Dropbox in consult community. They shame you stickers! This time power is frustrating. PDF to Word conversion is. Have different Word document? It publicly online for docs document to transfer word compare to your file type. All embody a match, which will devote your toolbar with book more buttons, the agreement is be filled out beat all of fidelity relevant information first. As she create your Slides, it will sweep to very account ruin your device. Below is living example Google Doc we always going outside use. This could cast to contract the revision process of documents, the PDF file will be converted to a Google doc. The chart you can you type of the editing options available, create an easy and formatted elsewhere within google docs gives you the document to transfer word google docs, or at kinsta. Use our following URLs to create bookmarks for Docs, please guide a message.
    [Show full text]
  • Toward Subtext a Mutable Translation Layer for Multi-Format Output
    Haltiwanger NAJAAR 2010 45 Toward Subtext A Mutable Translation Layer for Multi-Format Output Abstract a new format come into existence. The demands of typesetting have shifted significantly since The raw fact of text on the computer screen is that, the original inception of TEX. Donald Knuth strove to de- overall, the situation is awful. Screenic text can be velop a platform that would prove stable enough to produce divided into three categories: semantic, formal, and the same output for the same input over time (assuming WYSIWYG. The semantic formats, for example HTML the absence of bugs). Pure TEX is a purely formal language, with no practical notion of the semantic characteristics of and XML, are notoriously machine-readable. Text can the text it is typesetting. The popularity of LATEX is largely easily be highlighted, copied, pasted, processed, con- related to its attempt to solve this problem. The flexibility verted, etc. Yet the largest “reading” software for se- of ConTEXt lends it to a great diversity of workflows. How- mantic formats is the web browser. Not a single web ever, document creation is not straight-forward enough to browser seems to have bothered to address line-break- lend itself to widespread adoption by a layman audience, nor ing with any sort of seriousness.3The ubiquity of is it particularly flexible in relation to its translatability into HTML, tied with its semantic processibility, means that other important output formats such as HTML. Subtext is a its importance cannot be ignored as an output format. proposed system of generative typesetting designed for pro- At this point, not producing an HTML version of a doc- viding an easy to use abstraction for interfacing with TEX, HTML, and other significant markup languages and output ument that one wishes to see widely read is tantamount formats.
    [Show full text]