Skip to content

Instantly share code, notes, and snippets.

View clay-whitley's full-sized avatar

Clay Whitley clay-whitley

View GitHub Profile
#!/bin/bash
# Invoke the Forever module (to START our Node.js server).
./node_modules/forever/bin/forever \
start \
-al forever.log \
-ao out.log \
-ae err.log \
app.js

This is a helper function to customize KISSmetrics form tracking.

The original trackSubmit function automatically captures every single form field of a tracked form as a property in KISSmetrics. It also automatically identifies a user, if it detects that they filled out a form field with a name containing "email" or "username".

There are ways of forcing the function to ignore or include certain form fields, but for anything beyond that, you'd have to write custom JavaScript. The goal of this helper is to provide more configuration options when setting up form tracking in KISSmetrics, to prevent custom code from being required.

Usage

(Please see attached usage file for code sample)

@clay-whitley
clay-whitley / PayPalParser.py
Created March 11, 2013 16:13
A python script that consumes a CSV file with user data, parses out the data, and then calls an analytics API to import the user data into a content management system.
import csv
import os
import sys
import datetime
os.chdir("/home/Development/")
fileList = os.listdir(".")
# fnumber = int(sys.argv[1])
# fname = fileList[fnumber]
fname = str(sys.argv[1])
@clay-whitley
clay-whitley / .conkyrc
Last active December 18, 2015 12:59
Desktop .conkyrc
################################################################################
#####################################
# Conky Configuration
# Compatible with Gnome2 and OpenBox
# Much of this config file was originally created by someone else, but it was so
long ago,
# I don't know who to give credit to... sorry.
# I've modified this a bunch over the years and this seems to be my main Conky s
cript for use with larger monitors.
# HilltopYodeler | http://www.hilltopyodeler.com/blog | hilltopyodeler@gmail.com
Post.find({})
.sort('-date')
.exec(function(err, docs){
console.log(req.session);
Category.$where('this.name.length > 0;')
.exec(function(err, cats){
Page.find({nav: "true"}, function(err,pages){
res.render('index', {title: 'Clay Whitley | Blog', docs: docs, cats: cats, pages: pages, loggedin: req.session.loggedIn});
});
});
@clay-whitley
clay-whitley / recursion_explanation.rb
Last active December 20, 2015 00:59
Explaining the differences between typical methods and recursive methods for my blog.
# Typical method definition
def multiply_number(integer)
puts integer * 2
end
# Typical method calls
multiply_number(5) # this would print to the console the result of 5 * 2
multiply_number(23) # this would print to the console the result of 23 * 2
class Vehicle
def initialize(args)
@status = :stopped
@color = args[:color]
@gas_capacity = 10
@gas = 5
end
def drive
unless needs_gas?
@clay-whitley
clay-whitley / file.rb
Created July 29, 2013 17:55
wax on/wax off
require 'csv'
module FlashCardDB
def self.parse
result = []
CSV.foreach("flashcards.csv") do |row|
unless row[0] == "definition"
result << {definition: row[0], term: row[1]}
end
@clay-whitley
clay-whitley / index.html
Last active December 20, 2015 20:19 — forked from dbc-challenges/index.html
DBC Phase 2 Practice Assessment Part 3
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="http://cdn.jsdelivr.net/normalize/2.1.0/normalize.css">
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Lato:100,900">
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome.min.css">
</head>
/* Here is your chance to take over Socrates!
Spend 10 minutes on each of the following hacks to the socrates website.
Enter them in the console to make sure it works and then save
your results here.
Choose a new pair for each. Add your names to the section you complete.
*/