Skip to content

Instantly share code, notes, and snippets.

View ticean's full-sized avatar

Ticean Bennett ticean

View GitHub Profile
@ticean
ticean / reaction-v3.0.4.custom.mk
Created March 11, 2020 15:21
A custom configuration for Reaction Development Platform.
###############################################################################
### Reaction OSS v3.0.4
### This is an example configuration and is not modified from the original
### reaction-v3.0.4.mk
###############################################################################
# List of tools that must be installed.
# A simple check to determine the tool is available. No version check, etc.
define REQUIRED_SOFTWARE
docker \
@ticean
ticean / jon-roam-daily-template.md
Created February 28, 2020 05:57 — forked from jborichevskiy/jon-roam-daily-template.md
The daily template I use for Roam Research https://roamresearch.com/
  • Weekly Agenda (created on a different day, and embedded with /Block Reference)
  • [[Morning Questions]] [[2/24 -- 3/1/2020]]
    • {{[[slider]]}} How many hours of sleep did I get?
    • [[What's one thing top of mind today?]]
    • [[What's the one thing I need to get done today to make progress?]]
  • Agenda
    • {{[[TODO]]}} 2 hours focused time
    • {{[[TODO]]}} Read 30 minutes #goal-learning #habit
  • Health & self-care
  • {{[[TODO]]}} 30 minutes outside #goal-health #habit
@ticean
ticean / map-fields-comparator.clj
Last active January 10, 2020 05:00
Clojure comparator for sorting maps on n fields with sort order.
(defmacro map-fields-comparator
"Comparator for sorting maps by field. `kw-orders` must be pairs of keywords
on which to sort and a sort direction, either :asc or :desc.
Example:
(map-fields-comparator :id :asc :time :desc)
The above is fine for key values that are inexpensive to compute from the values
being sorted. If the key values are expensive to compute, it is better to
@ticean
ticean / inventory-data-flow.txt
Last active June 27, 2019 22:49 — forked from impactmass/inventory-data-flow.txt
sequence diagram for reaction inventory data flow
title Inventory Data Flow
participant Kafka Topic
participant Shippable-Inventory-Plugin
participant Simple-Inventory-Plugin
participant Inventory
participant MongoDB SimpleInventory
participant MongoDB Products
participant MongoDB Orders
@ticean
ticean / kafka-cheat-sheet.md
Created April 29, 2019 19:41 — forked from ursuad/kafka-cheat-sheet.md
Quick command reference for Apache Kafka

Kafka Topics

List existing topics

bin/kafka-topics.sh --zookeeper localhost:2181 --list

Describe a topic

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic mytopic

Purge a topic

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic mytopic --config retention.ms=1000

... wait a minute ...

@ticean
ticean / tinyrepl.clj
Last active July 14, 2018 22:39
Lil' Nestable Clojure REPL
(def ^:dynamic repl-context)
(defn tinyrepl
"Simple REPL. :quit to exit."
[{:keys [prefix layer] :or {prefix "" layer 1} :as context}]
(let [pre (str prefix ">>>")]
(with-bindings {#'repl-context (assoc context
:prefix pre
:layer (inc layer))}
(print (str (ns-name *ns*) (str pre " ")))
(flush)

Keybase proof

I hereby claim:

  • I am ticean on github.
  • I am ticean (https://keybase.io/ticean) on keybase.
  • I have a public key whose fingerprint is 4027 3B22 CA85 EDBE A3C3 A3FD 678F F894 896B C705

To claim this, I am signing this object:

@ticean
ticean / postgres_queries_and_commands.sql
Created August 1, 2017 00:11 — forked from rgreenjr/postgres_queries_and_commands.sql
Useful PostgreSQL Queries and Commands
-- show running queries (pre 9.2)
SELECT procpid, age(query_start, clock_timestamp()), usename, current_query
FROM pg_stat_activity
WHERE current_query != '<IDLE>' AND current_query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;
-- show running queries (9.2)
SELECT pid, age(query_start, clock_timestamp()), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
@ticean
ticean / 00_destructuring.md
Created August 13, 2016 19:26 — forked from john2x/00_destructuring.md
Clojure Destructuring Tutorial and Cheat Sheet

Clojure Destructuring Tutorial and Cheat Sheet

(Related blog post)

Simply put, destructuring in Clojure is a way extract values from a datastructure and bind them to symbols, without having to explicitly traverse the datstructure. It allows for elegant and concise Clojure code.

Vectors

@ticean
ticean / logfmt-demo.js
Last active April 20, 2016 19:47
Node.js Contextual Logging with Logfmt
// Demo contextual log pattern with the logfmt-node library.
var logger = require('logfmt').namespace({app: "test"});
function task(id, throwError) {
var taskLogger = logger.namespace({event: "task.run", "task.id": id});
var taskTimer = taskLogger.time();
taskLogger.log({msg: "Starting the task.", at: "start"});
setTimeout(function() {