Skip to main content

My OSCON 2012 Friday

Posted by haroldcarr on July 20, 2012 at 8:21 PM PDT

OSCON Friday July 20, 2012

live streaming

Speaker Slides and Video

1 10am Declarative web data visualization using ClojureScript

Kevin Lynagh

What is Visualization?

Doing it on the Internet

  • : Data Driven Documents
    • "jQuery" for data
    • declarative, familiar representation (HTML, CSS, SVG)
  • Clojure(Script)
    • rich data structures; namespaces; deliberate state/mutation
    • better to have 100 functions operate on one data structure than 10 on 10 - alan perlis

His idea: D3 + ClosureScript with emphasis on data rather than mechanics



[{:flight-no 2, :price 106, :carrier "Alaska", ...}


(map flight-data
  (fn [{:keys [price carrier depar arrive]}]
          [:button.price (str "$" price)]
              {:style {:left  (time-scale depart)
                       :width (time-scale (- arrive depart))}
           :carrier carrier}
          [:span carrier]]])

2 11am Client/Server Apps with HTML5 and Java

James Ward

  • client/single code base -> PhoneGap -> deploy to multiple platforms
  • service : accessed from anything via API
  • stateless web tier
  • transparent real-time

stateless web tier

  • server UN-affinity == scalability and upgrades
  • continuous delivery
  • browser back, forward, reload just work

client/server web and mobile apps

  • REST/JSON services
  • client on a CDN (most of app is static assets)

HTML5 : browser as an application platform

  • tags: video, section article, header, nav
  • APIs: offline, drag and drop, web storage
  • CSS3
  • plus: faster javascript as an enabler


  • jQuery,, coffeescript, …
  • client asset compilers: play 2, rails, …
  • MVC frameworks: backbone, angular, …
  • client-side templating: mustache, dust.js, …
  • no client dependency management tools yet



  • static assets in CDN
  • dynamic data in location that deals with data

3 11:50am Hacking JavaFX with Groovy, Clojure, Scala, and Visage

Stephen Chin

Note: Only 7 people in audience (whereas the
Instantly Better Vim talk at the same time was so packed they had to move it
to another room).

  • JavaFX APIs now in Java
    • FXML markup for tooling
    • all JVM languages work: groovy, scala, clojure, …
  • JavaFX script no longer supported by Oracle
    • use Visage (open-source successor)

ScalaFX: wrapper APIs to make it easier to use from Scala