Skip to content

Instantly share code, notes, and snippets.

🦄
Unfortunately, computers.

Stephen Jennings jennings

🦄
Unfortunately, computers.
Block or report user

Report or block jennings

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View export-git-changed-files.ps1
$ErrorActionPreference = "Stop"
function Main {
"This script creates a zip file that contains all files changed between two commits."
"Commits can be specified as commit IDs (SHA) or as branch names."
"For example: 'master' or 'ff39683ed6'"
""
$git_dir = Read-Host -Prompt "Git directory"
$to_commit = Read-Host -Prompt "Commit to deploy"
@jennings
jennings / README.md
Last active May 2, 2019
Templates for empty new-style csproj files
View README.md

These are copied from this article by Nate McMaster. I've been Googling for it every time I needed it, so I decided it would be a good idea to save these templates somewhere, in case the article ever goes away.

View fake_webpack.js
const MODULE_BODIES = {
// This is the body of the file foo/index.ts, wrapped in a function
["./foo/index.ts"]: function (module) {
const file = __webpack_resolve__("./foo/file.ts")
module.exports.Service = file.Service
},
// This is the body of the file foo/file.ts, wrapped in a function
["./foo/file.ts"]: function (module) {
@jennings
jennings / ArchLinuxArmPi3.md
Last active Mar 3, 2019
Arch Linux ARM setup for Raspberry Pi 3
View ArchLinuxArmPi3.md
View app.cs
#define NONEST
void Main()
{
Database.SetInitializer<MyContext>(null);
using (var db = new MyContext())
{
var date = "20180315";
var query = from row in db.Tabl1
where SqlFunctions.DateDiff(
View ComposingCancellationTokens.cs
using System;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static void Main()
{
var worker = new Thread(Worker);
@jennings
jennings / InstallPapercutSmtpServer.ps1
Created Jan 16, 2019
Installs the Papercut SMTP Server
View InstallPapercutSmtpServer.ps1
# Using 5.1.23 because 5.1.70 has a bug that prevents the GUI from opening
$tag = "5.1.23"
$downloadUrl = "https://github.com/ChangemakerStudios/Papercut/releases/download/$tag/Papercut.Setup.exe"
$outputFileName = "$($env:TEMP)\Papercut.Setup.exe"
# Download
del $outputFileName -Force -ErrorAction SilentlyContinue
Invoke-WebRequest $downloadUrl -OutFile $outputFileName
# Install
@jennings
jennings / incremental-filter-branch.sh
Last active Jan 10, 2019
Using the `--state-branch` option to `git-filter-branch` to incrementally filter a branch
View incremental-filter-branch.sh
#!/bin/bash
set -exuo pipefail
TRUNK=master
REWRITE_BRANCH=master-to-rewrite
NEW_BRANCH_BOOKMARK=master-filtered
LAST_IMPORT_BRANCH=master-lastimport
STATE=master-state
INDEX_FILTER_SCRIPT='git rm -r --cached --ignore-unmatch bad_directory'
@jennings
jennings / CustomRules.js
Last active Aug 17, 2018
Terminating TLS/SSL with Fiddler
View CustomRules.js
static function redirectHttpsToHttp(oSession: Session, fromHost, toHost) {
if (oSession.HostnameIs(fromHost))
{
// Handle CONNECT Tunnels
if (oSession.HTTPMethodIs("CONNECT"))
{
oSession["x-replywithtunnel"] = "FakeTunnel";
return true;
}
@jennings
jennings / input.js
Created Jun 13, 2018
UglifyJS reproduction
View input.js
function fn1() {
return function fn2(ARG1) {
return callApi({ foo: ARG1 })
.then(handler);
function handler(response) {
const obj = { PROP: response };
return (inlinedFunction(obj.PROP))
.then(fn3());
}
You can’t perform that action at this time.