Community Notebook Free Software Projects Projects on the Move Authors and Editors Can Use Etherpad to Edit a Column Online in Real Time

Total Page:16

File Type:pdf, Size:1020Kb

Community Notebook Free Software Projects Projects on the Move Authors and Editors Can Use Etherpad to Edit a Column Online in Real Time Community Notebook Free Software Projects Projects on the Move Authors and editors can use EtherPad to edit a column online in real time. Then, anything they can’t handle in Beboy, Fotolia Beboy, writing, they can discuss in detail by launching Mumble. By Mela Eckenfels t the end of 2009, howls of protest resounded through the Internet when Google acquired the popular Ether- SandorJackal, Fotolia Pad [1] platform and announced its plans: The develop- Aers of EtherPad would be investing their know-how in Google Wave [2]. This sealed the fate of EtherPad and the switch was scheduled for March 2010. Google seemed to hope to convince former EtherPad users of the virtues of Google Wave. But sometimes even Google’s wishes are not fulfilled; instead, a wave of protest crashed against the Google fortress. Meanwhile, an EtherPad community gathered, and they were not prepared to abandon their EtherPad speedboat for the ponderous Google Wave battleship. Google gave in a couple of days later and released the EtherPad code under the Apache license. The first privately operated EtherPad clone was up and running just a few days later, and, in collaboration with providers of public EtherPad installations [3], the EtherPad Foundation [4] was founded to promote the ongoing development of the free code. Keep It Simple, Stupid What makes EtherPad so interesting that Google grabbed all of the company’s know-how? Why did such a huge community of fans sprout up in so short a time? The answer is, EtherPad is the software incarnation of the KISS principle [5] – all you need user-side is a JavaScript-capable browser. Surf to the homepage of a public EtherPad provider, such as TypeWith.me [6], press the Click to Create a New Docu- ment button, and you’re ready to create a new document. To collaborate, simply dis- tribute the link to the public document to invite other people to join in. The new pad has three panels (Figure 1). Changes show up immediately as you THE AUTHOR type in the editing section. The sidebar shows a list of collaborators and has a chat window for exchange of information. Mela Eckenfels is a freelance author and EtherPad assigns a separate color to each author, which makes it easy to see who trainer who previously worked as a Unix contributed what in the editor window. Also, you can change colors at run time by system administrator. She co-authored clicking the box next to your name; the pad will accommodate the changes. EtherPad Das Kochbuch für Geeks (Geek Cook- automatically stores your changes and keeps them available on a timeline. To remove book) with Petra Hildebrandt; the book, editing conflicts or vandalism, it is also a good idea to save any revisions manually. which was published by O’Reilly Ger- many, just goes to show that cooking has much in common with program- Launch, Work, Done? The intuitive user interface makes EtherPad the ideal tool for less technologically ming. minded people. A shared pad could help a school class plan an open day or help an 92 OCTOBER 2010 ISSUE 119 LINUX-MAGAZINE.COM | LINUXPROMAGAZINE.COM 092-094_projects.indd 92 19.08.2010 11:21:25 Uhr Community Notebook Free Software Projects amateur theater group rewrite the text of with hash tags (Figure 3). a play they are staging. With no complex The next milestone release user account configuration or cumber- will also include a Win- some access privileges, everybody can dows installer, add an get started right away. Emacs client, and integrate The disadvantage of a public pad is an XMPP gateway for Jab- fairly obvious, however: Anybody who ber [12]. knows the link address can change the pad and thus destroy your work. Secure Don’t Mumble EtherPads [7] can deal with this (Figure … Mumble! 2). Besides using a separate subdomain From collaborative editing (e.g., http://lpm.ietherpad.com/), they in real time, you can move let the administrator set up various areas on to talking in real time – to meet the team’s requirements. For ex- but don’t worry, in Mum- ample, you can assign staff to certain ble’s case, the name is pads and keep some areas public or pri- nothing to go by. Speech Figure 1: A pad in action: Editing this article in the pane on vate. Secure pads, which require you to quality is not an issue if you the left with a list of users and a chat box on the right. sign in, used to be commercial products use Mumble [13] instead of before EtherPad was sold to Google. a phone. The VoIP program They are now free on all the sites listed uses Celt [14] and Speex at the EtherPad Foundation [4]. [15] codecs and relies on their advanced audio com- Under the Hood pression to reduce band- It is far too early to dream of your own width requirements. How- EtherPad installation in leased web ever, the developers are not Figure 2: Secure EtherPads add the Security tab to the space. EtherPad requires MySQL 5.1 happy to rest on their lau- menubar. along with Java 1.6.0, Scala 2.7.4, and rels. Voice is preprocessed the MySQL Java connector version 5.1.0 to remove irritating noise and improve – requirements that practically no web the sound quality noticeably. hosting package fulfills. Even if you Besides enabling voice transmissions, work around these obstacles, the instal- Mumble includes a text-based chat com- lation [8] needs a fair amount of manual ponent. Although this might sound re- attention, especially if you want to set dundant, the chat feature is very useful up the secure version or include the PDF for a simple exchange of links or other and OpenOffice export features [9]. The information. only distribution to offer a prebuilt pack- Strictly speaking, Mumble is just a col- age for EtherPad as of this writing is De- lection of voice-conferencing tools that bian, and the package comes courtesy of are available for any popular desktop op- an external repository [10]. Client-side, erating system. Installers are available EtherPad also turns out to be more fin- for Linux, Windows, and Mac OS X, and icky than its competitors. Memory be- FreeBSD users can at least read the how- comes scarce in most browsers if you to [16]. open four to six pads at the same time. If you Mumble, you also have to Mur- This known bug should be fixed in fu- mur. In other words, to ture versions. have a Mumble-based voice The first post-Google EtherPad devel- conference, you also need a opments have been restricted to cos- Murmur server. Although a metic changes. For example, the devel- number of public Murmur opers increased the maximum number servers are available on the of pad users and increased the colors web, your only choice will from 16 to 32. The next version of Ether- probably be to install your Pad, which is currently in testing, envis- own Murmur server for ages a plugin system to make EtherPad professional use [17]. more modular [11]. Additionally, the de- Murmur is built on the Qt velopers plan a wiki-style feature that library and prefers a com- will let users interlink pads and insert plete X Window System – hash tags that EtherPad converts into which is annoying for ad- Figure 3: The current beta version offers a sneak preview links. Clicking a link would launch a mins on servers without a of future EtherPad features, including links to other pads keyword-based search over other pads GUI. One possible work- and hash tag-based searches. LINUX-MAGAZINE.COM | LINUXPROMAGAZINE.COM ISSUE 119 OCTOBER 2010 93 092-094_projects.indd 93 19.08.2010 11:21:32 Uhr Community Notebook Free Software Projects around is uMurmur [18], which is writ- how to avoid the X components, al- ten in C and released under the BSD li- though they will still worry when they cense. To compile and run the server see Ghostscript asking for one library components, you additionally need to re- after another. These concerns are likely solve dependencies on OpenSSL, Polar- to grow because Ghostscript regularly SSL, Libconfig, and Protobuf-c. Having shows up in security advisories [21]. said that, uMurmur does not provide the An easier approach is available – at same performance as the original Mur- least if you have PHP in place. The PHP mur server. One failing is its IRC-style TCPDF [22] class by IT consultant Tec- chat channels, which are hard-coded in nick is licensed under the LGPL and the configuration so you can’t modify does not require any additional libraries them on the fly to reflect your user’s for its core functionality. Many projects INFO needs. already benefit from TCPDF. For exam- Although Mumble is fairly impressive ple, Joomla, Drupal, and Moodle all use [1] EtherPad: http:// www. etherpad. com already, it looks like the software is in PHP classes to generate PDF documents. [2] Google Wave: for a very exciting future – especially if TCPDF’s feature list is impressive: It is https:// wave. google. com the roadmapped video support really is the only PHP-PDF class that supports [3] Public EtherPads: http:// etherpad. implemented [19]. Also, the planned UTF-8 and right-to-left text orientation. org/ etherpadsites. html Mumble clients for smartphones should TCPDF also supports a full set of popular [4] EtherPad Foundation: take some of the complexity out of audio graphics formats and PDF properties http:// etherpad. org and video conferencing. such as footers, headers, or comments, [5] KISS principle: http:// en.
Recommended publications
  • Uila Supported Apps
    Uila Supported Applications and Protocols updated Oct 2020 Application/Protocol Name Full Description 01net.com 01net website, a French high-tech news site. 050 plus is a Japanese embedded smartphone application dedicated to 050 plus audio-conferencing. 0zz0.com 0zz0 is an online solution to store, send and share files 10050.net China Railcom group web portal. This protocol plug-in classifies the http traffic to the host 10086.cn. It also 10086.cn classifies the ssl traffic to the Common Name 10086.cn. 104.com Web site dedicated to job research. 1111.com.tw Website dedicated to job research in Taiwan. 114la.com Chinese web portal operated by YLMF Computer Technology Co. Chinese cloud storing system of the 115 website. It is operated by YLMF 115.com Computer Technology Co. 118114.cn Chinese booking and reservation portal. 11st.co.kr Korean shopping website 11st. It is operated by SK Planet Co. 1337x.org Bittorrent tracker search engine 139mail 139mail is a chinese webmail powered by China Mobile. 15min.lt Lithuanian news portal Chinese web portal 163. It is operated by NetEase, a company which 163.com pioneered the development of Internet in China. 17173.com Website distributing Chinese games. 17u.com Chinese online travel booking website. 20 minutes is a free, daily newspaper available in France, Spain and 20minutes Switzerland. This plugin classifies websites. 24h.com.vn Vietnamese news portal 24ora.com Aruban news portal 24sata.hr Croatian news portal 24SevenOffice 24SevenOffice is a web-based Enterprise resource planning (ERP) systems. 24ur.com Slovenian news portal 2ch.net Japanese adult videos web site 2Shared 2shared is an online space for sharing and storage.
    [Show full text]
  • 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]
  • Opus, a Free, High-Quality Speech and Audio Codec
    Opus, a free, high-quality speech and audio codec Jean-Marc Valin, Koen Vos, Timothy B. Terriberry, Gregory Maxwell 29 January 2014 Xiph.Org & Mozilla What is Opus? ● New highly-flexible speech and audio codec – Works for most audio applications ● Completely free – Royalty-free licensing – Open-source implementation ● IETF RFC 6716 (Sep. 2012) Xiph.Org & Mozilla Why a New Audio Codec? http://xkcd.com/927/ http://imgs.xkcd.com/comics/standards.png Xiph.Org & Mozilla Why Should You Care? ● Best-in-class performance within a wide range of bitrates and applications ● Adaptability to varying network conditions ● Will be deployed as part of WebRTC ● No licensing costs ● No incompatible flavours Xiph.Org & Mozilla History ● Jan. 2007: SILK project started at Skype ● Nov. 2007: CELT project started ● Mar. 2009: Skype asks IETF to create a WG ● Feb. 2010: WG created ● Jul. 2010: First prototype of SILK+CELT codec ● Dec 2011: Opus surpasses Vorbis and AAC ● Sep. 2012: Opus becomes RFC 6716 ● Dec. 2013: Version 1.1 of libopus released Xiph.Org & Mozilla Applications and Standards (2010) Application Codec VoIP with PSTN AMR-NB Wideband VoIP/videoconference AMR-WB High-quality videoconference G.719 Low-bitrate music streaming HE-AAC High-quality music streaming AAC-LC Low-delay broadcast AAC-ELD Network music performance Xiph.Org & Mozilla Applications and Standards (2013) Application Codec VoIP with PSTN Opus Wideband VoIP/videoconference Opus High-quality videoconference Opus Low-bitrate music streaming Opus High-quality music streaming Opus Low-delay
    [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]
  • Implementing an Ipv6 Moving Target Defense on a Live Network
    Implementing an IPv6 Moving Target Defense on a Live Network Matthew Dunlop∗†, Stephen Groat∗†, Randy Marchanyy, Joseph Tront∗ ∗Bradley Department of Electrical and Computer Engineering yVirginia Tech Information Technology Security Laboratory Virginia Tech, Blacksburg, VA 24061, USA Email: fdunlop,sgroat,marchany,[email protected] Abstract The goal of our research is to protect sensitive communications, which are commonly used by government agencies, from eavesdroppers or social engineers. In prior work, we investigated the privacy implications of stateless and stateful address autoconfiguration in the Internet Protocol version 6 (IPv6). Autoconfigured addresses, the default addressing system in IPv6, provide a third party a means to track and monitor targeted users globally using simple tools such as ping and traceroute. Dynamic Host Configuration Protocol for IPv6 (DHCPv6) addresses contain a static DHCP Unique Identifier (DUID) that can be used to track and tie a stateless address to a host identity. Our research focuses on preventing the issue of IPv6 address tracking as well as creating a \moving target defense." The Moving Target IPv6 Defense (MT6D) dynamically hides network and transport layer addresses of packets in IPv6 to achieve anonymity and protect against certain classes of network attacks. Packets are encrypted to prevent traffic correlation, which provides significantly improved anonymity. MT6D has numerous applications ranging from hosts desiring to keep their locations private to hosts conducting sensitive communications. This paper explores the results of implementing a proof of concept MT6D prototype on a live IPv6 network. 1 Introduction More networks are deploying the Internet Protocol version 6 (IPv6) due to the lack of available addresses in the Internet Protocol version 4 (IPv4).
    [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]
  • Mumble Protocol Release 1.2.5-Alpha
    Mumble Protocol Release 1.2.5-alpha Nov 06, 2017 Contents 1 Contents 1 1.1 Introduction...............................................1 1.2 Overview.................................................1 1.3 Protocol stack (TCP)...........................................1 1.4 Establishing a connection........................................3 1.4.1 Connect.............................................3 1.4.2 Version exchange........................................5 1.4.3 Authenticate...........................................5 1.4.4 Crypto setup...........................................6 1.4.5 Channel states..........................................6 1.4.6 User states............................................6 1.4.7 Server sync...........................................7 1.4.8 Ping...............................................7 1.5 Voice data................................................7 1.5.1 Packet format..........................................8 1.5.2 Codecs............................................. 10 1.5.3 Whispering........................................... 11 1.5.4 UDP connectivity checks.................................... 11 1.5.5 Tunneling audio over TCP................................... 11 1.5.6 Encryption........................................... 11 1.5.7 Variable length integer encoding................................ 12 i ii CHAPTER 1 Contents 1.1 Introduction This document is meant to be a reference for the Mumble VoIP 1.2.X server-client communication protocol. It reflects the state of the protocol implemented in
    [Show full text]