A Proof of Concept for People Tracking Application Using Smart-Spaces

Total Page:16

File Type:pdf, Size:1020Kb

A Proof of Concept for People Tracking Application Using Smart-Spaces A PROOF OF CONCEPT FOR PEOPLE TRACKING APPLICATION USING SMART-SPACES, ONLING SERVICES AND COMPUTER VISION Frank Wickström Master of Science Thesis Supervisor: Prof. Johan Lilius Advisor: Dr. Sébastien Lafond Department of Information Technologies Åbo Akademi University March 2013 ABSTRACT People share more information about themselves and other than ever before and most of the data stored by services are not used to the extent that they could be. This has led to an increased popularity in data mining and knowledge extraction, where existing data is being used to create intelligent systems and artificial intelligence. Smart-spaces, where data is used to create an environment where devices and humans interact are also on the rise as the internet of things becomes more popular and devices are becoming aware of their environments. In this thesis we present an implementation of how to track people given existing sources of data. We cover how we combine data sources, and make them aware of each other by connecting them to a single database. The created software is able to track people based on information from web services as well as IP cameras, and is managed via a web interface. We have come to the conclusion that the information already available today could be used to create new and smart applications if combined and processed the right way. Keywords: people tracking, smart-spaces, data mining, smart-m3 i CONTENTS Abstract i Contents ii List of Figures iv 1 Introduction 1 1.1 AMEBA project . .1 1.2 Problem statement . .1 1.3 Thesis structure . .2 2 People tracking 4 2.1 Tracking techniques . .4 2.1.1 Human recognition . .5 2.1.2 Electronic tracking . .6 2.1.3 Location prediction and data mining . .7 2.1.4 Web services . .8 2.2 Ethics, intrusiveness and ignorance . .8 3 Choosing and combining technologies 10 3.1 Application platform . 10 3.1.1 Web framework . 11 3.1.2 Web application and background tasks . 11 3.1.3 Web server . 12 3.2 Online APIs . 13 3.3 Databases and media storage . 14 3.3.1 Smart-M3 . 14 3.3.2 SQL and NoSQL combination . 15 3.3.3 Image and video storage . 16 3.4 Face detection and recognition . 16 4 Implementation 18 4.1 Platform . 18 4.2 Krang Demonstrator . 18 ii 4.2.1 Functionality . 19 4.3 Implementation overview . 19 4.3.1 Directory hierarchy . 20 4.4 Code used from external sources . 21 4.4.1 Python . 21 4.4.2 HTML and JavaScript . 23 4.4.3 Other software . 23 4.5 Back-end design of Krang . 24 4.5.1 Database model . 25 4.5.2 Ontology model . 29 4.5.3 Face detection and recognition . 36 4.5.4 Foursquare . 39 4.5.5 Google Calendar . 40 4.5.6 Åbo Akademi Department of Information Technology . 41 4.6 Front-end design of Krang . 44 4.6.1 Profile . 44 4.6.2 Settings . 46 4.7 Use Cases . 48 4.7.1 Complementing location information . 48 4.7.2 Event notification system . 50 4.7.3 Information display with user data . 52 4.8 Web SIB Explorer and Smart-M3 Tutorial . 53 5 Discussion 55 5.1 Conclusions . 55 5.2 Future work . 56 Bibliography 57 Swedish summary 62 Appendices 63 A Configurations 64 A.1 uWSGI . 64 A.2 Nginx . 64 B Web scraping 66 B.1 research.it.abo.fi login . 66 iii LIST OF FIGURES 2.1 RFID tag used at 25C3 CCC conference [1]. .7 4.1 Back-end servers and services with corresponding Django apps. 20 4.2 Complete database model, without database fields. 25 4.3 Core app database model. 26 4.4 Gcal app database model. 27 4.5 Foursquare app database model. 27 4.6 Freqo app database model. 28 4.7 Krangs ontology classes and their relationships. 31 4.8 Person class, with object and data properties. 31 4.9 Room class, with object and data properties. 32 4.10 Floor class, with object and data properties. 32 4.11 Building class, with object and data properties. 32 4.12 Phone class, with object and data properties. 33 4.13 Camera class, with object and data properties. 33 4.14 VideoData class, with object and data properties. 33 4.15 GoogleCalendarEvent class, with object and data properties. 34 4.16 FoursquareCheckin class, with object and data properties. 34 4.17 UserLocation class, with object and data properties. 34 4.18 CameraLocation class, with object and data properties. 35 4.19 FoursquareAccount class, with object and data properties. 35 4.20 GoogleCalendarAccount class, with object and data properties. 35 4.21 Original Local Binary Pattern description [2]. 37 4.22 Circular Local Binary Pattern description [3]. 38 4.23 Flow diagram for OAuth 2.0 [4]. 39 4.24 Flow diagram for Foursquare Real-Time API. 40 4.25 Door displays in the ICT building. 42 4.26 User profile page in Krang with functional elements marked. 45 4.27 User settings page in Krang. 47 4.28 Flowchart of complementing location information use case. 48 4.29 Flowchart of event notification Celery task. 50 4.30 Flowchart of a Celery task to change a status display using multiple data sources. 52 iv 4.31 Web SIB Explorer Class Tree view. 54 v 1 INTRODUCTION Smart-spaces and environments are becoming more popular as we see a growth in the use of mobile devices and sensors. And with a new interest in the Internet of things, we might soon see everyday objects such as chairs and door talking to each other. The more data are retrieved by sensors the more data storage and processing needed to get the most out of the information. Data processing however is mostly done by the owner of the data, and combining data and data mining is becoming the natural next step to create more intelligent software. In this thesis we introduce a way of collecting information from several data sources that feature location data. By combining information from these sources we create an application which can track people’s current location with more precision than by using a single source of location data. 1.1 AMEBA project This thesis was done within the AMEBA (Agent based Management of EmBedded dAta reservers) project. The AMEBA project aim to show the advantages of three- dimensional data storage by using distributed agent-based data management. This thesis aims to create a demonstrator for showing some of the features that can be ac- complished by using such data management. 1.2 Problem statement As storage grows bigger and cheaper, companies are starting to store more and more information than what was possible before. Most of the additional information is no longer created by humans, but by machines. Information such as logs, meta-data and sensory information are being added to content created by human, and is putting a higher demand on storage than ever before. However one of the problems with the 1 large amounts of data is that it is never processed in any way. Every time users upload an image taken by their mobile phone to a photo sharing application it may contain a lot more information than just the image. If the GPS was enabled, location informa- tion might be embedded in the image, and other meta-data such as ISO and exposure information might be included as well. Facebook also adds information about a users location to status update, if the user has allowed it. All of this extra information is only used if the service storing deemed it fit for processing. Otherwise they are stored, and most likely not used until they ultimately are deleted. We propose a system letting a third party process the meta information, in our case location information. By combining location data from several sources, more intelli- gent people tracking is possible which could include predictions of peoples next move. The data can also come from sources such as video surveillance systems, in which several terabytes can be stored every day. The data from such systems might stay un- touched as surveillance system operators might never need access to it. We propose an application processing the video stream and extracting addition information, such as human recognition and movement prediction. By running face recognition algorithms on the video stream, people tracking could be done automatically. Knowing the direc- tion the camera is pointed in and tracking at what direction a person is walking, one could follow a person around without human interaction. The databases storing data in larger applications are very non interactive as pro- grams often have to query information, before they can get data to process. If applica- tions are to respond quickly to new information added, it will have to constantly poll for the information, which increases the load on the database server. The solution we purpose to lowering the response time is to use the Smart-M3 triple-store database, which supports subscriptions and can push information to an application when the ap- propriate data has been added to the database. Something which puts less strain on the database, and makes response times smaller. 1.3 Thesis structure Chapter 2 includes current techniques used for tracking people, as well as the intru- siveness of tracking people with such methods. We distinguished four main methods which are used for tracking. Human recognition, which includes using computers for recognizing people. Electronic tracking, which uses electronic devices such as GPS for 2 tracking. Location prediction, which can be used when enough data exists and lastly web services which are the newcomer when it comes to tracking, and offers several location based services for tracking people.
Recommended publications
  • Analysis, Design and Development of a Web-Shop Template Using
    Analysis, design and development of a web-shop template using SPHERE.IO e-commerce platform Laura Luiz Escoriza Facultat d’Informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) - BarcelonaTech Director: Hajo Eichler Company: commercetools GmbH Advisor: Carles Farré Tost Department: Enginyeria de Serveis i Sistemes d’Informació (ESSI) Master thesis Degree in Informatics Engineering (2003) January 2014 2 3 DADES DEL PROJECTE Títol del projecte: Analysis, design and development of a web-shop template using SPHERE.IO e-commerce platform. Nom de l'estudiant: Laura Luiz Escoriza Titulació: Enginyeria en Informàtica (2003) Crèdits: 37,5 Director: Hajo Eichler Empresa del director: commercetools GmbH Ponent: Carles Farré Tost Departament del ponent: ESSI MEMBRES DEL TRIBUNAL (nom i signatura) 1. President: Antoni Urpí Tubella 2. Vocal: Klaus Gerhard Langohr 3. Secretari: Carles Farré Tost QUALIFICACIÓ Qualificació numèrica: Qualificació descriptiva: Data: 4 5 ABSTRACT In the present thesis a possible next generation of e-commerce solutions with a platform-as-a-service model is presented and analyzed. This generation tries to fill the gap of missing developer-friendly alternatives to build systems with e-commerce components. Current offered solutions are mostly aimed for the comfortable use of designers and other non-technical roles, usually in the shape of out-of-the-box products. These solutions are usually limiting the ability of developers to integrate technologies or build innovative business models, thus sometimes forcing companies to invest in projects that have to be built practically from the start. This document describes the development of the first web-shop built with one of these solutions, SPHERE.IO, an e-commerce platform-as-a-service developed in Berlin by commercetools GmbH.
    [Show full text]
  • Interfacing Apache HTTP Server 2.4 with External Applications
    Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick November 6, 2012 Who am I? Interfacing Apache HTTP Server 2.4 with External Applications Met Unix (in the form of Xenix) in 1985 Jeff Trawick Joined IBM in 1990 to work on network software for mainframes Moved to a different organization in 2000 to work on Apache httpd Later spent about 4 years at Sun/Oracle Got tired of being tired of being an employee of too-huge corporation so formed my own too-small company Currently working part-time, coding on other projects, and taking classes Overview Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Huge problem space, so simplify Perspective: \General purpose" web servers, not minimal application containers which implement HTTP \Applications:" Code that runs dynamically on the server during request processing to process input and generate output Possible web server interactions Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Native code plugin modules (uhh, assuming server is native code) Non-native code + language interpreter inside server (Lua, Perl, etc.) Arbitrary processes on the other side of a standard wire protocol like HTTP (proxy), CGI, FastCGI, etc. (Java and \all of the above") or private protocol Some hybrid such as mod fcgid mod fcgid as example hybrid Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Supports applications which implement a standard wire protocol, no restriction on implementation mechanism Has extensive support for managing the application[+interpreter] processes so that the management of the application processes is well-integrated with the web server Contrast with mod proxy fcgi (pure FastCGI, no process management) or mod php (no processes/threads other than those of web server).
    [Show full text]
  • Python for Bioinformatics, Second Edition
    PYTHON FOR BIOINFORMATICS SECOND EDITION CHAPMAN & HALL/CRC Mathematical and Computational Biology Series Aims and scope: This series aims to capture new developments and summarize what is known over the entire spectrum of mathematical and computational biology and medicine. It seeks to encourage the integration of mathematical, statistical, and computational methods into biology by publishing a broad range of textbooks, reference works, and handbooks. The titles included in the series are meant to appeal to students, researchers, and professionals in the mathematical, statistical and computational sciences, fundamental biology and bioengineering, as well as interdisciplinary researchers involved in the field. The inclusion of concrete examples and applications, and programming techniques and examples, is highly encouraged. Series Editors N. F. Britton Department of Mathematical Sciences University of Bath Xihong Lin Department of Biostatistics Harvard University Nicola Mulder University of Cape Town South Africa Maria Victoria Schneider European Bioinformatics Institute Mona Singh Department of Computer Science Princeton University Anna Tramontano Department of Physics University of Rome La Sapienza Proposals for the series should be submitted to one of the series editors above or directly to: CRC Press, Taylor & Francis Group 3 Park Square, Milton Park Abingdon, Oxfordshire OX14 4RN UK Published Titles An Introduction to Systems Biology: Statistical Methods for QTL Mapping Design Principles of Biological Circuits Zehua Chen Uri Alon
    [Show full text]
  • Next Generation Web Scanning Presentation
    Next generation web scanning New Zealand: A case study First presented at KIWICON III 2009 By Andrew Horton aka urbanadventurer NZ Web Recon Goal: To scan all of New Zealand's web-space to see what's there. Requirements: – Targets – Scanning – Analysis Sounds easy, right? urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com Targets What does 'NZ web-space' mean? It could mean: •Geographically within NZ regardless of the TLD •The .nz TLD hosted anywhere •All of the above For this scan it means, IPs geographically within NZ urbanadventurer (Andrew Horton) www.morningstarsecurity.com Finding Targets We need creative methods to find targets urbanadventurer (Andrew Horton) www.morningstarsecurity.com DNS Zone Transfer urbanadventurer (Andrew Horton) www.morningstarsecurity.com Find IP addresses on IRC and by resolving lots of NZ websites 58.*.*.* 60.*.*.* 65.*.*.* 91.*.*.* 110.*.*.* 111.*.*.* 113.*.*.* 114.*.*.* 115.*.*.* 116.*.*.* 117.*.*.* 118.*.*.* 119.*.*.* 120.*.*.* 121.*.*.* 122.*.*.* 123.*.*.* 124.*.*.* 125.*.*.* 130.*.*.* 131.*.*.* 132.*.*.* 138.*.*.* 139.*.*.* 143.*.*.* 144.*.*.* 146.*.*.* 150.*.*.* 153.*.*.* 156.*.*.* 161.*.*.* 162.*.*.* 163.*.*.* 165.*.*.* 166.*.*.* 167.*.*.* 192.*.*.* 198.*.*.* 202.*.*.* 203.*.*.* 210.*.*.* 218.*.*.* 219.*.*.* 222.*.*.* 729,580,500 IPs. More than we want to try. urbanadventurer (Andrew Horton) www.morningstarsecurity.com IP address blocks in the IANA IPv4 Address Space Registry Prefix Designation Date Whois Status [1] -----
    [Show full text]
  • Flask Documentation Release 0.7Dev July 14, 2014
    Flask Documentation Release 0.7dev July 14, 2014 Contents I User’s Guide1 1 Foreword3 1.1 What does “micro” mean?...........................3 1.2 A Framework and an Example........................4 1.3 Web Development is Dangerous.......................4 1.4 The Status of Python 3.............................4 2 Installation7 2.1 virtualenv....................................7 2.2 System Wide Installation...........................8 2.3 Living on the Edge...............................9 2.4 easy_install on Windows............................9 3 Quickstart 11 3.1 A Minimal Application............................ 11 3.2 Debug Mode.................................. 12 3.3 Routing..................................... 13 3.4 Static Files.................................... 17 3.5 Rendering Templates.............................. 17 3.6 Accessing Request Data............................ 19 3.7 Redirects and Errors.............................. 22 3.8 Sessions..................................... 22 3.9 Message Flashing................................ 23 3.10 Logging..................................... 24 3.11 Hooking in WSGI Middlewares....................... 24 4 Tutorial 25 4.1 Introducing Flaskr............................... 25 4.2 Step 0: Creating The Folders......................... 26 4.3 Step 1: Database Schema........................... 27 4.4 Step 2: Application Setup Code........................ 27 i 4.5 Step 3: Creating The Database........................ 29 4.6 Step 4: Request Database Connections.................... 30 4.7 Step
    [Show full text]
  • Azure Increase Request Timeout
    Azure Increase Request Timeout Is Val snobby or uninaugurated after regimented Ulric inactivate so yet? Wakefield yo-ho indefeasibly as un-American Shadow bomb her Cherokee interwreathed unsystematically. Jeffrey metricize her peafowl unharmfully, avaricious and dozing. This can increase azure request timeout error and start work only Use this field to test small chunks of CSS code. If all else fails, there are many other settings that can be changed. The other consideration is this is per server so in multiple servers, it provides another means of segmenting load and configuring the resources differently for direct API requests and browser requests for HTML and CSS content. With the fast growing adoption of Kubernetes, and tutorials every week. Any configurable properties can have visited kinsta has django and request timeout for getting the signing region for sending various breaches where it can scale. Are you sure you want to allow comments on this post? Azure slot that webjobs are executed on the real website as well as the staging slot. Activity function to do the actual processing. If your browser shows an error message instead of the website you wanted to open, or arrange a chat, the operation was completely transparent and it has no idea such a transformation happened. This article is too good. Turn your data into revenue, missing, but nothing else. Http trigger azure website with his wife, application times out that clients can increase azure key. The first one was to serialize with a max depth. In the end, the reality slightly altered. As there exist a variety of operating systems, or the API platform.
    [Show full text]
  • FINAL Report-Capstone Project BENOMAR Sarah
    FINAL Report-Capstone Project BENOMAR Sarah Supervised by: Doctor Violetta CAVALLI-SFORZA Approval: SPRING 2016 SCHOOL OF SCIENCE & ENGINEERING – AL AKHAWAYN UNIVE R S I T Y Table of Contents Acknowledgement ................................................................................................................ 3 Abstract ................................................................................................................................ 4 I. Introduction ................................................................................................................... 5 II. Feasibility Study ............................................................................................................ 6 III. Methodology .................................................................................................................. 8 1. Problem Specification ................................................................................................. 8 2. Requirement Specification .......................................................................................... 8 2.1 Functional Requirements ...................................................................................................... 8 2.2 Non-Functional Requirements ...................................................................................... 11 3. Software Selection Criteria ....................................................................................... 12 4. Choice Validation ....................................................................................................
    [Show full text]
  • Mastering Flask Web Development Second Edition
    Mastering Flask Web Development Second Edition Build enterprise-grade, scalable Python web applications Daniel Gaspar Jack Stouffer BIRMINGHAM - MUMBAI Mastering Flask Web Development Second Edition Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Amarabha Banerjee Acquisition Editor: Devanshi Doshi Content Development Editor: Onkar Wani Technical Editor: Diksha Wakode Copy Editor: Safis Editing Project Coordinator: Sheejal Shah Proofreader: Safis Editing Indexer: Rekha Nair Graphics: Alishon Mendonsa Production Coordinator: Aparna Bhagat First published: September 2015 Second Edition: October 2018 Production reference: 1301018 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78899-540-5 www.packtpub.com mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career.
    [Show full text]
  • Estudio De Web Servers
    UNIVERSIDADE DE VIGO ESCOLA SUPERIOR DE ENXEÑERÍA INFORMÁTICA Proyecto ACSO CURSO 2009/2010 Alumnos: Miguel Portela González Aarón Veiga Olivera Miguel Bermúdez Pena Noelia Pérez Álvarez 1.- INTRODUCCIÓN 2.- ESTADO DEL ARTE 3.- DESCRIPCIÓN TÉCNICA Y CONFIGURACIÓN • CHEROKEE • LIGHTTPD • APACHE • THTTPD 4.- RESULTADOS Y MEDICIONES EXPERIMENTALES 5.- INTERPRETACIÓN DE RESULTADOS 6.- CONCLUSIONES ESTUDIO DE LOS SERVIDORES CHEROKEE APACHE LIGHTTPD THTTPD PROPÓSITO DEL ESTUDIO MEDIR PARÁMETROS DE LOS SERVIDORES COMPROBAR CUÁL DE LOS SERVIDORES ES MEJOR REALIZAR GRÁFICAS DE LOS RESULTADOS OBTENER RESULTADOS Y CONCLUSIONES RESULTADOS ESPERADOS Será un articulo que ayude a una persona que necesite montar un servidor en su empresa para seleccionar la mejor opción. Los motivos y razones estarán fundamentadas en las pruebas y mediciones realizadas No hay estudios similares en la Web Ventajas y desventajas del software y herramientas utilizados DESVENTAJAS VENTAJAS Versiones de los servidores Servidor Versión Cherokee 0.99.19 Lighttpd 1.04.22 Apache 2.02.12 Thttpd 2.25b-6 Plataforma de pruebas CPU Intel Core Duo T2400 1.83GHz HDD Western Digital 250 GB 2.5 5400 rpm ATA Video Ati Radeon X1600 PRO 256MB Memoria RAM 3GB Tarjeta Wireless Intel 3950 ABG S.O. Ubuntu 9.10 Karmic Kernel 2.6.32 Servidor web de alto rendimiento. Es muy rápido, flexible y fácil de configurar. Interfaz gráfica Software libre. Totalmente modular. Multiplataforma (rendimiento nativo para Unix, Linux y Windows). Es un servidor web diseñado para ser rápido, seguro, flexible, y fiel a los estándares. Está optimizado para entornos donde la velocidad es muy importante Es software libre La configuración se realiza mediante la edición de un archivo de texto Características: Virtual hosting CGI, SCGI y FastCGI Soporte para PHP, Ruby, Python y otros Cifrado SSL Compresión (gzip, bzip2, ...) Autenticación (LDAP, htpasswd, otros) … Servidor web flexible, rápido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos.
    [Show full text]
  • 2009 Shareholders Report
    Volume 9, Issue 1 March 2010 Shareholders’ Report 2009 National Weather Service • Weather Forecast Office • Peachtree City, Georgia Status Quo is Not an Option! Lans P. Rothfusz bulk of the rain fell at a less- Meteorologist in Charge than-ideal time (in the middle of the night, at the end of a Big News Items of 2009 ike any Weather Fore- weekend). Forecasting such a cast Office (WFO) in the small-scale, rare and epic event • Historic Flooding (pages 6 and National Weather Ser- with reasonable lead time is un- 10) L vice (NWS) after a ma- fortunately beyond the state of • WFO Wins DOC Silver Medal jor weather event, the Peach- today’s science. Even if it were (page 3) tree City WFO looks carefully for possible, the public must still ways in which warning services respond appropriately. 24-hour rainfall ending September 21st • Decision Support Program and public response might be showing >16” bulls-eye (yellow) over Evolves (page 10) Douglas County. Warnings were in effect, improved. This was the case As you will see in this yet eight people perished in this area. after the deadly September newsletter, ours is not an office floods in North Georgia— that sits still. We pride reduce the loss of life and In Fiscal Year 2009, especially the fateful morning of ourselves in learning from every September 21 when flooding property over time, but they do Congress appropriated event we work. We will con- take time to develop. claimed the lives of ten people. tinue improving our science and $958,900,000 to the NWS To say this was an epic event is skills.
    [Show full text]
  • Uwsgi Documentation Release 2.0
    uWSGI Documentation Release 2.0 uWSGI Jun 17, 2020 Contents 1 Included components (updated to latest stable release)3 2 Quickstarts 5 3 Table of Contents 33 4 Tutorials 303 5 Articles 343 6 uWSGI Subsystems 375 7 Scaling with uWSGI 457 8 Securing uWSGI 485 9 Keeping an eye on your apps 503 10 Async and loop engines 511 11 Web Server support 525 12 Language support 541 13 Other plugins 629 14 Broken/deprecated features 633 15 Release Notes 643 16 Contact 741 17 Commercial support 743 18 Donate 745 19 Sponsors 747 20 Indices and tables 749 i Python Module Index 751 Index 753 ii uWSGI Documentation, Release 2.0 The uWSGI project aims at developing a full stack for building hosting services. Application servers (for various programming languages and protocols), proxies, process managers and monitors are all implemented using a common api and a common configuration style. Thanks to its pluggable architecture it can be extended to support more platforms and languages. Currently, you can write plugins in C, C++ and Objective-C. The “WSGI” part in the name is a tribute to the namesake Python standard, as it has been the first developed plugin for the project. Versatility, performance, low-resource usage and reliability are the strengths of the project (and the only rules fol- lowed). Contents 1 uWSGI Documentation, Release 2.0 2 Contents CHAPTER 1 Included components (updated to latest stable release) The Core (implements configuration, processes management, sockets creation, monitoring, logging, shared memory areas, ipc, cluster membership and the uWSGI Subscription Server) Request plugins (implement application server interfaces for various languages and platforms: WSGI, PSGI, Rack, Lua WSAPI, CGI, PHP, Go .
    [Show full text]
  • An Analysis of Python's Topics, Trends, and Technologies Through Mining Stack Overflow Discussions
    1 An Analysis of Python’s Topics, Trends, and Technologies Through Mining Stack Overflow Discussions Hamed Tahmooresi, Abbas Heydarnoori, and Alireza Aghamohammadi F Abstract—Python is a popular, widely used, and general-purpose pro- (LDA) [3] to categorize discussions in specific areas such gramming language. In spite of its ever-growing community, researchers as web programming [4], mobile application development [5], have not performed much analysis on Python’s topics, trends, and tech- security [6], and blockchain [7]. However, none of them has nologies which provides insights for developers about Python commu- focused on Python. In this study, we shed light on the nity trends and main issues. In this article, we examine the main topics Python’s main areas of discussion through mining 2 461 876 related to this language being discussed by developers on one of the most popular Q&A websites, Stack Overflow, as well as temporal trends posts, from August 2008 to January 2019, using LDA based through mining 2 461 876 posts. To be more useful for the software topic modeling . We also analyze the temporal trends of engineers, we study what Python provides as the alternative to popular the extracted topics to find out how the developers’ interest technologies offered by common programming languages like Java. is changing over the time. After explaining the topics and Our results indicate that discussions about Python standard features, trends of Python, we investigate the technologies offered web programming, and scientific programming 1 are the most popular by Python, which are not properly revealed by the topic areas in the Python community.
    [Show full text]