Reference Pages
- AWS
- Java
- HL7 / Mirth Connect
- Homelab
- Java
- JavaScript
- Linux
- Python
- Regular Expressions
- SSL/Certificates
- Time Zones
Misc
- Google Technical Writing Courses
- Explain Shell
- JMESPath Specification
- Edit CLI Editor
- Windows Package Manager (winget)
- Windows PowerToys
- Windows Subsystem for Linux (WSL)
- Windows Terminal
Data Stuff
- Mockaroo
- Synthea
- The Book of OHDSI Observational Health Data Sciences and Informatics
- ODHSI OMOP CDM Observational Medical Outcomes Partnership (OMOP) Common Data Model (CDM)
HL7 Mirth Connect
- Caristix HL7 V2 Reference
- HAPI FHIR
- HL7 International
- HL7 FHIR
- Mirth Connect Releases
- Mirth Connect User Guide PDF
- Mirth Connect User Guide PDF
- Mirth Connect Administrator Launcher Downloads
- Rhino (the JS engine that Mirth Connect uses.)
Escape Sequences
| Sequence | Replacement | |
|---|---|---|
| \F\ | | | Field Separator (MSH-1) |
| \S\ | ^ | Subfield Separator MSH-2 |
| \R\ | ~ | Repetition Separator MSH-2 |
| \E\ | \ | Escape Character MSH-2 |
| \T\ | & | Subcomponent Separator MSH-2 |
| \.br\ | \n | Carriage Return (nonstandard?) |
| \X0D\ | \n | Carriage Return (Using \x##\ + Hex Character #) |
| \X0A\ | \r | Line Feed (Using \x##\ + Hex Character #) |
Java
Tools
JavaScript
- JavaScript - Mozilla Developer Network
- JavaScript Guide
- JavaScript Reference
- Rhino (the JS engine that Mirth Connect uses.)
Fundamental Objects
- Object
- .assign(target, source1, /* …, */ sourceN) - copies all enumerable own properties from one or more source objects to a target object
- .entries(obj) - returns an array of a given object’s own enumerable string-keyed property key-value pairs
- .freeze(obj) - makes the object immutable
- Function
- Boolean
- Symbol
Linux
| Output, Summarize, or Hash Files | |
|---|---|
| Write and concatenate files | cat |
| Transform data into printable data | base64 |
| Output the first part of a file | head |
| Output the last part of a file | tail |
| Split a file into pieces | split |
| Print newline, word, and byte counts | wc |
| Print or check MD5 digests | md5sum |
| Print or check SHA-1 digests | sha1sum |
| Operating on File Contents/Sorting | |
|---|---|
| Sort text files | sort |
| Shuffle text files | shuf |
| Uniquify files | uniq |
| Compare two sorted files by line | comm |
| Join lines on a common field | join |
| Print a line of text | echo |
| Directory Listing and Operations | |
|---|---|
| List directory contents | ls |
Color setup for ls |
dircolors |
| Copy files and directories | cp |
| Copy files and set attributes | install |
| Convert and copy a file | dd |
| Move or rename files or directories | mv |
| Remove (delete) files or directories | rm |
| Remove files more securely | shred |
| Make links between files | ln |
| Make a new directory | mkdir |
| Print the value of a symlink or cannonical file name | readlink |
| Remove an empty directory | rmdir |
| Remove files via the unlink syscall | unlink |
| Report file system space usage | df |
| Estimate file space usage | du |
| Report file or file system status | stat |
| File Attribute Manipulation | |
|---|---|
| Change file owner and group | chown |
| Change file group ownership | chgrp |
| Change file access permissions | chmod |
| Change file timestamp | touch |
| File Name Manipulation | |
|---|---|
| Strip directory and suffix from a file name | basename |
| Strip last file name component | dirname |
| Check file name validity and portability | pathchk |
| Print the resolved file name | realpath |
| Working Context | |
|---|---|
| Print the current working directory | pwd |
| Print all or some environment variables | printenv |
| Run a command immune to hangups | nohup |
| Send a signal to a process | kill |
Regular Expressions
Metacharacters that must be escaped: ^ [ . $ { * ( ) \ + | ? < >
| Anchors | |
|---|---|
^ |
start of line |
$ |
end of line |
\A |
start of string |
\Z |
end of string |
\b |
word boundary |
\B |
not word boundary |
\< |
start of word ⚠️ |
\> |
end of word ⚠️ |
| Quantifiers | |
|---|---|
* |
0 or more |
*? |
0 or more, ungreedy |
+ |
1 or more |
+? |
1 or more, ungreedy |
? |
0 or 1 |
?? |
0 or 1, ungreedy |
{#} |
Exacty # (e.g., {3} = exactly 3) |
{#,} |
# or more (e.g., {3,} = 3 or more) |
{#,}? |
# or more, ungreedy |
{#,#} |
# to # matches, inclusive (e.g., {3,5} = 3, 4, or 5) |
{#,#}? |
# to # matches, inclusive and ungreedy |
| Ranges | |
|---|---|
. |
any character, typically excluding newline/linefeed |
| |
or (e.g., a | b matches a or b) |
() |
capturing group (e.g., Date: (\d{4}-\d{2}-\d{2})) |
(?:) |
non-capturing/passive group (e.g., (?:this|that)) |
[] |
characer range |
[^] |
negative characer range |
| Character Class | |
|---|---|
\c |
control character (e.g., ASCII 0-31 & 127), same as POSIX [:word:] |
\s |
white space (e.g., [\t\n\f\r ] tab, newline, form feed, carriage returm, space) |
\S |
not white space |
\d |
digit (e.g., [0-9]) |
\D |
not digit |
\w |
word (e.g., [A-Za-z0-9_]) |
\W |
not word |
| Escape Sequences | |
|---|---|
\\ |
literal backslash ` |
\t |
tab |
\n |
newline/linefeed |
\r |
carriage return |
\f |
form feed |
\a |
alarm/bell |
\xhh |
hexadecimal character hh |
\xxx \oxxx \Oxxx |
octal character xxx |
\Q |
quote (disable pattern metacharacters) |
\E |
end quote (re-enable pattern metacharacters) |
| POSIX Character Class | |
|---|---|
[:upper:] |
any uppercase character (e.g., [A-Z]) |
[:lower:] |
any lowercase character (e.g., [a-z]) |
[:alpha:] |
any alphabetical character (e.g., [A-Za-z]) |
[:alnum:] |
any alphanumeric character (e.g., [A-Za-z0-9]) |
[:digit:] |
any decimal digit (e.g., [0-9]) |
[:xdigit:] |
any hexadecimal digit (e.g., [0-9a-fA-F]) |
[:punct:] |
any graphical character excluding “word” chartacters (e.g., [-!"#$%&'()*+,./:;<=>?@[\\\]^_`{\|}~]) |
[:blank:] |
any horizontal whitespace character (e.g., space or tab \t) |
[:space:] |
any whitespace character, similar to \s\ but also includes vertical tab \X0B / \013 |
[:cntrl:] |
any control character (ASCII 0-31 & 127), same as \c |
[:graph:] |
any character that is graphical, that is, visible. This class consists of all alphanumeric characters and all punctuation characters |
[:print:] |
all printable characters, which is the set of all graphical characters plus those whitespace characters which are not also controls. |
[:word:] |
any “word” character (e.g., [A-Za-z0-9_]), same as \w |
| Backreferences ⚠️ | |
|---|---|
$n or \n |
nth capturing group |
$` |
before matched string |
$' |
after matched string |
$+ |
last matched string |
$& |
entire matched string |
$_ |
entire input string |
$$ |
literal dollar sign $ |
⚠️ Not universally supported
SSL Certificates
Using Certbot with unexposed domains
cloudflare.ini:
# Cloudflare API token used by Certbot
dns_cloudflare_api_token = be967a3beb4d7048d57f1b3ddc51d52d
commands:
apt install certbot python-is-python3 python3-certbot-dns-cloudflare
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /path/to/cloudflare.ini -d domain.name.com -n
Time Zones
| P | M | C | E |
|---|---|---|---|
| 10 | 11 | 12 | 1 |
| 11 | 12 | 1 | 2 |
| 12 | 1 | 2 | 3 |
| 1 | 2 | 3 | 4 |
| 2 | 3 | 4 | 5 |
| 3 | 4 | 5 | 6 |
| 4 | 5 | 6 | 7 |
| 5 | 6 | 7 | 8 |
| 6 | 7 | 8 | 9 |
| 7 | 8 | 9 | 10 |
| 8 | 9 | 10 | 11 |
| 9 | 10 | 11 | 12 |