Skip to content

Instantly share code, notes, and snippets.

@brentmaxwell
brentmaxwell / csv2sc.py
Created Feb 2, 2022
Convert csv to sc format
View csv2sc.py
#!/usr/bin/python
import sys
import string
if len(sys.argv) < 2:
print "Usage: %s infile [outfile] [delimiter_char]" % sys.argv[0]
sys.exit(1)
filename_in = sys.argv[1]
@brentmaxwell
brentmaxwell / EmptyGuid.sql
Created Jan 20, 2022 — forked from jonsagara/EmptyGuid.sql
Generating Guid.Empty in SQL Server
View EmptyGuid.sql
--
-- 2021-11-24: suggestion from comments:
--
DECLARE @EmptyEmpty UNIQUEIDENTIFIER = CAST(0x0 AS UNIQUEIDENTIFIER)
SELECT @EmptyEmpty
--
-- Original
--
@brentmaxwell
brentmaxwell / search-all-tables.sql
Created Jan 19, 2022
Search all tables in a database
View search-all-tables.sql
DECLARE @SearchStr nvarchar(100) = 'brent'
DECLARE @SearchSchema nvarchar(100) = 'dbo'
CREATE TABLE #Results (
TableName nvarchar(255),
ColumnName nvarchar(255),
ColumnValue nvarchar(MAX))
SET NOCOUNT ON
DECLARE @TableName nvarchar(255) = '',
@ColumnName nvarchar(255),
@brentmaxwell
brentmaxwell / Overlapping Dates
Created Sep 14, 2021
Overlapping Dates formula
View Overlapping Dates
(StartA <= EndB) and (EndA >= StartB)
Proof:
Let ConditionA Mean that DateRange A Completely After DateRange B
_ |---- DateRange A ------|
|---Date Range B -----| _
(True if StartA > EndB)
Let ConditionB Mean that DateRange A is Completely Before DateRange B
@brentmaxwell
brentmaxwell / myusbgadget
Last active Jun 1, 2020 — forked from geekman/myusbgadget
Pi Zero multiple USB gadgets minimal example
View myusbgadget
#!/bin/bash -e
modprobe libcomposite
cd /sys/kernel/config/usb_gadget/
mkdir g && cd g
echo 0x1d6b > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
echo 0x0100 > bcdDevice # v1.0.0
View better-ssh-authorized-keys-management.md

Better SSH Authorized Keys Management

A seemingly common problem that people encounter is how to handle all of your users authorized_keys file.

People struggle over management, ensuring that users only have specific keys in the authorized_keys file or even a method for expiring keys. A centralized key management system could help provide all of this functionality with a little scripting.

One piece of functionality overlooked in OpenSSH is the AuthorizedKeysCommand configuration keyword. This configuration allows you to specify a command that will run during login to retrieve a users public key file from a remote source and perform validation just as if the authorized_keys file was local.

Here is an example directory structure for a set of users with SSH public keys that can be shared out via a web server:

@brentmaxwell
brentmaxwell / ChangeDoubleStraightQuotesToSmartQuotes.vba
Last active Nov 25, 2019
Swap smart and straight quotes in Microsoft Word
View ChangeDoubleStraightQuotesToSmartQuotes.vba
Sub ChangeDoubleStraightQuotesToSmartQuotes()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = """"
.Replacement.Text = """"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
@brentmaxwell
brentmaxwell / GenerateDataDictionary.sql
Created Sep 9, 2019
Generate a simple data dictionary for SQL Server; uses the Description extended property.
View GenerateDataDictionary.sql
CREATE PROCEDURE GenerateDataDictionary
@TableName NVARCHAR(MAX)
AS
BEGIN
SELECT
c.name AS ColumnName,
CASE
WHEN c.max_length = -1 THEN dt.name + '(max)'
WHEN dt.name = 'nvarchar' THEN dt.name + '('+CAST(ISNULL(c.max_length,0)/2 AS NVARCHAR)+')'
WHEN dt.name = 'varchar' THEN dt.name + '('+CAST(ISNULL(c.max_length,0) AS nvarchar)+')'
@brentmaxwell
brentmaxwell / gist:4e0239b214f589cc3d80824a4bef8f34
Created May 4, 2016 — forked from davidnunez/gist:1404789
list all installed packages in android adb shell
@brentmaxwell
brentmaxwell / openpgp.txt
Created Jan 14, 2016
OpenKeychain Linked Identity
View openpgp.txt
This Gist confirms the Linked Identity in my OpenPGP key, and links it to this GitHub account.
Token for proof:
[Verifying my OpenPGP key: openpgp4fpr:48fcfd01403cf2ad5b242924755d89895912d6fa]