Skip to content

Instantly share code, notes, and snippets.

View ryankurte's full-sized avatar
🥔

ryan ryankurte

🥔
View GitHub Profile
@ryankurte
ryankurte / README.md
Last active August 29, 2015 14:20
SSH using GPG as an authentication agent
@ryankurte
ryankurte / armenv.sh
Last active October 28, 2021 02:23
Project local arm toolchain (gcc-arm-none-eabi) install script for immutable build environments
#!/bin/bash
# Immutable Project-Local Toolchain Setup
# Inspired by Python's virtualenv and npm
# See http://wp.me/pZZvH-an for more
# Run with `source ./armenv.sh`
# TODOs:
# Add upgrade option
# Cleaner toolchain versioning
# Detect different toolchain versions and warn if installing new?
@ryankurte
ryankurte / rename.js
Created March 31, 2015 03:37
Quick rename script to strip the suffix from files in a directory
var fs = require('fs');
if(!process.argv[3]) {
console.log("directory argument required");
process.exit(0);
}
var dir = process.argv[3];
var files = fs.readdirSync(dir);
@ryankurte
ryankurte / version.js
Created March 30, 2015 23:49
node.js version module
//Grabs the version from package.json to use in your application
var semver = require('semver');
var pkg = require('../package.json');
module.exports = {
string: pkg.version,
clean: semver.clean(pkg.version),
major: semver.major(pkg.version),
minor: semver.minor(pkg.version),
@ryankurte
ryankurte / compressor.js
Created March 25, 2015 01:45
Javascript data compressor and decompressor
var winston = require('winston');
var compressjs = require('compressjs');
var algorithm = compressjs.Bzip2;
exports.compressString = function(string) {
var bufferedString = new Buffer(string, 'utf8');
var compressedString = algorithm.compressFile(bufferedString);
var encodedString = new Buffer(compressedString).toString('base64');
return encodedString;
}
@ryankurte
ryankurte / arraycompare.js
Last active August 29, 2015 14:17
Javascript array of objects comparison
exports.compareArrays = function(one, two) {
assert.equal(one.length, two.length);
for(var i in one) {
for(var j in one[i]) {
assert.equal(one[i][j], two[i][j]);
}
for(var j in two[i]) {
assert.equal(one[i][j], two[i][j]);
@ryankurte
ryankurte / gitversion.js
Created March 24, 2015 01:36
Node.js git version module
var exec = require('child_process').exec;
var semver = require('semver');
function update() {
var child = exec('git describe --dirty', function (error, stdout, stderr) {
exports.string = stdout.replace('\n', '').replace('\r', '');
if(error) {
@ryankurte
ryankurte / 99-yubikey-neo.rules
Last active June 16, 2016 00:30
Yubikey NEO/4 GPG Setup
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0115", OWNER="USERNAME"
@ryankurte
ryankurte / hex_to_int.c
Created February 20, 2015 00:45
C Hexidecimal to Integer Converter
uint8_t hex_to_int(uint8_t c)
{
if ((c >= 48) && (c <= 57)) {
//Numeric data
return (c - 48);
} else if ((c >= 65) && (c <= 70)) {
//Lower case ASCII
return (c - 65 + 10);
@ryankurte
ryankurte / 10-HuaweiFlashCard.rules
Last active February 16, 2025 19:10
Huawei e3131 Linux Setup
SUBSYSTEMS=="usb", ATTRS{modalias}=="usb:v12D1p1F01*", SYMLINK+="hwcdrom", RUN+="/usr/bin/sg_raw /dev/hwcdrom 11 06 20 00 00 00 00 00 01 00"