<?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-8974060</id><updated>2012-02-14T00:03:41.716+05:30</updated><category term='space'/><category term='udp'/><category term='web app'/><category term='uplink'/><category term='sctp'/><category term='sms'/><category term='moon'/><category term='JSLEE'/><category term='documents'/><category term='OpenSocial'/><category term='SIP'/><category term='skype'/><category term='3d printers'/><category term='adobe'/><category term='lunar real estate'/><category term='RIA'/><category term='bios'/><category term='netgear'/><category term='Web'/><category term='DSML'/><category term='Dalvik'/><category term='Identity'/><category term='eeram'/><category term='redhat'/><category term='VM'/><category term='tuning'/><category term='owasp'/><category term='video'/><category term='Flex'/><category term='History'/><category term='spiceworks'/><category term='Android'/><category term='file'/><category term='backup'/><category term='startups'/><category term='linux'/><category term='office'/><category term='higgins'/><category term='security'/><category term='Gmail'/><category term='verizon'/><category term='XML'/><category term='SSO'/><category term='network management'/><category term='Google'/><category term='CardSpace'/><category term='LDAP'/><category term='JavaFX'/><category term='tcp'/><category term='NFS'/><category term='FAN'/><category term='session'/><category term='appjet'/><category term='jboss'/><category term='hijack'/><category term='satellite newspapers'/><category term='vakow'/><title type='text'>ssklogs</title><subtitle type='html'>Technology and l.i.f.e</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ssklogs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default?start-index=101&amp;max-results=100'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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>477</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8974060.post-3540236322759961343</id><published>2012-02-13T23:56:00.003+05:30</published><updated>2012-02-14T00:03:41.725+05:30</updated><title type='text'>Oracle Weblogic Active GridLink</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This post is in continuation to the earlier &lt;a href="http://ssklogs.blogspot.in/2012/01/oracle-rac-10g-jdbc-ha-load-balancing.html" target="_blank"&gt;RAC post&lt;/a&gt;. Oracle Weblogic has added a new way to access RAC, called Active GridLink by integrating the ONS features in the appserver layer. This way the appserver datasources can be more intelligent in knowing the following&lt;br /&gt;&lt;br /&gt;- Real time load of RAC instances (MDS approach use round robin)&lt;br /&gt;- DB instance status for FCF&lt;br /&gt;&lt;br /&gt;The main advantage is that one doesnt have go with a fixed scheme of choosing either actual load based&amp;nbsp; balancing (SSLB) or pinning instances (at appserver). Instead the appserver can now decide dynamically on what is the best way to serve the connection request, based on the ONS feedback and current global transaction needs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=8D6cf6Y5z94"&gt;http://www.youtube.com/watch?v=8D6cf6Y5z94&lt;/a&gt; (Demo)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3540236322759961343?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3540236322759961343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3540236322759961343'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/02/oracle-active-gridlink.html' title='Oracle Weblogic Active GridLink'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2247424403429939494</id><published>2012-02-07T14:21:00.000+05:30</published><updated>2012-02-07T14:21:14.240+05:30</updated><title type='text'>JBoss EPP 5.2 /  "Error installing to Parse" errors</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If EPP 5.2 out of the box startup throws several errors like ClassNotFound , "Error installing to Parse: name=vfsfile jboss-service.xml " etc, the fix is to unzip the install package properly.&lt;br /&gt;&lt;br /&gt;In my case, the server/default/lib was missing. Starting from 5.x, these libs have been moved to common dir. But still the empty dir is required and for some reason winzip didnt create it from the package. But winrar did.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2247424403429939494?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2247424403429939494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2247424403429939494'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/02/jboss-epp-52-error-installing-to-parse.html' title='JBoss EPP 5.2 /  &quot;Error installing to Parse&quot; errors'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1271089068098362508</id><published>2012-02-02T10:40:00.001+05:30</published><updated>2012-02-02T10:40:06.996+05:30</updated><title type='text'>Android / Bluetooth / Hotspot / File Transfer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I couldnt make the MID apad use my 3G USB modem. Finally found a way to use 3G using my Nokia X6. There is a excellent app called &lt;a href="http://www.joiku.com/" target="_blank"&gt;JoikuSpot&lt;/a&gt; available for Nokia to run a Wifi Hotspot. It works great and my laptops were able to connect and use the Wifi Hotspot.&lt;br /&gt;&lt;br /&gt;But unfortunately the apad couldnt recognize the adhoc Hotspot and further googling revealed that I need to root my apad and enable adhoc wifi connections. Need to try it.&lt;br /&gt;&lt;br /&gt;Few days back I got a Samsung Galaxy S with Android 2.3.5. To my surprise (shock!) I got to know that bluetooth access to the phone from PC (using Samsung Kies software) is not supported ! I couldnt even send photos using bluetooth to PC (This is where I like Nokia and their PC Suite software!). Finally found a nice app on Android market to run a Wifi based FTP server. Now am able to transfer the files from phone to PC.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1271089068098362508?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1271089068098362508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1271089068098362508'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/02/android-bluetooth-hotspot-file-transfer.html' title='Android / Bluetooth / Hotspot / File Transfer'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4867385091185203015</id><published>2012-01-28T15:35:00.000+05:30</published><updated>2012-01-28T15:35:52.382+05:30</updated><title type='text'>Oracle RAC 10g / JDBC / HA / Load Balancing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Using Oracle RAC&amp;nbsp; with JDBC to enable HA/Load Balancing of Database Nodes is a tricky one. Following are the different ways that I have used to configure the JDBC URLs to use with RAC based Database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;b&gt;1) Pinned DB Instance/Listener with failover / No Server side Instance Load Balancing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; In this approach, the appserver nodes are pinned to a primary DB node. For example, if you have two appservers (app1/app2) and two DB nodes (db1/db2), then pin app1 to db1 to be used as primary DB node and db2 as secondary DB node (for failover) and vice versa for app2&lt;br /&gt;&lt;br /&gt;On App2, the JDBC URL may look like&lt;br /&gt; &lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;&amp;nbsp; jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=db02-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=db01-vip)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dbServiceName))) &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Pros&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; - Interconnect traffic is minimized since global cache data doesnt need to be frequently exchanged between DB nodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp; 2PC can be avoided thus eliminating the dreaded "in-doubt distributed transaction" exception (&lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=415195" target="_blank"&gt;ORA-1591&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cons &lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp; DB node load may not be even if appserver load is uneven&lt;br /&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp; Relatively longer failover time for the appserver connection pool to relinquish all the connections from dead node to active node, since all connections will be pointing to the primary node&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) Pinned Listener with failover / Server side Instance Load Balancing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; In this approach, the appserver nodes are pinned to a primary listener (not the instance as above). Server Side Load Balancing must be enabled using REMOTE_LISTENER and &lt;a href="http://docs.oracle.com/cd/B19306_01/rac.102/b14197/hafeats.htm#BABICAJC" target="_blank"&gt;Load Balancing Advisory&lt;/a&gt; options. In this method, any listener can be used to reach any of the DB instances (SIDs) and decision is based on the Load balancing advisory done at server side. No change in the client URL.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp; jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=db02-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=db01-vip)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dbServiceName))) &lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Pros&lt;br /&gt;&amp;nbsp; &amp;nbsp; - More interconnect traffic &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 2PC and "in-doubt transaction" exceptions (ORA-1591) can occur since the appserver connection pool can hold connections pointing to multiple instances&lt;br /&gt;&lt;br /&gt;Cons &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp; DB node load balancing is relatively more accurate since LBA looks at actual load and routes the connection request at server side&lt;br /&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp; Relatively shorter failover time for the appserver connection pool since connections comes from multiple instances&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Listener load may not be even if appserver load is uneven&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;3) Driver based Listener Load Balancing&amp;nbsp; / Server side Instance Load Balancing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; This approach is similar to the previous one except the listener traffic is also load balanced (round robin) by the JDBC driver.&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;i&gt; jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=db02-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=db01-vip)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dbServiceName))) &lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;4) Using Oracle SCAN (From 11g onwards)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;This approach is similar to above but the pain of configuring individual nodes/their VIPs in JDBC URLs are eliminated. All we need is a Round Robin enabled DNS name resolution and use the SCAN DNS name in the JDBC URLs.&lt;br /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp; jdbc:oracle:thin:@dbScanName:1521/dbServiceName&lt;/i&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Note: Apart from above methods which are mostly generic, each appserver vendor have their own ways to use RAC DB. Example is &lt;a href="http://docs.oracle.com/cd/E12840_01/wls/docs103/jdbc_admin/jdbc_multidatasources.html" target="_blank"&gt;Weblogic MDS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4867385091185203015?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4867385091185203015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4867385091185203015'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/01/oracle-rac-10g-jdbc-ha-load-balancing.html' title='Oracle RAC 10g / JDBC / HA / Load Balancing'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4858983295763229556</id><published>2012-01-25T01:53:00.002+05:30</published><updated>2012-01-25T01:53:22.226+05:30</updated><title type='text'>Hadoop/HBase based CDR Processing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This post is a continuation of the earlier &lt;a href="http://ssklogs.blogspot.com/2011/11/hadoop-and-cdr-processing.html" target="_blank"&gt;Hadoop CDR Processing&lt;/a&gt; post. The previous approach just used MR and HDFS to parse the files and calculate the total call duration for each TN.&lt;br /&gt;&lt;br /&gt;There is a limitation in this approach where in one cant query any data realtime or do any selective processing - say finding total duration for a particular TN. Thats where &lt;a href="http://hbase.apache.org/" target="_blank"&gt;HBase&lt;/a&gt; comes in, a multi-dimensional distributed data store based on HDFS.&lt;br /&gt;&lt;br /&gt;In this approach, the following phases are used&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Phase 1:&lt;/b&gt;&amp;nbsp; Use MR to parse the file and store individual records as a HBase Row/Column. Here Mapper is used to parse the file, calculate the duration of the call and write it to context. Reducer (based on HBase TableReducer) will take the individual records and write it to the CDR table&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Phase 2: &lt;/b&gt;Use MR to read the individual records, apply any filters and perform the required processing, in this case finding total duration for each TN. Here Mapper (based on HBase TableMapper) is used to read records from the CDR table and write it to the context. Reducer will take the individual records and calculate the total duration and writes it to output file (can be another HBase table too)&lt;br /&gt;&lt;br /&gt;Following are the steps/screenshots.&lt;br /&gt;&lt;br /&gt;In this setup, am running the HBase master on the HDFS&amp;nbsp; name node, HBase regions on all data nodes and Zookeeper on the name node.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installing HBase on top of existing Hadoop installation&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;-&amp;nbsp; Download HBase 0.90.5 and untar under the hadoop directory (on all nodes)&lt;br /&gt;-&amp;nbsp; In HBase conf/hbase-site.xml, set the following properties (on all nodes)&lt;br /&gt;&amp;nbsp;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&lt;configuration&gt;&lt;br /&gt; &lt;property&gt;&lt;br /&gt; &lt;name&gt;hbase.rootdir&lt;/name&gt;&lt;br /&gt; &lt;value&gt;hdfs://hdfsNameNode:9000//hbaseDir&lt;/value&gt;&lt;br /&gt; &lt;/property&gt;&lt;br /&gt;&lt;property&gt;&lt;br /&gt; &lt;name&gt;hbase.cluster.distributed&lt;/name&gt;&lt;br /&gt; &lt;value&gt;true&lt;/value&gt;&lt;/property&gt;&lt;br /&gt;&lt;property&gt;&lt;br /&gt; &lt;name&gt;hbase.zookeeper.quorum&lt;/name&gt;&lt;br /&gt; &lt;value&gt;hdfsNameNode&lt;/value&gt;&lt;/property&gt;&lt;br /&gt;&lt;property&gt;&lt;br /&gt; &lt;name&gt;hbase.zookeeper.property.dataDir&lt;/name&gt;&lt;br /&gt; &lt;value&gt;/zkdata&lt;/value&gt;&lt;/property&gt;&lt;/configuration&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; -&amp;nbsp; Make sure JAVA_HOME is set correctly in HBase conf/hbase-env.sh (on all nodes)&lt;br /&gt;-&amp;nbsp; Copy hbase jar to hadoop/lib (on all nodes)&lt;br /&gt;-&amp;nbsp; Copy zookeeper jar (from HBase install) to hadoop/lib (on all nodes)&lt;br /&gt;- &amp;nbsp; Enter the region node names in HBase conf/regionservers&lt;br /&gt;&lt;br /&gt;Stop hadoop on all nodes (stop-all.sh). Start hadoop (start-all.sh).&lt;br /&gt;Start HBase from master node - bin/start-hbase.sh&lt;br /&gt;&lt;br /&gt;Connect to the HBase shell - &lt;i&gt;bin/hbase shell&lt;/i&gt;&lt;br /&gt;Connect to the GUI Console - &lt;i&gt;http://hdfsNameNode:60010 (&lt;/i&gt;snippet shown below - 2 region servers running on the 2 data nodes&lt;i&gt;, &lt;/i&gt;hosting 3 regions)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WtL7fCdC2z4/Tx74THOacvI/AAAAAAAAAPQ/ow-jsW9l6mE/s1600/hb1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="http://1.bp.blogspot.com/-WtL7fCdC2z4/Tx74THOacvI/AAAAAAAAAPQ/ow-jsW9l6mE/s400/hb1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;CDR Processing&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&amp;nbsp;&lt;span style="font-size: small;"&gt;Table Creation&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- &lt;/b&gt;Using hbase shell, create the table "cdr" with a column family called "duration"&amp;nbsp; -&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;create 'cdr', 'duration'&amp;nbsp; &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;- The schema should look like below (&lt;i&gt;describe 'cdr'&lt;/i&gt;). Using default configuration for now.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;describe 'cdr'&lt;br /&gt;describe 'cdr'&lt;br /&gt;DESCRIPTION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENABLED&lt;br /&gt;&lt;br /&gt;&amp;nbsp;{NAME =&amp;gt; 'cdr', FAMILIES =&amp;gt; [{NAME =&amp;gt; 'duration', BLOOMFILTER =&amp;gt; true&lt;br /&gt;&amp;nbsp; 'NONE', REPLICATION_SCOPE =&amp;gt; '0', COMPRESSION =&amp;gt; 'NONE', VERSIONS =&amp;gt; '3', TTL =&amp;gt; '2147483647', BLOCKSIZE =&amp;gt; '65536', IN_MEMORY&lt;br /&gt;&amp;nbsp;=&amp;gt; 'false', BLOCKCACHE =&amp;gt; 'true'}]}&lt;br /&gt;1 row(s) in 0.0210 seconds&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;-&amp;nbsp;&lt;/i&gt;&lt;/span&gt; There shouldnt be any rows (&lt;i&gt;scan 'cdr'&lt;/i&gt;)&lt;br /&gt;&amp;nbsp;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;scan 'cdr'&lt;br /&gt;scan 'cdr'&lt;br /&gt;ROW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COLUMN+CELL&lt;br /&gt;0 row(s) in 0.0510 seconds&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Phase 1 - Data load (CDRLoadJob.java) &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;-&amp;nbsp; Make sure all required HBase packages are imported&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;-&amp;nbsp;&amp;nbsp; Create HBase based configuration (not the hadoop one) and set the zookeeper details&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; Configuration config = HBaseConfiguration.create();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String[] otherArgs = new GenericOptionsParser(config, args).getRemainingArgs();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; config.set("hbase.zookeeper.quorum", "hdfsNameNode");&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;- Mapper class is same as the one in earlier post. No changes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;- Use Hbase Reducer Util to populate the results from Map phase into the CDR table&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt; &lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TableMapReduceUtil.initTableReducerJob("cdr", TNTotalDurationReducerHB.class, job);&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;-&amp;nbsp; The Reducer class should look like below (For each instance of a CDR record, the TN/duration is filled in - TN is used as rowkey, an UUID as the "duration" column family attribute and duration computed from map phase as the value of the column)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp; public static class TNTotalDurationReducerHB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; extends TableReducer&lt;text,intwritable,immutablebyteswritable&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void reduce(Text key, Iterable&lt;intwritable&gt; values, Context context) throws IOException, InterruptedException {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Put put = new Put(Bytes.toBytes(key.toString()));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (IntWritable val : values) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UUID cdrID = UUID.randomUUID();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; put.add(Bytes.toBytes("duration"), Bytes.toBytes(cdrID.toString()),Bytes.toBytes((new Integer(val.get())).toString()));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.write(null, put);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;/intwritable&gt;&lt;/text,intwritable,immutablebyteswritable&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;}&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;- Add hbase jar to CLASSPATH. Compile and Run the job (refer to earlier post for the steps). The file records must now be populated in the cdr table (&lt;i&gt;scan 'cdr'&lt;/i&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-NwdYLFied8M/Tx7-hdW_75I/AAAAAAAAAPY/tRqENSeFhRg/s1600/hb2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="167" src="http://2.bp.blogspot.com/-NwdYLFied8M/Tx7-hdW_75I/AAAAAAAAAPY/tRqENSeFhRg/s400/hb2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 rows to match the 3 sets of the TN in the CDR files, totally 90 columns must be there (9 recs from each of the 10 files)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yQXKtUpD3i0/Tx7_GLJuYHI/AAAAAAAAAPg/v-T2CIggI2c/s1600/hb3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://3.bp.blogspot.com/-yQXKtUpD3i0/Tx7_GLJuYHI/AAAAAAAAAPg/v-T2CIggI2c/s400/hb3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;- Check the HBase GUI Console for the Table meta data (like which region server hosts it, etc)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kD7bPM--Tuc/Tx8A4dUXFZI/AAAAAAAAAPo/xT8D7ppj-Lw/s1600/hb4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://1.bp.blogspot.com/-kD7bPM--Tuc/Tx8A4dUXFZI/AAAAAAAAAPo/xT8D7ppj-Lw/s200/hb4.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Phase 2 - Processing the data (CDRProcessHBJob.java) &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;- &lt;/b&gt;Use HBase TableMapper for reading the records from the table&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scan scan = new Scan();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scan.setCaching(500);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scan.setCacheBlocks(false);&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TableMapReduceUtil.initTableMapperJob("cdr", scan, TNDurationMapperHB.class, Text.class, IntWritable.class, job);&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;b&gt; - &lt;/b&gt;Mapper class should like &lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp; public static class TNDurationMapperHB extends&amp;nbsp; TableMapper&lt;text, intwritable=""&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private IntWritable diff = new IntWritable(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Text tnText = new Text();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void map(ImmutableBytesWritable row, Result value, Context context&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) throws IOException, InterruptedException {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String tn = new String(value.getRow());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("tn=" + tn);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tnText.set(tn);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (KeyValue kv : value.raw()) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int diffI = Integer.parseInt(Bytes.toString(kv.getValue()));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("&amp;nbsp; colF: " + Bytes.toString(kv.getFamily()) +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "/" + Bytes.toString(kv.getQualifier()) +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ", Value: " + diff);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; diff.set(diffI);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.write(tnText,diff);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;/text,&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;- &lt;/b&gt;Reducer class is same as the one in earlier post. No changes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;- Compile and Run the job. The total duration for each TN should now be calculated using the CDR instances in the CDR table and stored in the output file, similar to the hadoop only CDR processing explained in earlier post&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; 90 records are read in map phase. 3 records (total duration for each TN) from Reduce phase for 3 sets of TNs.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Qqe1mHcxYLo/Tx8Lk1LO_VI/AAAAAAAAAPw/eFqrKkCsN1Y/s1600/hb5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="170" src="http://3.bp.blogspot.com/-Qqe1mHcxYLo/Tx8Lk1LO_VI/AAAAAAAAAPw/eFqrKkCsN1Y/s400/hb5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;span style="font-size: small;"&gt;- Using the HDFS console, browse the FS and check the output directory of the job. The output is same as the reduce output mentioned in the previous hadoop post&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;- To process selective records - say filtering based on TN, use a filter and pass it to the Scanner. The output directory will only have the total duration for the requested TN&lt;br /&gt;&amp;nbsp;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Filter tnFilter = new RowFilter(CompareFilter.CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes("666555577")));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scan.setFilter(tnFilter);&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BtbPyc4wtfw/Tx8NwwMabxI/AAAAAAAAAP4/vkXX39IuOzg/s1600/hb6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://2.bp.blogspot.com/-BtbPyc4wtfw/Tx8NwwMabxI/AAAAAAAAAP4/vkXX39IuOzg/s400/hb6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-size: xx-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4858983295763229556?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4858983295763229556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4858983295763229556'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/01/hadoophbase-based-cdr-processing.html' title='Hadoop/HBase based CDR Processing'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-WtL7fCdC2z4/Tx74THOacvI/AAAAAAAAAPQ/ow-jsW9l6mE/s72-c/hb1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2485423250812178620</id><published>2012-01-12T10:41:00.001+05:30</published><updated>2012-01-12T10:41:13.142+05:30</updated><title type='text'>My first android app !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It was in March 2006, when i wrote my first J2ME app and installed it on the RAZR. &lt;br /&gt;At that time, J2ME ruled the mobile apps space. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://ssklogs.blogspot.com/2006/03/my-first-j2me-app-on-razr.html"&gt;http://ssklogs.blogspot.com/2006/03/my-first-j2me-app-on-razr.html&lt;/a&gt;&lt;br /&gt;&amp;nbsp;Now its iOS/android. So wanted to try out android programming using my new MID apad. Following are the steps followed.&lt;br /&gt;&lt;br /&gt;- Download android plugin for eclipse, SDK and the Platform (mine is 2.3.3)&lt;br /&gt;- The plugin has a default Hello World project. Modified the String thats displayed&lt;br /&gt;- Delete the R.java (auto gen file to hold constants) and rebuild the project&lt;br /&gt;- Run it and test it on the emulator&lt;br /&gt;- Create the APK using the android tools (right click on the project)&lt;br /&gt;- Make sure its a signed APK&lt;br /&gt;- On the apad, under settings-&amp;gt; applications, check "Unknown sources"&lt;br /&gt;- To speed up install process , set up a webserver on the laptop and make the APK output to go to the docs directory. This way its much faster than the copy from USB driver approach&lt;br /&gt;- Open the browser and point to the laptop webserver APK URL&lt;br /&gt;- APK will get installed.&lt;br /&gt;&lt;br /&gt;Following is a pic of the apad running my first app !&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nHudoJwMtig/Tw5qxcbi1iI/AAAAAAAAAPI/WyaH22Iu-gE/s1600/010720122105.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-nHudoJwMtig/Tw5qxcbi1iI/AAAAAAAAAPI/WyaH22Iu-gE/s320/010720122105.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2485423250812178620?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2485423250812178620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2485423250812178620'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/01/my-first-android-app.html' title='My first android app !'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-nHudoJwMtig/Tw5qxcbi1iI/AAAAAAAAAPI/WyaH22Iu-gE/s72-c/010720122105.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8983421552256814794</id><published>2012-01-06T13:07:00.002+05:30</published><updated>2012-01-06T13:16:46.136+05:30</updated><title type='text'>3GPP 22.220</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Femtocells are used to access the 3G/LTE network using the local broadband. Now the interesting part is how intelligent can the devices (HNB or HeNB) can be, when multiple devices use the femtocell to form a local network , similar to wi-fi.&lt;br /&gt;&lt;br /&gt;For example, if I need to send a picture from my phone to my kid`s tablet, should it traverse all the way up to the operator`s network and then reach the other UE ? That may not be efficient. Instead if the HNB or HeNB can detect that the other UE is on local network and send the bytes directly, it can minimize latency and traffic.&lt;br /&gt;&lt;br /&gt;Thats where the 22.220 spec comes in and especially the Local IP Access part.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8983421552256814794?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8983421552256814794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8983421552256814794'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/01/3gpp-22220.html' title='3GPP 22.220'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6080453205741919583</id><published>2012-01-05T13:22:00.001+05:30</published><updated>2012-01-05T13:22:17.644+05:30</updated><title type='text'>Hello Cloud ! Hello AWS ! Hello S3 !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Finally got some time to try out AWS. Signed up for the free usage tier (CC reqd). Started with S3 Storage.&lt;br /&gt;The management console is very user friendly. Using the console , created a bucket.&lt;br /&gt;&lt;br /&gt;It wont be fun if everything is done using the console. So downloaded the eclipse toolkit for AWS. The toolkit is very easy to use and it had a template S3 project with sample code to add/delete/list bucket(s), upload/view files etc. Modified the code to use the bucket created above and ran it. Went fine with no errors/exceptions. The sample file got uploaded and was able to view it using the console.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6080453205741919583?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6080453205741919583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6080453205741919583'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/01/hello-cloud-hello-aws-hello-s3.html' title='Hello Cloud ! Hello AWS ! Hello S3 !'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2387173447398994277</id><published>2012-01-02T15:52:00.000+05:30</published><updated>2012-01-02T16:31:14.155+05:30</updated><title type='text'>try-with-resources</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Distributed apps often face the problem of resource leaks where in resources like JDBC ResultSet, Connections are not closed properly. A good practice is to ensure having a finally block so that the resource can be closed no matter whether the usage was successful or not.&lt;br /&gt;&lt;br /&gt;Starting from JDK 7, there is a new feature called try-with-resources which automatically closes the resource by calling the close method. No need for explicit finally blocks for closing purpose. The resource object must implement the AutoCloseable interface. For example, looking at the JDBC&amp;nbsp; ResultSet in JDK 7,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html"&gt;http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;we can see that implements the AutoCloseable interface.&lt;br /&gt;&lt;br /&gt;Reminds me of the auto pointers in c++ !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2387173447398994277?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2387173447398994277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2387173447398994277'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2012/01/try-with-resources.html' title='try-with-resources'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3754840467210734323</id><published>2011-12-29T16:45:00.001+05:30</published><updated>2011-12-29T16:45:46.572+05:30</updated><title type='text'>MID android pad</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Got a 7" MID apad (running 2.3) from ebay to try out some android programming and for my kid to play angry birds !&lt;br /&gt;&lt;br /&gt;So far so good and satisfied for such a cheap price ( &amp;lt; 100$) .&lt;br /&gt;&lt;br /&gt;Some issuers are, the speaker volume&amp;nbsp; is not that good and since its a Chinese product, the android market is filtering off many apps based on device country. Not sure why !! Unable to even install Voice Search.&lt;br /&gt;&lt;br /&gt;Wi-fi worked great, but unable to make it recognize the Huawei E1261 3G USB Modem using the supplied USB adapter.&lt;br /&gt;&lt;br /&gt;External microSD / USB drives works nice.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3754840467210734323?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3754840467210734323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3754840467210734323'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/mid-android-pad.html' title='MID android pad'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7525639836474090893</id><published>2011-12-21T13:59:00.004+05:30</published><updated>2011-12-21T13:59:42.836+05:30</updated><title type='text'>IBMs latest 5 in 5</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://www.ibm.com/smarterplanet/us/en/ibm_predictions_for_future/overview/index.html"&gt;http://www.ibm.com/smarterplanet/us/en/ibm_predictions_for_future/overview/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Innovation about Energy is much needed. Reminds me of the article where workout equipments are used to harness power.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ecohearth.com/eco-zine/travel-and-leisure/930-human-powered-gyms-one-workout-at-a-time.html"&gt;http://ecohearth.com/eco-zine/travel-and-leisure/930-human-powered-gyms-one-workout-at-a-time.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Also reminds me of the childhood days, where the bikes were fitted with dynamos to power the headlights. But the recent bikes (the one used by my daughter) use battery powered led lights.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7525639836474090893?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7525639836474090893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7525639836474090893'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/ibms-latest-5-in-5.html' title='IBMs latest 5 in 5'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8755973639684486954</id><published>2011-12-19T13:54:00.001+05:30</published><updated>2011-12-19T13:54:41.212+05:30</updated><title type='text'>Common Crawl</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Feeling bored in learning hadoop using basic word count type problems ? Now there is open access to real big data - a 5 billion page index of the web . The best thing is that its already on amazon S3, so that one can build any apps using this data by running hadoop code on the EC2.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.commoncrawl.org/data/"&gt;http://www.commoncrawl.org/data/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8755973639684486954?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8755973639684486954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8755973639684486954'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/common-crawl.html' title='Common Crawl'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3783534416152829681</id><published>2011-12-15T02:03:00.001+05:30</published><updated>2011-12-15T02:12:03.568+05:30</updated><title type='text'>Open Compute</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Cloud is the future. OpenStack provides open software for it (VMs, APIs, Management etc). Without proper lean, scalable, efficient hardware, the software cannot perform well.&lt;br /&gt;&lt;br /&gt;Thats where Open Compute Project comes into picture. Its an initiative by Facebook to define specs for open hardware (server + datacenter), which can scale massively and efficiently.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://opencompute.org/"&gt;http://opencompute.org/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3783534416152829681?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3783534416152829681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3783534416152829681'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/open-compute.html' title='Open Compute'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6072289938674149092</id><published>2011-12-11T23:57:00.001+05:30</published><updated>2011-12-12T00:00:17.033+05:30</updated><title type='text'>Own a Color</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Innovative Charity activity from Dulux.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ownacolour.com/"&gt;http://www.ownacolour.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reminds me of &lt;a href="http://milliondollarhomepage.com/"&gt;http://milliondollarhomepage.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6072289938674149092?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6072289938674149092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6072289938674149092'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/own-color.html' title='Own a Color'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5194924030965083321</id><published>2011-12-10T01:05:00.001+05:30</published><updated>2011-12-10T01:18:51.510+05:30</updated><title type='text'>ISBN reader / Book Catalog</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;My kid has 100+ story books in her home library. Yesterday I was at a book shop and wanted to surprise her with a book. After reaching home, the surprise was on me, coz she already had that book. This incident induced to look for an app, which can auto catalog one`s library and store it on the phone, so that it will be handy to search whether we already own the book.&lt;br /&gt;&lt;br /&gt;There are several book catalog app but most require manual entry. I was looking for a J2ME app which can use the phone`s cam as a Barcode reader and read/fetch info about the ISBN and automatically update an internal database.This way i dont have to enter the names of the books manually.&lt;br /&gt;&lt;br /&gt;I already use BeeTagg J2ME app as a QR code reader. All these days, I was thinking it can read only QR codes. But I was wrong. It can nicely read any standard BarCodes (Product/ISBN etc) and also can fetch the information about it from the web. Tried it and it works like a charm. Still my other half of the requirement isnt fulfilled, which is to store the info in a searchable catalog.&lt;br /&gt;&lt;br /&gt;Looks like I may have to whip up a small J2ME app which can accept the ISBN as input (which i can copy/paste from the BeeTagg app) and fetch the details from any ISBN webservice on the net and store it in a J2ME RMS database.&amp;nbsp; Nice little weekend project !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5194924030965083321?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5194924030965083321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5194924030965083321'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/isbn-reader-book-catalog.html' title='ISBN reader / Book Catalog'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3807718784072552045</id><published>2011-12-04T22:45:00.001+05:30</published><updated>2011-12-04T23:25:27.431+05:30</updated><title type='text'>GPU, jCUDA, Hadoop</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;For HPC like number crunching, its more efficient to use the GPU (Graphics Processing Unit) like NVIDIA. Now a days, even a low end GPU has 96+ cores thus enabling high parallel processing.&amp;nbsp; But not all tasks are suitable for GPUs. &lt;br /&gt;&lt;br /&gt;Using a GPU programmtically requires explicit instructions in the code. There are several SDKs available (from each GPU vendor) for various languages and OS. OpenCL is a vendor neutral SDK for the same.&lt;br /&gt;&lt;br /&gt;CUDA is NVIDIAs GPU architecture and&amp;nbsp; jCUDA which is Java Based and NVIDIA specific enables use of the NVIDIA GPUs for HPC tasks. A module called "kernel" (not the OS kernel) needs to be written having the logic for the task and it can be invoked using the jCUDA SDKs from any Java Code.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.khronos.org/opencl/"&gt;http://www.khronos.org/opencl/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nvidia.in/object/cuda_home_new_in.html"&gt;http://www.nvidia.com/object/cuda_home_new.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jcuda.de/"&gt;http://www.jcuda.de/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now it would be interesting to see how MapReduce behaves in a GPU environment. It would be nice to have a Hadoop Framework with auto support for GPUs where the Map tasks run on the GPU cores.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3807718784072552045?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3807718784072552045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3807718784072552045'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/gpu-jcuda-hadoop.html' title='GPU, jCUDA, Hadoop'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7321603628967374178</id><published>2011-12-01T14:03:00.001+05:30</published><updated>2011-12-01T14:08:34.941+05:30</updated><title type='text'>Secure Coding Standards for Java</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Excellent guide for secure coding in Java. Explains the exploit and vulnerabilities with good/bad code examples. A must read for all Java developers/Architects. Not sure whether OWASP covers all these, need to check it out.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.securecoding.cert.org/confluence/display/java/The+CERT+Oracle+Secure+Coding+Standard+for+Java"&gt;https://www.securecoding.cert.org/confluence/display/java/The+CERT+Oracle+Secure+Coding+Standard+for+Java&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7321603628967374178?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7321603628967374178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7321603628967374178'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/12/secure-coding-standards-for-java.html' title='Secure Coding Standards for Java'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8739348883896935716</id><published>2011-11-29T08:55:00.001+05:30</published><updated>2011-11-29T09:02:43.136+05:30</updated><title type='text'>One Time Passwords / Barada</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;One time passwords provides more secure way of logging into systems since there is no one constant password. I have implemented OTP few years back for a storage appliance using linux. Command line clients were used to generate the passwords whenever needed.&lt;br /&gt;&lt;br /&gt;Barada is one another OTP tool but the nice thing is that it has a android based client app, so that a phone can be used as the client tool to generate the passwords. The app is secured using a PIN.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://barada.sourceforge.net/"&gt;http://barada.sourceforge.net/&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8739348883896935716?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8739348883896935716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8739348883896935716'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/one-time-passwords-barada.html' title='One Time Passwords / Barada'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2644347249220319903</id><published>2011-11-25T11:19:00.001+05:30</published><updated>2011-11-25T11:29:53.324+05:30</updated><title type='text'>Rat in the maze, Robots</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;During my CS college days, we had to write a program based on the backtrack algorithm to find the correct route for the rat in the maze problem. We did it in Pascal as well as C. We also did 2 versions of it - recursive and non-recursive. We had to construct a random maze on the screen by using a 2D bitmap(1 - wall, 0 - space) and show graphically the backtrack process and finally show the correct route.&lt;br /&gt;&lt;br /&gt;In recent times, technology has advanced the study of this problem where in real robot mouses are being used. Amazing !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.np.edu.sg/alpha/nbk/umouse/video.html"&gt;http://www.np.edu.sg/alpha/nbk/umouse/video.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2644347249220319903?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2644347249220319903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2644347249220319903'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/rat-in-maze.html' title='Rat in the maze, Robots'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5664550039905139775</id><published>2011-11-21T08:08:00.001+05:30</published><updated>2011-11-21T08:21:14.120+05:30</updated><title type='text'>Top 10 Supercomputers, SGI/Hadoop</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The new list has been released with Japan holding the No.1 position. Has cool photos too. Nice to see Sun SPARC processors being used for the No.1 SC.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.datacenterknowledge.com/the-top-10-supercomputers-illustrated-nov-2011/"&gt;http://www.datacenterknowledge.com/the-top-10-supercomputers-illustrated-nov-2011/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While going through the list, saw one of the SC from SGI. Went to their site to see what they are upto now a days. They too want a share of the hadoop pie !! SGI is offering Hadoop Clusters based on Cloudera stack. Excellent !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sgi.com/products/hadoop/"&gt;http://www.sgi.com/products/hadoop/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5664550039905139775?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5664550039905139775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5664550039905139775'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/top-10-supercomputers.html' title='Top 10 Supercomputers, SGI/Hadoop'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7234555083467435497</id><published>2011-11-20T00:11:00.001+05:30</published><updated>2011-11-20T00:38:01.141+05:30</updated><title type='text'>Oracle Result Cache, Memcached</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Oracle 11g has a nice feature called "Result Cache" using which results (yes, exact results and not data blocks) of Queries are stored in a separate cache (apart from the numerous caches that exist already on the DB!). It can be used using SQL hint "RESULT CACHE" in the Queries. If the query results changes, Oracle automatically invalidates the Cache and updates it.&lt;br /&gt;&lt;br /&gt;Now the question is on how it behaves in RAC. Oracle takes care of it automatically using its existing sync mechanisms using the Interconnect. Each node obtains its own copy of the Result Cache and uses it. &lt;br /&gt;&lt;br /&gt;It cannot be compared to memcached since memcached&lt;br /&gt;&amp;nbsp;- can be used to cache anything,&lt;br /&gt;&amp;nbsp;- can run on its own set of nodes&lt;br /&gt;&amp;nbsp;- is distributed (only one copy of cached value), no interconnects&lt;br /&gt;&amp;nbsp;- has no dependency on Oracle&lt;br /&gt;&amp;nbsp;- has no auto cache invalidation (apps have to take care of it)&lt;br /&gt; &lt;br /&gt;&amp;nbsp;If any project where Oracle 11g is used and needs additional caching but cannot go in for memcached type of frameworks due to some reasons, this Result Cache feature can be used to improve performance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7234555083467435497?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7234555083467435497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7234555083467435497'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/oracle-result-cache-memcached.html' title='Oracle Result Cache, Memcached'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4843922144474706032</id><published>2011-11-18T13:47:00.001+05:30</published><updated>2011-11-18T13:54:01.368+05:30</updated><title type='text'>First Computer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Interesting Article on the first computers used by legends like Vint Cerf, Richard Stallman.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.silicon.com/technology/hardware/2011/11/16/what-got-you-interested-in-technology-its-rich-and-famous-share-their-memories-39748104/"&gt;http://www.silicon.com/technology/hardware/2011/11/16/what-got-you-interested-in-technology-its-rich-and-famous-share-their-memories-39748104/ &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My first computer was a Zenith PC - no HDD, single 5 1/4 inch FDD, DOS, monochrome monitor. First Program I wrote was using BASIC, to print my name. Was very excited seeing my name on the screen and the ability to make a machine do what you want.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4843922144474706032?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4843922144474706032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4843922144474706032'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/first-computer.html' title='First Computer'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6531946468088857783</id><published>2011-11-15T14:18:00.001+05:30</published><updated>2011-11-16T01:54:37.988+05:30</updated><title type='text'>Hadoop and CDR Processing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Wanted to try out hadoop. Since i work in telco domain, CDR Processing was a perfect fit. It sets perfectly well for the definition of "Big Data" - Volume, Velocity and Variety. Following are the steps followed for a small prototype.&lt;br /&gt;&lt;br /&gt;- 2 Laptops(nodes) with SSH enabled and password-less logins&lt;br /&gt;- Installed release 0.20.2&lt;br /&gt;-&amp;nbsp; Follow the &lt;a href="http://hadoop.apache.org/common/docs/stable/single_node_setup.html"&gt;single node setup&lt;/a&gt; and make sure hadoop works on each of the laptop. Run the WordCount / Grep examples to verify&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Initial Steps (Multi Node)&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- Now go in for the actual fun - multi node setup&lt;br /&gt;- Choose one of the node to be the primary Name Node (for HDFS) and Job Tracker node (for MR jobs)&amp;nbsp; &lt;br /&gt;- Enter the Primary node`s IP in conf/core-site.XML for the property "fs.default.name" (on both the nodes)&lt;br /&gt;- Enter the Primary node`s IP in conf/mapred-site.XML for the property "mapred.job.tracker" (on both the nodes)&lt;br /&gt;- Enter the Primary node`s IP in conf/masters (only on the primary node)&lt;br /&gt;&lt;br /&gt;- Enter both the nodes IPs in conf/slaves (only on the primary node). Both the nodes will act as Data(HDFS) and Task (MR) nodes&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- Set the value of property "dfs.replication" to 2 (since we have 2 nodes, its better to replicate the HDFS blocks) in conf/hdfs-site.xml&amp;nbsp; (on both the nodes )&lt;br /&gt;- Now we can start the hadoop cluster using bin/start-all.sh. The output is shown below&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;$ bin/start-all.sh&lt;br /&gt;starting namenode, logging to /rnd/hadoop-0.20.2/bin/../logs/hadoop-h&lt;br /&gt;padmin-namenode-primary.out&lt;br /&gt;192.168.1.100: starting datanode, logging to /rnd/hadoop-0.20.2/bin/.&lt;br /&gt;./logs/hadoop-hpadmin-datanode-primary.out&lt;br /&gt;192.168.1.102: starting datanode, logging to /rnd/hadoop-0.20.2/bin/.&lt;br /&gt;./logs/hadoop-hpadmin-datanode-slave1.out&lt;br /&gt;192.168.1.100: starting secondarynamenode, logging to /rnd/hadoop-0.2&lt;br /&gt;0.2/bin/../logs/hadoop-hpadmin-secondarynamenode-primary.out&lt;br /&gt;starting jobtracker, logging to /rnd/hadoop-0.20.2/bin/../logs/hadoop&lt;br /&gt;-hpadmin-jobtracker-primary.out&lt;br /&gt;192.168.1.100: starting tasktracker, logging to /rnd/hadoop-0.20.2/bi&lt;br /&gt;n/../logs/hadoop-hpadmin-tasktracker-primary.out&lt;br /&gt;192.168.1.102: starting tasktracker, logging to /rnd/hadoop-0.20.2/bi&lt;br /&gt;n/../logs/hadoop-hpadmin-tasktracker-slave1.out&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;- Verify the setup using the examples - WordCount and Grep&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;CDR Processing&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now coming to CDR processing, a typical CDR may contain lot of fields for a call/transaction. But for this exercise, I just went with the simple format.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;SourceTN|startTimeOftheCall|EndTimeOfTheCall|DestinationTN (time is epoch format-secs)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hadoop MR will be used to calculate the total call duration for a given SourceTN.&lt;br /&gt;&lt;br /&gt;Sample CDR file&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt; 666555555|30|45|8885555555&lt;br /&gt;666555566|40|75|8885555555&lt;br /&gt;666555555|10|45|8885555555&lt;br /&gt;666555555|30|45|8885555555&lt;br /&gt;666555577|30|95|8885555555&lt;br /&gt;666555555|20|45|8885555555&lt;br /&gt;666555555|30|45|8885555555&lt;br /&gt;666555566|00|45|8885555555&lt;br /&gt;666555577|30|45|8885555555&lt;/i&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&amp;nbsp;- Took the example WordCount code as base and modified it as below for the Map and Reduce part (CDR.java) &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: x-small;"&gt;&lt;i&gt;private IntWritable diff = new IntWritable(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Text tn = new Text();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void map(Object key, Text value, Context context&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) throws IOException, InterruptedException {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringTokenizer itr = new StringTokenizer(value.toString(),"|");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(key + "-" + value);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (itr.countTokens() &amp;lt; 3) return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String tnTmp=itr.nextToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String start = itr.nextToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String end = itr.nextToken();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int diffTmp = Integer.parseInt(end) - Integer.parseInt(start);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(tnTmp+"-"+diffTmp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tn.set(tnTmp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diff.set(diffTmp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; context.write(tn,diff);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt; - &lt;/i&gt;Modify ExampleDriver.java to include an entry for the above CDR job (Later will try to run it directly)&lt;br /&gt;&amp;nbsp;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pgd.addClass("cdr", CDR.class, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "A map/reduce program that calculates duration from CDR files .");&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;- Build the examples - using "ant examples" from the hadoop root folder&lt;br /&gt;&lt;br /&gt;- Ensure the same hadoop-core jar is present on both the nodes, else "version mismatch" errors will occur, when the tasks are submitted to the task nodes&lt;br /&gt;&lt;br /&gt;- Create several CDR files having several records with data as in above format ( I just copied the same file multiple times with different names, ten times)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- Create an input dir on HDFS using &lt;i&gt;bin/hadoop dfs&amp;nbsp; -mkdir&lt;/i&gt; &lt;i&gt;input&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;- Copy the above CDR files to the HDFS input dir using &lt;i&gt;bin/hadoop dfs -copyFromLocal &lt;localdir&gt; input/&lt;/localdir&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;- Create an output dir on HDFS using &lt;i&gt;bin/hadoop dfs&amp;nbsp; -mkdir&lt;/i&gt; &lt;i&gt;output&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;- Ensure the cluster is running, if not start the hadoop cluster - &lt;i&gt;bin/hadoop start-all.sh&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;- Submit the CDR processing job - &lt;i&gt;bin/hadoop jar&amp;nbsp; build/hadoop-0.20.3-dev-examples.jar cdr input output&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now the cluster should process the files and submit the records in each of the file to the two task nodes for MR processing. Log Output looks like below&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;$ bin/hadoop jar build/hadoop-0.20.3-dev-examples.jar cdr input output&lt;br /&gt;&lt;span style="background-color: orange;"&gt;11/11/16 00:15:52 INFO input.FileInputFormat: Total input paths to process : 10&lt;/span&gt;&lt;br style="background-color: orange;" /&gt;11/11/16 00:15:53 INFO mapred.JobClient: Running job: job_201111160001_0005&lt;br /&gt;11/11/16 00:15:54 INFO mapred.JobClient:&amp;nbsp; map 0% reduce 0%&lt;br /&gt;11/11/16 00:16:01 INFO mapred.JobClient:&amp;nbsp; map 20% reduce 0%&lt;br /&gt;11/11/16 00:16:04 INFO mapred.JobClient:&amp;nbsp; map 40% reduce 0%&lt;br /&gt;11/11/16 00:16:07 INFO mapred.JobClient:&amp;nbsp; map 80% reduce 0%&lt;br /&gt;11/11/16 00:16:10 INFO mapred.JobClient:&amp;nbsp; map 100% reduce 0%&lt;br /&gt;11/11/16 00:16:13 INFO mapred.JobClient:&amp;nbsp; map 100% reduce 26%&lt;br /&gt;11/11/16 00:16:19 INFO mapred.JobClient:&amp;nbsp; map 100% reduce 100%&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient: Job complete: job_201111160001_0005&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient: Counters: 17&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp; Job Counters&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Launched reduce tasks=1&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Launched map tasks=10&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data-local map tasks=10&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp; FileSystemCounters&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILE_BYTES_READ=648&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDFS_BYTES_READ=2440&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILE_BYTES_WRITTEN=1508&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HDFS_BYTES_WRITTEN=43&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp; Map-Reduce Framework&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reduce input groups=3&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Combine output records=30&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map input records=90&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reduce shuffle bytes=486&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reduce output records=3&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Spilled Records=60&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map output bytes=1260&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Combine input records=90&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map output records=90&lt;br /&gt;11/11/16 00:16:22 INFO mapred.JobClient:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reduce input records=30&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Delete the output directory before running again - &lt;i&gt;bin/hadoop dfs -rmr output&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Screenshots&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Following are some screenshots of the various GUI consoles showing the job data&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On Master Node - http://localhost:50030 (MR admin)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Job Record &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tR4zWxEHbhE/TsLHhH-WW1I/AAAAAAAAAOA/QS4VsLrp9Jg/s1600/h1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="http://2.bp.blogspot.com/-tR4zWxEHbhE/TsLHhH-WW1I/AAAAAAAAAOA/QS4VsLrp9Jg/s640/h1.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GTQYjuRTREc/TsLA0hCocdI/AAAAAAAAAM4/P_VoTvhipKg/s1600/hadooppics.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;&lt;b&gt;Job Detail&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-n8D8r9_G2Tw/TsLHh1XaCiI/AAAAAAAAAOE/9MSDwf8N2-E/s1600/h2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://4.bp.blogspot.com/-n8D8r9_G2Tw/TsLHh1XaCiI/AAAAAAAAAOE/9MSDwf8N2-E/s400/h2.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GTQYjuRTREc/TsLA0hCocdI/AAAAAAAAAM4/P_VoTvhipKg/s1600/hadooppics.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-0jFP_YPW4po/TsLBDiWiXGI/AAAAAAAAANA/iKrWRmr3WuY/s1600/hadooppics1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Map Tasks (10 of them)&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-kzkK_xXk8TM/TsLHibFYQMI/AAAAAAAAAOM/b08eAYOe3dM/s1600/h3.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="289" src="http://4.bp.blogspot.com/-kzkK_xXk8TM/TsLHibFYQMI/AAAAAAAAAOM/b08eAYOe3dM/s640/h3.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-n8D8r9_G2Tw/TsLHh1XaCiI/AAAAAAAAAOE/9MSDwf8N2-E/s1600/h2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Reduce Task&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-z4_L0axFAjs/TsLHjLF0gRI/AAAAAAAAAOY/S27ObqgEmfE/s1600/h4.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="82" src="http://4.bp.blogspot.com/-z4_L0axFAjs/TsLHjLF0gRI/AAAAAAAAAOY/S27ObqgEmfE/s640/h4.gif" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;On Name Node - http://localhost:50070&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt; &lt;br /&gt;&amp;nbsp;&lt;b&gt;Name Node - Browse HDFS&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3YSbQ_vf7s8/TsLHkY5fIoI/AAAAAAAAAOc/PnP6yeyhSCU/s1600/h5.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://2.bp.blogspot.com/-3YSbQ_vf7s8/TsLHkY5fIoI/AAAAAAAAAOc/PnP6yeyhSCU/s320/h5.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;input/output dirs&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-aaBMthidpg4/TsLHk1ZNNfI/AAAAAAAAAOk/zB0wWXaZq2A/s1600/h6.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="37" src="http://1.bp.blogspot.com/-aaBMthidpg4/TsLHk1ZNNfI/AAAAAAAAAOk/zB0wWXaZq2A/s400/h6.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GTSwMmbKHSU/TsLB1cKYCRI/AAAAAAAAANU/mfc0TMT4kyk/s1600/hadooppics5.1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;input DIR&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HYQOxiz6boY/TsLHljeUJUI/AAAAAAAAAOs/Wxlr3oBht4o/s1600/h7.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-HYQOxiz6boY/TsLHljeUJUI/AAAAAAAAAOs/Wxlr3oBht4o/s320/h7.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FzzhKyPwWiQ/TsLB2sThjgI/AAAAAAAAANk/F4nWcs23QpI/s1600/hadooppics6.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Output DIR&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-g9SR62_X4QA/TsLHmfJpvuI/AAAAAAAAAO0/_ZLHzjGJ1C8/s1600/h8.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="88" src="http://4.bp.blogspot.com/-g9SR62_X4QA/TsLHmfJpvuI/AAAAAAAAAO0/_ZLHzjGJ1C8/s320/h8.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Final Result(reduce output)&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-iKn69m4O2sU/TsLHm5rauLI/AAAAAAAAAO4/If9NDDdAyqQ/s1600/h9.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" src="http://1.bp.blogspot.com/-iKn69m4O2sU/TsLHm5rauLI/AAAAAAAAAO4/If9NDDdAyqQ/s400/h9.gif" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tR4zWxEHbhE/TsLHhH-WW1I/AAAAAAAAAOA/QS4VsLrp9Jg/s1600/h1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_aswmaSWbd0/TsLB4Cg4JOI/AAAAAAAAAN0/VHXN-asYeF8/s1600/hadooppics8.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GTSwMmbKHSU/TsLB1cKYCRI/AAAAAAAAANU/mfc0TMT4kyk/s1600/hadooppics5.1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GTSwMmbKHSU/TsLB1cKYCRI/AAAAAAAAANU/mfc0TMT4kyk/s1600/hadooppics5.1.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6531946468088857783?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6531946468088857783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6531946468088857783'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/hadoop-and-cdr-processing.html' title='Hadoop and CDR Processing'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-tR4zWxEHbhE/TsLHhH-WW1I/AAAAAAAAAOA/QS4VsLrp9Jg/s72-c/h1.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7383942505661254791</id><published>2011-11-14T00:56:00.001+05:30</published><updated>2011-11-14T01:16:24.035+05:30</updated><title type='text'>ThreadLocalRandom</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Random Class methods in JDK are synchronized to control access to the seed. This means in a multi threaded app, either we have to take the penalty of contention or create numerous Random instances for each task and waste the memory.&lt;br /&gt;In JDK 1.7, there is a ThreadLocalRandom class, which can be used to create per thread Random instance with an internal seed thus avoiding the above 2 issues.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadLocalRandom.html"&gt;http://download.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadLocalRandom.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7383942505661254791?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7383942505661254791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7383942505661254791'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/threadlocalrandom.html' title='ThreadLocalRandom'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8655805306987049527</id><published>2011-11-12T18:10:00.001+05:30</published><updated>2011-11-12T18:17:03.023+05:30</updated><title type='text'>Music and Cocktail</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Interesting App&amp;nbsp; &lt;a href="http://drinkify.org/"&gt;http://drinkify.org/ .&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not sure whether its random recos or some analysis have gone behind them !&lt;br /&gt;&lt;br /&gt;Need to try their recommendation for &lt;a href="http://drinkify.org/GV%20Prakash"&gt;GV.P&lt;/a&gt;&lt;span id="goog_2137984636"&gt;&lt;/span&gt;&lt;span id="goog_2137984637"&gt;&lt;/span&gt; listening to &lt;a href="http://www.youtube.com/watch?v=WakU5wtG3qg"&gt;ME&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8655805306987049527?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8655805306987049527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8655805306987049527'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/music-and-cocktail.html' title='Music and Cocktail'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-9111568035885871727</id><published>2011-11-09T15:58:00.000+05:30</published><updated>2011-11-12T18:17:16.535+05:30</updated><title type='text'>Ubuntu 11.10 - dual boot with Windows 7</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Got a laptop recently. By default it came with Windows 7 Basic. Installed Ubuntu on it with dual boot option. &lt;br /&gt;&lt;br /&gt;Here are the steps i followed for the partition phase&lt;br /&gt;&lt;br /&gt;- Used a Ubuntu CD that came with a Linux Magazine&lt;br /&gt;&lt;br /&gt;- The laptop had 500GB HDD and it was factory partitioned to have 4 primary partitions (the max!). Can proceed only if one of the primary partition is removed &lt;br /&gt;&lt;br /&gt;-&amp;nbsp; Looking at the paritions - System, Win7, Recovery and Tools. Looked like the tools partition had just diag tools , so decided to go with the risk of deleting it. Also made recovery DVD sets outta the Recovery parition to be safe&lt;br /&gt;&lt;br /&gt;- The tools partition consumed only 200MB of data. Need to release space outta the Win7 parition , which was holding 400+GB&lt;br /&gt;&lt;br /&gt;- Used the win7 disk management - Shrink Volume utility to shrink the Win7 parition by 50 GB, so that the space can be used for Linux &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- Booted into Linux, direct from the DVD (using the try option). Used Gparted to delete the "tools" partition&lt;br /&gt;&lt;br /&gt;- Used Gparted, to create a new primary extended parition using the 50GB free space. On top of it created the / (root) and swap linux partitions&lt;br /&gt;&lt;br /&gt;Once the linux partitions were created, the rest of the install was breezy.&lt;br /&gt;&lt;br /&gt;So far havent faced any issues due to the deletion of the tool partition. There was no issue in booting into win7.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-9111568035885871727?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/9111568035885871727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/9111568035885871727'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/ubuntu-1110.html' title='Ubuntu 11.10 - dual boot with Windows 7'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-9213462471383013395</id><published>2011-11-06T00:51:00.000+05:30</published><updated>2011-11-12T18:17:24.434+05:30</updated><title type='text'>Innovative use of sound recognization</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Y!`s IntoNow provides related info about&amp;nbsp; TV shows&amp;nbsp; as well as social features to inform/know what you/others watching, by just using the sound !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.intonow.com/ci/soundprint"&gt;http://www.intonow.com/ci/soundprint&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-9213462471383013395?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/9213462471383013395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/9213462471383013395'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/innovative-use-of-sound-recognization.html' title='Innovative use of sound recognization'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7448696824257177739</id><published>2011-11-01T18:49:00.002+05:30</published><updated>2011-11-01T18:49:38.983+05:30</updated><title type='text'>China`s Petaflop SuperComputer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Made with homegrown processors (No Intel/AMD Chips). Amazing.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://laotsao.wordpress.com/2011/10/29/sunway-bluelight-mpp-%E7%A5%9E%E5%A8%81%E8%93%9D%E5%85%89/"&gt;http://laotsao.wordpress.com/2011/10/29/sunway-bluelight-mpp-%E7%A5%9E%E5%A8%81%E8%93%9D%E5%85%89/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7448696824257177739?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7448696824257177739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7448696824257177739'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/11/chinas-petaflop-supercomputer.html' title='China`s Petaflop SuperComputer'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4431445258247506948</id><published>2011-10-23T12:12:00.000+05:30</published><updated>2011-10-23T12:14:22.897+05:30</updated><title type='text'>Top 10 Tech Trends for 2012</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Gartner`s Top 10 Tech Trends for 2012&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cio.com/article/print/692031"&gt;http://www.cio.com/article/print/692031&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Before starting to read, guessed that "Mobile Apps", "Cloud", "Social" and "Big Data" should be there. I was right !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4431445258247506948?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4431445258247506948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4431445258247506948'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/top-10-tech-trends-for-2012.html' title='Top 10 Tech Trends for 2012'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6887053821239511043</id><published>2011-10-22T13:53:00.001+05:30</published><updated>2011-10-22T13:54:15.787+05:30</updated><title type='text'>PHP Developer Cloud</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Zend has introduced a PHP Developer Cloud for development purposes and the apps can later be&amp;nbsp; moved to production clouds like amazon. This is a good news for PHP devs who doesnt want to go thru the management of the dev servers and need fast dev environment. Need to try it out when its open to public.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phpcloud.com/"&gt;http://www.phpcloud.com/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6887053821239511043?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6887053821239511043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6887053821239511043'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/php-developer-cloud.html' title='PHP Developer Cloud'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6989651714940481167</id><published>2011-10-18T12:19:00.000+05:30</published><updated>2011-10-18T12:19:21.583+05:30</updated><title type='text'>Pi</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;10 Trillion digits of pi has been computed &lt;br /&gt;&lt;a href="http://www.numberworld.org/y-cruncher/default.html"&gt;http://www.numberworld.org/y-cruncher/default.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Whats interesting here is the hardware used. No MapReduce Clusters !&lt;br /&gt;&lt;br /&gt;It will be interesting to compute this on a MapReduce cluster and see whether the compute days goes down.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6989651714940481167?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6989651714940481167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6989651714940481167'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/pi.html' title='Pi'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8819960091829179077</id><published>2011-10-15T15:27:00.000+05:30</published><updated>2011-10-15T15:27:07.963+05:30</updated><title type='text'>printf ("%s", "Dennis Ritchie - R.I.P");</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;printf ("%s", "Dennis Ritchie - R.I.P");&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8819960091829179077?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8819960091829179077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8819960091829179077'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/printf-s-dennis-ritchie-rip.html' title='printf (&quot;%s&quot;, &quot;Dennis Ritchie - R.I.P&quot;);'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-528394456039954375</id><published>2011-10-12T10:04:00.001+05:30</published><updated>2011-10-12T10:04:51.674+05:30</updated><title type='text'>AppScale</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I have used GAE (Google App Engine) for a project long back. Its a PaaS model where apps are hosted on G`s infrastructure. The platform uses several backend components for various features like caching, datastore etc. But the good thing is that its not tightly coupled and one can replace the backend module with alternate technology.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://appscale.cs.ucsb.edu/"&gt;AppScale&lt;/a&gt; has made GAE to work with several alternate backend modules and thus enabling the GAE to work on private customized clouds.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-528394456039954375?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/528394456039954375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/528394456039954375'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/appscale.html' title='AppScale'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1331969653262077751</id><published>2011-10-10T10:54:00.003+05:30</published><updated>2011-10-10T10:54:32.735+05:30</updated><title type='text'>Oracle on Cloud</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Oracle is offering the DB ,Java AppServer and apps on the cloud. Interesting move.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cloud.oracle.com/my-cloud/service_home.html"&gt;http://cloud.oracle.com/my-cloud/service_home.html &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1331969653262077751?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1331969653262077751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1331969653262077751'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/oracle-on-cloud.html' title='Oracle on Cloud'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7916966650120906594</id><published>2011-10-08T11:21:00.004+05:30</published><updated>2011-10-08T11:21:44.085+05:30</updated><title type='text'>Database Virtualization</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This term has several contexts and meanings. One can think of the virtualization at hardware level , DB Server level (e.g. RAC) or DB level (using multiple schemas).&lt;br /&gt;&lt;br /&gt;Came across this interesting product from Delphix which provides another dimension - virtualization at the internal storage level , not the usual shared SAN storage , but the actual DB itself is shared in a virtual manner.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.delphix.com/products.php?tab=how-it-works"&gt;http://www.delphix.com/products.php?tab=how-it-works&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7916966650120906594?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7916966650120906594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7916966650120906594'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/database-virtualization.html' title='Database Virtualization'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6528077885964148595</id><published>2011-10-07T12:01:00.000+05:30</published><updated>2011-10-07T12:01:02.250+05:30</updated><title type='text'>Oracle`s Big Data Solution</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Apart from "Cloud", the other widely used current jargon is "Big Data". Ability to analyze big unstructured data, not just normal relational data. Oracle has provided an in-memory appliance based solution in this segment called "Exalytics".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/us/products/database/exadata-database-machine/exalytics-introduction-497958.pdf"&gt;http://www.oracle.com/us/products/database/exadata-database-machine/exalytics-introduction-497958.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6528077885964148595?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6528077885964148595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6528077885964148595'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/oracles-big-data-solution.html' title='Oracle`s Big Data Solution'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7193606855984808306</id><published>2011-10-04T10:59:00.000+05:30</published><updated>2011-10-04T10:59:07.351+05:30</updated><title type='text'>Interesting Article on IT</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://www.infoworld.com/print/174559"&gt;http://www.infoworld.com/print/174559&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I often visit the 6th circle !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7193606855984808306?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7193606855984808306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7193606855984808306'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/interesting-article-on-it.html' title='Interesting Article on IT'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4632432637856130167</id><published>2011-10-01T12:20:00.004+05:30</published><updated>2011-10-01T12:20:35.266+05:30</updated><title type='text'>Type 5 JDBC driver</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Came across this document about Type 5 JDBC driver. So far I have used only JDBC 4 and didnt face any noticable impact. This document lists several advantages of Type 5. Need to evaluate and see.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.datadirect.com/docs/public/datasheets/jdbc/type5-type4-driver-comparision.pdf"&gt;http://www.datadirect.com/docs/public/datasheets/jdbc/type5-type4-driver-comparision.pdf&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4632432637856130167?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4632432637856130167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4632432637856130167'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/10/type-5-jdbc-driver.html' title='Type 5 JDBC driver'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6203563015574592529</id><published>2011-09-24T12:17:00.001+05:30</published><updated>2011-09-24T12:17:43.379+05:30</updated><title type='text'>Cloud Foundry</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Cloud Foundry , an open platform for PaaS initiated by VMware. Interesting thing is that the cloud image can be run locally on the desktop using the micro cloud foundry using VMWare player. Useful for testing.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.cloudfoundry.com/"&gt;https://www.cloudfoundry.com/&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6203563015574592529?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6203563015574592529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6203563015574592529'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/09/cloud-foundry.html' title='Cloud Foundry'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3714783266652121611</id><published>2011-09-13T13:23:00.001+05:30</published><updated>2011-09-13T13:23:25.356+05:30</updated><title type='text'>M2M - via Satellites</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;M2M is a fast growing segment of cellular industry. Just came to know that the defacto Satellite based CSP - iridium also provides M2M. Tariff may be higher compared to 3G/LTE plans but signal coverage would be more reliable in case of iridium since its satellite based.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.m2mcomm.com/downloads/Iridium_SBD_Brochure.pdf"&gt;http://www.m2mcomm.com/downloads/Iridium_SBD_Brochure.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3714783266652121611?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3714783266652121611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3714783266652121611'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/09/m2m-via-satellites.html' title='M2M - via Satellites'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3203348174726585323</id><published>2011-09-10T12:07:00.001+05:30</published><updated>2011-09-10T12:07:24.462+05:30</updated><title type='text'>Car-2-Car</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;M2M is already revolutionizing the way machines communicate. Now there is an initiative to make Cars (or automobiles in general) to communicate with each other, so that any early warning can be received in real time to avoid accidents.&lt;br /&gt;It works based on wireless frequency. Possibilities are endless. One can even think of near field communications for chats with fellow drivers to ask about directions/suggestions. A niche version of the old Ham radio on wheels.&lt;br /&gt; &lt;br /&gt;&lt;a href="http://car-2-car.org/"&gt;http://car-2-car.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3203348174726585323?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3203348174726585323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3203348174726585323'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/09/car-2-car.html' title='Car-2-Car'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2576270567685354200</id><published>2011-08-30T11:04:00.003+05:30</published><updated>2011-08-30T11:27:06.564+05:30</updated><title type='text'>Virtual Currencies</title><content type='html'>Its interesting to study the economics of the following virtual ones.&lt;br /&gt;&lt;br /&gt;Second Life`s Linden : &lt;a href="http://www.xchange4ls.com/"&gt;http://www.xchange4ls.com/&lt;/a&gt;&lt;br /&gt;BitCoin : &lt;a href="https://mtgox.com/"&gt;https://mtgox.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The later (bitcoin) is more generic and can be minted and used for all purpose. The minting part is another interesting read where one can find the computer science algos and computing power comes into picture.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2576270567685354200?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2576270567685354200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2576270567685354200'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/08/virtual-currencies.html' title='Virtual Currencies'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6063494848985980466</id><published>2011-08-25T08:12:00.002+05:30</published><updated>2011-08-25T08:16:20.440+05:30</updated><title type='text'>CORBA object pool</title><content type='html'>IIOP ops are as costly as JDBC. Its better to pool the CORBA objects and reuse instead of creating the ORB/object for every operation, especially if the operation involves a login/logout. One way to do this is to use Apache Commons Pool framework and hold the object references and automatically create them when load increases or the object becomes stale.&lt;br /&gt;&lt;a href="http://commons.apache.org/pool/"&gt;http://commons.apache.org/pool/&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6063494848985980466?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6063494848985980466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6063494848985980466'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/08/corba-object-pool.html' title='CORBA object pool'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5205825519299656854</id><published>2011-08-22T11:33:00.002+05:30</published><updated>2011-08-22T11:36:10.805+05:30</updated><title type='text'>lifenet</title><content type='html'>Interesting use of wireless adhoc network concept to create a dynamic extensible network in wake of the failure of standard network technologies (say during a disaster)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mymanet.org/about.html#mininfra"&gt;http://www.mymanet.org/about.html#mininfra&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5205825519299656854?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5205825519299656854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5205825519299656854'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/08/lifenet.html' title='lifenet'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6164774251980294403</id><published>2011-08-20T11:35:00.003+05:30</published><updated>2011-08-20T11:40:24.733+05:30</updated><title type='text'>cognitive computing</title><content type='html'>New style computing based on the way brain works. Interesting videos at &lt;a href="http://www.ibm.com/smarterplanet/us/en/business_analytics/article/cognitive_computing.html"&gt;http://www.ibm.com/smarterplanet/us/en/business_analytics/article/cognitive_computing.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Human brain is an amazing thing and the way it can perform so much processing in split seconds, even though we dont realize it. For example when we look at a friend and how it processes what the eyes see and sends out motor instructions. Also the comparison of the power usage between brain and Von Neumann style processing to emulate brain.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6164774251980294403?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6164774251980294403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6164774251980294403'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/08/cognitive-computing.html' title='cognitive computing'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7608098395579188821</id><published>2011-08-06T14:12:00.002+05:30</published><updated>2011-08-06T14:16:10.001+05:30</updated><title type='text'>Social Centric Web Browser</title><content type='html'>Now a days the usage of browser has changed. Most use it for social purpose often, compared to normal browsing of the sites. RockMelt is a social centric browser and is backed by the father of GUI Web browser - Marc Andreessen.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.rockmelt.com/"&gt;http://www.rockmelt.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7608098395579188821?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7608098395579188821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7608098395579188821'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/08/social-centric-web-browser.html' title='Social Centric Web Browser'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4331433466065524250</id><published>2011-08-04T11:59:00.001+05:30</published><updated>2011-08-04T12:01:59.838+05:30</updated><title type='text'>why math is fascinating</title><content type='html'>&lt;a href="http://www.wired.com/magazine/2011/01/ff_lottery/all/1"&gt;http://www.wired.com/magazine/2011/01/ff_lottery/all/1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=ZRzZX2aN3I0"&gt;http://www.youtube.com/watch?v=ZRzZX2aN3I0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4331433466065524250?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4331433466065524250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4331433466065524250'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/08/why-math-is-fascinating.html' title='why math is fascinating'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6378290341383146837</id><published>2011-07-29T18:47:00.002+05:30</published><updated>2011-07-29T18:51:43.237+05:30</updated><title type='text'>Performance Tuning of Web Pages</title><content type='html'>Y! has an interesting article on this topic&lt;br /&gt;&lt;a href="http://developer.yahoo.com/performance/rules.html"&gt;http://developer.yahoo.com/performance/rules.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Never knew that putting scripts on top of the page has influence on performance.&lt;br /&gt;&lt;br /&gt;They also have browser plugin to detect adherence to these rules&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yslow/"&gt;http://developer.yahoo.com/yslow/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6378290341383146837?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6378290341383146837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6378290341383146837'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/07/performance-tuning-of-web-pages.html' title='Performance Tuning of Web Pages'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6576128914371517368</id><published>2011-07-26T11:05:00.003+05:30</published><updated>2011-07-26T11:10:03.852+05:30</updated><title type='text'>Sandbox</title><content type='html'>As part of security testing, we need a sandbox environment, where in the access to resources/system calls are restricted. There are several ways of setting up a sandbox on linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;- User Mode Linux - Entire Linux Image runs as a user mode process. This way a malicious code cannot do any damage to the system&lt;br /&gt;&lt;br /&gt;- using VMs like VMWare&lt;br /&gt;&lt;br /&gt;- using SELinux - Here the permissions are set at more fine grained level&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6576128914371517368?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6576128914371517368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6576128914371517368'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/07/sandbox.html' title='Sandbox'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4970923962462824084</id><published>2011-07-21T14:55:00.002+05:30</published><updated>2011-07-21T16:47:49.740+05:30</updated><title type='text'>HTTPS Load Balancing</title><content type='html'>HTTPS load balancing gets tricky coz of the initial handshakes and the encrypted packets. Most of the bells/whistles offered by L7 Load Balancers cannot function with HTTPS since the packets cannot be dipped into.&lt;br /&gt;&lt;br /&gt;Following are some of the ways to do HTTPS Load Balancing&lt;br /&gt;&lt;br /&gt;- Using a Hardware Load Balancer with SSL offloading capabilities - This way it can decrypt the packets and do proper rules on the incoming messages. Also avoids SSL load on the backend server farm&lt;br /&gt;&lt;br /&gt;- Using a SSL Proxy like Apache Webserver&lt;br /&gt;&lt;br /&gt;- Using a L3 Load Balancer working on TCP connection level. The disadvantage is that the backend server should take the burden of SSL traffic and uneven load may arise if single connection contains multiple application payloads&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4970923962462824084?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4970923962462824084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4970923962462824084'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/07/https-load-balancing.html' title='HTTPS Load Balancing'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2897479523847737437</id><published>2011-07-16T12:15:00.002+05:30</published><updated>2011-07-16T12:30:22.365+05:30</updated><title type='text'>Femtocell - ATT MicroCell</title><content type='html'>One of the issues faced by mobile users is the availability of good strength signal. To solve this issue, femtocell technology came into existence, wherein a local wireline broadband connection is used to connect to the mobile core network, bypassing the core radio infrastructure.&lt;br /&gt;&lt;br /&gt;There is also another business model wherein the operators can encourage the users to connect to the mobile network using femtocell device even if good signal is available directly and provide significant discounts on the call rates.&lt;br /&gt;&lt;br /&gt;ATT`s MicroCell device is a good example of FemtoCell technology&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.att.com/shop/wireless/devices/3gmicrocell.jsp?fbid=f07V7ybDIgM"&gt;http://www.att.com/shop/wireless/devices/3gmicrocell.jsp?fbid=f07V7ybDIgM&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2897479523847737437?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2897479523847737437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2897479523847737437'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/07/femtocell-att-microcell.html' title='Femtocell - ATT MicroCell'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3348529746476006208</id><published>2011-07-12T13:36:00.002+05:30</published><updated>2011-07-12T13:41:45.826+05:30</updated><title type='text'>Oracle Performance Tuning</title><content type='html'>Oracle provides several in built tools for Performance tuning at various levels of details. Apart from the development phase tunings , post production analysis and tuning is also equally important.&lt;br /&gt;&lt;br /&gt;- ADDR report - provides top recommendations based on impact.&lt;br /&gt;&lt;br /&gt;- AWR report - raw stats to analyze the DB behaviour. Expert DBA help is require to understand the terms&lt;br /&gt;&lt;br /&gt;- Low level V$ tables - provides more control and flexibility on what needs to be monitored (AWR uses these tables)&lt;br /&gt;&lt;br /&gt;Most problems related to Enq Tx - row/index/buffer contentions, RAC cache waits, sequence cache/order can be easily identified using the above data&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3348529746476006208?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3348529746476006208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3348529746476006208'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/07/oracle-performance-tuning.html' title='Oracle Performance Tuning'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1897769966538533288</id><published>2011-06-27T13:48:00.003+05:30</published><updated>2011-06-27T13:58:34.742+05:30</updated><title type='text'>OWASP</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-sNT45cNXj0Y/Tgg_F0UBfVI/AAAAAAAAAM0/BEjKzRKheNo/s1600/owasp_normal.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5622813503946587474" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 48px; CURSOR: hand; HEIGHT: 48px" alt="" src="http://3.bp.blogspot.com/-sNT45cNXj0Y/Tgg_F0UBfVI/AAAAAAAAAM0/BEjKzRKheNo/s320/owasp_normal.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;If you work for large enterprises, an application deployment lifecyle will involve the Security Scanner phase where the web application is put to test by Products like &lt;a href="http://www.applabs.com/html/web-application-penetration-testing.html"&gt;Applabs WAPT&lt;/a&gt;. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;As part of this test, the app team is mandated to fix all the findings and most common ones are - the Cross Site Scripting Attack, SQL injections, HTTP with GET to pass secure data etc.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="https://www.owasp.org/index.php/Main_Page"&gt;OWASP&lt;/a&gt; is an open source org providing several tips and tools(in all major programming languages) to make the web app defensive. The appteam doesnt have to reinvent the wheels for solving the above issues.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1897769966538533288?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1897769966538533288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1897769966538533288'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2011/06/owasp.html' title='OWASP'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-sNT45cNXj0Y/Tgg_F0UBfVI/AAAAAAAAAM0/BEjKzRKheNo/s72-c/owasp_normal.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5788253072096969144</id><published>2010-10-29T11:59:00.002+05:30</published><updated>2010-10-29T12:10:40.219+05:30</updated><title type='text'>Roaming and IVR Solutions</title><content type='html'>Roaming is an unavoidable scenario in any mobile solution and logic must be there to handle it at all layers of any mobile solution - be it the access layer or the charging layer etc. In IVR Solutions, Roaming plays an important for following functionalities&lt;br /&gt;- &lt;strong&gt;Auto Detect language&lt;/strong&gt; based on Home region of the subscriber (in case a language preference is not set) - Some IVRs use by default the current region`s language. A nicer solution is to figure the home region of the subscriber using the MSISDN or by querying the HPLMN parameters from HLR. This would provide a good user experience to the user&lt;br /&gt;&lt;br /&gt;- &lt;strong&gt;For Charging&lt;/strong&gt; - The Operator may want to impose different rate plan a.k.a differential charging based on roaming rules. If a Subscriber access a VAS outside HPLMN, high rates may apply. To apply this rule, the IVR application server should have the knowledge of the roaming (in case the IVR system is responsible for charging with IN). This is where CCXML comes handy since it provides access to low level ISUP events (platform specific) using which the AppServer can detect various ISUP attributes (or SIP) like OPC , DPC etc to detect the roaming case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5788253072096969144?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5788253072096969144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5788253072096969144'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/10/roaming-and-ivr-solutions.html' title='Roaming and IVR Solutions'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7507118728078546719</id><published>2010-10-09T12:32:00.000+05:30</published><updated>2010-10-09T12:33:13.790+05:30</updated><title type='text'>Tech Pioneers of 2011 by BW</title><content type='html'>Interesting list&lt;br /&gt;&lt;br /&gt;&lt;a href="http://images.businessweek.com/ss/10/09/0902_techpioneers_2011/index.htm"&gt;http://images.businessweek.com/ss/10/09/0902_techpioneers_2011/index.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7507118728078546719?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7507118728078546719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7507118728078546719'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/10/tech-pioneers-of-2011-by-bw.html' title='Tech Pioneers of 2011 by BW'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6654181224919867672</id><published>2010-09-27T13:01:00.003+05:30</published><updated>2010-09-27T13:05:20.149+05:30</updated><title type='text'>Linux Swap Partition</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/TKBJEA7EFrI/AAAAAAAAAMc/UZPRT55v1fA/s1600/bobcomp.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5521493476472264370" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 197px; CURSOR: hand; HEIGHT: 131px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/TKBJEA7EFrI/AAAAAAAAAMc/UZPRT55v1fA/s320/bobcomp.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;There used to be a defacto rule on swap space - twice the amount of the physical RAM on the system. But recent technology improvements both on OS as well as hardware side has broken this rule. Some are not aware of this and still go with the good old rule. According to redhat, the suggestions are below.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://docs.fedoraproject.org/en-US/Fedora/13/html/Installation_Guide/s2-diskpartrecommend-x86.html"&gt;http://docs.fedoraproject.org/en-US/Fedora/13/html/Installation_Guide/s2-diskpartrecommend-x86.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6654181224919867672?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6654181224919867672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6654181224919867672'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/09/linux-swap-partition.html' title='Linux Swap Partition'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/TKBJEA7EFrI/AAAAAAAAAMc/UZPRT55v1fA/s72-c/bobcomp.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8222885288789327606</id><published>2010-09-26T13:05:00.002+05:30</published><updated>2010-09-26T13:10:30.376+05:30</updated><title type='text'>CCXML - createccxml vs goto</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_c2QZsZoN560/TJ74tuvdz5I/AAAAAAAAAMU/HyA-SO_iXOM/s1600/0.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5521123657727725458" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 83px; CURSOR: hand; HEIGHT: 189px" alt="" src="http://4.bp.blogspot.com/_c2QZsZoN560/TJ74tuvdz5I/AAAAAAAAAMU/HyA-SO_iXOM/s320/0.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;CCXML has two ways of spawning a child CCXML session. Childs are required if multiple parties are responsible for developing an IVR site - for e.g. an operators VAS IVR Portal. Different VAS services are developed by individual ISVs. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;There is a difference between createccxml and goto. The former spawns a new session with its own connection, while the later inherits the parent session. This allows &lt;goto&gt; to share variables with the Child CCXML. This is very helpful for the Portal case, since the operator`s base CCXML can pass common call variables like the subscriber type, service type, current balance etc with the Child CCXML session.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8222885288789327606?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8222885288789327606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8222885288789327606'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/09/ccxml-createccxml-vs-goto.html' title='CCXML - createccxml vs goto'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/TJ74tuvdz5I/AAAAAAAAAMU/HyA-SO_iXOM/s72-c/0.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3333025158388542565</id><published>2010-09-16T12:57:00.004+05:30</published><updated>2010-09-16T13:18:18.519+05:30</updated><title type='text'>Real time Rating</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/TJHKAbRqXUI/AAAAAAAAAMM/lHoXw0KTW8Y/s1600/Real-Time-Social-Network-Response-Can-Make-Or-Break-TV-Show-Ratings-300x295.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5517413127176215874" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 166px; CURSOR: hand; HEIGHT: 132px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/TJHKAbRqXUI/AAAAAAAAAMM/lHoXw0KTW8Y/s320/Real-Time-Social-Network-Response-Can-Make-Or-Break-TV-Show-Ratings-300x295.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;During old days of telecom, the billing was simple. There was only postpaid and STD/ISD concepts and certain free calls.&lt;br /&gt;&lt;br /&gt;With the introduction of mobile, prepaid concept and VAS, the billing has to happen in realtime and revenue that should be billed should also be rated in same way.&lt;br /&gt;&lt;br /&gt;In Current market, its do-or-die competition among mobile operators and every day we see new tariff plans,offers and packages. To meet these requirements a real time converged rule based rating engine is needed where one can define several rules based on the following combinations &lt;/li&gt;&lt;li&gt;Customer Profile &lt;/li&gt;&lt;li&gt;Usage History &lt;/li&gt;&lt;li&gt;Time &lt;/li&gt;&lt;li&gt;Other Products used (Convergence) &lt;/li&gt;&lt;li&gt;Promotions &lt;/li&gt;&lt;li&gt;Discounts &lt;/li&gt;&lt;li&gt; QoS &lt;/li&gt;&lt;li&gt; Gifts &lt;/li&gt;&lt;li&gt; Cross Bundled Packages &lt;/li&gt;&lt;li&gt; Conditional&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Some Scenarios use these are,&lt;/p&gt;&lt;p&gt;&lt;em&gt;For e.g. a mobile operator may offer X minutes of a VAS service (e.g. mobile radio) free if the user buys a prepaid voucher of N rupees within XX-XX-XX date&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;If an operator provides broadband,landline and mobile services, it can provide packages where greater than X amount of billing on postpaid landline will fetch N mins of free prepaid minutes on mobile&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Subscriber can make X free call during a particular day (e.g. the birthday of the subscriber).&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;GPRS rating can include QoS and use low rate if a particular time period of the session was having low QoS&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;All these kinda dynamic promotions/rules requires a robust rating engine where the marketing team on the fly can configure the plans without the need for programming&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3333025158388542565?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3333025158388542565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3333025158388542565'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/09/real-time-rating.html' title='Real time Rating'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/TJHKAbRqXUI/AAAAAAAAAMM/lHoXw0KTW8Y/s72-c/Real-Time-Social-Network-Response-Can-Make-Or-Break-TV-Show-Ratings-300x295.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8931100859661133295</id><published>2010-09-05T12:56:00.004+05:30</published><updated>2011-11-29T09:05:23.877+05:30</updated><title type='text'>Fax over IP</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div&gt;IP transformed the way Voice calls were transported, by using SIP, H323 Protocols. Same way Fax network has also transformed to use IP as much as possible to avoid the PSTN networks, thus saving on international call rates.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;There are 2 protocols which aid in Fax over IP&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;T.37 : Standard which describes how Fax can be sent using existing Email Infrastructure. Here the original and destination fax machines has to support this standard, else a Fax gateway can be used to connect legacy fax machines. Fax gateway will do the last mile conversion to IP to Analog Phone Signal Conversion.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;T.38: This standard defines the direct TCP/UDP ways of transmitting the fax using an IP network. Here too, Fax gateway can be used to do conversion to integrate with legacy fax machines.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8931100859661133295?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8931100859661133295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8931100859661133295'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/09/fax-over-ip.html' title='Fax over IP'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5151061723991637965</id><published>2010-08-14T18:00:00.002+05:30</published><updated>2010-08-14T18:09:58.316+05:30</updated><title type='text'>ccXML, vXML and ECMAScript</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_c2QZsZoN560/TGaOT2ddzhI/AAAAAAAAAL0/JzUbJcwPxs4/s1600/ivr.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5505244066194771474" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 169px; CURSOR: hand; HEIGHT: 127px" alt="" src="http://1.bp.blogspot.com/_c2QZsZoN560/TGaOT2ddzhI/AAAAAAAAAL0/JzUbJcwPxs4/s320/ivr.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;A Decade ago, it was difficult to build IVR applications. One has to understand the Telephony APIs provided by the Telephony Media Card vendor (e.g. Dialogic). Like the way how J2EE transformed the way webapps were built , Vxml based apps has made IVR development easy.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;VXML to a Phone is like what HTML is to browser at a high level (VXML is NOT directly delivered to a phone).&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;CCXML is for handling low level events as part of call processing. Imagine if a servlet container provides an API to handle events at TCP/IP level. This provides the app, control on the call session. (e.g. if you want to build a calling card app with monitoring the running minutes usage).&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;ECMAScript is like what Javascript is to HTML. Helps in doing local computation if any&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5151061723991637965?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5151061723991637965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5151061723991637965'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/ccxml-vxml-and-ecmascript.html' title='ccXML, vXML and ECMAScript'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/TGaOT2ddzhI/AAAAAAAAAL0/JzUbJcwPxs4/s72-c/ivr.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-369340631406815393</id><published>2010-08-09T08:01:00.003+05:30</published><updated>2010-08-09T08:08:34.174+05:30</updated><title type='text'>Grid and Network Security</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_c2QZsZoN560/TF9qCamtXAI/AAAAAAAAALs/krFVZChNWBo/s1600/smart-grid-social-network.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5503233859403996162" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 167px; CURSOR: hand; HEIGHT: 131px" alt="" src="http://4.bp.blogspot.com/_c2QZsZoN560/TF9qCamtXAI/AAAAAAAAALs/krFVZChNWBo/s320/smart-grid-social-network.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Using idle computing resources as part of a grid is ideal to any enterprise. Lot of apps are on market to acheive this. We have used this concept for load testing as well as distributed builds. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Now Network Security and Unified Threat Management is also available on the same model. Grid will be valuable for security since it involves extensive number crunching.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://redlambda.com/platform.php"&gt;http://redlambda.com/platform.php&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-369340631406815393?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/369340631406815393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/369340631406815393'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/grid-and-network-security.html' title='Grid and Network Security'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/TF9qCamtXAI/AAAAAAAAALs/krFVZChNWBo/s72-c/smart-grid-social-network.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4523686409330413091</id><published>2010-08-08T18:37:00.003+05:30</published><updated>2010-08-08T18:53:11.785+05:30</updated><title type='text'>open source mobile network</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_c2QZsZoN560/TF6vkGmss0I/AAAAAAAAALk/3b2RFh3O6UU/s1600/antenna-bts.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5503028829476401986" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 122px; CURSOR: hand; HEIGHT: 128px" alt="" src="http://1.bp.blogspot.com/_c2QZsZoN560/TF6vkGmss0I/AAAAAAAAALk/3b2RFh3O6UU/s320/antenna-bts.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Following are few important mobile network software components which are open source. A IMS HLR and Optimized BTS using SIP as backend protocol. Operators may hesitate in adopting these but its very useful for academic and demo purposes. Recently we wanted to demo a mobile network solution and it was not possible to show real mobile to network communication. So we went with the SIP and Softphone approach with dummy simulators for HLR etc.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://code.google.com/p/hss/"&gt;http://code.google.com/p/hss/&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://openbts.sourceforge.net/"&gt;http://openbts.sourceforge.net/&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.openss7.org/apps.html"&gt;http://www.openss7.org/apps.html&lt;/a&gt; (several applications including 2G HLR)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.kannel.org/"&gt;http://www.kannel.org/&lt;/a&gt; (WAP, SMS gateway)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.mbuni.org/"&gt;http://www.mbuni.org/&lt;/a&gt; (MMS gateway)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.openimscore.org/"&gt;http://www.openimscore.org/&lt;/a&gt; (includes CSCF and a HSS too)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.mobicents.org/"&gt;http://www.mobicents.org/&lt;/a&gt; ( SDP )&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Given time, I would love to make all the components integrate with each other.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4523686409330413091?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4523686409330413091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4523686409330413091'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/open-source-mobile-network.html' title='open source mobile network'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/TF6vkGmss0I/AAAAAAAAALk/3b2RFh3O6UU/s72-c/antenna-bts.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8553935878970417665</id><published>2010-08-06T08:09:00.002+05:30</published><updated>2010-08-06T08:12:34.035+05:30</updated><title type='text'>Reverse Engineer Sequence Diagrams</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_c2QZsZoN560/TFt2hPtmRmI/AAAAAAAAALc/Xnuso-5CFcg/s1600/56b848edfaa007ed5287cd7c0f2985b6_Sequence_Diagram_Editor.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5502121683288737378" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 174px; CURSOR: hand; HEIGHT: 140px" alt="" src="http://4.bp.blogspot.com/_c2QZsZoN560/TFt2hPtmRmI/AAAAAAAAALc/Xnuso-5CFcg/s320/56b848edfaa007ed5287cd7c0f2985b6_Sequence_Diagram_Editor.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;We got a bunch of existing code as part of a new project. Looking for a way to understand them using sequence diagrams. Found this tool helpful to reverse engineer sequence diagrams from existing source code. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.reversejava.com/reversejavahome.htm"&gt;http://www.reversejava.com/reversejavahome.htm&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8553935878970417665?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8553935878970417665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8553935878970417665'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/reverse-engineer-sequence-diagrams.html' title='Reverse Engineer Sequence Diagrams'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/TFt2hPtmRmI/AAAAAAAAALc/Xnuso-5CFcg/s72-c/56b848edfaa007ed5287cd7c0f2985b6_Sequence_Diagram_Editor.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-405728728339874938</id><published>2010-08-05T12:27:00.002+05:30</published><updated>2010-08-05T12:40:05.627+05:30</updated><title type='text'>Telecom IT Architecture</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_c2QZsZoN560/TFpjqVcbrOI/AAAAAAAAALU/jzHUHcORk68/s1600/photo-1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5501819473748536546" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 169px; CURSOR: hand; HEIGHT: 139px" alt="" src="http://1.bp.blogspot.com/_c2QZsZoN560/TFpjqVcbrOI/AAAAAAAAALU/jzHUHcORk68/s320/photo-1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Following standards will help in Telecom IT Architecture for current operators as well as Greenfield Operators. Its always better to go with a Enterprise IT approach from the starting itself.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;What Processes Needed ? &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.tmforum.org/BusinessProcessFramework/1647/home.html"&gt;TMF eTOM&lt;/a&gt; helps in defining the business processes &lt;/div&gt;&lt;br /&gt;&lt;div&gt;What data to pass and store ? &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.tmforum.org/InformationFramework/1684/home.html"&gt;TMF SID &lt;/a&gt;helps in defining the data required for the above processes&lt;/div&gt;&lt;br /&gt;&lt;div&gt;What Applications are needed ?&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.tmforum.org/BestPracticesStandards/ApplicationFramework/2322/Home.html"&gt;TMF TAM &lt;/a&gt;helps in defining the applications needed to perform the above processes&lt;/div&gt;&lt;br /&gt;&lt;div&gt;How to architect the above using Technology?&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.opengroup.org/togaf/"&gt;TOGAF 9&lt;/a&gt; helps in defining the standard architecture framework&lt;/div&gt;&lt;br /&gt;&lt;div&gt;How to manage them ?&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.best-management-practice.com/IT-Service-Management-ITIL/"&gt;ITIL ITSM &lt;/a&gt;helps in defining the service management methodologies&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-405728728339874938?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/405728728339874938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/405728728339874938'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/telecom-it-architecture.html' title='Telecom IT Architecture'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/TFpjqVcbrOI/AAAAAAAAALU/jzHUHcORk68/s72-c/photo-1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8792160753437062219</id><published>2010-08-04T14:19:00.003+05:30</published><updated>2010-08-04T14:28:23.774+05:30</updated><title type='text'>TCP/IP over Bluetooth - Mobile to PC</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/TFkrefb9KwI/AAAAAAAAALM/3aQ8Sqgjgz0/s1600/photo-1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5501476222644595458" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 177px; CURSOR: hand; HEIGHT: 141px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/TFkrefb9KwI/AAAAAAAAALM/3aQ8Sqgjgz0/s320/photo-1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Its very easy to access the internet from a Laptop/PC using the GPRS service on the mobile phone. We can connect the Laptop/PC to the phone using USB,Bluetooth and the phone PC software enables the access by exposing a modem.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;What about accessing the internet from the phone using the broadband connectivity available on the PC. This is not that easy compared to the above one. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Some smartphones support creating a PPP link using Bluetooth (e.g. Palm). In this case, PPP server on laptop/PC can be used (e.g. mRouter) and provide access to the phone.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Else hacks like gnubox needs be installed on the supported phones which can enable the PPP link support. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Another way is to use J2ME Bluetooth APIs to do the same.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8792160753437062219?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8792160753437062219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8792160753437062219'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/tcpip-over-bluetooth-mobile-to-pc.html' title='TCP/IP over Bluetooth - Mobile to PC'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/TFkrefb9KwI/AAAAAAAAALM/3aQ8Sqgjgz0/s72-c/photo-1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8197408090671120720</id><published>2010-08-03T08:38:00.003+05:30</published><updated>2010-08-03T08:46:05.988+05:30</updated><title type='text'>2G GSM hack</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/TFeJ1AFh62I/AAAAAAAAALE/UagCR9eyltY/s1600/photo-1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5501017013505616738" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 123px; CURSOR: hand; HEIGHT: 150px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/TFeJ1AFh62I/AAAAAAAAALE/UagCR9eyltY/s320/photo-1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;One more &lt;a href="http://www.tombom.co.uk/cellphonespying.odp"&gt;hack&lt;/a&gt; to prove the vulnerability of 2G GSM systems, performed at defcon. Here the authentication option is the key to vulnerability. This proves the need for two way handshake where the network should also authenticate itself to the approved one as per the SIM card. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;One more real usage to showcase the power of &lt;a href="http://openbts.sourceforge.net/"&gt;openBTS&lt;/a&gt;. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8197408090671120720?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8197408090671120720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8197408090671120720'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/2g-gsm-hack.html' title='2G GSM hack'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/TFeJ1AFh62I/AAAAAAAAALE/UagCR9eyltY/s72-c/photo-1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4476630703570271387</id><published>2010-08-02T15:16:00.003+05:30</published><updated>2011-11-29T09:04:47.859+05:30</updated><title type='text'>Automated Parking</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div&gt;Excellent Demonstration of Automated Parking. Remember the microprocessor labs during my engineering days to optimize the elevator stop/move algorithms. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;There is one disadvantage with this type of parking. We cant temporarily reach the car to take stuffs or to unload shopping bags etc !&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=x82lHVPkeF0&amp;amp;feature=player_embedded"&gt;http://www.youtube.com/watch?v=x82lHVPkeF0&amp;amp;feature=player_embedded&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4476630703570271387?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4476630703570271387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4476630703570271387'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/08/automated-parking.html' title='Automated Parking'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5075730686955343867</id><published>2010-07-09T08:36:00.002+05:30</published><updated>2010-07-09T08:45:49.883+05:30</updated><title type='text'>Larry on Sun`s Ex-Management</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/TDaUOGPlRwI/AAAAAAAAAK0/2Uef92gvu70/s1600/sun-microsystems.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5491739765539948290" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 211px; CURSOR: hand; HEIGHT: 80px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/TDaUOGPlRwI/AAAAAAAAAK0/2Uef92gvu70/s320/sun-microsystems.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Interesting &lt;a href="http://java.sys-con.com/node/1400246"&gt;Interview&lt;/a&gt; with Larry on what went wrong with Sun and especially the "Rock" Processor. Lets wait and see the Sun 2.0 evolved by Oracle.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5075730686955343867?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5075730686955343867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5075730686955343867'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/07/larry-on-suns-ex-management.html' title='Larry on Sun`s Ex-Management'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/TDaUOGPlRwI/AAAAAAAAAK0/2Uef92gvu70/s72-c/sun-microsystems.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-9110287061309176178</id><published>2010-07-06T13:23:00.002+05:30</published><updated>2011-12-29T16:49:15.265+05:30</updated><title type='text'>SATA/PATA</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div&gt;I was thinking SATA is going to be the defacto standard, but parallel signalling is not dead yet. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Interesting article on &lt;a href="http://www.infostor.com/index/articles/display/199361/articles/infostor/volume-8/issue-2/departments/reader-i-o/pata-vs-sata-does-it-matter.html"&gt;SATA&lt;/a&gt; vs PATA debate.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-9110287061309176178?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/9110287061309176178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/9110287061309176178'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/07/satapata.html' title='SATA/PATA'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-748129817788690863</id><published>2010-07-05T11:12:00.003+05:30</published><updated>2010-07-05T11:26:25.034+05:30</updated><title type='text'>Last Mile Access</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/TDFzJJIOlpI/AAAAAAAAAKk/04A8WqMdZR4/s1600/tech_fibre_optic.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5490296021647791762" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 213px; CURSOR: hand; HEIGHT: 159px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/TDFzJJIOlpI/AAAAAAAAAKk/04A8WqMdZR4/s320/tech_fibre_optic.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I remember the days when we had to wait an year to get our home landline connection in India(back in 80s). The primary issue was with the last mile where they had to lay the cables if the neighbourhood is not part of the main city area.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then the mobile revolution changed everything and with &lt;a href="http://en.wikipedia.org/wiki/Technological_convergence#Fixed-mobile_convergence"&gt;FMC&lt;/a&gt;, home phones can be obtained in couple of days. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;But the Last mile problem still exists even for the mobile network where signal strength is not great in indoors, garage etc. There are couple of ways to solve this issue. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Wifi&lt;/strong&gt; :: Provide dual mode handsets (wifi/mobile) and when at home/office where the signal is poor, switch to wifi and wifi gateway provided by operator connects to the mobile network. Another advantage of it is one can use any internet based voice providers like skype directly from the handset.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Femtocell&lt;/strong&gt;:: In this concept, a micro base station is provided for the weak signal area which in turn communicates with the mobile network over IP. Normal mobile handsets can be used directly since the femtocell spectrum falls in the range. No need of wifi enabled handsets&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I personally feel wifi is the way to go .&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-748129817788690863?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/748129817788690863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/748129817788690863'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/07/last-mile-access.html' title='Last Mile Access'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/TDFzJJIOlpI/AAAAAAAAAKk/04A8WqMdZR4/s72-c/tech_fibre_optic.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-206786822556040322</id><published>2010-07-03T10:20:00.004+05:30</published><updated>2010-07-03T10:28:41.514+05:30</updated><title type='text'>SkypeKit</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/TC7DEAeWFlI/AAAAAAAAAKc/FPdapiqGS_8/s1600/skype_icon_listing.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5489539469425382994" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 194px; CURSOR: hand; HEIGHT: 96px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/TC7DEAeWFlI/AAAAAAAAAKc/FPdapiqGS_8/s320/skype_icon_listing.png" border="0" /&gt;&lt;/a&gt; &lt;div&gt;Its the time where all web based applications are moving towards a platform approach rather than just a service approach. Skype already had an API for integrating accessories to their client application. Now they have introduced &lt;a href="http://blogs.skype.com/devzone/2010/06/skypekit_beta.html"&gt;SkypeKit&lt;/a&gt;, a full fledget API to develop custom apps/mashups on any linux enabled device. Thats a good move. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.samsung.com/us/consumer/tv-video/televisions/led-tv/UN55C8000XFXZA/index.idx?pagetype=prd_detail&amp;amp;tab=features"&gt;Samsung&lt;/a&gt; seems to take advantage of it already ! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-206786822556040322?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/206786822556040322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/206786822556040322'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/07/skypekit.html' title='SkypeKit'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/TC7DEAeWFlI/AAAAAAAAAKc/FPdapiqGS_8/s72-c/skype_icon_listing.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2196174326853205372</id><published>2010-07-02T09:13:00.002+05:30</published><updated>2010-07-02T09:40:13.625+05:30</updated><title type='text'>Iridium OpenPort</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/TC1mYv04S0I/AAAAAAAAAKU/ntWE1gU1U1w/s1600/openport_in_use_3.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5489156096175655746" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 153px; CURSOR: hand; HEIGHT: 118px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/TC1mYv04S0I/AAAAAAAAAKU/ntWE1gU1U1w/s320/openport_in_use_3.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;While the 3G,4G, LTE, UMTS evolutions are taking place, iridium is making its move to get their share of the pie. Iridium OpenPort aimed at maritime industry, provides a gateway for voice and data access on ships. Very useful for cargo shipping industry.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=aQJTjBGRjBo"&gt;http://www.youtube.com/watch?v=aQJTjBGRjBo&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2196174326853205372?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2196174326853205372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2196174326853205372'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/07/iridium-openport.html' title='Iridium OpenPort'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/TC1mYv04S0I/AAAAAAAAAKU/ntWE1gU1U1w/s72-c/openport_in_use_3.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-646197716265237367</id><published>2010-06-23T23:00:00.002+05:30</published><updated>2011-11-29T09:08:15.455+05:30</updated><title type='text'>GSM Network Simulator</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;During development phase, not all real components will be available and thats where the simulators and emulators comes to rescue. It also provides a nice way to learn more about the protocols involved.&lt;br /&gt;&lt;br /&gt;Currently we are working on innvoative GSM network solution and was looking for a bare bone GSM network simulator and found &lt;a href="http://www.soberit.hut.fi/tik-76.115/95-96/palautukset/Mobiili/pt/manual.html"&gt;this&lt;/a&gt;. It contains MS, MSC, HLR parts.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-646197716265237367?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/646197716265237367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/646197716265237367'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/06/gsm-network-simulator.html' title='GSM Network Simulator'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5198490948006109652</id><published>2010-04-25T08:43:00.005+05:30</published><updated>2010-04-25T08:52:39.503+05:30</updated><title type='text'>I/O Processors and Moving Train</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_c2QZsZoN560/S9O0Z5eXodI/AAAAAAAAAKE/dD15y3-VSBA/s1600/bullet_train.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 203px; height: 153px;" src="http://4.bp.blogspot.com/_c2QZsZoN560/S9O0Z5eXodI/AAAAAAAAAKE/dD15y3-VSBA/s320/bullet_train.jpg" alt="" id="BLOGGER_PHOTO_ID_5463909129948471762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;How many times we would have frustrated when a metro train stops at stations and waits till passengers load/unload. &lt;a href="http://www.youtube.com/watch?v=p9Ig19gYP9o&amp;amp;feature=player_embedded"&gt;Here &lt;/a&gt;is an ultimate chinese innovation on how to board a moving train !&lt;br /&gt;&lt;br /&gt;This can be related to the usage of I/O Processors in Computing where all the I/O activities are offloaded to a separate processor while the CPU handles core task without spending time for I/O waits.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5198490948006109652?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5198490948006109652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5198490948006109652'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/04/io-processors-and-moving-train.html' title='I/O Processors and Moving Train'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/S9O0Z5eXodI/AAAAAAAAAKE/dD15y3-VSBA/s72-c/bullet_train.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7902620168426237310</id><published>2010-04-03T17:48:00.003+05:30</published><updated>2010-04-03T17:57:23.649+05:30</updated><title type='text'>J2ME to Android</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_c2QZsZoN560/S7cz8nCr0hI/AAAAAAAAAJ4/zD6pGTUC6-M/s1600/android.gif"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 179px; height: 179px;" src="http://3.bp.blogspot.com/_c2QZsZoN560/S7cz8nCr0hI/AAAAAAAAAJ4/zD6pGTUC6-M/s320/android.gif" alt="" id="BLOGGER_PHOTO_ID_5455886589948056082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;J2ME is one of the easiest and standard ways to develop Mobile Apps. With introduction of iphone and android based phones, newer development platforms/SDK were also introduced which requires new learning curve. Myriad has a software to port J2ME Midlets as android applications similar to alchemo software which ports J2ME to for iphone platform. Watch this &lt;a href="http://www.youtube.com/myriadgroupmarketing#p/a/u/1/-ivr80-Tra4"&gt;video&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7902620168426237310?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7902620168426237310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7902620168426237310'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/04/j2me-is-one-of-easiest-and-standard.html' title='J2ME to Android'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/S7cz8nCr0hI/AAAAAAAAAJ4/zD6pGTUC6-M/s72-c/android.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5422986956754144493</id><published>2010-04-01T08:55:00.002+05:30</published><updated>2010-04-01T09:08:47.399+05:30</updated><title type='text'>File Transfer Protocols</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_c2QZsZoN560/S7QVChL7D5I/AAAAAAAAAJw/suCD1by_vSc/s1600/dreamstime_2983761%28File_Transfer%292.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 171px; height: 99px;" src="http://4.bp.blogspot.com/_c2QZsZoN560/S7QVChL7D5I/AAAAAAAAAJw/suCD1by_vSc/s320/dreamstime_2983761%28File_Transfer%292.jpg" alt="" id="BLOGGER_PHOTO_ID_5455008181664812946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;There are several file transfer protocols and the names are some what misleading and creates confusion.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FTP:&lt;/span&gt; Widely used file transfer protocol.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FTPS:&lt;/span&gt; Enhancement to the FTP with support for security using SSL (similar to HTTPS). Requires the use of certificates&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SFTP:&lt;/span&gt; Most think that SFTP is the FTP over SSL. But its Not. It stands for SSH File Transfer Protocol. A transfer mechanism using the Secure Shell Concepts. SFTP and FTPS cannot interoperate, meaning one cant use SFTP client to connect to a FTPS server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FTP over SSH:&lt;/span&gt; This is basically tunneling the standard FTP over a SSH connection. The difference between SFTP and this is that SFTP is a separate protocol designed for File Transfer using SSH concepts, wherein FTP over SSH , uses the FTP Protocol&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SCP:&lt;/span&gt; Secure Copy works based on SFTP. More Suited for scripting without much interaction and options provided by SFTP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5422986956754144493?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5422986956754144493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5422986956754144493'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/04/file-transfer-protocols.html' title='File Transfer Protocols'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/S7QVChL7D5I/AAAAAAAAAJw/suCD1by_vSc/s72-c/dreamstime_2983761%28File_Transfer%292.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4429264990281153441</id><published>2010-03-27T10:13:00.003+05:30</published><updated>2010-03-27T10:25:16.302+05:30</updated><title type='text'>return-to-libc and iphone`s safari</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_c2QZsZoN560/S62OGtgqcLI/AAAAAAAAAJo/c0SDQXk3SvY/s1600/Pwn2Own.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 101px; height: 69px;" src="http://4.bp.blogspot.com/_c2QZsZoN560/S62OGtgqcLI/AAAAAAAAAJo/c0SDQXk3SvY/s320/Pwn2Own.png" alt="" id="BLOGGER_PHOTO_ID_5453170969762492594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dvlabs.tippingpoint.com/blog/2010/02/15/pwn2own-2010"&gt;Pwn2Own&lt;/a&gt; is an annual hacking contest to detect security vulnerability in widely used softwares, especially browsers. This year`s contest has &lt;a href="http://blog.zynamics.com/2010/03/24/ralf-philipp-weinmann-vincenzo-iozzo-own-the-iphone-at-pwn2own/"&gt;revealed&lt;/a&gt; a vulnerability in iphone`s safari browser by using the return-2-libc attack. Its an attack based on the buffer overflow hack.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4429264990281153441?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4429264990281153441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4429264990281153441'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/03/return-to-libc-and-iphones-safari.html' title='return-to-libc and iphone`s safari'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/S62OGtgqcLI/AAAAAAAAAJo/c0SDQXk3SvY/s72-c/Pwn2Own.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3768860928927458545</id><published>2010-03-26T09:32:00.004+05:30</published><updated>2010-03-26T09:35:38.123+05:30</updated><title type='text'>dealsgoround.com</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_c2QZsZoN560/S6wyT3mUsFI/AAAAAAAAAJg/NBf-NfU1Fog/s1600/images.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 64px; height: 88px;" src="http://2.bp.blogspot.com/_c2QZsZoN560/S6wyT3mUsFI/AAAAAAAAAJg/NBf-NfU1Fog/s320/images.jpg" alt="" id="BLOGGER_PHOTO_ID_5452788565762420818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;How many times have you been in a situation where you wanted to buy something but couldnt get a deal coupon or you had a coupon but didnt have the need for it and let it go waste ?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dealsgoround.com/"&gt;dealsgoround.com&lt;/a&gt; helps in solving this problem by letting anyone to sell the deal coupons. Niche idea.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3768860928927458545?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3768860928927458545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3768860928927458545'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/03/dealsgoroundcom.html' title='dealsgoround.com'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/S6wyT3mUsFI/AAAAAAAAAJg/NBf-NfU1Fog/s72-c/images.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2968742754748142797</id><published>2010-03-25T21:46:00.004+05:30</published><updated>2010-03-26T09:38:13.702+05:30</updated><title type='text'>git vs mercurial</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_c2QZsZoN560/S6uNJHTCHMI/AAAAAAAAAJY/nFNBy_gA0JI/s1600/diagram.gif"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 124px; height: 106px;" src="http://4.bp.blogspot.com/_c2QZsZoN560/S6uNJHTCHMI/AAAAAAAAAJY/nFNBy_gA0JI/s320/diagram.gif" alt="" id="BLOGGER_PHOTO_ID_5452606961579334850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Distributed VCS are the latest hype with git and mercurial leading the race in opensource front. Here is a &lt;a href="http://gitvsmercurial.com/"&gt;comparison&lt;/a&gt; found on net about git vs mercurial comparison.&lt;br /&gt;&lt;br /&gt;Funny but thought provoking !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2968742754748142797?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2968742754748142797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2968742754748142797'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/03/git-vs-mercurial.html' title='git vs mercurial'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/S6uNJHTCHMI/AAAAAAAAAJY/nFNBy_gA0JI/s72-c/diagram.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-938509160413990772</id><published>2010-03-25T09:37:00.002+05:30</published><updated>2010-03-25T09:41:03.702+05:30</updated><title type='text'>Nokia Mobile Design Guide</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_c2QZsZoN560/S6riLblmr_I/AAAAAAAAAJQ/j-eDsfsN-98/s1600/142327-Mobile_Design_Studio_Pro.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 174px; height: 130px;" src="http://4.bp.blogspot.com/_c2QZsZoN560/S6riLblmr_I/AAAAAAAAAJQ/j-eDsfsN-98/s320/142327-Mobile_Design_Studio_Pro.jpg" alt="" id="BLOGGER_PHOTO_ID_5452418984897327090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Designing and Developing for Mobile is vastly different from doing the same for PCs. Nokia has published a &lt;a href="http://www.forum.nokia.com/Technology_Topics/Design_and_User_Experience/"&gt;design guide&lt;/a&gt;, mostly oriented towards their platforms, but still a good source of information for general mobile design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-938509160413990772?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/938509160413990772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/938509160413990772'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/03/nokia-mobile-design-guide.html' title='Nokia Mobile Design Guide'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/S6riLblmr_I/AAAAAAAAAJQ/j-eDsfsN-98/s72-c/142327-Mobile_Design_Studio_Pro.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1122531280435095249</id><published>2010-03-15T15:37:00.005+05:30</published><updated>2010-03-25T21:52:04.096+05:30</updated><title type='text'>Web Style Guide</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_c2QZsZoN560/S54IkVL3m0I/AAAAAAAAAJI/XI6Fblsnqg8/s1600-h/WebGUI%5B6%5D.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 191px; height: 87px;" src="http://1.bp.blogspot.com/_c2QZsZoN560/S54IkVL3m0I/AAAAAAAAAJI/XI6Fblsnqg8/s320/WebGUI%5B6%5D.jpg" alt="" id="BLOGGER_PHOTO_ID_5448802019420117826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Designing Web GUI is a tricky task and based on the users it can get trickier. Even though the back end of a GUI may be easier, the presentation layer which faces the user and exposes those functionalities need to be designed in a proper manner.&lt;br /&gt;&lt;br /&gt;There are several guidelines and the one i follow and recommend is the &lt;a href="http://webstyleguide.com/wsg3/index.html"&gt;Web Style Guide&lt;/a&gt; which is clear and concise. It also focuses on all the aspects of the Web GUI development and deployment.&lt;br /&gt;&lt;br /&gt;Also some of the requirements are available ready made without need to reinvent the wheel, if a Portal Server (e.g. &lt;a href="http://www.liferay.com/"&gt;Liferay&lt;/a&gt;) is used instead of the standard webservers.  RIA frameworks like &lt;a href="http://www.thinwire.com/"&gt;Thinwire&lt;/a&gt; , also comes handy to cater to other requirements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1122531280435095249?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1122531280435095249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1122531280435095249'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/03/designing-web-gui-is-tricky-task-and.html' title='Web Style Guide'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/S54IkVL3m0I/AAAAAAAAAJI/XI6Fblsnqg8/s72-c/WebGUI%5B6%5D.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6440841002322516624</id><published>2010-01-12T20:08:00.004+05:30</published><updated>2010-01-12T20:27:44.626+05:30</updated><title type='text'>Static / Dynamic Stubs</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_c2QZsZoN560/S0yNhxRHICI/AAAAAAAAAJA/YJbFGd05QMQ/s1600-h/WSDL20Components.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5425867262374912034" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 250px; CURSOR: hand; HEIGHT: 155px" alt="" src="http://1.bp.blogspot.com/_c2QZsZoN560/S0yNhxRHICI/AAAAAAAAAJA/YJbFGd05QMQ/s320/WSDL20Components.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;We had to include an external Interface into our system and for some reason the URL didnt provide the WSDL when accessed thru a browser. Instead got a warning as below.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;em&gt;&lt;error&gt;&lt;description&gt;Unable to generate WSDL 1.1 for this service&lt;/description&gt;&lt;br /&gt;&lt;reason&gt;If you wish Axis2 to automatically generate the WSDL 1.1, then please +set useOriginalwsdl as false in your services.xml&lt;/reason&gt;&lt;br /&gt;&lt;/error&gt;&lt;/em&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;While talking to their IT, the team said due to security issues, they disabled the WSDL delivery !!! We have designed our system to use dynamic stub concept and since WSDL is not available over the the URL, it failed.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a workwround, we made the app use static stubs (we had a copy of the WSDL offline) and provided the published URL as the target "ENDPOINT" property. This way the jboss WS stack, just sent the POST request to the URL published instead of depending on any WSDL.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;BindingProvider bp = (BindingProvider)xxxWebServicePortType; &lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6440841002322516624?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6440841002322516624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6440841002322516624'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/01/static-dynamic-stubs.html' title='Static / Dynamic Stubs'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/S0yNhxRHICI/AAAAAAAAAJA/YJbFGd05QMQ/s72-c/WSDL20Components.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4845202350883805482</id><published>2010-01-05T18:05:00.008+05:30</published><updated>2010-01-05T19:47:50.530+05:30</updated><title type='text'>Internals of IP Address</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/S0NJYJGRCrI/AAAAAAAAAI4/Ife9RKUdF5U/s1600-h/ip_address_structure.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5423259055392098994" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 209px; CURSOR: hand; HEIGHT: 116px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/S0NJYJGRCrI/AAAAAAAAAI4/Ife9RKUdF5U/s320/ip_address_structure.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;IP Address , the heart beat of the Internet has lot of nuances and very much important on the HA design of any solution. Most designs concentrate on the HA for servers and databases, but other component failures like Network Interfaces, Routers , Disks are not taken into account which leads to costly downtime.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At a basic level, a system has a NIC and an IP address assigned to it. This model will break, if the NIC dies and the system cant communicate with the network.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;This is where the multihomed system concept came, wherein the same system has multiple NICs with its own IP address. This way the system has multiple network paths, so if any of the NICs fail, the system can still talk to the network.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;This solves only half the problem of HA, since when a NIC fails, even though the system can communicate with others, vice versa may not be true, since the other systems may be using the IP address of the failed NIC. How do we ensure that the other systems doesnt use the physical IPs of the system. This is where we have the VIP (Virtual Internet IP) concept.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Using VIP, one can assign a logical IP for the system along with the physical IPs of the NIC. External Systems can use this VIP, so that even if one NIC fails, the system is still reachable by others.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;VIP solves the HA in case of NIC failures within a system. But what if the whole system goes down ? In an Active-Active environment, this is not a problem cause, the requests will be load balanced to the active node. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;But in an active-standby enviroment, how to migrate the the VIP of one host to another automatically ? This is where the HA softwares or OS level clusters comes into picture. For e.g. Redhat Cluster Suite automatically "floats" the VIP to a standby host by monitoring the heart beat.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Another interesting thing, is the bonding of NICs. For HA, a system may have multiple NICs. How to make use of all NICs so that the traffic is load balanced across all NICs. For example, Linux supports bonding of the NICs and create a virtual NIC for the application layer.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4845202350883805482?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4845202350883805482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4845202350883805482'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2010/01/internals-of-ip-address.html' title='Internals of IP Address'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/S0NJYJGRCrI/AAAAAAAAAI4/Ife9RKUdF5U/s72-c/ip_address_structure.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3594046537180160917</id><published>2009-12-31T16:50:00.003+05:30</published><updated>2009-12-31T17:06:36.512+05:30</updated><title type='text'>GWT, Eclipse and JDBC</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/SzyMS_RQPJI/AAAAAAAAAIw/yFoiNiDGgMo/s1600-h/0074.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5421362309296569490" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 273px; CURSOR: hand; HEIGHT: 142px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/SzyMS_RQPJI/AAAAAAAAAIw/yFoiNiDGgMo/s320/0074.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I had a need to quickly cookup a web 2.0 GUI for a product prototype. While looking around for opensource frameworks, finally settled down with Big G`s &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The reasons are&lt;/div&gt;&lt;div&gt;1) GUI is server driven (i dont know much HTML) , similar to Swing&lt;/div&gt;&lt;div&gt;2) Standard WAR file support so that it can be deployed on appserver&lt;/div&gt;&lt;div&gt;3) Decent collection of out of the box widgets&lt;/div&gt;&lt;div&gt;4) Excellent Documentation&lt;/div&gt;&lt;div&gt;5) Its from Google so not much worry about quality&lt;/div&gt;&lt;div&gt;6) An OKish Eclipse plugin (doesnt have drap n drop IDE)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Just in 2 hrs, i was able to buid a DB driven , form based web 2.0 website with tabular results, movable dialog boxes etc&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Summary of the steps are&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1) Download GWT SDK &lt;/div&gt;&lt;div&gt;2) Install GWT Plugin using the Eclipse Software Update feature&lt;/div&gt;&lt;div&gt;3) Create the sample Project. This gives enough hints on how to code without looking into user guide&lt;/div&gt;&lt;div&gt;4) Refer to the widget reference if needed (contain sample code)&lt;/div&gt;&lt;div&gt;5) Use the Eclipse built in server instead of Google App Engine to avoid future surprises&lt;/div&gt;&lt;div&gt;6) Oracle JDBC Driver can be added to the Project library and JDBC code is written in the server impl file&lt;/div&gt;&lt;div&gt;7) Custom Java Datatype are supported to pass data to Client (must implement serializable)&lt;/div&gt;&lt;div&gt;8) GWT automatically creates a WAR folder. Just war this up and deploy on any appserver . Tested on Jboss 4.x and Tomcat 6.x. Works in first shot itself&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Few tips&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1) If Port already use in error pops up for Eclipse Jetty Server, make sure you close all the runnable launches (bottom right red button) to free up the port&lt;/div&gt;&lt;div&gt;2) No need to include the 'gwt_codesvr' URL param in final deploy URL&lt;/div&gt;&lt;div&gt;3) If 'Module needs to be recompiled' error throws up, do a clean and compile the project using 'GWT Compile' option on the tool bar&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Happy GWTing !&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Happy New Year 2010!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3594046537180160917?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3594046537180160917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3594046537180160917'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/12/gwt-eclipse-and-jdbc.html' title='GWT, Eclipse and JDBC'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/SzyMS_RQPJI/AAAAAAAAAIw/yFoiNiDGgMo/s72-c/0074.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6022293935948604203</id><published>2009-12-03T08:44:00.006+05:30</published><updated>2009-12-03T09:03:08.172+05:30</updated><title type='text'>SSL and LoadBalancing</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_c2QZsZoN560/Sxcw_rDZPwI/AAAAAAAAAIo/iUHjBDx0y8w/s1600-h/redplaid2.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5410847347755794178" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 223px; CURSOR: hand; HEIGHT: 189px" alt="" src="http://1.bp.blogspot.com/_c2QZsZoN560/Sxcw_rDZPwI/AAAAAAAAAIo/iUHjBDx0y8w/s320/redplaid2.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;LoadBalancing is common on high performance and thruput systems. But it gets trickier when the applications is SSL enabled. The reason is, SSL itself exchanges certain messages (handshake) to setup the tunnel and the problem arises when theses messages also gets load balanced to different backend servers leading to confusion and the handshake keeps happening for every message defeating the purpose of loadbalancer.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;How to solve this ?&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1) Simple way is to enable hashed loadbalance based on IP address. This works only if the Clients uses unique IP. In real world, most clients are behind a proxy/firewall , thus breaking this solution&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;2) Another way is to use cookie based technique to bind the clients to a particular backend server. As part of SSL handshake , a cookie called SSL_SESSION_ID will be set. The loadbalancer look into this cookie and stick the client to a server. This solution will break if clients turn off cookies.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;3) The ideal way is to offload the SSL processing on to the loadbalancer itself and the backend servers will not be SSL enabled. This shouldnt be a problem coz the backend server farm will be anyways inside a local LAN and in non-DMZ zone. Most hardware loadbalancers like Cisco , F5 support wirespeed , chip based SSL offloading which increases the thruput drastically.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;If hardware LB cant be afforded, one can use a webserver like apache in reverse proxy mode and offload SSL as well do loadbalancing on the backend server farm&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6022293935948604203?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6022293935948604203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6022293935948604203'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/12/ssl-and-loadbalancing.html' title='SSL and LoadBalancing'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/Sxcw_rDZPwI/AAAAAAAAAIo/iUHjBDx0y8w/s72-c/redplaid2.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1546859003637083114</id><published>2009-11-04T21:22:00.003+05:30</published><updated>2009-11-04T21:41:10.259+05:30</updated><title type='text'>VAS for Cars</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_c2QZsZoN560/SvGmeIatmQI/AAAAAAAAAIg/McvXH0-yUoM/s1600-h/untitled.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5400280464779745538" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 242px" alt="" src="http://1.bp.blogspot.com/_c2QZsZoN560/SvGmeIatmQI/AAAAAAAAAIg/McvXH0-yUoM/s320/untitled.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Mobile Phones have reached a stage where all types of VAS are available on the phones. Be it astrology or latest scores, you name it, there is either a SMS short code app or a stand alone app available. Also the mobile phone has been integrated with all electronic devices like TV, PC, ipods etc over bluetooth or USB.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Recent time, Auto Industry is getting commoditized like anything similar to mobile phones past few years back, especially with Tata`s 1 lakh Nano and severe competition on the small car segment. Every Family owning a car is not a distant dream and the future killer apps will be around VAS services/apps for Car Media System. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The Car Media System has advanced a lot from a mere "radio/cassette" player. My Car has bluetooth, USB, SD card, 7 inch LCD, DVD, mobile pairing etc. Adding to this, some even run an OS like &lt;a href="http://www.microsoft.com/auto/ma.mspx"&gt;Microsoft Auto &lt;/a&gt;designed exclusively for Auto Media Systems. Future systems may have wifi, webcam,GSM too.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;With bluetooth, network connectivity and an open Auto Media Platform, the possibilities are endless. No wonder , Ford has invested a lot in this segment with their "&lt;a href="http://www.fordvehicles.com/innovation/sync/?brand=flm"&gt;SYNC&lt;/a&gt;" initiative. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1546859003637083114?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1546859003637083114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1546859003637083114'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/11/vas-for-cars.html' title='VAS for Cars'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_c2QZsZoN560/SvGmeIatmQI/AAAAAAAAAIg/McvXH0-yUoM/s72-c/untitled.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-3667872625654003275</id><published>2009-09-29T13:06:00.003+05:30</published><updated>2009-09-29T13:16:01.269+05:30</updated><title type='text'>Coders at Work</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/SsG6Pdc1VbI/AAAAAAAAAIY/Zv2iFfo9r-U/s1600-h/21nk4xz.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5386791404078192050" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 179px; CURSOR: hand; HEIGHT: 174px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/SsG6Pdc1VbI/AAAAAAAAAIY/Zv2iFfo9r-U/s320/21nk4xz.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Eventhough we have so many disciplines in software engineering and development, programming and coding is the core of them all and if anything goes wrong, it takes down the whole project.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;There are so many programming books , but how wouldd it be to hear programming tips, tricks and experience from some of the world class programmers. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;"Coders at Work" is a book which hasinterviews of some world class programmers and their experience with programming since their childhood, the way they do coding, they debug and the annonyances they feel in current programming languages etc.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;A must read for all programmers who focus on getting things done amidst of all bureaucracies and politics a company has.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-3667872625654003275?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3667872625654003275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/3667872625654003275'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/09/coders-at-work.html' title='Coders at Work'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/SsG6Pdc1VbI/AAAAAAAAAIY/Zv2iFfo9r-U/s72-c/21nk4xz.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-4268175362882010571</id><published>2009-09-24T22:26:00.003+05:30</published><updated>2009-09-24T22:53:48.425+05:30</updated><title type='text'>FCoE</title><content type='html'>Network Technologies are always exciting and evolving and innovative and also redundant. When Client/Server became a hit, there was huge demand for high speed networking which resulted in 10/100 Mbps networks. Later the need for enterprise datacenters demanded much more higher speeds which resulted in GigE networks of speed 1000 Mbps. &lt;br /&gt;&lt;br /&gt;While this was going around, growth of databases and backup/recovery needs demanded high speed storage communications and the defacto standard of SCSI wasnt helping much. This requirement for high speed storage communication resulted in Fibre Channel based SANs since it gave speeds of 1,2 and 4 Gbps. Technology couldnt letFibre Channel for Storage alone and companies came with ideas like IPFC (IP over Fibre Channel) to leverage the high speed (4 Gbps) provided for data communications too, apart from SAN.&lt;br /&gt;&lt;br /&gt;While this was going , companies also came with innovations ike iSCSI (SCSI over IP) and FCIP (Fibre Channel over IP) to leverage the benefits of TCP/IP.&lt;br /&gt;&lt;br /&gt;Now with the popularity of "Cloud" and "SaaS" - virtualization is data center mantra. Data speeds have reached 10 Gbps on Copper. To cope with it, Storage Admins cant allocate HBAs for each and every VMs and also manage a separate network (SAN) for Storage alone.&lt;br /&gt;&lt;br /&gt;This where, 10 Gbps is coming to rescue with the standard called "FCoE" - Fibre Channel over Ethernet. The ability to send FC protocol on top of Ethernet Frames (bypassing TCP/IP as in iSCSI and FCIP). This way , the data center can run single Ethernet network for both its communication and storage needs , but still preserving the investments on the SAN devices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-4268175362882010571?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4268175362882010571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/4268175362882010571'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/09/fcoe.html' title='FCoE'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-539192549349374173</id><published>2009-09-23T21:35:00.003+05:30</published><updated>2009-09-23T21:55:22.092+05:30</updated><title type='text'>SIP...SIP-T...SIP-I</title><content type='html'>After HTTP conquered the internet, a protocol was designed to rule the VoIP world called as SIP (Session Initiation Protocol). Most of you are aware of this. But what is SIP-T and SIP-I ?&lt;br /&gt;&lt;br /&gt;SIP is perfect for pure VoiP power play. But unfortunately this is not an ideal world and one has to coexist with legacy systems and services where the telcos have spent their capital, building innvoative IN platforms.&lt;br /&gt;&lt;br /&gt;To fully utilize the power of SIP and also to interoperate it with existing IN, some extensions were required to the original SIP and this resulted in the birth of SIP-T(IETF) and SIP-I(ITU).  These defines how IN related data like ISUP messages/context can be carried over using SIP and also some more message mapping for mid call states and signalling.&lt;br /&gt;&lt;br /&gt;With SIP-T and SIP-I, along with the B2BUA concept, there are endless possibilities on building innovative services. Lets say for example, a prepaid voip service using the existing prepaid IN platform with automatic call termination and mid call announcements for recharge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-539192549349374173?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/539192549349374173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/539192549349374173'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/09/sipsip-tsip-i.html' title='SIP...SIP-T...SIP-I'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-2788287593654834575</id><published>2009-09-18T11:41:00.006+05:30</published><updated>2009-11-04T21:19:04.465+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='eeram'/><title type='text'>everywhere...nowhere...somewhere</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_c2QZsZoN560/SrMnqqUwmcI/AAAAAAAAAIQ/7sXctE0xkVI/s1600-h/Eeram-movie-posters-wallpapers1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5382689593507224002" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 203px; CURSOR: hand; HEIGHT: 232px" alt="" src="http://4.bp.blogspot.com/_c2QZsZoN560/SrMnqqUwmcI/AAAAAAAAAIQ/7sXctE0xkVI/s320/Eeram-movie-posters-wallpapers1.jpg" border="0" /&gt;&lt;/a&gt; Very rarely you leave the movie hall with a heavy heart and with the feeling of living along with the cast. "Eeram" is one such movie. &lt;div&gt;First of all, hats off to shankar to keep encouraging newbee directors who can really make a difference. Arivazhagan for sure is going leave his mark in kollywood.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Taking a thriller/scary movie without showing the so called "ghost" , "screamings", "scary makeups" is a tactic. Just camera angles, visuals, BGM alone can make a viewer scary and it needs enormous talent from director, editor and cameraman to acheive it. Earlier it was "13B" which attained that affect and now its "eeram".&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The cast is simply superb. Aadhi who came to limelight in debut "mirugam", has gone to the next level and played a perfect role as a cop . Sindhu Menon, who didnt have any luck in kollywood so far, for sure will get her attention after this movie as she is the lead cast of the movie and she had played that typical srirangam iyer girl role in an excellent manner and also as the restless afterlive soul. Last but not least, nandha, one more talent thats not used in kollywood properly. He has done the psycho role so naturally.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Music is another masterpiece in this movie. I started noticing Thaman after the "sindhanai sei" movie. Now with the BGM and 2 awesome songs, he surevast potential in the music world.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;There are few drawbacks though like revealing the suspense so soon, bit lengthy with long dialogues but you wont feel these coz of the slickness of the movie.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Overall its an enjoyable postmodern movie.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-2788287593654834575?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2788287593654834575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/2788287593654834575'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/09/everywherenowheresomewhere.html' title='everywhere...nowhere...somewhere'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/SrMnqqUwmcI/AAAAAAAAAIQ/7sXctE0xkVI/s72-c/Eeram-movie-posters-wallpapers1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7423624977801866305</id><published>2009-09-07T17:41:00.005+05:30</published><updated>2009-09-07T18:11:21.783+05:30</updated><title type='text'>Interview: Java Developers</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/SqT85gPVprI/AAAAAAAAAII/27zk_QWre08/s1600-h/java.GIF"&gt;&lt;img id="BLOGGER_PHOTO_ID_5378701919824225970" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 167px; CURSOR: hand; HEIGHT: 134px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/SqT85gPVprI/AAAAAAAAAII/27zk_QWre08/s320/java.GIF" border="0" /&gt;&lt;/a&gt; &lt;div&gt;After the standard intros, project briefs, I start with the "&lt;strong&gt;does he/she really know java&lt;/strong&gt;" question. &lt;/div&gt;&lt;div&gt;Java Pseudo code is like this.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;static int i=10;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;i++;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;print i;&lt;/em&gt;&lt;/div&gt;&lt;div&gt;when run concurrently on two jvm windows, what will be the output ? is it 10,10 or 10,11 or 11,11 or 11,10 or 11,12. Eventhough its a simple question, you will be amazed how much time people take to think and still and answer wrongly. Based on the answer and reasoning , I decide to proceed or not with the candidate.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Then comes the "&lt;strong&gt;can he/she do coding and think logically&lt;/strong&gt;" part. For this I usually ask them to write pseudo code as close to java as possible for a small Class from their current project.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Later i go into the "&lt;strong&gt;can he/she do design&lt;/strong&gt;" by asking them a problem involving interfaces and dynamic classloading. These 2 are very important concepts in java and a good java developer has to know when to use these in proper manner.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Next comes the "&lt;strong&gt;is he/she one among the hundreds of java devs or the A-list&lt;/strong&gt;" question. For this, I ask them to tell how they will do their own webservice stack or OR tools kinda questions. Ofcourse for real work, no one sits and reinvents the wheel, but i do want a dev who can write such kinda framework when none is available.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Next comes the "&lt;strong&gt;tie breaker&lt;/strong&gt;" questions - like domain expertise(telecom, in my case), some brain teasers and last but not the least, "the attitude".&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7423624977801866305?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7423624977801866305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7423624977801866305'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/09/interview-java-developers.html' title='Interview: Java Developers'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/SqT85gPVprI/AAAAAAAAAII/27zk_QWre08/s72-c/java.GIF' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7320103571768133152</id><published>2009-09-02T22:34:00.003+05:30</published><updated>2009-09-02T22:49:32.925+05:30</updated><title type='text'>Data Deduplication</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/Sp6oVquwBPI/AAAAAAAAAIA/9uukakZzwTY/s1600-h/colored%20candy.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5376920095328044274" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 144px; CURSOR: hand; HEIGHT: 178px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/Sp6oVquwBPI/AAAAAAAAAIA/9uukakZzwTY/s320/colored%2520candy.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Storage gets cheaper, efficient and faster...but at the same time, the need for enormous storage keeps increasing in par with it. High Res Videos, Photos, Animations, Pages of scanned important docs, Email Forwards to n number of people all eat up storage budget of an enterprise.There have been several ways to solve this which includes compression.&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;Data deduplication is a new buzz word in the storage world, where the backup systems gets more intelligent in analyzing the content and eliminate duplicates. For example if  100 developers of a product team had checkout 100MB worth of source code and if their desktop is getting backed up, these intelligent backup systems figure the duplication of source files/binaries and backup only one copy of the data but still maintaining the reference from all the 100 sources.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I wish the Email servers have this technology too since the email forwards within an enterprise is a main contributor to storage. Not sure whether any mail servers already have the capability to do dedups.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7320103571768133152?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7320103571768133152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7320103571768133152'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/09/data-deduplication.html' title='Data Deduplication'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/Sp6oVquwBPI/AAAAAAAAAIA/9uukakZzwTY/s72-c/colored%2520candy.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7662305055265477792</id><published>2009-08-23T20:21:00.004+05:30</published><updated>2009-08-23T20:38:00.857+05:30</updated><title type='text'>SELinux</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/SpFbDqlAFNI/AAAAAAAAAH4/RiXB8vLQ5XI/s1600-h/200px-Pax_tux.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5373175948956931282" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 285px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/SpFbDqlAFNI/AAAAAAAAAH4/RiXB8vLQ5XI/s320/200px-Pax_tux.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;UNIX is proven to be secure and especially Linux. But past attacks due to bugs in applications running on Linux, made it easy for breaking the system and gaining root access to do malicious activities. The reason for this is the DAC (Discretionary Access Model) which is based on the user/group access levels. A program running as a user , by default gains all the permissions of the users even if some are not required.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;This triggered the introduction of MAC (Mandatory Access Control) model wherein clear permissions are defined on what a program can do or not. This way a malicious intrusion cant do more damage as before.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;This enhancement to Linux is called Security Enhanced Linux (SELinux) and several distros already supports this. Its also part of the Official Linux Kernel. These enhancements support the policy creations and enforcements.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7662305055265477792?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7662305055265477792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7662305055265477792'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/08/selinux.html' title='SELinux'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/SpFbDqlAFNI/AAAAAAAAAH4/RiXB8vLQ5XI/s72-c/200px-Pax_tux.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6666622895105307413</id><published>2009-05-02T14:35:00.012+05:30</published><updated>2011-11-29T09:06:09.760+05:30</updated><title type='text'>Pasanga - almost heroes !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; I was curious about this movie when the critically acclaimed director sasikumar announced his maiden production. The stills which were focusing just on set of kids fueled it too. Its rare to find kids movies now a days and especially kids movie which an adult can also enjoy by correlating it to their childhood.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Mani`s Anjali was the one such movie of this genre which was loved by everyone. How can one forget the cute shamli who swept away everyone`s heart, the portrayal of apartment life which made every kid of 90s , to nag their parents to move to apartments, the "gang wars", gossiping about the adult stories etc and ofcourse maestro`s bubbly music (his 500th film). I used to keep drawing the theme art of the movie whenever i get bored in classroom. I was very fond of this movie when i was doing my 10th std.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When pasanga movie was about to release, the stills of the kids in various hit movie costumes like "naan kadavul", "subramaniapuram", "billa" etc raised the expectations further. And then the &lt;a href="http://www.youtube.com/watch?v=y8Agz16myds"&gt;trailer&lt;/a&gt;, it was one of the best trailers ever made recently and especially the BGM and fade shots. Its just awesome and it felt like watching a tamil version of "&lt;a href="http://www.youtube.com/watch?v=ioUE_5wpg_E"&gt;City of God&lt;/a&gt;". After this i was determined to watch this movie FDFS. There was one more small reason adding to the addiction, which is the cute heroine "&lt;a href="http://3.bp.blogspot.com/_redPB1TXsyY/SMZ-mpMQiNI/AAAAAAAAB2g/nwfsvedH1CI/s400/saroja-movie-actress-vega-photo-shoot-stills-178304.jpg"&gt;Vega&lt;/a&gt;" , the title cast of the "Saroja" movie.&lt;br /&gt;&lt;br /&gt;One can easily make a kids movie using fiction , super heroes etc (ET, my dear kuttychaathan, Home alone etc). Movies like "Pattalam" doesnt click with audience coz they dont show kids as kids, instead like some college adults wearing designer tees, a cute teacher who is so angelic, group discos etc...Its good to watch these in TV in "kanaa kaanum kaalam" but it doesnt work as a movie.Its difficult to make a loveable kids movie which is just a journey into their everyday walk of their life and how adults/society/culture and even movies influence their attitude and behaviour.&lt;br /&gt;&lt;br /&gt;"Pasanga" is a one such rare movie which just makes you fix yourself into one of the kids and blend with the same. If Anjali is about kids life in metro , this movie is about kids life in a village (Virachilai). I was little disappointed during initial mins into the movie coz i had the expectation of watching something like "City of God". But that disappoinment vanished soon with the packaging of the film. If COG is about the kids life midst of crime/drug trafficking in Rio,Brazil , Pasanga is about the kids life in midst of movie influenced culture, drastic economic differences in our society and the thirst to earn fame.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The story is nothing new, a good kid, a spoiled brat with his gang, a girl who adores the good kid, their parents and their ego/fights and how the good kid transforms the brat. The highlight of the movie is the screenplay and the packaging of this simple story. The lead cast is simply awesome and they have lived the characters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Am sure one or more scenes will remind one of their school days - be it the gang wars and revenges, being the hero of the school, craze on cycles/bikes etc. The scenes are all so cute.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The supporting cast is another real support for the victory of the movie. The parents of the both the boys are great and especially the moms. They are the typical moms one can find in the rural areas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The director has also thought that the 2+ hours cant ride on kids alone and some little spice is needed and thats where the cute love story of vega and vimal begins. After SMS (siva mansula sakthi), this love story and cute romance using mobile will definitely be heart touching. The scene where the guy knows about the girls love is something new and very cute and also the beautiful intro between them ( the &lt;a href="http://www.youtube.com/watch?v=S32X5-eKVp4"&gt;kill bill whistle &lt;/a&gt;ringtone exchange, "seruppu" help!). I dont want to reveal it in the blog !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cinematography is very nice and brings out the director`s vision of the village school and the roads they walk/fight on. Its amazing. Editing is another area that needs applause coz the movie doesnt make you feel bored even a second. Music by James vasanthan is OK but one of the luv duet in rain is very romantic (&lt;a href="http://www.youtube.com/watch?v=FFUgx8JdCfM"&gt;oru vekkam varudhe&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hats off to sasikumar for encouraging these type of class movies and helping tamil movie industry to reach higher levels. Its a must watch movie for adults and kids (alone or together !).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6666622895105307413?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6666622895105307413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6666622895105307413'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/05/pasanga-almost-heroes.html' title='Pasanga - almost heroes !'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-7059373136876582090</id><published>2009-02-21T16:23:00.008+05:30</published><updated>2009-11-04T21:19:33.964+05:30</updated><title type='text'>Sarvvam - Music Review</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_c2QZsZoN560/SZ_u2Eq6XSI/AAAAAAAAAHY/-3fAsjJtTZw/s1600-h/sarvvam.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5305221498799807778" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 566px; CURSOR: hand; HEIGHT: 140px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_c2QZsZoN560/SZ_u2Eq6XSI/AAAAAAAAAHY/-3fAsjJtTZw/s320/sarvvam.jpg" border="0" /&gt;&lt;/a&gt; &lt;div&gt;&lt;div&gt;Yuvan and Vishnu combo always rock and this album is no exception. It was a sweet surprise on on Valentine`s day at City Center where the core crew were present for a &lt;a href="http://www.youtube.com/watch?v=8ylrlxQz5So&amp;amp;feature=channel_page"&gt;soft audio launch&lt;/a&gt;. This is a nice idea since the movie is a luv story and it created the necessary hype without spending much money for a theatre or a hall needed for these kind of music launch.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Now coming to the tracks&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Adada Vaa&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;This song is inspired from the beats of Usher`s "&lt;a href="http://www.youtube.com/watch?v=8ylrlxQz5So&amp;amp;feature=channel_page"&gt;You make me wanna&lt;/a&gt;" and its a peppy number to hear especially in our maestro`s everlasting casual vocal. It has some rap bits too.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Neethane&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;The typical Yuvan style solo luv song. These type of numbers suits Yuvan`s "having cold" style husky voice. I luv the following lyric in the song penned by vijay.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;"Yen vizhiyin karumaniyai thedi paar...&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;Un kaaladiyin thandangalai kaatumaey..."&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Sutta Suriyane&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;I guess this is the hero intro song . Very nice beats that tempts u to dance and a surprising remix of old hit "megam karugudhu mazhai vara paakathu" in the middle of the track. The feel and harmony of the song is similar to "Seval Kodi Parakudhuda" in "Billa-2".&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Kaatrukullae&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;This track is THE TRACK of the album even though its a small track. It brings out the depth and intensity of the luv that the movie is all about. If 'SMS' is a perfect movie for V-Day, this number is the perfect number to listen on a V-Day with your loved one. As usual Yuvan rocks with his vocal. The water droplet BGM is very interesting and really brings you the feel of being in the midst of an abandoned woods.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;em&gt;"Kaatrukule vaasam pol ada enakul nee"&lt;/em&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Siragugal&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;Am not much fond of this number. Just a usual fast duet song. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-7059373136876582090?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7059373136876582090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/7059373136876582090'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/02/sarvvam-music-review.html' title='Sarvvam - Music Review'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_c2QZsZoN560/SZ_u2Eq6XSI/AAAAAAAAAHY/-3fAsjJtTZw/s72-c/sarvvam.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-5194007889972824990</id><published>2009-02-17T09:51:00.003+05:30</published><updated>2009-02-17T10:21:37.612+05:30</updated><title type='text'>Regulations</title><content type='html'>Regulations are there in every country and its an important thing to streamline and monitor any business activity so that the consumers wont be affected. In US, there are so many regulations and acts in every industry sector to protect the business as well as consumers and this is one thing I admire in US.&lt;br /&gt;&lt;br /&gt;The following are few important regulations in US&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/HIPAA"&gt;HIPAA&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Sarbanes-Oxley_Act"&gt;SOX&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml"&gt;PCI DSS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/ISO_17799"&gt;27002&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These regulations in turn results in IT expenditure increase coz they need to enhance the infrastructure to support the regulation and usually within a short period of time.&lt;br /&gt;I was working for a Storage Appliance Startup when SOX regulation was introduced and we saw significant increase in sales coz all major businesses were going on a shopping spree to enhance their data storage and backup infrastructure.&lt;br /&gt;&lt;br /&gt;All these regulations mandated the companies to see the "data" as not just "data" but "valuable assets". Its not just bits and bytes anymore but instead every flow of data should be monitored,audited and preserved. This created a new jargon called "Information Lifecyle Management" which provides standards on how to manage data end to end starting from the point the data is gathered upto the point its destroyed.&lt;br /&gt;&lt;br /&gt;These regulations are also the reason why you get annoying popups in your mail clients (outlook , notes etc) asking you to confirm the deletes or retention of an email.&lt;br /&gt;&lt;br /&gt;There are lot of consultants (e.g. Deloitte, PWC etc) and softwares (e.g OpenPages), available to audit a business and report whether they are in compliance to a regulation or not, what should be done to make it compliant etc.&lt;br /&gt;&lt;br /&gt;But the pity thing is, even though we have so many regulations how come we couldnt stop the current global economic meltdown or the financial sector frauds in US or the Satyam Scandal ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-5194007889972824990?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5194007889972824990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/5194007889972824990'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/02/regulations.html' title='Regulations'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-8851209457419885336</id><published>2009-02-14T03:48:00.009+05:30</published><updated>2009-11-04T21:19:49.385+05:30</updated><title type='text'>Siva Manasula Sakthi - ella manasulaiyum oru feeling</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/SZX-Gy4UFWI/AAAAAAAAAHI/4e4doG2idZE/s1600-h/Siva-Manasula-Sakthi-19.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5302423528989267298" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 133px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/SZX-Gy4UFWI/AAAAAAAAAHI/4e4doG2idZE/s200/Siva-Manasula-Sakthi-19.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Happy Valentine`s Day :) &lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In one line, this movie is the apt movie for the valentine`s day cause it tells the love in a realistic way. Yes, the terrible fight followed by a passionate love. And its true and I have seen it myself in several couples whom the world believed that they are foes but turned out to be made for each others !&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I wanted to see this movie based on a news that this movie has an "innvotive" scene of proposing love ! Its true too. I dont think this type of proposing has come in any other movies in the past. Also the trailer which projected a typical local chennai boy! Ofcourse the songs by Yuvan.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;One more amazing thing is the full house on 1045Pm Friday show. Eventhough its the release day, its a welcoming change happening in movie industry where the star power is not only the one which decides the opening but a non star/new director/new producer can also get a good opening. The Producers of Kollywood should seriously think that its not a mandate to have huge costly sets, exotic locations, super model heroines and high priced automobiles roaming etc to pull in crowds but even a movie revolving around mambalam station, tasmac bar,chennai city and a 2 wheeler can pull the same !&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Luv Stories when presented right and casted right with the right knot always makes it at the box office as hits. Especially the cat and mouse types with the boy being a "local" always makes it a hit with a proper screenplay and scenes. e.g. Minnale, Thiruda Thirudi, 7G Rainbow Colony, Vaaranam Aayiram.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;This movie is also in the same genre - feel good romantic comedy. Even thought the plot is "old wine", the movie is "old win a new bottle" since none of the scenes are repetitive and the director has also given his unique touch in everything from the boy/girl intro, their fights, the falling in love, broken heart phase,locations etc.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I started accepting Jeeva as an actor after "Ram" and a performance actor after "Kadradhu Tamil". In this movie he proves he is a flexible director`s actor too. I dont think anyone would have suited well for the role he has played in this movie. ((Ya, Dhanush would have been apt, but he has aready done this kind of role in Thiruda Thirudi, slets leave him out of this list :) ))Awesome mannerism, dialogue delivery using local chennai slangs, changing expressions from sadness to laughter to frustration to jealousy..Jeeva is simply amazing...&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The girl Anuya, eventhough not a typical kollywood glamour material , she is definitely an actress material cause her acting make it difficult to believe that she is a newcomer. She portrays her role as the "local inside peter outside" girl in a very promising way. Perfect Cast for a next door rich girl.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;No Luv Story will be complete with a comic sidekick for the hero and in this movie, Sandhanam has done a tremendous job and he is the one who makes us not bored during the second half of the movie when the pace is little slower compared to the first half. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;All Luv Stories should have a nice"bit" song for the falling in love scene and this movie is no exception. Yuvan deserves accolades for that beautiful bit song "Oru Paarvaiyil", especially the starting violin BGM. Also how can the love story end without the defacto Yuvan`s Pathos Song in his own voice for the broken heart scene?! This movie also has a heart melting number "Oru Kal Oru Kannadi".&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I guess, the director Rajesh must have experienced the scenes of the movie, coz he has portrayed the typical "average earning chennai youngster" so nicely. He has gone into very fine grained details . e.g. the tasmac bar bill written on a cigar pack wrapper. He could have easily left it on white paper but it shows how much care he has taken to make it as realistic as possible. This is another reason for the movie`s win, coz one can easily relate themselves to atleast some of the scenes of the movie.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The only Minus point is the dragging last 20 mins which is totally unnecessary. Most felt that the movie got over and started walking , but it drags for few more scenes which is totally boring and also predictable. I hope the director trims these parts.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Last but not the least, a luv story cannot move unless an"america mappilai" enters the story and makes a twist and its a sweet surprise to see the actor who played that role in this movie. He just comes for 5 mins but makes a good impression. I wont reveal who it is. Will leave it as a surpise !!&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Its a nice movie and its worth watching , especially during valentine day weekend.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-8851209457419885336?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8851209457419885336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/8851209457419885336'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/02/siva-manasula-sakthi-ella-mansulaiyum.html' title='Siva Manasula Sakthi - ella manasulaiyum oru feeling'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/SZX-Gy4UFWI/AAAAAAAAAHI/4e4doG2idZE/s72-c/Siva-Manasula-Sakthi-19.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1110338302543288949</id><published>2009-02-11T23:28:00.003+05:30</published><updated>2009-02-12T00:59:32.407+05:30</updated><title type='text'>Performance Data and its Analysis</title><content type='html'>As part of performance tuning, we gather lot of data from different entities. But without proper analysis of it, the data gathered will be of no use. Here are some tips.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Network&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;                      &lt;/strong&gt;Data&lt;strong&gt; ::  &lt;/strong&gt;tcpdump&lt;br /&gt;&lt;strong&gt;                      &lt;/strong&gt;Analyzer&lt;strong&gt; :: &lt;/strong&gt;Ethereal&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Database (Oracle)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;                      Data ::  statspak/AWR&lt;br /&gt;                      Analyzer :: &lt;a href="http://www.txmemsys.com/statspack-reg.htm?gclid=COWHw_-WwJgCFQXGsgodsw98Zw"&gt;statspak analyzer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Java Heap Dump&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;                      Data ::  map file created by JVM&lt;br /&gt;                      Analyzer :: &lt;a href="http://www.alphaworks.ibm.com/tech/heapanalyzer"&gt;heapanalyzer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Java Thread Dump&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;                      Data ::  thread stack trace&lt;br /&gt;                      Analyzer :: &lt;a href="http://sourceforge.net/projects/tdv/"&gt;TDV&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1110338302543288949?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1110338302543288949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1110338302543288949'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/02/performance-data-and-its-analysis.html' title='Performance Data and its Analysis'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-6317647610015037038</id><published>2009-02-10T00:09:00.011+05:30</published><updated>2009-11-04T21:20:06.306+05:30</updated><title type='text'>The Commutes of our life !</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/SZCJcB1DezI/AAAAAAAAAHA/aAdsE5M6s_0/s1600-h/rabobank%20bicycle,%20small,%20low%20res.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5300887876035377970" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 143px; CURSOR: hand; HEIGHT: 119px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/SZCJcB1DezI/AAAAAAAAAHA/aAdsE5M6s_0/s200/rabobank%2520bicycle,%2520small,%2520low%2520res.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Are we noticing that the happiness during commute is decreasing and the distance during commute is increasing as we grow in life ?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;When we were kids , the commute used to be very pleasant, that one eagerly awaits the school van or the group bicycle ride. One even thinks that the journey should never end coz its full of gossips, the last night TV show discussions, tasting of lunches, the adolescent flirts with fellow girl passengers. The list goes on and on...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;The Group Bicycle rides were more fun coz it helps to project the heroism in us. It dealt with the weird mods to the bicycles and its discussions, mini cycle races till school, once again the adolescent flirts fixing fellow girl riders cycles, the pit stops at nayar kadai or bhai kadai for a quick tea or lemon salt soda or if one is too matured , even a "dhum" too.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_c2QZsZoN560/SZCH1x5MxGI/AAAAAAAAAGw/W_QxDp6JlCI/s1600-h/splendernxg.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5300886119411139682" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 176px; CURSOR: hand; HEIGHT: 146px" alt="" src="http://2.bp.blogspot.com/_c2QZsZoN560/SZCH1x5MxGI/AAAAAAAAAGw/W_QxDp6JlCI/s320/splendernxg.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then when the college life started, using college bus was considered a pathetic activitity. The popular rides were the Yamaha Rx100 and the HH Splendor and ofcourse the everlasting local govt buses. Who can forget the loosened silencer mods, getting a quick "puff" of a cigar from the friend in the pillion, cruising near bus stands hoping to give a ride to girl classmates and last not but not the least "the wheeling" !&lt;/div&gt;&lt;div&gt;&lt;br /&gt;When I started my career, most IT companies were within the city only and since most are campus recruited, the fun continued there too. In fact, it was more fun coz we had more independance. The commute was still fun coz we used to do "bike pooling" and the rides were never alone. The waits at the lights was the most awaited moment, coz we can do all "petering" there especially when another girl "s/w engr" is in the adjacent auto. One will do all tricks of raising the helmets, checking their ID cards to reveal that they are also "s/w engrs", throttling the idle engine as tho a "rocket launch" is waiting for our arrival at office !&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_c2QZsZoN560/SZCIpFrZHhI/AAAAAAAAAG4/w7ECYsnBJn8/s1600-h/800px-Chennai_india.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5300887000895266322" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 250px; CURSOR: hand; HEIGHT: 194px" alt="" src="http://4.bp.blogspot.com/_c2QZsZoN560/SZCIpFrZHhI/AAAAAAAAAG4/w7ECYsnBJn8/s320/800px-Chennai_india.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Later when the IT companies were shifted to outskirts so that they can build sprawling campuses, the commutes which were totally fun all our life suddenly became monotonous and horrific. There are souls who even spends 2 hrs one way to reach the office in a so called "air bus" when the only air that comes in the bus is the "korattai" sound of a fellow passenger.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;It also spoiles the health coz of severe back pains, skipping breakfast to catch the bus, constant listening to music using the mp3 or fm players. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;There is an exception to this if one has a girl or boy friend (should not be husband / wife...coz that adds more pain :) ) riding in that same bus. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;Thanks to God for gifting me an heart of the city office and a Car to commute a 6 km distance. I see my friends suffer and go thru this torture daily.&lt;br /&gt;&lt;br /&gt;Why cant companies think of making these commutes productive ? Why cant they give laptops and datacards so employees can atleast do some work and make these commute part of work hours, so that they can spend more time for their personal life ?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Atleast in Bay Area US, google and microsoft have wifi enabled buses for their employees commute. In India, Big G is planning to have &lt;a href="http://www.google.co.in/intl/en/landing/internetbus/"&gt;bus rides &lt;/a&gt;across cities to increase the awareness of internet among rural people. These &lt;a href="http://picasaweb.google.com/internetbusindia/Internetbus#"&gt;buses&lt;/a&gt; looks hifi and its all internet enabled.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wish the IT companies use this as a model and enable the same for the commute of their employees and make the time more valuble.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-6317647610015037038?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6317647610015037038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/6317647610015037038'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/02/commutes-of-our-life.html' title='The Commutes of our life !'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_c2QZsZoN560/SZCJcB1DezI/AAAAAAAAAHA/aAdsE5M6s_0/s72-c/rabobank%2520bicycle,%2520small,%2520low%2520res.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-8974060.post-1526512393040539593</id><published>2009-02-07T23:43:00.007+05:30</published><updated>2009-11-04T21:20:21.689+05:30</updated><title type='text'>Naan Kadavul - Review</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_c2QZsZoN560/SY3eQJ6PRAI/AAAAAAAAAGg/iYGW7fFC6C8/s1600-h/nk.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5300136705604404226" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 256px; CURSOR: hand; HEIGHT: 166px" alt="" src="http://3.bp.blogspot.com/_c2QZsZoN560/SY3eQJ6PRAI/AAAAAAAAAGg/iYGW7fFC6C8/s320/nk.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Finally the much hyped and awaited movie released yday (Feb 6th). I was also one of the people who were eagerly waiting for this movie mainly coz of Bala. Ofcourse the terrific stills of Aarya and the Kaasi location , plus the awesome trailer increased the expectation.&lt;br /&gt;&lt;strong&gt;Good things first... &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;p&gt;Baala&lt;/strong&gt;&lt;/p&gt;...Hats off to bala for still thinking different and bold even in this age of commercial cinema. Only he can touch the neglected chars of tamil cinema as main chars - be it a suffering mentally challenged person at yervaadi or the vettiyan of a suddukadu.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Aarya&lt;/strong&gt;...It was Kamal who used to set bars for costumes,makeups and "living" the character. In the new age actors, it was Surya who used to mend and strain himself to do the same and he did set a new bar in his latest movie "Vaaranam Aaiyram". Now Aarya has raised the bar to a new level with his awesome performance and straining himself to live the character - ruthran , an angry saadhu in Kaasi who believes that he is the God - "Aham Bramasmi".&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pooja&lt;/strong&gt;...Its rare to see heroines who volunteers to show them non-glamorous coz the cast mandates it. Not just non-glamorous, in this movie she even comes as visually handicapped with whitened eyes and also gone thin to live the character of a homeless needy girl.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Music&lt;/strong&gt;...As usual the maestro rocks especially the kaasi BGMs, the intro song of aarya and the stomach swirling "udukai"&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Visuals&lt;/strong&gt;...None can show the intensity of Kaasi like the way it was portrayed in this movie.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dialogues&lt;/strong&gt;...Penned by Jayamohan is superb. I love one dialog by aarya which goes something like this "&lt;em&gt;nerupula yedhuda nalla nerupu ketta nerupu&lt;/em&gt;" when he lights his cigar from a holy diya.&lt;br /&gt;&lt;br /&gt;Movie has all the defacto baala touch - dance for yesteryear song , an abnormal hero, a girl wearing shirt, scary locations and closeups, dark comedy, a mentor for the hero etc...The movie has lot of his earlier movie impact - pithamagan.&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Now the disappointing stuffs ...&lt;/strong&gt;&lt;/p&gt;From the initial hype , rumors, articles and the trailers, I was under the impression that the movie is about an angry young abandoned man in Kaasi and his phases of life.&lt;br /&gt;&lt;br /&gt;But the movie totally deviates from this and portrays the dark side of the needy physically challenged people and how a "hero" finally saves them by killing the "villan". The "hero" is none other than our angry young man from Kaasi.&lt;br /&gt;&lt;br /&gt;Either it should be fully about the former topic or fully about the later topic. But Baala struggles a lot to balance between these and this results in aarya character totally missing in second half and everyone wonders where is he other than coming in the "dope" smoking scenes rarely.&lt;br /&gt;&lt;br /&gt;Baala has used real people for the cast of the needy physically challenged people and shows the pathetic life of them in a very disturbing manner. These scenes will make one have sleepless night after watching the movie.&lt;br /&gt;&lt;br /&gt;I agree its all true and happening in our cities , but is sitting in an AC posh multiplex, eating popcorn and drinking pepsi , the right way to watch and know about their life. What are we acheiving by this ? What is going to happen to these people ? Will the producer or Baala be doing or already did something to these people out of the huge profits from this movie ? I wish they should.&lt;br /&gt;&lt;br /&gt;Its an irony that these pity cast makes us laugh by their crude dark comedy more than our famoues comedians. Hats off to them. Even the character of the "supervisor" done by one of member of vadivelus sidekicks is simply amazing.&lt;br /&gt;&lt;br /&gt;My only question is why a person from kaasi should come and save them and why not a local normal person ? I guess the answer is than the movie wont be a typical baala movie since it will be void of an abnormal lead cast ! This aarya character also loses its weightage coz of the monotonous scenes like sitting somewhere with fixed eyes, smoking dope and posing in weird positions (there is an even a pose where he sits like a typical calvin klien model during a fight !)&lt;br /&gt;&lt;br /&gt;What is Baala suggesting ? That all these phy challenged needy people should die ? But one thing for sure, I will seriously think twice b4 donating money to these people coz the movie has showcased the evil "corporate" world behind these challenged but sweet people, who operates them and treats them as their slaves. May be i should just get them food or things.&lt;br /&gt;&lt;br /&gt;Bottomline, if you are expecting aarya and kaasi for full of the movie, you will be disappointed. But it can be watched for a the bold unique baala, awesome aarya and poojas performance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8974060-1526512393040539593?l=ssklogs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1526512393040539593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8974060/posts/default/1526512393040539593'/><link rel='alternate' type='text/html' href='http://ssklogs.blogspot.com/2009/02/naan-kadavul-review.html' title='Naan Kadavul - Review'/><author><name>ssk</name><uri>http://www.blogger.com/profile/04832436052132395341</uri><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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_c2QZsZoN560/SY3eQJ6PRAI/AAAAAAAAAGg/iYGW7fFC6C8/s72-c/nk.jpg' height='72' width='72'/></entry></feed>
