<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1858422366470964197</id><updated>2012-02-16T02:22:14.598-05:00</updated><category term='Loafers'/><category term='CXF'/><category term='Unix'/><category term='JPA'/><category term='ZeroMQ'/><category term='SQL'/><category term='Spring2'/><category term='Review'/><category term='glassfish'/><category term='Clojure'/><category term='Oracle'/><category term='Interview'/><category term='RIA'/><category term='Ajax'/><category term='rpm'/><category term='ip'/><category term='Other'/><category term='git'/><category term='Acronym'/><category term='SpringInAction2'/><category term='Projects'/><category term='Mac'/><category term='RabbitMQ'/><category term='Flex'/><category term='AMQP'/><category term='JMS'/><category term='Pay it forward'/><category term='Home'/><category term='Config'/><category term='To Do'/><category term='Trail'/><category term='jQuery'/><category term='XSL'/><category term='CSS'/><category term='Java'/><category term='gems'/><category term='Unicode'/><category term='JDK'/><category term='Splunk'/><category term='Comcast'/><category term='Install'/><category term='FP'/><category term='Ruby'/><category term='Monaco'/><category term='DB'/><category term='RoRTutorial'/><category term='Vitria'/><category term='RoR'/><category term='HTML'/><category term='Jboss'/><category term='Reference'/><category term='JavaScript'/><category term='Quick Ref'/><category term='Erlang'/><category term='Stds'/><title type='text'>srini's tech journal</title><subtitle type='html'>AN EFFORT TO KEEP UP WITH CHANGING TECHNOLOGY.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8442877571907840506</id><published>2012-01-18T08:07:00.000-05:00</published><updated>2012-01-20T08:57:04.041-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>DOM XMLHTTPRequest</title><summary type='text'>XMLHttpRequest ready states: 0, 1, 2, 3, 4
0 - The object has been created, but not initialized (the open method has not been called).
1 - A request has been opened, but the send method has not been called.
2 - The send method has been called. No data is available yet.
3 - Some data has been received; however, neither responseText nor responseBody is available.
4 - All the data has been received.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8442877571907840506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8442877571907840506&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8442877571907840506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8442877571907840506'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2012/01/dom-xmlhttprequest.html' title='DOM XMLHTTPRequest'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-6097967803596951294</id><published>2012-01-13T20:34:00.001-05:00</published><updated>2012-01-20T15:23:16.903-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Trail'/><title type='text'>Project Sedna - Part 1</title><summary type='text'>- Identify and create the rvm we want to use
    # switch to Ruby 1.9.3
    $ rvm 1.9.3
    $ ruby -v
    ruby 1.9.3p0 (2011-...)
    $ rvm list
    [...snipped...]
    =&gt; ruby-1.9.3-p0 [ x86_64 ]


    # create a new gem set
    $ rvm gemset create sedna

    # switch to new gemset


    $ rvm 1.9.3@sedna
    $ rvm list gemsets
    [...snipped...]
    =&gt; ruby-1.9.3-p0@sedna ...

    # show that </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/6097967803596951294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=6097967803596951294&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/6097967803596951294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/6097967803596951294'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2012/01/project-sedna-part1.html' title='Project Sedna - Part 1'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-1345428167797898348</id><published>2012-01-07T07:35:00.000-05:00</published><updated>2012-01-08T14:07:12.182-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><title type='text'>Clojure basics - Protocols and Datatypes</title><summary type='text'>- Clojure's split and slurp IO functions are built on two abstractions, reading and writing. This means we can use them on variety of destination types, including files, URLs, sockets, and they can extended to new types.
- The slurp function takes an input source, reads the contents, and returns it as a string.
- The split function takes an output destination and a value, converts the value to a </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/1345428167797898348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=1345428167797898348&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1345428167797898348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1345428167797898348'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2012/01/clojure-basics-protocols-and-datatypes.html' title='Clojure basics - Protocols and Datatypes'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4344566488075598310</id><published>2012-01-06T11:39:00.000-05:00</published><updated>2012-01-06T15:06:08.643-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='ZeroMQ'/><title type='text'>ZeroMQ basics</title><summary type='text'>http://www.zeromq.org/ 

- How to type a Ø in mac: Option + Shift + O

Philosophy
- Programming is a science dressed up as art, because most of us don't understand the physics of software, and it's rarely if ever taught. The physics of software is not algorithms, data structures, languages and abstractions. These are just tools we make, use, throw away. The real physics of software is the physics</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4344566488075598310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4344566488075598310&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4344566488075598310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4344566488075598310'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2012/01/zeromq-basics.html' title='ZeroMQ basics'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4267482187579503662</id><published>2011-12-30T09:23:00.001-05:00</published><updated>2012-01-04T17:29:12.468-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><title type='text'>Clojure basics - State</title><summary type='text'>A state is the value of an identity at a point in time.

Clojure provides four reference types:
- Refs manage coordinated, synchronous changes to shared state.
- Atoms manage uncoordinated, synchronous changes to shared state.
- Agents manage asynchronous changes to shared state.
- Vars manage thread-local state.

References and Software Transactional Memory (STM)
- Most objects in Clojure are </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4267482187579503662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4267482187579503662&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4267482187579503662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4267482187579503662'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/12/clojure-basics-state.html' title='Clojure basics - State'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-1219973237877597713</id><published>2011-12-28T14:28:00.002-05:00</published><updated>2012-01-04T17:16:12.540-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><category scheme='http://www.blogger.com/atom/ns#' term='FP'/><title type='text'>Clojure basics - Functional Programming</title><summary type='text'>- Functional programming leads to code that is easier to write, read, test and reuse.
- For effective functional programming Clojure makes use of:
# Pure functions:
&gt;&gt; Programs should be built out of pure functions.
&gt;&gt; A pure function has no side effects; that is, it does not depend on anything but its arguments, and its only influence on the outside world is through its return value.
&gt;&gt; </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/1219973237877597713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=1219973237877597713&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1219973237877597713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1219973237877597713'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/12/clojure-basics-functional-programming.html' title='Clojure basics - Functional Programming'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-300309774512337742</id><published>2011-12-28T11:27:00.004-05:00</published><updated>2012-01-04T16:44:56.078-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><title type='text'>Clojure basics - Sequences</title><summary type='text'>- In Clojure, all data structures can be accessed through a single abstraction: the sequence (or seq - pronounced "seek").
- A seq is a logical list. It is not tied to implementation details of a list.
- Collections that can be viewed as seqs are called seq-able (pronounced "seek-a-bull")
- Clojure's sequence library is a set of functions that can work with any seq-able. It includes functions to </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/300309774512337742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=300309774512337742&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/300309774512337742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/300309774512337742'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/12/clojure-basics-data-structures.html' title='Clojure basics - Sequences'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7482639616915318799</id><published>2011-12-16T14:29:00.004-05:00</published><updated>2012-01-04T12:26:28.044-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><title type='text'>Clojure basics</title><summary type='text'>- Under the covers, Clojure is Java.
- Clojure's complete API is at http://clojure.org/api
- Clojure is homoiconic, which is to say that Clojure code is composed of Clojure data. 
- Clojure uses prefix notation to evaluate functions, which include mathematical operators.
- Clojure data structures are immutable.

- defn defines functions.
- def is like defn but more general. It can used to define </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7482639616915318799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7482639616915318799&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7482639616915318799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7482639616915318799'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/12/clojure-basics.html' title='Clojure basics'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8202396482920913814</id><published>2011-11-11T16:58:00.001-05:00</published><updated>2011-12-15T14:55:58.864-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Erlang'/><title type='text'>Erlang basics</title><summary type='text'>Clean code is when you look at a routine and it's pretty much what you expected. - Ward Cunningham

- In Erlang shell, expressions have to be terminated with period followed by whitespace (line break, a space etc.)
- Variable names must begin with a capital letter.
- Erlang has no such thing as a null value.
- Erlang is about programming for the right cases: you only program for what you know </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8202396482920913814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8202396482920913814&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8202396482920913814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8202396482920913814'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/11/erlang-basics_11.html' title='Erlang basics'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2343142824040433416</id><published>2011-11-01T15:01:00.004-04:00</published><updated>2011-12-14T17:12:13.337-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='RabbitMQ'/><category scheme='http://www.blogger.com/atom/ns#' term='AMQP'/><title type='text'>RabbitMQ - AMQP</title><summary type='text'>- A producer is a user application that sends messages.
- A queue is a buffer that stores messages.
- A consumer is a user application that receives messages
- An exchange on one side receives messages from producer and on the other side it pushes them to the queues. The rules for exactly what exchange should do with messages it receives is defined by exchange type.


Exchange Types: direct, </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2343142824040433416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2343142824040433416&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2343142824040433416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2343142824040433416'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/11/rabbitmq-amqp.html' title='RabbitMQ - AMQP'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8737479769190219345</id><published>2011-10-13T14:45:00.002-04:00</published><updated>2011-10-13T14:45:48.742-04:00</updated><title type='text'>RoR - App with MongoDB</title><summary type='text'>- rails new mdn -T --skip-active-record
- # Add the dependencies for MongoMapper</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8737479769190219345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8737479769190219345&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8737479769190219345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8737479769190219345'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/10/ror-app-with-mongodb.html' title='RoR - App with MongoDB'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-3659350508446553912</id><published>2011-09-14T06:58:00.001-04:00</published><updated>2011-12-14T12:50:07.355-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><title type='text'>Keep-up with concepts</title><summary type='text'>Big-endian Vs Little-endian: What is the difference? Which one is more widely used?

IP addresses: IPv4 vs IPv6

CIDR (Classless Inter-Domain Routing): System of grouping IP addresses into prefixes for routing tables.

BGP (Border Gateway Protocol): Used by routers to negotiate updates to their routing tables.

NAT (Network Address Translation): Used by ports to allow multiple hosts to use an IP </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/3659350508446553912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=3659350508446553912&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3659350508446553912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3659350508446553912'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/09/keep-up-with-concepts.html' title='Keep-up with concepts'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4548545903849547338</id><published>2011-08-29T16:09:00.007-04:00</published><updated>2011-09-19T08:07:16.580-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Setting up Rails environment in Mac</title><summary type='text'>Uninstall MacPorts: So that ...

Install Xcode: So that ...

Fix OS X Named streams issue

Set up your bash environment (.bashrc, .bash_profile)

Install Homebrew: So that...

Use homebrew to install git, macvim, wget, proctools, ack, ctags-exuberant, markdown 

git - version control 

wget - is a package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4548545903849547338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4548545903849547338&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4548545903849547338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4548545903849547338'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/08/setting-up-rails-environment-in-mac.html' title='Setting up Rails environment in Mac'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2261648898386760630</id><published>2011-08-25T17:18:00.000-04:00</published><updated>2011-12-15T16:11:55.745-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Pay it forward'/><title type='text'>Rails open source contribution opportunities</title><summary type='text'>- gem to help with internationalization of rails applications?

- fork and update rails-erd to work for mongo.
~</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2261648898386760630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2261648898386760630&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2261648898386760630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2261648898386760630'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/08/internationalization-for-rails-apps.html' title='Rails open source contribution opportunities'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4657143318439000158</id><published>2011-08-19T17:15:00.011-04:00</published><updated>2011-09-14T08:05:47.863-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='gems'/><category scheme='http://www.blogger.com/atom/ns#' term='Monaco'/><title type='text'>Monaco gems</title><summary type='text'>Application


 bson_ext C extensions to accelerate the Ruby BSON serialization. 
 bundler Bundler manages an application's dependencies through its entire life across many machines systematically and repeatably.  
 builder Builder provides a number of builder objects that make creating structured data (mainly XML) simple to do.  
carmenA simple collection of geographic names and abbreviations for</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4657143318439000158/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4657143318439000158&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4657143318439000158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4657143318439000158'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/08/monaco-gems.html' title='Monaco gems'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-6803856795258732432</id><published>2011-08-11T16:16:00.001-04:00</published><updated>2011-08-11T16:23:27.949-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Splunk'/><title type='text'>Working with Splunk</title><summary type='text'>Installation dir: /opt/splunk

To start Splunk: /opt/splunk/bin/splunk start

To use Splunk web interface: http:/srinidev:8080

For documentation go to: http://www.splunk.com/r/docs </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/6803856795258732432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=6803856795258732432&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/6803856795258732432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/6803856795258732432'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/08/working-with-splunk.html' title='Working with Splunk'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5438359396627045105</id><published>2011-05-24T13:33:00.004-04:00</published><updated>2011-05-25T09:24:46.800-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Learning jQuery</title><summary type='text'>Book: jQuery: Novice to Ninja from Earle Castledine and Craig Sharkie

jQuery
- Each jQuery command is made up of four parts: the jQuery function (or its alias '$'), selectors, actions, and parameters. 
Example command: jQuery('p').css('color', 'blue');
Breakdown: selector: jQuery('p'); action: .css; parameters: ('color', 'blue')Which means: We've asked the selector to select all paragraph tags </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5438359396627045105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5438359396627045105&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5438359396627045105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5438359396627045105'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/05/learning-jquery.html' title='Learning jQuery'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5704042586689405806</id><published>2011-04-13T15:32:00.055-04:00</published><updated>2011-05-09T14:13:41.995-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Loafers'/><category scheme='http://www.blogger.com/atom/ns#' term='Trail'/><title type='text'>Shared Services Dev Trail</title><summary type='text'>&gt; project creation
- rails new shared_services
- # edit Gemfile
- bundle install
- rails generate rspec:install

&gt; version control
- # create repository in GitHub
- # update readme
- # add and commit changes
- # push to github and heroku 

&gt; static pages
- # create rspec tests for static pages
- # create static pages for Home, Contact and About Us
- # update routes to simplify links
- # add style</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5704042586689405806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5704042586689405806&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5704042586689405806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5704042586689405806'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/04/shared-services-app-trail.html' title='Shared Services Dev Trail'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5673130004267595244</id><published>2011-03-15T13:37:00.004-04:00</published><updated>2011-04-13T09:01:47.318-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='RoRTutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Trail'/><title type='text'>RoR Sample App Trail</title><summary type='text'>- rails new sample_app -T
- # why -T option?
- cd sample_app
- # edit Gemfile with righ sqllite version and Rspec
- bundle install
- rails generate rspec:install
- # edit .gitignore file
- git init
- git add .
- git commit -m "Initial commit"
- # create git repository in github
- git remote add origin git@github.com:username/sample_app.git
- git push -u origin master
- # edit readme file and save</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5673130004267595244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5673130004267595244&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5673130004267595244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5673130004267595244'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/03/ror-sample-app-trail.html' title='RoR Sample App Trail'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7534481352613218983</id><published>2011-03-14T13:41:00.022-04:00</published><updated>2011-04-13T09:01:47.319-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='RoRTutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Trail'/><title type='text'>RoR Demo App Trail</title><summary type='text'>- rails new demo_app
- cd demo_app
- vi Gemfile
- git init
- git add .
- git status
- git commit -m "Initial commit"
- create repository in github
- git remote add origin git@github.com:username/demo_app.git
- git push origin master
- vi README
- git mv README README.markdown &amp;&amp; git commit -am "Improved README"
- git push
- git status
- rails generate scaffold User name:string email:string
- rake</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7534481352613218983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7534481352613218983&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7534481352613218983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7534481352613218983'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/03/ror-demo-app-storyline.html' title='RoR Demo App Trail'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8124314426234061188</id><published>2011-03-10T17:41:00.036-05:00</published><updated>2011-04-13T09:01:47.320-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='RoRTutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Trail'/><title type='text'>RoR First App Trail</title><summary type='text'>- ruby
- rails new first_app
- bundle install
- bundle show
- rails server

- git config --global user.name "FN LN"
- git config --global user.email email

- cd first_app
- git init
- git add .
- git status
- git commit -m 'initial commit'
- git log
- git remote add origin git@github.com:username/first_app.git
- git push -u origin master
- git checkout -b modify_README
- rm -rf apps
- git </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8124314426234061188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8124314426234061188&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8124314426234061188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8124314426234061188'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/03/ruby-commands.html' title='RoR First App Trail'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4464006391455230219</id><published>2011-03-08T15:39:00.002-05:00</published><updated>2011-03-10T15:52:19.523-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Install'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby Install</title><summary type='text'>This is how I installed Ruby 1.9.2 from source on linux.

- Download latest source from http://www.ruby-lang.org/en/downloads/
------ ruby-1.9.2-p180.tar.gz will be downloaded
- cd to the folder that has downloaded file
- gzip -d ruby-1.9.2-p180.tar.gz
- tar -xvf ruby-1.9.2-p180.tar
- cd ruby-1.9.2-p180
- Make sure your user has sudo permissions or run the rest of these as root.
- sudo ./</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4464006391455230219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4464006391455230219&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4464006391455230219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4464006391455230219'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/03/ruby-install.html' title='Ruby Install'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2576104800137509817</id><published>2011-03-04T13:37:00.158-05:00</published><updated>2012-01-10T09:00:09.766-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby basics</title><summary type='text'>This whole notes is based on a Ruby tutorial in http://rubylearning.org by Satish Talim.

- Ruby is a scripting language

Features:- Free format: start writing your program from any line and column.
- Case Sensitive
- Comments: Start with # or in between =begin, =end.
- Statement delimiters: Semi-colon (;) only needed if writing more than one statement in a line. A linefeed is treated like a </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2576104800137509817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2576104800137509817&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2576104800137509817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2576104800137509817'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/01/ruby-learning.html' title='Ruby basics'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-775798692901845693</id><published>2011-02-25T07:52:00.003-05:00</published><updated>2011-02-25T07:58:35.391-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><title type='text'>JVM Memory</title><summary type='text'>Heap and Non-heap Memory The JVM manages two kinds of memory:  heap and non-heap memory, both created when it starts.   Heap memory is the runtime data area from which the JVM allocates memory for all class instances and arrays.  The heap may be of a fixed or variable size.  The garbage collector is an automatic memory management system that reclaims heap memory for objects.   Non-heap memory </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/775798692901845693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=775798692901845693&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/775798692901845693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/775798692901845693'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/02/jvm-memory.html' title='JVM Memory'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4338647337156141363</id><published>2011-02-22T07:17:00.001-05:00</published><updated>2011-02-22T07:19:39.243-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other'/><title type='text'>Usage terms</title><summary type='text'>Syntactic sugar: Programmers use the term syntactic sugar to refer to special rules that let you write your code in a way that doesn't correspond to the normal rules but that is easier to remember how to do and looks better.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4338647337156141363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4338647337156141363&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4338647337156141363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4338647337156141363'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2011/02/usage-terms.html' title='Usage terms'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2922026034580683841</id><published>2010-12-20T09:33:00.005-05:00</published><updated>2010-12-20T09:38:04.454-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Startup and Shutdown oracle instance</title><summary type='text'>sh&gt; su - oraclesh&gt; export ORACLE_SID=MYDBsh&gt; sqlplus /nologsql&gt; connect / as sysdbasql&gt; shutdown immediatesql&gt; startup</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2922026034580683841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2922026034580683841&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2922026034580683841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2922026034580683841'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/12/startup-and-shutdown-oracle-instance.html' title='Startup and Shutdown oracle instance'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-522502460168584984</id><published>2010-12-13T16:56:00.007-05:00</published><updated>2010-12-13T17:00:10.902-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>HTML5</title><summary type='text'>Interesting updates going on with HTML5. Just finished reading "Dive into HTML5" by Mark Pligrim. Liked it.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/522502460168584984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=522502460168584984&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/522502460168584984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/522502460168584984'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/12/html5.html' title='HTML5'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8827880461455522746</id><published>2010-12-06T05:43:00.002-05:00</published><updated>2010-12-06T06:20:38.835-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reference'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='Unicode'/><title type='text'>Unicode and Character Sets</title><summary type='text'>Here is a good article on this.The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) - by Joel Spolsky</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8827880461455522746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8827880461455522746&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8827880461455522746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8827880461455522746'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/12/unicode-and-character-sets.html' title='Unicode and Character Sets'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8766793819549071992</id><published>2010-11-17T10:27:00.010-05:00</published><updated>2010-12-06T06:21:08.768-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>SSH Tunneling</title><summary type='text'>Wikipedia says "Computer networks use a tunneling protocol when one network protocol (the delivery protocol) encapsulates a different payload protocol.  By using tunneling one can (for example) carry a payload over an  incompatible delivery-network, or provide a secure path through an  untrusted network."Some  good articles on  tunneling.Tunneling protocol from WikipediaSSH Tunneling made easy by</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8766793819549071992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8766793819549071992&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8766793819549071992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8766793819549071992'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/11/ssh-tunneling.html' title='SSH Tunneling'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4581171196284808349</id><published>2010-09-29T15:41:00.009-04:00</published><updated>2010-09-29T21:31:13.443-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Home'/><title type='text'>Photo book printing</title><summary type='text'>Was looking for the best option to print a photo book for our Key West trip. Found this review to be very helpful.Who Makes The Best Photo Books? by Jason Dunn from "Digital Home Thoughts"</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4581171196284808349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4581171196284808349&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4581171196284808349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4581171196284808349'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/09/photo-book-printing.html' title='Photo book printing'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8388264032299528834</id><published>2010-09-24T18:40:00.008-04:00</published><updated>2010-09-29T21:30:29.437-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Home'/><category scheme='http://www.blogger.com/atom/ns#' term='Comcast'/><title type='text'>Modem to Router connection</title><summary type='text'>Had hard time setting up zone alarm router until I came across this article.http://en.kioskea.net/forum/affich-19114-motorola-2210-dsl-modem-with-wrt54g-linksys#17Most router settings are good but didn't get internet connection until I did the MAC cloning.--------------------------Updated the router configuration to work without MAC cloning. The problem is that some ISPs want to allocate a single</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8388264032299528834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8388264032299528834&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8388264032299528834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8388264032299528834'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/09/modem-to-router-connection.html' title='Modem to Router connection'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2802998100028836165</id><published>2010-09-23T16:23:00.006-04:00</published><updated>2010-09-23T16:47:37.287-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Find duplicate rows</title><summary type='text'>If you want to delete duplicate rows from TEST_TABLE table based on data in column DUPCOL.-- Find the information about duplicate entries firstselect dupcol, count(*) num_of_dupsfrom test_tablegroup by dupcolorder by num_of_dups desc;-- Now delete the duplicate entries leaving the latest entry for each one in table-- If we convert max(rowid) to min(rowid) we can keep the first of the duplicate </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2802998100028836165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2802998100028836165&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2802998100028836165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2802998100028836165'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/09/find-duplicate-rows.html' title='Find duplicate rows'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7525527948479197664</id><published>2010-08-27T16:23:00.009-04:00</published><updated>2010-12-17T06:41:45.434-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CXF'/><category scheme='http://www.blogger.com/atom/ns#' term='Jboss'/><title type='text'>Installing JBossWS-CXF in JBoss</title><summary type='text'>Need to have JAVA_HOME set.Need to have ant installed.If you haven't installed JBoss yet, install it first. For this example, let's say we have jboss-5.1.0.GA installed in /usr/local dir.Steps:Download supported JBossWS-CXF stack that is compatible with JBoss we have. In this case, let's say that is jbossws-cxf-3.3.1.GA. If we choose the zip download, it is going to be jbossws-cxf-3.3.1.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7525527948479197664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7525527948479197664&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7525527948479197664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7525527948479197664'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/08/installing-jbossws-cxf-in-jboss.html' title='Installing JBossWS-CXF in JBoss'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5941994865600220882</id><published>2010-08-10T06:56:00.000-04:00</published><updated>2011-04-13T08:59:54.429-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stds'/><title type='text'>MAC Address</title><summary type='text'>MAC - Media Access ControlA 6 byte IEEE MAC address shall conform to the format and characteristics ofhexadecimal representation per IEEE 802. See [IEEE802] for the hexadecimalrepresentation definition and additional information. The value format is xx-xxxx-xx-xx-xx, where each x represents a single hex character (0 through 9 and‘A’ through ‘F’ or ‘a’ through ‘f’). The uppercase hexadecimal </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5941994865600220882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5941994865600220882&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5941994865600220882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5941994865600220882'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/08/mac-address.html' title='MAC Address'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5892427963736862359</id><published>2010-08-10T06:50:00.002-04:00</published><updated>2011-04-13T08:59:54.430-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip'/><category scheme='http://www.blogger.com/atom/ns#' term='Stds'/><title type='text'>IPv4 vs IPv6</title><summary type='text'>An Internet Protocol (IP) version 4 address shall conform to the format andcharacteristics as defined by RFC 3986. See [RFC3986] for additional details.Typically, the address is represented in dot decimal notation (also known asdotted quad notation, i.e., nnn.nnn.nnn.nnn). Example below illustrates a few validinstances.A basic IPv4 address.171.70.222.82An IPv4 address in a URL.http://</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5892427963736862359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5892427963736862359&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5892427963736862359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5892427963736862359'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/08/ipv4-vs-ipv6.html' title='IPv4 vs IPv6'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5366512735091073066</id><published>2010-06-13T11:33:00.007-04:00</published><updated>2010-06-13T11:48:41.926-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>SNMP Traps and NMS</title><summary type='text'>SNMP: Simple Network Management ProtocolNMS: Network Management SystemSNMP traps enable an agent to notify the management station of significant events by way of an unsolicited SNMP message.Understanding SNMP TrapsIf you have a systems installed at various customer sites and need to be monitored, the solution is to build an NMS that accepts SNMP traps from those systems and send notifications in </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5366512735091073066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5366512735091073066&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5366512735091073066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5366512735091073066'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/06/snmp-traps-and-nms.html' title='SNMP Traps and NMS'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-6042217849270118590</id><published>2010-05-28T10:11:00.006-04:00</published><updated>2010-08-06T13:12:20.899-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rpm'/><title type='text'>RPM Creation</title><summary type='text'>Here is a very good link that shows with example how to create an rpm.Tips:To build a noarch rpm, make sure spec file has "BuildArch: noarch"Newer rpmbuild expects keyword 'License' instead of 'Copyright'Sample RPM build process for Jboss 5------------------------------------------------------------------------Download jboss-5.1.0.GA.zipASSEMBLE_RPM_ROOT=/home/srini/</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/6042217849270118590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=6042217849270118590&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/6042217849270118590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/6042217849270118590'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2010/05/rpm-creation.html' title='RPM Creation'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8421096056879615062</id><published>2009-11-18T13:16:00.005-05:00</published><updated>2009-11-18T15:47:56.023-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='glassfish'/><title type='text'>Where to put properties files in Glassfish v3.1?</title><summary type='text'>If you want the properties file should be visible to all applications deployed in the domain:- put it in ${domainBaseDir}/lib/classes. This is by default within the classpath, so the files in this directory will be accessible.* ${domainBaseDir} is typically like ${glassfishInstallDir}/domains/${appDomain}Where can I put a property file unique to my domain?If the properties file should be only </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8421096056879615062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8421096056879615062&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8421096056879615062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8421096056879615062'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2009/11/where-to-put-properties-files-in.html' title='Where to put properties files in Glassfish v3.1?'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5157232224111341057</id><published>2008-05-03T19:45:00.002-04:00</published><updated>2008-05-04T16:26:20.474-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XSL'/><title type='text'>XSLT Fundamentals</title><summary type='text'>XSL consists of three parts:    * XSLT - a language for transforming XML documents    * XPath - a language for navigating in XML documents    * XSL-FO - a language for formatting XML documentsXSLT is a language for transforming XML documents into XHTML documents or to other XML documents.XPath is a language for navigating in XML documents.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5157232224111341057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5157232224111341057&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5157232224111341057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5157232224111341057'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2008/05/xslt-fundamentals.html' title='XSLT Fundamentals'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-997948283534806874</id><published>2008-01-25T10:32:00.000-05:00</published><updated>2008-01-27T21:28:31.306-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>JavaScript Fundamentals</title><summary type='text'>JavaScript is case sensitive.Where to put the JavaSript?- Scripts to be executed when they are called, or when an event is triggered, go in the head section. When you place a script in the head section, you will ensure that the script is loaded before anyone uses it.- Scripts to be executed when the page loads go in the body section. When you place a script in the body section it generates the </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/997948283534806874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=997948283534806874&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/997948283534806874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/997948283534806874'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2008/01/javascript-fundamentals.html' title='JavaScript Fundamentals'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2882746880242488717</id><published>2008-01-07T09:08:00.001-05:00</published><updated>2008-01-11T08:29:19.043-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Adobe Flex Builder</title><summary type='text'>Training on Monday Jan 07, 2008Flex builder only works with Eclipse 3.1 or later. Seems like other IDEs are not yet supported.To see the short cut keys in Eclipse Flex builder.Help --&gt; Key Assist (Ctrl+Shift+L)Access levelspublic, private, protected, internalMost commonly used system events: creationComplete, initialize, showInvestigate embedded images.SVG images: Scalable Vector Graphics.Grid in</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2882746880242488717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2882746880242488717&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2882746880242488717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2882746880242488717'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2008/01/adobe-flex-builder.html' title='Adobe Flex Builder'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2847481426558473505</id><published>2007-12-31T17:35:00.000-05:00</published><updated>2007-12-31T17:48:30.935-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><title type='text'>Spring Configuration</title><summary type='text'>Configuring AspectJ in Spring applicationWhen the application has a Spring-configured aspect, which is a AspectJ aspect, the application needs to run within an AspectJ-enabled JVM. The best way to AspectJ-enable a Java 5 JVM is to start it with the following JVM argument:    -javaagent:/path/to/aspectjweaver.jarThis effectively tells the JVM to perform load-time weaving of any AspectJ aspects. To</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2847481426558473505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2847481426558473505&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2847481426558473505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2847481426558473505'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/spring-configuration.html' title='Spring Configuration'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2194094079732278142</id><published>2007-12-31T16:11:00.000-05:00</published><updated>2008-01-02T00:36:13.483-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><title type='text'>Advanced Bean Wiring</title><summary type='text'>References: "Spring in Action" by Craig Walls: Advanced Bean Wiring - Chapter 3A look into how else we can configure Spring beyond basic wiring.Sub-beaningSub-beaning is commonly used to reduce the amount of XML required to declare aspects and transactions. To accommodate sub-beaning, the &lt;bean&gt; element provides two special attributes:- parent: The parent attribute is to &lt;bean&gt; what extends is to</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2194094079732278142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2194094079732278142&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2194094079732278142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2194094079732278142'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/advanced-bean-wiring.html' title='Advanced Bean Wiring'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4763579457962920490</id><published>2007-12-27T17:04:00.000-05:00</published><updated>2007-12-27T17:28:40.169-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><title type='text'>Spring Messaging</title><summary type='text'>References: "Spring in Action" by Craig Walls: Spring Messaging - Chapter 10JMS- JMS is all about applications communicating with one another, just like other remoting options like RMI and Hessian/Burlap. However, it differs in how that communication happens. JMS provides Java applications with the option of communicating asynchronously.- There are two main concepts in JMS: message brokers and </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4763579457962920490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4763579457962920490&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4763579457962920490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4763579457962920490'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/spring-messaging.html' title='Spring Messaging'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-1264494274584194659</id><published>2007-12-27T11:56:00.000-05:00</published><updated>2007-12-27T13:55:53.685-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><title type='text'>Spring Questions</title><summary type='text'>Components of Spring? What's their purpose?Types of autowiring?Scoping options offered by Spring? What's the default?Bean attributes forDefining factory methodDefining init and destroy methodsFlavors of Spring AOP support</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/1264494274584194659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=1264494274584194659&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1264494274584194659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1264494274584194659'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/spring-questions.html' title='Spring Questions'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5484362607517557737</id><published>2007-12-11T18:54:00.000-05:00</published><updated>2007-12-27T17:04:38.769-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><title type='text'>Managing Transactions</title><summary type='text'>References: "Spring in Action" by Craig Walls: Chapter 6ACID- Atomic: Atomicity ensures that all of the operations in the transaction happen or none of them happen- Consistent: Once the transaction ends, the system is left in a state that is consistent with the business that it models.- Isolated: Transactions should be isolated from each other, preventing concurrent reads and writes to the same </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5484362607517557737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5484362607517557737&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5484362607517557737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5484362607517557737'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/managing-transactions.html' title='Managing Transactions'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5951757657305142821</id><published>2007-12-11T18:45:00.001-05:00</published><updated>2007-12-11T20:01:57.224-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Accessing database (Using JPA)</title><summary type='text'>References: "Spring in Action" by Craig Walls: Chapter 5What's special about Spring's data access exceptions is that you don't have to catch them. They are all unchecked exceptions. Spring promotes the use of unchecked exceptions.The Template Method Pattern: A template method defines the skeleton of the process. In software terms, a template method delegates the implementation-specific portions </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5951757657305142821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5951757657305142821&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5951757657305142821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5951757657305142821'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/spring-and-jpa.html' title='Accessing database (Using JPA)'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2609349076845958153</id><published>2007-12-04T10:17:00.000-05:00</published><updated>2007-12-04T14:54:40.007-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Quick Ref'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA Quick Reference</title><summary type='text'>JPA - Java Persistence APIJPA package - javax.presistence@Entity, @Column --&gt; Annotations@Id --&gt; Primary Key (GeneratedType.AUTO, IDENTITY, SEQUENCE, TABLE)EntityManager ---&gt; has API to perform DDL and DML operations on EntitiesPersistenceContext ---manages---&gt; EntityManager ---manages---&gt; EntitiesPesistenceContext - Two types: Transaction scope, ExtendedDefault transaction type in JPA is JTA (</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2609349076845958153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2609349076845958153&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2609349076845958153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2609349076845958153'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/12/jpa-quick-reference.html' title='JPA Quick Reference'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7782218934340559542</id><published>2007-10-31T17:45:00.000-04:00</published><updated>2007-12-27T12:05:04.912-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><title type='text'>Advising beans</title><summary type='text'>References: "Spring in Action" by Craig Walls: Chapter 4In software development, functions that span multiple points of an application are called cross-cutting concerns. Typically, these cross-cutting concerns are conceptually separate from the application's business logic. Separating these cross-cutting concerns from the business logic is where aspect-oriented programming (AOP) goes to work.- DI</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7782218934340559542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7782218934340559542&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7782218934340559542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7782218934340559542'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/advising-beans.html' title='Advising beans'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-1969412676745115860</id><published>2007-10-28T11:14:00.000-04:00</published><updated>2007-10-31T17:44:42.762-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><title type='text'>Basic bean wiring in Spring</title><summary type='text'>References: "Spring in Action" by Craig Walls: Chapter 2In a Spring-based application, your application objects (beans) will live within the Spring container. There is no single Spring container. Spring comes with several container implementations that can be categorized into two distinct types - Bean factories and Application contexts.Bean factories (org.springframework.beans.factory.BeanFactory</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/1969412676745115860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=1969412676745115860&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1969412676745115860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1969412676745115860'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/basic-bean-wiring-in-spring.html' title='Basic bean wiring in Spring'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7913899417798941104</id><published>2007-10-28T10:26:00.000-04:00</published><updated>2007-10-31T17:44:27.070-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring2'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringInAction2'/><title type='text'>What is Spring?</title><summary type='text'>References: "Spring in Action" by Craig Walls: Chapter 1Spring- is a framework that helps you develop a loosely coupled application code.- is a lightweight dependency injection and aspect-oriented container and framework.- vital components are Dependency Injection (DI), Aspect Oriented Programming (AOP)Dependancy Injection (DI)Traditionally, each object is responsible for obtaining its own </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7913899417798941104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7913899417798941104&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7913899417798941104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7913899417798941104'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/what-is-spring.html' title='What is Spring?'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7375135355014041787</id><published>2007-10-24T15:46:00.000-04:00</published><updated>2007-12-04T13:40:16.155-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA: Persistence Units</title><summary type='text'>- A persistence.xml file is used to manage one or more persistence units. Like web.xml for a servlet application and ejb-jar.xml for an EJB application, this persistence.xml is a must for an entity application to run.- The file persistence.xml exists to define the various persistence-units that are to be available                 for persistence using JPA. Each persistence-unit defines a set of </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7375135355014041787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7375135355014041787&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7375135355014041787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7375135355014041787'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/persistence-units.html' title='JPA: Persistence Units'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-1150567004729828126</id><published>2007-10-24T13:38:00.000-04:00</published><updated>2007-10-24T14:56:43.195-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA: Operations on Entity Objects</title><summary type='text'>The following are the legal operations that can be performed on Entity objects  with the help of EntityManager API.Persisting Entity Objects: persist(object)- Entity objects are like regular java objects until they become managed and made persistent by the EntityManager. The persist(entityObject) methods makes the entity persistent in the underlying database and managed within the persistence </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/1150567004729828126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=1150567004729828126&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1150567004729828126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1150567004729828126'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/jpa-operations-on-entity-objects.html' title='JPA: Operations on Entity Objects'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5061222850582373718</id><published>2007-10-24T13:30:00.000-04:00</published><updated>2007-10-24T15:43:35.707-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA: The Query API (JPQL)</title><summary type='text'>Java Persistence Query Language (JPQL)- EntityManager serves as factory class for getting a reference to the Query objects. The query string that we specify for locating entity objects is called Java Persistent Query Language (JPQL).- The current version of the JPQL is 1.0 and it is more robust flexible and object-oriented than SQL.- The persistence engine will parse the query string, transform </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5061222850582373718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5061222850582373718&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5061222850582373718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5061222850582373718'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/java-persistent-query-language-jpql.html' title='JPA: The Query API (JPQL)'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2656502728168438386</id><published>2007-10-24T13:29:00.001-04:00</published><updated>2007-10-24T13:30:25.187-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA Exceptions</title><summary type='text'>Exceptions- Whenever the persist() method is called, the persistence engine will check for the existence of that object with the help of its unique identifier (which is represented in the form of primary key). If any duplicate object is found, then a run-time exception, EntityExistsException will be thrown.- A call to getSingleResult() will execute the query and returns a single row that matches </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2656502728168438386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2656502728168438386&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2656502728168438386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2656502728168438386'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/exceptions-in-jpa.html' title='JPA Exceptions'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5963763452340417631</id><published>2007-10-24T12:48:00.000-04:00</published><updated>2007-12-04T11:40:09.568-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA Entities</title><summary type='text'>In JPA terms an entity refers to a persistent object which can be stored and retrieved from a persistent storage. Since entities form the heart of the JPA, they have some unique characteristics like persistability, identity and transactionability. The property of persistability deals with the storing and retrieving of entity from and to a persistent medium like database. Identity property is </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5963763452340417631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5963763452340417631&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5963763452340417631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5963763452340417631'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/entities.html' title='JPA Entities'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4323608343443172085</id><published>2007-10-22T10:32:00.001-04:00</published><updated>2007-10-22T10:33:56.376-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><title type='text'>Did you know?</title><summary type='text'>- Class initialization proceeds top to bottom, which means you have to be careful when defining the order of static blocks. Here is why.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4323608343443172085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4323608343443172085&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4323608343443172085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4323608343443172085'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/did-you-know.html' title='Did you know?'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-254087249737825584</id><published>2007-10-15T21:43:00.000-04:00</published><updated>2007-10-22T11:16:41.506-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>volatile fields</title><summary type='text'>class Animator implements Runnable{   private boolean volatile stop = false;   public void stop() stop= true;   public void run()   {       while (!stop)       {           oneStep();           try { Thread.sleep(100); } catch ...       }   }   private void oneStep() {...}}What happens if variable stop is not defined as volatile?- Typical compiler considers a one thread execution of the code and </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/254087249737825584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=254087249737825584&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/254087249737825584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/254087249737825584'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/volatile-fields.html' title='volatile fields'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-7256349855525716378</id><published>2007-10-15T21:09:00.001-04:00</published><updated>2008-05-03T19:42:00.259-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Acronym'/><title type='text'>Java Related Abbreviatoins</title><summary type='text'>JSR: Java Specification RequestNBR: Napkin Based RequirementsPOJO: Plain Old Java ObjectsJPI: Java Persistence APISOAP: Simple Object Access ProtocolAJAX: Asynchronous JavaScript And XML.XSL: EXtensible Stylesheet Language.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/7256349855525716378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=7256349855525716378&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7256349855525716378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/7256349855525716378'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/abbreviatoins.html' title='Java Related Abbreviatoins'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-4545047838932459841</id><published>2007-10-14T01:41:00.000-04:00</published><updated>2007-12-04T13:11:56.794-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='To Do'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>To be understood</title><summary type='text'>- Difference between Error and Exception?- Class initialization proceeds top to bottom.- Closures in Java (Possible Java 7 addition)javac.comgafter.blogspot.com- Aspect oriented programming- Wildcards in java 5- Lexical scope- volatile variables- Understand javadocs- namespaces- Scheme language- Executer patternJPA: dirty changes?- Diff between hibernate 2 vs 3.- iBATISUsing Hibernate to Persist </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/4545047838932459841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=4545047838932459841&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4545047838932459841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/4545047838932459841'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/to-be-answered.html' title='To be understood'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-2515726564297124041</id><published>2007-10-11T16:38:00.000-04:00</published><updated>2007-10-24T13:35:24.555-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Java Persistence API</title><summary type='text'>JPA- Package: javax.persistence- Java Persistence API (JPA) provides POJO (Plain Old Java Object) standard and object relational mapping (OR mapping) for data persistence among applications.  This API has borrowed many of the concepts and standards from leading persistence frameworks like Toplink (from Oracle) and Hibernate (from JBoss). One of the great benefits of JPA is that it is an </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/2515726564297124041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=2515726564297124041&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2515726564297124041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/2515726564297124041'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/10/java-persistence-api.html' title='Java Persistence API'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-3945343821650990920</id><published>2007-09-12T10:44:00.000-04:00</published><updated>2011-09-22T13:59:01.542-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Config'/><title type='text'>Remote debugging J2EE applications</title><summary type='text'>How to set-up remote debugging between application running in unix/linux and source code in windows environment (Eclipse IDE)?

This is a two step process:

1. Set up the following JVM options and restart application server instance. Make sure the port (8001 in this example) is open.          

:JVMOption:-Xdebug -Xnoagent        -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n

In </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/3945343821650990920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=3945343821650990920&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3945343821650990920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3945343821650990920'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/09/remote-debugging.html' title='Remote debugging J2EE applications'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-3727599184715785379</id><published>2007-09-04T16:50:00.001-04:00</published><updated>2008-05-05T00:12:49.803-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Interview'/><title type='text'>Interview Questions</title><summary type='text'>- What are the two basic ways in which classes that can be run as threads be defined?&gt; By creating a sub-class of Thread or implementing a Runnable interface. Must implement the run() method in both cases.- What is the difference between list, set and map?&gt; List interface provides support for ordered collection of objects.&gt; Set interface provides support for unordered, unique collection of </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/3727599184715785379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=3727599184715785379&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3727599184715785379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3727599184715785379'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/09/java-interview-questions.html' title='Interview Questions'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-5176628404892614916</id><published>2007-09-04T13:23:00.000-04:00</published><updated>2007-12-05T17:31:28.811-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JDK'/><category scheme='http://www.blogger.com/atom/ns#' term='Quick Ref'/><title type='text'>J2SE 5.0 New Features</title><summary type='text'>J2SE(TM) 5.0 New FeaturesGeneric types have been widely anticipated by the Java Community and are now part of J2SE 5.0. One of the first places to see generic types in action is the Collections API. The user of a generified API has to simply declare the type used at compile type using the &lt;&gt; notation. No casts are needed and in this example trying to add a String object to an Integer typed </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/5176628404892614916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=5176628404892614916&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5176628404892614916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/5176628404892614916'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/09/jdk-14-vs-jdk-15.html' title='J2SE 5.0 New Features'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-3620847697709744855</id><published>2007-08-17T13:37:00.001-04:00</published><updated>2007-09-04T14:55:27.357-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>Ajax Fundamentals</title><summary type='text'>AJAX - Asynchronous JavaScript And XML.AJAX is based on JavaScript and HTTP requests.</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/3620847697709744855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=3620847697709744855&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3620847697709744855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/3620847697709744855'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/08/ajax-fundamentals.html' title='Ajax Fundamentals'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-8539835644022146598</id><published>2007-08-01T16:33:00.000-04:00</published><updated>2007-08-01T16:35:00.942-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vitria'/><title type='text'>What is Vitria?</title><summary type='text'>Vitria specializes in integration server software for enterprises. An integration server allows a company to mix packaged applications, custom software, and legacy programs across a network.  Vitria competes with SeeBeyond, Tibco, webMethods, and others. .  Vitria's leading product line is called BusinessWare. BusinessWare supports both message-bus and hub-and-spoke integration server models. The</summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/8539835644022146598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=8539835644022146598&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8539835644022146598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/8539835644022146598'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/08/what-is-vitria.html' title='What is Vitria?'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1858422366470964197.post-1210622408862668074</id><published>2007-08-01T15:02:00.000-04:00</published><updated>2007-10-24T16:29:12.833-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vitria'/><title type='text'>BusinessWare Environments</title><summary type='text'>Design EnvironmentIn the design environment, the solution architect, business process modelers,  and programers use the BusinessWare modeling tools to create graphical  integration solutions. This environment, called the BME (Business Modeling Environment), allows you  to develop and work with models that are visual representations of your solution  that can be used through the entire solution </summary><link rel='replies' type='application/atom+xml' href='http://learningcup.blogspot.com/feeds/1210622408862668074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1858422366470964197&amp;postID=1210622408862668074&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1210622408862668074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1858422366470964197/posts/default/1210622408862668074'/><link rel='alternate' type='text/html' href='http://learningcup.blogspot.com/2007/08/businessware-environments.html' title='BusinessWare Environments'/><author><name>Srini</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
