Skip to content

Instantly share code, notes, and snippets.

View AlexAtkinson's full-sized avatar

Alex Atkinson AlexAtkinson

  • Toronto
View GitHub Profile
@AlexAtkinson
AlexAtkinson / .bashrc
Last active April 11, 2025 15:08
BASH Aliases
# .bashrc QoL adds.
# Ultra lazy...
alias urc='source ~/.bashrc'
# Save history immediately
shopt -s histappend
#PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
# https://askubuntu.com/questions/67283/is-it-possible-to-make-writing-to-bash-history-immediate
grep -q 'history -a' <<< $PROMPT_COMMAND || export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
@AlexAtkinson
AlexAtkinson / Emojis-Icons.md
Last active February 4, 2025 22:43
Emojis & Icons

Emojis

Name Image
aircall-available Emoji
aircall-connected Emoji
aircall-incoming
@AlexAtkinson
AlexAtkinson / JIRA_Workflows.md
Last active January 31, 2025 20:57
Jira Workflow Examples

Jira Workflow Examples

This GIST is here simply to demonstrate some workflows I've found helpful in guaranteeing a well-developed backlog for iteration teams. That said, workflows can be as simple or as complex as you need for your organization/project. At scale though, it's highly desirable to have a backlog as beautifully maintained as your products as their qualities are interdependent. And you'll see this point surface in retrospectives/feedback over time.

Structure

First off, DO NOT have workflows that looks like this:

Awful JIRA Workflow (From Atlassian)

@AlexAtkinson
AlexAtkinson / pdf-extract-attachments
Last active November 27, 2024 14:06
A PDF Attachment Extractor -- BC I don't want to install Adobe...
#!/usr/bin/env python
# Copy into /usr/local/bin or as appropriate for your $PATH
import argparse
from pypdf import PdfReader
from pypdf.errors import PdfReadError
parser = argparse.ArgumentParser()
parser.add_argument("pdf", help="The PDF to extract attachments from.", type=str)
@AlexAtkinson
AlexAtkinson / REGEX.md
Last active November 25, 2024 15:25
REGEX Cheat

REGEX

Reference

Character Sets/Ranges   []                  : Match any characters within. Required expression.
Qualifiers              {}                  : Quantity or range of an expression. IE: {3}, {2,200}
Groups                  ()                  : Group expressions. Subgroups supported.
Non-Capturing Group     (?:foo)             : Does not "remember" matches. Lower overhead.
Kleen Star              *                   : May occur 0 or more times.
@AlexAtkinson
AlexAtkinson / API Design Tips.md
Last active October 7, 2024 14:46
API Design Tips for beginners and professionals alike.

API Design Tips

DO: Start by Understanding APIGW

APIGW is NOT the AWS service, but an industry standard technology for servicing resource access while providing facilities for oversight, governance, security, and operability considerations.

Some options:

  • The GW is open source and free to use, but many features (such as OIDC) are paywalled.
@AlexAtkinson
AlexAtkinson / AcceptanceCriteria.md
Created October 4, 2024 16:31
On Acceptance Criteria

On Acceptance Criteria

🗒️ An excerpt from my good, ol' Jira Team Runbook.

Acceptance Criteria tactices are ever evolving, but this is a good skeleton to start from.

  • User story
  • Functional requirements
  • Link to design docs / supporting resources
  • Technical breakdown and analysis to identify infrastructure dependencies
@AlexAtkinson
AlexAtkinson / make-ca-cert.sh
Last active October 3, 2024 17:54
Create a CA & Server Cert
#!/usr/bin/env bash
# ----------------------------------------------------------------------------------------------------------------------
#
# make-ca-cert.sh
#
# SYNOPSIS
# Creates a CA if one doesn't already exist, and installs it (debian).
# Creats a server certificate (including wildcard SAN) signed by the CA.
#
@AlexAtkinson
AlexAtkinson / Project Management.md
Last active September 19, 2024 19:32
Scrum/SAFe/Basic Project Management

Scrum/SAFe/Basic Project Management

Project Management can be as simple or as complex as needed. If your project is you and a few highly-aligned folks in the same room then you might be able to make due with a whiteboard and some sticky-notes, but this doesn't scale. There's a lot of expertise involved in taking a project from sticky-notes to a scaled agile enterprise operating model, but the foundations of planning don't change. IE: If you want to dig for treasure, then you should plan to get a shovel to enable your success.

Aside: Discover Your Minimum Viable Operating Posture

Before you jump into executing your vision, start by discovering a your minimum viable operating posture (see also the concept of minimum virtuous products), as this dictates a large portion of your overall organizational structure and talent strategy. Getting this wrong is similar to getting software architecture wrong -- it's all dysfunction and d