Skip to content

Instantly share code, notes, and snippets.

View nickaknudson's full-sized avatar

Nick Knudson nickaknudson

View GitHub Profile
@nickaknudson
nickaknudson / PositionAnimation.java
Created February 21, 2014 04:17
PositionAnimation
/**
*
*/
package com.nickaknudson.android.animations;
import com.nickaknudson.mva.callbacks.Callback;
import android.view.animation.Animation;
import android.view.animation.Transformation;
@nickaknudson
nickaknudson / remove@2x.sh
Last active August 29, 2015 13:57
remove @2x from files in directory
for i in *@2x.*; do mv "$i" "${i/@2x/}"; done;
@nickaknudson
nickaknudson / aws_submission.js
Last active August 29, 2015 13:57
AWS JavaScript Upload
var akey = ""; // AWS Key
var policy = ""; // from aws_submission_generation.html
var signature = ""; // from aws_submission_generation.html
var bucket_url = "https://BUCKET.s3.amazonaws.com/";
function saveSubmission() {
var s = {
'name' : $('#name').val()

Keybase proof

I hereby claim:

  • I am nickaknudson on github.
  • I am nickaknudson (https://keybase.io/nickaknudson) on keybase.
  • I have a public key whose fingerprint is AC6C D262 4112 BA12 0201 4BF2 F952 A655 4C19 FE47

To claim this, I am signing this object:

@nickaknudson
nickaknudson / faye_redis_queue.js
Last active September 29, 2015 19:38
a faye hack to provide a simple message queue upon channel subscription
Faye.extend(Faye.Engine.Redis.prototype, {
subscribe: function(clientId, channel, callback, scope) {
var current_key, self;
self = this;
this._redis.sadd(this._ns + '/clients/' + clientId + '/channels', channel, function(error, added) {
if (added === 1) return self.trigger('subscribe', clientId, channel);
});
this._redis.sadd(this._ns + '/channels' + channel, clientId, function() {
self.debug('Subscribed client ? to channel ?', clientId, channel);
@nickaknudson
nickaknudson / application.html.haml
Created June 20, 2012 18:03
Default Rails views/layouts/application.html.erb to haml
!!!
%html
%head
%title ElectionsoftServer
= stylesheet_link_tag "application", :media => "all"
= javascript_include_tag "application"
= csrf_meta_tags
%body
%p.notice
= notice
$.extend($.ui.multiAccordion, {
// private helper method that used to show tabs
_showTab: function($this) {
var $span = $this.children('span.ui-icon');
var $div = $this.next();
var options = this.options;
$this.removeClass('ui-state-default ui-corner-all').addClass('ui-state-active ui-corner-top');
$span.removeClass('ui-icon-triangle-1-e').addClass('ui-icon-triangle-1-s');
// MODIIFICATION
bindThis = this;
/******************************************************************************
* Half Duplex Software UART on the LaunchPad
*
* Description: This code provides a simple Bi-Directional Half Duplex
* Software UART. The timing is dependant on SMCLK, which
* is set to 1MHz. The transmit function is based off of
* the example code provided by TI with the LaunchPad.
* This code was originally created for "NJC's MSP430
* LaunchPad Blog".
*
#!/usr/bin/env ruby
#
# Proof-of-Concept exploit for Rails Remote Code Execution (CVE-2013-0156)
#
# ## Advisory
#
# https://groups.google.com/forum/#!topic/rubyonrails-security/61bkgvnSGTQ/discussion
#
# ## Caveats
#
# you can make a text file of request times (in ms, one number per line) and import it here, or you can use a probability distribution to simulate request times (see below where setting req_durations_in_ms)
# rq = read.table("~/Downloads/request_times.txt", header=FALSE)$V1
# argument notes:
# parallel_router_count is only relevant if router_mode is set to "intelligent"
# choice_of_two, power_of_two, and unicorn_workers_per_dyno are only relevant if router_mode is set to "naive"
# you can only select one of choice_of_two, power_of_two, and unicorn_workers_per_dyno
run_simulation = function(router_mode = "naive",
reqs_per_minute = 9000,