Skip to content

Instantly share code, notes, and snippets.

@jiggak
jiggak / FooBar.cs
Created November 30, 2023 18:26
C# JSON DB Column with update callback
namespace Foo.Bar;
public class FooBar : JsonColumn
{
public string? FooBar
{
get => GetValue<string?>("fooBar", null);
set => SetValue("fooBar", value);
}
}
@jiggak
jiggak / power.sh
Created October 15, 2023 18:04
Basic shutdown script for WittyPi
#!/bin/bash
HALT_PIN=4 # halt by GPIO-4 (BCM naming)
SYSUP_PIN=17 # output SYS_UP signal on GPIO-17 (BCM naming)
export PATH=/usr/bin:/usr/sbin:/storage/.kodi/addons/virtual.system-tools/bin
export LD_LIBRARY_PATH=/usr/lib:/storage/.kodi/addons/script.module.certifi/lib:/storage/.kodi/addons/script.module.chardet/lib:/storage/.kodi/addons/script.module.idna/lib:/storage/.kodi/addons/script.module.requests/lib:/storage/.kodi/addons/script.module.urllib3/lib:/storage/.kodi/addons/virtual.system-tools/lib:/usr/lib/pulseaudio
gpio_in() {
gpioget gpiochip0 $1
@jiggak
jiggak / photos.sh
Created September 1, 2021 18:43
Timelapse photos using gphoto2
#!/bin/bash
count=0
while true; do
gphoto2 --filename capture-$(printf "%05d" $count).jpg --capture-image-and-download
count=$(($count + 1))
sleep 30
done

Keybase proof

I hereby claim:

  • I am jiggak on github.
  • I am joshkropf (https://keybase.io/joshkropf) on keybase.
  • I have a public key ASBT4g3zjbONI4sEnsbI6tuHjosnTiHDxhDx5mJTYnc_Rwo

To claim this, I am signing this object:

@jiggak
jiggak / lowerCamelCase.js
Created December 12, 2015 01:43
Recursively rename properties from UpperCamelCase to lowerCamelCase
var lowerCamelCase = function(key) {
if (key === 'ID') return 'id';
return key.charAt(0).toLowerCase() + key.slice(1);
};
var lowerCamelCaseKeys = function(obj, opts) {
if (!opts) opts = {};
var result = obj;
#!/bin/bash
for f in *@2x*; do
convert $f -resize 50% ${f/@2x/}
done
@jiggak
jiggak / mdtopdf.js
Created March 4, 2015 04:40
Use markdowntopdf.com to create pdf from markdown
var request = require('request');
var path = require('path');
var fs = require('fs');
var args = process.argv.slice(2);
var input = args.shift();
if (input === undefined) {
console.log('missing input file argument');
process.exit(1);
@jiggak
jiggak / uuid.m
Created November 11, 2013 13:38
print UUID to stdout
// xcrun gcc -framework Foundation -o uuid uuid.m
#import <Foundation/Foundation.h>
#include <stdio.h>
int main(int argc, char **argv) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
CFStringRef str = CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
printf("%s\n", [(NSString*)str UTF8String]);
@jiggak
jiggak / minecraft.sh
Last active December 15, 2015 13:38
Bash script for selecting minecraft instance to launch
#!/bin/bash
# directory containing minecraft instances
# create new subdirectory to add an instance
mchome=~/Games/minecraft
java_opts=-Xmx2048M -Xms1024M
white='\e[1;37m'
cyan='\e[0;36m'