Skip to content

Instantly share code, notes, and snippets.

View rgreenjr's full-sized avatar

Ron Green rgreenjr

View GitHub Profile
# open the ssh configuration file
sudo vi /etc/ssh/sshd_config

Make the following changes to /etc/ssh/sshd_config:

# disable password authentication
PasswordAuthentication no
@rgreenjr
rgreenjr / vim_notes.md
Created November 2, 2017 16:52
VIM Notes

select to end of line

v g _

split arguments

g ,
@rgreenjr
rgreenjr / object_oriented_design_notes.md
Last active January 22, 2024 05:54
Object Oriented Design Notes

Sandi Metz

  • Inheritance is not for sharing behavior
  • Active Nothing (Null Object Pattern)
    • Must believe in nothing
  • No such thing as one specialization
    • The new behavior is one thing and the original behavior is the other
    • Isolate the difference, name the concept, define the role, inject the players

Model Names

@rgreenjr
rgreenjr / postgresql_upgrade.sh
Last active December 8, 2022 02:10
PostgreSQL Upgrading
# Taken from http://robots.thoughtbot.com/post/33706558963/migrating-data-from-an-upgraded-postgres
#
# Note: these steps assume installation with Homebrew.
# Initialize a new database, adding a .new suffix to the directory that Homebrew recommends.
initdb /usr/local/var/postgres.new -E utf8
# Run the upgrade script, providing the correct paths for the various flags.
@rgreenjr
rgreenjr / postgres_config.md
Last active June 4, 2024 09:36
PostgreSQL Configuration Optimization

PostgreSQL Configuration Optimization

Memory

Only four values really matter:

  • shared-buffers: below 2GB: set it to 20% of full memory; below 32GB: 25% of your full memory.
@rgreenjr
rgreenjr / postgres_queries_and_commands.sql
Last active December 20, 2024 19:50
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(clock_timestamp(), query_start), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(clock_timestamp(), query_start), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
@rgreenjr
rgreenjr / Git Cheat Sheet.md
Last active December 3, 2024 11:48
Git Cheat Sheet

Git Cheat Sheet

Common Commands

# stage all modified files being tracked
git add -u
@rgreenjr
rgreenjr / gutenberg_text2audio.rb
Created January 18, 2010 17:29
Converts Gutenberg text files into spoken audio files.
#!/usr/bin/env ruby -w
#
# Converts Gutenberg text files into spoken audio files.
#
require 'rubygems'
text = String.new
File.open(ARGV.first) { |f| text = f.read }
chapters = text.split(/^CHAPTER .*$/)
chapters.each_with_index do |chapter, index|
@rgreenjr
rgreenjr / goodreads_csv_filter.rb
Created January 18, 2010 17:25
Trims Goodreads CSV files so they import into Delicious Library essential data only.
#!/usr/bin/env ruby -w
#
# Trims Goodreads CSV files so they import into Delicious Library essential data only.
#
require 'rubygems'
require 'faster_csv'
path = ARGV.empty? ? "/Users/rgreen/Downloads/goodreads_export.csv" : ARGV[0]
@rgreenjr
rgreenjr / word_freq.rb
Created January 18, 2010 15:30
Script to count word frequency.
#!/usr/bin/env ruby -w
text = IO.read(ARGV.first)
words = text.split(/[^a-zA-Z]/)
freqs = Hash.new(0)
words.each { |word| freqs[word] += 1 }
freqs = freqs.sort_by { |x, y| y }
freqs.reverse!
freqs.each { |word, freq| puts sprintf("%20s %s", word, freq.to_s) }