Skip to content

Instantly share code, notes, and snippets.

@derwiki
derwiki / saucelabs.rb
Last active August 29, 2015 13:56
SauceLabs setup
module Saucelabs
SAUCE_USERNAME = ''
SAUCE_TOKEN = ''
def self.setup_saucelabs_connection!(driver=nil)
WebMock.allow_net_connect!
driver ||= {
capability: :chrome,
platform: 'Windows 8',
version: '',
@derwiki
derwiki / automatic-login-impl.rb.diff
Last active August 29, 2015 14:04
Generate a token and add the parameter to the link.
diff --git a/app/mailers/reservation_mailer.rb b/app/mailers/reservation_mailer.rb
index 4ee2db4..0f8faf2 100644
--- a/app/mailers/reservation_mailer.rb
+++ b/app/mailers/reservation_mailer.rb
@@ -16,6 +16,8 @@ class ReservationMailer < CameraLendsMailer
def reservation_request_lender(reservation)
@reservation = reservation
+ @owner = reservation.item.owner
+ @owner.new_token!
@derwiki
derwiki / new-token.rb
Created July 29, 2014 18:51
User#new_token! to create a new random automatic-login token
def new_token!
SecureRandom.hex(16).tap do |random_token|
update_attributes token: random_token
Rails.logger.info("Set new token for user #{ id }")
end
end
@derwiki
derwiki / pixelpeeper_with_timeouts.rb
Created August 14, 2014 20:36
Example thin JSON API client in Ruby, with one second global timeouts
require 'httparty'
class PixelPeeper
include HTTParty
base_uri 'www.pixel-peeper.com'
default_timeout 1 # hard timeout after 1 second
def api_key
ENV['PIXELPEEPER_API_KEY']
end
@derwiki
derwiki / api_response.json
Created August 16, 2014 03:31
Sample API response JSON.
{
data: {
results: [
{
camname: "EOS 5D Mark III",
cammake: "Canon",
camexifid: "CANON EOS 5D MARK III",
lensname: "Canon EF 24-105mm f/4 L IS USM",
author_name: null,
author_url: null,
@derwiki
derwiki / ffmpeg-output.log
Created September 19, 2014 03:15
Sample output of ffmpeg encoding a time lapse.
$ ffmpeg -f image2 -r 24 -pattern_type glob -i '*.JPG' -vf "scale=trunc(iw/4)*2:trunc(ih/4)*2" -c:v libx264 time-lapse.mp4
ffmpeg version 2.2.4 Copyright (c) 2000-2014 the FFmpeg developers
built on Jun 23 2014 16:31:17 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libavresample 1. 2. 0 / 1. 2. 0
$ sslmate buy *.cameralends.com
If you don't have an account yet, visit https://sslmate.com/signup
Enter your SSLMate username: cameralends
Enter your SSLMate password: **************
Authenticating... Done.
Tip: if you don't want to have to type your password every time, you can run 'sslmate link' to link this system with your account.
Generating private key... Done.
Generating CSR... Done.
Submitting order...
@derwiki
derwiki / seo.py
Last active August 29, 2015 14:16
Simple class to scrape Google search results. Useful for scripting reports of SEO rankings.
import pprint
import re
import sys
import urllib
import urllib2
# pip install pyquery
try:
from pyquery import PyQuery as pq
except:
@derwiki
derwiki / CameraLends-logo.psd
Last active August 29, 2015 14:20
CameraLends Multimedia
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
[5] pry(main)> geoip.city('8.18.218.175')
=> #<struct GeoIP::City
request="8.18.218.175",
ip="8.18.218.175",
country_code2="US",
country_code3="USA",
country_name="United States",
continent_code="NA",
region_name="",
city_name="",