Skip to content

Instantly share code, notes, and snippets.

View evanscottgray's full-sized avatar
🤠
herding cats

Evan Gray evanscottgray

🤠
herding cats
View GitHub Profile
@evanscottgray
evanscottgray / docker_image_container_basics.md
Last active June 21, 2018 07:09
creating base images with docker.

Docker Container/Image Basics

This is a basic step by step intro to working with Docker containers and Images. You should be able to follow along with your installation of docker, but be sure to change IDs/naming schemes according to your use case.

The goal of this exercise is to create a base image from the ubuntu base image that has both the jre and htop installed.

Start up an ubuntu container to modify, install htop, then exit.

docker run -t -i ubuntu /bin/bash

Get the ID of the container you just modified.

@evanscottgray
evanscottgray / storage_migration.md
Created September 24, 2014 17:28
docker storage migration wow

Migrating Docker Storage....

Stop Docker Service

service docker stop

Copy all the things!

@fotinakis
fotinakis / cancan_matchers.rb
Last active August 25, 2024 16:44
Custom rspec matcher for testing CanCan abilities
# Custom rspec matcher for testing CanCan abilities.
# Originally inspired by https://github.com/ryanb/cancan/wiki/Testing-Abilities
#
# Usage:
# should have_abilities(:create, Post.new)
# should have_abilities([:read, :update], post)
# should have_abilities({manage: false, destroy: true}, post)
# should have_abilities({create: false}, Post.new)
# should not_have_abilities(:update, post)
# should not_have_abilities([:update, :destroy], post)
@jnovack
jnovack / README.md
Last active November 18, 2024 15:59
Opening up mosh in firewalld using firewall-cmd

Mosh (mobile shell) is a gift from the Gods(tm). Anyone with spotty internet or wireless connection has suffered the pain of a lost SSH session. Sure, one can fire up screen (or tmux as the kids are using these days), but that's an extra step and you are still using the SSH protocol.

I'm not here to tout the benefits of Mosh, you came here to open it up in your firewall.

  1. Create the following file as /etc/firewalld/services/mosh.xml
  2. firewall-cmd --add-service=mosh --permanent
  3. firewall-cmd --reload

If you tend to have a lot of sessions (not recommended), you can increase the ports, but the default should be fine for most applications.

@drolfe
drolfe / README.md
Last active June 9, 2021 22:44
Dashing Snmp Interface Stats

Description

Simple Dashing job (and associated dash html) to display SNMP interface percentages

##Dependencies

snmp

Add it to dashing's gemfile:

@LastZactionHero
LastZactionHero / gist:cd3ac6998a94a06c37ad
Last active March 9, 2018 08:33
My Fake Coffee Shop -or- Local Audience Twitter Favoriting

Today I made the decision to shut down King's Cross Coffee, the potentially-popular coffee shop that existed only in the hearts and minds of coffee-drinking Ann Arborites. I decided to shut it down because people were actually going there. It didn't seem fair, and I'd proved my point.

I'd been experimenting with the concept of automatically favoriting tweets from a local audience as a way of driving traffic. I set up a product called LocalFavorite which takes a search term and location range and favorites 3 tweets each hour.

The Experiment

Can a brand with no real-world presence build a legitimate following by Twitter favorites alone?

To control my variables, I created the Twitter account @KingsCrossCafe, a realistic-looking coffee shop in Ann Arbor, MI. I gave it a few photos, a real address, a bit.ly link, and posted a few tweets. Then I began automatically favoriting anyone in the Ann Arbor area that mentions 'coffee' or being 'tired'.

@mangecoeur
mangecoeur / concurrent.futures-intro.md
Last active July 20, 2024 10:30
Easy parallel python with concurrent.futures

Easy parallel python with concurrent.futures

As of version 3.3, python includes the very promising concurrent.futures module, with elegant context managers for running tasks concurrently. Thanks to the simple and consistent interface you can use both threads and processes with minimal effort.

For most CPU bound tasks - anything that is heavy number crunching - you want your program to use all the CPUs in your PC. The simplest way to get a CPU bound task to run in parallel is to use the ProcessPoolExecutor, which will create enough sub-processes to keep all your CPUs busy.

We use the context manager thusly:

with concurrent.futures.ProcessPoolExecutor() as executor:
import cv2
import numpy as np
def in_front_of_both_cameras(first_points, second_points, rot, trans):
# check if the point correspondences are in front of both images
rot_inv = rot
for first, second in zip(first_points, second_points):
first_z = np.dot(rot[0, :] - second[0]*rot[2, :], trans) / np.dot(rot[0, :] - second[0]*rot[2, :], second)
first_3d_point = np.array([first[0] * first_z, second[0] * first_z, first_z])
@ryancdotorg
ryancdotorg / dnaas.c
Created October 30, 2013 23:20
Wrapper library to use /dev/null as a service on Linux via LD_PRELOAD
/* This is a wrapper library that will give your server the power of
* /dev/null as a service, as seen at http://devnull-as-a-service.com/
*
* Compile:
* gcc -ggdb -shared -fPIC dnaas.c -ldl -lcurl -o libdnaas.so
*
* Try:
* LD_PRELOAD=./libdnaas.so dd if=/dev/sda of=/dev/null bs=8192 count=16
*
* Install:
@chengyin
chengyin / linkedout.js
Last active July 11, 2021 15:23
Unsubscribe all LinkedIn email in "one click". For an easier to use version, you can check out the bookmarklet: http://chengyin.github.io/linkedin-unsubscribed/
// 1. Go to page https://www.linkedin.com/settings/email-frequency
// 2. You may need to login
// 3. Open JS console
// ([How to?](http://webmasters.stackexchange.com/questions/8525/how-to-open-the-javascript-console-in-different-browsers))
// 4. Copy the following code in and execute
// 5. No more emails
//
// Bookmarklet version:
// http://chengyin.github.io/linkedin-unsubscribed/