For excessively paranoid client authentication.
Updated Apr 5 2019:
because this is a gist from 2011 that people stumble into and maybe you should AES instead of 3DES in the year of our lord 2019.
some other notes:
| -- Power series in Haskell from Doug McIlroy's beautiful "Power | |
| -- Series, Power Serious" functional pearl and his subsequent "Music | |
| -- of Streams" paper. | |
| module Main where | |
| import Ratio (Rational) | |
| infixl 7 .* | |
| default (Integer, Rational, Double) |
As configured in my dotfiles.
start new:
tmux
start new with session name:
| function color_meter(cwith, ccolor) { | |
| if (!cwith && !ccolor) return; | |
| var _cwith = (cwith.charAt(0)=="#") ? cwith.substring(1,7) : cwith; | |
| var _ccolor = (ccolor.charAt(0)=="#") ? ccolor.substring(1,7) : ccolor; | |
| var _r = parseInt(_cwith.substring(0,2), 16); | |
| var _g = parseInt(_cwith.substring(2,4), 16); | |
| var _b = parseInt(_cwith.substring(4,6), 16); |
This article has been given a more permanent home on my blog. Also, since it was first written, the development of the Promises/A+ specification has made the original emphasis on Promises/A seem somewhat outdated.
Promises are a software abstraction that makes working with asynchronous operations much more pleasant. In the most basic definition, your code will move from continuation-passing style:
getTweetsFor("domenic", function (err, results) {
// the rest of your code goes here.| ;SMBDIS.ASM - A COMPREHENSIVE SUPER MARIO BROS. DISASSEMBLY | |
| ;by doppelganger (doppelheathen@gmail.com) | |
| ;This file is provided for your own use as-is. It will require the character rom data | |
| ;and an iNES file header to get it to work. | |
| ;There are so many people I have to thank for this, that taking all the credit for | |
| ;myself would be an unforgivable act of arrogance. Without their help this would | |
| ;probably not be possible. So I thank all the peeps in the nesdev scene whose insight into | |
| ;the 6502 and the NES helped me learn how it works (you guys know who you are, there's no |
| (ns async-test.timeout.core | |
| (:require [cljs.core.async :refer [chan close!]]) | |
| (:require-macros | |
| [cljs.core.async.macros :as m :refer [go]])) | |
| (defn timeout [ms] | |
| (let [c (chan)] | |
| (js/setTimeout (fn [] (close! c)) ms) | |
| c)) | |