Friday, August 31, 2012

Foundation: The Most Advanced Responsive Front-end Framework from ZURB

ZURB Foundation is an older competitor to Twitter Bootstrap. They recently came out with version 3.

Posted via email from miner49r

Sunday, August 26, 2012

Celebration of John McCarthy's Accomplishments

The passing of John McCarthy, on 24 October 2011, received considerable attention in the media and there is an account of his legacy here. A celebration of his accomplishments was held at Stanford on 25 March 2012, as arranged by a committee consisting of Raj Reddy, Nils Nilsson, Ed Feigenbaum and Les Earnest.

Videos from the proceedings are collected on this web page:

Posted via email from miner49r

Clojure/Datomic creator Rich Hickey on Deconstructing the Database

Rich Hickey, author of Clojure, and designer of Datomic presents a new way to look at database architectures in this talk from JaxConf 2012.

Posted via email from fnclojure

Monday, August 6, 2012

Roman Numerals in Clojure

I saw this post on Roman Numerals in Clojure:

This is the sort of little programming problem that can stop useful work dead in its tracks. Here's my shot at the problem. I think it reads better in that the recursion just deals with the numbers and the Roman numeral strings are mapped latter. It's also a bit more efficient in the way it tests against the Roman "bases" (as I call them). There's no need to retest against a high base once your interim value has gone below that mark. In any case, my version is quite a bit faster than the other solution in my micro-benchmarks.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 
(ns miner.roman
  (:require [clojure.test :refer :all]))

;; inspired by

(def roman-map {1000 "M" 900 "CM" 500 "D" 400 "CD"
                100 "C" 90 "XC" 50 "L" 40 "XL"
                10 "X" 9 "IX" 5 "V" 4 "IV" 1 "I"})

(def roman-bases (sort > (keys roman-map)))

(defn roman-addends [n]
  {:pre [(< 0 n 4000)]}
  (loop [n n bases roman-bases addends []]
    (if (zero? n)
      (let [base (first bases)]
        (if (>= n base)
          (recur (- n base) bases (conj addends base))
          (recur n (rest bases) addends))))))

(defn roman [n]
  (apply str (map roman-map (roman-addends n))))

;; contrib clojure.pprint/cl-format works but is slow
(defn roman-cl [n]
  (clojure.pprint/cl-format nil "~@R" n))

(deftest roman-4k
  (doseq [n (range 1 4000)]
    (is (roman-cl n) (roman n))))

Posted via email from fnclojure

Thursday, August 2, 2012

Rich JavaScript Applications – the Seven Frameworks (Throne of JS, 2012)

Nice summary with links to a bunch of JS app libraries and frameworks:

For many web developers, it’s now taken for granted that such client-side frameworks are the way to build rich web apps. If you’re not using one, you’re either not building an application, or you’re just missing out.

Posted via email from miner49r

Journey Through The JavaScript MVC Jungle

Fortunately there are modern JavaScript frameworks that can assist with bringing structure and organization to our projects, improving how easily maintainable they are in the long-run.

These modern frameworks provide developers an easy path to organizing their code using variations of a pattern known as MVC (Model-View-Controller).

Posted via email from miner49r