Skip to content

Instantly share code, notes, and snippets.

View delitescere's full-sized avatar

Josh Graham delitescere

View GitHub Profile
@delitescere
delitescere / project.clj
Last active June 23, 2017 01:26
Mostly Java-based lein project with JUnit and Log4J2 (main.clj is still entry point)
(defproject com.example/foo "0.1.0"
:description "Does fooness"
:url "http://example.com/"
:license {:name "Copyright ©2014 Josh Graham"}
:aliases {"dist" ["do" ["clean"] ["test"] ["uberjar"]] ;$ lein dist # create distribution JAR
"debug" ["with-profile" "dev,debug" "run"]} ;$ lein debug # run for a 'remote' debugger
:aot :all
:auto-clean false ;"dist" alias does the full cycle
:clean-targets ^{:protect false} [:target-path :junit-results-dir]
:dependencies [
@delitescere
delitescere / gist:3d9dc010d0894afba759
Created September 12, 2014 22:46
Monad For Nothing
For @ctford, 16-Sep-2013
@juliansgamble:
You get your algorithms for nothing and your theorems for free
I want my
I want my
I want my AST
@delitescere:
Now look at that IO
@delitescere
delitescere / gist:898624cba15b0e2e1644
Last active August 29, 2015 14:06
As My Compiler Gently Weeps
Written for my buddy Charles Miller, 28-Aug-2013:
I look at you all see the tests there that're failing
While my compiler gently weeps
I look at the heap and I see it needs mark/sweeping
Still my compiler gently weeps
I don't know why nobody told you
How to unfold your data
I don't know how someone controlled you

Keybase proof

I hereby claim:

  • I am delitescere on github.
  • I am delitescere (https://keybase.io/delitescere) on keybase.
  • I have a public key whose fingerprint is 8D3B A04F B589 A408 6F54 CF24 29CA E20F 8F35 51C6

To claim this, I am signing this object:

lazy val defaultBrowserVersion = Play.configuration.getString("snapshot.browserVersion")
.map(extractVersion _)
.getOrElse(BrowserVersion.FIREFOX_3_6) // Firefox 3.6 makes a good default because it works on all OSes
// Do you really need to throw an exception? Why not log it as an error, and return None so you end up with the default above?
def extractVersion(browserString: String): Option[BrowserVersion] = {
allCatch opt {
Some(classOf[BrowserVersion].getField(browserString).get(null).asInstanceOf[BrowserVersion])
}
aMap.get("a key that might not exist")
.map(expressionUsingTheValue(_))
.getOrElse(anotherExpression)
@delitescere
delitescere / gist:2155822
Created March 22, 2012 04:13
How to get the HTTP Request to the authenticate method?
tuple(...
).verifying("Invalid username or password", _ match {
case (Some(u), Some(p), _) => authenticate(u, p)
...
})