Liquid War 6 a Unique Multiplayer Wargame Documentation for Version 0.6.3902 Codename “Goliath” 6 May 2015

Total Page:16

File Type:pdf, Size:1020Kb

Liquid War 6 a Unique Multiplayer Wargame Documentation for Version 0.6.3902 Codename “Goliath” 6 May 2015 Liquid War 6 A unique multiplayer wargame Documentation for version 0.6.3902 codename \Goliath" 6 May 2015 by Christian Mauduit <[email protected]> Liquid War 6, a unique multiplayer wargame. Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Christian Mauduit <[email protected]> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". i Table of Contents 1 Introduction::::::::::::::::::::::::::::::::::::: 1 1.1 In a nutshell ::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Project status :::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2.1 What works, and what does not (yet):::::::::::::::::::::: 1 1.2.2 What has changed since Liquid War 5.x? :::::::::::::::::: 2 1.2.3 Revision history ::::::::::::::::::::::::::::::::::::::::::: 2 1.2.4 Road map::::::::::::::::::::::::::::::::::::::::::::::::: 3 1.3 How you can help :::::::::::::::::::::::::::::::::::::::::::::: 3 1.3.1 Help GNU :::::::::::::::::::::::::::::::::::::::::::::::: 3 1.3.2 Todo list :::::::::::::::::::::::::::::::::::::::::::::::::: 3 2 User's manual ::::::::::::::::::::::::::::::::::: 5 2.1 Mailing lists:::::::::::::::::::::::::::::::::::::::::::::::::::: 5 2.1.1 General discussion::::::::::::::::::::::::::::::::::::::::: 5 2.1.2 Announcements ::::::::::::::::::::::::::::::::::::::::::: 5 2.1.3 Bugs :::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 2.1.4 IRC channel::::::::::::::::::::::::::::::::::::::::::::::: 5 2.2 Getting the game :::::::::::::::::::::::::::::::::::::::::::::: 6 2.2.1 Download source :::::::::::::::::::::::::::::::::::::::::: 6 2.2.2 Download binaries::::::::::::::::::::::::::::::::::::::::: 6 2.2.3 GIT repository :::::::::::::::::::::::::::::::::::::::::::: 6 2.2.4 Daily snapshots ::::::::::::::::::::::::::::::::::::::::::: 6 2.2.5 Check integrity :::::::::::::::::::::::::::::::::::::::::::: 7 2.3 Installation :::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3.1 Requirements ::::::::::::::::::::::::::::::::::::::::::::: 8 2.3.2 Optional libraries:::::::::::::::::::::::::::::::::::::::::: 9 2.3.3 Optional tools:::::::::::::::::::::::::::::::::::::::::::: 10 2.3.4 Installing requirements using RPM/DEB packages :::::::: 10 2.3.5 Compiling:::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Extra maps ::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.4.1 The extra maps package :::::::::::::::::::::::::::::::::: 12 2.4.2 Install extra maps on GNU/Linux and POSIX systems:::: 12 2.4.3 Raw install of extra maps (all-platforms) ::::::::::::::::: 12 2.5 Troubleshooting::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5.1 Compilation problems :::::::::::::::::::::::::::::::::::: 13 2.5.2 Check installation :::::::::::::::::::::::::::::::::::::::: 13 2.5.3 Problems running the game :::::::::::::::::::::::::::::: 13 2.6 Quick start ::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6.1 Quick start::::::::::::::::::::::::::::::::::::::::::::::: 14 2.7 Strategy tips :::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.8 User interface ::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.8.1 A reduced set of keys::::::::::::::::::::::::::::::::::::: 14 2.8.2 Combining mouse, keyboard and joysticks :::::::::::::::: 15 ii Liquid War 6 2.8.3 Quit with F10:::::::::::::::::::::::::::::::::::::::::::: 16 2.9 Solo game::::::::::::::::::::::::::::::::::::::::::::::::::::: 16 2.9.1 Current state :::::::::::::::::::::::::::::::::::::::::::: 16 2.9.2 Team profiles::::::::::::::::::::::::::::::::::::::::::::: 16 2.9.3 Weapons ::::::::::::::::::::::::::::::::::::::::::::::::: 16 2.10 Network games :::::::::::::::::::::::::::::::::::::::::::::: 17 2.10.1 Choose your \public url" :::::::::::::::::::::::::::::::: 17 2.10.2 Starting a node ::::::::::::::::::::::::::::::::::::::::: 18 2.10.3 Connecting to a node ::::::::::::::::::::::::::::::::::: 18 2.10.4 Communities:::::::::::::::::::::::::::::::::::::::::::: 18 2.10.5 Firewall settings :::::::::::::::::::::::::::::::::::::::: 18 2.10.6 Is the game secure? ::::::::::::::::::::::::::::::::::::: 19 2.11 Graphics::::::::::::::::::::::::::::::::::::::::::::::::::::: 20 2.11.1 Standard, high and low resolution ::::::::::::::::::::::: 20 2.11.2 Display rate::::::::::::::::::::::::::::::::::::::::::::: 20 2.12 Sound & music :::::::::::::::::::::::::::::::::::::::::::::: 21 2.12.1 Current status :::::::::::::::::::::::::::::::::::::::::: 21 2.12.2 The future :::::::::::::::::::::::::::::::::::::::::::::: 21 2.13 Config file ::::::::::::::::::::::::::::::::::::::::::::::::::: 21 2.14 Logs ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 21 2.15 Report bugs ::::::::::::::::::::::::::::::::::::::::::::::::: 22 3 Hacker's guide ::::::::::::::::::::::::::::::::: 23 3.1 Designing levels ::::::::::::::::::::::::::::::::::::::::::::::: 23 3.1.1 Why is level design so important? :::::::::::::::::::::::: 23 3.1.2 Format overview ::::::::::::::::::::::::::::::::::::::::: 23 3.1.3 Resolution (map size) :::::::::::::::::::::::::::::::::::: 23 3.1.4 Metadata :::::::::::::::::::::::::::::::::::::::::::::::: 24 3.1.5 map.png ::::::::::::::::::::::::::::::::::::::::::::::::: 24 3.1.6 layer2.png ... layer7.png :::::::::::::::::::::::::::::::::: 24 3.1.7 texture.png, texture.jpeg and texture-alpha.jpeg :::::::::: 25 3.1.8 glue.png and boost.png::::::::::::::::::::::::::::::::::: 26 3.1.9 danger.png and medicine.png ::::::::::::::::::::::::::::: 26 3.1.10 one-way-<direction>.png::::::::::::::::::::::::::::::::: 27 3.1.11 cursor.png and cursor-color.png ::::::::::::::::::::::::: 27 3.1.12 rules.xml:::::::::::::::::::::::::::::::::::::::::::::::: 27 3.1.13 hints.xml ::::::::::::::::::::::::::::::::::::::::::::::: 28 3.1.14 style.xml :::::::::::::::::::::::::::::::::::::::::::::::: 28 3.1.15 teams.xml::::::::::::::::::::::::::::::::::::::::::::::: 28 3.1.16 Resampling ::::::::::::::::::::::::::::::::::::::::::::: 29 3.1.17 Music ::::::::::::::::::::::::::::::::::::::::::::::::::: 29 3.1.18 Experience (\exp"):::::::::::::::::::::::::::::::::::::: 30 3.2 Translating ::::::::::::::::::::::::::::::::::::::::::::::::::: 31 3.2.1 Using gettext :::::::::::::::::::::::::::::::::::::::::::: 31 3.2.2 Formatted strings :::::::::::::::::::::::::::::::::::::::: 31 3.2.3 Partial translation:::::::::::::::::::::::::::::::::::::::: 31 3.3 Architecture :::::::::::::::::::::::::::::::::::::::::::::::::: 32 3.3.1 C + Guile:::::::::::::::::::::::::::::::::::::::::::::::: 32 iii 3.3.2 Threading and SMP:::::::::::::::::::::::::::::::::::::: 32 3.3.3 Internal libraries ::::::::::::::::::::::::::::::::::::::::: 33 3.4 Memory structures :::::::::::::::::::::::::::::::::::::::::::: 35 3.5 100% predictable algorithm ::::::::::::::::::::::::::::::::::: 35 3.6 Graphics backends :::::::::::::::::::::::::::::::::::::::::::: 36 3.6.1 Modularity::::::::::::::::::::::::::::::::::::::::::::::: 36 3.6.2 List of backends :::::::::::::::::::::::::::::::::::::::::: 36 3.6.3 How to write a new backend:::::::::::::::::::::::::::::: 37 3.7 Core algorithm:::::::::::::::::::::::::::::::::::::::::::::::: 38 3.7.1 Introduction ::::::::::::::::::::::::::::::::::::::::::::: 39 3.7.2 Level, game struct, game state and pilot :::::::::::::::::: 39 3.7.3 Getting informations about where fighters are :::::::::::: 40 3.8 Compilation tips :::::::::::::::::::::::::::::::::::::::::::::: 40 3.8.1 Advanced ./configure options ::::::::::::::::::::::::::::: 40 3.8.2 Debian packages ::::::::::::::::::::::::::::::::::::::::: 41 3.8.3 Red Hat packages :::::::::::::::::::::::::::::::::::::::: 42 3.8.4 Microsoft Windows msys/mingw32 port :::::::::::::::::: 42 3.8.5 Mac OS X port :::::::::::::::::::::::::::::::::::::::::: 46 3.8.6 GP2X port::::::::::::::::::::::::::::::::::::::::::::::: 48 3.9 Coding guidelines ::::::::::::::::::::::::::::::::::::::::::::: 49 3.9.1 Project goals reminder ::::::::::::::::::::::::::::::::::: 49 3.9.2 Common sense ::::::::::::::::::::::::::::::::::::::::::: 50 3.9.3 Unitary tests ::::::::::::::::::::::::::::::::::::::::::::: 50 3.9.4 Memory allocation ::::::::::::::::::::::::::::::::::::::: 50 3.9.5 Private and public interfaces ::::::::::::::::::::::::::::: 51 3.9.6 Commit policy ::::::::::::::::::::::::::::::::::::::::::: 51 3.9.7 Audit the code ::::::::::::::::::::::::::::::::::::::::::: 51 3.10 Using the console :::::::::::::::::::::::::::::::::::::::::::: 52 3.11 Advanced tweaking :::::::::::::::::::::::::::::::::::::::::: 53 3.11.1 Hacking ressources :::::::::::::::::::::::::::::::::::::: 53 3.11.2 Optimize for speed :::::::::::::::::::::::::::::::::::::: 53 3.12 Writing modules ::::::::::::::::::::::::::::::::::::::::::::: 53 3.13 Use as a library :::::::::::::::::::::::::::::::::::::::::::::: 53 3.14 Network protocol :::::::::::::::::::::::::::::::::::::::::::: 53 3.14.1 No server, no client, only nodes:::::::::::::::::::::::::: 53 3.14.2 Out of band messages ::::::::::::::::::::::::::::::::::: 54 3.14.3 Regular messages overview :::::::::::::::::::::::::::::: 55 3.14.4 Regular control messages :::::::::::::::::::::::::::::::: 56 3.14.5 Regular MISS messages ::::::::::::::::::::::::::::::::: 58 3.14.6 Regular META messages :::::::::::::::::::::::::::::::: 58 3.14.7 Regular DATA messages :::::::::::::::::::::::::::::::: 58 3.14.8 Other raw technical stuff (WIP) :::::::::::::::::::::::::
Recommended publications
  • Emacspeak — the Complete Audio Desktop User Manual
    Emacspeak | The Complete Audio Desktop User Manual T. V. Raman Last Updated: 19 November 2016 Copyright c 1994{2016 T. V. Raman. All Rights Reserved. Permission is granted to make and distribute verbatim copies of this manual without charge provided the copyright notice and this permission notice are preserved on all copies. Short Contents Emacspeak :::::::::::::::::::::::::::::::::::::::::::::: 1 1 Copyright ::::::::::::::::::::::::::::::::::::::::::: 2 2 Announcing Emacspeak Manual 2nd Edition As An Open Source Project ::::::::::::::::::::::::::::::::::::::::::::: 3 3 Background :::::::::::::::::::::::::::::::::::::::::: 4 4 Introduction ::::::::::::::::::::::::::::::::::::::::: 6 5 Installation Instructions :::::::::::::::::::::::::::::::: 7 6 Basic Usage. ::::::::::::::::::::::::::::::::::::::::: 9 7 The Emacspeak Audio Desktop. :::::::::::::::::::::::: 19 8 Voice Lock :::::::::::::::::::::::::::::::::::::::::: 22 9 Using Online Help With Emacspeak. :::::::::::::::::::: 24 10 Emacs Packages. ::::::::::::::::::::::::::::::::::::: 26 11 Running Terminal Based Applications. ::::::::::::::::::: 45 12 Emacspeak Commands And Options::::::::::::::::::::: 49 13 Emacspeak Keyboard Commands. :::::::::::::::::::::: 361 14 TTS Servers ::::::::::::::::::::::::::::::::::::::: 362 15 Acknowledgments.::::::::::::::::::::::::::::::::::: 366 16 Concept Index :::::::::::::::::::::::::::::::::::::: 367 17 Key Index ::::::::::::::::::::::::::::::::::::::::: 368 Table of Contents Emacspeak :::::::::::::::::::::::::::::::::::::::::: 1 1 Copyright :::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • The Journal of AUUG Inc. Volume 25 ¯ Number 3 September 2004
    The Journal of AUUG Inc. Volume 25 ¯ Number 3 September 2004 Features: mychart Charting System for Recreational Boats 8 Lions Commentary, part 1 17 Managing Debian 24 SEQUENT: Asynchronous Distributed Data Exchange 51 Framework News: Minutes to AUUG board meeting of 5 May 2004 13 Liberal license for ancient UNIX sources 16 First Australian UNIX Developer’s Symposium: CFP 60 First Digital Pest Symposium 61 Regulars: Editorial 1 President’s Column 3 About AUUGN 4 My Home Network 5 AUUG Corporate Members 23 A Hacker’s Diary 29 Letters to AUUG 58 Chapter Meetings and Contact Details 62 AUUG Membership AppLication Form 63 ISSN 1035-7521 Print post approved by Australia Post - PP2391500002 AUUGN The journal of AUUG Inc. Volume 25, Number 3 September 2004 Editor ial Gr eg Lehey <[email protected]> After last quarter's spectacularly late delivery of For those newcomers who don't recall the “Lions AUUGN, things aregradually getting back to nor- Book”, this is the “Commentary on the Sixth Edi- mal. I had hoped to have this on your desk by tion UNIX Operating System” that John Lions the end of September,but it wasn't to be. Given wr ote for classes at UNSW back in 1977. Suppos- that that was only a couple of weeks after the “Ju- edly they werethe most-photocopied of all UNIX- ly” edition, this doesn’t seem to be such a prob- related documents. Ihad mislaid my photocopy, lem. I'm fully expecting to get the December is- poor as it was (weren't they all?) some time earli- sue out in time to keep you from boredom over er,soIwas delighted to have an easy to read ver- the Christmas break.
    [Show full text]
  • GIT—A Stupid Content Tracker
    GIT—A Stupid Content Tracker Junio C. Hamano Twin Sun, Inc. [email protected] Abstract The paper gives an overview of how git evolved and discusses the strengths and weaknesses of its design. Git was hurriedly hacked together by Linus Torvalds, after the Linux kernel project lost its license to use BitKeeper as its source code management system (SCM). It has since 1 Low level design quickly grown to become capable of managing the Linux kernel project source code. Other projects have started to replace their existing Git is a “stupid content tracker.” It is designed SCMs with it. to record and compare the whole tree states ef- ficiently. Unlike traditional source code control Among interesting things that it does are: systems, its data structures are not geared to- ward recording changes between revisions, but for making it efficient to retrieve the state of in- 1. giving a quick whole-tree diff, dividual revisions. 2. quick, simple, stupid-but-safe merge, The unit in git storage is an object. It records: 3. facilitating e-mail based patch exchange workflow, and • blob – the contents of a file (either the 4. helping to pin-point the change that caused contents of a regular file, or the path a particular bug by a bisection search in pointed at by a symbolic link). the development history. • tree – the contents of a directory, by recording the mapping from names to ob- The core git functionality is implemented as a jects (either a blob object or a tree object set of programs to allow higher-layer systems that represents a subdirectory).
    [Show full text]
  • Bazaar, Das DVCS
    Bazaar, das DVCS Marek Kubica 20. November 2008 Marek Kubica Bazaar, das DVCS Vorweg ein paar Infos Mit was ich so spiele Bazaar in der Arbeit Mercurial für Python-Projekte Git für den Rest Welche Spielzeuge lass ich links liegen CVS wozu noch wo es SVN gibt? SVN wozu noch wenn es DVCS gibt? darcs lohnt sich nicht mehr monotone, codeville, arch obsolete das selbsgehackte, tolle DVCS deines Nachbarn ;) Marek Kubica Bazaar, das DVCS Geschichte In the beginning, there was GNU Arch Marek Kubica Bazaar, das DVCS GNU Arch Die Anfänge von DVCS CVS stinkt, wir brauchen was besseres SVN ist Evolution, keine Revolution GNU Arch war das erste DVCS mit dem ich in Kontakt kam (larch) fürchterlich kompliziert wurde dann von tla ersetzt immer noch fürchterlich Canonical hat tla 1.2 geforkt und Bazaar, baz genannt Paralell dazu: revc = Arch 2.0 Marek Kubica Bazaar, das DVCS Baz als Rettung? Von heiÿen Kartoeln baz war in C Was passiert: Canonical ruft Bazaar-NG ins Leben, bzr, lässt baz fallen Bazaar-NG wird in Bazaar umgetauft baz ist tot, tla ist tot, larch ist tot, revc ist bedeutungslos Hurra, GNU Arch ist endlich tot, es lebe bzr! Marek Kubica Bazaar, das DVCS bzr, der Retter Was bietet Bazaar? in Python geschrieben, mit einigen Speedups in Pyrex (C) reguläre Releases (quasi jeden Monat) Einfache Bedienung Meist ausreichende Performance Umfangreiche Dokumentation: Programmmeldungen, Manpages, Wiki, IRC-Channel (wenn man Geduld hat) Flexible Einsatzmöglichkeiten (verschiedene Workows) 1 Git mit Bazaar simulieren 2 SVN in Bazaar nachbauen (für Nostalgiker) freier Hoster wo man Code hochladen kann (Launchpad) Marek Kubica Bazaar, das DVCS Zeitleiste 2005 war eine aufregende Zeit 26.
    [Show full text]
  • Analysis and Comparison of Distributed Version Control Systems
    Fachhochschul-Bachelorstudiengang SOFTWARE ENGINEERING A-4232 Hagenberg, Austria Analysis and Comparison of Distributed Version Control Systems Bachelorarbeit Teil 1 zur Erlangung des akademischen Grades Bachelor of Science in Engineering Eingereicht von Daniel Knittl-Frank Begutachter: DI Dr. Stefan Wagner Hagenberg, Juni 2010 Contents Abstract iii Kurzfassung iv 1 Introduction1 1.1 Motivation............................1 1.2 Goals...............................2 1.3 Content..............................2 2 Version Control in General3 2.1 Workflows.............................4 2.2 Foundations............................5 2.2.1 Glossary..........................5 2.2.2 Repository........................6 2.2.3 Working Directory....................7 2.2.4 Diff and Patch......................7 2.2.5 Merge...........................9 2.2.6 Mainline, Branches and Tags.............. 12 3 Centralized Version Control 14 3.1 Tools................................ 14 3.1.1 CVS............................ 14 3.1.2 Subversion........................ 15 4 Distributed Version Control 17 4.1 Differences............................. 17 4.2 Concepts............................. 19 4.2.1 Revision identifiers.................... 20 4.2.2 Integrity.......................... 20 4.2.3 History representation.................. 21 4.3 Tools................................ 21 4.3.1 Bazaar........................... 22 4.3.2 Git............................. 27 4.3.3 Mercurial......................... 32 i Contents ii 5 Comparison 38 5.1 Testing Scenario......................... 38 5.2 Results............................... 38 6 Conclusion 46 Abstract Version and configuration control systems have played an essential role in software development for the last decades. Starting with the new millennium a new trend surfaced, distributed version control: dedicated central servers for few authorized users lose importance in favor of a more dynamic workflow, in which every developer works with a copy of a project's complete history and changes are synchronized ad-hoc between developers.
    [Show full text]
  • Linux-Cookbook.Pdf
    LINUX COOKBOOK ™ Other Linux resources from O’Reilly Related titles Linux Device Drivers Exploring the JDS Linux Linux in a Nutshell Desktop Running Linux Learning Red Hat Enterprise Building Embedded Linux Linux and Fedora Systems Linux Pocket Guide Linux Security Cookbook Understanding the Linux Kernel Linux Books linux.oreilly.com is a complete catalog of O’Reilly’s books on Resource Center Linux and Unix and related technologies, including sample chapters and code examples. ONLamp.com is the premier site for the open source web plat- form: Linux, Apache, MySQL, and either Perl, Python, or PHP. Conferences O’Reilly brings diverse innovators together to nurture the ideas that spark revolutionary industries. We specialize in document- ing the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit conferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and IT professionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today with a free trial. LINUX COOKBOOK ™ Carla Schroder Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo Linux Cookbook™ by Carla Schroder Copyright © 2005 O’Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use.
    [Show full text]
  • SCM: a Look at Scons and GNU Arch
    SCM: A look at SCons and GNU Arch ¡ ¢ £ ¤ ¥ Ben Leslie ¦ § ¡ ¨ © ¢ § ¨ ¡ © ¨ © 1 WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents WHAT IS SCM? 2 WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? WHAT IS SCM? 2-A WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? • Versioning WHAT IS SCM? 2-B WHAT IS SCM? CM is the discpline of controlling the evolution of complex systems; SCM is its specialization for computer programs and associated documents No really, what is it ? • Versioning • Building WHAT IS SCM? 2-C BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed BUILD SYSTEM – PURPOSE 3 BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness. BUILD SYSTEM – PURPOSE 3-A BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness. • Don’t build anymore then needed – performance. BUILD SYSTEM – PURPOSE 3-B BUILD SYSTEM – PURPOSE Automate construction process • Build rules – how to change .c into .o • Capture all build rules Rebuild exactly what is needed • Build everything required – correctness.
    [Show full text]
  • Git and Gerrit in Action and Lessons Learned Along the Path to Distributed Version Control
    Git and Gerrit in Action And lessons learned along the path to distributed version control Chris Aniszczyk (Red Hat) Principal Software Engineer [email protected] http://aniszczyk.org About Me I've been using and hacking open source for ~12 years - contribute{d} to Gentoo Linux, Fedora Linux, Eclipse Hack on Eclipse, Git and other things at Red Hat Member of the Eclipse Board of Directors Member in the Eclipse Architecture Council I like to run! (2 mins short of Boston qualifying ;/) Co-author of RCP Book (www.eclipsercp.org) An Introduction to Git and Gerrit | © 2011 by Chris Aniszczyk Agenda History of Version Control (VCS) The Rise of Distributed Version Control (DVCS) Code Review with Git and Gerrit Lessons Learned at Eclipse moving to a DVCS Conclusion Q&A An Introduction to Git and Gerrit | © 2011 by Chris Aniszczyk Version Control Version Control Systems manage change “The only constant is change” (Heraclitus) An Introduction to Git and Gerrit | © 2011 by Chris Aniszczyk Why Version Control? VCS became essential to software development because: They allow teams to collaborate They manage change and allow for inspection They track ownership They track evolution of changes They allow for branching They allow for continuous integration An Introduction to Git and Gerrit | © 2011 by Chris Aniszczyk Version Control: The Ancients 1972 – Source Code Control System (SCCS) Born out of Bell Labs, based on interleaved deltas No open source implementations as far as I know 1982 – Revision Control System (RCS) Released as an alternative to SCCS
    [Show full text]
  • ⅀ Xref Local PDF
    ⬉ Topic Index Cross Reference Creation and Navigation Description Keystroke Function Note Cross References Emacs provides several cross reference tools. Some tools are unified under the unified xref interface some others are independent. with Emacs PEL support several of them: • The unified xref interface is available since Emacs version 25.1. This includes: • The xref unified interface can be used with various back-ends: 1. major-mode specific load/interpretation backend (such as what is used for Emacs Lisp) 2. Tags-based tools using external TAGS file with the etags syntax supported by the etags utility and other etags-compatible tools: • etags (Emacs tags utility) ; see how to create TAGS files with etags, used by the xref-etag-mode. • Universal Ctags (successor of Exuberant Ctags) • GNU GLOBAL gtags utility with Universal Ctags and Pygments plugin. • The gxref xref back-end 3. other specialized parsers based tools that do not use tags: • Programming language agnostic packages: • dumb-jump, a fast grep/ag/ripgrep-based engine to navigate in over 40 programming languages without tags/database index files. • Specialized packages for specific major modes: • rtag-xref, a RTags backend specialized for C/C++ code. It uses a client/server application. • info-xref an internal package used to navigate into info document external references. • The xref unified interface can also be used with various front-end selectors when several entries are found for a search: • The default xref selector that uses a *xref* buffer to show all search result • The ivy-xref interface to select candidates with ivy • The helm-xref interface to select candidates with helm.
    [Show full text]
  • A Technical Summary
    A Technical Summary Table A.1. Kerberos administrative ACL (MIT) Allow Deny Operation a A Add principals or policies d D Delete principals or policies m M Modify principals or policies c C Change passwords i I Inquiry the database l L List principals or policies s S Set key for principals * or x Allow all privileges Table A.2. Kerberos kadmin password policies (MIT) Option Meaning -history Minimum count of unusable old passwords -maxlife Maximum allowed lifetime -minclasses Minimum character classes -minlength Minimum password length -minlife Minimum lifetime 380 A Technical Summary Table A.3. LDAP access control list levels Level Privilege Coding Explanation none =0 No access at all auth =x Permits authentication attempt compare =cx Permits comparison search =scx Permits search filter application read =rscx Permits search result inspection write =wrscx Permits modification or deletion Table A.4. The OpenAFS access control list attributes Permission Meaning l List contents (lookup) i Create new files or directories (insert) d Delete files or directories a Change ACL attributes of directories (administer) r Read contents of files w Modify contents of files (write) k Lock files for reading read Equivalent to rl write Equivalent to rlidwk (no administrative rights) all Equivalent to rlidwka none Remove all ACL permissions Table A.5. The OpenAFS @sys names (excerpt) @sys Architecture alpha dux40 Digital UNIX 4 on an Alpha alpha dux50 Digital UNIX 5 on an Alpha i386 linux24 Linux Kernel 2.4 on Intel and compatible i386 linux26 Linux Kernel 2.6 on Intel and compatible i386 nt40 Microsoft Windows NT and later on Intel and compatible ppc darwin70 Apple MacOS X 10.3 on a PowerPC Macintosh ppc darwin80 Apple MacOS X 10.4 on a PowerPC Macintosh ppc darwin90 Apple MacOS X 10.5 on a PowerPC Macintosh rs aix52 IBM AIX 5.2 on a pSeries rs aix53 IBM AIX 5.3 on a pSeries sgi 65 SGI Irix 6.5 on a MPIS x86 darwin80 Apple MacOS X 10.4 on an Intel Macintosh x86 darwin90 Apple MacOS X 10.5 on an Intel Macintosh A Technical Summary 381 Table A.6.
    [Show full text]
  • How to Deal with Your Raspberry Spy
    How To Deal With Your Raspberry Spy Gavin L. Rebeiro March 2, 2021 2 Cover The artwork on the cover of this work is used under ex- plicit written permission by the artist. Any copying, dis- tributing or reproduction of this artwork without the same explicit permission is considered theft and/or misuse of in- tellectual and creative property. • Artist: Cay • Artist Contact Details: [email protected] • Artist Portfolio: https://thecayart.wixsite.com/artwork/ contact These covers are here to spice things up a bit. Want to have your artwork showcased? Just send an email over to [email protected] 3 4 COVER and let us know! For encrypted communications, you can use the OpenPGP Key provided in chapter 6. Copyright • Author: Gavin L. Rebeiro • Copyright Holder: Gavin L. Rebeiro, 2021 • Contact Author: [email protected] • Publisher: E2EOPS PRESS LIMITED • Contact Publisher: [email protected] This work is licensed under a Creative Commons Attribution- ShareAlike 4.0 International License. For encrypted communications, you can use the OpenPGP Key provided in chapter 6. 5 6 COPYRIGHT Chapter 1 Acknowledgements Techrights techrights.org (TR) deserves credit for coverage of the Raspberry Spy Foundation’s underhand tactics; a heart- felt thanks to everyone who participated and notified TR about the Raspberry Spy espionage. TR has been robbed of credit they deserved in the early days of news coverage. The fol- lowing links go over some of the news coverage from TR: • Raspberry Pi (at Least Raspbian GNU/Linux and/or Rasp- berry Pi Foundation) Appears to
    [Show full text]
  • PDF Completo, 1700K
    Caracterizac¸ao˜ de um Processo de Software para Projetos de Software Livre Christian Robottom Reis [email protected] Orientac¸ao:˜ Profa. Dra. Renata Pontin de Mattos Fortes [email protected] Dissertac¸ao˜ apresentada ao Instituto de Cienciasˆ Matematicas´ e de Computac¸ao˜ da Universidade de Sao˜ Paulo para a obtenc¸ao˜ do t´ıtulo de Mestre em Cienciasˆ da Computac¸ao˜ e Matematica´ Computacional. Sao˜ Carlos, Sao˜ Paulo Fevereiro de 2003 ii Resumo Software Livre e´ software fornecido com codigo´ fonte, e que pode ser livremente usado, modifica- do e redistribu´ıdo. Projetos de Software Livre sao˜ organizac¸oes˜ virtuais formadas por indiv´ıduos que trabalham juntos no desenvolvimento de um software livre espec´ıfico. Estes indiv´ıduos trabalham geo- graficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho atraves´ da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras pala- vras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho e´ feita uma extensa revisao˜ bibliografica,´ comentando os principais traba- lhos na area,´ e sao˜ detalhadas as caracter´ısticas principais dos projetos de software livre. O conteudo´ principal deste trabalho resulta de dois anos de participac¸ao˜ ativa na comunidade, e de um levantamento realizado atraves´ de questionario,´ detalhando mais de quinhentos projetos diferentes. Sao˜ apresenta- das treze hipoteses´ experimentais, e os resultados do questionario´ sao˜ discutidos no contexto destas hipoteses.´ Dos projetos avaliados nesse levantamento, algumas caracter´ısticas comuns foram avaliadas. As equipes da grande maioria dos projetos sao˜ pequenas, tendo menos de cinco participantes.
    [Show full text]