Saturday, February 18, 2012

Top Tier Detergent Gasoline

http://www.toptiergas.com/

TOP TIER Detergent Gasoline is the premier standard for gasoline performance. Six of the world's top automakers, BMW, General Motors, Honda, Toyota, Volkswagen and Audi recognize that the current EPA minimum detergent requirements do not go far enough to ensure optimal engine performance.

Since the minimum additive performance standards were first established by EPA in 1995, most gasoline marketers have actually reduced the concentration level of detergent additive in their gasoline by up to 50%. As a result, the ability of a vehicle to maintain stringent Tier 2 emission standards have been hampered, leading to engine deposits which can have a big impact on in-use emissions and driver satisfaction.

These automakers have raised the bar. TOP TIER Detergent Gasoline help drivers avoid lower quality gasoline which can leave deposits on critical engine parts, which reduces engine performance. That's something both drivers and automakers want to avoid.

Friday, February 3, 2012

Moving from Scala to Java ... :(

http://www.infoq.com/news/2011/11/yammer-scala

An e-mail, sent from Yammer employee Coda Hale to Scala's commercial management at Typesafe, ended up being leaked via YCombinator and a gist at GitHub. The e-mail confirms that Yammer is moving its basic infrastructure stack from Scala back to Java, owing to issues with complexity and performance.

Yammer PR Shelley Risk confirmed to InfoQ that the e-mail represented the personal opinions of Coda Hale, rather than an official statement from Yammer itself; a follow up from the original author has been published at http://codahale.com/the-rest-of-the-story/. In it, Coda clarified that the message was a result of a request for feedback from Donald Fischer (CEO of Typesafe) following an earlier tweet indicating the move.

Update: Code has published Yammer's official position on the subject; which confirms the above points. It also points out that any language has flaws (not just Scala) and that the e-mail was an attempt at offering advice for how to improve Scala's performance and other concerns. Finally, it concluded that when rolling out any high performance project (for which Scala is their production environment) there are rough edges which need to be filed down; the e-mail was an attempt at helping Scala improve.

Monday, January 30, 2012

Apache TomEE

http://openejb.apache.org/apache-tomee.html

TomEE
The Web Profile version of TomEE contains
CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaction
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache Bean Validation

TomEE+
The TomEE Plus distribution adds the following:
JAX-RS - Apache CXF
JAX-WS - Apache CXF
JMS - Apache ActiveMQ
Connector - Apache Geronimo Connector

Goal
Simple, Get more from Tomcat without giving anything up.

Nodejs vs Play for Front-End Apps

http://www.subbu.org/blog/2011/03/nodejs-vs-play-for-front-end-apps

We often see “hello world” style apps used for benchmarking servers. A “hello world” app can produce low-latency responses under several thousands of concurrent connections, but such tests do not help make choices for building real world apps. Here is a test I did at eBay recently comparing a front-end app built using two different stacks:



  • nodejs (version 0.4.3) as the HTTP server, using Express (with NODE_ENV=production) as the web framework with EJS templates and cluster for launching node instances (cluster launches 8 instances of nodejs for the machine I used for testing)



  • Play framework (version 1.1.1) as the web framework in production mode on Java 1.6.0_20.
The intent behind my choice of the Play framework is to pick up a stack that uses rails-style controller and view templates for front-end apps, but runs on the JVM. The Java-land is littered with a large number of complex legacy frameworks that don’t even get HTTP right, but I found Play easy to work with. I spent nearly equal amounts of time (under two hours) to build the same app on nodejs and Play.

Tuesday, January 10, 2012

Node.js + CouchDB

http://nodetuts.com/tutorials/30-couchdb-and-nano.html#video

> cat package.json
{
"name": "Node_tutorial",
"description": "My test node tutorial",
"version":"0.1.0",
"author": "David Chang",
"dependencies": {
"nano": "1.1.x"
}
}

> npm install
> cat couch.js
var nano = require('nano');
var server = nano('http://XXX:YYY@dmak168.iriscouch.com');

server.db.create('mydb2', function(err){
if (err) { throw err; }

console.log('created mydb');

var doc1 = { a:1, b:2, c: "abd", d: [1, 2, 3] };
var db = server.use('mydb2');
db.insert(doc1, "doc_two", function(err){
if (err) { throw err; }
console.log('inserted obj1');

db.get('doc_two', function(err, val) {
console.log('doc_two = ', val);
});
});
});

> node couch.js
created mydb
inserted obj1
doc_two = { _id: 'doc_two',
_rev: '1-f83339c44679257161b912dd6aad89dd',
a: 1,
b: 2,
c: 'abd',
d: [ 1, 2, 3 ] }

Thursday, January 5, 2012

Lucky number




Hooray for the lucky number I just got ... quadruple lucky 7


HTML5 on Google Chrome



This is a screenshot captured on Google Chrome(v9.0.597.107), it worked smoothly for 10+ minutes and then became unresponsive permanently ... :(