Procedure Summary: Details
(def the-notes | |
(cycle [:c :db :d :eb :e :f :gb :g :ab :a :bb :b])) | |
(def key-offset | |
(zipmap (take 12 the-notes) (range))) | |
(defn triads [the-key] | |
(let [offset (key-offset the-key) | |
scale (cycle [0 2 4 5 7 9 11])] | |
(map |
A country that's polarized is paralyzed. If we want any change in the coming years, we need to find a way to work together. However, you can't just unify people by holding hands and singing Kumbaya. No – rather than ignore or "put aside" our differences, let's use our different perspectives & interests & skills to tackle problems from all possible angles! For us to find common ground, we first need to find common goals.
This is the Common Project project.
Below, you'll find a list of projects, people, organizations, books, talks, movies, articles, and ideas that cross partisan lines to solve The Big Problems we face today. There's many such problems. And we'll need help from all sides.
I've been experimenting with extensions to S-Expression notation for a while now, and made some new additions that I'm going to test drive for a while in my experimental Lisp-like language "Bang".
The classic restricted S-Expression notation looks like this:
Short version: I strongly do not recommend using any of these providers. You are, of course, free to use whatever you like. My TL;DR advice: Roll your own and use Algo or Streisand. For messaging & voice, use Signal. For increased anonymity, use Tor for desktop (though recognize that doing so may actually put you at greater risk), and Onion Browser for mobile.
This mini-rant came on the heels of an interesting twitter discussion: https://twitter.com/kennwhite/status/591074055018582016
// db | |
var crypto = require("crypto"), | |
zlib = require("zlib"), | |
fs = require("fs"); | |
var Oddball = function(hash, digest) { | |
this.hash = hash; | |
this.digest = digest; | |
this.data = {}; |