Client-Centered Software Development the CO-FOSS Approach

Total Page:16

File Type:pdf, Size:1020Kb

Client-Centered Software Development the CO-FOSS Approach Client-Centered Software Development The CO-FOSS Approach Client-Centered Software Development The CO-FOSS Approach Allen B. Tucker CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 ⃝c 2019 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed on acid-free paper International Standard Book Number-13: 978-1-138-58384-9 (Hardback) This book contains information obtained from authentic and highly regarded sources. Rea- sonable efforts have been made to publish reliable data and information, but the authorand publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permis- sion to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, re- produced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Cen- ter, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not- for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trade- marks, and are used only for identification and explanation without intent to infringe. Library of Congress Cataloging-in-Publication Data Names: Tucker, Allen B., author. Title: Client-centered software development : the CO-FOSS approach / Allen B. Tucker. Description: Boca Raton, FL : CRC Press/Taylor & Francis Group, [2019] j Includes index. Identifiers: LCCN 2019010378j ISBN 9781138583849 (hardback : acid-free paper) j ISBN 9780429506468 (ebook) Subjects: LCSH: Application software--Development. j Computer software industry--Customer services. j Consumer satisfaction. Classification: LCC QA76.76.D47 T839 2019 j DDC 005.3--dc23 LC record available at https://lccn.loc.gov/2019010378 Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com To Meg, my inspiration and lifelong partner Contents List of Figures xvii List of Tables xxiii Foreword xxv Preface xxix Acknowledgments xxxv About the Author xxxvii Chapter 1 ■ The Journey 1 1.1 SOFTWARE 1 1.2 SOFTWARE DEVELOPMENT MODELS 3 1.2.1 Serial Development 3 1.2.2 Agile Development 4 1.2.3 CO-FOSS Development 5 1.2.4 Software Customization: A Continuum 7 Custom Software 7 Off-the-Shelf Software 8 Custom Software with Off-the-Shelf Components 9 1.3 SOFTWARE LICENSING 9 1.3.1 Proprietary Licensing 9 1.3.2 Open Source Licensing 10 1.3.3 FOSS Origins and Impact 13 FOSS Worldwide 16 Terminology: OSS, FOSS, FLOSS, H/FOSS, and CO-FOSS 18 vii viii ■ Contents 1.4 SOFTWARE ARCHITECTURES 19 1.4.1 Software Frameworks 19 1.4.2 Web Servers and Bundles 21 1.5 NEW VS MATURE OPEN SOURCE PROJECTS 22 1.5.1 Maturity Assessment 23 1.5.2 Incubation 24 Community 25 Bug Tracking 27 1.6 INTO THE WEEDS 28 1.6.1 To the Instructor 29 1.6.2 To the Student 31 1.6.3 To the Client 32 1.6.4 To the Developer 33 1.7 SUMMARY 33 1.8 MILESTONE 1 34 Section I Organization Stage Chapter 2 ■ Finding a Client and a Project 37 2.1 CLIENT ACTIVITIES AND SOFTWARE NEEDS 39 2.1.1 The Current Process and Existing Software 41 2.1.2 New Software to Fit a New Need 44 2.2 DOMAIN ANALYSIS 45 2.2.1 Requirements Gathering 48 2.2.2 User Stories 49 2.2.3 Use Cases 50 Unified Modeling Language 52 Writing an Effective Use Case 53 2.3 SOFTWARE DESIGN 55 2.3.1 System and Performance Requirements 55 2.3.2 Software Architecture 57 Layering, Cohesion, and Coupling 57 Domain Class Layer 61 Database Layer 61 User Interface Layer 63 2.3.3 Software Security 63 2.3.4 Encouraging Code Reuse 65 Contents ■ ix 2.4 THE DESIGN DOCUMENT 66 2.4.1 Overall Structure 67 2.4.2 Variations 68 2.5 THE SANDBOX 69 2.6 SUMMARY 70 2.7 MILESTONE 2 70 Chapter 3 ■ Defining the Course 71 3.1 SOFTWARE PROJECT ELEMENTS 71 3.1.1 Collaboration Tools 72 3.1.2 Development Platform 73 3.1.3 Project Hosting 74 3.1.4 The Version Control System 75 3.1.5 Sandbox and Live Versions 77 3.1.6 Reading, Writing, and Documenting Code 79 3.1.7 Unit Testing 82 Unit Testing Tools 84 3.1.8 User Help 85 3.2 THE COURSE 86 3.2.1 The Classroom 87 3.2.2 Team Formation and Dynamics 88 3.2.3 Scheduling and Milestones 90 3.2.4 Ensuring Progress 92 3.2.5 The Syllabus 93 3.2.6 Assignments and Grading 95 3.2.7 Alternatives: The Two-Semester Software Projects Course 97 3.3 SUMMARY 98 3.4 MILESTONE 3 98 Section II Development Stage Chapter 4 ■ Project Launch 101 4.1 THE TEAM 101 4.1.1 Team Dynamics 103 x ■ Contents 4.1.2 Asynchronous Communication 105 Aside: Mature FOSS Projects 106 4.1.3 Synchronous Communication 107 4.1.4 Shared Documents 108 4.2 THE DEVELOPMENT TOOLS 109 4.2.1 Programming Languages 109 JavaScript 110 Python 110 Java 111 Ruby 111 PHP 111 HTML and CSS 111 Other Languages 112 4.2.2 Software Platforms 112 The Apache/MySQL/PHP Server 113 Server-Side Java 114 Python 114 Ruby 114 4.2.3 IDEs for Development 114 Eclipse IDE 115 Python IDEs 116 Ruby IDEs 116 Java IDEs 116 Choosing and Installing an IDE 117 4.2.4 Working with the VCS 117 4.3 THE PRODUCT 122 4.3.1 Reading the Design Document 122 Identify Classes and Modules 124 Identify Instance Variables 124 Identify Methods and Functions 124 4.3.2 Reading the Code 126 Start from the Top 126 Look for Classes with Unique Keys 127 Avoid the Temptation to Edit the Code 128 4.3.3 Reading and Writing Code 129 4.3.4 Code Reuse 130 4.3.5 Licensing 131 Contents ■ xi 4.4 SUMMARY 132 4.5 MILESTONE 4 132 Chapter 5 ■ Domain Class Development 133 5.1 CODING THE DOMAIN CLASSES 134 5.1.1 Reusing External Legacy Code 134 5.1.2 Reusing Internal Legacy Code 136 5.1.3 Coding a Domain Class from Scratch 137 5.1.4 Adding Functionality: Constructor and Getters 138 5.2 SOFTWARE TESTING 139 5.2.1 Test Case Design 141 5.2.2 Unit Testing Frameworks 142 5.2.3 Unit Testing the Homeroom Domain Classes 146 5.2.4 Unit Testing the Homebase Domain Classes 147 5.2.5 Code Synchronization and Integration Testing 151 5.3 DEBUGGING AND REFACTORING 154 5.3.1 Debugging 154 5.3.2 Identifying Bad Smells 156 Aside: Using Software Metrics 158 5.3.3 Refactoring 159 5.4 CLIENT REVIEW AND ISSUE TRACKING 162 5.4.1 Client Review 162 5.4.2 Issue Tracking 163 5.5 SUMMARY 164 5.6 MILESTONE 5 165 Chapter 6 ■ Database Development 167 6.1 DATABASE PRINCIPLES 168 6.1.1 Relations and Tables 169 Table Naming Conventions 170 6.1.2 Queries 172 6.1.3 Normalization 173 6.1.4 Keys 175 6.1.5 Concurrency Control 176 xii ■ Contents 6.2 DATABASE ACCESS 177 6.2.1 Connecting the Program to the Database 178 6.2.2 Table Creation and Dropping 179 6.2.3 CRUD Functions 181 Create: Inserting Rows into a Table 182 Retrieving Rows from a Table 182 Update: Altering Rows in a Table 184 Delete: Removing Rows from a Table 185 6.2.4 Database Security 185 6.2.5 Database Integrity 187 6.2.6 Adding a Database Abstraction Layer 190 6.3 DATABASE TESTING 191 6.3.1 Testing the dbShifts.php Module 191 6.3.2 Testing the dbPersons.php Module 193 6.3.3 Testing the dbBookings.php Module 195 6.3.4 Testing the dbRooms.php Module 196 6.3.5 Integration Testing: Persons, Bookings, and Rooms 197 6.4 CLIENT REVIEW AND ISSUE TRACKING 200 6.4.1 Client Review 200 6.4.2 Issue Tracking 201 6.5 SUMMARY 205 6.6 MILESTONE 6 205 Chapter 7 ■ User Interface Development 207 7.1 PRINCIPLES 208 7.1.1 Model-View-Controller Pattern 209 MVC Example 1: Editing a Shift in Homebase 211 MVC Example 2: Editing a Person in Homeroom 212 MVC Example 3: Editing a Stop in Homeplate 213 7.1.2 Linkages among MVC triples 214 7.1.3 User-Level Security 216 User Login and Password Encryption 216 User Access Levels 218 Enforcement of Access Levels 218 Contents ■ xiii 7.1.4 Protection against Outside Attacks 219 Avoiding SQL Injection Attacks 219 Avoiding Cross-Site Scripting Attacks 220 7.2 PRACTICE 221 7.2.1 Sessions, Query Strings, and Global Variables 221 7.2.2 Working with Scripts and HTML 223 Scripting Example 1: Editing a Shift 224 Scripting Example 2: Managing a Sub Call List 226 7.2.3 Reading Deeply 227 7.2.4 Using JavaScript and jQuery UI to Improve the User Interface 231 7.2.5 Responsive User Interfaces 234 Responsive user interface design 236 7.3 TESTING, DEBUGGING, AND REFACTORING 238 7.3.1 Testing a User Interface 240 Organizing the Testing Process 243 7.3.2 Refactoring: Removing a Layering Violation 243 7.4 ADDING A NEW FEATURE: ALL LAYERS IMPACTED 246 Changing the Edit Person MVC Triple 247 Changing the Search for Persons MVC Triple 248 Changing the Schedule Person MVC Triple 249 Changing the Edit Shift MVC Triple 250 Changing the Sub Call List MVC Triple 251 7.5 CLIENT REVIEW AND ISSUE TRACKING 252 7.5.1 A User Interface Bug 253 7.5.2 A Multi-Layer Bug 256 7.6 SUMMARY 258 7.7 MILESTONE 7 259 Chapter 8
Recommended publications
  • CV Pedro Huichalaf
    Abogado, Magíster © Derecho Informático y de las Telecomunicaciones Pedro Mariano Huichalaf Roa @huichalaf Lord Cochrane 184, depto. 1116 Santiago Centro Rut: 13.021.045-7 PedroHuichalaf Fecha nacimiento: 29-09-1976 Estado civil: Soltero Nacionalidad Chilena www.culturadigital.cl Móvil: +569 99183176 [email protected] Asesor jurídico parlamentario en tecnología y telecomunicaciones. Abogado división jurídica de la Subsecretaría de Telecomunicaciones Director de ONG META http://www.ongmeta.org Formación académica 1982-1994 Educación Básica y Media completa Colegio Rubén Castro, avda. El Bosque 1388 Viña del Mar Grado Licenciado 1995-2004 Estudio y egreso de la Carrera de Derecho con distinción Universidad de Valparaíso, Errazuriz 2120, Valparaíso. Nota 7.0 2005-2006 Memoria de grado Nota 7.0 distinción máxima Distinción máxima Confección y calificación de Memoria de Grado titulada “Derecho a la Privacidad y Nuevas Tecnologías de la Información y las Comunicaciones”. Nota 7.0 2007-2007 Práctica profesional Nota 7.0 distinción máxima Distinción máxima Práctica Profesional en Corporación de Asistencia Judicial de Valparaíso, Abril a Noviembre, sección Civil-Laboral. 2008-2008 Diplomado en Derecho Informático Nota 6.0 Diplomado en la Universidad de Chile en Santiago. Marzo a Monografía Diplomado Septiembre. Desarrollo monografía titulada “Evolución de la Sociedad Civil en las Políticas Tecnológicas del Estado”. Este diplomado forma parte del Magíster en Derecho de la Informática y de las Telecomunicaciones. 2009-2009 Diploma de excelencia Reconocimiento En práctica profesional por temporada año 2008 entregado Mejor postulante por Corporación de Asistencia Judicial de Valparaíso. Año 2008 2010-2010 Diplomado en Derecho de las Telecomunicaciones Diplomado en la Universidad de Chile en Santiago.
    [Show full text]
  • Installing AMPPS to Run Wordpress on Windows PC
    The Customize Windows Technology Blog http://thecustomizewindows.com Installing AMPPS to Run WordPress on Windows PC Author : Abhishek Installing AMPPS to Run WordPress on Windows PC has the advantage of getting a Control Panel somewhat like cPanel plus itself is a good resource of LAMP CMS. AMPPS is actually a software stack of Apache, Mysql, PHP, Perl, Python and proprietary Softaculous auto installer with a GUI for your desktops and servers. I repeat - for Servers too. Its Free. Installing AMPPS to Run WordPress is really more easier than we had with age old XAMPP we used to install WordPress with. Installing AMPPS to Run WordPress : Forewords Right now we will be installing AMPPS to Run WordPress on Windows PC. At today night we will install AMPPS to Run WordPress on LAMP server! The urls of the resources for AMPPS are mentioned here : You need to download AMPPS following this URL for Installing AMPPS to Run WordPress on Windows PC Some Basics on LAMP Server AMPPS can run on Mac too. There is a separate version. Steps for Installing AMPPS to Run WordPress on Windows PC Download AMPPS and Install on Windows. Its easy. When you run AMPPS for the first time make sure your Internet connection is active. You will get an Serverside panel like this : 1 / 3 The Customize Windows Technology Blog http://thecustomizewindows.com You need MySQL, PHP, Apache to run. This is not your control panel to install WordPress. You will get the control panel at : http://localhost/ampps-admin You can basically install WordPress in two ways : 1.
    [Show full text]
  • Hackerspaces
    d WP4 | CASE STUDY Report: Hackerspaces Theme [ssh.2013.3.2-1][Social Innovation- Empowering People, changing societies] Project Full Title: “Transformative Social Innovation Theory project” Grant Agreement n. 613169 This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no 613169 Suggested citation: Sabine Hielscher, Adrian Smith, Mariano Fressoli (2015) WP4 Case Study Report: Hackerspaces, Report For the TRANSIT FP7 Project, SPRU, University oF Sussex, Brighton. Acknowledgements: We wish to thank everyone in the Hackerspace scene who helped us with our research, whether through interviews, welcoming us to Hackerspaces and events, or putting us in touch with others. We also thank our colleagues in the TRANSIT project, at SPRU, at UNQ and Fundación Cenit For their help and encouragement with the research. Finally, we thank the European Commission and their FP7 research programme For Funding the TRANSIT project. Date: 14 January 2015 Authors: Sabine Hielscher, Adrian Smith, Mariano Fressoli Contact person: Adrian Smith Table of contents 1 Introduction to Hackerspaces 2 Methodology 2.1 Researcher relations to the case 2.2 Methods 3 Analysis of transnational network(ing) 3.1 Transnational networking: Hackerspaces 3.2 Aspects of ‘innovation’ and ‘change’ of the transnational network(ing) 3.3 Aspects of empowerment and disempowerment of the transnational network(ing) 3.4 Other issues about the transnational networking 4 Local initiative
    [Show full text]
  • The Global Office: a New Opportunity for the City of Buenos Aires?
    THE GLOBAL OFFICE: A NEW OPPORTUNITY FOR THE CITY OF BUENOS AIRES? The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Quiroga Barrera Oro, Martin Javier. 2021. THE GLOBAL OFFICE: A NEW OPPORTUNITY FOR THE CITY OF BUENOS AIRES?. Master's thesis, Harvard Graduate School of Design. Citable link https://nrs.harvard.edu/URN-3:HUL.INSTREPOS:37367639 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA THE GLOBAL OFFICE: A NEW OPPORTUNITY FOR THE CITY OF BUENOS AIRES? A Thesis Submitted to the Department of Urban Planning and Design, Harvard University Graduate School of Design by Martín Javier QUIROGA BARRERA ORO In Partial Fulfillment of the Requirements for the Degree of Master in Urban Planning May 2021 The author hereby grants Harvard University permission to reproduce and distribute copies of this Thesis, in whole or in part, for educational purposes. ___________________ ___________________ Student Thesis Advisor THE GLOBAL OFFICE: A NEW OPPORTUNITY FOR THE CITY OF BUENOS AIRES? Martin J. Quiroga Barrera Oro Thesis Supervisor: Diane Davis, Charles Dyer Norton Professor of Regional Planning and Urbanism CONTENTS ABSTRACT ............................................................................................................................... 8
    [Show full text]
  • Wordpress for Conservation & Land Trusts
    WORDPRESS FOR CONSERVATION & LAND TRUSTS Leveraging the leading CMS for your Trust’s website September 2, 2015 WORDPRESS FOR CONSERVATION & LAND TRUSTS About the Author .................................................................................................................... 5 Preface ........................................................................................................................................ 5 Introduction ............................................................................................................................. 6 Why Wordpress? ....................................................................................................................................................... 6 Stop editing HTML, Start focusing on your content ................................................................................. 7 Enable more contributors, retain control ..................................................................................................... 7 Respond to each visitor’s screen size and device capabilities .............................................................. 8 Getting started ......................................................................................................................... 9 It’s about the audience ........................................................................................................................................... 9 Marketing and Search Engine Optimization .............................................................................................
    [Show full text]
  • Download (1MB)
    МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ОДЕСЬКИЙ ДЕРЖАВНИЙ ЕКОЛОГІЧНИЙ УНІВЕРСИТЕТ Факультет Магістерської підготовки_ Кафедра Інформаційних технологій__ МАГІСТЕРСЬКА КВАЛІФІКАЦІЙНА РОБОТА на тему: Розробка хелпдеск для моніторингу результатів аудиту ІС_ Виконав студент 2 курсу групи МІС-19_ спеціальності 122 Комп’ютерні науки_ ____________________________________ Кульчицький Ярослав Олександрович__ Керівник д.т.н., професор______________ Казакова Надія Феліксівна________________ Рецензент регіональний координатор Програми EGAP Копиченко Іван Юрийович Одеса 2020 2 МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ОДЕСЬКИЙ ДЕРЖАВНИЙ ЕКОЛОГІЧНИЙ УНІВЕРСИТЕТ Факультет _Магістерської підготовки__________________________________ Кафедра _Інформаційних технологій_____________________________________ Рівень вищої освіти _магістр________________________________________________________ Спеціальність 122 Комп’ютерні науки_____________________________________ (шифр і назва) ЗАТВЕРДЖУЮ Завідувач кафедри__________________ ____________________________ “ 26 ” жовтня 2020 р. З А В Д А Н Н Я НА МАГІСТЕРСЬКУ КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ ___________________________Кульчицького Ярослава Олександровича________________ (прізвище, ім’я, по батькові) 1. Тема роботи __« Розробка хелпдеск для моніторингу результатів аудиту ІС»_ керівник роботи __Казакова Надія Феліксівна, д.т.н., професор_________________, ( прізвище, ім’я, по батькові, науковий ступінь, вчене звання) затверджені наказом закладу вищої освіти від “ 16 ” жовтня № 194 «с» 2. Строк подання студентом роботи 7 грудня
    [Show full text]
  • Installer Crack Pkg
    Installer crack pkg click here to download but i want to install the game: i am alive. but its an pkg file and i cant . The retail PKG files will install but the Cracked PKG files fail to install. Restarting in Target Disk Mode If you want to install NewMac's bundled and type: $ /Volumes/Mac OS X Install Disc 1/System/Installation/Packages/ Note that . 5 days ago DownloadDirectX End-User Runtime Web Installer · Close windowDirectX End- User Runtime Web Installer. Skype for Business on Mac. Details. Download the installer files based on the download methods available for your product. Click www.doorway.ru and follow the prompts to continue. Image of the. All packages available in the latest release of Anaconda are listed on the pages linked below. These packages may be installed with the command conda install. The individual Unity installers are provided www.doorway.ru files, which can be installed the option is presented as Torrent download (Win+Mac) in the Downloads. Ubuntu packages. Ubuntu comes with darktable packages. You can install them with. sudo apt-get install darktable. If you need a newer version than what is. Learn www.doorway.ru files and view a list of programs that open them. A PKG file is a package of compressed installer files used to install a software program. Get Involved. If you want to help out with developing and testing, grab a daily build. Our GitHub project is here and the issue tracker for the server here. , Windows Installer (EXE) · Mac Package Installer (PKG) · AS Package, n/a, n/a Please refer to our documentation for install/uninstall instructions.
    [Show full text]
  • 20 Pays Et 250 Villes Au Festival D'initiation Au Logiciel Libre En
    20 pays et 250 villes au Festival d’Initiation au Logiciel Libre en Amérique Latine Une nouvelle confirmation qu’il y a décidément une belle énergie autour du logiciel libre en Amérique Latine. Un article qui vaut surtout pour ces nombreux liens (en langue originale) mais qui est également pour moi l’occasion de vous présenter le projet Global Voices, « un réseau mondial de blogueurs qui sélectionnent, traduisent et publient des revues de blogs du monde entier »[1]. Amérique Latine : Le festival d’initiation au logiciel libre 2010 Latin America: Free Software Installation Festival 2010 Renata Avila – 30 avril 2010 – Global Voices (Traduction : Loïc – Licence Creative Commons By) Dans toute l’Amérique latine, le logiciel libre est devenu essentiel pour de nombreux pays et de nombreuses personnes qui ont choisi d’utiliser ces outils, dans les administrations publiques et pour répondre à différents problèmes. A Cuba par exemple, le mouvement pour le logiciel libre a soutenu le développement durable. Le gouvernement équatorien a quant à lui mis en avant une politique d’adoption du logiciel libre, d’une façon similaire au Brésil, un autre chef de file du logiciel libre et de la culture « libre ». Le 24 avril 2010, de nombreux développeurs et utilisateurs des logiciels libres en Amérique Latine ont célébré ce mouvement par une fête nommée FLISOL2010, comme l’expliqueLeo ci- dessous : FLISOL est le Festival d’Initiation au Logiciel Libre en Amérique Latine, un événement organisé par la communauté latino-américaine du logiciel libre depuis 2005. FLISOL a lieu le quatrième samedi d’avril chaque année. La sixième édition de FLISOL a été célébrée le 24 avril 2010.
    [Show full text]
  • Open Source Yearbook 2018
    2018 OPEN SOURCE YEARBOOK OPEN SOURCE OPEN SOURCE YEARBOOK 2018 ..... ........ .... ... .. .... .. .. ... .. OPENSOURCE.COM Opensource.com publishes stories about creating, adopting, and sharing open source solutions. Visit Opensource.com to learn more about how the open source way is improving technologies, education, business, government, health, law, entertainment, humanitarian efforts, and more. Submit a story idea: https://opensource.com/story Email us: [email protected] . OPEN SOURCE YEARBOOK 2018 . CC BY-SA 4.0 . OPENSOURCE.COM 3 Open Source Cheat Sheets Visit our cheat sheets collection for free downloads, including: Blender: Discover the most commonly and frequently used hotkeys and mouse button presses. Containers: Learn the lingo and get the basics in this quick and easy containers primer. Go: Find out about many uses of the go executable and the most important packages in the Go standard library. Inkscape: Inkscape is an incredibly powerful vector graphics program that you can use to draw scaleable illustrations or edit vector artwork that other people have created. Linux Networking: In this downloadable PDF cheat sheet, get a list of Linux utilities and commands for managing servers and networks. Python 3.7: This cheat sheet rounds up a few built-in pieces to get new Python programmers started. Raspberry Pi: See what you need to boot your Pi, how to install the operating system, how to enable SSH and connect to WiFi, how to install software and update your system, and links for where to get further help. SSH: Most people know SSH as a tool for remote login, which it is, but it can be used in many other ways.
    [Show full text]
  • El Movimiento Del Software Libre En Uruguay Luis Alonzo Fulchi
    UNIVERSIDAD DE LA REPÚBLICA FACULTAD DE CIENCIAS SOCIALES DEPARTAMENTO DE SOCIOLOGÍA Tesis Licenciatura en Sociología El movimiento del software libre en Uruguay Luis Alonzo Fulchi Tutor: Alfredo Falero 2011 UNIVERSIDAD DE LA REPUBLICA URUGUAY El movimiento del Software Libre en Uruguay 1 - Mouografía de grado Autor: Luis Alanzo Fulchi ibunal: Alfredo Palero (Tutor), Alón Prrcz Casas, Grngory Randall Facul t<:ld de Ciencias Sociales - U ui versidad de la República Última lllOdificaC'ión: 3 ele mayo de 2011 Resurncn Existe un movimieut. o global, que promueve formas de producción, dist1'i1Jud611 y difu­ sión del software, ba adas en la libre circulación de saberes. opuesta a un modelo empre­ sarial, basado en liccucias restrictivas y eu la ge11eració11 dL' monopolios artificiales sobre bienes intangiblPs. Este rnoviniicnfo a su vez , sP confornrn como 1111a arista iná.s eu el complejo de agentes que se enfrentan un lo qu0 puede dcnomiuarne ]¡:¡,Batalla del Software. Eu est' trabajo. se pretende dar c11e111 a de a<111ellos grupos qur conforma11 PI movimien- to del Software Libre en Uruguay : explonu s11s <'strue1uras, sus if'nsio11Ps, sns estrategias ;.. � ::.__ ' c enci n r cl »1ftt'- . : y sus ar as a la hora de luchar por el poder simbólico en el escenario pla L a o ·:;.\� \ ,. t , - ·• I . .� • ...'( ',�, riorrnenLe. 1 • ·� .. 1 l ,, \., - '} r J '\. ';/ Palabm..s clrwe: capitalismo coguitivo, moviinientos sociales. software libre\ TIC. , I / ,/ 1 Esta obra está bajo una licencia Reco11ocirnie11to-Colllpartirlgual 3.0 de Crcative Commons. Para ver una. copia de esta licencia, visite http: // creati vecornmons. org/licenses/by-sa/3. O/es/legalcode .
    [Show full text]
  • Learning PHP, Mysql & Javascript, 5Th Edition
    Learning PHP, MySQL, & JavaScript With jQuery, CSS, & HTML5 Fifth Edition Robin Nixon 1. Learning PHP, MySQL, & JavaScript 2. Preface 1. Audience 2. Assumptions This Book Makes 3. Organization of This Book 4. Supporting Books 5. Conventions Used in This Book 6. Using Code Examples 7. Safari® Books Online 8. How to Contact Us 9. Acknowledgments 3. 1. Introduction to Dynamic Web Content 1. HTTP and HTML: Berners-Lee’s Basics 2. The Request/Response Procedure 3. The Benefits of PHP, MySQL, JavaScript, CSS, and HTML5 1. Using PHP 2. Using MySQL 3. Using JavaScript 4. Using CSS 4. And Then There’s HTML5 5. The Apache Web Server 6. Handling mobile devices 7. About Open Source 8. Bringing It All Together 9. Questions 4. 2. Setting Up a Development Server 1. What Is a WAMP, MAMP, or LAMP? 2. Installing Ampps on Windows 1. Testing the Installation 3. Installing Ampps on Mac OS X 4. Installing a LAMP on Linux 5. Working Remotely 1. Logging In 2. Using FTP 6. Using a Program Editor 7. Using an IDE 8. Questions 5. 3. Introduction to PHP 1. Incorporating PHP Within HTML 2. This Book’s Examples 3. The Structure of PHP 1. Using Comments 2. Basic Syntax 3. Variables 4. Operators 5. Variable Assignment 6. Multiple-Line Commands 7. Variable Typing 8. Constants 9. Predefined Constants 10. The Difference Between the echo and print Commands 11. Functions 12. Variable Scope 4. Questions 6. 4. Expressions and Control Flow in PHP 1. Expressions 1. TRUE or FALSE? 2. Literals and Variables 2.
    [Show full text]
  • Towards Left Duff S Mdbg Holt Winters Gai Incl Tax Drupal Fapi Icici
    jimportneoneo_clienterrorentitynotfoundrelatedtonoeneo_j_sdn neo_j_traversalcyperneo_jclientpy_neo_neo_jneo_jphpgraphesrelsjshelltraverserwritebatchtransactioneventhandlerbatchinsertereverymangraphenedbgraphdatabaseserviceneo_j_communityjconfigurationjserverstartnodenotintransactionexceptionrest_graphdbneographytransactionfailureexceptionrelationshipentityneo_j_ogmsdnwrappingneoserverbootstrappergraphrepositoryneo_j_graphdbnodeentityembeddedgraphdatabaseneo_jtemplate neo_j_spatialcypher_neo_jneo_j_cyphercypher_querynoe_jcypherneo_jrestclientpy_neoallshortestpathscypher_querieslinkuriousneoclipseexecutionresultbatch_importerwebadmingraphdatabasetimetreegraphawarerelatedtoviacypherqueryrecorelationshiptypespringrestgraphdatabaseflockdbneomodelneo_j_rbshortpathpersistable withindistancegraphdbneo_jneo_j_webadminmiddle_ground_betweenanormcypher materialised handaling hinted finds_nothingbulbsbulbflowrexprorexster cayleygremlintitandborient_dbaurelius tinkerpoptitan_cassandratitan_graph_dbtitan_graphorientdbtitan rexter enough_ram arangotinkerpop_gremlinpyorientlinkset arangodb_graphfoxxodocumentarangodborientjssails_orientdborientgraphexectedbaasbox spark_javarddrddsunpersist asigned aql fetchplanoriento bsonobjectpyspark_rddrddmatrixfactorizationmodelresultiterablemlibpushdownlineage transforamtionspark_rddpairrddreducebykeymappartitionstakeorderedrowmatrixpair_rddblockmanagerlinearregressionwithsgddstreamsencouter fieldtypes spark_dataframejavarddgroupbykeyorg_apache_spark_rddlabeledpointdatabricksaggregatebykeyjavasparkcontextsaveastextfilejavapairdstreamcombinebykeysparkcontext_textfilejavadstreammappartitionswithindexupdatestatebykeyreducebykeyandwindowrepartitioning
    [Show full text]