Skip to content

Instantly share code, notes, and snippets.

View johngrimes's full-sized avatar
🚴
coding and cycling

John Grimes johngrimes

🚴
coding and cycling
View GitHub Profile
@johngrimes
johngrimes / resync_id_sequences.sql
Created October 6, 2010 22:32
Useful function for resetting sequence values on ID fields after importing data into PostgreSQL.
CREATE OR REPLACE FUNCTION resync_id_sequences() RETURNS void AS $$
DECLARE
table RECORD;
sequence_name VARCHAR;
id_present RECORD;
max_id RECORD;
BEGIN
FOR table IN SELECT * FROM information_schema.tables WHERE table_schema = 'public' LOOP
SELECT COUNT(*) AS count INTO id_present
FROM pg_attribute a INNER JOIN pg_class c
@johngrimes
johngrimes / image_optimisation.sh
Created June 3, 2010 04:51
Optimise JPEG and PNG images
find public/images -name '*.png' | xargs optipng
find public/images -name '*.jpg' | xargs jpegoptim
@johngrimes
johngrimes / myapp.conf
Created June 2, 2010 06:47
Nginx Rails app configuration
upstream unicorn-myapp { server 127.0.0.1:3000; }
server {
server_name myapp.com;
rewrite ^(.*) http://www.myapp.com$1 permanent;
}
server {
listen *:80;
server_name www.myapp.com;
@johngrimes
johngrimes / date.sql
Created May 21, 2010 07:03
MySQL Date Dimension Build Script
/* Adapted from Tom Cunningham's 'Data Warehousing with MySql' (www.meansandends.com/mysql-data-warehouse) */
###### small-numbers table
DROP TABLE IF EXISTS numbers_small;
CREATE TABLE numbers_small (number INT);
INSERT INTO numbers_small VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
###### main numbers table
DROP TABLE IF EXISTS numbers;
CREATE TABLE numbers (number BIGINT);
@johngrimes
johngrimes / deploy.rb
Created April 22, 2010 09:55
Capistrano recipe for Rails app
require 'bundler/capistrano'
require 'rvm/capistrano'
set :application, 'myapp'
set :repository, '[email protected]:johngrimes/myapp.git'
set :scm, 'git'
set :bundle_flags, '--deployment'
set :bundle_without, []
@johngrimes
johngrimes / load_seed_data_from_fixtures.rb
Created June 8, 2009 21:04
Rake task to load seed data from YAML files
namespace :seed_data do
desc 'Load seed data into the database of the current environment'
task :load => :environment do
require 'active_record/fixtures'
Dir.glob(RAILS_ROOT + '/db/seed_data/*.yml').each do |file|
Fixtures.create_fixtures('db/seed_data', File.basename(file, '.*'))
end
end
end
@johngrimes
johngrimes / php_timing.php
Created May 5, 2009 14:02
Timing PHP code
$timeStart = microtime(true);
/* The code that you want to time */
$timeEnd = microtime(true);
$duration = $timeEnd - $timeStart;
@johngrimes
johngrimes / javascript_livevalidation.js
Created May 5, 2009 13:07
Validating email addresses using JavaScript
var email = new LiveValidation('email');
email.add(Validate.Presence);
email.add(Validate.Format, { pattern: /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i });