Skip to content

Instantly share code, notes, and snippets.

View jorgenpt's full-sized avatar

Jørgen Tjernø jorgenpt

View GitHub Profile
// To be run on https://store.steampowered.com/account/history/
function parseTotals()
{
var transactions = document.getElementsByClassName('wallet_table_row');
var totals = { usd: 0, eur: 0 };
for (var i = 0; i < transactions.length; ++i)
{
var transaction = transactions[i];
var items = transaction.getElementsByClassName('wht_items')[0];
if (items && items.innerText.indexOf('Wallet Credit') >= 0)
@jorgenpt
jorgenpt / TextProgressBar.cs
Last active April 2, 2020 03:27
Text based progress bar for C#
using System;
using System.Collections.Generic;
namespace JPT
{
public class TextProgressBar : IDisposable
{
private int _progress;
private int _total;
private int _width;
@jorgenpt
jorgenpt / extract_runtime.sh
Created May 26, 2014 01:33
Helper scripts to update & extract the steam-runtime for direct distribution.
#!/bin/bash -e
# Helper script for extracting the steam-runtime that:
# - Strips unused parts of the runtime (documentation)
# - Allows you to extract a single architecture
# - Extracts it to a directory that doesn't contain the runtime date.
function fatal() { echo "$@" >&2; exit 1; }
if [ $# -lt 3 ]; then
fatal "Usage: $0 <steam-runtime path> <amd64|i386|all> <output directory>" >&2
@jorgenpt
jorgenpt / wrapper.sh
Last active August 29, 2015 14:01
steam-runtime launcher script for use outside of Steam
#!/bin/bash
# Path relative to the directory where the executable lives.
JPT_STEAM_RUNTIME_LOCATION='steam-runtime'
# Figure out where this script lives.
exedir="$(cd "$(dirname "$0")" && pwd)"
# If this script is named `foo.sh' or `foo', we execute `foo.bin'
exename="$(basename "$0" ".sh").bin"
@jorgenpt
jorgenpt / SaneMinMaxMacros.h
Last active September 1, 2023 09:04
An attempt at some saner min-max-clamp macros for C and Objective-C. Require a modern compiler (C11) with support for statement expressions (Gnu11).
#pragma once
#define _CheckTypes(a,b) _Static_assert(_Generic(a, typeof (b):1, default: 0), "Mismatched types")
#define Min(a,b) \
({ \
const typeof (a) _a = (a); \
const typeof (b) _b = (b); \
_CheckTypes(_a,_b); \
(_a < _b ? _a : _b); \

Keybase proof

I hereby claim:

  • I am jorgenpt on github.
  • I am jorgenpt (https://keybase.io/jorgenpt) on keybase.
  • I have a public key whose fingerprint is C54B EFD5 C4CF 4AEE D568 9A3C CEE2 5916 07D6 4BF0

To claim this, I am signing this object:

@jorgenpt
jorgenpt / ksdiff-batch.sh
Last active October 9, 2019 18:24
Batches multiple invocations of ksdiff to open in a single Kaleidoscope window if they happen within a few seconds of eachother. This is useful for Kaleidoscope integration with P4V, since it makes a multi-file diff open in a single window. If it doesn't quite pick up all your files, try setting TIMEOUT to more than 4 seconds.
#!/bin/bash
# Number of seconds we wait after a file is received before we consider the
# batch to be completed.
TIMEOUT=2
# Title of the tab in Kaleidoscope
LABEL="P4V ksdiff-batch"
# FIFO we communicate with the "batch master" for.
fifo="/tmp/ksdiff-batch-$USER"
#!/bin/bash
DIR=$(cd "$(dirname "$0")"; pwd)
MONO=`which mono`
if [ ! -z "$MONO" ]; then
TXT=`${MONO} -V`
VERSION="${TXT#"${TXT%%[[:digit:]]*}"}"
VERSION="${VERSION%%[^[:digit:].]*}"
VERSION="${VERSION//[!0-9\.]/}"
fi
@jorgenpt
jorgenpt / HTTPSCertificateRetriever.h
Last active December 27, 2015 00:59
Utility class to retrieve HTTPS certificates from a server.
#import <Foundation/Foundation.h>
@protocol HTTPSCertificateRetrieverDelegate <NSObject>
/**
* Called when we succeed (or fail) to retrieve the certificate.
*
* @param certificate nil if we fail, otherwise the data of the certificate.
*/
- (void)certificateRetrieved:(NSData*)certificate;
@jorgenpt
jorgenpt / gist:6589639
Created September 17, 2013 03:09
Remove the "Command-T" hotkey in Finder, which normally is "Add to Sidebar"
defaults write com.apple.finder NSUserKeyEquivalents -dict-add "Add to Sidebar" nil