Skip to content

Instantly share code, notes, and snippets.

Robert Murray rob-murray

  • UK
Block or report user

Report or block rob-murray

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View rails new skip
rails new app_name \
--database=postgresql \
--skip-action-cable --skip-action-mailer --skip-active-storage \
--skip-sprockets --skip-action-mailbox --skip-action-text \
--skip-bundle --skip-keeps --skip-spring --skip-test \
--skip-coffee --skip-system-test --skip-turbolinks
View pi-docker.sh
#!/bin/bash
# https://github.com/pi-hole/docker-pi-hole/blob/master/README.md
docker run -d \
--name pihole \
-p 53:53/tcp -p 53:53/udp \
-p 80:80 \
-p 443:443 \
-e TZ="Europe/London" \
View fix macos default icons
sudo rm -rfv /Library/Caches/com.apple.iconservices.store; sudo find /private/var/folders/ \( -name com.apple.dock.iconcache -or -name com.apple.iconservices \) -exec rm -rfv {} \; ; sleep 3; killall Dock; killall Finder
@rob-murray
rob-murray / pi_fix_chrome.sh
Created Jun 29, 2018
Script to dismiss "Chrome did not shut down properly" when running in kiosk mode on Raspberry Pi
View pi_fix_chrome.sh
#!/usr/bin/sh
# Wait for a bit and then click in the top right of the screen to turn off the "chrome did not shut down properly" popup.
sleep 10
export DISPLAY=":0"
xdotool mousemove 1905 20 # change co-ords to suit
xdotool click 1
@rob-murray
rob-murray / lendingbot.service
Created May 31, 2018
Run BitBotFactory MikaLendingBot as systemd service on Raspberry Pi
View lendingbot.service
[Unit]
Description=LendingBot service
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/python <CODE_DIR>/lendingbot.py
WorkingDirectory=<CODE_DIR>
RestartSec=10
Restart=on-failure
@rob-murray
rob-murray / pg_enums.sql
Last active May 31, 2018
PG list enums
View pg_enums.sql
select n.nspname as enum_schema,
t.typname as enum_name,
string_agg(e.enumlabel, ', ') as enum_values
from pg_type t
join pg_enum e on t.oid = e.enumtypid
join pg_catalog.pg_namespace n ON n.oid = t.typnamespace
group by n.nspname, t.typname
order by enum_name;
@rob-murray
rob-murray / db_force_drop.rake
Last active May 31, 2018
Postgres: Kill and block incoming connections and then drop the current environment's database. ⚠️:hack:
View db_force_drop.rake
desc "Kill and block incoming connections and then drop the current environment's database."
task "db:force_drop" => "environment" do
if Rails.env.production? && ENV["DISABLE_DATABASE_ENVIRONMENT_CHECK"] !~ /true|1/
raise "Cannot drop the production database. Disable this with 'DISABLE_DATABASE_ENVIRONMENT_CHECK=true'"
end
db_config = Rails.configuration.database_configuration[Rails.env]
db_name = db_config.fetch("database")
kill_postgres_connections_sql = <<-SQL
SELECT pg_terminate_backend(pg_stat_activity.pid)
View install_ruby.md

How to install Ruby

MacOS

MacOS High Sierra has Ruby 2.3 installed and El Capitan has Ruby 2.0 - both these should be sufficient for most exercises, but if you would like to install a different version or have an older operating system then follow the instructions below.

Note: these instructions may vary between laptops depending on existing configuration.

  1. Install Xcode command line tools / accept licence
@rob-murray
rob-murray / class_initer.rb
Last active Nov 13, 2016
Dynamically instantiate classes by method call, recursive until method call is a class to work with Modules
View class_initer.rb
# Dynamically instantiate classes by method call, recursive until method call is a class to work with Modules
# Given classes Foo and Bar::Foo exist
#
# app.foo => Foo.new
# app.bar.foo => Bar::Foo.new
#
# Note: requires classes to be pre-required/loaded - ie will not work with Rails
# lazy class loading
#
class App
You can’t perform that action at this time.