Skip to content

Instantly share code, notes, and snippets.

View ricealexander's full-sized avatar

Alex Rice ricealexander

View GitHub Profile
@ricealexander
ricealexander / emoji-list.md
Last active May 3, 2024 22:59 — forked from rxaviers/gist:7360908
Comprehensive list of GitHub-supported emojis
@ricealexander
ricealexander / outlook-configuration.md
Last active January 15, 2024 00:44
Hurdles needed to Jump through for Microsoft Outlook to be halfway decent

Microsoft Outlook

Microsoft Outlook is a prime example of a Microsoft product that stopped innovating as soon as it began dominating the Enterprise marketshare. Examples of these failings include:

  • Their decades-out-of-date Spell Checker
  • Their convoluted Hyper-linking process which assumes all links are intended to be linked drive files by default
  • Their lack of an "All Unread" filter
  • Inconsistent feature parity between desktop client/mobile client/browser clients
  • Broken behavior when Rules/Filters combine Client processes and Exchange processes (Move an email into a folder (Exchange) and Mark it as read (Client))
  • Inability to Import or create templates for customized Signatures (without doing this work outside of Outlook)
@ricealexander
ricealexander / glade-concept.js
Created July 12, 2023 19:35
Example of Glade Source Code
// Glade object stores useful properties and functions for workarounds
const Glade = {
currentPage: window.location.pathname,
}
// Identify when the page has changed using the custom event grove-navigate
setInterval(function () {
@ricealexander
ricealexander / css_colors.js
Last active April 10, 2023 10:20 — forked from bobspace/css_colors.js
an array that associates CSS color names with their hex values
// CSS Color Names
// Compiled by @bobspace
// Updates by @ricealexander
// added Rebecca Purple
// associates color names with their hex values
// random color and locating a color in the array by its name
const colorValues = [
{hex: "#F0F8FF", name: "AliceBlue"},
@ricealexander
ricealexander / streamguys-platform-totals.js
Last active May 9, 2022 14:39
A fix for StreamGuys platforms reports, fixing the broken downloads total field
// StreamGuys Platforms Report Fix
// In the StreamGuys platform, all "Total" fields on tables are empty.
// This script can be run in the console and populates the "Total" field
// for all tables on the current page.
// Tables have an id following pattern /re\d+:table/
const tables = document.querySelectorAll('table[id^="re"][id$=":table"]')
for (const table of tables) {
const downloadsCells = table.querySelectorAll('tr:not(.standard-re-row-total) td.txt + td')
@ricealexander
ricealexander / 2020 DNS Records.txt
Last active March 21, 2022 15:24
DNS records affiliated with STLPR's cPanel Account
Name TTL Class Type Record
--------------------------------------- ------- ----- ------- ----------------------------
kwmu.org. 14400 IN A 192.250.238.14
kwmu.org. 14400 IN TXT google-site-verification=eTVEmqxK4w9WDzPwz6hLF9ewHpRyD6DqxQQUiPP_-wU
kwmu.org. 14400 IN TXT v=spf1 +a +mx +ip4:192.250.238.14 ?all
kwmu.org. 14400 IN MX Priority: 0 Destination: mail.kwmu.org
cpanel.kwmu.org. 14400 IN A 192.250.238.14
cpcalendars.kwmu.org. 14400 IN A 192.250.238.14
cpcontacts.kwmu.org. 14400 IN A 192.250.238.14
@ricealexander
ricealexander / self-injecting-script.html
Created January 4, 2022 21:30
Script that injects HTML content after itself. An alternative to document.write
<!-- Grove and other Single-Page Applications do not allow document.write() to be loaded on
pages that have been navigated to. In cases where absolutely necessary, we can use an
approach where content is self-injected. -->
<script id="embed">
var script = document.querySelector('#embed');
script.insertAdjacentHTML('afterend', "Hello World");
</script>
@ricealexander
ricealexander / getExpirationDates.js
Created January 4, 2022 21:09
List of Domain Name/Expiration Dates from Porkbun
let rows = document.querySelectorAll('.domainManagementRow')
let result = ''
for (let row of rows) {
let name = row.querySelector('.domainManagementDomainName').textContent
let expiration = row.querySelector('.toolTip.expiration-').textContent
result += `${name.trim()}\t\t\tExpires ${expiration.trim()}\n`
}
@ricealexander
ricealexander / self-injecting-module.html
Created October 20, 2021 19:57
Dump contents of an HtmlModule in Grove outside of its container
<!-- Dumping the contents of an HTML Module may be useful when prototyping certain changes -->
<!-- In this demo, we include HTML, CSS, and JavaScript in a modular format -->
<div data-dump="subhead-demos">
<h2 class="subhead subhead-A">Custom Subhead Styles A</h2>
<p>“Of course, we knew it wasn’t going to be something that was going to solve the situation at the border at that time, but we were touched by that,” said Otero Prada, a Colombian painter who has lived in St. Louis for 17 years.</p>
<p>The women, all visual artists, decided to create a mural project to spark conversations about the shared African experience in the Americas.</p>
<h2 class="subhead subhead-B">Custom Subhead Styles B</h2>
<p>“Of course, we knew it wasn’t going to be something that was going to solve the situation at the border at that time, but we were touched by that,” said Otero Prada, a Colombian painter who has lived in St. Louis for 17 years.</p>
@ricealexander
ricealexander / project_settings.json
Last active August 18, 2021 20:44
VSCode settings with rationale
// Project settings should contain only settings that have an impact on the codebase
// These settings may change how editor interacts with files. All settings that have to do
// with UI or opinionated editor behavior that doesn't affect code should go in user settings
// Editor Settings
// editor.insertSpaces, editor.tabSize: Prefer 2️⃣space indentation
// ESLint Settings
// editor.codeActionsOnSave Auto-correct ESLint code