Skip to content

Instantly share code, notes, and snippets.

View wdhowe's full-sized avatar

Bill Howe wdhowe

View GitHub Profile
@wdhowe
wdhowe / git-cheatsheet.md
Last active February 3, 2024 21:01
Git Commands Cheat Sheet

Git Commands Cheat Sheet

Configuration

List Current Global Settings

git config --global --list
@wdhowe
wdhowe / debugging.md
Last active April 11, 2021 03:17
debugging
@wdhowe
wdhowe / as_some.clj
Last active February 3, 2024 21:04
Clojure macro: as-some->
;; This macro is also available in: https://github.com/wdhowe/clj-contrib
(defmacro as-some->
"as->, with the nil checking of some->.
Binds name to expr. When name is not nil, evaluates the first
form in the lexical context of that binding. When that result
is not nil, then binds name to result, repeating for each
successive form."
[expr name & forms]
(let [steps (map (fn [step] `(if (nil? ~name) nil ~step))
@wdhowe
wdhowe / Makefile
Last active April 11, 2021 22:10
An example Makefile for Docker and Leiningen.
.PHONY: build test deploy
##-- Environment Variables --#
# Image and container registry
IMAGE_NAME := my-image-name
IMAGE_PATH := mygroup/myproject
REGISTRY := registry-url:port
IMAGE := $(REGISTRY)/$(IMAGE_PATH)/$(IMAGE_NAME)
@wdhowe
wdhowe / docker-commands.md
Created November 28, 2020 19:36
Docker commands to build, push, and run containers.

Docker Image Running/Building Examples

The docker images can all be run/built similar to the following.

Variables

Setup the variables per image.

GitHub Example

@davidvhill
davidvhill / gist:c71ec05730994e5f1fb1f39b2dd57dd6
Last active September 21, 2020 14:45
Function with Retry
;; Returns a function with retries.
;; retries: num of retries
;; delay: delay between retries in milliseconds
;; f: function to apply
;; ef: error function, determines if f should be retried
;; f and ef should not throw Exceptions
(defn with-retry
[retries delay f ef]
(fn [& args]
@wdhowe
wdhowe / emacs-cheatsheet.md
Last active June 15, 2023 06:49
Emacs Cheatsheet

Emacs Cheatsheet

A cheatsheet inspired by the book "Clojure for the Brave and True".

Shortcut Keys Used

  • C = Control Key
  • M = Meta Key (Alt on PCs, Option on Macs)

Examples:

@davidvhill
davidvhill / numberize.clj
Created December 6, 2019 19:11
Numerizing Made Simple
(require '[clojure.edn :as edn])
;; props to didibus https://clojuredocs.org/clojure.core/num
(defn numberize
[value]
(edn/read-string value))