August 2022 Flashcards
CCAT
Center for Connected and Automated Transportation
REDIS
Remote Dictionary Server
Like no SQL but “fully cached” out of the box.
Blue City
State funded group working with CCAT to put lidar sensors up in Ann Arbor.
LC
Leadership Circle @ Mcity
K-City
South Korean Test Facility
Denso
Autoparts supplier
LC member
Japan
locally in Southfield, MI
Confluence
Where Mcity Engineering keeps most (unfinished/internal) docs
Zoho
Ticketing System & place where member roles (tiers) are stored.
Keys
The authn/authx portion of our network of services.
Miniconda
Free minimal installer for conda. A small bootstrap version of Anaconda that includes only conda, Python, the pkg they depend on, and a small number of useful pkgs.
Conda
An open-source pkg mng system and environment mng system. Built for Python.
NVM
Node Version Manager
Flask
A micro-web framework written in Python. (APIs)
CircleCI
Automatic Deployments (Pipelines) No longer used. We just moved to AWS pipelines. (Thanks Raj!)
Heroku
A cloud platform (We are moving to AWS)
Python Black
auto-formatter for Python code
Anaconda
a distribution of the Python and R programming languages for scientific computing.
EC2
Amazon Elastic Compute Cloud
Redis client side tracking
Tracking
default
Redis remembers clients/keys , then sends out invalidation msgs. upside: low (targeted) traffic downside: memory usage on server.
broadcasting
send out invalidation to all clients. upside: no server memory downside: lots of traffic and bothers all clients.
What is a GPG file?
A GPG file is a security key used to decrypt an encrypted file generated by GNU Privacy Guard (GnuPG), a file encryption program.
snapcraft (i.e. what is a snap?)
A snap is a bundle of an app and its dependencies that works without modification across Linux distributions.
what is pickle?
Python library for binary serialization. The act of “pickling” is reducing to byte stream.
What is a dunder?
a double underscore
Python underscore meanings. Explain.
one leading underscore is a visual reminder that the variable or method is meant to be private.
one lagging underscore is used to avoid key name collisions.
two leading underscores causes the interpreter to engage in collision avoidance name mangling.
Dunders are often prepended to create protection against public use.
venv
python virtual environment
Google-Gax
Google API Extensions for Python (gax-python) is a set of modules which aids the development of APIs for clients and servers based on gRPC and Google API conventions.
What is POSIX?
POSIX (Portable Operating System Interface) is a set of standard operating system interfaces based on the Unix operating system. The X is for Unix
What is babel?
Babel is a JavaScript compiler
Babel is a toolchain that is mainly used to convert ECMAScript 2015+ code into a backwards compatible version of JavaScript in current and older browsers or environments. Here are the main things Babel can do for you:
Transform syntax
Polyfill features that are missing in your target environment (through a third-party polyfill such as core-js)
Source code transformations (codemods)
What is a Bearer Token?
Bearer Tokens are the predominant type of access token used with OAuth 2.0.
A Bearer Token is an opaque string, not intended to have any meaning to clients using it. Some servers will issue tokens that are a short string of hexadecimal characters, while others may use structured tokens such as JSON Web Tokens.
What is a sender constrained token
Sender-constrained tokens require the OAuth client to prove possession of a private key in some way in order to use the access token, such that the access token by itself would not be usable.
DSRC (and types of messages)
Dedicated Short Range Communications (DSRC).
The dictionary provides definitions for messages from vehicles (V2V), infrastructure (V2I), and other types of actors (altogether this is called V2X) - those messages codify aspects of the current state of the sending system.
BSM
Basic Safety Message (lat, long, speed, brake sys status)
OBU
On-Board Units
RSU
Roadside Units
ASN1C
A standard interface description language for defining data structures that can be serialized and deserialized in a cross-platform way. It is broadly used in telecommunications and computer networking, and especially in cryptography. ASN.1. Abstract Syntax Notation On
J2735
The J2735 Standard specifies a message set, and its data frames and data elements, specifically for use by applications intended to utilize the 5.9 GHz Dedicated Short Range Communications for Wireless Access in Vehicular Environments (DSRC/WAVE, referenced simply as “DSRC”) communications systems.
.ASN
Abstract Syntax Notation (J2735)
AWS Kinesis
Easily collect, process, and analyze video and data streams in real time. (Amazon of course)
TSCBM
Traffic Signal Controller Broadcast Message
ROS
Robotic Operating System
RTCM
Radio Technical Commission for Maritime services. (msgs that contain GPS correction info).
shabang?
sharp bang (#!) #!/bin/bash
This just ensures that the file will be executed by bash and not dash (which Ubuntu recently switched to)
coroutine
provide concurrency but not parallelism (single thread where routines share data) (yield to each other)
coroutines are cooperatively multitasked. (threads are preemptively multitasked)
preemptive vs. cooperative multitasking
preemptive (interrupt mechanism -> controls context switch)
cooperative (routines yield to each other)
gevent
a coroutine-based Python networking library.
MITMProxy
Man in the Middle Proxy for debugging HTTP/HTTPS traffic.
Homebrew
Package manager for Macs
PTV Vissim
ptv vissim is a microscopic multi-modal traffic flow simulation software package developed by PTV Planung Transport Verkehr AG in Karlsruhe, Germany. The name is derived from “Verkehr In Städten - SIMulationsmodell”. PTV Vissim was first developed in 1992 and is today a global market leader
ARMCity
Augmented Reality Mcity (simulation app) Generates traffic for PTV Vissim.
Shengyin Shen
“Sean” UMTRI Research Engineer. ARMCity simulation work.