Andrew Bednoff (In English)

Total Page:16

File Type:pdf, Size:1020Kb

Andrew Bednoff (In English) Job opportunities █Software Developer: Go, Rust About me Experienced software developer, extremely passionate about modern trending technologies - Open Source Software, GNU/Linux, development of server-side software and systems middle-ware on Go and Rust, for distributed network services, manageable cloud and networking infrastructures, bring DevOps practices in development processes, integrate and usage of cloud infrastructure solutions (SOA, IaaS, PaaS, FaaS, ESB, MOM/MQ), Docker, Kubernetes, CoreOS, OpenStack, Juju, MAAS, working with high-load systems, big data, data mining and data analysis. This directions are very interesting to me, have very high priority and importance to my personal growth. Looking for job proposals, companies and teams to continue Andrew experience in these directions and for long-term employment. Knowledge, experience and Bednoff skills :: Development Software Developer Programming languages with compile-time type checking: █⦁ Rust (rustc) DevOps Engineer █⦁ Go (go, gccgo) █⦁ Pony (ponyc) Contacts Programming languages with flow & gradual type checking: █⦁ Python (PEP-484 aka mypy, Cython) E-mail█: █a█n█d█re█w█@█c█om██m█a█nd█r█.st█re█a█m█ █ █⦁ TypeScript (tsc with Node.js/V8) Mobile█ #█: ███████+█99█6█ 7█09█ 7█7█ 3█3 █99█ █ Scripting programming languages with run-time type checking: Telegr█am██, W█i█re█:█ █████@█a█n█dr█c█m█dr█ █ █⦁ Python (CPython, PyPy, Jython) Hango█ut█s█: ██c█o█m█m█a█n█dr█.s█tr█e█am█/█c█al█l █ █⦁ JavaScript/ECMAScript (Node.js/V8) █⦁ Shell Scripting (sh, bash, dash, ash) Skype:█ ██████████a█n█d█y.█be█d█n█of█f █ Linked█In█: █l█in█ke█d█in█.c█o█m█/█in█/a█n█dr█c█m█dr█ █ Stylesheet languages (CSS preprocessors): ██SASS/SCSS, LESS, Stylus Profile Version/revision control and source code management systems: ██Git, Mercurial (hg), Bazaar (bzr), Subversion (svn) Date of birth: February 2, 1989 Place of birth: Bishkek, Kyrgyzstan Database management systems (DBMS): █⦁ Relational DBMS: PostgreSQL, Postgres-XL, MySQL, MariaDB, Place of living: Bishkek, Kyrgyzstan, 720010 █⦁ CockroachDB, SQLite Citizenship: Kyrgyz Republic █⦁ Key-value store: Redis+Sentinel, Memcached, Tarantool, Elliptics, █⦁ BerkeleyDB, RocksDB █⦁ Document store: MongoDB, CouchBase Languages proficiency █⦁ Graph DBMS: OrientDB English: Professional working proficiency (B2) █⦁ Search engines: Elasticsearch, Sphinx █⦁ Time Series DBMS: RRDtool, Prometheus, InfluxDB, Graphite Russian: Native proficiency (C2) █⦁ Distributed storages: Ceph, GlusterFS █p█ri█nt█ █p█d█f █ █p█df█.v█ie█w█ ██Ru█ █ Page #1 Knowledge, experience and skills :: Knowledge, experience and skills :: Development DevOps Toolchain Data serialization formats & markup languages for API Tools for collaboration working, revision control, project and protocols & configuration storage - templators/preprocessors of source code (codebase) management, and bug tracking: data structures/schemes/models: ██Gitea, Gogs, GitLab, BitBucket Server ██JSON (REST, RPC, GraphQL), Protocol Buffers (gRPC, Thrift), ██Phabricator, Tuleap, Jira ██YAML, TOML, XML + XML Schema (RPC, SOAP) ██Roundup, Trac, RedMine ██Flyspray, Mantis, Bugzilla Build automation, dependency management and resolving, vendoring/delivering/deployment and caching tools: Documentation engines: █⦁ Language agnostic: GNU Make, Meson, Sonatype Nexus ██Sphinx, MoinMoin, DokuWiki, MediaWiki, Confluence █⦁ Rust: Cargo █⦁ Go: go toolchain (go get/install/build/mod), dep, Manul, Continuous Integration (CI): █⦁ Glide, GoPM+Switch, gopkg.in ██Jenkins, Drone, GitLab CI, Travis, JetBrains Team City, █⦁ Python: PIP (Python Wheels) & EasyInstall/SetupTools ██Atlassian Bamboo █⦁ (Python Eggs) + VirtualEnv █⦁ Node.js: NPM Dynamic program analysis - Continuous Testing (CT) and █⦁ JavaScript: Gulp, Grunt, webpack, Bower Quality Assurance (QA): █⦁ Software testing automation tools for functional and user Frameworks (asynchronous event-driven programming █⦁ acceptance testing: CasperJS (for PhantomJS and SlimerJS █⦁ frameworks with non-blocking I/O for creating concurrent headless browser engines), Selenium, Cucumber/Gherkin multi-threaded network applications and servers), ORMs, █⦁ (TDD/BDD) Templators: █⦁ Interface testing automation tools: dogtail, xdotool, AutoIt █⦁ Rust: Crossbeam, Rayon, MIO, Tokio, tokio-minihttp/http2, █⦁ Hyper, Rocket, Gotham, Actix, Nickel, Iron, Diesel (ORM) █⦁ Load and stress testing tools: wrk/wrk2, Apache JMeter █⦁ Go: Iris, Aah, Echo, Beego Static program analysis - Security Testing: █⦁ Coverity Scan, Pfff, Infer, Flow █⦁ Pony: Wallaroo Continuous Delivery/Deployment (CD): █⦁ Python: Falcon, Bottle, wheezy.web, APIStar, Meinheld, █⦁ Containerisation and environment isolation: Docker, █⦁ Gunicorn+WSGI, Twisted, Tornado, SQLAlchemy, SQLObject █⦁ Docker Compose, Portainer, LXC/LXD, Rocket (rkt, CoreOS), █⦁ Atomic, Rancher, Oracle Railcar, Packer, Vagrant, Flatpak, █⦁ Node.js: Express.js, ECT.js, Dust.js, Hogan.js, Handlebars.js, █⦁ █⦁ Snapcraft (Snappy), AppImage Mustache.js █⦁ Cloud Infrastructure (PaaS, IaaS, FaaS/Serverless) Toolkits, █⦁ JavaScript: jQuery, ECT.js, Prototype, Underscore, Backbone, █⦁ cloud management frameworks for clusterisation and █⦁ Ember, Angular, React, React Native, Polymer, Ionic, Apache █⦁ containers orchestration: █⦁ Cordova, Adobe PhoneGap, Electron, NW.js (node-webkit) █⦁ Docker Swarm, Kubernetes, Juju, MaaS, OpenStack, █⦁ OpenFaaS, Oracle Fn Toolkits and APIs for binding programs and low-level libraries (FFI): Continuous Configuration (CC) and Provisioning - Infrastructure ██rust-ffi (Rust), cgo (Go), ctypes and cffi (Python), as Code (IaC): ██node-ffi (Node.js), SWIG █⦁ Continuous configuration management tools: Ansible, █⦁ Terraform, Nomad, Juju, Salt Stack System Libraries, Interface Widget Toolkits: ██GLib (GObject/GType, GModule, GThread, GIO), GTK+, Qt, █⦁ Service discovery tools, service mesh support, ESB: SkyDNS, ██QML, wxWidgets, ncurses █⦁ Consul, Serf, Conduit, LinkerD, etcd, dnsmasq Message-Oriented Middleware (MOM), Message Queue (MQ), █⦁ Secrets management and storage: Vault message brokers: █⦁ NATS (text-based pub/sub protocol) Continuous Monitoring (CM): █⦁ Redis Pub/Sub + Sentinel █⦁ Monitoring and logging tools: InfluxData (Telegraf, █⦁ ZeroMQ (brokerless MQ) █⦁ Chronograf, Kapacitor, InfluxDB), Consul, Prometheus, █⦁ Celery (task/job queue) █⦁ Graphite, Sentry, Grafana, ELK Stack (Elasticsearch, █⦁ RabbitMQ (AMQP, MQTT, STOMP) █⦁ Logstash, Kibana), pprof, cAdvisor, RRDtool, MRTG, █⦁ Apache ActiveMQ (AMQP, MQTT, STOMP) █⦁ Ganglia, Nagios █⦁ Apache Qpid (AMQP) SaaS, IaaS, PaaS, FaaS (serverless) services: Source code editors and IDEs: █⦁ OpenShift, Heroku, Amazon EC2/S3/Lambda ██Sublime Text, Visual Studio Code, Atom IDE, GNOME Builder, ██Glade, wxGlade, Qt Creator, IntelliJ IDEA, GoLand, PyCharm, ██WebStorm Page #2 Knowledge, experience and skills :: Knowledge, experience and skills :: Maintenance of IT Infrastructure Time-line Operations and Systems Administering Years of experience in Operating systems and software distributions - GNU/Linux: Technologies: common - Years of use █⦁ Debian, Ubuntu Server/Cloud/Core in practice: █⦁ Arch, Gentoo █⦁ CoreOS, Atomic, Rancher, Alpine, OpenWRT, DD-WRT, Elastix Windows, batch shell scripting, AutoIt 10 - 2002-2012 █⦁ Fedora, Red Hat Enterprise Linux (RHEL), CentOS, █⦁ Oracle Linux, Scientific GNU/Linux (RedHat, Fedora Core, 10 - since 2008 as █⦁ OpenSUSE, SUSE Linux Enterprise Desktop (SLED), Mandrake, SUSE, Debian, Gentoo, Arch), SysAdmin, 14 - since █⦁ SUSE Linux Enterprise Server (SLES) shell scripting (including GNU/Bash, 2004 as user AWK, sed) Linux kernel security modules: ██SELinux, AppArmor Modula-2, Zonnon, Oberon-2 6 - 2003-2009 Firewall: Delphi, Free Pascal + Lazarus 8 - 2004-2012 ██netfilter/iptables C, C++ 5 - 2004-2009 Network intrusion detection and intrusion prevention systems: ██Snort, Suricata i586/i686, x86-64 Assembly 3 - 2005-2008 Virtualization: Java, C#/Mono 4 - 2008-2012 ██Vagrant, Xen, KVM, QEMU, Oracle VirtualBox, VMware, Parallels Lua, MoonScript 6 - since 2012 Web-servers: ██Nginx, Cherokee, Lighttpd, Hiawatha, Mongoose JavaScript/ECMAScript (also 6 - since 2012 CoffeeScript) FTP-servers: ██vsftpd, ProFTPd Python 5 - since 2013 Mail-servers: Node.js 4 - since 2014 ██Courier, Exim, Postfix, qmail, Qpopper+SpamAssassin, policyd TypeScript 4 - since 2014 IM servers (XMPP/Jingle): ██ejabberd, Openfire Ruby 4 - since 2014 DNS-servers: Crystal 3 - since 2015 ██BIND, PowerDNS, djbdns/dbndns, dnsmasq Dart 3 - since 2015 DHCP-servers: ██ISC DHCP, Kea DHCP, dnsmasq Go 3 - since 2015 Dynamic routing servers (BGP/OSPF): Rust 3 - since 2015 ██BIRD, GNU Zebra, Quagga Pony 1 - since 2017 Proxy servers: ██Squid, Polipo, Apache Traffic Server Servers for other protocols: ██NTPd, OpenSSH, OpenVPN, OpenLDAP, FreeRADIUS, ██Asterisk (WebRTC, SIP, H.323) Education Institute for Integration of International Educational Programs at Kyrgyz National University (IIIEP KNU) 2010-2012 Faculty of Computer Technologies & Internet (FCTI) [Kyrgyz-American Department of Computer Technologies & Internet (KAD)] Specialty: Computer science, Software development engineer Specialisation: Conceptions of programming languages and type systems; Syntactical and lexical analysis, compilers theory and optimisations of code generation; Automation of software engineering practices and development processes Page #3 Work experience Have a long-term experience in designing, engineering, implementation, development, integration and deployment of various server-side cloud native infrastructures and platforms, with applying of
Recommended publications
  • The Sad State of Web Development Random Thoughts on Web Development
    The Sad State of Web Development Random thoughts on web development Going to shit 2015 is when web development went to shit. Web development used to be nice. You could fire up a text editor and start creating JS and CSS files. You can absolutely still do this. That has not changed. So yes, everything I’m about to say can be invalidated by saying that. The web (specifically the Javascript/Node community) has created some of the most complicated, convoluted, over engineered tools ever conceived. Node.js/NPM At times, I think where web development is at this point is some cruel joke played on us by Ryan Dahl. You see, to get into why web development is so terrible, you have to start at Node. By definition I was a magpie developer, so undoubtedly I used Node, just as everyone should. At universities they should make every developer write an app with Node.js, deploy it to production, then try to update the dependencies 3 months later. The only downside is we would have zero new developers coming out of computer science programs. You see the Node.js philosophy is to take the worst fucking language ever designed and put it on the server. Combine that with all the magpies that were using Ruby at the time, and you have the perfect fucking storm. Lets take everything that was great in Ruby and re write it in Javascript, I think was the official motto. Most of the smart magpies have moved on to Go at this point, but the people who have stayed in the Node community have undoubtedly created the most over engineered eco system that has ever appeared.
    [Show full text]
  • 16 Inspiring Women Engineers to Watch
    Hackbright Academy Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than UC Berkeley and Stanford each year. https://hackbrightacademy.com 16 Inspiring Women Engineers To Watch Women's engineering school Hackbright Academy is excited to share some updates from graduates of the software engineering fellowship. Check out what these 16 women are doing now at their companies - and what languages, frameworks, databases and other technologies these engineers use on the job! Software Engineer, Aclima Tiffany Williams is a software engineer at Aclima, where she builds software tools to ingest, process and manage city-scale environmental data sets enabled by Aclima’s sensor networks. Follow her on Twitter at @twilliamsphd. Technologies: Python, SQL, Cassandra, MariaDB, Docker, Kubernetes, Google Cloud Software Engineer, Eventbrite 1 / 16 Hackbright Academy Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than UC Berkeley and Stanford each year. https://hackbrightacademy.com Maggie Shine works on backend and frontend application development to make buying a ticket on Eventbrite a great experience. In 2014, she helped build a WiFi-enabled basal body temperature fertility tracking device at a hardware hackathon. Follow her on Twitter at @magksh. Technologies: Python, Django, Celery, MySQL, Redis, Backbone, Marionette, React, Sass User Experience Engineer, GoDaddy 2 / 16 Hackbright Academy Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than UC Berkeley and Stanford each year.
    [Show full text]
  • NUMA-Aware Thread Migration for High Performance NVMM File Systems
    NUMA-Aware Thread Migration for High Performance NVMM File Systems Ying Wang, Dejun Jiang and Jin Xiong SKL Computer Architecture, ICT, CAS; University of Chinese Academy of Sciences fwangying01, jiangdejun, [email protected] Abstract—Emerging Non-Volatile Main Memories (NVMMs) out considering the NVMM usage on NUMA nodes. Besides, provide persistent storage and can be directly attached to the application threads accessing file system rely on the default memory bus, which allows building file systems on non-volatile operating system thread scheduler, which migrates thread only main memory (NVMM file systems). Since file systems are built on memory, NUMA architecture has a large impact on their considering CPU utilization. These bring remote memory performance due to the presence of remote memory access and access and resource contentions to application threads when imbalanced resource usage. Existing works migrate thread and reading and writing files, and thus reduce the performance thread data on DRAM to solve these problems. Unlike DRAM, of NVMM file systems. We observe that when performing NVMM introduces extra latency and lifetime limitations. This file reads/writes from 4 KB to 256 KB on a NVMM file results in expensive data migration for NVMM file systems on NUMA architecture. In this paper, we argue that NUMA- system (NOVA [47] on NVMM), the average latency of aware thread migration without migrating data is desirable accessing remote node increases by 65.5 % compared to for NVMM file systems. We propose NThread, a NUMA-aware accessing local node. The average bandwidth is reduced by thread migration module for NVMM file system.
    [Show full text]
  • Tuto Documentation Release 0.1.0
    Tuto Documentation Release 0.1.0 DevOps people 2020-05-09 09H16 CONTENTS 1 Documentation news 3 1.1 Documentation news 2020........................................3 1.1.1 New features of sphinx.ext.autodoc (typing) in sphinx 2.4.0 (2020-02-09)..........3 1.1.2 Hypermodern Python Chapter 5: Documentation (2020-01-29) by https://twitter.com/cjolowicz/..................................3 1.2 Documentation news 2018........................................4 1.2.1 Pratical sphinx (2018-05-12, pycon2018)...........................4 1.2.2 Markdown Descriptions on PyPI (2018-03-16)........................4 1.2.3 Bringing interactive examples to MDN.............................5 1.3 Documentation news 2017........................................5 1.3.1 Autodoc-style extraction into Sphinx for your JS project...................5 1.4 Documentation news 2016........................................5 1.4.1 La documentation linux utilise sphinx.............................5 2 Documentation Advices 7 2.1 You are what you document (Monday, May 5, 2014)..........................8 2.2 Rédaction technique...........................................8 2.2.1 Libérez vos informations de leurs silos.............................8 2.2.2 Intégrer la documentation aux processus de développement..................8 2.3 13 Things People Hate about Your Open Source Docs.........................9 2.4 Beautiful docs.............................................. 10 2.5 Designing Great API Docs (11 Jan 2012)................................ 10 2.6 Docness.................................................
    [Show full text]
  • Application Lifecycle Management Tools Open Source
    Application Lifecycle Management Tools Open Source Posh and tropistic Christofer congees almost despondingly, though Sam humiliating his breastworks recoins. Jorge usually assassinates astringently or disrupt crustily when interterritorial Marko voids streakily and convivially. Irresponsible Vijay unround broadly. With the software changes into three core business reason for anyone using powerful lifecycle tools across public activity management The package includes OSS project management tool Redmine and version. This year open source ALM tuleap httpwwwenaleancomentuleap is altogether good start. ALM tools automate the software development and deployment processes help. Micro Focus Application Lifecycle Management ALM software and solutions. Virtual flavor of the product with its embedded and application software before. Greg Lindhorst Principal Program Manager Thursday January 14 2021. The more List and Open-source Tools View ahead complete list ANT Anypoint Platform. Application Lifecycle Management Tools ALM is the continuous process of. Top 10 Application Lifecycle Management Tools For end Year. A degree to two the limitations of save open-source circuit otherwise inadequate tool. Best Free Application Lifecycle Management Software 2021. Each document type main source code is managed with SubversionSVN with. It is free of tools are the advent of the use after year after going through it connects people meet business outcomes as and open application source tools? Application Lifecycle Management SoftLanding. Top Application Lifecycle Management ALM Toolsets InfoQ. They also have original single proponent of truth providing any relevant. Then view the software projects, open application lifecycle management tools on open source option, and hybrid it can create and. Software lifecycle management SLM is the discipline for managing.
    [Show full text]
  • CROP: Linking Code Reviews to Source Code Changes
    CROP: Linking Code Reviews to Source Code Changes Matheus Paixao Jens Krinke University College London University College London London, United Kingdom London, United Kingdom [email protected] [email protected] Donggyun Han Mark Harman University College London Facebook and University College London London, United Kingdom London, United Kingdom [email protected] [email protected] ABSTRACT both industrial and open source software development communities. Code review has been widely adopted by both industrial and open For example, large organisations such as Google and Facebook use source software development communities. Research in code re- code review systems on a daily basis [5, 9]. view is highly dependant on real-world data, and although existing In addition to its increasing popularity among practitioners, researchers have attempted to provide code review datasets, there code review has also drawn the attention of software engineering is still no dataset that links code reviews with complete versions of researchers. There have been empirical studies on the effect of code the system’s code base mainly because reviewed versions are not review on many aspects of software engineering, including software kept in the system’s version control repository. Thus, we present quality [11, 12], review automation [2], and automated reviewer CROP, the Code Review Open Platform, the first curated code recommendation [20]. Recently, other research areas in software review repository that links review data with isolated complete engineering have leveraged the data generated during code review versions (snapshots) of the source code at the time of review. CROP to expand previously limited datasets and to perform empirical currently provides data for 8 software systems, 48,975 reviews and studies.
    [Show full text]
  • Big Data Analytics 732A54 and TDDE31 Technical Introduction Erik Rosendal Based on Slides by Maximilian Pfundstein 2
    Big Data Analytics 732A54 and TDDE31 Technical Introduction Erik Rosendal Based on slides by Maximilian Pfundstein 2 Deadline for lab groups today! Do not forget to sign up to lab groups in WebReg 732A54: https://www.ida.liu.se/webreg3/732A54-2021-1/LAB/ TDDE31: https://www.ida.liu.se/webreg3/TDDE31-2021-1/LAB/ 3 Aims This presentation should give you some hints how to use the NSC Sigma cluster along with some theoretical and practical information. The aim of the labs is not only to learn PySpark, but also to learn how to connect to a cluster and give you an opportunity to broaden your technical knowledge. This introduction does not cover the programming part of PySpark. 4 Table of Contents • Theoretical Introduction – Linux Systems – Shells – Virtual Environments and Modules – Apache Spark and PySpark • git • Practical Introduction – Secure Shell & Keys – Connecting – Developing – Submit a job Linux Systems Theoretical Introduction 6 Linux Systems • Prefer using the CLI rather than GUIs, simplifies the "how-to” long-term • ThinLinc is available for the most parts of your labs Shells Theoretical Introduction 8 Shells • The Terminal is the application, the shell the actual interactor • Command line shells: – sh – bash (default on most Linux systems) – cmd.exe (default on Windows) – zsh (default on macOS since Catalina) Virtual Environments and Modules Theoretical Introduction 10 Virtual Environments and Modules • There exist programs, that set up environments (venv) or modules for you – module: http://modules.sourceforge.net/ – conda: https://www.anaconda.com/
    [Show full text]
  • Unravel Data Systems Version 4.5
    UNRAVEL DATA SYSTEMS VERSION 4.5 Component name Component version name License names jQuery 1.8.2 MIT License Apache Tomcat 5.5.23 Apache License 2.0 Tachyon Project POM 0.8.2 Apache License 2.0 Apache Directory LDAP API Model 1.0.0-M20 Apache License 2.0 apache/incubator-heron 0.16.5.1 Apache License 2.0 Maven Plugin API 3.0.4 Apache License 2.0 ApacheDS Authentication Interceptor 2.0.0-M15 Apache License 2.0 Apache Directory LDAP API Extras ACI 1.0.0-M20 Apache License 2.0 Apache HttpComponents Core 4.3.3 Apache License 2.0 Spark Project Tags 2.0.0-preview Apache License 2.0 Curator Testing 3.3.0 Apache License 2.0 Apache HttpComponents Core 4.4.5 Apache License 2.0 Apache Commons Daemon 1.0.15 Apache License 2.0 classworlds 2.4 Apache License 2.0 abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License jackson-core 2.8.6 Apache License 2.0 Lucene Join 6.6.1 Apache License 2.0 Apache Commons CLI 1.3-cloudera-pre-r1439998 Apache License 2.0 hive-apache 0.5 Apache License 2.0 scala-parser-combinators 1.0.4 BSD 3-clause "New" or "Revised" License com.springsource.javax.xml.bind 2.1.7 Common Development and Distribution License 1.0 SnakeYAML 1.15 Apache License 2.0 JUnit 4.12 Common Public License 1.0 ApacheDS Protocol Kerberos 2.0.0-M12 Apache License 2.0 Apache Groovy 2.4.6 Apache License 2.0 JGraphT - Core 1.2.0 (GNU Lesser General Public License v2.1 or later AND Eclipse Public License 1.0) chill-java 0.5.0 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 OpenCensus 0.12.3 Apache License 2.0 ApacheDS Protocol
    [Show full text]
  • Crawling Code Review Data from Phabricator
    Friedrich-Alexander-Universit¨atErlangen-N¨urnberg Technische Fakult¨at,Department Informatik DUMITRU COTET MASTER THESIS CRAWLING CODE REVIEW DATA FROM PHABRICATOR Submitted on 4 June 2019 Supervisors: Michael Dorner, M. Sc. Prof. Dr. Dirk Riehle, M.B.A. Professur f¨urOpen-Source-Software Department Informatik, Technische Fakult¨at Friedrich-Alexander-Universit¨atErlangen-N¨urnberg Versicherung Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder ¨ahnlicherForm noch keiner anderen Pr¨ufungsbeh¨ordevorgelegen hat und von dieser als Teil einer Pr¨ufungsleistung angenommen wurde. Alle Ausf¨uhrungen,die w¨ortlich oder sinngem¨aߨubernommenwurden, sind als solche gekennzeichnet. Nuremberg, 4 June 2019 License This work is licensed under the Creative Commons Attribution 4.0 International license (CC BY 4.0), see https://creativecommons.org/licenses/by/4.0/ Nuremberg, 4 June 2019 i Abstract Modern code review is typically supported by software tools. Researchers use data tracked by these tools to study code review practices. A popular tool in open-source and closed-source projects is Phabricator. However, there is no tool to crawl all the available code review data from Phabricator hosts. In this thesis, we develop a Python crawler named Phabry, for crawling code review data from Phabricator instances using its REST API. The tool produces minimal server and client load, reproducible crawling runs, and stores complete and genuine review data. The new tool is used to crawl the Phabricator instances of the open source projects FreeBSD, KDE and LLVM. The resulting data sets can be used by researchers.
    [Show full text]
  • Ghub User and Developer Manual for Version 3.5.2
    Ghub User and Developer Manual for version 3.5.2 Jonas Bernoulli Copyright (C) 2017-2021 Jonas Bernoulli <[email protected]> You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABIL- ITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. i Table of Contents 1 Introduction ::::::::::::::::::::::::::::::::::::: 1 2 Getting Started:::::::::::::::::::::::::::::::::: 2 2.1 Basic Concepts, Arguments and Variables ::::::::::::::::::::::: 2 2.2 Setting the Username ::::::::::::::::::::::::::::::::::::::::::: 3 2.2.1 Setting your Github.com Username :::::::::::::::::::::::: 3 2.2.2 Setting your Gitlab.com Username ::::::::::::::::::::::::: 4 2.2.3 Setting your Github Enterprise Username :::::::::::::::::: 4 2.2.4 Setting your Username for Other Hosts and/or Forges :::::: 4 2.3 Creating and Storing a Token ::::::::::::::::::::::::::::::::::: 4 2.3.1 Creating a Token :::::::::::::::::::::::::::::::::::::::::: 4 2.3.2 Storing a Token:::::::::::::::::::::::::::::::::::::::::::: 5 2.4 Github Configuration Variables ::::::::::::::::::::::::::::::::: 5 3 API ::::::::::::::::::::::::::::::::::::::::::::::: 7 3.1 Their APIs ::::::::::::::::::::::::::::::::::::::::::::::::::::: 7 3.2 Making REST Requests ::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Artificial Intelligence for Understanding Large and Complex
    Artificial Intelligence for Understanding Large and Complex Datacenters by Pengfei Zheng Department of Computer Science Duke University Date: Approved: Benjamin C. Lee, Advisor Bruce M. Maggs Jeffrey S. Chase Jun Yang Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 2020 Abstract Artificial Intelligence for Understanding Large and Complex Datacenters by Pengfei Zheng Department of Computer Science Duke University Date: Approved: Benjamin C. Lee, Advisor Bruce M. Maggs Jeffrey S. Chase Jun Yang An abstract of a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 2020 Copyright © 2020 by Pengfei Zheng All rights reserved except the rights granted by the Creative Commons Attribution-Noncommercial Licence Abstract As the democratization of global-scale web applications and cloud computing, under- standing the performance of a live production datacenter becomes a prerequisite for making strategic decisions related to datacenter design and optimization. Advances in monitoring, tracing, and profiling large, complex systems provide rich datasets and establish a rigorous foundation for performance understanding and reasoning. But the sheer volume and complexity of collected data challenges existing techniques, which rely heavily on human intervention, expert knowledge, and simple statistics. In this dissertation, we address this challenge using artificial intelligence and make the case for two important problems, datacenter performance diagnosis and datacenter workload characterization. The first thrust of this dissertation is the use of statistical causal inference and Bayesian probabilistic model for datacenter straggler diagnosis.
    [Show full text]
  • Characterizing, Modeling, and Benchmarking Rocksdb Key-Value
    Characterizing, Modeling, and Benchmarking RocksDB Key-Value Workloads at Facebook Zhichao Cao, University of Minnesota, Twin Cities, and Facebook; Siying Dong and Sagar Vemuri, Facebook; David H.C. Du, University of Minnesota, Twin Cities https://www.usenix.org/conference/fast20/presentation/cao-zhichao 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 Characterizing, Modeling, and Benchmarking RocksDB Key-Value Workloads at Facebook Zhichao Cao†‡ Siying Dong‡ Sagar Vemuri‡ David H.C. Du† †University of Minnesota, Twin Cities ‡Facebook Abstract stores is still challenging. First, there are very limited studies of real-world workload characterization and analysis for KV- Persistent key-value stores are widely used as building stores, and the performance of KV-stores is highly related blocks in today’s IT infrastructure for managing and storing to the workloads generated by applications. Second, the an- large amounts of data. However, studies of characterizing alytic methods for characterizing KV-store workloads are real-world workloads for key-value stores are limited due to different from the existing workload characterization stud- the lack of tracing/analyzing tools and the difficulty of collect- ies for block storage or file systems. KV-stores have simple ing traces in operational environments. In this paper, we first but very different interfaces and behaviors. A set of good present a detailed characterization of workloads from three workload collection, analysis, and characterization tools can typical RocksDB production use cases at Facebook: UDB (a benefit both developers and users of KV-stores by optimizing MySQL storage layer for social graph data), ZippyDB (a dis- performance and developing new functions.
    [Show full text]