This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'webrick' | |
require 'webrick/httpproxy' | |
require 'fileutils' | |
require 'md5' | |
### | |
# FakeWebRecorder is an HTTP Proxy that records sessions as calls to FakeWeb. | |
# The code that FakeWebRecorder generates should be suitable for testing | |
# interaction with a particular website. | |
# |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'httparty' | |
require 'json' | |
class Campfire | |
include HTTParty | |
base_uri 'https://YOUR_DOMAIN.campfirenow.com' | |
basic_auth 'YOUR_API_KEY', 'X' # yes, that is a literal X string. it's needed to satisfy basic_auth(), but campfire ignores it. | |
headers 'Content-Type' => 'application/json' | |
def self.speak(message) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# getting more power out of Enumerable | |
# this is to convert an RGB data structure, into RGBA | |
RGB_WIDTH = 3 | |
raw_data = [1,1,1,2,2,2,3,3,3,4,4,4] | |
# returns an enumerable object with the raw data split up into chunks of 3 | |
pixels = raw_data.enum_slice( RGB_WIDTH ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; SICP 1.8 | |
;; Fork me. Solve me. | |
(define (cube x) (* x x x)) | |
(define (improve y x) | |
(/ (+ (/ x (* y y)) (* 2 y)) 3)) | |
(define (good-enough? guess x) | |
(< (abs (- (cube guess) x)) 0.001)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; SICP 1.6 | |
;; Fork me. Solve me. | |
;; if is a special form that only evaluates the arguments after the predicate has been evaluated. | |
;; since new-if evaluates it's arguments immediately, the program is sent into an infinite loop | |
;; evaluating sqrt-iter with an improved guess |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; SICP 1.5 | |
;; Given: | |
;; | |
;; (define (p) (p)) | |
;; | |
;; (define (test x y) | |
;; (if (= x 0) | |
;; 0 | |
;; y)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; SICP 1.4 | |
;; Fork me. Solve me. | |
;; ==== | |
(define (a-plus-abs-b a b) | |
((if (> b 0) + -) a b)) | |
(a-plus-abs-b 1 2) | |
;; ((if (> 2 0) + -) 1 2) | |
;; (+ 1 2) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SICP 1.3 | |
Fork me. Solve me. | |
==== | |
(define (square x) (* x x)) | |
(define (sum-of-squares a b) (+ (square a) (square b))) | |
(define (sum-two-largest-squares a b c) | |
(cond ((and (< a b) (< a c)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SICP 1.2 | |
Fork me. Solve me. | |
==== | |
(/ (+ 5 4 (- 2 (- 3 (+ 6 (/ 4 5))))) | |
(* 3 (- 6 2) (- 2 7))) | |
;; => -37/150 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SICP 1.1 | |
Fork me. Solve me. | |
==== | |
;; I wasn't completely clear on the point of this exercise | |
;; so I tried doing them in my head before running them in the repl | |
10 ;; => 10 | |
(+ 5 3 4) ;; => 12 | |
(- 9 1) ;; => 8 |