Skip to content

Instantly share code, notes, and snippets.

@therightstuff
therightstuff / keybase.md
Created March 3, 2019 20:05
keybase proof of identity

Keybase proof

I hereby claim:

  • I am therightstuff on github.
  • I am therightstuff (https://keybase.io/therightstuff) on keybase.
  • I have a public key ASDOnjEkmg8wYq0rWQpvUcp4uItnJCBTX_5EBOrm7FcPjAo

To claim this, I am signing this object:

@therightstuff
therightstuff / MigrationsList.json
Last active September 11, 2019 21:42
How to code Entity Framework programmable migrations
[
"201704230706451_AutomaticMigration",
"201704230705538_AutomaticMigration"
]
@therightstuff
therightstuff / create_db.js
Created September 23, 2019 08:56
@mysql/xdevapi node.js example: (re)create mysql database, test table insert, select and delete
// https://dev.mysql.com/doc/x-devapi-userguide/en/devapi-users-introduction.html
var mysqlx = require('@mysql/xdevapi');
const MIGRATIONS_USER = 'migrationsuser';
var server = {
host : 'localhost',
user : 'intendeduser',
database : 'mydatabase',
password : 'mypassword'
@therightstuff
therightstuff / add_parent.sh
Last active March 24, 2020 18:35
add a parent commit to an existing git commit
#!/bin/bash
# add a parent commit to the specified commit, ideal
# for establishing the other parent of a squashed merge
# lifted from https://stackoverflow.com/a/41243690/2860309
# usage: ./add_parent.sh TARGET_COMMIT_ID NEW_PARENT_COMMIT_ID
set -ex
target_commit=$1
@therightstuff
therightstuff / fairShuffle.js
Last active March 28, 2020 12:56
A list shuffle method that ensures every item is consumed
/*
Motivation:
A shuffler that ensures that no items in a list (a music playlist in particular) are left behind.
Mechanism:
When an item in the current shuffle group is used, it is moved to the next shuffle group and the next shuffle group is reshuffled.
Shuffling the current group doesn't affect the number of items remaining in the current shuffle group.
Drawback:
Shuffling the current group when there's only one item remaining will have no effect, the item must be consumed (to preserve fairness) and only then will be shuffled in to the next group
@therightstuff
therightstuff / README.md
Last active June 23, 2020 09:54
Code samples for A templated guide to AWS serverless development with CDK
@therightstuff
therightstuff / .netrc
Created July 28, 2020 16:45
Private PyPI repository access configurations
machine hostname.com
login USERNAME
password UNENCODED_PASSWORD
@therightstuff
therightstuff / explanation.js
Last active January 3, 2023 14:39
Convert GUID (UUID) to integer numbers in Javascript (and back again)
// A UUID is a 128-bit number which is too large to be represented as a native integer in Javascript.
// The original solution I posted (based on https://github.com/uuidjs/uuid#uuidparsestr ) wasn't good,
// as it converted the given UUID into a byte array and then selected only the first four bytes to be
// used as the integer.
const uuid = require('uuid');
let convertGuidToInt = (uuid) => {
// parse accountId into Uint8Array[16] variable
let parsedUuid = uuid.parse(uuid);
@therightstuff
therightstuff / nugetimport.sh
Last active December 10, 2020 22:46
Batch / bulk upload script for NuGet private repo hosted on Nexus
#!/bin/bash
# to be run with git-bash on a Windows machine
# based on https://github.com/sonatype-nexus-community/nexus-repository-import-scripts/blob/master/nugetimport.sh
# download latest version of nuget.exe for Windows x86 Commandline
# from https://www.nuget.org/downloads into the current directory
# retrieve NuGet API Key from Nexus by clicking on your profile,
# the side bar menu should show "NuGet API Key"
show_usage() {
@therightstuff
therightstuff / simple_password_generator.py
Last active February 19, 2021 12:47
Generate a secure python password with no dependencies
"""
A simple password generator that produces secure passwords of a given length
without requiring the installation of additional modules.
The four valid password characters classes - lowercase, uppercase, digits and
punctuation - are inserted randomly into the password using cryptographically
strong random numbers from the secrets module until the password length
requirement is met, ensuring that each of the classes is included in the password.
Password strength verified with https://www.security.org/how-secure-is-my-password/