Tuesday, February 19, 2013

Friday, January 11, 2013

Thunderbolt and MiniDisplay Mac Compatibility 101

Thanks to Michael Olivero for posting his research about mixing Thunderbolt and MiniDisplayPort devices. This answered a question I had about buying a new MacBook Air.

http://michael.olivero.com/post/2011/07/21/Thunderbold-and-MiniDisplay-Mac-Co...

Posted via email from miner49r

Thursday, January 3, 2013

Clojure conditional feature reader

I’ve been experimenting with tagged literals and data-readers to create what I’m calling a “conditional feature reader”. The basic element is the condf tag, which works sort of like cond but the tests are “feature requirements”. A feature requirement can be something like clj1.5 (meaning Clojure 1.5) or java1.6+ (meaning JDK 1.6 or greater). For example:

(println #feature/condf [(and jdk1.6+ clj1.5.*) "Ready for reducers" else "No reducers for you."])

I’ve only implemented it for regular Clojure 1.4 and 1.5 (on the JVM), but I’m hoping it might prove useful for other variants such as ClojureScript.

For more details, see:

https://github.com/miner/wilkins

Posted via email from fnclojure

Friday, December 14, 2012

Moving away from Noir

Anthony Grimes (Raynes) reports on the deprecation of Noir for Clojure web apps:

http://blog.raynes.me/blog/2012/12/13/moving-away-from-noir/

Chris and I discussed this last night, and we decided that it’s time to deprecate Noir and ask that people focus on Compojure instead. The good news is that you don’t have to give much of anything up if you move to Compojure! A while back when I started moving my own sites to Compojure, I took most of the useful libraries that were embedded in Noir and I split them out into a new library that you can use from Compojure! lib-noir is the legacy of Noir. The best thing that came out of it. It has all the useful stateful sessions, flashes, cookies, as well as the other useful libraries. In fact, the latest release of Noir depends on this library so if you’re using it, you’re already secretly using lib-noir!

For new websites, please use Compojure and lib-noir. This is pretty much just as batteries included as Noir itself ever was! You just have to learn how to write routes with Compojure. It’s easy and just as concise as it was in Noir. You don’t have to use ring-jetty-adapter and stuff, just use the lein-ring plugin to start your server.

Related links: https://github.com/weavejester/compojure https://github.com/noir-clojure/lib-noir https://github.com/weavejester/lein-ring

Posted via email from fnclojure

Saturday, October 27, 2012

ClojureScript and Node.js – an experience report

http://www.pauldee.org/blog/2012/clojurescript-and-node-js-an-experience-report/
> ClojureScript on Node.js is a (potentially) compelling story for writing scripting apps with Clojure.

Posted via email from fnclojure

Monday, October 22, 2012

Spyscope

A clever use of data literal tags for debugging:

https://github.com/dgrnbrg/spyscope

Spyscope A Clojure library designed to make it easy to debug single- and multi-threaded applications.

Usage Add [spyscope “0.1.0”] to your project.clj’s :dependencies.

Posted via email from fnclojure

Wednesday, October 10, 2012

Writing Datomic in Clojure

Rich Hickey introduces Datomic, including architectural and implementation details.

http://www.infoq.com/presentations/Datomic

Posted via email from fnclojure

Sunday, October 7, 2012

Zurb Foundation vs. Twitter Bootstrap

Twitter Bootstrap has the mindshare, but Zurb Foundation is another good choice.

http://designshack.net/articles/css/framework-fight-zurb-foundation-vs-twitte...

Zurb describes it as “an easy to use, powerful, and flexible framework for building prototypes and production code on any kind of device.”

Right from that description you can tell that Zurb is putting a lot of emphasis on the cross-device aspect of its layout grid. Interestingly enough, the word “responsive” doesn’t appear anywhere on the Foundation site (that I can find), but the benefits are definitely similar: design one project that works everywhere.

Posted via email from miner49r

Thursday, September 20, 2012

Rich Hickey talk on Reducers - A Library and Model for Collection Processing

Rich Hickey explains how to bake an Apple pie...

http://www.infoq.com/presentations/Clojure-Reducers

> Rich Hickey discuses Reducers, a library for dealing with collections that are faster than Clojure’s standard lazy ones and providing support for parallelism.

Posted via email from fnclojure

Sunday, September 16, 2012

ClojureScript: 4 Things That Might Worry You, but Shouldn't

http://jasonrudolph.com/blog/2012/09/11/clojurescript-4-things-that-might-wor...

If you’re on the fence about giving ClojureScript a shot, I hereby present: 4 things that might worry you, but shouldn’t.

The post discusses:

  • Debugging
  • API Stability
  • Quality
  • Performance Profiling and Tuning

Posted via email from miner49r

Wednesday, September 12, 2012

Java 6 End of Public Updates extended to February 2013

https://blogs.oracle.com/henrik/entry/java_6_eol_h_h

After further consultation and consideration, the Oracle JDK 6 End of Public Updates will be extended through February, 2013. This means that the last publicly available release of Oracle JDK 6 is to be released in February, 2013.

It’s important to highlight that, as we establish a steady two year cadence for major releases, End of Public Update events for major versions will become more frequent. As a reminder, moving forward, Oracle will stop providing public updates of a major JDK version once all of the following criteria have been met:

• Three years after the GA of a major release • One year after the GA of a subsequent major release • Six months after a subsequent major release has been established as the default JRE for end-user desktops on java.com

For more information see the FAQ on OTN.

http://www.oracle.com/technetwork/java/javase/documentation/autoupdate-166705...

Posted via email from miner49r

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. http://foundation.zurb.com/

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:

http://cs.stanford.edu/jmc

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.

http://jaxenter.com/clojure-datomic-creator-rich-hickey-on-deconstructing-the...

Posted via email from fnclojure

Monday, August 6, 2012

Roman Numerals in Clojure

I saw this post on Roman Numerals in Clojure:

http://www.jayway.com/2012/08/04/a-decimal-to-roman-numeral-converter-in-just...

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
;; http://www.jayway.com/2012/08/04/a-decimal-to-roman-numeral-converter-in-just-a-few-lines/

(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)
      addends
      (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:

http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-s...

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

http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-...

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

Monday, July 30, 2012

An unexpected journey: Announcing a Third Hobbit Movie

Peter Jackson writes:

http://www.facebook.com/notes/peter-jackson/an-unexpected-journey/10151114596...

So, without further ado and on behalf of New Line Cinema, Warner Bros. Pictures, Metro-Goldwyn-Mayer, Wingnut Films, and the entire cast and crew of “The Hobbit” films, I’d like to announce that two films will become three.

It has been an unexpected journey indeed, and in the words of Professor Tolkien himself, “a tale that grew in the telling.”

Posted via email from miner49r

Friday, July 27, 2012

The Clojure Library Ecosystem

Paul Legato writes:

http://www.paullegato.com/blog/clojure-library-ecosystem/

This quick overview will help to orient new Clojure programmers to the current state of the library system, with pointers to resources for further information.

Posted via email from fnclojure

Wednesday, July 25, 2012

OS X 10.8 Mountain Lion

My upgrade to Mountain Lion went smoothly. As always, you should have a complete backup before installing a new OS. Here are a couple of links that should tell you everything you need to know about Mountain Lion:

The Ars Technica review, written by John Siracusa: http://arstechnica.com/apple/2012/07/os-x-10-8/

Where Lion stumbled, Mountain Lion regroups and forges ahead.

The Macworld Review by Jason Snell: http://www.macworld.com/article/1167804/mountain_lion_apple_gets_its_operatin...

Like Lion, Mountain Lion offers numerous feature additions that will be familiar to iOS users. This OS X release continues Apple’s philosophy of bringing iOS features “back to the Mac,” and includes iMessage, Reminders, Notes, Notification Center, Twitter integration, Game Center, and AirPlay Mirroring.

Posted via email from miner49r