Skip to content

Instantly share code, notes, and snippets.

@knowtheory
knowtheory / regular_expressions.log
Last active December 13, 2015 21:48
Teaching my brother regular expressions.
[2/18/13 11:49:45 AM] schwaumlaut: I don't know regular expressions. :P
[2/18/13 11:49:57 AM] Ted Han: L2REGEXP
[2/18/13 11:49:59 AM] Ted Han: n00b
[2/18/13 11:50:01 AM] schwaumlaut: What is a good thing to read for them?
[2/18/13 11:50:09 AM] Ted Han: http://rubular.com/ is fun.
[2/18/13 11:50:45 AM] schwaumlaut: "I would like to learn to program."
"Here is your command line. ENJOY!"
[2/18/13 11:50:52 AM] Ted Han: haha.
[2/18/13 11:51:17 AM] Ted Han: http://docs.python.org/2/howto/regex.html ?
[2/18/13 11:51:19 AM] Ted Han: here's the basic gist
path_to_log = File.join(File.dirname(__FILE__),'cron_output.log')
File.open(path_to_log, 'w'){ |file| file << "I was last run at #{Time.now}" }
@knowtheory
knowtheory / result.xml
Last active December 13, 2015 17:29
To run this, download the gist, and from the commandline type `ruby [path/to/the/gist.rb]` You should make sure you have Ruby and nokogiri installed on your computer first. N.B. just realized that the download gist link saves a zipped file that you will have to unzip to get to the xml_transformation.rb file.
<state name="Alabama">
<city name="Abbeville" number="1"/>
<city name="Adamsville" number="1"/>
<city name="Addison" number="1"/>
<city name="Akron" number="2"/>
</state>
module Sullivans
class UserActor
include Celluloid
include Celluloid::Notifications
include Celluloid::Logger
def initialize(socket)
# Subscribe to conversations
info "Started a client"
require 'open-uri'
require 'nokogiri'
require 'csv'
#######################################
#
# PHASE ONE: PAGE FETCHING
#
#######################################
// Fetch and append the current temperature
function fetchAndAppendWeather() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
// All the actual work is done in the top row.
// We get the link stored in cell A1
var weatherLink = sheet.getRange("A1").getValue();
// we set a formula importing a targeted portion of the web page
# <= this hash sign. Hash signs are used to start comments.
# Anything that starts with a hash will be instructions or descriptions.
# Different programming languages/environments will use different
# characters to start comments.
# Bash (what your shell uses, happens to use the hash mark)
# comments run from the hash mark to the end of the line.
# So, one can issue a command, and add a comment after it like so:
ls # this is a command we will explain below
n = 50000;
Benchmark.bm(15) do |x|
x.report("Array Include:"){ n.times{ foo = 5; arr = [1,2,3,4,5]; arr.include? foo }}
x.report("Array access:"){ n.times{ foo = 5; arr = [1,2,3,4,5]; foo == arr[0] || foo == arr[1] || foo == arr[2] || foo == arr[3] || foo == arr[4] } }
x.report("Array Alloc:"){ n.times{ foo = 5; arr = [1,2,3,4,5]; foo == 1 || foo == 2 || foo == 3 || foo == 4 || foo == 5 } }
x.report("Just Ors:"){ n.times{foo = 5; foo == 1 || foo == 2 || foo == 3 || foo == 4 || foo == 5 }}
end
n = 50000;
foo = 1
# Usage:
# The following will create 5 randomized cards from the lines of gawkerbingo.txt:
# ruby bingorunner.rb 5
require './gawkerbingo.rb'
number_of_cards = ARGV.first.to_i
CreateCards.new(number_of_cards)
@knowtheory
knowtheory / secrets.yml
Created May 21, 2012 23:55
Sample secrets file for DocumentCloud
# Sensitive API keys and other secret strings.
defaults : &defaults
aws_access_key: string_goes_here
aws_secret_key: string_goes_here
calais_license: string_goes_here
smtp_password: string_goes_here
pixel_ping: string_goes_here
guest_username: string_goes_here
guest_password: string_goes_here