https://intltechventures.blogspot.com/
Accelerate. Innovate. Elevate.
Research Notebook - International Technology Ventures, Inc.
2012-10-05
2012-10-05 Friday - Recent Interesting Finds...
I recently started following @highscal on Twitter - also see: http://highscalability.com/
I happened to come across Ikai Lan's blog [@ikai]- a treasure trove of interesting posts (and he's also very active on github - https://github.com/ikai)
On one of his posts - Ikai mentioned Google Apps Script - which I haven't looked at previously - and in particular - there was a mention of the Google Finance Services - which I want to remember to come back and review later: https://developers.google.com/apps-script/service_finance
See Tutorials: https://developers.google.com/apps-script/articles
Because of some recent performance tuning experiences ['challenges'] observed in a production environment with a 3rd party vendor's commercial Java application using Hibernate - I was also intrigued that Ikai also had a post providing examples of jOOQ - a DSL for creating the ORM between Java and SQL.
Finally, Ikai's write-up on LinkedIn's use of node.js had a mention regarding netty - which I haven't looked at in quite awhile - so this is another item to put on my reminder list for later research.
2012-10-02
2012-10-02 Tuesday - SHA-3 winner (Keccak)
http://csrc.nist.gov/groups/ST/hash/sha-3/winner_sha-3.html
http://keccak.noekeon.org/
From keccak web site:
NIST announced Keccak as the winner of the SHA-3 Cryptographic Hash Algorithm Competition and the new SHA-3 hash algorithm in a press release issued on October 2, 2012. Keccak was designed by a team of cryptographers from Belgium and Italy, they are:
- Guido Bertoni (Italy) of STMicroelectronics,
- Joan Daemen (Belgium) of STMicroelectronics,
- Michaël Peeters (Belgium) of NXP Semiconductors, and
- Gilles Van Assche (Belgium) of STMicroelectronics.
http://keccak.noekeon.org/
From keccak web site:
Keccak makes use of the sponge construction and is hence a sponge function family.
The design philosophy of Keccak is the hermetic sponge strategy. It uses the sponge construction for having provable security against all generic attacks. It calls a permutation that should not have structural properties with the exception of a compact description. By structural properties we mean properties that a typical random permutation does not have.
Keccak can be considered as a successor of RadioGatún. However, it has a very different design philosophy. The transformation applied to the state of RadioGatún in between the insertion of input blocks or extraction of output blocks is a simple round function. This round function has algebraic degree two and thus does not attempt to be free of structural properties. Therefore, unlike Keccak, RadioGatún requires blank rounds. Moreover, RadioGatún is not a sponge function as its iteration mode does not follow the sponge construction.
The permutation Keccak-f has the following properties:
About the performance of Keccak:
- It consists of the iteration of a simple round function, similar to a block cipher without a key schedule.
- The nominal version of Keccak-f operates on a 1600-bit state. There are 6 other state widths, though: 25, 50, …, 800.
- The choice of operations is limited to bitwise XOR, AND and NOT and rotations. There is no need for table-lookups, arithmetic operations, or data-dependent rotations.
Keccak can be used for:
- In software, Keccak[] takes about 13 cycles per byte on the reference platform defined by NIST.
- In hardware, it is fast and compact, with area/speed trade-offs.
- It is suitable for DPA-resistant implementations both in hardware and software.
In these cases, the usage of the sponge construction allows for modes that are provably secure against generic attacks.
- keyed or randomized modes simply by prepending a key or salt to the input message;
- generating infinite outputs, making it suitable as a stream cipher or mask generating function.
Labels:
Encryption,
Security,
SHA-1,
SHA-2,
SHA-3
2012-09-30
2012-09-30 Sunday - JavaOne 2012 Keynote
I'm watching the JavaOne keynote live:
http://www.oracle.com/javaone/index.html
I'll have some notes added to this shortly...
Sunday, September 30, 2012
4pm-7pm JavaOne Keynote
Java EE 7 targeted for sometime in 2013 (?)
Project Nashorn
JavaFX Update
- JavaFX available on Linux/ARM and Scene Builder for Linux
- JavaFX 2.2 and beyond
-- JDK 8 plans include 3D, 3rd party controls
-- Intended as a replacement for Swing
- JavaFX will be fully open sourced by the end of 2012 (?)
Java SE 9 and Beyond
- Project Sumatra will enable Java applications to leverage multicore CPU an parallel processors ["Write once, run anywhere extended to the heterogeneous platform"]
-- http://openjdk.java.net/projects/sumatra/
-- "to enable Java applications to take advantage of graphics processing units (GPUs) and accelerated processing units (APUs)--whether they are discrete devices or integrated with a CPU--to improve performance."
JKD 8
- to be feature complete in January 2013
- Developer Preview available in February
- George Saab called for JDK 8 "test pilots"
Java Dolphin Project - open sourced
- https://github.com/canoo/open-dolphin
- JavaFX data integration project
Java Embedded
- Offerings: Java Card, ME-E, OJEC, SE-E
- New Embedded Releases (Java ME Embedded 3.2, Java Embedded Suite 7.0)
- ehs5 released today - smallest M-M capable for Java Embedded device
Java EE (Cameron Purdy presented, coherence creator)
- Focus and Direction: Standard, Productivity, Portability, Extensibility, Modularity
- 14 vendors have passed EE 6 TCK
- Java EE 7 for 2013
- Scale to build dynamic HTML 5 Apps [WebSockets, Servlet 3.1 NIO, Server Sent Events, JSON, REST
- Continued Productivity Focus (more API pruning, built on Java SE 7, broader uptake of Dependency Injection)
- and with caching (JSR 107) and Batch Applications for the Java Platform (contributed by IBM) JSR 352 http://www.jcp.org/en/jsr/detail?id=352
- Java EE 7 Cloud features to be delayed until 2015 (targeted for Java EE 8 Platform)
- Java EE Persistence for NoSQL - no existing NoSQL standard yet
- EclipseLink NoSQL - JPA Style
-- MongoDB
-- Oracle NoSQL
-- Cassandra planned
-- more coming...
- WebSocket in Java EE 7 already in GlassFish
- Java EE 8: "Incremental delivery of JSRs"
- Jigsaw modularity with Java SE 9
Java EE Past, Present, Future
http://www.nikeinc.com is looking to hire Java programmers...
Oracle Certification Exam Guides
OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM
Exams 1Z0-051, 1Z0-052, 1Z0-053
http://www.mhprofessional.com/product.php?isbn=0071629181
OCA Oracle Database SQL Certified Expert Exam Guide (Exam 1Z0-047)
http://www.mhprofessional.com/product.php?isbn=0071614214
Oracle Solaris 11 System Administration The Complete Reference
http://www.mcgrawhill.ca/professional/products/9780071790420/oracle+solaris+11+system+administration+the+complete+reference/
OCA: Oracle Database 11g Administrator Certified Associate Study Guide: (Exams1Z0-051 and 1Z0-052)
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470395125,descCd-authorInfo.html
Kaplan: Oracle Learning Tools and Practice Tests
http://www.selftestsoftware.com/certprep-materials/oracle.kap
"If I found a spaceship, I would never ever have to talk about the Titanic again"
- Dr. Robert Ballard (located Titanic)
IBM: Jason McGee discussed Java Applications in the Cloud - and Cloud Challenges for Java...
- share more, cooperate, use less, expolit
- The Patterns Approach for describing Cloud based Applications/Systems
-- workload pattern, virtual application instance
IBM: Java Applications in the Cloud (IBM's Jata CTO talked about multi-JVM deployments in the cloud)
- Sharing
- J9 JVMs using sharing to reduce costs
-- shared classes cache for read-only shared artifacts (bytecodes)
-- Dynamic AOT (ahead-of-time code) - reuse JIT code from multiple JVMs
-- Reduce memory use by 20%, improving startup time 10-30%
- Multitenancy
-- JVMs evolution to support isolation within a single JVM
--- Single copy of code, multiple copy of static variables
--- resource management within isolation context
-- Goal: 10s of K vs MBs per tenant safely
- 'Liberty' Profile - for Web, OSGi and Mobile Apps
-- Lightweight Runtime for Cloud
--- WEb profile server < 50 MB zip
--- Small memory footprint < 50 MB
--- Fast server start times < 2 secs
-- Standards Based Modularity for Cloud
--- Java EE++ built on OSGi modules and services
--- Modularity in Java SE 6 and up
-- Developer First Focus
--- Simple server configuration
--- fast easy setup
--- Integrated Eclipse AppDev tools
--- No restart required code changes
-- Dynamic Modular Runtime
--- ...
- Dynamic Behavior
-- Dynamic memory resize, processor reallocation and app migration
--- JVM will react in real-time to resource events
--- Integration across JVM/OS/HV for best performance
IBM: New System Z recently announced...
- New 5.5 GHz 6-core processor chip, large caches to optimize data serving 2nd gen OOO design
- Hardware Transaction Memory (HTM)
- Run-time Instrumentation (RI)
- 2GB page frames - improved performance targeting 64-bit heaps
- Page-able 1MB large pages using flash
- New software hints/directives
- New trap instructions
- Up-to 45% improvement in throughput amongst Java workloads measured with zEC12
IBM: Hardware Matters (Jason McGee, Chief Architect Cloud Computing, IBM Distinguished Engineer)
- hardware is changing and evolving rapidly
-- move to solid state, multi-core processors, Low latency high-bandwidth networks (RDMA), Advanced Energy Management, Storage Cloud Memory
- IBM: JVM Support for Multiple Languages (Jason McGee, Chief Architect Cloud Computing, IBM Distinguished Engineer)
http://www.oracle.com/javaone/index.html
I'll have some notes added to this shortly...
Sunday, September 30, 2012
4pm-7pm JavaOne Keynote
Java EE 7 targeted for sometime in 2013 (?)
Project Nashorn
JavaFX Update
- JavaFX available on Linux/ARM and Scene Builder for Linux
- JavaFX 2.2 and beyond
-- JDK 8 plans include 3D, 3rd party controls
-- Intended as a replacement for Swing
- JavaFX will be fully open sourced by the end of 2012 (?)
Java SE 9 and Beyond
- Project Sumatra will enable Java applications to leverage multicore CPU an parallel processors ["Write once, run anywhere extended to the heterogeneous platform"]
-- http://openjdk.java.net/projects/sumatra/
-- "to enable Java applications to take advantage of graphics processing units (GPUs) and accelerated processing units (APUs)--whether they are discrete devices or integrated with a CPU--to improve performance."
JKD 8
- to be feature complete in January 2013
- Developer Preview available in February
- George Saab called for JDK 8 "test pilots"
Java Dolphin Project - open sourced
- https://github.com/canoo/open-dolphin
- JavaFX data integration project
Java Embedded
- Offerings: Java Card, ME-E, OJEC, SE-E
- New Embedded Releases (Java ME Embedded 3.2, Java Embedded Suite 7.0)
- ehs5 released today - smallest M-M capable for Java Embedded device
Java EE (Cameron Purdy presented, coherence creator)
- Focus and Direction: Standard, Productivity, Portability, Extensibility, Modularity
- 14 vendors have passed EE 6 TCK
- Java EE 7 for 2013
- Scale to build dynamic HTML 5 Apps [WebSockets, Servlet 3.1 NIO, Server Sent Events, JSON, REST
- Continued Productivity Focus (more API pruning, built on Java SE 7, broader uptake of Dependency Injection)
- and with caching (JSR 107) and Batch Applications for the Java Platform (contributed by IBM) JSR 352 http://www.jcp.org/en/jsr/detail?id=352
- Java EE 7 Cloud features to be delayed until 2015 (targeted for Java EE 8 Platform)
- Java EE Persistence for NoSQL - no existing NoSQL standard yet
- EclipseLink NoSQL - JPA Style
-- MongoDB
-- Oracle NoSQL
-- Cassandra planned
-- more coming...
- WebSocket in Java EE 7 already in GlassFish
- Java EE 8: "Incremental delivery of JSRs"
- Jigsaw modularity with Java SE 9
Java EE Past, Present, Future
http://www.nikeinc.com is looking to hire Java programmers...
Oracle Certification Exam Guides
OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM
Exams 1Z0-051, 1Z0-052, 1Z0-053
http://www.mhprofessional.com/product.php?isbn=0071629181
OCA Oracle Database SQL Certified Expert Exam Guide (Exam 1Z0-047)
http://www.mhprofessional.com/product.php?isbn=0071614214
Oracle Solaris 11 System Administration The Complete Reference
http://www.mcgrawhill.ca/professional/products/9780071790420/oracle+solaris+11+system+administration+the+complete+reference/
OCA: Oracle Database 11g Administrator Certified Associate Study Guide: (Exams1Z0-051 and 1Z0-052)
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470395125,descCd-authorInfo.html
Kaplan: Oracle Learning Tools and Practice Tests
http://www.selftestsoftware.com/certprep-materials/oracle.kap
"If I found a spaceship, I would never ever have to talk about the Titanic again"
- Dr. Robert Ballard (located Titanic)
IBM: Jason McGee discussed Java Applications in the Cloud - and Cloud Challenges for Java...
- share more, cooperate, use less, expolit
- The Patterns Approach for describing Cloud based Applications/Systems
-- workload pattern, virtual application instance
IBM: Java Applications in the Cloud (IBM's Jata CTO talked about multi-JVM deployments in the cloud)
- Sharing
- J9 JVMs using sharing to reduce costs
-- shared classes cache for read-only shared artifacts (bytecodes)
-- Dynamic AOT (ahead-of-time code) - reuse JIT code from multiple JVMs
-- Reduce memory use by 20%, improving startup time 10-30%
- Multitenancy
-- JVMs evolution to support isolation within a single JVM
--- Single copy of code, multiple copy of static variables
--- resource management within isolation context
-- Goal: 10s of K vs MBs per tenant safely
- 'Liberty' Profile - for Web, OSGi and Mobile Apps
-- Lightweight Runtime for Cloud
--- WEb profile server < 50 MB zip
--- Small memory footprint < 50 MB
--- Fast server start times < 2 secs
-- Standards Based Modularity for Cloud
--- Java EE++ built on OSGi modules and services
--- Modularity in Java SE 6 and up
-- Developer First Focus
--- Simple server configuration
--- fast easy setup
--- Integrated Eclipse AppDev tools
--- No restart required code changes
-- Dynamic Modular Runtime
--- ...
- Dynamic Behavior
-- Dynamic memory resize, processor reallocation and app migration
--- JVM will react in real-time to resource events
--- Integration across JVM/OS/HV for best performance
IBM: New System Z recently announced...
- New 5.5 GHz 6-core processor chip, large caches to optimize data serving 2nd gen OOO design
- Hardware Transaction Memory (HTM)
- Run-time Instrumentation (RI)
- 2GB page frames - improved performance targeting 64-bit heaps
- Page-able 1MB large pages using flash
- New software hints/directives
- New trap instructions
- Up-to 45% improvement in throughput amongst Java workloads measured with zEC12
IBM: Hardware Matters (Jason McGee, Chief Architect Cloud Computing, IBM Distinguished Engineer)
- hardware is changing and evolving rapidly
-- move to solid state, multi-core processors, Low latency high-bandwidth networks (RDMA), Advanced Energy Management, Storage Cloud Memory
- IBM: JVM Support for Multiple Languages (Jason McGee, Chief Architect Cloud Computing, IBM Distinguished Engineer)
Labels:
JavaOne 2012
2012-09-30 Sunday - Strange Loop 2012 Trip Report
I have several paragraphs and photos to add to this posting - but will need to come back to this in a few hours.
https://github.com/strangeloop/strangeloop2012/tree/master/slides
New Languages:
http://www.shenlanguage.org/learn-shen/index.html
http://roy.brianmckenna.org/
http://julialang.org/
http://www.rust-lang.org
http://elixir-lang.org/
Other good write-ups I've recently found:
Strange Loop Emerging Languages Camp Recap: Julia, Grace, Rust, and a Bandicoot
http://www.ripariandata.com/blog/strange-loop-emerging-languages-camp-recap-julia-elixer-a-bandicoot/
https://gist.github.com/3763157
Interesting Links Mentioned/Referenced/Found during various sessions:
http://haskell.cs.yale.edu/wp-content/uploads/2011/01/yampa-arcade.pdf
https://github.com/ServiceStack/ServiceStack/wiki/New-Api
http://shaffner.us/cs/papers/tarpit.pdf
Moseley and Marks (2006)
Complexity caused by state and control
close the loop - process
http://www.slideshare.net/shinolajla/taxonomy-ofscala
http://c2.com/cgi/wiki?BlubParadox
http://www.paulgraham.com/avg.html
http://c2.com/cgi/wiki?BeatingTheAverages
http://www.eecs.harvard.edu/~mdw/proj/seda/
http://www.eecs.harvard.edu/~mdw/papers/quals-seda.pdf
http://www.altjs.org
http://www.emscripten.org
http://www.slideshare.net/nathanmarz/runaway-complexity-in-big-data-and-a-plan-to-stop-it
Cross-Compile XNA
http://www.jsil.org
http://worrydream.com
http://worrydream.com/Tangle/
http://worrydream.com/#!/Bio
https://speakerdeck.com/u/czarneckid/p/real-world-redis
research: 30 second guide to using REDIS [for distributed datastore]
http://www.information-management.com/news/40-Vendors-We-Are-Watching-2012-10023168-1.html?zkPrintable=1&nopagination=1
http://www.cs.nyu.edu/cs/faculty/shasha/papers/hpts.pdf
Labels:
Emerging Languages,
Strange Loop 2012
2012-09-16
2012-09-16 Sunday - Disruptor Resources
High Performance Inter-Thread Messaging Library
http://code.google.com/p/disruptor/
Concurrent Programming Using the Disruptor
[Trisha Gee's presentation to the London Java Community at Skillsmatter on 1st March 2012]
http://www.slideshare.net/trishagee/a-users-guide-to-the-disruptor
Whitepapers / Presentations
Changelog
http://code.google.com/p/disruptor/wiki/ChangeLog
Sample Code
http://code.google.com/p/disruptor/wiki/CodeExampleDisruptor2x
Getting Started
http://code.google.com/p/disruptor/wiki/GettingStarted
http://code.google.com/p/disruptor/
Concurrent Programming Using the Disruptor
[Trisha Gee's presentation to the London Java Community at Skillsmatter on 1st March 2012]
http://www.slideshare.net/trishagee/a-users-guide-to-the-disruptor
Whitepapers / Presentations
Disruptor: High performance alternative to bounded queues for exchanging data between concurrent threads [May 2011]
Martin Fowler's post [July 12, 2011]
Martin Fowler
QCON Video [Dec 2010]:
LMAX - How to Do 100K TPS at Less than 1ms Latency
Concurrent Programming Using the Disruptor
[Trisha Gee's presentation to the London Java Community at Skillsmatter on 1st March 2012]
Changelog
http://code.google.com/p/disruptor/wiki/ChangeLog
Sample Code
http://code.google.com/p/disruptor/wiki/CodeExampleDisruptor2x
Getting Started
http://code.google.com/p/disruptor/wiki/GettingStarted
Labels:
Concurrent Programming,
Disruptor
WordCount
Copyright
© 2001-2026 International Technology Ventures, Inc., All Rights Reserved.













