Skip to content

Instantly share code, notes, and snippets.

View Trevoke's full-sized avatar
🎹
insert meme here.

Trevoke Trevoke

🎹
insert meme here.
View GitHub Profile
@Trevoke
Trevoke / article.ex
Created January 23, 2018 16:56 — forked from slashdotdash/article.ex
Commanded multi-entity aggregates
defmodule Article do
defstruct [:content, comments: []]
# public commands
def execute(%Article{}, %PublishArticle{content: content}) do
%ArticlePublished{content: content}
end
def execute(%Article{}, %CommentOnArticle{} = comment) do
@Trevoke
Trevoke / gist:dfa6d886f12d85d7d1d54103d4a808b5
Last active March 18, 2018 23:22
producer_consumer does not modify events
# Usage: mix run lib/producer_consumer.exs
#
# Hit Ctrl+C twice to stop it.
#
# This is a base example where a producer A emits items,
# which are amplified by a producer consumer B and printed
# by consumer C.
defmodule A do
use GenStage
#!/bin/sh
# This script will setup Evm (Emacs Version Manager) and Cask on
# Travis to use for Emacs Lisp testing.
#
# In .travis.yml, add this:
#
# - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > x.sh && source ./x.sh
#
# Emacs 24.3 is installed in the above script because Cask requires
@Trevoke
Trevoke / movie.md
Last active January 12, 2022 21:31 — forked from laser/movie.md

Movie Ticket Kata

What Are We Building?

Write a program that calculates purchase price for movie tickets using any language you like. It should not be a full-blown web app; it can be a simple class or collection of methods invokable by your test suite. We'll provide you with some requirements, test-cases, and even a sample interface - all you have to do is give us some software.

Base Admission Rate

The Base Admission Rate cover movies to be viewed on a regular weekday (see "Special Movie Day" below), in 2D, with a length of <= 120 minutes, viewed from the main seating area (there is also a balcony seating area, which is much fancier).

@Trevoke
Trevoke / clocktable-report-by-property.el
Last active November 19, 2021 18:05
org clock table data grouped by project
;; generates something like this
;; #+begin: clockreport-by-project
;; | | 2021-11-15.org | 2021-11-16.org |
;; |------------+----------------+----------------|
;; | EA | 0.18 | |
;; | internal | 0.83 | |
;; | management | 0.47 | 1.70 |
;; #+end:
(defun org-dblock-write:clockreport-by-project (params)