Skip to content

Instantly share code, notes, and snippets.

View michaelorr's full-sized avatar

Michael Orr michaelorr

View GitHub Profile
@michaelorr
michaelorr / type-guards.ts
Created April 15, 2026 18:04
type-guards.ts
import type { MutableRefObject } from 'react';
import type { Location, Path } from 'react-router';
import type { EmptyObject, Get, Paths, UnknownRecord } from 'type-fest';
export type Undefinable<A> = A | undefined;
export type Nullable<A> = A | null;
export type Nilable<A> = A | Nil;
[argo-workflow-forwarder] 2024/04/01 13:00:37 transceiver.go:88: received 1 new message(s)
[app] {"level":"info","msg":"error determining media progress: NoSuchKey: The specified key does not exist.\n\tstatus code: 404, request id: 17C2297FE8F3F034, host id: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","time":"2024-04-01T13:00:37Z"}
[app] time="2024-04-01T13:00:37Z" level=info msg="127.0.0.1 - - [01/Apr/2024:13:00:37 +0000] \"POST /medias HTTP/1.1\" 201 573 \"\" \"curl/8.4.0\"" app_section=server
[argo-workflow-forwarder] 2024/04/01 13:00:37 transceiver.go:140: processed workflow=public-download-dev, message-id=c2735c5d-4633-4858-8034-d5d219b52a34
[argo-workflow-forwarder] 2024/04/01 13:00:37 transceiver.go:95: processed 1 messages
[argo-workflow-forwarder] 2024/04/01 13:00:37 transceiver.go:98: deleted 1 messages
[main] {
"level":"info",
"msg":"starting workflow",
"time":"2024-04-01T13:00:38Z",
@michaelorr
michaelorr / gsheets_script.js
Last active January 31, 2024 02:07
Platform Status Dashboard
function onEdit(e) {
const row = e.range.getRow();
const col = e.range.getColumn();
const validCol = col == 2 || col == 5;
const validRow = row > 1;
const validSheet = e.source.getActiveSheet().getName()==="Sheet1";
if (validCol && validRow && validSheet) {
updateUpdatedByCol(e, row);
diff --git a/Context/Context.php b/Context/Context.php
index 9b006b3..5ecb8bf 100644
--- a/Context/Context.php
+++ b/Context/Context.php
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace OpenTelemetry\Context;
+use OpenTelemetry\Sdk\CorrelationContext;
+
#!/usr/bin/env bash
# To use this script:
#
# git clone https://gist.github.com/michaelorr/a9ae7cfb367937fb7ed27941586d8823 ~/flywheel && bash ./flywheel/crostini.sh && rm -rf ./flywheel
set -euo pipefail
sudo chown -R $USER:$USER /usr/local
@michaelorr
michaelorr / gr.md
Last active October 10, 2018 17:02
Oct/Nov 2018 Schedule
Day Primary Sometimes Extra? Commute AM PM
Sun Rest
Mon Short ruck Heavy Carry Sq/DL/Bench Bus->gym Bus
Tue BW Short Ruck WFH?
Wed Med ruck BW Bench Ruck Bus
Thu Rest Sq/DL? ? ?
Fri BW Bench Bus->gym Bus
Sat Long Ruck

Week 7:

M T W R F S
1 mi 5 pushups 4 mile ruck Squats dealers choice 8 mi
w/ log 10 flutter kicks 60 pushups Deadlifts
Squats 25 squats 60 situps Bench
DL x3
Bench 2 mile ruck

Keybase proof

I hereby claim:

  • I am michaelorr on github.
  • I am michaelorr (https://keybase.io/michaelorr) on keybase.
  • I have a public key ASAdNymxU1uiteB95wv-uFhhgTjBBz9_p2Dn2dQemOtldgo

To claim this, I am signing this object:

Adding Persistence to a Kali Linux “Live” USB Drive

Kali Linux “Live” has two options in the default boot menu which enable persistence — the preservation of data on the “Kali Live” USB drive — across reboots of “Kali Live”. This can be an extremely useful enhancement, and enables you to retain documents, collected testing results, configurations, etc., when running Kali Linux “Live” from the USB drive, even across different systems. The persistent data is stored in its own partition on the USB drive, which can also be optionally LUKS-encrypted.

To make use of the USB persistence options at boot time, you’ll need to do some additional setup on your “Kali Linux Live” USB drive; this article will show you how.

This guide assumes that you have already created a Kali Linux “Live” USB drive as described in the section on that subject. For the purposes of this article, we’ll assume you’re working on a Linux-based system.

You’ll need to have root privileges to do this procedure, or the ability to escalate your

[11:40:10] <acmehandle> crazy question: Whats the average time it takes to put up a fully functional django website
[11:40:10] <acmehandle> Average.
[11:40:10] <+ubernostrum> acmehandle: four and a half.
[11:40:34] <acmehandle> Ok, average time for a django website with users registration, and 5 pages.
[11:41:04] <tbaxter> 42
[11:41:15] <luto> nah, at least 43