Skip to content

Instantly share code, notes, and snippets.

View mjhea0's full-sized avatar

Michael Herman mjhea0

View GitHub Profile
@nepsilon
nepsilon / gitignore.md
Last active July 9, 2024 19:14
Understand what .gitignore rule is ignoring your files — First published in fullweb.io issue #54

Understand what .gitignore rule is ignoring your files

Ready to commit, you fire your git status and you don’t see your files 🤔.

Use this command to ask Git what rule is causing this ignore:

$ git check-ignore -v filename

For instance to see what rule ignores tests.pyc:

@luke14free
luke14free / sample_usage.py
Last active October 26, 2016 18:36
Simple type checked objects in Python
#!/usr/bin/env python
from type_checked_entities import entity_factory
Giraffe = entity_factory( # let's define what is a giraffe!
"giraffe",
name=str, # my name is a string
age=float, # my age is an int
eats=object, # I eat pretty much everything.
)
@cube-drone
cube-drone / automation.md
Last active August 7, 2024 10:34
Automation For The People

Automation for the People

Long ago, the first time I read "The Pragmatic Programmer", I read some advice that really stuck with me.

"Don't Use Manual Procedures".

This in the chapter on Ubiquitous Automation. To summarize, they want you to automate all the things.

The trouble was that I hadn't much of an idea how to actually go

@nepsilon
nepsilon / pip-mirror.md
Last active June 18, 2020 21:10
Use another mirror when PyPI go down — First published in fullweb.io issue #52

Use another mirror when PyPI go down

Find a mirror geographically close to you and use it like this:

pip install -i https://[mirror-url]/simple package

For instance, using a Beijing mirror:

pip install -i https://pypi.douban.com/simple package
@nepsilon
nepsilon / python-timeit.md
Last active July 6, 2016 01:24
A simple way to benchmark your code in Python — First published in fullweb.io issue #50

A simple way to benchmark your code in Python

You’re working on your script and want to see how fast a function would be. Here’s how to do that with the timeit module, included in the standard library.

Let’s say you have the following script:

import random
@ambv
ambv / post_iteration_deletion.py
Created May 21, 2016 23:52
Requires Python 3.3+
from contextlib import ExitStack
d = {index: str(index) for index in range(100)}
with ExitStack() as stack:
for key in d:
if key % 13 == 0:
stack.callback(d.pop, key)
print(d)
@nepsilon
nepsilon / 5-handy-javascript-one-liners.md
Last active March 23, 2019 18:09
5 handy Javascript one-liners — First published on fullweb.io issue #48

5 handy JavaScript one-liners

1. Generate a random string:

Math.random().toString(36).substr(2); 

This simply generates a random float, casts it into a String using base 36 and remove the 2 first chars 0 and. Note that this is not a replacement for UUID generation.

2. Clone an array:

@lonetwin
lonetwin / pip_meta_path_finder.py
Created May 16, 2016 13:15
Auto-install missing python modules
import sys
import pip
from importlib import import_module
from importlib.abc import MetaPathFinder
class PipMetaPathFinder(MetaPathFinder):
"""A importlib.abc.MetaPathFinder to auto-install missing modules using pip
"""
def find_spec(fullname, path, target=None):
@blalab
blalab / gist:d8ccd9c83f025197fac8c2a2d680c58e
Last active March 13, 2017 23:24
Logging config for Flask + Tornado
{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"simple": {
"format": "%(asctime)s - %(levelname)s - %(module)s - %(message)s"
},
"debug": {
"format": "%(asctime)s - %(levelname)s - %(pathname)s:%(lineno)s:%(funcName)s - %(message)s"
}
@nicolasbernard
nicolasbernard / docker-k8s.sh
Created March 26, 2016 12:25
How to install Docker/k8s from scratch on OSX
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" # install HomeBrew
brew tap caskroom/cask # install Cask
brew cask install virtualbox # install VirtualBox
brew install docker docker-machine # install Docker and Docker-machine
docker-machine create --driver virtualbox default # create a Docker VM named "default"
eval $(docker-machine env default) # set env var to tell Docker client to talk to our VM
docker version # Docker works, yay!
brew tap redspread/spread # tell HomeBrew where Spread is
brew install kubectl spread # install Kubectl and Spread
spread cluster start # ask Spread to start a k8s cluster with Docker client settings