Tuesday, June 28, 2011

Javascript Applications 101

Native style momentum scrolling to arrive in iOS 5


> overflow: scroll;
> -webkit-overflow-scrolling: touch;

> And the content inside that element should get native style momentum scroll. Just like any other app in iOS.

Posted via email from miner49r

Wednesday, June 22, 2011

Noir: websites in Clojure


> Noir is a micro-framework that allows you to rapidly develop websites in Clojure. ... Noir uses Hiccup to generate HTML. ... Noir is built on top of Ring and Compojure, which take care of handling HTTP requests and responses.

Posted via email from miner49r

Thursday, June 16, 2011

Rhino - JavaScript for Java

I came across an old blog post by Brian Carper mentioning that he used Rhino to run JavaScript in Clojure, allowing him to have access to a good implementation of Markdown. "Clojure and Markdown (and Javascript and Java and...)" http://briancarper.net/blog/415/clojure-and-markdown-and-javascript-and-java-and http://www.mozilla.org/rhino/

Posted via email from miner49r

Wednesday, June 15, 2011

Mathematical Background

An excellent summary of mathematical terms that apply to computer science:


> This web page is a revised and extended version of Appendix A from the book Conceptual Structures by John F. Sowa. It presents a brief summary of the following topics for students and general readers of that book and related books such as Knowledge Representation and books on logic, linguistics, and computer science.

Posted via email from miner49r

Friday, June 10, 2011

Rich Hickey Q&A in Code Quarterly

Excellent interview:

Rich Hickey Q&A
by Michael Fogus

Some highlights:

 Clojure’s threaded concurrency story is very solid with numerous flavors of reference types providing different usage scenarios. Do you feel satisfied with Clojure’s current concurrency offerings, or do you have plans to expand on the current reference model, or perhaps venture into distributed concurrency?
 Over time I’ve come to see this as more of a state/identity/value/time/process thing rather than concurrency in and of itself. Obviously it matters greatly for concurrent programs. I think there is room for at least one more reference type. To the extent one value is produced from another via a transient process, you could have a construct that allowed that process to have extent and/or multiple participants. This is the kind of thing people do on an ad hoc basis with locks, and could be wrapped in a reference-like construct, pods, that would, like the others, automate it, and make it explicit and safe.
I don’t see distributed concurrency as a language thing. In addition, I don’t think most applications are well served with directly connected distributed objects, but would be better off with some sort of message queues instead.
 While there are also primitives supporting parallelism, Clojure’s story here has a lot of room for expansion. Do you plan to include higher-level parallel libraries such as those for fork-join or dataflow?
 Yes, there are plans, and some implementation work, to support fork-join–based parallel map/reduce/filter etc. on the existing data structures.

Read the whole thing.

Posted via email from miner49r

On Types [and Clojure seq]

Interesting essay on the meaning of (seq ...)


The work horse in the very low-level code of the sequence library is the lazy-seqmacro. It returns an instance of class clojure.lang.LazySeq which encapsulates the abstract instructions to realise the actual sequence according to the body of the lazy-seq macro.

Should this class implement the clojure.lang.ISeq interface?

Posted via email from miner49r

Wednesday, June 8, 2011

Scott Davis inducted into the ITA Hall of Fame

Scott Davis is an old friend from Stanford.  He was inducted into the Intercollegiate Tennis Association Hall of Fame on May 25.  Great guy, and a fantastic athlete.  He was the number one player on Stanford's 1983 NCAA championship team.  US Davis Cup team member (1980-1991) . . . Australian Open Doubles Champion (1991) . . . Ranked as high as No. 11 in the world in singles (1985) . . . Ranked a high of No. 2 in the world in doubles (1991).  Winner of three professional titles.  He's now the club pro in Newport Beach.  Congratulations, Scott!




Posted via email from miner49r

Monday, June 6, 2011

Simple Thrift in Clojure


Thrift provides some nice features such as client and server implementations (not just serialization), support for richer datastructures, and Javascript bindings. Despite these advantages, it can be a pain to figure out how to use Thrift because of spotty documentation.
To that end, I've just created an extremely simple wrapper library and example that demonstrates how to use Thrift in clojure.

Posted via email from miner49r

Saturday, June 4, 2011

Chameleon - UIKit for Mac development


> If you're an iOS developer, you're already familiar with UIKit, the framework used to create apps for the iPhone, iPod and iPad. Chameleon is a drop in replacement for UIKit that runs on Mac OS X. In many cases, your iOS code doesn't need to change at all in order to run on a Mac.

Posted via email from miner49r

Friday, June 3, 2011

A Brief Overview of the Clojure Web Stack


This article introduces Clojure's web application stack. The heart of this stack is Ring: an interface for conforming libraries, a set of adapters for various HTTP servers, and middleware and utilities. This article aims to help you navigate the increasingly broad range of libraries and choose some solid libraries and get an app moving with Ring.

Posted via email from miner49r