#lang racket
;; For http://adventofcode.com/day/2

(define (calculate-sqft lst)
  (define areas (map (curry apply *) (combinations lst 2)))
  (foldl + 0 (cons (argmin identity areas)
                   (map (curry * 2) areas))))

(define (read-dimmensions input-port)
  (define line (read-line input-port))
  (if (eof-object? line)
      line
      (map string->number (string-split line "x"))))

(displayln (foldl + 0 (map calculate-sqft (port->list read-dimmensions))))

Add part 2 of day 2 & cleanup

#lang racket
;; For http://adventofcode.com/day/2

(define (calculate-wrapping-paper lst)
  (define areas (map (curry apply *) (combinations lst 2)))
  (apply + (cons (argmin identity areas)
                 (map (curry * 2) areas))))

(define (calculate-ribbon lst)
  (define largest (apply max lst))
  (apply + (cons (apply * lst)
                 (map (curry * 2) (remove (apply max lst) lst)))))

(define (read-dimmensions input-port)
  (define line (read-line input-port))
  (if (eof-object? line)
      line
      (map string->number (string-split line "x"))))

(module+ main
  (define boxes (port->list read-dimmensions))
  (displayln (format "Santa's elves need ~a square feet of wrapping paper."
                     (for/sum ([b boxes]) (calculate-wrapping-paper b))))
  (displayln (format "Santa's elves need ~a feet of ribbon."
                     (for/sum ([b boxes]) (calculate-ribbon b)))))


#lang typed-scheme

(require string-constants/string-constant)

(string-constant cancel)

(this-language)

Adjust test for API coverage

#lang typed/racket

(require string-constants/string-constant)

(string-constant cancel)
(string-constants cancel)

(this-language)
(all-languages)


#lang scheme/base

(require scheme/runtime-path)
(define-runtime-path run "run.rkt")
(if (eq? 'cgc (system-type 'gc))
  (printf "Running under CGC => skipping tests\n")
  (parameterize ([current-command-line-arguments '#("--nightly")])
    (dynamic-require run #f)))

Switch to racket/base to fix bizarre bug.

#lang racket/base

(require racket/runtime-path)
(define-runtime-path run "run.rkt")
(parameterize ([current-command-line-arguments '#("--nightly")])
  (dynamic-require run #f))


#lang info

(define collection 'multi)
(define deps '("typed-racket"))
(define build-deps '("base"
                     "compatibility-lib"
                     "rackunit-lib"
                     "compiler-lib"
                     "redex-lib"
                     "sandbox-lib"
                     "unstable-flonum-lib"
                     "unstable"))

Improve deps for Typed Racket tests.

#lang info

(define collection 'multi)
(define deps '("typed-racket" "typed-racket-more" "unstable"))
(define build-deps '("base"
                     "compatibility-lib"
                     "rackunit-lib"
                     "compiler-lib"
                     "redex-lib"
                     "sandbox-lib"
                     "unstable-flonum-lib"
                     "unstable"))


#lang racket

(require request/check
         "config.rkt")

(define auth-requester
  (make-domain-requester auth-service-domain
                         http-requester/exn))

(module+ test
  (with-requester auth-requester
    (check-get-not-exn "/")))

Check response value in test

#lang racket

(require request/check
         "config.rkt")

(define auth-requester
  (make-domain-requester auth-service-domain
                         http-requester/exn))

(module+ test
  (with-requester auth-requester
    (check-get "/" "Hello!")))


#lang racket

(require casio/common)

(struct oprtr (symbol n-args))

(define *constants* `(1 0 pi ,(exp 1) -1))
(define *operators* (list (oprtr '+ 2) (oprtr '- 2) (oprtr '- 1)
			  (oprtr '* 2) (oprtr '/ 2) (oprtr '/ 1)
			  (oprtr 'sqr 1) (oprtr 'sqrt 1) (oprtr 'exp 1)
			  (oprtr 'log 1) (oprtr 'sin 1) (oprtr 'cos 1)
			  (oprtr 'tan 1) (oprtr 'cotan 1)))

(define (gen-expr n vars)
  (if (= n 0)
      (append vars *constants*)
      (apply append
	     (for/list ([op *operators*])
	       (map (curry cons (oprtr-symbol op))
		    (apply list-product
			   (make-list (oprtr-n-args op)
				      (gen-expr (sub1 n) vars))))))))

Reduce Number Of Expressions Generated

#lang racket

(require casio/common)
(require casio/simplify)

(struct oprtr (symbol n-args))

(define *constants* `(1 0))
(define *operators* (list (oprtr '+ 2) (oprtr '- 2) (oprtr '- 1)
			  (oprtr '* 2) (oprtr '/ 2) (oprtr '/ 1)
			  (oprtr 'sqr 1) (oprtr 'sqrt 1) (oprtr 'exp 1)
			  (oprtr 'log 1) (oprtr 'sin 1) (oprtr 'cos 1)
			  (oprtr 'tan 1) (oprtr 'cotan 1)))

(define (gen-expr n vars)
  (if (= n 0)
      (append vars *constants*)
      (remove-duplicates (map simplify-expression*
			      (apply append
				     (for/list ([op *operators*])
				       (map (curry cons (oprtr-symbol op))
					    (apply list-product
						   (make-list (oprtr-n-args op)
							      (gen-expr (sub1 n) vars))))))))))


#lang racket

(require db
         (planet dmac/spin)
         web-server/servlet
         json)

(define db
  (mysql-connect #:server "localhost"
                 #:port 3306
                 #:database "mealthyme"
                 #:user "mealthyme"))

(get "/food"
     (lambda ()
       (jsexpr->string (query-list db "select food_name from foods;"))))

(define (json-response-maker status headers body)
  (response status
            (status->message status)
            (current-seconds)
            #"application/json; charset=utf-8"
            headers
            (let ([jsexpr-body (string->jsexpr body)])
              (lambda (op) (write-json (force jsexpr-body) op)))))

(run #:response-maker json-response-maker)

(disconnect db)

Add posting and some more requests n stuff

#lang racket

(require db
         (planet dmac/spin)
         web-server/servlet
         json)

(define db
  (mysql-connect #:server "localhost"
                 #:port 3306
                 #:database "mealthyme"
                 #:user "mealthyme"))

(get "/food"
     (lambda (req)
       (jsexpr->string (query-list db "call get_all_food()"))))

(post "/food"
      (lambda (req)
        (query-exec db "insert into foods (food_name) values (?)" (params req 'food_name))
        "Posted"))

(get "/food/:id"
     (lambda (req)
       (jsexpr->string (query-value
                        db
                        "select food_name from foods where food_id = ?"
                        (params req 'id)))))

(define (json-response-maker status headers body)
  (response status
            (status->message status)
            (current-seconds)
            #"application/json; charset=utf-8"
            headers
            (let ([jsexpr-body (string->jsexpr body)])
              (lambda (op) (write-json (force jsexpr-body) op)))))

(run #:response-maker json-response-maker)

(disconnect db)


#lang racket

(require gapi/macro)
(require-gapi-doc "urlshortener.v1.js")

(define orig-url "http://www.racket-lang.org/")
(define js-insert (urlshortener-url-insert #:longUrl orig-url))
(define short-url (dict-ref js-insert 'id))
(define js-get (urlshortener-url-get #:short-url short-url))
(define long-url (dict-ref js-get 'longUrl))
(printf "~s was shortened to ~s, which expanded back to ~s: ~a"
        orig-url short-url long-url
        (if (equal? orig-url long-url) "Yay!" "Boo!"))

Fix keyword arg in example.

#lang racket

(require gapi/macro)
(require-gapi-doc "urlshortener.v1.js")

(define orig-url "http://www.racket-lang.org/")
(define js-insert (urlshortener-url-insert #:longUrl orig-url))
(define short-url (dict-ref js-insert 'id))
(define js-get (urlshortener-url-get #:shortUrl short-url))
(define long-url (dict-ref js-get 'longUrl))
(printf "~s was shortened to ~s, which expanded back to ~s: ~a"
        orig-url short-url long-url
        (if (equal? orig-url long-url) "Yay!" "Boo!"))


#;
(exn-pred 1 ".*once in a form.*")
#lang typed/scheme

(: foo : (Integer -> Integer -> Integer))
(define foo 1)

Fix error spec for this test.

#;
(exn-pred #rx".*once in a form.*")
#lang typed/scheme

(: foo : (Integer -> Integer -> Integer))
(define foo 1)


#lang racket/base
(provide assert defined?)

(define-syntax assert
  (syntax-rules ()
    ((assert v)
     (or v (error (format "Assertion failed on ~v" v))))
    ((assert v pred)
     (let ((val v))
       (if ((#%expression pred) val)
           val
           (error (format "Assertion ~a failed on ~v" pred val)))))))

(define (defined? v)
  (not (equal? v (letrec ([x x]) x))))

Fix unary assert duplicating computation.

#lang racket/base
(provide assert defined?)

(define-syntax assert
  (syntax-rules ()
    ((assert v)
     (let ([val v])
       (or val (error (format "Assertion failed on ~v" val)))))
    ((assert v pred)
     (let ((val v))
       (if ((#%expression pred) val)
           val
           (error (format "Assertion ~a failed on ~v" pred val)))))))

(define (defined? v)
  (not (equal? v (letrec ([x x]) x))))


#lang racket/base
(require racket/string setup/dirs setup/link)

(define (add-directory-collections c s)
  (if (directory-exists? c)
      (for/fold ([s s]) ([p (in-list (directory-list c))]
                         #:when (directory-exists? (build-path c p))
                         #:when (regexp-match? #rx#"^[a-zA-Z_%+-]*$" p))
        (hash-set s (path-element->string p) #t))
      s))

(define (links* m root?)
  (case m
    [(user) (links #:user? #t #:root? root?)]
    [(shared) (links #:shared? #t #:root? root?)]
    [else (links #:file m #:root? root?)]))

(define (get-all-top-level-collections)
  (define link-modes (list* 'user 'shared (get-links-search-files)))

  (let* ([s (hash)]
         [s (for/fold ([s s]) ([c (in-list
                                   (current-library-collection-paths))])
              (add-directory-collections c s))]
         [s (for*/fold ([s s]) ([m (in-list link-modes)]
                                [l (in-list (links* m #f))])
              (hash-set s l #t))]
         [s (for*/fold ([s s]) ([m (in-list link-modes)]
                                [c (in-list (links* m #t))])
              (add-directory-collections c s))])
    (hash-keys s)))

(for-each displayln (get-all-top-level-collections))

Update bash completion helper for new package scopes.

#lang racket/base
(require racket/string setup/dirs setup/link)

(define (add-directory-collections c s)
  (if (directory-exists? c)
      (for/fold ([s s]) ([p (in-list (directory-list c))]
                         #:when (directory-exists? (build-path c p))
                         #:when (regexp-match? #rx#"^[a-zA-Z_%+-]*$" p))
        (hash-set s (path-element->string p) #t))
      s))

(define (links* m root?)
  (case m
    [(user) (links #:user? #t #:root? root?)]
    [else (links #:file m #:root? root?)]))

(define (get-all-top-level-collections)
  (define link-modes (list* 'user (get-links-search-files)))

  (let* ([s (hash)]
         [s (for/fold ([s s]) ([c (in-list
                                   (current-library-collection-paths))])
              (add-directory-collections c s))]
         [s (for*/fold ([s s]) ([m (in-list link-modes)]
                                [l (in-list (links* m #f))])
              (hash-set s l #t))]
         [s (for*/fold ([s s]) ([m (in-list link-modes)]
                                [c (in-list (links* m #t))])
              (add-directory-collections c s))])
    (hash-keys s)))

(for-each displayln (get-all-top-level-collections))


#lang racket/base
(require rackunit/docs-complete)
(define exclude
  '(;; these are currently undocumented in `racket' as well
    define-place
    deserialize-info:set-v0
    make-primitive-class
    place-sleep
    procedure-closure-contents-eq?
    processor-count
    ;; the following are contracted proxy values that are
    ;; already documented in `racket'
    default-continuation-prompt-tag))
(check-docs (quote typed-scheme) #:skip exclude)
(check-docs (quote typed/scheme) #:skip exclude)
(check-docs (quote typed/scheme/base) #:skip exclude)
(check-docs (quote typed/racket) #:skip exclude)
(check-docs (quote typed/racket/base) #:skip exclude)

Revert "Ignore contracted proxies from `racket`"

#lang racket/base
(require rackunit/docs-complete)
;; these are currently undocumented in `racket' as well
(define exclude '(define-place
                  deserialize-info:set-v0
                  make-primitive-class
                  place-sleep
                  procedure-closure-contents-eq?
                  processor-count))
(check-docs (quote typed-scheme) #:skip exclude)
(check-docs (quote typed/scheme) #:skip exclude)
(check-docs (quote typed/scheme/base) #:skip exclude)
(check-docs (quote typed/racket) #:skip exclude)
(check-docs (quote typed/racket/base) #:skip exclude)


#;
(
float-real.rkt 13:1 + -- binary float
float-real.rkt 14:1 + -- binary float
5.3
8.7
14.26
 )

#lang typed/racket

;; reals within float expressions should be coerced when it's safe to do so
(+ 2.3 (ann 3 Real)) ; safe
(+ 2.3 (* (ann 2 Integer) 3.2)) ; inner = unsafe, outer = safe
(* 2.3 (* (ann 2 Integer) 3.1)) ; all unsafe

Fix optimizer expected log format.

#;
(
float-real.rkt line 13 col 1 - + - binary float
float-real.rkt line 14 col 1 - + - binary float
5.3
8.7
14.26
 )

#lang typed/racket

;; reals within float expressions should be coerced when it's safe to do so
(+ 2.3 (ann 3 Real)) ; safe
(+ 2.3 (* (ann 2 Integer) 3.2)) ; inner = unsafe, outer = safe
(* 2.3 (* (ann 2 Integer) 3.1)) ; all unsafe


#lang info

(define collection 'multi)

(define deps '("srfi-lite-lib"
               "base"
               "pconvert-lib"
               "unstable-contract-lib"
               "unstable-list-lib"
               "source-syntax"
               "compatibility-lib" ;; to assign types
               "string-constants-lib"))

(define pkg-desc "implementation (no documentation) part of \"typed-racket\"")

(define pkg-authors '(samth stamourv))

(define version "1.1")

Add implies from typed-racket-lib to unstable-contract-lib.

#lang info

(define collection 'multi)

(define deps '("srfi-lite-lib"
               "base"
               "pconvert-lib"
               "unstable-contract-lib"
               "unstable-list-lib"
               "source-syntax"
               "compatibility-lib" ;; to assign types
               "string-constants-lib"))

;; This is needed since the expansion of TR
;; can insert `(require unstable/contract)` into
;; the expanded code.
(define implies '("unstable-contract-lib"))

(define pkg-desc "implementation (no documentation) part of \"typed-racket\"")

(define pkg-authors '(samth stamourv))

(define version "1.1")


#lang scribble/manual

@begin[(require "../utils.rkt")
       (require (for-label (only-meta-in 0 [except-in typed/racket for])))]

@title{Compatibility Languages}

@(defmodulelang*/no-declare (typed/scheme typed/scheme/base typed-scheme))
Typed versions of the @racketmod[scheme] and @racketmod[scheme/base]
languages. The @racketmod[typed-scheme] language is equivalent to the
@racketmod[typed/scheme/base] language.

@(declare-exporting typed/scheme/base typed/scheme typed-scheme
                    #:use-sources
                    (typed-scheme/typed-scheme
                     typed-scheme/base-env/prims
                     typed-scheme/base-env/extra-procs
                     typed-scheme/base-env/base-types
                     typed-scheme/base-env/base-types-extra))

Document `typed/scheme' versions of `require/typed' and `require-typed-struct'.

#lang scribble/manual

@begin[(require "../utils.rkt")
       (require (for-label (only-meta-in 0 [except-in typed/scheme for])))]

@title{Compatibility Languages}

@(defmodulelang*/no-declare (typed/scheme typed/scheme/base typed-scheme))
Typed versions of the @racketmod[scheme] and @racketmod[scheme/base]
languages. The @racketmod[typed-scheme] language is equivalent to the
@racketmod[typed/scheme/base] language.

@(declare-exporting typed/scheme/base typed/scheme typed-scheme
                    #:use-sources
                    (typed-scheme/typed-scheme
                     typed-scheme/base-env/prims
                     typed-scheme/base-env/extra-procs
                     typed-scheme/base-env/base-types
                     typed-scheme/base-env/base-types-extra))

@(define-syntax-rule (def-racket rts rt arr)
  (begin
    (require (for-label (only-in typed/racket/base require-typed-struct require/typed ->)))
    (define arr (racket ->))
    (define rts (racket require-typed-struct))
    (define rt (racket require/typed))))
@(def-racket rts-id rt-id ->-id)

@defform/subs[#:literals (struct opaque)
(require/typed m rt-clause ...)
([rt-clause [r t]
            [struct name ([f : t] ...)
                 struct-option ...]
            [struct (name parent) ([f : t] ...)
                 struct-option ...]
            [opaque t pred]]
 [struct-option
   (code:line #:constructor-name constructor-id)
   (code:line #:extra-constructor-name constructor-id)])]{
 Similar to @|rt-id|, but as if @racket[#:extra-constructor-name make-name] was supplied.
}

@defidform[require-typed-struct]{Similar to using the @racket[struct]
keyword with @racket[require/typed].}


#lang info

(define collection 'multi)
(define deps '("typed-racket" "typed-racket-more" "unstable"))
(define build-deps '("scheme-lib"
                     "base"
                     "compatibility-lib"
                     "rackunit-lib"
                     "compiler-lib"
                     "redex-lib"
                     "htdp-lib"
                     "sandbox-lib"
                     "unstable-flonum-lib"
                     "unstable"))

(define pkg-desc "tests for \"typed-racket\"")

(define pkg-authors '(samth stamourv))

Add benchmarks to TR test dependencies.

#lang info

(define collection 'multi)
(define deps '("typed-racket" "typed-racket-more" "unstable"))
(define build-deps '("scheme-lib"
                     "base"
                     "racket-benchmarks"
                     "compatibility-lib"
                     "rackunit-lib"
                     "compiler-lib"
                     "redex-lib"
                     "htdp-lib"
                     "sandbox-lib"
                     "unstable-flonum-lib"
                     "unstable"))

(define pkg-desc "tests for \"typed-racket\"")

(define pkg-authors '(samth stamourv))


#lang reader "website.rkt"

@(require "logo/logo.rkt")

@page[#:title "Main"]{
 @div[class: "jumbotron"]{
  @div[class: "container"]{
   @div[class: "splash"]{
    @center{@img[src: big-logo alt: "Video" height: 200 width: 533]}
    @center{@h1{Video}}
    @h2{A Language for Making Movies}
    @p{@b{Video} is a language for making movies. It combines
     the power of a traditional video editor with the
     capabilities of a full programming language. Video
     integrates with the Racket ecosystem and extensions for
     DrRacket to transform it into a non-linear video editor.}
    @center{
     @a[class: "btn-oval btn btn-default btn-lg"
        href: "download.html"
        role: "button"]{
      Get Started}}
    @br{}
    @center{
     @a[class: "btn-snd-oval btn btn-default btn-lg"
        href: "https://github.com/videolang/video"
        role: "button"]{
     View us on Github}}
    @center{
     @a[class: "btn-snd-oval btn btn-default btn-lg"
        href: "https://twitter.com/videolang"
        role: "button"]{
      Follow us on Twitter}}}}}}

Change github link to swag one.

#lang reader "website.rkt"

@(require "logo/logo.rkt")

@page[#:title "Main"]{
 @div[class: "jumbotron"]{
  @div[class: "container"]{
   @div[class: "splash"]{
    @center{@img[src: big-logo alt: "Video" height: 200 width: 533]}
    @center{@h1{Video}}
    @h2{A Language for Making Movies}
    @p{@b{Video} is a language for making movies. It combines
     the power of a traditional video editor with the
     capabilities of a full programming language. Video
     integrates with the Racket ecosystem and extensions for
     DrRacket to transform it into a non-linear video editor.}
    @center{
     @a[class: "btn-oval btn btn-default btn-lg"
        href: "download.html"
        role: "button"]{
      Get Started}}
    @br{}
    @center{
     @a[class: "btn-snd-oval btn btn-default btn-lg"
        href: "https://twitter.com/videolang"
        role: "button"]{
     @center{
     @a[class: "btn-snd-oval btn btn-default btn-lg"
        href: "https://www.redbubble.com/people/leifandersen/works/30461319-video-lang-swag"
        role: "button"]{
        Get Video Swag}}
     Follow us on Twitter}}}}}}


#lang info

(define collection 'multi)

(define deps '("scheme-lib"
               "base"
               "data-lib"
               "tex-table"
               "profile-lib"
               "unstable-2d"))
(define build-deps '("rackunit-lib"))

(define pkg-desc "implementation (no documentation) part of \"redex\"")

(define pkg-authors '(robby bfetscher))

Add redex dependency on typed racket

#lang info

(define collection 'multi)

(define deps '("scheme-lib"
               "base"
               "data-lib"
               "tex-table"
               "profile-lib"
               "typed-racket-lib"
               "unstable-2d"))
(define build-deps '("rackunit-lib"))

(define pkg-desc "implementation (no documentation) part of \"redex\"")

(define pkg-authors '(robby bfetscher))


Add test of behavior like the "module" language in DrRacket.

#lang racket/load

(module m typed/racket (define x 1))

(require 'm)

(current-namespace (module->namespace ''m))

(eval 'x)
(eval 5)


Add a test case for struct-based match expanders.

#lang racket/load

(module A typed/racket
  (provide (all-defined-out))
  (struct: one ([thing : Any]))
  (define-match-expander uno
    (syntax-rules ()
      [(_ x) (one x)]))
  (match (one 2)
    [(uno dos) dos]))

(require 'A)

(module B typed/racket
  (require 'A)
  (match (one 2)
    [(uno dos) dos]))

(require 'B)


Test for appropriate predicates for invariant structs.

#lang typed/racket

(struct: (A) x ([f : (A -> A)]))
(struct: (B) y ([f : (x B)]))

(: f : (U Integer (y Integer)) -> Integer)
(define (f v)
  (if (y? v)
      ((x-f (y-f v)) 0)
      v))

(f 17)

(f (y (x (lambda: ([n : Integer]) (+ 2 n)))))


(module pr10470 typed-scheme

  (define-type-alias (Memo alpha) (U (Option alpha) (-> (Option alpha))))

  (define-struct: table ([val : (Memo Number)]) #:mutable)

  (: f (table -> (Option Number)))
  (define (f tab)
    (let ([proc-or-num (table-val tab)])
      (cond
        [(procedure? proc-or-num)
         (let ([result (proc-or-num)])
           (set-table-val! tab result)
           result)]
        [else proc-or-num]))))


#lang typed/racket/base

(require racket/match racket/list)

(provide check-type-declarations)

(define-type type-declaration #t)
(define-type type-environment #t)

(define-type dag (HashTable Symbol (U Symbol #f)))

(: check-type-declarations ((Listof type-declaration) type-environment -> Void))
(define (check-type-declarations types env)
  (: compute-reference-dag ((Listof type-declaration) dag -> dag))
  (define (compute-reference-dag types dag)
      (compute-reference-dag types dag))

  (: cycle-exists? (Symbol dag -> Boolean))
  (define (cycle-exists? symbol a-dag)
      (cycle-exists? symbol a-dag))

  (: reference-dag dag)
  (: cycle Boolean)
  (define reference-dag (compute-reference-dag types (make-immutable-hash empty)))
  (define cycle (cycle-exists? 'name reference-dag))
  (void))


#lang racket
(require casio/alternative)
(require casio/programs)
(require casio/rules)

(provide (all-defined-out))

(define (combine-alts alt0 alt1 dividor division-var)
  (let* ([split-initial-prog `(lambda ,(program-variables (alt-program alt0))
			       (if (< ,division-var ,dividor)
				   (program-body (alt-initial alt0))
				   (program-body (alt-initial alt1))))]
	 [split-initial-alt (make-alt split-initial-prog)])
    (build-alt split-initial-alt
	       (append (map (lambda (chng)
			      (change (change-rule chng)
				      (append '(cdr cdr car cdr cdr car) (change-location chng))
				      (change-bindings chng)))
			    (alt-changes alt0))
		       (map (lambda (chng)
			      (change (change-rule chng)
				      (append '(cdr cdr car cdr cdr cdr car) (change-location chng))
				      (change-bindings chng)))
			    (alt-changes alt1))))))

(define (build-alt initial changes)
  (if (null? changes)
      initial
      (build-alt (alt-apply initial (car changes)) (cdr changes))))

(define (alt-initial altn)
  (if (alt-prev altn)
      (alt-initial (alt-prev altn))
      altn))

(define (alt-changes altn)
  (let loop ([cur-alt altn] [acc '()])
    (if (alt-prev cur-alt)
	(loop (alt-prev cur-alt) (cons (alt-change cur-alt) acc))
	acc)))


#;
(exn-pred "Undefined")
#lang scheme/load

(module A scheme

  (define (f x) (add1 x))

  (provide f))

(module B typed/scheme

  (require/typed 'A [f (Integer -> Integer)])

  (let ()

    (: x Integer)
    (define x (f x))

    (void)))

(require 'B)


Add test that runs TR unit tests with contracts on.

#lang racket

(void (putenv "PLT_TR_CONTRACTS" "1"))

(define ns (make-base-namespace))
(current-namespace ns)
(use-compiled-file-paths null)

((dynamic-require 'tests/typed-racket/main 'go/text)
 (dynamic-require 'tests/typed-racket/main 'unit-tests))


#;#;
#<<END
TR info: pr14380.rkt 11:15 foo -- struct constructor
END
#<<END
#<procedure:unbox>
#<procedure:magnitude>
#<procedure:list-ref>
#<procedure:+>
#<procedure:car>
#<procedure:string-length>
#<procedure:foo-x>

END
#lang typed/racket
#reader tests/typed-racket/optimizer/reset-port

;; Test for PR14380. None of these should get optimized.

(begin0 unbox (box 3))
(begin0 magnitude 3.0+5.0i)
(begin0 list-ref '(a b c) 0)
(begin0 + 3)
(begin0 car '(a b))
(begin0 string-length "foo")
(struct foo ([x : String]))
(begin0 foo-x (foo "foo"))


#lang Scheme

(define (sum_even_fibs prev curr next)
  (if (<= curr 4000000)
             (+
              (if (= (remainder curr 2) 0) curr 0)
              (sum_even_fibs curr next (+ curr next))
              )
         0)
  )

(sum_even_fibs 0 1 1)


Move syntax-source-* tests from unstable-test.

#lang racket/base

(require rackunit rackunit/text-ui
         mzlib/etc
         syntax/location)

(define here
  (datum->syntax
   #f 'here
   (list (build-path (this-expression-source-directory)
                     (this-expression-file-name))
         1 1 1 1)))

(run-tests
 (test-suite "Syntax Source Locations"
   (test-suite "syntax-source-file-name"
     (test-case "here"
       (check-equal? (syntax-source-file-name here)
                     (this-expression-file-name)))
     (test-case "fail"
       (check-equal? (syntax-source-file-name (datum->syntax #f 'fail))
                     #f)))

   (test-suite "syntax-source-directory"
     (test-case "here"
       (check-equal? (syntax-source-directory here)
                     (this-expression-source-directory)))
     (test-case "fail"
       (check-equal? (syntax-source-directory (datum->syntax #f 'fail))
                     #f)))))


Add a test for generating GUI contracts for TR

#lang racket/base

;; Make sure contracts for GUI types can be generated in a
;; reasonable amount of time and space.

(require racket/sandbox)

(call-with-limits
 120
 500
 (λ () (eval '(begin (module a typed/racket
                       (require typed/racket/gui)
                       (define x (make-object bitmap% 100 100))
                       (provide x))
                     (require 'a)
                     x)
             (make-base-namespace))))


Add typed interface for the futures visualizer.

#lang typed/racket/base

(require/typed future-visualizer [visualize-futures-thunk (All (A) ((-> A) -> A))])

(define-syntax-rule (visualize-futures e ...)
  (visualize-futures-thunk (lambda () e ...)))

(provide visualize-futures-thunk visualize-futures)


#lang racket/load

(displayln "The printouts below are designed to trick drdr into graphing them;")
(displayln "they aren't times, but memory usage.")

(define (print-memory)
  (for ((i 10))
    (collect-garbage))
  (let ([n (current-memory-use)])
   (printf "cpu time: ~a real time: ~a gc time: ~a\n" n n n)))

(print-memory)
(module tr typed/racket)
(print-memory)
(require 'tr)
(print-memory)


Test read and compare with Racket reader

#lang racket
(require "nscheme.rkt"
         racket/pretty
         (rename-in racket/base
                    (read racket:read) (eof-object? racket:eof-object?)))
(include "read.scm")
(print-as-expression #f)
(pretty-print-abbreviate-read-macros #f)

(define (read* in)
  (define datum (read in))
  (if (eof-object? datum) '() (cons datum (read* in))))

(define (racket:read* in)
  (define datum (racket:read in))
  (if (racket:eof-object? datum) '() (cons datum (racket:read* in))))

(define numbers "+1nan.0 +nan.0+i -inf.0i 0+1i 1+i -i 2-i 5/0 -2/0 0/0 3-2/3i 4-inf.0i 5@5 #e5@5 #i1@1 #i1/0 #i-1/0 #i0/0 1@+2 1@-2 1@++5 .5 6. #e.75")
(define symbols "|1+2i| \\3 |a b| c\\ d")
(define comments ";; foo\\\nbar\n x #;(1 2 3)y #| #| a b |# c d |# z")
(define strings "\"hello\\d32;world\\b1010;\\x7e;\" \"abc\\ud8232;def\"")
(define separation "#i#d1@1#i#xf#t#f test#(#t#t#f (ok . 123) 5)")
(define quotes "`(one ,two ,@(three 4 5) #(xxx ,'#(6 7)) #`(_ #,eight #,@splice _) #'nine . ten)")

(for-each (lambda (d) (if (procedure? d)
                        (printf "read error: ~s\n" (d))
                        (pretty-print (cond ((symbol? d) (list 'sym d))
                                            ((number? d) (list 'num d))
                                            (else        (list 'other d))))))
          (read* (port:string:input
                   (string-join
                     (list numbers symbols comments strings separation quotes)
                     " "))))

(define fsys (filesystem '(".")))
(define in (fsys 'open-input "read.scm"))
(define data (read* in))
(in 'close)
(define racket:data (call-with-input-file "read.scm" racket:read*))

(newline)
(when (equal? data racket:data)
  (displayln "no diff"))
(unless (equal? data racket:data)
  (displayln "diff:")
  (pretty-print data)
  (newline)
  (displayln "vs:")
  (newline)
  (pretty-print racket:data))


Add a test which times TR module loading.

#lang racket/load

(require racket/base racket/stream racket/syntax)

(define (make-mod name required-name)
  #`(module #,name typed/racket/base
      (require '#,required-name)))

(define (make-program N)
  (define the-names
    (let ()
      (define (names) (stream-cons (generate-temporary) (names)))
      (names)))
  #`(begin
      (module #,(stream-first the-names) typed/racket/base)
      #,@(for/list ((_ N)
                    (name (stream-rest the-names))
                    (required-name the-names))
          #`(begin
              #,(make-mod name required-name)
              (require '#,name)))))

(time (eval (make-program 40)))


#;
(exn-pred exn:fail:contract? #rx".*U broke the contract.*")
#lang scheme/load

(module T typed-scheme

  (define-struct: [a] thing ([get : a]))

  (: thing->string ((thing String) -> String))
  (define (thing->string x)
    (string-append "foo" (thing-get x)))

  (provide (all-defined-out)))

(module U scheme

  (require 'T)

  (thing->string (make-thing 5)))

(require 'U)


#lang racket

(require web-server/http/request-structs)

(module+ test
  (require rackunit))

(provide
 (contract-out
  [request->user-email (-> request? (or/c string? #f))]))

(define (request->user-email req)
  (define headers (request-headers/raw req))
  (define user-agent (headers-assq* #"User-Agent" headers))
  (and user-agent (user-agent-email user-agent)))

(define user-agent-email-regexp (regexp "\\(Email: .+\\)"))

(module+ test
  (check-false (regexp-match? user-agent-email-regexp "Email: foo@bar"))
  (check-false (regexp-match? user-agent-email-regexp "(Email: )"))
  (check-true (regexp-match? user-agent-email-regexp "(Email: foo@bar)"))
  (check-false (regexp-match? user-agent-email-regexp "(email: foo@bar)"))
  (check-false (regexp-match? user-agent-email-regexp "( foo@bar)")))

(define (user-agent-email user-agent)
  (define user-agent-str (bytes->string/utf-8 user-agent))
  (define matches (regexp-match user-agent-email-regexp user-agent-str))
  (and (not (empty? matches))
       (user-agent-email-match->email (first matches))))

(define (user-agent-email-match->email email-match)
  (define chars (string->list email-match))
  (define without-prefix (drop chars 8))
  (apply string (drop-right without-prefix 1)))

(module+ test
  (check string=? (user-agent-email #"foof jkdlfkjlasf ksjdaf lkjasfl jfklds (Email: foo@bar.com) kljs") "foo@bar.com"))


Add failing test for nicer reporting of cascades of missed optimizations.

#;
(
nested.rkt 15:0 (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4))) -- binary, args all float-arg-expr, return type not Float -- caused by: 15:19 (quote 4)
nested.rkt 19:0 (#%app * (#%app * (quote 3.0) (quote 4)) (#%app * (quote 3.0) (quote 4))) -- binary, args all float-arg-expr, return type not Float -- caused by: 19:15 (quote 4) 19:39 (quote 4)
24.0
144.0
 )

#lang typed/racket

;; when a single "bubble" causes missed optimizations to cascade, a single
;; close call should be reported, with the outermost expression being reported
;; but with the innermost flagged as the cause
;; TODO also report number of missed opts, etc.

(* 2.0 (* 3.0 (ann 4 Integer)))

;; here, multiple subexpressions are to blame, but a single close call with
;; two causes should be reported
(* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer)))


#;
(exn-pred #rx"Expected 'foo, but got 'bar")
#lang racket/load

;; Test for PR 14144
;; Make sure that the second definition is checked
;; against the synthesized type for the first definition

(require typed/racket)

(define x 'foo)
(define x 'bar)


Add simple server serving food type requests

#lang racket

(require db
         (planet dmac/spin)
         web-server/servlet
         json)

(define db
  (mysql-connect #:server "localhost"
                 #:port 3306
                 #:database "mealthyme"
                 #:user "mealthyme"))

(get "/food"
     (lambda ()
       (jsexpr->string (query-list db "select food_name from foods;"))))

(define (json-response-maker status headers body)
  (response status
            (status->message status)
            (current-seconds)
            #"application/json; charset=utf-8"
            headers
            (let ([jsexpr-body (string->jsexpr body)])
              (lambda (op) (write-json (force jsexpr-body) op)))))

(run #:response-maker json-response-maker)

(disconnect db)


#lang racket

(require rackunit)

(define-syntax-rule (check-values e (list e* ...))
  (check-equal? (call-with-values (thunk e) list) (list e* ...)))

(check-values (values 1 2 3) (list 1 2 3))


#lang racket
(require casio/alternative)
(require casio/programs)
(require casio/rules)

(provide (all-defined-out))

(define (combine-alts alt0 alt1 dividor division-var)
  (let* ([split-initial-prog `(lambda ,(program-variables (alt-program alt0))
			       (if (< ,division-var ,dividor)
				   (program-body (alt-initial alt0))
				   (program-body (alt-initial alt1))))]
	 [split-initial-alt (make-alt split-initial-prog)])
    (build-alt split-initial-alt
	       (append (map (lambda (chng)
			      (change (change-rule chng)
				      (append '(cdr cdr car cdr cdr car) (change-location chng))
				      (change-bindings chng)))
			    (alt-changes alt0))
		       (map (lambda (chng)
			      (change (change-rule chng)
				      (append '(cdr cdr car cdr cdr cdr car) (change-location chng))
				      (change-bindings chng)))
			    (alt-changes alt1))))))

(define (build-alt initial changes)
  (if (null? changes)
      initial
      (build-alt (alt-apply initial (car changes)) (cdr changes))))

(define (alt-initial altn)
  (if (alt-prev altn)
      (alt-initial (alt-prev altn))
      altn))

(define (alt-changes altn)
  (let loop ([cur-alt altn] [acc '()])
    (if (alt-prev cur-alt)
	(loop (alt-prev cur-alt) (cons (alt-change cur-alt) acc))
	acc)))


#;
(exn-pred 2)
#lang typed/racket/base

(define-type T (Rec T (U (Pair String T) (Pair Char T))))
(define-type S (Rec S (Pair (U String Char) S)))

(: f (S -> S))
(: g (T -> T))

(define (f x) (cons "string" (cons #\a x)))
(define g f)


Add solution for Problem001 written in Racket

#lang racket

(define (mult3-5 x)
  (or (= (remainder x 3) 0)
      (= (remainder x 5) 0)))

(define (main)
  (let ((answer (apply + (filter mult3-5 (range 0 1000)))))
    (display (format "~a~%" answer))))

(main)


#lang Scheme

(define (divides number divisor)
  (= (remainder number divisor) 0)
  )

(define (findLargestPrimeFactor number factor)
  (cond
    ((= number factor) factor)
    ((divides number factor) (findLargestPrimeFactor (/ number factor) factor))
    (else (findLargestPrimeFactor number (+ factor 1)))
    )
  )

(findLargestPrimeFactor 600851475143 2)


#lang typed/racket

;; Test alpha equivalent types

(: x (All (A) (A -> A)))
(define x (plambda: (C) ((f : C)) f))

(: y (All (A) (A A -> A)))
(define y (plambda: (C) ((f : C) (g : A)) f))

(: z (All (B) (B (B -> B) -> B)))
(define z (plambda: (C) ((x : C) (f : (B -> B))) (f x)))


Add the helper to begin developing frtime

#lang racket
 (require setup/link)

 #|Update this to point to your racket installation directory|#
 (define install-path "C:/Program Files/Racket/collects/frtime")

 #|Update this to point to your github clone|#
 (define dev-path "C:/Users/user/Documents/GitHub/racket/collects/frtime")

 #|Then call one of these functions to begin developing frtime, or to halt development.|#
 (define start-developing-frtime
   (lambda ()
     (start-developing-collection dev-path install-path)))

 (define stop-developing-frtime
   (lambda ()
     (stop-developing-collection dev-path install-path)))

  (define start-developing-collection
    (lambda (dev-coll-path install-coll-path)
      (links install-coll-path #:remove? #t)
      (links dev-coll-path)))

  (define stop-developing-collection
    (lambda (dev-coll-path install-coll-path)
      (start-developing-collection install-coll-path dev-coll-path)))


h1. Scala Binding for ZeroMQ

The Scala binding for ZeroMQ is based on ZeroMQ versions 2.1.x and uses JNA for accessing native functions. The Scala binding is a thin wrapper of the ZeroMQ API, however, the Scala binding offers a jzmq like API, which intends to be compatible with the original API so that users that want to access ZeroMQ over JNA can switch over to use the Scala binding.

Add installation instructions for sbt users

h1. Scala Binding for ZeroMQ

The Scala binding for ZeroMQ is based on ZeroMQ versions 2.1.x and uses JNA for accessing native functions. The Scala binding is a thin wrapper of the ZeroMQ API, however, the Scala binding offers a jzmq like API, which intends to be compatible with the original API so that users that want to access ZeroMQ over JNA can switch over to use the Scala binding.

h2. Installation and usage

Create a file, project/plugins/build.sbt, for plugin library dependencies with the following lines, if you're using sbt 0.10.x:

  resolvers += "zeromq-scala-binding-repo" at "http://kro.github.com/zeromq-scala-binding/maven"

  libraryDependencies += "org.zeromq" %% "zeromq-scala-binding" % "0.1.0-SNAPSHOT"

and if sbt 0.11.x:

  resolvers += "zeromq-scala-binding-repo" at "http://kro.github.com/zeromq-scala-binding/maven"

  addSbtPlugin("org.zeromq" %% "zeromq-scala-binding" % "0.1.0-SNAPSHOT")


h1. Working Title: Quotidian

This is a my version of "Alex Payne's Quotidian idea":quotidian

[quotidian]http://ideas.al3x.net/quotidian

Add more information to the readme

h1. Quote Crate

*A place to store and organize quotations.* Or it will be. The goal is to create
a RESTful API for saving and searching quotes on the web. Currently it is pretty
primitive as you can only save them, but they are being properly indexed as of
"v2":v2 which proved to be far more of a challenge than I expected.

[v2]http://github.com/bryanjswift/quotidian/tree/v2

h2. Implementation

In my opinion the cool thing about this is the somewhat low-level implementation
of Lucene I created to write information into Google's Datastore. The code for
this currently sits in the quotidian.search package though I would like to split
it into it's own project.

h2. Inspiration

This stemmed from of Alex Payne's "Open Ideas" or "Unfinished Ideas" which he
termed "Quotidian":quotidian. When I read his quick post about it I was struck
and went to work on it almost immediately figuring I could have a working version
up on the (at the time) newly released Google App Engine for Java pretty quickly.
Man was I wrong. A key component of this application is the ability to search
for stored quotes which is something that proved difficult with the immediately
available tools.

[quotidian]http://al3x.net/2009/06/15/quotidian.html


h1. test-unit-rails

"Web site":http://test-unit.github.io/#test-unit-rails

h2. Description

test-unit-rails is a Rails adapter for test-unit 3. You can use full test-unit 3 features, "RR":https://rubygems.org/gems/rr integration and "Capybara":https://rubygems.org/gems/capybara integration with test-unit-rails.

Rails supports Test::Unit bundled in Ruby 1.8 and MiniTest but doesn't support test-unit 2. Rails with test-unit 2 works but is not fully worked.

h2. Install

Add the following codes to your Gemfile:

group :development, :test do
  gem 'test-unit-rails'
end

Update bundled gems:

% bundle update

Replace @"require 'rails/test_help'"@ in your test/test_helper.rb with the following codes:

# require 'rails/test_help'
require 'test/unit/rails/test_help'

Now you can use full test-unit 3.x features, RR integration and Capybara integration.

h2. License

LGPLv2.1 or later.

(Kouhei Sutou has a right to change the license including contributed patches.)

h2. Authors

* Kouhei Sutou
* Haruka Yoshihara

Fix rake task with option

h1. test-unit-rails

"Web site":http://test-unit.github.io/#test-unit-rails

h2. Description

test-unit-rails is a Rails adapter for test-unit 3. You can use full test-unit 3 features, "RR":https://rubygems.org/gems/rr integration and "Capybara":https://rubygems.org/gems/capybara integration with test-unit-rails.

Rails supports Test::Unit bundled in Ruby 1.8 and MiniTest but doesn't support test-unit 2. Rails with test-unit 2 works but is not fully worked.

h2. Install

Add the following codes to your Gemfile:

group :development, :test do
  gem 'test-unit-rails', require: false
end

Update bundled gems:

% bundle update

Replace @"require 'rails/test_help'"@ in your test/test_helper.rb with the following codes:

# require 'rails/test_help'
require 'test/unit/rails/test_help'

Now you can use full test-unit 3.x features, RR integration and Capybara integration.

h2. License

LGPLv2.1 or later.

(Kouhei Sutou has a right to change the license including contributed patches.)

h2. Authors

* Kouhei Sutou
* Haruka Yoshihara


h1. Usage

In your home directory, run:

git clone git://github.com/scrooloose/vimfiles.git .vim
ln -s Projects/vimfiles .vim

Put this stuff in your ~/.vimrc

source ~/.vim/vimrc

let g:NERDTreeMapOpenSplit = 'i'⋅
colorscheme vibrantink
set nu
set sts=2
set sw=2
let g:fuzzy_ignore = "gems/*"
set noswapfile

Remove the extra dot in the vimrc example

h1. Usage

In your home directory, run:

git clone git://github.com/scrooloose/vimfiles.git .vim
ln -s Projects/vimfiles .vim

Put this stuff in your ~/.vimrc

source ~/.vim/vimrc

let g:NERDTreeMapOpenSplit = 'i'
colorscheme vibrantink
set nu
set sts=2
set sw=2
let g:fuzzy_ignore = "gems/*"
set noswapfile


h1. Neighborhood Survey Mobile

We want to make it very easy for neighborhood organizations to collect good
information about the things they care about, like property condition,
vacancy, points of interest, and more.

This project is part of a toolkit we're building:
* A survey builder tool
* A mobile data collection app
* A paper-based survey that can

Very much in prototype stage. Interested in helping out? Contact
detroit@codeforamerica.org for more details.

MIT.

Document improvement: first outline of how to make the maps.

h1. Neighborhood Survey Mobile

We want to make it very easy for neighborhood organizations to collect good
information about the things they care about, like property condition,
vacancy, points of interest, and more.

This project is part of a toolkit we're building:
* A survey builder tool
* A mobile data collection app
* A paper-based survey that's easy to
* A "small server":https://github.com/codeforamerica/survey-api to store and retrieve the results

Very much in prototype stage. Interested in helping out? Contact
detroit@codeforamerica.org for more details.

MIT.

h2. The maps

The maps used in this app are rendered with TileMill. They use street data
from OpenStreetMap and parcel data from local municipalities (right now,
Detroit and San Francisco).

Here are the basic steps we followed -- please feel free to contact us with
questions about the details:
# Download street data from the "Metrio city extracts":http://metro.teczno.com/.
You'll want the "9.2 MB osm2pgsql shapefiles."
# Get a shapefile with parcel data from your local municipality.
# Use TileMill to create and style map that combines those two data sources.
You can get started with the "TileMill tutorial":http://mapbox.com/tilemill/docs/crashcourse/introduction/
# Export the map as MBTiles
# Upload the map to the "MapBox hosted service":http://mapbox.com/plans/
# Use the TileJSON URL in this app.


Annotation based model factory for Java.

https://github.com/mguymon/model-citizen

Models are mapped by blueprints using annotated fields. Blueprints are registered
with the ModelFactory. Blueprints contain default values and references to other
blueprinted models. The ModelFactory can then create models based on the blueprints.

"Wiki":https://github.com/mguymon/model-citizen/wiki of examples.

Inspired by "FactoryGirl":https://github.com/thoughtbot/factory_girl .

Add link to github in REDAME

Annotation based model factory for Java.

"https://github.com/mguymon/model-citizen":https://github.com/mguymon/model-citizen

Models are mapped by blueprints using annotated fields. Blueprints are registered
with the ModelFactory. Blueprints contain default values and references to other
blueprinted models. The ModelFactory can then create models based on the blueprints.

"Wiki":https://github.com/mguymon/model-citizen/wiki of examples.

Inspired by "FactoryGirl":https://github.com/thoughtbot/factory_girl .


h1. Welcome to Harbor!

!https://secure.travis-ci.org/sam/harbor.png!

For information on getting started, check out: http://wiecklabs.com/get-started

Some of the most important classes you'll probably want to check out are:

* @Harbor::Application@
* @Harbor::Cascade@
* @Harbor::Container@
* @Harbor::Response@
* @Harbor::Router@
* @Harbor::View@

Add travis-ci link to image

h1. Welcome to Harbor!

!https://secure.travis-ci.org/sam/harbor.png!:http://travis-ci.org/sam/harbor

For information on getting started, check out: http://wiecklabs.com/get-started

Some of the most important classes you'll probably want to check out are:

* @Harbor::Application@
* @Harbor::Cascade@
* @Harbor::Container@
* @Harbor::Response@
* @Harbor::Router@
* @Harbor::View@


h1. Welcome to Rouge

bq. His code not functional or elegant.
What do Code Monkey think?
--
Jonathan Coulton,
"""Code Monkey""":http://www.jonathancoulton.com/songdetails/Code%20Monkey

Do Ruby's stylish core and standard libraries make your JavaScript green with
envy? Tart up that dowdy JavaScript -- put on some *Rouge*.

Rouge is a JavaScript implementation of some of the Ruby base classes and
modules.

h1. Usage

Rouge makes your JavaScript look and feel more like Ruby while preserving sound
JavaScript style.

Stop writing:

var array = ['a', 'b', 'c', 'd', 'e'];
for (var i = 0; i < array.length; i++) {
  alert(array[i]);
}

when instead you can write:

var array = ['a', 'b', 'c', 'd', 'e'];
array.each(function(s) {
  alert(s);
});

h1. Credits

Rouge's author is "Nils Jonsson":mailto:nils@alumni.rice.edu?subject=Your%20Rouge%20library.
Released under the "MIT License":master/MIT-LICENSE.

Fix broken link to license, and tune up the markup

h1. Welcome to Rouge

bq. His code not functional or elegant.
What do Code Monkey think?
--
Jonathan Coulton,
""Code Monkey"":http://www.jonathancoulton.com/songdetails/Code%20Monkey

Do Ruby's stylish core and standard libraries make your JavaScript green with
envy? Tart up that dowdy JavaScript -- put on some *Rouge*.

Rouge is a JavaScript implementation of some of the Ruby base classes and
modules.

h1. Usage

Rouge makes your JavaScript look and feel more like Ruby while preserving sound
JavaScript style.

Stop writing:

var array = ['a', 'b', 'c', 'd', 'e'];
for (var i = 0; i < array.length; i++) {
  alert(array[i]);
}

when instead you can write:

var array = ['a', 'b', 'c', 'd', 'e'];
array.each(function(s) {
  alert(s);
});

h1. Credits

Rouge's author is "Nils Jonsson":mailto:nils@alumni.rice.edu?subject=Your%20Rouge%20library.
Released under the "MIT License":../raw/master/MIT-LICENSE.


h1. Java Pack

Java Pack is a random assortment of Java packages that I find interesting. Its is
mainly concerned with mathematical modeling and two and three dimensional physics
and graphics.

h2. Management

h3. License

This code is licensed under version 2.0 of the Apache License. See the COPYING
file in the same location as this README for more information.

h3. Source Code

Source code is managed in git and the home repository can be found at github.com.

<pre>
git clone git://github.com/openecho/Java-Pack.git
</pre>

The source code can be browsed at "github":http://github.com/openecho/Java-Pack or
in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/repository
mirror.

h3. Issue Management

Issues are controlled in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/issues.
Patches can be created by cloning the repository on github and making changes and
notifying me of a pull request or simply notify me of the url that holds the changes
and give me some details.

h2. Packages

h3. openecho.math

Implementation of mathematical objects.

Stop it with the word wrap maaaaaaaan

h1. Java Pack

Java Pack is a random assortment of Java packages that I find interesting. Its is mainly concerned with mathematical modeling and two and three dimensional physics and graphics.

h2. Management

h3. License

This code is licensed under version 2.0 of the Apache License. See the COPYING file in the same location as this README for more information.

h3. Source Code

Source code is managed in git and the home repository can be found at github.com. If you have git installed you can simply type,

<pre>
git clone git://github.com/openecho/Java-Pack.git
</pre>

The source code can be browsed at "github":http://github.com/openecho/Java-Pack or in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/repository mirror.

h3. Issue Management

Issues are controlled in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/issues. Patches can be created by cloning the repository on github and making changes and notifying me of a pull request or simply notify me of the url that holds the changes and give me some details.

h2. Packages

h3. openecho.math

Implementation of mathematical objects.


h2. Spree 1.0 Release Notes

endprologue.

h3. Summary

This is the official 1.0 Release of Spree

h3. Preferences

We have refactored Spree Preferences to improve performance and simplify
code for applicaitons and extensions. The previous interfaces have been
maintained so no code changes should be required. The underlying classes
have been completely rewritten.

Please see the "Spree blog":http://spreecommerce.com/blog/2011/12/04/spree-preferences-refactor for
notes on this release

h3. Deprecated functions

h4. Product

+master_price+, +master_price=+, +variants?+, +variant+ are now officially retired. Please use +Product.price+, +Product.price=+, +Product.has_variants?+ and +Product.master+ consecutively instead.

h4. Spree::Config[:stylesheets]

+Spree::Config[:stylesheets]+ and +stylesheet_tags+ are removed in favor for the Rails 3.1 Asset Pipeline. See the "Asset Customization":asset_customization.html for more information.

h3. Testing

h4. The demise of Cucumber testing

Cucumber is a great testing tool however it doesn't bring more values for tesing but overhead. It is decide to opt for a light-weight practice of RSpec + Capybara.

Correct word to use here is 'respectively'

h2. Spree 1.0 Release Notes

endprologue.

h3. Summary

This is the official 1.0 Release of Spree

h3. Preferences

We have refactored Spree Preferences to improve performance and simplify
code for applicaitons and extensions. The previous interfaces have been
maintained so no code changes should be required. The underlying classes
have been completely rewritten.

Please see the "Spree blog":http://spreecommerce.com/blog/2011/12/04/spree-preferences-refactor for
notes on this release

h3. Deprecated functions

h4. Product

+master_price+, +master_price=+, +variants?+, +variant+ are now officially retired. Please use +Product.price+, +Product.price=+, +Product.has_variants?+ and +Product.master+ respectively instead.

h4. Spree::Config[:stylesheets]

+Spree::Config[:stylesheets]+ and +stylesheet_tags+ are removed in favor for the Rails 3.1 Asset Pipeline. See the "Asset Customization":asset_customization.html for more information.

h3. Testing

h4. The demise of Cucumber testing

Cucumber is a great testing tool however it doesn't bring more values for tesing but overhead. It is decide to opt for a light-weight practice of RSpec + Capybara.


h1. test-unit-activesupport

"Web site":http://test-unit.rubyforge.org/#test-unit-activesupport

h2. Description

test-unit-activesupport is an ActiveSupport adapter for test-unit 2. You can use full test-unit 2 features with @ActiveSupport::TestCase@.

h2. Install

Require @test/unit/active_support@ before using ActiveSupport:

require "test/unit/active_support"
require "active_support"

Now you can use full test-unit 2.x features with ActiveSupport.

require 'test/unit/active_support'
# require "active_support" ...

class YourTest < ActiveSupport::TestCase
  # ...
end

h2. License

LGPLv2.1 or later.

(Kouhei Sutou has a right to change the license including contributed patches.)

h2. Authors

* Kouhei Sutou

Add Michael Grosser to thanks list. Thanks!!!

h1. test-unit-activesupport

"Web site":http://test-unit.rubyforge.org/#test-unit-activesupport

h2. Description

test-unit-activesupport is an ActiveSupport adapter for test-unit 2. You can use full test-unit 2 features with @ActiveSupport::TestCase@.

h2. Install

Require @test/unit/active_support@ before using ActiveSupport:

require "test/unit/active_support"
require "active_support"

Now you can use full test-unit 2.x features with ActiveSupport.

require 'test/unit/active_support'
# require "active_support" ...

class YourTest < ActiveSupport::TestCase
  # ...
end

h2. License

LGPLv2.1 or later.

(Kouhei Sutou has a right to change the license including contributed patches.)

h2. Authors

* Kouhei Sutou

h2. Thanks

* Michael Grosser


---
layout: default
title: Maintenance of this website
---

These group pages are maintained with "Jekyll":https://jekyllrb.com/ using the "Textile":http://redcloth.org/textile  markup language. This page has some information on how to maintain it.

h2(#Building). Building

The website is built using

jekyll build

which places the site into a @_site/@ subdirectory. This folder can then be uploaded to the public folder.

Update site generation command for easy access

---
layout: default
title: Maintenance of this website
---

These group pages are maintained with "Jekyll":https://jekyllrb.com/ using the "Textile":http://redcloth.org/textile  markup language. This page has some information on how to maintain it.

h2(#Building). Building

The website is built using

jekyll build --destination=~/public_html/group

.


---
date: 2014-04-01
author: smiklosovic
---

Arquillian Droidium 1.0.0.Alpha5 is packed with bugfixes, updates and it has integrated with various other Arquillian extensions.

h3. Extension integration

Droidium now profits from the Arquillian Spacelift extension that provide a robust way of dealing with execution of external binaries and applications. In Droidium, we use it to handle the execution of all Android-related binaries.

We also have created a Arquillian Droidium Screenshooter extension which builds on top of the Arquillian Reporter extension. If you have Arquillian Reporter extension on class path, you can generate reports for your (mobile) test runs very easily and export them in a lot of different formats like XML, JSON, HTML or even Asciidoctor.

p(info). %It is recommended to use Selendroid server of version 0.9.0 and Android SDK 22.6.2.%

h3. Next stop, Beta

Arquillian Droidium 1.0.0.Alpha5 is the last Alpha release before reaching Beta stage. Starting with Beta1, you can expect experimental support for Arquillian Drone 2.0.0.Alpha1, removal of web pluging which depends on the deprecated Selenium Android server APK, that will be replaced by the Selendroid's Android driver. It will also be updated to use Selenium 2.40 from current 2.39.

Fix minor spelling error in Droidium release notes

---
date: 2014-04-01
author: smiklosovic
---

Arquillian Droidium 1.0.0.Alpha5 is packed with bugfixes, updates and it has integrated with various other Arquillian extensions.

h3. Extension integration

Droidium now profits from the Arquillian Spacelift extension that provide a robust way of dealing with execution of external binaries and applications. In Droidium, we use it to handle the execution of all Android-related binaries.

We also have created a Arquillian Droidium Screenshooter extension which builds on top of the Arquillian Reporter extension. If you have Arquillian Reporter extension on class path, you can generate reports for your (mobile) test runs very easily and export them in a lot of different formats like XML, JSON, HTML or even Asciidoctor.

p(info). %It is recommended to use Selendroid server of version 0.9.0 and Android SDK 22.6.2.%

h3. Next stop, Beta

Arquillian Droidium 1.0.0.Alpha5 is the last Alpha release before reaching Beta stage. Starting with Beta1, you can expect experimental support for Arquillian Drone 2.0.0.Alpha1, removal of web plugin which depends on the deprecated Selenium Android server APK, that will be replaced by the Selendroid's Android driver. It will also be updated to use Selenium 2.40 from current 2.39.


h1. Fuubar ![Build status](http://travis-ci.org/jeffkreeftmeijer/fuubar.png)

Fuubar is an instafailing "RSpec":http://github.com/rspec formatter that uses a progress bar instead of a string of letters and dots as feedback. Here's "a video of Fuubar in action":http://vimeo.com/16845253.

h2. Installation

Installing Fuubar is easy. Just put it in your @Gemfile@ and run your specs like this from now on:

bc. $ rspec --format Fuubar --color spec

If you want to use Fuubar as your default formatter, simply put the options in your @.rspec@ file:

bc. --format Fuubar
--color

h2. Contributing

Found an issue? Have a great idea? Want to help? Great! Create an issue "issue":http://github.com/jeffkreeftmeijer/fuubar/issues for it, "ask":http://github.com/inbox/new/jeffkreeftmeijer, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)

Fix the Travis build status image :)

h1. Fuubar !http://travis-ci.org/jeffkreeftmeijer/fuubar.png!

Fuubar is an instafailing "RSpec":http://github.com/rspec formatter that uses a progress bar instead of a string of letters and dots as feedback. Here's "a video of Fuubar in action":http://vimeo.com/16845253.

h2. Installation

Installing Fuubar is easy. Just put it in your @Gemfile@ and run your specs like this from now on:

bc. $ rspec --format Fuubar --color spec

If you want to use Fuubar as your default formatter, simply put the options in your @.rspec@ file:

bc. --format Fuubar
--color

h2. Contributing

Found an issue? Have a great idea? Want to help? Great! Create an issue "issue":http://github.com/jeffkreeftmeijer/fuubar/issues for it, "ask":http://github.com/inbox/new/jeffkreeftmeijer, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)


h1. Guard Compass Plug-in

Let you configure a Guard that will run compass whenever a stylesheet is updated.

h2. Quick Start

  $ (sudo) gem install compass
  $ compass -f blueprint my_compass_project
  $ cd my_compass_project
  $ bundle init

Then, edit the Gemfile for it to looks like:

  source "http://rubygems.org"

  gem 'guard-compass'

  $ bundle install
  $ guard init
  $ guard init compass
  $ guard

Your scss(or sass) stylesheets are now guarded.

Fix textile format for github.

h1. Guard Compass Plug-in

Let you configure a Guard that will run compass whenever a stylesheet is updated.

h2. Quick Start

bc. $ (sudo) gem install compass
$ compass -f blueprint my_compass_project
$ cd my_compass_project
$ bundle init

Then, edit the Gemfile for it to looks like:

bc. source "http://rubygems.org"
gem 'guard-compass'

You can now download missing gems and initialize the guard

bc. $ bundle install
$ guard init
$ guard init compass
$ guard

Your scss(or sass) stylesheets are now guarded.


h1. About

APIviz doclet fork. The main change is JDK 7 support.

The original project can be found at: "code.google.com/p/apiviz":http://code.google.com/p/apiviz.

h1. Plans

A future goal is to allow wiki syntax to API comments.

Add the fork base version to the documentation.

h1. About

APIviz doclet fork. The main change is JDK 7 support.

This fork is based in the last stable release (1.3.1 GA). The original project can be found at: "code.google.com/p/apiviz":http://code.google.com/p/apiviz.

h1. Plans

A future goal is to allow wiki syntax to API comments. But don't expect to see a lot of improvements here.


"Pull request {{ data['number'] }}":{{ data['pull_request']['html_url'] }} ("branch {{ data['pull_request']['head']['ref'] }}":{{ tree_url }}) was {{ make_past_tense(data['action']) }} by {{ data['sender']['login'] }}.

Add linked user profile page.

"Pull request {{ data['number'] }}":{{ data['pull_request']['html_url'] }} ("branch {{ data['pull_request']['head']['ref'] }}":{{ tree_url }}) was {{ make_past_tense(data['action']) }} by {{ data['sender']['login'] }}:{{ data['sender']['html_url'] }}.


Annotation based model factory for Java.

Models are mapped by blueprints using annotated fields. Blueprints are registered
with the ModelFactory. Blueprints contain default values and references to other
blueprinted models. The ModelFactory can then create models based on the blueprints.

"Wiki":https://github.com/mguymon/model-citizen/wiki of examples.

Inspired by "FactoryGirl":https://github.com/thoughtbot/factory_girl .

Add link to github in REDAME

Annotation based model factory for Java.

https://github.com/mguymon/model-citizen

Models are mapped by blueprints using annotated fields. Blueprints are registered
with the ModelFactory. Blueprints contain default values and references to other
blueprinted models. The ModelFactory can then create models based on the blueprints.

"Wiki":https://github.com/mguymon/model-citizen/wiki of examples.

Inspired by "FactoryGirl":https://github.com/thoughtbot/factory_girl .


!https://raw.github.com/edoweb/regal/gh-pages/img/logo.png!
!https://travis-ci.org/edoweb/regal-api.png!:https://travis-ci.org/edoweb/regal-api

h1. About

Regal - repository for electronic documents and bibliographic data

For more information visit the "wiki":https://github.com/edoweb/edoweb2/wiki/

Releases

0.5.0:"https://github.com/edoweb/regal-api/releases/tag/0.5.0"

h1. License

Apache License  Version 2.0, January 2004  http://www.apache.org/licenses/
Copyright 2014 hbz NRW (http://www.hbz-nrw.de/)

Fix typo in version link

!https://raw.github.com/edoweb/regal/gh-pages/img/logo.png!
!https://travis-ci.org/edoweb/regal-api.png!:https://travis-ci.org/edoweb/regal-api

h1. About

Regal - repository for electronic documents and bibliographic data

For more information visit the "wiki":https://github.com/edoweb/edoweb2/wiki/

Releases

"0.5.0":https://github.com/edoweb/regal-api/releases/tag/0.5.0

h1. License

Apache License  Version 2.0, January 2004  http://www.apache.org/licenses/
Copyright 2014 hbz NRW (http://www.hbz-nrw.de/)


h1. Fuubar "!http://stillmaintained.com/jeffkreeftmeijer/fuubar.png!":http://stillmaintained.com/jeffkreeftmeijer/fuubar

Fuubar is an instafailing "RSpec":http://github.com/rspec formatter that uses a progress bar instead of a string of letters and dots as feedback. Here's "a video of Fuubar in action":http://vimeo.com/16845253.

h2. Installation

Installing Fuubar is easy. Just put it in your @Gemfile@ and run your specs like this from now on:

bc. $ rspec --format Fuubar --color spec

If you want to use Fuubar as your default formatter, simply put the options in your @.rspec@ file:

bc. --format Fuubar
--color

h2. Contributing

Found an issue? Have a great idea? Want to help? Great! Create an issue "issue":http://github.com/jeffkreeftmeijer/fuubar/issues for it, "ask":http://github.com/inbox/new/jeffkreeftmeijer, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)

Remove the stillmaintained status badge

h1. Fuubar

Fuubar is an instafailing "RSpec":http://github.com/rspec formatter that uses a progress bar instead of a string of letters and dots as feedback. Here's "a video of Fuubar in action":http://vimeo.com/16845253.

h2. Installation

Installing Fuubar is easy. Just put it in your @Gemfile@ and run your specs like this from now on:

bc. $ rspec --format Fuubar --color spec

If you want to use Fuubar as your default formatter, simply put the options in your @.rspec@ file:

bc. --format Fuubar
--color

h2. Contributing

Found an issue? Have a great idea? Want to help? Great! Create an issue "issue":http://github.com/jeffkreeftmeijer/fuubar/issues for it, "ask":http://github.com/inbox/new/jeffkreeftmeijer, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)


---
layout: default
title: Dokumentacja - Workspace > php > Zarządzanie i organizacja
---

## Witam serdecznie to jest markdown i jego struktura plików.

Add basic info about workspace/php structure

---
layout: default
title: Dokumentacja - Workspace > php > Zarządzanie i organizacja
published: true
---

h1. Ogólne informacje

Obecnie katalog php jest to kontenerem na wszelkie rzeczy związane językiem programowania PHP.
Powinien zawierać wszelkie biblioteki które wykorzystywane są przez system i do których chcemy mieć globalnie dostęp
doskonałym przykładem tutaj może być PHPUnit, CopyPasteDetector, MessDetector, Mockery i wiele wiele innych.

h1. Struktura katalogów

* libs
** {Biblioteka}
* sites
** {NazwaFirmy}
*** {StronaDlaFirmy}

{Biblioteka} - Nazwa zainstalowanej biblioteki/rozszrzenia opartego na języku PHP np. [phpunit, messdetector, itp]
{NazwaFirmy} - Aby nie pogubić się w tym co i dla kogo towrzę każda firma ma swoje miejsce na projekty np. [GalileoPrime, itp]

h3. libs

Katalog lib powinien zawierać

h4. Obecnie katalog lib składa się z:

* codesniffer
* messdetector
* phpdoc
* phpunit

h3. sites

Strony w swojej strukurze posiadają dodatkowy podział na firmę z jaką podjęta została współpraca.

h4. Wygląd i widok katalogu frimowego {NazwaFirmy}


h1. This is the Hippo CMS Groovy addon project

This project adds Groovy support to Hippo CMS (http://www.onehippo.org) projects.

h2. What does it do?

The Hippo CMS Groovy add-on provides an interface for running Groovy scripts from within the CMS interface.

Some screenshots can be found at https://github.com/jreijn/hippo-groovy-addon/wiki/Screenshots

h2. Documentation

The documentation is available at https://github.com/jreijn/hippo-groovy-addon/wiki.

h2. Installing the plugin

Right now you can add this plugin by just adding the following dependency to your project.

<dependency>
  <groupId>org.onehippo.forge.groovy</groupId>
  <artifactId>hippo-groovy-addon-cms</artifactId>
  <version>0.1-SNAPSHOT</version>
</dependency>

h2. License

Copyright 2012 Jeroen Reijn

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Set correct version number in documentation

h1. This is the Hippo CMS Groovy addon project

This project adds Groovy support to Hippo CMS (http://www.onehippo.org) projects.

h2. What does it do?

The Hippo CMS Groovy add-on provides an interface for running Groovy scripts from within the CMS interface.

Some screenshots can be found at https://github.com/jreijn/hippo-groovy-addon/wiki/Screenshots

h2. Documentation

The documentation is available at https://github.com/jreijn/hippo-groovy-addon/wiki.

h2. Installing the plugin

Right now you can add this plugin by just adding the following dependency to your project.

<dependency>
  <groupId>org.onehippo.forge.groovy</groupId>
  <artifactId>hippo-groovy-addon-cms</artifactId>
  <version>0.1.0-SNAPSHOT</version>
</dependency>

h2. License

Copyright 2012 Jeroen Reijn

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


h1. profiling

A bookmarklet to turn profiling on and off in SiteVision.

h2. Installation

Installation is easy - "follow the instructions on this page":http://svendahlstrand.github.com/profiling.

h2. Usage

Use the bookmarklet to toggle profiling on and off.

Update the url to installation instructions.

h1. profiling

A bookmarklet to turn profiling on and off in SiteVision.

h2. Installation

Installation is easy - "follow the instructions on this page":http://svendahlstrand.github.com/sitevision-profiling.

h2. Usage

Use the bookmarklet to toggle profiling on and off.


h1. iter.php

h3. alternate name: bittertools.php

h2. Description

A port of Python 2.7's itertools to PHP, because, well, sometimes you just have to work in PHP.

h2. Dependencies

* PHP >= 5.3.0
* PHPUnit

h2. Feature Checklist

"See Python modules docs":http://docs.python.org/library/itertools.html
* -count-
* -cycle-
* -repeat-
* -chain-
* -compress-
* dropwhile
* groupby
* -ifilter-
* -ifilterfalse-
* -islice-
* -imap-
* -starmap-
* tee
* takewhile
* -izip-
* izip_longest
* product
* permutations
* combinations
* combinations_with_replacement

Update readme to reflect implementation fo dropWhile

h1. iter.php

h3. alternate name: bittertools.php

h2. Description

A port of Python 2.7's itertools to PHP, because, well, sometimes you just have to work in PHP.

h2. Dependencies

* PHP >= 5.3.0
* PHPUnit

h2. Feature Checklist

"See Python modules docs":http://docs.python.org/library/itertools.html
* -count-
* -cycle-
* -repeat-
* -chain-
* -compress-
* -dropwhile-
* groupby
* -ifilter-
* -ifilterfalse-
* -islice-
* -imap-
* -starmap-
* tee
* takewhile
* -izip-
* izip_longest
* product
* permutations
* combinations
* combinations_with_replacement


A "simple-build-tool":http://code.google.com/p/simple-build-tool/ plugin to create "IntelliJ IDEA":http://www.jetbrains.com/idea/free_java_ide.html project files for sbt project

h2. Status

Early experimental version, not tested much and guaranteed to contain bugs and lots of room for improvement. You may or may not find it useful :)

h2. Requirements

Requires sbt version 0.7.x (not compatible with 0.5.x series).

h2. Usage

Check out sbt's "plugin documentation":http://code.google.com/p/simple-build-tool/wiki/SbtPlugins.

1. In your project/plugins/Plugins.scala:

import sbt._
class Plugins(info: ProjectInfo) extends PluginDefinition(info) {
  val repo = "GH-pages repo" at "http://mpeltonen.github.com/maven/"
  val idea = "com.github.mpeltonen" % "sbt-idea-plugin" % "0.1-SNAPSHOT"
}

2. In your project definition file:

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaPlugin {
  lazy val subProject = project("subproject", "subproject", new DefaultProject(_) with IdeaPlugin)
   // ...
}

i.e. plugin trait must be mixed into both parent project and subprojects if you have multimodule build.

3. Run

 sbt idea

4. Import created <project.name>.ipr file into idea

Remove 'early experimental' status from readme. No major known issues, having used the plugin in few projects for some time.

A "simple-build-tool":http://code.google.com/p/simple-build-tool/ plugin to create "IntelliJ IDEA":http://www.jetbrains.com/idea/free_java_ide.html project files for sbt project

h2. Requirements

Requires sbt version 0.7.x (not compatible with 0.5.x series).

h2. Usage

Check out sbt's "plugin documentation":http://code.google.com/p/simple-build-tool/wiki/SbtPlugins.

1. In your project/plugins/Plugins.scala:

import sbt._
class Plugins(info: ProjectInfo) extends PluginDefinition(info) {
  val repo = "GH-pages repo" at "http://mpeltonen.github.com/maven/"
  val idea = "com.github.mpeltonen" % "sbt-idea-plugin" % "0.1-SNAPSHOT"
}

2. In your project definition file:

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaPlugin {
  lazy val subProject = project("subproject", "subproject", new DefaultProject(_) with IdeaPlugin)
   // ...
}

i.e. plugin trait must be mixed into both parent project and subprojects if you have multimodule build.

3. Run

 sbt idea

4. Import created <project.name>.ipr file into idea


h2. iNaturalist  "!https://travis-ci.org/md5/inaturalist.png!":https://travis-ci.org/md5/inaturalist

Open source Rails app behind "iNaturalist.org":http://inaturalist.org/

Want to help out?  Fork the project and check out the "Development Setup Guide":http://wiki.github.com/inaturalist/inaturalist/development-setup-guide (might be a bit out of date, contact "kueda":http://github.com/kueda if you hit problems getting set up).

Please submit any bugs or annoyances to "Github":http://github.com/inaturalist/inaturalist/issues

Active iNaturalist Developers are:
* "kueda":http://github.com/kueda
* "loarie":http://github.com/loarie

With Prior work from:
* "n8agrin":http://github.com/n8agrin
* "smcgregor":http://github.com/smcgregor
* Jessica Kline
* Andrew McDiarmid

This project is available under the MIT license (See: MIT-LICENSE)

Update status link to inaturalist/inaturalist

h2. iNaturalist  "!https://travis-ci.org/inaturalist/inaturalist.png!":https://travis-ci.org/inaturalist/inaturalist

Open source Rails app behind "iNaturalist.org":http://inaturalist.org/

Want to help out?  Fork the project and check out the "Development Setup Guide":http://wiki.github.com/inaturalist/inaturalist/development-setup-guide (might be a bit out of date, contact "kueda":http://github.com/kueda if you hit problems getting set up).

Please submit any bugs or annoyances to "Github":http://github.com/inaturalist/inaturalist/issues

Active iNaturalist Developers are:
* "kueda":http://github.com/kueda
* "loarie":http://github.com/loarie

With Prior work from:
* "n8agrin":http://github.com/n8agrin
* "smcgregor":http://github.com/smcgregor
* Jessica Kline
* Andrew McDiarmid

This project is available under the MIT license (See: MIT-LICENSE)


---
layout: default
title: Maintenance of this website
---

These group pages are maintained with "Jekyll":https://jekyllrb.com/ using the "Textile":http://redcloth.org/textile  markup language. This page has some information on how to maintain it.

h2(#Building). Building

The website is built using

jekyll build

on the server and then running

./update_group_pages.sh

on @lepus@.

Update description of how to build the website

---
layout: default
title: Maintenance of this website
---

These group pages are maintained with "Jekyll":https://jekyllrb.com/ using the "Textile":http://redcloth.org/textile  markup language. This page has some information on how to maintain it.

h2(#Building). Building

The website is built using

jekyll build

and uploading it to the UofT astro server @lepus@. This is now automated using GitHub Actions.


---
date: 2013-09-25
author: kenfinnigan
---
There are several important fixes in this release for those testing portlets with Arquillian.

h3. Some of the highlights in this release

 Fix exceptions where there are multiple portlet deployments present on a Test class.

 Allow @@PortalURL@ to be present on a test method parameter, in addition to a field.

 Modify the parsing of portlet.xml to occur for each test instead of once per Test class.

We look forward to hearing your feedback about this release in the "community forums":#{site.project_space}!

Update date to Porlet Release

---
date: 2013-09-26
author: kenfinnigan
---
There are several important fixes in this release for those testing portlets with Arquillian.

h3. Some of the highlights in this release

 Fix exceptions where there are multiple portlet deployments present on a Test class.

 Allow @@PortalURL@ to be present on a test method parameter, in addition to a field.

 Modify the parsing of portlet.xml to occur for each test instead of once per Test class.

We look forward to hearing your feedback about this release in the "community forums":#{site.project_space}!


OpenKH is Open + Know-How. It aims to become "Drupal on Rails" with one difference: OPEN
* There are only 2 types of users: normal user and admin (e.g no moderator).
* Normal users can do everything with minimum restriction from the admins, thus OpenKH is perfect for building open community sites (e.g. sites where users are able to collaborate to create blikis, QAs, books).

Please read the "wiki":http://wiki.github.com/ngocdaothanh/openkh for more information.

h2. License

MIT License. See the included LICENCE file.

Remove the obvious license notice


h1. devicebot

devicebot låter dig:

* Komma åt Telldus API från Ruby
* Jobba mot din Tellstick objektorienterat och elegant: "The Ruby way"
* Fjärrstyra dina enheter från en iPhone med Safari mobile...
* eller vilken annan webbläsare som helst

h2. Exempel

# Hämta alla apparater
devices = Home.devices

# Sätt på den första
devices.first.turn_on

# Hämta status (:on eller :off)
devices.first.status

# Vad heter apparaten?
devices.first.name

# Stäng av alla apparater i hemmet
Home.turn_off

# Gör din sambo galen
while
  status = devices.first.status
  dark = (status == :off) ? true : false

  if dark
    Home.turn_on
  else
    Home.turn_off
  end

  sleep 3
end

Add find method as example.

h1. devicebot

devicebot låter dig:

* Komma åt Telldus API från Ruby
* Jobba mot din Tellstick objektorienterat och elegant: "The Ruby way"
* Fjärrstyra dina enheter från en iPhone med Safari mobile...
* eller vilken annan webbläsare som helst

h2. Exempel

# Hämta alla apparater
devices = Home.devices

# Sätt på den första
device = devices.first.turn_on

# Hämta status (:on eller :off)
device.status

# Vad heter apparaten?
device.name

# Hämta en apparat med hjälp av id
device = Home.find 1

# Stäng av alla apparater i hemmet
Home.turn_off

# Gör din sambo galen
while
  status = device.status
  dark = (status == :off) ? true : false

  if dark
    Home.turn_on
  else
    Home.turn_off
  end

  sleep 3
end


h1. Jogger Web Framework

Jogger is a lightweight Java library for building Web Applications. It provides a *routing mechanism* - that allows you to map HTTP requests to Java methods - and *a view template engine based on "FreeMarker":http://freemarker.sourceforge.net/*. The truth is that I just wanted a super simple Java web framework that would allow me to:

* _Use a better request/response API_: The Servlet API sucks.
* _Map HTTP requests to Java methods_: similar to Play! Framework (which is inspired by Ruby on Rails).
* _Define views and layouts_: reuse layouts in multiple views.
* _Plug into any project_: let me choose the project structure and the libraries/frameworks I want to use; don't make this hard on me.
* _Deploy into any Servlet Container_: such as Jetty or Tomcat.

So, I made Jogger ;)

h2. Documentation

* "Main Documentation Page":https://github.com/germanescobar/jogger/wiki

Add "easy testing" as a feature.

h1. Jogger Web Framework

Jogger is a lightweight Java library for building Web Applications. It provides a *routing mechanism* - that allows you to map HTTP requests to Java methods - and *a view template engine based on "FreeMarker":http://freemarker.sourceforge.net/*. The truth is that I just wanted a super simple Java web framework that would allow me to:

* _Use a better request/response API_: the Servlet API sucks but that is not a reason to hide the request/response nature of HTTP.
* _Map HTTP requests to Java methods_: similar to Play! Framework (which is inspired by Ruby on Rails).
* _Define views and layouts_: reuse layouts in multiple views.
* _Plug into any project_: let me choose the project structure and the libraries/frameworks I want to use; don't make this hard on me.
* _Deploy into any Servlet Container_: such as Jetty or Tomcat.
* _Easy testing_: test controllers and views without having to start a Servlet Container.

So, I made Jogger ;)

h2. Documentation

* "Main Documentation Page":https://github.com/germanescobar/jogger/wiki


h1. Sample Wiki application

A sample app to try out a Wiki engine. The following tools are used:

* Ruby 1.9.2

* Gollum   - A git powered Wiki engine, also used in GitHub
* Rails 3  - Latest Rails to provide a frontend for an application
* Bundler  - Gem packages manager
* Haml     - Template language / HTML generator from Rails
* JQuery   - JavaScript framework used unobtrusively
* Jammit   - Asset packages compressor
* RedCloth - Adds Textile support for Wiki markup

h2. Getting started

* Create a Git repository for the wiki:

```git init --bare db/wiki.git```

* Get Gem dependencies:

```bundle install```

* Setup the database config:

```cp config/database.yml.sample config/database.yml```

* Create the database:

```rake db:create```

* Run database migrations:

```rake db:migrate```

* Finally start an app and check it out at http://localhost:3000:

```rails s```

h2. TODO

* Testing with Factory_girl, Shoulda
* Fix table of contents hierarchy (parent_id is not set for awesome_nested_set gem)

Add a note that repo is no longer maintained

**This repository is no longer maintained and outdated.**

h1. Sample Wiki application

A sample app to try out a Wiki engine. The following tools are used:

* Ruby 1.9.2

* Gollum   - A git powered Wiki engine, also used in GitHub
* Rails 3  - Latest Rails to provide a frontend for an application
* Bundler  - Gem packages manager
* Haml     - Template language / HTML generator from Rails
* JQuery   - JavaScript framework used unobtrusively
* Jammit   - Asset packages compressor
* RedCloth - Adds Textile support for Wiki markup

h2. Getting started

* Create a Git repository for the wiki:

```git init --bare db/wiki.git```

* Get Gem dependencies:

```bundle install```

* Setup the database config:

```cp config/database.yml.sample config/database.yml```

* Create the database:

```rake db:create```

* Run database migrations:

```rake db:migrate```

* Finally start an app and check it out at http://localhost:3000:

```rails s```

h2. TODO

* Testing with Factory_girl, Shoulda
* Fix table of contents hierarchy (parent_id is not set for awesome_nested_set gem)


h1. Hacking on the OAuth2 Provider

This plugin is tested with:
* Rails v2.3.4
* MRI 1.8.7 and JRuby 1.5.1

h2. Getting up and running

 $ git clone git://github.com/ThoughtWorksStudios/oauth2_provider.git

For MRI:

 $ [sudo] gem install rcov saikuro_treemap --no-rdoc --no-ri

For JRuby, nothing more is needed, JRuby 1.5.1 and all necessary gems
are bundled in the /tools directory

h2. Structure of the code

 /tools - contains JRuby + dependency gems
 /provider - a sample rails app containing the plugin
 /provider/test - contains the unit+functional tests
 /provider/vendor/plugins/oauth2_provider - the actual plugin

h2. Hacking on code

 $ cd provider
 $ # muck around with code
 $ rake #using MRI
 $ script/jruby -S rake #using the bundled JRuby

h2. Metrics

 $ cd provider
 $ rake test:coverage
 $ rake metrics:saikuro_treemap

h2. Pushing out gems

 $ cd provider
 $ script/jruby -S rake release:push        # follow the instructions printed by the task
 $ script/jruby -S gem push pkg/oauth2_provider-VERSION.gem

Add some documentation on required dependencies.

h1. Hacking on the OAuth2 Provider

This plugin is tested with:
* Rails v2.3.4
* MRI 1.8.7 and JRuby 1.5.1

Dependencies:
* See the gemspec in "https://github.com/ThoughtWorksStudios/oauth2_provider/blob/master/provider/vendor/plugins/oauth2_provider/tasks/gem.rake":gem.rake a list of known dependencies

h2. Getting up and running

 $ git clone git://github.com/ThoughtWorksStudios/oauth2_provider.git

For MRI:

 $ [sudo] gem install rcov saikuro_treemap validatable --no-rdoc --no-ri

For JRuby, nothing more is needed, JRuby 1.5.1 and all necessary gems
are bundled in the /tools directory

h2. Structure of the code

 /tools - contains JRuby + dependency gems
 /provider - a sample rails app containing the plugin
 /provider/test - contains the unit+functional tests
 /provider/vendor/plugins/oauth2_provider - the actual plugin

h2. Hacking on code

 $ cd provider
 $ # muck around with code
 $ rake #using MRI
 $ script/jruby -S rake #using the bundled JRuby

h2. Metrics

 $ cd provider
 $ rake test:coverage
 $ rake metrics:saikuro_treemap

h2. Pushing out gems

 $ cd provider
 $ script/jruby -S rake release:push        # follow the instructions printed by the task
 $ script/jruby -S gem push pkg/oauth2_provider-VERSION.gem


h1. Stationary

p. This project rocks and uses MIT-LICENSE.

h2. Installation

p. Add the line below to your rails applciation Gemfile.  _This gem has only been tested with Rails 3.2 and Ruby 1.9.3 so far._

gem 'stationary', '0.0.1.pre'

p. After updating you gem set you can run the following to install the stationary at the root of your application.

rails g stationary:install

p. The install generator will add the engine routes into your applications _config/routes.rb_ and also create a initializer file _config/initializers/stationary.rb_ that shows some of the common configuraiton points for the engine.

h2. Configuration

# config/initializers/stationary.rb
#Stationary.configure do |config|
#  config.root               = "#{Rails.root}/app/views/site"
#  config.skip_before_fil

h2. Contributing

* Fork
* Add Failing/Feature Spec
* Add code to make Spec pass
* Send Pull Request

Remove the version from the readme.

h1. Stationary

p. This project rocks and uses MIT-LICENSE.

h2. Installation

p. Add the line below to your rails applciation Gemfile.  _This gem has only been tested with Rails 3.2 and Ruby 1.9.3 so far._

gem 'stationary'

p. After updating you gem set you can run the following to install the stationary at the root of your application.

rails g stationary:install

p. The install generator will add the engine routes into your applications _config/routes.rb_ and also create a initializer file _config/initializers/stationary.rb_ that shows some of the common configuraiton points for the engine.

h2. Configuration

# config/initializers/stationary.rb
#Stationary.configure do |config|
#  config.root               = "#{Rails.root}/app/views/site"
#  config.skip_before_fil

h2. Contributing

* Fork
* Add Failing/Feature Spec
* Add code to make Spec pass
* Send Pull Request


---
layout: default
title: A simple instant message client for Android that uses Tor.
---

h2. Anonymous friends
trusted face-to-face.

Create secure social networks using shared QR codes. Share them with whomever you trust, face-to-face.

Download App

Update download apk for new release.


h2. Spree 1.1.0 Release Notes

endprologue.

h3. Summary

h3. spree_product_groups now as standalone extension

Product Groups component is extracted to a standalone spree extension. It is
now could be added to your application by appending to Gemfile:

    gem 'spree_product_groups', :git => 'git@github.com:spree/spree_product_groups.git'

h3. Removed images association of +Spree::Product+

+Spree::Product+ association with +viewable+ has been moved +master+ variant of
the product. The change is backward compatible and require no upgrade modification.

h3. Deprecated functions

h4. Spree::Zone

+Spree::Zone#in_zone?+ is retired, please use +Spree::Zone#include?+ instead.

h4. Spree::PaymentMethod

+Spree::PaymentMethod.current+ is retired, please use +current_order.payment_method+ instead.

Additionally, +current_gateway+ is also removed.

h4. Old Theme Hook

`theme_support` files are now deprecated in favor of Deface. Make sure you port
all your old style hooks to Deface.

Add note about ransack replaced meta_search in Release Notes 1.1.0

h2. Spree 1.1.0 Release Notes

endprologue.

h3. Summary

h3. spree_product_groups now as standalone extension

Product Groups component is extracted to a standalone spree extension. It is
now could be added to your application by appending to Gemfile:

    gem 'spree_product_groups', :git => 'git@github.com:spree/spree_product_groups.git'

h3. Removed images association of +Spree::Product+

+Spree::Product+ association with +viewable+ has been moved +master+ variant of
the product. The change is backward compatible and require no upgrade modification.

h3. ransack replaced meta_search

`ransack` replaced `meta_search` as the primary object-based searching mechanism.
Be warned that `ransack` is not fully backward-compatible with `meta_search` query.
Make sure you port and test all `meta_search` queries to `ransack` after upgrade.

h3. Deprecated functions

h4. Spree::Zone

+Spree::Zone#in_zone?+ is retired, please use +Spree::Zone#include?+ instead.

h4. Spree::PaymentMethod

+Spree::PaymentMethod.current+ is retired, please use +current_order.payment_method+ instead.

Additionally, +current_gateway+ is also removed.

h4. Old Theme Hook

`theme_support` files are now deprecated in favor of Deface. Make sure you port
all your old style hooks to Deface.


bq. His code not functional or elegant.
What do Code Monkey think?
--
Jonathan Coulton,
"Code Monkey":http://www.jonathancoulton.com/songdetails/Code%20Monkey

Do Ruby's stylish core and standard libraries make your JavaScript green with
envy? Tart up that dowdy JavaScript -- put on some *Rouge*.

Rouge is a JavaScript implementation of some of the Ruby base classes and
modules.

h1. Credits

Rouge's author is Nils Jonsson (nils@alumni.rice.edu). Released under the
MIT License.

Add the beginnings of example code and improve the markup

h1. Welcome to Rouge

bq. His code not functional or elegant.
What do Code Monkey think?
--
Jonathan Coulton,
"Code Monkey":http://www.jonathancoulton.com/songdetails/Code%20Monkey

Do Ruby's stylish core and standard libraries make your JavaScript green with
envy? Tart up that dowdy JavaScript -- put on some *Rouge*.

Rouge is a JavaScript implementation of some of the Ruby base classes and
modules.

h1. Usage

Rouge makes your JavaScript look and feel more like Ruby while preserving sound
JavaScript style.

Stop writing:

var array = ['a', 'b', 'c', 'd', 'e'];
for (var s in array) {
  alert(s);
}

when instead you can write:

var array = ['a', 'b', 'c', 'd', 'e'];
array.each(function(s) {
  alert(s);
});

h1. Credits

Rouge's author is "Nils Jonsson":mailto:nils@alumni.rice.edu?subject=Rouge.
Released under the "MIT License":MIT-LICENSE.


Library for generating KML(Keyhole Markup Language) files in Ruby.
Sweet if you want to place markers, overlays, and other awesome things over a google map or google earth.

h2. Examples

See @test/kml_file_test.rb@ for more examples

h3. Placing markers on a map

$LOAD_PATH.unshift('path/to/ruby_kml/lib') # Needed until this gets gemmified
require 'kml'

kml = KMLFile.new
folder = KML::Folder.new(:name => 'Melbourne Stations')
[
  ["Flinders St",    -37.818078, 144.966811],
  ["Southern Cross", -37.818358, 144.952417],
].each do |name, lat, lng|
  folder.features << KML::Placemark.new(
    :name => name,
    :geometry => KML::Point.new(:coordinates => {:lat => lat, :lng => lng})
  )
end
kml.objects << folder
puts kml.render

Add link to example KML file on google maps

Library for generating KML(Keyhole Markup Language) files in Ruby.
Sweet if you want to place markers, overlays, and other awesome things over a google map or google earth.

h2. Examples

See @test/kml_file_test.rb@ for more examples

h3. Placing markers on a map

"View on Google Maps":http://maps.google.com/maps?q=http://github.com/xaviershay/ruby_kml/tree/master%2Fexamples%2Fmelbourne-stations.kml?raw=true&t=k

$LOAD_PATH.unshift('path/to/ruby_kml/lib') # Needed until this gets gemmified
require 'kml'

kml = KMLFile.new
folder = KML::Folder.new(:name => 'Melbourne Stations')
[
  ["Flinders St",    -37.818078, 144.966811],
  ["Southern Cross", -37.818358, 144.952417],
].each do |name, lat, lng|
  folder.features << KML::Placemark.new(
    :name => name,
    :geometry => KML::Point.new(:coordinates => {:lat => lat, :lng => lng})
  )
end
kml.objects << folder
puts kml.render


h1. Java Pack

Java Pack is a random assortment of Java packages that I find interesting. Its is
mainly concerned with mathematical modeling and two and three dimensional physics
and graphics.

h2. Management

h3. License

This code is licensed under version 2.0 of the Apache License. See the COPYING
file in the same location as this README for more information.

h3. Source Code

Source code is managed in git and the home repository can be found at github.com.

<pre>
git clone git://github.com/openecho/Java-Pack.git
</pre>

The source code can be browsed at "github":http://github.com/openecho/Java-Pack or
in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/repository
mirror.

h3. Issue Management

Issues are controlled in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/issues.
Patches can be created by cloning the repository on github and making changes and
notifying me of a pull request or simply notify me of the url that holds the changes
and give me some details.

h2. Packages

h3. openecho.math

Implementation of mathematical objects.

Stop it with the word wrap maaaaaaaan

h1. Java Pack

Java Pack is a random assortment of Java packages that I find interesting. Its is mainly concerned with mathematical modeling and two and three dimensional physics and graphics.

h2. Management

h3. License

This code is licensed under version 2.0 of the Apache License. See the COPYING file in the same location as this README for more information.

h3. Source Code

Source code is managed in git and the home repository can be found at github.com. If you have git installed you can simply type,

<pre>
git clone git://github.com/openecho/Java-Pack.git
</pre>

The source code can be browsed at "github":http://github.com/openecho/Java-Pack or in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/repository mirror.

h3. Issue Management

Issues are controlled in my personal "Redmine":http://jwm.slavitica.net/p/projects/java-pack/issues. Patches can be created by cloning the repository on github and making changes and notifying me of a pull request or simply notify me of the url that holds the changes and give me some details.

h2. Packages

h3. openecho.math

Implementation of mathematical objects.


h2. Spree 1.2.0 Release Notes

endprologue.

h3. Summary

h3. Major changes (backwards incompatibility)

h3. Minor changes

h4. Spree::Zone#country_list renamed to #zone_member_list

Please be noted that the underlying logics remain intact.

h4. Spree::Creditcard renamed to Spree::CreditCard

All occurences of Creditcard word are changed to CreditCard.

Improve wording around Creditcard changes in 1.2 changelog

h2. Spree 1.2.0 Release Notes

endprologue.

h3. Summary

h3. Major changes (backwards incompatibility)

h3. Minor changes

h4. Spree::Zone#country_list renamed to #zone_member_list

Please be noted that the underlying logics remain intact.

h4. Spree::Creditcard renamed to Spree::CreditCard

All occurences of Creditcard are changed to CreditCard to better follow Rails naming conventions.


---
layout: default
title: Maintenance of this website
---

These group pages are maintained with "Jekyll":https://jekyllrb.com/ using the "Textile":http://redcloth.org/textile  markup language. This page has some information on how to maintain it.

h2(#Building). Building

The website is built using

jekyll build --destination=~/public_html/group

.

Update 'this site' webpage with the actual set of commands to update this site

---
layout: default
title: Maintenance of this website
---

These group pages are maintained with "Jekyll":https://jekyllrb.com/ using the "Textile":http://redcloth.org/textile  markup language. This page has some information on how to maintain it.

h2(#Building). Building

The website is built using

jekyll build

on the server and then running

./update_group_pages.sh

on @lepus@.