Posts

Information Schema

A common standard database description view set is referred to as the information schema.

DMARC

Domain-based Message Authentication, Reporting & Conformance (DMARC) is a protocol for specifying how email receivers should utilize Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM). DMARC specifications are stored in the Domain Name System (DNS).

DKIM

DomainKeys Identified Mail (DKIM) is an email digital signature system that stores public keys in the Domain Name System (DNS).

MX And SPF Records

Mail Exchange (MX) records specify email receivers. Sender Policy Framework (SPF) records specify email senders. Both are part of the Domain Name System (DNS).

MUAs, MSAs And MTAs

Clients that transfer emails to servers are referred to as mail user agents (MUAs). Servers that accept emails from clients are referred to as mail submission agents (MSAs). Servers that transfer emails to other servers are referred to as mail transfer agents (MTAs).

SMTP And Submissions Ports

Servers transfer emails using the Simple Mail Transfer Protocol (SMTP) port (25). Clients transfer emails to servers using one of the submissions ports (465 and 587).

SASL

Simple Authentication And Security Layer (SASL) is an authentication protocol. It compliments the Transport Layer Security (TLS) encryption protocol.

SQL Join Algorithm

SQL joins return subsets of all possible pairs of rows between two tables and rows of nulls. Note that subsets can be defined by inequalities as well as equalities.

Phasors

Phasors are complex exponential functions of time.  They are often used describe rotations.  Phasor multiplication is different from cross products. 

Parquet

Parquet is a tabular data encoding that includes compression and other features.

SQL Window Functions

SQL window functions are SQL functions applied to row sets associated with rows:

    window-function over (row-set-definition)

SQL Order Of Operations

For SQL select statements, with only one select operation, the order of operations is: from, join, where, group by, having, select, distinct, order by and limit.

Note that on clauses are parts of join operations, and, window functions are parts of select operations.  Note also that where operations must appear after join operations and before group by operations.

Race And Ethnicity

Race refers to physical characteristics. Ethnicity refers to cultural characteristics.

Managing Python Module Variables With Strings

Invoking the Python globals function returns a dictionary containing module information that can be modified. The dictionary keys are the module variable names as strings. The dictionary values are the module variable values.

Upserts

Upserts are database processes that update and add rows based on primary keys.

Specifying SQL Table Primary Keys Improves Performance

Specifying SQL table primary keys improves performance.

SQL Select Subexpressions

Can often use SQL select subexpressions where SQL values, lists or tables are required. SQL select subexpressions have the following form:
    (select-expression) name

SQL Common Table Expressions

Can define and use temporary SQL tables with SQL common table expressions:
    with name-1 [column-list-1] as (definition-1),
         name-2 [column-list-2] as (definition-2),
         name-3 [column-list-3] as (definition-3)

Hash Tables Lead To Fast Searches

Hash tables are formed from dictionaries by replacing keys with their hashes.  Consider storing the dictionary values at memory addresses equal to the corresponding hashes.  Then, searching for dictionary values would mainly involve just finding hashes!  

P, NP, NP Hard & NP Complete Decision Problems

Decision problems are problems solved by boolean functions of inputs.  Polynomial time Turing machines are Turning machines with the number of required steps always bounded by some polynomial function of input size.  Polynomial time decision problems (P) are decision problems that can always be solved by some polynomial time Turing machine.  Nondeterministic polynomial time decision problems (NP) are decision problems that always have answers that can be verified by some polynomial time Turing machine.  NP hard decision problems are decision problems such that, if any can be solved by some polynomial time Turing machine, then so can all NP decision problems.  NP complete decision problems are decision problems that are both NP hard and NP decision problems.  An example of an NP hard decision problem is the halting problem. An example of an NP complete decision problem is the traveling salesman problem.  An example of a P decision problem is primality determination.