Primero Operations

Total Page:16

File Type:pdf, Size:1020Kb

Primero Operations Table of Contents Introduction 1.1 System Users 1.2 CouchDB 1.3 Nginx 1.4 Passenger 1.5 Solr 1.6 Beanstalkd 1.7 Backburner 1.8 CouchWatcher 1.9 Primero Scheduler 1.10 primeroctl Script 1.11 1 Introduction Primero Application Primero is a Ruby on Rails application. It is served by Phusion Passenger which is proxied to by an Nginx web server. Static assets such as JS, CSS, and application icons and images are served by Nginx. Nginx is configured to serve Primero via HTTPS. It runs on default port HTTPS 443 which accepts traffic redirected from port 80. The backing database is CouchDB. When CouchDB is configured to replicate, it will be running on port 6984, via HTTPS. The core run-time system dependencies of Primero are: Nginx, which accepts external web traffic and routes it to Phusion Passenger or serves up static assets Phusion Passenger which launches and services 1-N Ruby processes CouchDB, the database backing Primero (see below) Apache Solr, the Lucene search index service (see below) The following services ensure proper Primero behavior when applying business rules, but will not cause fatal application errors if they are down: Couch Change Watcher notifier Primero Scheduler The system is designed to be deployed to Ubuntu 16.04, the long term support edition which is guaranteed to be supported through the end of 2020. All deployment is automated using Chef (https://www.chef.io/). 2 System Users System users In order to perform system maintenance, system support staff will need to log on to the Linux server. The system allows remote logon via SSH for the user ubuntu. This user has passwordless sudo (superuser) privileges and can be used to run system security upgrades and administer services. Designated support staff will be granted access to this user via public SSH keys. In order to grant access to the ubuntu user, append the designated support person’s key to the file /home/ubuntu/.ssh/authorized_keys. For more on SSH key access to linux refer to the following guide: https://www.linode.com/docs/security/use-public-key-authentication- with-ssh. Some administrative tasks such as data cleanup tasks must be done with the primero system user. This user is distinct from the application primero user. To switch from the ubuntu user to the primero user: $ sudo -Hu primero bash $ source ~/.rvm/scripts/rvm 3 CouchDB CouchDB CouchDB (http://couchdb.apache.org) is the backing database of Primero. It is accessible via HTTP on 127.0.0.1:5984 and is optionally reverse proxied by Nginx for HTTPS on 0.0.0.0:6984. This exposes CouchDB to the outside world for replication. The admin is exposed at https://cpims-myimplementation.primero.org:6984/_utils. If CouchDB is not exposed to the external world, one will need to set up a SSH tunnel and forward the port to the localhost in order to access it for maintenance: $ ssh -f -N -L 45984:localhost:5984 admin_user@your_primero_server The admin will now be available at http://localhost:45984/_utils CouchDB is started as a service on system startup via the Upstart Daemon (http://upstart.ubuntu.com/) Start $ sudo systemctl start couchdb Stop $ sudo systemctl stop couchdb $ sudo systemctl status couchdb couchdb.service - System-wide CouchDB instance Loaded: loaded (/lib/systemd/system/couchdb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-09-19 05:01:44 UTC; 10h ago Main PID: 4515 (beam.smp) Tasks: 14 Memory: 77.9M CPU: 3min 44.982s CGroup: /system.slice/couchdb.service Status ├─ 4515 /usr/lib/erlang/erts-7.3/bin/beam.smp -Bd -K true -A 4 -- -root /usr/lib/erlang -progname erl -- -home /var/lib/couchdb -- -noshell -noinput -os_mon start_memsup false start_cpu_sup fal ├─ 4553 sh -s disksup └─26184 /usr/bin/couchjs -S 134217728 /usr/share/couchdb/server/main.js Sep 19 15:09:31 primero-int-1-4 couchdb[4515]: [info] [<0.5509.1>] 127.0.0.1 - - PUT /primero_system_settings_production/52ffbe061b4b930ce941ff9a8f9b526c 201 Sep 19 15:09:31 primero-int-1-4 couchdb[4515]: [info] [<0.5510.1>] 127.0.0.1 - - GET /primero_sessions_production/e3255dc9a0964d1292f75e51113e0f87 200 Sep 19 15:09:31 primero-int-1-4 couchdb[4515]: [info] [<0.32009.0>] Starting index update for db: primero_system_settings_production idx: _design/SystemSettings Log /srv/primero/logs/couchdb/couch.log File Data /var/lib/couchdb Dir Run root, couchdb Users 4 Nginx Nginx The Primero application is served by the Nginx server. Shutting the server down halts the application. Note that Nginx is an optional runtime dependency of CouchDB for situations where external syncing is employed (as it is in Sierra Leone). Where CouchDB and the Primero Ruby on Rails application are deployed on the same box, they will share an instance of Nginx. Start $ sudo systemctl start nginx Stop $ sudo systemctl stop nginx $ sudo systemctl status nginx nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-09-19 05:02:53 UTC; 10h ago Process: 12520 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 12517 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) grep nginx` Main PID: 12523 (nginx) root 12523 1 0 05:02 ? 00:00:00 nginx: master Tasks: 3 process /usr/sbin/nginx -g daemon on; master_process on; Status Memory: 8.0M CPU: 2.987s www-data 12524 12523 0 05:02 ? 00:00:02 nginx: CGroup: /system.slice/nginx.service worker process www-data 12525 12523 0 05:02 ? 00:00:00 nginx: ├─12523 nginx: master process /usr/sbin/nginx -g daemon on; master_process on worker process ├─12524 nginx: worker process └─12525 nginx: worker process Sep 19 05:02:53 primero-int-1-4 systemd[1]: Starting A high performance web server and a reverse proxy server... Sep 19 05:02:53 primero-int-1-4 nginx[12517]: nginx: [warn] "ssl_stapling" ignored, issuer certificate not found Sep 19 05:02:53 primero-int-1-4 nginx[12520]: nginx: [warn] "ssl_stapling" ignored, issuer certificate not found `$ ps -fA \ /srv/primero/logs/couchdb/nginx_server.log Log /srv/primero/logs/couchdb/nginx_error.log Files /var/log/nginx/access.log Run root, www-data User 5 Passenger Passenger Passenger is an open source, scalable web application server. If there is instability or unpredictable behavior experienced after applying a configuration bundle, stopping then starting Passenger is a good approach to resolving them. Start $ sudo systemctl start passenger Stop $ sudo systemctl stop passenger $ sudo systemctl status passenger passenger.service - Passenger Standalone Application Server Loaded: loaded (/etc/systemd/system/passenger.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-09-19 05:02:49 UTC; 10h ago Main PID: 12316 (PassengerWebHel) Tasks: 26 Memory: 277.7M CPU: 1min 31.858s CGroup: /system.slice/passenger.service ├─12298 PassengerWatchdog ├─12301 PassengerHelperAgent ├─12307 PassengerLoggingAgent ├─12316 PassengerWebHelper: master process /srv/primero/.passenger/standalone/4.0.59/webhelper-1.6.2-x86_64- linux/PassengerWebHelper -c /tmp/passenger-standalone.rjitj/config -p /tmp/passenger- ├─12317 PassengerWebHelper: worker process ├─12322 /srv/primero/.passenger/standalone/4.0.59/support-x86_64-linux/agents/TempDirToucher /tmp/passenger- Status standalone.rjitj --cleanup --daemonize --pid-file /tmp/passenger-standalone.rjitj/tem └─12552 Passenger RackApp: /srv/primero/application Sep 19 05:02:48 primero-int-1-4 systemd[1]: Starting Passenger Standalone Application Server... Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: =============== Phusion Passenger Standalone web server started =============== Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: PID file: /srv/primero/application/tmp/passenger.pid Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: Log file: /srv/primero/logs/rails//passenger.log Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: Environment: production Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: Accessible via: http://127.0.0.1:4000/ Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: Serving in the background as a daemon. Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: Problems? Check https://www.phusionpassenger.com/documentation/Users%20guide%20Standalone.html#troubleshooting Sep 19 05:02:49 primero-int-1-4 passenger-worker.sh[12161]: =============================================================================== Sep 19 05:02:49 primero-int-1-4 systemd[1]: Started Passenger Standalone Application Server. `$ ps -fA \ Log /srv/primero/logs/rails/passenger.log File Run root, primero User 6 Solr Solr Apache Solr (http://lucene.apache.org/solr/) is used as the search and query index for Primero. All records saved in Primero are indexed in Solr. Solr is a Java process that runs on a Jetty application server. Solr is launched by Supervisor (http://supervisord.org/). A nightly cron job restarts Solr to prevent the memory cache from over- expanding. $ sudo supervisorctl start Start solr $ sudo supervisorctl stop Stop solr $ sudo supervisorctl status solr grep solr` solr RUNNING pid 14899, solr 14899 1423 0 06:25 ? 00:00:32 java -Djetty.port=8983 - Status uptime 9:52:10 Dsolr.data.dir=/srv/primero/application/solr/data/production - Dsolr.solr.home=/srv/primero/application/solr -Djava.awt.headless=true -jar `$ ps -fA \ start.jar $ RAILS_ENV=production Reindex bundle exec rake sunspot:reindex Log /srv/primero/logs/solr/output.log Files Run root, solr User 7 Beanstalkd Beanstalkd Beanstalk (https://github.com/kr/beanstalkd/wiki/faq) is a queue for processes. Currently, beanstalk is by Primero for bulk exports. Beanstalk prevents the system from getting overwhelmed by thousands of tasks and just queues up the tasks until the system has enough resources.
Recommended publications
  • TECHNICAL STANDARDS a Standards Validation Committee of Industry Representatives and Educators Reviewed and Updated These Standards on December 11, 2017
    SOFTWARE AND APP DESIGN 15.1200.40 TECHNICAL STANDARDS A Standards Validation Committee of industry representatives and educators reviewed and updated these standards on December 11, 2017. Completion of the program prepares students to meet the requirements of one or more industry certification: Cybersecurity Fundamentals Certificate, Oracle Certified Associate, Java SE 8 Programmer, Certified Internet Web (CIW) - JavaScript Specialist, CompTIA A+, CompTIA IT Fundamentals, CSX Cybersecurity Fundamentals Certificate, and Microsoft Technology Associate (MTA). The Arizona Career and Technical Education Quality Commission, the validating entity for the Arizona Skills Standards Assessment System, endorsed these standards on January 25, 2018. Note: Arizona’s Professional Skills are taught as an integral part of the Software and App Design program. The Technical Skills Assessment for Software and App Design is available SY2020-2021. Note: In this document i.e. explains or clarifies the content and e.g. provides examples of the content that must be taught. STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS 1.1 Establish objectives and outcomes for a task 1.2 Explain the process of decomposing a large programming problem into smaller, more manageable procedures 1.3 Explain “visualizing” as a problem-solving technique prior to writing code 1.4 Describe problem-solving and troubleshooting strategies applicable to software development STANDARD 2.0 RECOGNIZE SECURITY ISSUES 2.1 Identify common computer threats (e.g., viruses, phishing,
    [Show full text]
  • Alexander, Kleymenov
    Alexander, Kleymenov Key Skills ▪ Ruby ▪ JavaScript ▪ C/C++ ▪ SQL ▪ PL/SQL ▪ XML ▪ UML ▪ Ruby on Rails ▪ EventMachine ▪ Sinatra ▪ JQuery ▪ ExtJS ▪ Databases: Oracle (9i,10g), MySQL, PostgreSQL, MS SQL ▪ noSQL: CouchDB, MongoDB ▪ Messaging: RabbitMQ ▪ Platforms: Linux, Solaris, MacOS X, Windows ▪ Testing: RSpec ▪ TDD, BDD ▪ SOA, OLAP, Data Mining ▪ Agile, Scrum Experience May 2017 – June 2018 Digitalkasten Internet GmbH (Germany, Berlin) Lead Developer B2B & B2C SaaS: Development from the scratch. Ruby, Ruby on Rails, Golang, Elasticsearch, Ruby, Ruby on Rails, Golang, Elasticsearch, Postgresql, Javascript, AngularJS 2 / Angular 5, Ionic 2 & 3, Apache Cordova, RabbitMQ, OpenStack January 2017 – April 2017 (project work) Stellenticket Gmbh (Germany, Berlin) Lead developer Application prototype development with Ruby, Ruby on Rails, Javascript, Backbone.js, Postgresql. September 2016 – December 2016 Part-time work & studying German in Goethe-Institut e.V. (Germany, Berlin) Freelancer & Student Full-stack developer and German A1. May 2016 – September 2016 Tridion Assets Management Gmbh (Germany, Berlin) Team Lead Development team managing. Develop and implement architecture of application HRLab (application for HRs). Software development trainings for team. Planning of software development and life cycle. Ruby, Ruby on Rails, Javascript, Backbone.js, Postgresql, PL/pgSQL, Golang, Redis, Salesforce API November 2015 – May 2016 (Germany, Berlin) Ecratum Gmbh Ruby, Ruby on Rails developer ERP/CRM - Application development with: Ruby 2, RoR4, PostgreSQL, Redis/Elastic, EventMachine, MessageBus, Puma, AWS/EC2, etc. April 2014 — November 2015 (Russia, Moscow - Australia, Melbourne - Munich, Germany - Berlin, Germany) Freelance/DHARMA Dev. Ruby, Ruby on Rails developer notarikon.net Application development with: Ruby 2, RoR 4, PostgreSQL, MongoDB, Javascript (CoffeeScript), AJAX, jQuery, Websockets, Redis + own project: http://featmeat.com – complex service for health control: trainings tracking and data providing to medical adviser.
    [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]
  • Integrating Openshift Enterprise with Identity Management (Idm) in Red Hat Enterprise Linux
    Integrating OpenShift Enterprise with Identity Management (IdM) in Red Hat Enterprise Linux OpenShift Enterprise 2.2 IdM in Red Hat Enterprise Linux 7 Windows Server 2012 - Active Directory Integration Mark Heslin Principal Systems Engineer Version 1.1 January 2015 1801 Varsity Drive™ Raleigh NC 27606-2072 USA Phone: +1 919 754 3700 Phone: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Research Triangle Park NC 27709 USA Linux is a registered trademark of Linus Torvalds. Red Hat, Red Hat Enterprise Linux and the Red Hat "Shadowman" logo are registered trademarks of Red Hat, Inc. in the United States and other countries. Microsoft and Windows are U.S. registered trademarks of Microsoft Corporation. UNIX is a registered trademark of The Open Group. Intel, the Intel logo and Xeon are registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. All other trademarks referenced herein are the property of their respective owners. © 2014 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). The information contained herein is subject to change without notice. Red Hat, Inc. shall not be liable for technical or editorial errors or omissions contained herein. Distribution of modified versions of this document is prohibited without the explicit permission of Red Hat Inc. Distribution of this work or derivative of this work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from Red Hat Inc.
    [Show full text]
  • Test Kitchen, Inspec Docker - Fastest Way to Run Stuff (Virtual Virtual Machines) DOCKER
    TEST DRIVEN INFRASTRUCTURE COMPLIANCE AS CODE by Joaquín Menchaca À PROPOS DE MOI ABOUT ME ROCKET LAWYER SENIOR DEVOPS BUILD/RELEASE ENGINEER aka Linux Ninja Pants Automation Engineering Mutant actual photo https://slides.com/devopsstu dio/lisa18_tdi AGENDA 1. Setup 2. Context 3. Chef + InSpec 4. Ansible + InSpec 5. Bonus SETUP THE CODE https://github.com/darkn3rd/lisa18_t est_driven_infra CODE git clone \ https://github.com/darkn3rd/lisa18_test_driven_infra cd lisa18_test_driven_infra # Using Virtual Workstation vagrant up vagrant ssh cd lisa18_test_driven_infra # Using Host (MacOS X or Linux) #### Install Requirements # Using Host (Windows) #### Install Rrequiremnts #### Warning: Might not work, had success w/ Chef THE HOST SETUP must be able to run Docker or Vagrant MINIMUM REQUIRED ChefDK - bundles ruby, test kitchen, inspec Docker - fastest way to run stuff (virtual virtual machines) DOCKER Easiest Path is Docker Desktop DOCKER PACKAGE MANAGERS choco install docker-for-windows https://chocolatey.org/ brew cask install docker https://brew.sh/ DIRECT DOWNLOAD https://www.docker.com/products/docker-desktop DOCKER Debian Package on Ubuntu sudo apt-get update -qq sudo apt-get install -y apt-transport-https \ curl ca-certificates software-properties-common DOCKER_REPO="https://download.docker.com/linux/ubuntu" curl -fsSL ${DOCKER_REPO}/gpg | \ sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] ${DOCKER_REPO} \ $(lsb_release -cs) \ stable" sudo apt-get update -qq sudo apt-get install -y docker-ce sudo usermod -aG docker $USER
    [Show full text]
  • User Guide for HCR Estimator 2.0: Software to Calculate Cost and Revenue Thresholds for Harvesting Small-Diameter Ponderosa Pine
    United States Department of Agriculture User Guide for HCR Forest Service Estimator 2.0: Software Pacific Northwest Research Station to Calculate Cost and General Technical Report PNW-GTR-748 Revenue Thresholds April 2008 for Harvesting Small- Diameter Ponderosa Pine Dennis R. Becker, Debra Larson, Eini C. Lowell, and Robert B. Rummer The Forest Service of the U.S. Department of Agriculture is dedicated to the principle of multiple use management of the Nation’s forest resources for sustained yields of wood, water, forage, wildlife, and recreation. Through forestry research, cooperation with the States and private forest owners, and management of the National Forests and National Grasslands, it strives—as directed by Congress—to provide increasingly greater service to a growing Nation. The U.S. Department of Agriculture (USDA) prohibits discrimination in all its programs and activities on the basis of race, color, national origin, age, disability, and where applicable, sex, marital status, familial status, parental status, religion, sexual orientation, genetic information, political beliefs, reprisal, or because all or part of an individual’s income is derived from any public assistance program. (Not all prohibited bases apply to all programs.) Persons with disabilities who require alternative means for communication of program information (Braille, large print, audiotape, etc.) should contact USDA’s TARGET Center at (202) 720-2600 (voice and TDD). To file a complaint of discrimination, write USDA, Director, Office of Civil Rights, 1400 Independence Avenue, SW, Washington, DC 20250-9410 or call (800) 795-3272 (voice) or (202) 720-6382 (TDD). USDA is an equal opportunity provider and employer. Authors Dennis R.
    [Show full text]
  • Insight: Semantic Provenance and Analysis Platform for Multi-Center Neurology Healthcare Research
    INSIGHT: SEMANTIC PROVENANCE AND ANALYSIS PLATFORM FOR MULTI-CENTER NEUROLOGY HEALTHCARE RESEARCH by PRIYA RAMESH Submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY January, 2016 ii CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis of PRIYA RAMESH candidate for the Master of Science degree*. (signed) Dr. Satya S. Sahoo, Ph.D. (Chair of the committee) Dr. Kenneth A. Loparo, Ph.D. Dr. Martha Sajatovic, MD. (date) November 5th, 2015 *We also certify that written approval has been obtained for any proprietary material contained therein. iii Copyright © Priya Ramesh January, 2016 All rights reserved. iv TABLE OF CONTENTS TABLE OF CONTENTS iv LIST OF FIGURES vi LIST OF TABLES vii ACKNOWLEDGEMENT viii CHAPTER 1. INTRODUCTION 10 CHAPTER 2. BACKGROUND 13 2.1 Managing Epilepsy Well Network 13 2.1.1 Introduction 13 2.1.2 MEW database workgroup 16 2.1.3 MEW Network survey results 17 2.1.4 A common terminology for epilepsy self-management 19 2.1.5 Standardization of data elements 20 2.1.6 Data curation workflow for MEW Network datasets 21 2.1.7 MEW Network database design and functionality 26 2.2 Research Studies 27 CHAPTER 3. METHODS 30 3.1. Semantic Integration Module using MEW Common Data Elements (CDEs) 33 3.2. Data Exploration and Query Module 34 3.3. Ontology-based Inference Module 36 CHAPTER 4. INSIGHT SOFTWARE DEVELOPMENT 38 4.1 Objective 38 4.2 Agile Methodology 39 4.3 User Interface Development 41 CHAPTER 5.
    [Show full text]
  • Ola Bini Computational Metalinguist [email protected] 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C
    JRuby For The Win Ola Bini computational metalinguist [email protected] http://olabini.com/blog 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C onsdag 12 juni 13 Logistics and Demographics onsdag 12 juni 13 LAST MINUTE DEMO onsdag 12 juni 13 JRuby Implementation of the Ruby language Java 1.6+ 1.8.7 and 1.9.3 compatible (experimental 2.0 support) Open Source Created 2001 Embraces testing Current version: 1.7.4 Support from EngineYard, RedHat & ThoughtWorks onsdag 12 juni 13 Why JRuby? Threading Unicode Performance Memory Explicit extension API and OO internals Libraries and legacy systems Politics onsdag 12 juni 13 InvokeDynamic onsdag 12 juni 13 JRuby Differences Most compatible alternative implementation Native threads vs Green threads No C extensions (well, some) No continuations No fork ObjectSpace disabled by default onsdag 12 juni 13 Simple JRuby onsdag 12 juni 13 Java integration Java types == Ruby types Call methods, construct instances Static generation of classes camelCase or snake_case .getFoo(), setFoo(v) becomes .foo and .foo = v Interfaces can be implemented Classes can be inherited from Implicit closure conversion Extra added features to Rubyfy Java onsdag 12 juni 13 Ant+Rake onsdag 12 juni 13 Clojure STM onsdag 12 juni 13 Web onsdag 12 juni 13 Rails onsdag 12 juni 13 Sinatra onsdag 12 juni 13 Trinidad onsdag 12 juni 13 Swing Swing API == large and complex Ruby magic simplifies most of the tricky bits Java is a very verbose language Ruby makes Swing fun (more fun at least) No consistent cross-platform GUI library for Ruby
    [Show full text]
  • Vasili Korol
    Vasili Korol Senior Software Developer Odense, Denmark Age: 35 mob.: +45 20 68 50 23 Married, have son (born 2010) e-mail: [email protected] ​ Personal Statement ⚬ Strong IT skills (16+ years of versatile experience) ⚬ Background in physics research ⚬ Work effectively both as team member and leader ⚬ Enthusiastic and committed ⚬ Spoken languages: Russian (native), English (fluent), Danish (Prøve i Dansk 3 / level B2) ​ ​ ​ ​ Education 2006–2008: Master’s degree (with distinction) in applied physics. ​ 2002–2006: Bachelor’s degree (with distinction) in applied physics. Under- to postgraduate student at St. Petersburg State Polytechnical University, Faculty of Physics and Technology, Dept. of Cosmic Physics. The thesis “Search for possible space-time variations of the fine-structure constant and isotopic shifts” (a supervisor Prof. ​ M.G. Kozlov). ​ 1992-2002: School education in St. Petersburg, Russia and Belfast, UK (in 1993). Professional Career 2015 – Feb 2021: Software developer in the QuantBio research group at the University of ​ ​ ​ ​ Southern Denmark (SDU), Institute of Physics, Chemistry and Pharmacy (HPC section). I am the principal developer of VIKING, a service providing a web interface for configuring ​ ​ ​ and running scientific computational tasks on supercomputers. I designed the software architecture, developed the system core and coordinated the work of several developers. 2014 – 2015: Lead programmer (Perl) at Internet Projects LLC, russian informational portals subscribe.ru and sendsay.ru (St. Petersburg, Russia). ​ ​ ​ Worked with a team of developers on projects targeted at developing an API for news aggregation and content processing services. This involved integration with various online platforms (Facebook, Twitter, Vkontakte, LiveJournal, Google Analytics), web scraping and designing instruments for user publications at the portals and beyond.
    [Show full text]
  • Summer Camps
    SUMMER | 2014 RECREATION CAMPS ADULT CLASSES SENIOR SERVICES CITY RECREATION PROGRAMS & SERVICES Special Events Table of Contents Featured Events 2 Lafayette’s Annual Restaurant Walk Summer Camp Calendar 3 Tour Lafayette’s finest dining establishments and sample the Summer Camps 4-19 signature cuisine of each restaurant Preschool/Youth Classes 20-23 Tuesday, May 20, 2014 • 5:30–9:00pm Adult Classes 24-29 Wine Reception • Restaurant Tastings • Coffee and Dessert Musical entertainment at selected locations Adults 55+ Classes 30-33 Raffle Prizes • Auctions General Information 34 $45 per person Registration Form 35 www.lafayettechamber.org Summer Shows Back Cover Benefits Lafayette Community Foundation and the programs and services of the Lafayette Chamber of Commerce Lafayette Fall Ball 2014 Big League Fundamentals for Little League Players—All the Training, without the Travel! June 6, 13, 20 & 27 5/6 Yrs 7/8 Yrs 9/10 Yrs 3:30 to 4:30 4:30 to 5:30 5:30 to 6:30 Music Begins at 6:30pm Rock SESSION/DAYS DATES I: Mon/Wed 9/8 to 10/1 Visit www.LafayetteChamber.org II: Mon/Wed 10/6 to 10/29 The Plaza for full details 11/12 Yrs 3:30 to 5:30 SESSION/DAYS DATES Fridays in the Lafayette Plaza I: Thurs 9/11 to 10/2 II: Thurs 10/9 to 10/30 FEE MIN/MAX LOCATION $203 15/25 Buckeye Fields Lafayette Boys Basketball or Girls Volleyball Boy’s Basketball for Boys entering Grades 1–8 this fall & Girl’s Volleyball for Girls entering Grades 4–8 this fall New This Year: 1.
    [Show full text]
  • UNIVERSITY of CALIFORNIA, SAN DIEGO Toward Understanding And
    UNIVERSITY OF CALIFORNIA, SAN DIEGO Toward Understanding and Dealing with Failures in Cloud-Scale Systems A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science by Peng Huang Committee in charge: Professor Yuanyuan Zhou, Chair Professor Tara Javidi Professor Ranjit Jhala Professor George Porter Professor Stefan Savage 2016 Copyright Peng Huang, 2016 All rights reserved. The Dissertation of Peng Huang is approved and is acceptable in quality and form for publication on microfilm and electronically: Chair University of California, San Diego 2016 iii DEDICATION To my parents, brother and fiancée for their unconditional love and support. iv EPIGRAPH Quis custodiet ipsos custodes? (But who can watch the watchmen?) Juvenal Anything that can go wrong, will go wrong. Murphy’s law Those who fail to learn from the mistakes are doomed to repeat them. George Santayana In the middle of the night, [...] He would awaken and find himeself wondering if one of the machines had stopped working for some new, unknown reason. Or he would wake up thinking about the latest failure, the one whose cause they’d been looking for a whole week and sitll hadn’t found. The bogeyman—la machine—was there in his bedroom. Tracy Kidder, The Soul of a New Machine v TABLE OF CONTENTS SignaturePage...................................... .................. iii Dedication ......................................... .................. iv Epigraph........................................... .................. v TableofContents
    [Show full text]
  • The Apple Ecosystem
    APPENDIX A The Apple Ecosystem There are a lot of applications used to manage Apple devices in one way or another. Additionally, here’s a list of tools, sorted alphabetically per category in order to remain vendor agnostic. Antivirus Solutions for scanning Macs for viruses and other malware. • AVG: Basic antivirus and spyware detection and remediation. • Avast: Centralized antivirus with a cloud console for tracking incidents and device status. • Avira: Antivirus and a browser extension. Avira Connect allows you to view device status online. • BitDefender: Antivirus and malware managed from a central console. • CarbonBlack: Antivirus and Application Control. • Cylance: Ransomware, advanced threats, fileless malware, and malicious documents in addition to standard antivirus. • Kaspersky: Antivirus with a centralized cloud dashboard to track device status. © Charles Edge and Rich Trouton 2020 707 C. Edge and R. Trouton, Apple Device Management, https://doi.org/10.1007/978-1-4842-5388-5 APPENDIX A THe AppLe ECOSYSteM • Malware Bytes: Antivirus and malware managed from a central console. • McAfee Endpoint Security: Antivirus and advanced threat management with a centralized server to track devices. • Sophos: Antivirus and malware managed from a central console. • Symantec Mobile Device Management: Antivirus and malware managed from a central console. • Trend Micro Endpoint Security: Application whitelisting, antivirus, and ransomware protection in a centralized console. • Wandera: Malicious hot-spot monitoring, jailbreak detection, web gateway for mobile threat detection that integrates with common MDM solutions. Automation Tools Scripty tools used to automate management on the Mac • AutoCasperNBI: Automates the creation of NetBoot Images (read: NBI’s) for use with Casper Imaging. • AutoDMG: Takes a macOS installer (10.10 or newer) and builds a system image suitable for deployment with Imagr, DeployStudio, LANrev, Jamf Pro, and other asr or Apple Systems Restore-based imaging tools.
    [Show full text]