Skip to content

Instantly share code, notes, and snippets.

View jamesward's full-sized avatar

James Ward jamesward

View GitHub Profile
@jamesward
jamesward / kmonad.kts
Last active September 11, 2019 07:22
sealed class Bag<out THING> {
object Empty: Bag<Nothing>()
data class NonEmpty<out THING>(val thing: THING): Bag<THING>()
// Make a Bag with a THUNG in it
companion object {
fun <THUNG> make(thung: THUNG): Bag<THUNG> = NonEmpty(thung)
}
// Do stuff to the THING in the Bag by providing a thingToBagOfThang
@jamesward
jamesward / cnb-sample.yaml
Created March 6, 2019 21:37
CNCF Buildpacks Demo
apiVersion: build.knative.dev/v1alpha1
kind: Build
metadata:
name: hello-springboot-mvn-build
spec:
source:
git:
url: https://github.com/jamesward/hello-springboot-mvn.git
revision: master
template:
IMAGE=gcr.io/multiregion-atamel/where-am-i
wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
chmod +x jq-linux64
sudo mount -o remount,exec /home
CID=$(docker ps | grep $IMAGE | awk '{ print $1 }')
TOKEN=$(curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google" | ./jq-linux64 -r ".access_token")
docker login -u oauth2accesstoken -p "$TOKEN" https://gcr.io
docker pull $IMAGE
  implicit class TryWithForNot[T](t: Try[T]) {
    def fornot[A](f: Throwable => A): Unit = ???
  }

  implicit class SuccessWithForNot[T](success: Success[T]) {
    def fornot[A](f: Throwable => A): Unit = ()
  }

 implicit class FailureWithForNot[T](failure: Failure[T]) {
@jamesward
jamesward / monads-why.md
Last active July 19, 2017 20:45
Monads - Why?

There comes a point in every Functional Programmer's life where they feel the curse of the Monad has lifted and they must now explain Monads to their friends who just don't get it. What follows is probably wrong and confusing, cause there is no escaping the curse. But here goes...

Suppose you have a system property that contains the name of another system property, like:

KEYNAME=FOO

And you want the value of FOO, like:

FOO=BAR
@jamesward
jamesward / einstein-vision-workshop.md
Last active March 2, 2017 18:44
Dreamhouse Einstein Vision Workshop
@jamesward
jamesward / keybase.md
Created July 25, 2014 12:43
keybase.md

Keybase proof

I hereby claim:

  • I am jamesward on github.
  • I am jamesward (https://keybase.io/jamesward) on keybase.
  • I have a public key whose fingerprint is 341C 2AE4 7D5F F3A7 EDFB 5989 E57A 697A 70CF E5F9

To claim this, I am signing this object:

@jamesward
jamesward / Application.java
Created October 6, 2013 00:16
Test Multiple Tabs
package controllers;
import play.*;
import play.mvc.*;
import views.html.*;
public class Application extends Controller {
public static Result index() {
@jamesward
jamesward / preso.md
Last active February 11, 2016 15:21
Modern Web Apps with Play Framework

Modern Web Apps with Play Framework

Create an app:

play new foo
cd foo

Add dependencies to project/Build.scala: