Skip to content

Instantly share code, notes, and snippets.

View joeheyming's full-sized avatar
💭
Cautiously Optimistic

Joe Heyming ¯\_(ツ)_/¯ joeheyming

💭
Cautiously Optimistic
View GitHub Profile
@joeheyming
joeheyming / kwargs_1
Created February 20, 2014 19:42
example of python and perl named/keyword arguments
# python
def printArgs(*args, **kwargs):
print kwargs
>>> printArgs(a=1, b=2)
{'a': 1, 'b': 2}
# perl
use Data::Dumper;
sub printArgs {
@joeheyming
joeheyming / kwargs_2
Created February 20, 2014 19:48
python example without kwargs
def printArgs(arg):
print args
>>> printArgs({'a': 1, 'b': 2})
{'a': 1, 'b': 2}
@joeheyming
joeheyming / kwargs_3
Created February 20, 2014 19:54
javascript kwargs with dictionary
function printArgs(args) {
console.log(args)
}
> printArgs({'a': 1, 'b': 2})
Object {a: 1, b: 2}
@joeheyming
joeheyming / kwargs_4
Created February 20, 2014 20:02
javascript namedArgs shim
function namedArgsFunc() {
var args = {};
for (var i = 0, len = arguments.length; i < len; i += 2) {
args[arguments[i]] = arguments[i+1];
}
console.log(args);
}
> namedArgsFunc('a', 1, 'b', 2)
Object {a: 1, b: 2}
@joeheyming
joeheyming / kwargs_5
Created February 20, 2014 20:07
javascript getNamedArgs example
function getNamedArgs(args, opt_start) {
opt_start = opt_start ? opt_start : 0;
var obj = {};
for (var i = opt_start, len = args.length; i < len; i += 2) {
obj[args[i]] = args[i+1];
}
return obj;
}
function namedArgsFunc(x) {
var args = getNamedArgs(arguments, 1);
@joeheyming
joeheyming / kwargs_6
Created February 20, 2014 20:08
java getNamedArgs
public class Utils {
public static Map<String,Object> getNamedArgs(Object... args) {
Map<String,Object> obj = new HashMap<String,Object>();
for (int i = 0, i < args.length; i += 2) {
obj.put((String)args[i], args[i+1]);
}
return obj;
}
}
//...
@joeheyming
joeheyming / kwargs_7
Created February 20, 2014 20:09
java set* boilerplate code
@Test
public void testSomething() {
MyObj testobj = new MyObj();
testobj.setFoo('a');
testobj.setBar(123);
// ...
testobj.setBaz('z');
}
@joeheyming
joeheyming / kwargs_8
Last active August 29, 2015 13:56
getTestObject
@Test
public void testSomething() {
MyObj testobj = TestUtils.getTestObject(MyObj.class, 'foo', 'a', 'bar', 123, 'baz', 'z');
}
@joeheyming
joeheyming / kwargs_9
Created February 20, 2014 20:12
final getTestObject code
public class TestUtils {
public static <T> T getTestObject(Class<T> type, Object... args) {
Map<String,Object> namedArgs = Utils.getNamedArgs(args);
Constructor <T> constructor = type.getConstructor();
T testobj = constructor.newInstance();
for (Entry<String,Object> entry : namedArgs.getEntrySet()) {
Field field = type.getDeclaredField(entry.getKey());
if (field != null) {
if (Modifier.isPrivate(field.getModifiers()) {
field.setAccessible(true); // this is only for test code
@joeheyming
joeheyming / randomWallpaper.sh
Last active August 29, 2015 14:17
Shell script that updates a user's wallpaper and login screen on a mac
#!/bin/bash
wallpapers=`curl -s http://www.reddit.com/r/wallpapers.rss | grep -Eo 'http://i.imgur.com[^&]+jpg'`
papers=($wallpapers)
num_wallpapers=${#papers[*]}
# grab 2 random wallpapers for desktop1 and desktop2
for x in `seq 1 2`; do
url=`echo -n "${papers[$((RANDOM%num_wallpapers))]}"`
curl $url -s > ~/Pictures/background$x.jpg
done;