Skip to content

Instantly share code, notes, and snippets.

View wtfaremyinitials's full-sized avatar

Will Franzen wtfaremyinitials

View GitHub Profile
@wtfaremyinitials
wtfaremyinitials / play.jxa
Created July 7, 2015 01:14
Play any song in your iTunes library from the CLI
#!/usr/bin/env osascript -l JavaScript
function run(argv) {
if(argv.length == 0) {
console.log('Usage: play [ track ]');
} else {
Application('iTunes').playlists[0].tracks.whose({ name: { _contains: argv.join(' ') } })[0].play();
}
ObjC.import("stdlib")
$.exit(0)
}
@wtfaremyinitials
wtfaremyinitials / gist:c3ff43792d0457373195
Created June 1, 2015 21:44
RSS Feed from SoundCloud
curl -v 'http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/thewanshow/&client_id=[CLIENT_ID]'
http://feeds.soundcloud.com/users/soundcloud:users:[USER_ID]/sounds.rss
var printAllNumbers = function() {
for(var i=0; i<Math.pow(36, 6); i++) {
var str = "";
for(var j=0; j<7; j++) {
var char = Math.floor(i / Math.pow(10, j)) % 36;
if(char >= 26)
char += 22;
else
char += 97;
str += String.fromCharCode(char);
@wtfaremyinitials
wtfaremyinitials / notify.js
Created April 23, 2015 19:04
Desktop notifications in Javascript
function notify(message, iconUrl, onclick) {
if (!Notification) {
alert(message);
return;
}
if (Notification.permission !== "granted")
Notification.requestPermission();
var notification = new Notification('', {
@wtfaremyinitials
wtfaremyinitials / copy.js
Created April 23, 2015 19:00
Javascript copy to clipboard
function copytext(text) {
var textField = document.createElement('textarea');
textField.innerText = text;
document.body.appendChild(textField);
textField.select();
document.execCommand('copy');
textField.remove();
}
// credit to reddit.com/u/liamht
@wtfaremyinitials
wtfaremyinitials / wbot.js
Created April 5, 2015 02:16
Duties examlpe
var mineflayer = require('mineflayer');
var navigatePlugin = require('mineflayer-navigate')(mineflayer);
var blockfinderPlugin = require('mineflayer-blockfinder')(mineflayer);
var scaffoldPlugin = require('mineflayer-scaffold')(mineflayer);
var Duties = require('duties');
var BaseTask = function* BaseTask($) {
while(true) {
setTimeout($.resume, 500);
@wtfaremyinitials
wtfaremyinitials / example.js
Last active August 29, 2015 14:18
Example of my "Duties" API
var Duties = require('./index.js');
var main = new Duties();
var bot = new Bot(); // stub for other bot related code
var MiningTask = function* MiningTask(d, config) {
while(true) {
var block = bot.findBlockToBreak();
d.add(NavigateTask, block.location);
d.add(BreakBlockTask, block);
@wtfaremyinitials
wtfaremyinitials / test.js
Created April 2, 2015 20:53
Generator function tasks
var MiningTask = function* MiningTask() {
for(var i=0; i<5; i++) {
yield breakBlock();
}
}
var tasks = [];
tasks.push(MiningTask());
@wtfaremyinitials
wtfaremyinitials / regex
Last active August 29, 2015 14:09
iPhone Model Regex
/^(4s?|5(c|s)?|6\+?)$/i
@wtfaremyinitials
wtfaremyinitials / KarelIconSwitcher.java
Last active August 29, 2015 14:07
KarelIconSwitcher.java
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;