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
@sleepyfox
sleepyfox / foxs-laws-of-software-development.md
Last active August 2, 2023 16:50
Fox's Laws of Software Development
author: @sleepyfox
title: Fox's laws of software development
date: 27 October 2021
preamble: A not entirely serious treatise on the immutable fundamental laws of software development activities

Fox's laws of software development

A not entirely serious treatise

(defun vulpea-project-p ()
"Return non-nil if current buffer has any todo entry.
TODO entries marked as done are ignored, meaning the this
function returns nil if current buffer contains only completed
tasks."
(seq-find ; (3)
(lambda (type)
(eq type 'todo))
(org-element-map ; (2)
@mwfogleman
mwfogleman / gtd_basb_templates.org
Last active December 14, 2023 19:50
GTD/BASB Templates for Emacs and Org-Mode
@laser
laser / movie.md
Last active November 18, 2020 19:02

Movie Ticket Kata

First, head here to join our Zoom meeting. It will help me following along while you work through the assignment.

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

@slashdotdash
slashdotdash / article.ex
Last active August 15, 2018 12:37
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
@oestrich
oestrich / commands.exs
Last active December 14, 2017 02:38
Command parser with macros
Code.require_file("router.exs")
defmodule Commands.User do
@behaviour Router.PreParser
@impl Router.PreParser
def call(state) do
%{state | assigns: Map.put(state.assigns, :user, %{id: 10})}
end
end

Applied Functional Programming with Scala - Notes

Copyright © 2016-2018 Fantasyland Institute of Learning. All rights reserved.

1. Mastering Functions

A function is a mapping from one set, called a domain, to another set, called the codomain. A function associates every element in the domain with exactly one element in the codomain. In Scala, both domain and codomain are types.

val square : Int => Int = x => x * x

This document has moved!

It's now here, in The Programmer's Compendium. The content is the same as before, but being part of the compendium means that it's actively maintained.

@jonathanpberger
jonathanpberger / gist:313e2126dffa2d13f66d2d049bfbf944
Created June 21, 2016 20:34
An agile designer should be able to...

An agile designer should be able to articulate goals and risks and users, frame hypotheses, estimate stories, prioritize work, draft a product roadmap, derive MVPs, run a standup meeting, participate in Design Crit, onboard a new teammate, talk to stakeholders, whiteboard a userflow, win an argument, lose an argument, cut scope, write copy, facilitate a meeting, ask good questions, Get Out Of The Building, take orders, give orders, cooperate, act alone, analyze a new problem, lead a sketching session, let go of an idea (even when it's yours), parse analytics, design experiments, distinguish a bug from a chore, conduct a usability test, tell hard truths in a retro, accept hard truths in a retro, design for delight, write CSS, debug Javascript, commit to Git, pair program, test-drive a feature story, model a domain, craft a brand identity, design a visual system, earn trust, give trust, fight efficiently, die gallantly. Specialization is for insects.

(With apologies to [Robert Heinlein](http://c2.com/cgi/wik

@xn
xn / lazy_invocation.rb
Last active September 20, 2019 16:22
require 'set'
def figure_it_out(procs, **params)
params_provided = params.keys.to_set
procs = procs.each_with_object({}) {|proc, lookup| lookup[proc.parameters.transpose[1].to_set] = proc}
procs[params_provided][**params]
rescue NoMethodError
raise "Unknown set of params, slacker"
end