Skip to content

Instantly share code, notes, and snippets.

Marc O'Morain marcomorain

Block or report user

Report or block marcomorain

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:684e5febf6235fd9b5a95cfc48aaf2a4
Testing circleci.vm-service.vms-test
FAIL in (provision-vm-sets-provision-result) (clojure_test.cljc:30)
Instant start and SSH successful
{:result #error {
:cause Validation failed: writeKey must not be null or empty
[{:type java.lang.IllegalArgumentException
:message Validation failed: writeKey must not be null or empty
:at [io.honeycomb.libhoney.utils.Assert notEmpty 40]}]
View Fastfile.rb
desc 'Renew push certifications and store them on the server'
lane :renew_certificate do
fastlane_require 'spaceship'
config = whitelabel(type: :store, download: false)
# If we are at the limit of push certificates (2), then revoke
# the oldest.
existing_certificates = Spaceship::Portal.certificate.production_push.all
.select {|c| c.owner_name == config.bundle_id }
View anglo.clj
(defn anglo [num]
(apply str
(interpose ","
(partition 3 3 (repeat "")
(reverse (str num))))))))
(anglo "12345678900") => "12,345,678,900"
View future.clj
(defn future-call [f]
;; Before we start the future grab a copy of the current stack
(let [stack (.getStackTrace (Exception.))]
(catch Exception e
;; An exception thrown from a future has a stack that does not
;; include the outer stack trace. We can fix this by appending
;; the stack trace we captured above into the caught exception.
marcomorain /
Last active Oct 17, 2018
Clojure Error Messages

Clojure 1.8

$ clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.8.0"}}}'
Clojure 1.8.0
user=>  (let [2])
IllegalArgumentException let requires an even number of forms in binding vector in user:1  clojure.core/let (core.clj:4333)

Clojure 1.9

$ clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.9.0"}}}'
marcomorain /
Created Feb 8, 2017
A Java Implementation of Clojure's promises
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
public class Promise<T> {
private final CountDownLatch latch = new CountDownLatch(1);
private final AtomicReference<T> value = new AtomicReference<>();
public void deliver(T value) {
View gist:4dbeb0b0301cd22c220ee8f52cd6cbe4
Error 503 No healthy backends
No healthy backends
Guru Mediation:
Details: cache-lhr6324-LHR 1484232928 1781317846
Varnish cache server
marcomorain / whitespace.tsx
Created Oct 11, 2016
Visual Studio Code Whitespace Typescript TSX Bug
View whitespace.tsx
import * as React from 'react'
var restaurantName = 'My Restaurant'
var closedAlert: JSX.Element = (
<h4>{restaurantName} is Closed</h4>
public class Promise<T> {
private final AtomicReference<T> ref = new AtomicReference<T>();
private final CountDownLatch latch = new CountDownLatch(1);
public final void deliver(T object) {
if (this.ref.compareAndSet(null, object)) {
View capture.kt
fun <T> Capture(block: () -> T): T {
try {
return block.invoke()
} catch (e: Exception) {
throw e
Capture {
You can’t perform that action at this time.