Skip to content

Instantly share code, notes, and snippets.

View ianjmacintosh's full-sized avatar

Ian J. MacIntosh ianjmacintosh

View GitHub Profile
  • We're using a "Base Card" that'll give us consistent icons with tooltips, in the same order, same colors, using Google Material UI
  • Each card has its own "awareness" of API's it depends on, so it can report on load-times and errors at the card level
  • No more weird shadow and event interception to block a click handler
  • Less copy-and-pasted code: we can fix a problem one place and have it get fixed everywhere. By the numbers, some migration stats:
    • SB-10625: App Role and Domain details pages; +208, -583
    • SB-10626: Group Detail pages; +155, -727
    • SB-10628: Owner Details and User Details; +315, -957
    • GROSS TOTAL: +3545, -9206
  • We're only just beginning, bear with us. At this time in 2 weeks, we'll have 99% of everything changed, with the remainders being "odd ducks" where we're using cards where cards don't make sense and are planning on redesigning
@ianjmacintosh
ianjmacintosh / sphere-usability_research-hr_uploader.md
Last active April 11, 2022 19:17
Usability Study Notes: HR Uploader

HR Uploader Usability Research

When we do a great job with this, how do we improve someone's life?

People waste less time, get less confused, and get less frustrated when trying to ensure SPHEREboard has accurate user details like real name and department.

Current Experience problems to solve

  1. The user doesn't get clear feedback about if their mapping worked or not
@ianjmacintosh
ianjmacintosh / ux-interview-questions.md
Created October 5, 2021 18:49
UX Interview Questions

What are the users trying to accomplish? What problems prevent users from accomplishing their goals? What does each problem look like? What is the sequence of events that lead up to each problem? Who are the users who run into each problem? Do some users experience the problems differently from others? What happens when these problems get solved? How are users currently trying to solve each problem? What happens if a problem doesnโ€™t get solved? What are the downstream effects when a problem isnโ€™t solved?

@ianjmacintosh
ianjmacintosh / netlifycms-experience.md
Last active September 2, 2020 00:46
The Trouble with NetlifyCMS

My experience with getting NetlifyCMS working with my site was bad.

  • Added static files and JS reference to my homepage (??)
  • I got strange permissions errors from NetlifyCMS app and in my console. It was unclear to me what the root cause was, so I searched Google for the same error and found others encountering permissions issues and some Community staff members recommended re-deploying the application. I was a little wary of this, so I tried deploying to my preview environment, but figured maybe I'd have to redeploy the production build. It wasn't clear if the issue was with Netlify's Identity service, the GitHub integration (maybe related to my default branch being 11ty-migration but my Netlify authoritative branch is master), permissions within GitHub, or some issue with Git Gateway.
  • I wanted to redeploy my production build, but I was concerned that since my "11ty-migration" requires different build settings, redeploying would cause problems since I had set things differently in the Netlify UI wh
import sys
import csv
import re
STRs = []
profiles = []
sample_object = dict()
from cs50 import get_string
def main():
card_number = get_string("Number: ")
length = len(card_number)
if not is_valid(card_number):
print("INVALID")
else:
if length == 15 and (card_number[0:2] == "34" or card_number[0:2] == "37"):
print("AMEX")
#include <cs50.h>
#include <stdio.h>
int getLength(long n);
long getTens(int distanceFromRight);
int getDigit(long n, int s);
bool isValid(long n);
int main(void)
@ianjmacintosh
ianjmacintosh / tideman.c
Last active May 14, 2020 01:29
Tideman Voting Client
#include <cs50.h>
#include <stdio.h>
#include <string.h>
// Max number of candidates
#define MAX 9
// preferences[i][j] is number of voters who prefer i over j
int preferences[MAX][MAX];
#include <cs50.h>
#include <stdio.h>
int getLength(long n);
long getTens(int distanceFromRight);
int getDigit(long n, int s);
bool isValid(long n);
int main(void)
@ianjmacintosh
ianjmacintosh / KLR650-3K-MAINT.md
Last active February 23, 2020 19:50
KLR 3K Maintenance Routine

Easy

Active Time: 1 hour if brakes are OK, 3 hours if brakes need to be replaced

  • Check brake fluid level (5 minutes)
  • Inspect brake light adjustment (30 minutes)
  • Inspect lights and switch operation (2 minutes)
  • Inspect/adjust clutch (2-10 minutes)
  • Inspect/replace brake pads (5 minutes to inspect, 45 minutes to replace)
  • Check throttle grip play (5 minutes)

Intermediate