Search |
||
Notes from Tuesday afternoon JazoonPosted by haroldcarr on June 24, 2009 at 10:08 AM PDT
Here are my notes from the Tuesday afternoon at jazoon.com ============================================================================== Tuesday afternoon June 23, 2009 ------------------------------------------------------------------------------ GridGain - Java Gateway to Cloud Computing Nikita Ivanov – GridGain Systems Grid/Cloud - Grid: 2 or more computers working on same task in parallel - Grid computing: parallel procesing + parallel data storage - Cloud: data center automation (virtualization) - Cloud computing: Grid computing + data center virtualization - Clouds are the new way to deploy and run grid appications Why Grid/Cloud? - Amazon: 100ms latency cost 1% of sales - Google: 500ms latency drops traffic 20% - Financial: $M/ms lose if 5ms behind - Solves problems often unsolvable otherwise eBay: partition processing from data access GridGain - OpenSource (LGPL and Apache 2.0) Java cloud platform - Build and run grid compute apps on cloud infrastructure - integrates with leading data grids - built for native cloud apps Demos... ------------------------------------------------------------------------------ Vendors Alth - Integrate multiple data sources - Was surprised when I asked if they could handle HTML pages with embedded microformats or RDFa Vaadin - Layer on top of GWT ------------------------------------------------------------------------------ Java Rule Engines (Drools, iLog) Raed Haltam – wega Informatik read.haltam@wega.informatik.ch www.wega-informatik.com Treat business logic as business data Rules Engine - execute - stores, versions, secures - rules engine -> repository <- access policy <- edit ^ testing ^ Scenario Manager BOM = business object model XOM = exceution object model Drools, iLog, Jess, ... Rule format: when <condition> then <actions> Based on Charles Forgys RETE Algorithm Rule set, Rule package, BOM and Rule Flow Higher level or "business language" Rule security (on statement level: EG: condition, parameter, action) Rules and SOA - Monitoring of SLAs - Enforcement of contract terms - Business Rules Routing Rules Engine and Complex Event Processing - IBM, Tibco, BEA/Oracle, JBos, WebMethods, ... - JBoss uses Drools ------------------------------------------------------------------------------ OpenUAT: Experiences from the implementation of an Open Source Ubiquitous Authentication Toolkit Iulia Ion – ETH Zurich Rene Mayrhofer: Univserit of Vienna www.openuat.org How to establish a secure connection between two (mobile) devices Out-of-band channels - Visual channel : EG: visual barcodes and phone camera - Audio Channel : EG: key is encoded and transmitted via audio channel - manual string comparison : EG: user compares output manually - Accelerometer data : EG: shake both devices - Button press : EG: pushing buttons simultanesouly on both devices Audio channel - Diffie-Hellman key exchange over Bluetooth - Encode, play -> record, decode hash code of key - device synchronization done via bluetooth play/record Video channel - Hash encoded in a QR code - Take a picture of the other device and decode Shake together - Use the accelerometer times series as a common input secret Button channels - Common input by simultaneous button presses - OR message transmission through button presses Useful libraries - BouncyCastle light - Log4J - Microlog ------------------------------------------------------------------------------ Smithying in the 21st Century Neal Ford - ThoughtWorks Avoid becoming a technology dinosaur Our brains are bad at predicting the future We are bad at statistics (See _The Drunkard's Walk_) Anything this is in world when you where born is natural Anything invented between 15 and 35 - you can make your living at it Anything invented after you are 35 is against the natural order of things Look for paradigm changers - EG: iPhone Apple is largest music retailer in the world Look for warmed over technology - EG: UCSD p-System virtual machine) See: Bruce Tate: _Beyond Java_ - Threading Solution: Haskell, O'Caml, Scala, F# - Dynamic languages Groovy, JRuby, JavaScript, Clojure - One that lie at crossroads Clojure What to do with data (data gather is easy, but now how do you process it)? - The End of Science: www.wired.com/wired/issue/16-07 Technology Accelerators - WAR Civel War: surgery WWI: airplanes WWII: computers Now: robotics Cautionary tales - Reevaluate whether you should continue "solving" "the" problem Maybe the problem is not important/useful any longer - _The Singularity is Near_, Ray Kurzweil Software developers need an Hippocratic Oath - Miles Dyson promise: do not build super intelligent homicidal cyborgs - SWOOPO : "Entertainment shopping" bad site that takes advantage of people's nonunderstanding of statistics The Future - languages matter safir-whorf : language effects ability to have thoughts discrete, but perhaps true in computer languages - Orwell _1984_ - notation matters - polyglot programming - use languages stategically - technology changes us Press elevator Over 30: index finger Under 30: thumb "The best way to predict the future is to create it" - Peter Drucker ------------------------------------------------------------------------------ What they don't teach you about software at school: Be Smart! Ivar Jacobson – Ivar Jacobson www.ivarblog.com Goal: good software quickly at low cost Good: - Useful - Extensible - Reliable Quickly: - Competent and motivated people Low Cost: - Large scale reuse of components Software is a fashion industry - 15 years ago: OO - 10 years ago: UML, Unified Process - 5 years ago: RUP and CMMI - 2 years ago: XP - now: Scrum - None of above is ALL you need - Software industry still looking for silver bullet "Things should be done as simple as possile, but no simpler" - Einstein Being smart is not the same thing as being intelligent Being smart is an evolution of Being Agile Smart cases (what they do not teach you in school) - people, teams, projects, requirements, architecture, modeling, test, documentation, process, knowledge, outsourcing, tools People - some companies view processes and tools as more important than people. NOT smart. Teams - Often organized into stove-pipe groups. EG: requirements, implementation, test. NOT smart. - Cross-functional team Ideal size is less than 10 people Projects - Waterfall: NOT smart - Build a skinny REAL system to demonstrate you have elminated critical risks - Add more capabilities on top of that skinny system - Think big, build in small steps Requirements - Lightweight requirements - Add detail when needed - Requirements are negotiable and can change Architecture - TWO EXTREMES: 1. no architecture: code then refactor later 2. enterprise architect: design everything up front - Smart: enterprise iterative architecture - Focus on skinny system Make it executable (otherwise it is a hallucination) Refactor over releases (large refactoring is costly) Test - think/create: developers; cleanup: testers testing is too late and too expensive - SMART: we are all testers YOU are not done until YOU have verified that YOU did what YOU wanted to do Documentation - UNSMART: people don't read documents - SMART: focus on essentials: placeholders for conversations Process - People don't read process books How do you become smart? - You need knowledge/experience in GOOD practices - Training and mentoring are key »
Related Topics >>
Community Comments
Comments are listed in date ascending order (oldest first)
|
||
|
|