Skip to content

Instantly share code, notes, and snippets.

View scsibug's full-sized avatar

Greg Heartsfield scsibug

View GitHub Profile
trait PaymentComponent {
val paymentService: PaymentService
trait PaymentService {def pay(what: String) }
}
trait PaypalPaymentService extends PaymentComponent {
override val paymentService:PaymentService = new PaypalImpl
class PaypalImpl extends PaymentService {
def pay(what: String) = println("Paypal payment for "+what)
}
@joshwand
joshwand / What Killed Waterfall could Kill Agile.textile
Created November 22, 2010 23:50
What Killed Waterfall Could Kill Agile.

ganked from unreadable scribd doc here: http://cleancoder.posterous.com/what-killed-waterfall-could-kill-agile

What Killed Waterfall could Kill Agile.

Robert C. Martin
20 Nov, 2010

In 1970 a software engineer named Dr. Winston W. Royce wrote a seminal paper entitled Managing the Development of Large Software Systems. This paper described the software process that Royce felt was appropriate for large-scale systems. As a designer for the Aerospace industry, he was uniquely qualified.

He began the paper by setting up a straw-man process to knock down. He described this naïve process as “grandiose”. He depicted it with a simple diagram on an early page of his paper. Then the paper methodically tears this “grandiose” process apart. In the end, Royce proposed a far more nuanced and insightful approach, leaving the reader to giggle at the silliness of the “grandiose” model.

import unfiltered.jetty._
import unfiltered.request._
import unfiltered.response._
import unfiltered.filter._
import unfiltered.Cookie
trait AuthService[T]{
def auth(username: String, password: String): Option[T]
}
@webstandardcss
webstandardcss / pedantically_commented_playbook.yml
Last active April 23, 2019 06:03 — forked from phred/pedantically_commented_playbook.yml
Insanely complete Ansible playbook, showing off all the options.
---
# ^^^ YAML documents must begin with the document separator "---"
#
#### Example docblock, I like to put a descriptive comment at the top of my
#### playbooks.
#
# Overview: Playbook to bootstrap a new host for configuration management.
# Applies to: production
# Description:
# Ensures that a host is configured for management with Ansible.