Skip to content

Instantly share code, notes, and snippets.

View secretfader's full-sized avatar
🚩
new winds

Nicholas Young secretfader

🚩
new winds
View GitHub Profile
@secretfader
secretfader / hexlify_ruby.rb
Created August 22, 2009 19:17
Hexlify in Ruby
def hexlify(msg)
msg.split("").collect { |c| c[0].to_s(16) }.join
end
def unhexlify(msg)
msg.scan(/../).collect { |c| c.to_i(16).chr }.join
end
puts hexlify("Hello World")
@secretfader
secretfader / index.xspf.builder
Created November 6, 2009 18:42
generating xspf with Builder
xml.instruct!
xml.playlist :version => "1.0", :xmlns => "http://xspf.org/ns/0/" do
xml.trackList do
@tracks.each do |track|
xml.track do
xml.location track.title
xml.creator "#{track.user.firstname} #{track.user.lastname}"
xml.album track.album
xml.title track.title
xml.location track.song.url
@secretfader
secretfader / AppNumberOne.rb
Created November 15, 2009 14:00
multiple, nested apps in Sinatra
require 'rubygems'
require 'sinatra/base'
class AppNumberOne < Sinatra::Base
get '/?' do
"You've found App1. Go to /app2/ to find App2!"
end
end
@secretfader
secretfader / quick_email_validator.rb
Created November 22, 2009 12:57
email validation in ruby
require 'resolv'
require 'rubygems'
require 'sequel'
def validate_email_domain(email)
domain = email.match(/\@(.+)/)[1]
Resolv::DNS.open do |dns|
@mx = dns.getresources(domain, Resolv::DNS::Resource::IN::MX)
end
@mx.size > 0 ? true : false
end
require 'rubygems'
require 'fastercsv'
FasterCSV.open("email_final.csv", "w") do |csv|
FasterCSV.foreach("validated.csv") do |row|
csv << [row[0], "#{row[1]} #{row[2]}"]
end
end
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
@secretfader
secretfader / nginx.init
Created December 30, 2009 21:33
/etc/init.d/nginx
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
class MyApplication < Sinatra::Base
use Rack::Session::Cookie
use Warden::Manager do |manager|
manager.default_strategies :password
manager.failure_app = MyApplication
end
Warden::Manager.serialize_into_session{ |user| user.id }
require 'formula'
class Libtool <Formula
url 'http://ftp.gnu.org/gnu/libtool/libtool-2.2.8.tar.gz'
homepage 'http://www.gnu.org/software/libtool/'
md5 'cad2a7188242bc8dbab0645532ae3d6f'
def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",
"--prefix=#{prefix}"
tab "database server" do
run "mongod --config /usr/local/Cellar/mongodb/*/mongod.conf"
end
tab "redis" do
run "redis-server"
end
tab "resque" do
run "QUEUE=* bundle exec rake resque:work"