Skip to content

Instantly share code, notes, and snippets.

@j-manu
j-manu / api_auto_pagination.rb
Created May 14, 2022 06:41 — forked from fractaledmind/api_auto_pagination.rb
Generalized auto_paginate method to work with GitHub, Jira, and Slack APIs
require "httpx"
module Clientable
extend ActiveSupport::Concern
def initialize
@httpx = HTTPX
.plugin(:retries, retry_change_requests: true)
.max_retries(3)
end

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

@j-manu
j-manu / authentication.rb
Created January 25, 2022 16:05 — forked from bjeanes/authentication.rb
Example of custom code to emulate a programmatic core in Rodauth
# frozen_string_literal: true
module Authentication
# Rodauth is pretty coupled to being in a request context, but this will provide the minimum necessary to be able
# to generate correct URLs
def self.rodauth(configuration_name = :user, params: {})
url_options = Rails.application.config.action_mailer.default_url_options
host = url_options[:host]
host += ":#{url_options[:port]}" if url_options.key?(:port)
base_url = "#{url_options[:protocol] || 'http'}://#{host}"
require 'rodauth'
module Rodauth
# Clean up how we configure all of our tables, columns, etc., to use values which are more consistent with Rails than
# the defaults as well as use Rails mailers
Feature.define(:rails_conventions, :RailsConventions) do
depends :rails # rodauth-rails feature
def post_configure
# Rodauth uses dash-separated paths by default, so we'll make these underscores by default
@j-manu
j-manu / migrate_from_devise.rb
Created January 25, 2022 16:05 — forked from bjeanes/migrate_from_devise.rb
Rodauth feature to migrate from Devise, including maintaining all Devise columns (that I was using) in case a rollback was necessary (it wasn't)
# frozen_string_literal: true
require 'rodauth'
# In order for Rails to reload this constant in dev, we need `require_dependency` because Rodauth expects the features
# in a specific load path, but it defines a constant against Rails' expectations, which breaks reloading.
require_dependency 'rodauth/features/remote_ip'
module Rodauth
Feature.define(:migrate_from_devise, :MigrateFromDevise) do
#!/bin/sh
isp=$(dig +noall +stats 2>&1 | awk '$2~/^SERVER:$/{split($3,dnsip,"#");print dnsip[1]}');
m="-------------------------------------------------------------------------------";
s=" ";
h="+${m:0:25}+${m:0:12}+${m:0:12}+${m:0:12}+${m:0:12}+${m:0:12}+";
header=("Domain${s:0:23}" "Your ISP${s:0:10}" "Google${s:0:10}" "4.2.2.2${s:0:10}" "OpenDNS${s:0:10}" "DNS Adv.${s:0:10}");
echo "${h}";
echo "| ${header[0]:0:23} | ${header[1]:0:10} | ${header[2]:0:10} | ${header[3]:0:10} | ${header[4]:0:10} | ${header[5]:0:10} |";
echo "${h}";
for i in "lifehacker.com" "facebook.com" "manu-j.com" "reddit.com" "tb4.fr" "bbc.co.uk";

Keybase proof

I hereby claim:

  • I am j-manu on github.
  • I am manu_j (https://keybase.io/manu_j) on keybase.
  • I have a public key whose fingerprint is 1B1E 1CDD CC94 8B33 1249 6B63 90A4 F0B2 5D81 EE5F

To claim this, I am signing this object:

@j-manu
j-manu / iptableflip.sh
Created January 26, 2016 12:56 — forked from lewisd32/iptableflip.sh
Snippet of Unbounce script for restarting HAProxy with zero downtime
echo "Flipping tables! (╯°□°)╯︵ ┻━┻"
num_rules=3
real=3 # exposed to the ELB as port 443
test=4 # used to install test certs for domain verification
health=5 # used by the ELB healthcheck
blue_prefix=855
green_prefix=866
module Capybara::Poltergeist
class Client
private
def redirect_stdout
prev = STDOUT.dup
prev.autoclose = false
$stdout = @write_io
STDOUT.reopen(@write_io)
prev = STDERR.dup
module Capybara::Poltergeist
class Client
private
def redirect_stdout(to)
prev = STDOUT.dup
prev.autoclose = false
$stdout = to
STDOUT.reopen(to)
prev = STDERR.dup