Thursday, November 20, 2008

2008-11-20 Thursday - QCon 2008 Morning

I'm in San Francisco attending QCon 2008 this week.

Disclaimer: There may be some many mistakes/errors in my blog notes for QCon over the next few days - as I am writing these posts while I'm sitting in sessions - and much of these notes are stream-of-consciousness - as I try to keep up with the presenters. I will attempt to clarify/correct any errors within the week.




9AM...
The morning keynote speaker is Tim Bray.

Tim Bray's morning keynote

MemCacheD - distributed hash table
(is there a .NET plugin available???)
- used by facebook, wikipedia
danga.com/memcached

tbray.org/ongoing

ruby.gemstone.com

MagLev: "Ruby that scales"

Drizzle - a lightweight SQL Database for Cloud and Web computing
fork of MySQL


Apache CouchDB - restful HTTP accessed database
(database is implemented as JSON name/value pairs)
- distributed, fault-tolerant and schema-free document-oriented databaes accessible
via a RESTful HTTP/JSON API. Provides a robust, incremental replication with bi-directional
conflict detectdion and resolution, and is queryable and indexable using a table-oriented view engine
with JavaScript acting as the default view definition language.
- Implemented in Erlang
- incubator.apache.org/couchdb

AtomPub (REST) RC-123 (?) - built by Tim Bray

Bonnie, developed by Tim Bray
- applications need to read/write files
- sometimes they use smart I/O - somethimes they process characters and rely on buffering libraries
- sometimes they need to update files in place
- sometimes they need to seek around


Sun 7410 server has some very interesting performance characteristics for I/O

presentation slides
tbray.com/tmp/QCSF08.pdf







Thursday, November 20, 2008 - morning sessions

DSLs in Practice

Jay Fields, DRW Trading
5Ws of DSLs

Domain Specific Language
- a computer programming language of limited expressiveness focused on

- a DSL supports a bare minimum

examples of DSLs: sql, regular expressions, spring config, linq

Prgrammerr Read/Write DSLs
-JMock
-Mockito
-Active Record

Domain Expert Readable
-RSpec
-Your domain model


-ignore programming best practices

-language noise should not exist
-domain experts design language


DSLs to research: JBehave, JQuery, RSpec Scenarios, Mockito, Rake, Rhino MOcks, db deploy, Prototype Effects, YUI widgets, Thrift,

Seamless resource pub/sub