Skip to main content

My OSCON 2012 Wednesday

Posted by haroldcarr on July 18, 2012 at 11:03 PM PDT

OSCON Wednesday July 18, 2012

live streaming


1 9:05am The Learning Map : Danny Hillis (Applied Minds, LLC)

      model of student
             ^
             |
             v
       learning map
        ^        ^
        |        |
        v        v
assessment    learning
resources     resources
  • common core (map of knowledge)
  • LRMI : Learning Research Metadata Initiative

2 9:20am The Mudslide Hypothesis of Science : Kaitlin Thaney (Digital Science)

  • scientific publication is stuck in the 1600s
  • conventions/traditions last because of adversity to change
  • discovery tools are suboptimal
  • paper! notebooks
  • research managed by postit notes
  • maximize (re-)use
  • design decisions are key

3 9:35am Scaling OpenStack Technology. Lessons From The Field : Brian Aker (HP)

  • openstack is like amazon services
  • nova, glance, swift (core)
  • horizon, keystone, quantum
  • stages: ignore you, laugh at you, fight you, you win
  • openstack is currently at the "laugh at you" stage

4 9:50am The Clothesline Paradox and the Sharing Economy : Tim O'Reilly (O'Reilly Media, Inc.)

  • work on stuff that matters : Tim's blog January 2009
  • create more value that you capture
  • The Shareholder Value Myth - Lynn Stout
  • "Looting" (paper) by George Akerlof and Paul Romer
  • Ted talk by Nick Hanauer - capital does not create jobs - customers do
  • The Gardnes of Democracy - Nick Hanauer
  • an economy is an ecosystem

5 The Java EE 7 Platform: Developing for the Cloud

Arun Gupta

Top Ten Features in Java EE 6

  • EJB packaging in WAR
  • Type-safe dependency injection
  • Optional web.xml
  • CDI Events (producer/observer within VM)
  • JSF standardizing on Facelets (MVC - view in CSS/HTML)
  • EJCContainer API
  • @Schedule
  • EJB No Interface View
  • Servlet and CDI extension points
  • Web Profile (subset)

proprietary cloud offerings

  • IaaS: AWS, Azul
  • PaaS: GAE, Cloud Foundry
  • SaaS: SalesForce

Java EE 7 and 8

  • cloud
    • provisioning
    • elastic and autonomic scalability
    • multi-tenancy
  • modularity
    • building on jigsaw
    • focus on OSGi interop
    • supporting profiles and modular apss
  • html5
    • programming model
    • JSON, WebSockets, offline, APIs, DOM

Java EE 7 model

  • build app
  • deploy to cloud admin service (will provision DB, JMS, LDAP, etc)
@DataSourceDefinition(
  name="java:app/jdbc/myDB",
  className="oracle.jdbc.pool.OracleDataSource",
  isolationLevel=TRANSACTION_REPEATABLE_READ,
  initialPoolSize=5)

@JMSConnectionFactoryDefinition(...)
@JMSDestinationDefinition(...)

Elasticy

  • service levels
  • min/max instances
  • self adjustment, capacity on demand

Service Provisioning

  • init LB
  • init DB
  • init instances in cluster

Java EE 7 JSRs

  • minor updates
    • JSF, JSP, Servlet, CDE, Interceptors
    • EJB, JPA, JTA, Bean Validation
  • major updates
    • JAX-RS, EL, JMS
  • extension points
    • CDI, Web Container, Managed Beans
  • candidate JSR

Java EE 7 Early Draft

  • requires Java SE 7
  • default data source, default JMS connection factory, …
  • jax-rpc optional, …

JPA 2.1

  • stored procedures

JAX-RS 2.0

  • client-side API
  • filters and interceptors (pre/post processing)
  • bean validation integration

JMS 2.0

  • simplified API (with injection)

JSON 1.0

  • DOM-based APIs
  • Streaming APIs

WebSocket

  • bi-directional, full-duplex, single TCP connetion
  • use: real-time games, collaboration, social networking

Project Avatar

  • solution for dynamic rich clients

6 11:30am JavaScript Libraries You Aren't Using…Yet

Nathaniel Schutta

  • jQuery getting a bit heavy
  • needs modularity
  • extra bits matter on mobile
  • microframeworks do one thing well (unix model)

zepto.js (subset of jQuery)

  • Thomas Fuchs
  • 7.4kb
  • mobile
  • uses jQuery syntax
  • does not work in IE (on purpose to reduce size)
  • works on safari, chrome, firefox, opera, webkit
  • tap, double tap, swipe, pinch
  • ajax
  • $os to query environment

backbone.js (MVC framework)

  • 1300 lines; 5kb compressed
  • not a UI framework
  • models, events, collections, views, controllers, persistence
  • influenced by Ruby on Rails
  • lots of sample apps

underscore.js

express.js (web server)


7 lunch Rogan Creswick at Galois

I have been teaching myself Haskell. I noticed
Rogan Creswick listed in
the OSCON attendee directory. He works at
Galois - a company that uses Haskell. I
contacted him and he suggested meeting for lunch at Galois in downtown
Portland.

After getting food from the street vendors we sat around a table in their office along with his colleagues
Jason Dagit,
Iavor Diatchki
and
Eric Mertens
discussing benefits of Haskell along with useful resources for learning the language.

I hope that someone from Galois submits at least a couple of talks to
OSCON 2013 about their
open-source libraries and tools (particularly HaLVM
that enables Haskell to run directly on Xen "bare metal") and their
usage of Haskell.


8 1:40pm You Ain't SPDY

Chris Strom

HTTP

  • HTTP is essentially one-way in each direction
    • must wait for request before response can start
  • we open HTTP 6 connections to each server

SPDY

  • built on SSL, binary, no redundant header info, compressed, single tube
  • use: SYNSTREAM, SYNREPLY, DATA
  • server push

9 2:30pm How to Write Compilers and Optimizers (and solve Data Transformation Problems)

Shevek

mini-language

  • describe your problem in some language
  • implement description or write compiler for that language
  • update the problem description

reasons against compiler

  • write a library instead
  • cognitive load on people that

10 4:10pm Hybrid Applications with MongoDB and RDBMS

Steve Francia

Why/What Mongo?

  • RDBS fine for 40 years
    • and still a great fit for many problems
    • stores things separately - e.g., MRI, XRAY separate for each other and patient
  • Mongo is document DB - patient document contains MRI, XRAY
  • Mongo: no joins, no TX

Why Hybrid?

  • need TX, rigid data
  • transition
  • right tool/job

Why not hybrid?

  • don't understand needs
  • do NOT: mongo as cache in front of SQL

Hybrid

  • partition data between mongo/RDBS
  • model layer handles mapping
  • data does not expire
  • no data duplication

Use-cases

  • craigslist
    • alter table statements took 2 months to run
    • MyQSL for active data (100mil); MongoDB for archive (2+bil)
  • customInk.com
    • reporting team does not want to learn MongoDB
    • MongoDB for active DB; replicate to MySQL for reporting
  • opensky.com
    • multi-vertical catalog impossible to model in RDBMS
    • MySQL for orders; MongoDB for all else

How to build hybrid

Doctrine (ORM/ODM)

  • SQL: order; order/shipment; order/transaction; inventory
  • Mongo: user, product, address, cart, credit card, inventory, …
  • note: inventory in both : sync via listeners (in model of app)

Read article at: http://jwage.com


11 5pm Building Functional Hybrid Apps For The iPhone And Android

Carlos Andreu,
Michael Thompson

Main point: With right tools, developing mobile apps is easy.

Service (independent of Mobile app impl)

  • IBM WAS Liberty Profile http://wasdev.net/
  • Eclipse with Liberty Developer Tools (from Eclipse Market Place)
  • CRUD via REST (JAX-RS)
  • JSON

Mobile app (independent of Service impl)

  • hybrid (instead of native)
  • dev tool: Eclipse + IBM Worklight
  • mobile UI: jQuery mobile (could have used dojo mobile, sencha touch)
  • apache cordova (aka PhoneGap): to get accelerometer, capture,
    geolocation, notifications, contacts, file system, events
  • WL.TabBar (iPhone); WL.OptionsMenu (Android)
  • Worklight adapters to do data (REST, DB, …)
  • testing: QUnit

12 8pm David Friesen Quintet at Jimmy Mak's