Skip to content

Instantly share code, notes, and snippets.

Michael Blume MichaelBlume

Block or report user

Report or block MichaelBlume

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
MichaelBlume / wifi.bash
Last active Aug 29, 2015
don't let me leave tethering on when I don't need it
View wifi.bash
#!/usr/bin/env bash
wifis=`/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s`
hwwifis=`echo "$wifis" | grep "Climate\|Volterra"`
tether=`echo "$wifis" | grep "Mike"`
if [ -n "$hwwifis" ] && [ -n "$tether" ]; then
growlnotify -s -m "stop tethering"
View gist:735c8f601210cfa1ecaf
diff --git i/src/clj/clojure/core_deftype.clj w/src/clj/clojure/core_deftype.clj
index 97e14cc..eb98de8 100644
--- i/src/clj/clojure/core_deftype.clj
+++ w/src/clj/clojure/core_deftype.clj
@@ -50,6 +50,18 @@
(drop-while seq? (next s)))
+ (map deref
View gist:4495b77a3084314bb243
Ok, this isn't quite rigorous, but I bet it's right anyway =P
Imagine F is discontinuous at some point, and jumps by like, 1. Well, if you
put x1 and x2 really close together around the point, we'll violate the
constraint, right? So let's make F nice and smooth instead. But let's say
somewhere F has a derivative of 1. Well, if we put x1 and x2, say, 0.01 apart,
then (x2-x1)^2 = 0.0001 but F is gonna change by 0.01, so that's out.
But however small we make the derivative, we can always squeeze the two points
closer together so that the function changes too fast.
Clearly it's just never allowed to change at all. F(x) = C.
View after
[java] FAIL in (seq-and-transducer) (transducers.clj:135)
[java] {:coll [0 0],
[java] :actions (->> coll (take 1)),
[java] :s (0),
[java] :xs (0 0),
[java] :xi [0 0],
[java] :xt [0 0]}
[java] expected: (:result res)
[java] actual: false
View gist:37c0a8e7979b5a034d12
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaq6hozejSIW4QG7eygagW17LgKGM1B3t5+evxF4UZP9L0Ki7kvZ27cEi5fVHIOTqNZRCTpqbjwnRRukI7jGwG1RHE3xF+Th2O5GjduAZydHYS8nYhY4BEfVNL/FUKE/kHcXqQ6ofO3m2s10ZStt5PVEP6f2N6pNwdxYUPz+1xqaYQ5KRoVeM0rRQx/oxoFbSl4aYZhJJ37ZGsXmZDSHe/1UFB7xJu3u06AD7yNSzU7n0XH47AyUFeZ659pFPM2wEaQr2f677mBHr5ZUJ9FCCtKN7fjDWSZIHT8EJCuHuiJHiF9NjGc1W9BW6MxQIo3AUlB+daFncJjuvbMpgZyYFn
View gist:4891dafdd31f0dcbc727
; passes
(let [{:keys [bar foo]
:or {foo 1
bar (inc foo)}} {}]
(assert (= foo 1))
(assert (= bar 2)))
; does not compile
(let [{:keys [foo bar]
:or {foo 1
View gist:aa26fc715cbbdf711290
[java] Compiling clojure.core to /Users/michael.blume/workspace/clojure/target/classes
[java] Exception in thread "main" java.lang.LinkageError: loader constraint violation: loader (instance of clojure/lang/DynamicClassLoader) previously initiated loading for a different type with name "clojure/core/VecNode", compiling:(clojure/gvec.clj:124:1)
[java] at clojure.lang.Compiler.analyzeSeq(
[java] at clojure.lang.Compiler.analyze(
[java] at clojure.lang.Compiler.analyze(
[java] at clojure.lang.Compiler$BodyExpr$Parser.parse(
[java] at clojure.lang.Compiler$FnMethod.parse(
[java] at clojure.lang.Compiler$FnExpr.parse(
[java] at clojure.lang.Compiler.analyzeSeq(
View gist:a8ae240eab8006d9f931
echo "someone should really delete this build"
echo "there's not much point in it without me there to maintain it"
echo "I can't delete it anymore I don't have access"
echo "and it keeps e-mailing me whenever it breaks"
echo "I mean I guess I could alter this gist and make it delete itself but that sounds hard"
exit 0
View gist:ebf2cd75536c612eace9
echo "somebody should really delete this build"
echo "please"
echo "I keep getting messages when it fails and I can't delete it"
echo "I was the one maintaining it and I'm not there anymore, so there's not much point in it"
exit 0
You can’t perform that action at this time.