Skip to content

Instantly share code, notes, and snippets.

#!/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" \
@rob-murray
rob-murray / obj_c_constant_class_impl.c
Created February 1, 2013 13:27
An example of Objective C Global constant - shows class definition, implementation, import and usage
//Configuration.h
#import <Foundation/Foundation.h>
@interface Configuration : NSObject
extern NSString *const kRMAWebServiceURL;
extern const NSTimeInterval kRMTimeoutValue;
@rob-murray
rob-murray / upload_testflight.sh
Last active June 4, 2019 05:07
Script to upload .ipa file to Testflight
#!/bin/bash
#
# Simple script to upload .ipa to testflight
# Usage: upload_testflight.sh /path/to/file.ipa /path/to/app.dSYM {build version}
#
# src: https://gist.github.com/rob-murray/7941761
#
if [ $# -lt 3 ]
linters:
LineLength:
max: 40
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 June 29, 2018 08:46
Script to dismiss "Chrome did not shut down properly" when running in kiosk mode on Raspberry Pi
#!/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 / db_runner.rb
Created November 8, 2016 09:55
Helper to run a database command with given db config
# frozen_string_literal: true
# Helper to run a database command with given db config
class DbRunner
RESTORE_CMD_TEMPLATE = <<-CMD.squish
pg_restore -1 --disable-triggers -a -h %{host} -U %{username} -w -d %{database} #{Rails.root}/tmp/full-dump.pgsql
CMD
BACKUP_CMD_TEMPLATE = <<-CMD.squish
pg_dump --clean -w -U %{username} -d %{database} -h %{host} --format=c --compress=9 -T ar_internal_metadata -T schema_migrations -O > #{Rails.root}/tmp/full-dump.pgsql
CMD
@rob-murray
rob-murray / lendingbot.service
Created May 31, 2018 20:37
Run BitBotFactory MikaLendingBot as systemd service on Raspberry Pi
[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 / db_force_drop.rake
Last active May 31, 2018 20:28
Postgres: Kill and block incoming connections and then drop the current environment's database. ⚠️:hack:
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)
@rob-murray
rob-murray / pg_enums.sql
Last active May 31, 2018 20:27
PG list enums
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;