Skip to content

Instantly share code, notes, and snippets.

Avatar

Michael Blume MichaelBlume

View GitHub Profile
View tumblr android crash
01-10 16:12:36.311 15315 15315 D AndroidRuntime: Shutting down VM
01-10 16:12:36.320 15315 15315 D HockeyApp: Writing unhandled exception to: /data/user/0/com.tumblr/files/202aa2c9-7325-4ec6-a2f1-45f96266dd92.stacktrace
01-10 16:12:36.332 15315 15315 W System.err: java.lang.AbstractMethodError: abstract method "int android.text.ParcelableSpan.getSpanTypeIdInternal()"
01-10 16:12:36.332 15315 15315 W System.err: at android.text.TextUtils.writeToParcel(TextUtils.java:653)
01-10 16:12:36.332 15315 15315 W System.err: at android.os.Parcel.writeCharSequence(Parcel.java:572)
01-10 16:12:36.332 15315 15315 W System.err: at android.view.accessibility.AccessibilityNodeInfo.writeToParcel(AccessibilityNodeInfo.java:2701)
01-10 16:12:36.332 15315 15315 W System.err: at android.os.Parcel.writeTypedList(Parcel.java:1148)
01-10 16:12:36.332 15315 15315 W System.err: at android.view.accessibility.IAccessibilityInteractionConnectionCallback$Stub$Proxy.setFindAccessibilityNodeInfosResult(IAccessibilityInteractionConnectio
@MichaelBlume
MichaelBlume / Chat.hs
Last active Jan 3, 2016
Transforms gchat logs into tumblr chat posts
View Chat.hs
#!/usr/bin/env runhaskell
module Main (main) where
-- When you copy a conversation out of your google chat logs, it looks like
-- this
--
-- Alice
-- hi
-- how are you
-- Bob Smith
@MichaelBlume
MichaelBlume / gist:6968441
Last active Dec 25, 2015
obj: reify for python
View gist:6968441
# Writing some unit tests in Python, I found myself homesick for Clojure's `reify`.
from functools import partial
class Blank(object): pass
def obj(*fs):
o = Blank()
for f in fs:
setattr(o, f.func_name, partial(f, o))
@MichaelBlume
MichaelBlume / babel.hs
Last active Dec 18, 2015
prints the library of babel
View babel.hs
import Control.Monad
chars :: [Char]
chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ,.'\"-;:?!()"
incrementS :: [[Char]] -> [[Char]]
incrementS [] = [chars]
incrementS ([_] : r) = chars : (incrementS r)
incrementS ((c:cs) : r) = cs : r
View split-with.clj
(defn my-split-with [pred coll]
(let [p (promise)
passes ((fn step [c]
(lazy-seq
(if-let [[x & xs] (seq c)]
(if (pred x)
(cons x (step xs))
(do (deliver p c) nil))
(do (deliver p nil) nil))))
coll)]
View rebase-error
Initialized empty Git repository in /Users/michael.blume/workspace/git/t/trash directory.t3400-rebase/.git/
expecting success:
git config core.logAllRefUpdates true &&
echo First >A &&
git update-index --add A &&
git commit -m "Add A." &&
git checkout -b force-3way &&
echo Dummy >Y &&
git update-index --add Y &&
git commit -m "Add Y." &&
View returning.clj
(ns honeysql.extensions.returning
(:require
[honeysql.format :as f]
[honeysql.helpers :as h]))
(defmethod f/format-clause :returning [[_ fields] _]
(str "RETURNING " (f/comma-join (map f/to-sql fields))))
(f/register-clause! :returning 225)
@MichaelBlume
MichaelBlume / check_writing.py
Created Oct 27, 2012
Beeminder writing check
View check_writing.py
#!/usr/bin/env python
import envoy
import requests
import time
r = envoy.run("find /Users/mike/Dropbox/writing | grep -v DS_Store | xargs wc -c")
count = r.std_out.split()[-2]
kb_written = int(count) // 1024
url = "https://www.beeminder.com/api/v1/users/mblume/goals/writing/datapoints.json"
@MichaelBlume
MichaelBlume / escroll.hs
Created Oct 26, 2012
Cute script for drawing attention to errors in scrolling log output
View escroll.hs
#!/usr/bin/env runhaskell
import Data.List
import Control.Concurrent
import System.IO
takeBlock :: [String] -> (String, [String])
takeBlock (firstLine:moreLines) = (block, restLines) where
block = intercalate "\n" (firstLine:indLines)
(indLines, restLines) = span (isPrefixOf " ") moreLines
@MichaelBlume
MichaelBlume / gist:3921530
Created Oct 20, 2012
Transformations on JSON schemas. Also strictness.
View gist:3921530
def rec_schema_transform(transform):
def recur(schema):
if not isinstance(schema, dict):
return
transform(schema)
for k, v in schema.items():
if k in ("properties", "patternProperties", "dependencies"):
for _, subschema in v.items():
recur(subschema)
elif k in ("additionalProperties", "additionalItems") and v:
You can’t perform that action at this time.