<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6145341313559020127</atom:id><lastBuildDate>Tue, 09 Dec 2025 01:47:23 +0000</lastBuildDate><category>Technology</category><category>Gadgets</category><category>Networking</category><category>Programming</category><category>Electronics</category><category>3D Triangulation</category><category>3D Trilateration</category><category>A-GPS Tutorial</category><category>ASP.Net Appfabric Caching</category><category>Android Bluetooth [13] Permission denied</category><category>Appfabric Caching (Velocity) Secrets</category><category>Appfabric Caching (Velocity) Tutorial</category><category>Assisted GPS Beginner</category><category>Assisted GPS Working</category><category>Azure Appfabric Windows Server</category><category>BCP Command Line Utility Syntax</category><category>Bluecove Tutorial</category><category>Bluetooth Console RSSI</category><category>Bluetooth RSSI Indoor Navigation</category><category>Command line to file</category><category>Computer</category><category>Digital Camera</category><category>Electronics jewellery</category><category>Extract Table Data to File</category><category>FreeRADIUS Challenge Authentication</category><category>GPS Position Determination How</category><category>GPS Triangulation Tutorial</category><category>GPS simplified 3D model</category><category>GS 3D-Position Fix Demo</category><category>HCI Layer</category><category>HTC I 2013</category><category>HTC One BoomSound Beats Audio</category><category>HTC One Close Running Background Apps</category><category>HTC One Gallery Preview</category><category>HTC One Google Now</category><category>HTC One Heating Problem</category><category>HTC One Multitasking</category><category>HTC1 2013</category><category>How does GPS work</category><category>Image Quality</category><category>Lava A9 3.2MP Camera Poor Quality</category><category>Lava A9 Audio Poor Quality</category><category>Lava A9 Dual Sim Phone</category><category>Lava A9 Nimbuzz Opera</category><category>Lava A9 PC Suite Free Download</category><category>Lava A9 Review</category><category>Lava A9 Specifications</category><category>Linux $TZ timezone issue</category><category>Linux TZ environmental variable</category><category>Load Table from Excel</category><category>Logical Address vs Physical Address</category><category>MS.Net Distributed Caching</category><category>Megapixel Myth</category><category>Megapixel vs Resolution</category><category>Mobile Phone A-GPS</category><category>Nano-engineering</category><category>Nanotechnology Basics</category><category>Nanotechnology Future Prospects</category><category>Nanotechnology Understanding</category><category>Nokia 5130 Review</category><category>Nokia 5130 Xpress Music  Pros and Cons</category><category>Nokia 5130 Xpress Music Advantages and Disadvantages</category><category>Nokia Bluetooth RSSI</category><category>Operators</category><category>RADIUS server</category><category>Redirect Trace File</category><category>SPEC95 Commands</category><category>SQL/ORACLE</category><category>Samsung Corby S3650</category><category>Samsung Corby S3653 Opinion</category><category>Samsung Corby S3653 Phone Features</category><category>Samsung Corby S3653 Review</category><category>Simplescalar Beginner&#39;s Tutorial</category><category>Simplescalar Little Endian Benchmarks Download</category><category>Simulate SPEC95</category><category>Technical jewellery</category><category>Technology jewellery</category><category>Transfer Table Data Two Different Database Servers</category><category>Ubuntu BlueZ RSSI Monitor</category><category>Ubuntu Simplescalar</category><category>Understand VPN</category><category>Unix Shell Script Yesterday Date</category><category>Users</category><category>VPN basics</category><category>VPN simplified</category><category>VPN tutorial</category><category>VPN working</category><category>Virtual Memory   Beginner</category><category>Virtual Memory Basics</category><category>Virtual Memory Management</category><category>Virtual Memory Tutorial</category><category>Virtual Memory Windows XP</category><category>Virtual private Network</category><category>rlm_perl Script</category><title>Techtitude</title><description></description><link>http://techtitude.blogspot.com/</link><managingEditor>noreply@blogger.com (TechMan)</managingEditor><generator>Blogger</generator><openSearch:totalResults>120</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-966141058378862619</guid><pubDate>Sun, 03 Aug 2014 23:22:00 +0000</pubDate><atom:updated>2014-12-25T16:26:00.924-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FreeRADIUS Challenge Authentication</category><category domain="http://www.blogger.com/atom/ns#">Networking</category><category domain="http://www.blogger.com/atom/ns#">Operators</category><category domain="http://www.blogger.com/atom/ns#">RADIUS server</category><category domain="http://www.blogger.com/atom/ns#">rlm_perl Script</category><category domain="http://www.blogger.com/atom/ns#">Users</category><title>FreeRADIUS PAP Challenge Authentication using rlm_perl</title><description>Let&#39;s see how to configure the FreeRADIUS2.x application to respond with an Access-Challenge for incoming Access-Request messages using the rlm_perl module scripting&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;System Specifications:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;Ubuntu 12.04 LTS (i686 i686 i386 GNU/Linux)&lt;br /&gt;FreeRADIUS v2.1.10&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Configuration:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Step 1:&lt;br /&gt;
&lt;br /&gt;
Edit the “clients.conf” file in the /etc/freeradius directory and add the Client&#39;s IP details as below&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;client 192.168.3.33 {&lt;br /&gt;&amp;nbsp;secret = testing123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt; -- Shared secret between Client and Radius server&lt;br /&gt;&amp;nbsp;shortname = NodeToBeAuth&lt;br /&gt;&amp;nbsp;netmask = 32&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
&lt;br /&gt;
Edit the “users” file in the /etc/freeradius directory and add the users to be authenticated as below&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;user1&amp;nbsp;Auth-Type := Perl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt; -- Use rlm_perl module for Authentication&lt;br /&gt;user2&amp;nbsp;Cleartext-Password := &quot;abc#123&quot;&amp;nbsp;&amp;nbsp;&amp;lt; -- Use plain text password for Authentication&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Step 3:&lt;br /&gt;
&lt;br /&gt;
Edit the “perl” file in the in the /etc/freeradius/modules directory and specify the script you would like to execute when the Auth Type is set to Perl as above in the users file&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;perl {&lt;br /&gt;&amp;nbsp;module = ${confdir}/challenge.pl&amp;nbsp;&amp;lt; -- Perl script on the /etc/freeradius directory&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Step 4:&lt;br /&gt;
&lt;br /&gt;
Enable the rlm_perl module by editing the “inner-tunnel” and the “default” files in the /etc/freeradius/sites-available directory as follows. Add the perl module under the authenticate section so that the perl module will be included and loaded when FreeRADIUS is started&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;authenticate {&lt;br /&gt;&amp;nbsp;Auth-Type Perl {&lt;br /&gt;&amp;nbsp;&amp;nbsp;perl&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Script for Authentication:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Copy the example code posted on the official FreeRADIUS website and paste into a file named as challenge.pl in the /etc/freeradius directory&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;http://wiki.freeradius.org/modules/Rlm_perl&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Edit the subroutine authenticate() as follows&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;# Function to handle authenticate&lt;br /&gt;sub authenticate {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # For debugging purposes only&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($RAD_REQUEST{&#39;User-Name&#39;} =~ /^baduser/i) {&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; # Reject user and tell him why&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;$RAD_REPLY{&#39;Reply-Message&#39;} = &quot;Denied access by rlm_perl function&quot;;&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;return RLM_MODULE_REJECT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt; -- Any user except a bad user&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; # Accept/Challenge user and set some attribute&lt;br /&gt;&amp;nbsp; $RAD_REPLY{&#39;State&#39;} = &quot;some state code here&quot;;&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; $RAD_REPLY{&#39;Reply-Message&#39;} = &quot;Enter the pin number&quot;;&lt;br /&gt;&amp;nbsp; $RAD_CHECK{&#39;Response-Packet-Type&#39;} = &quot;Access-Challenge&quot;;&amp;nbsp;&amp;lt; -- Send challenge&amp;nbsp;back&lt;br /&gt;&amp;nbsp; return RLM_MODULE_HANDLED;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The above logic can be extended for the case of a user responding to the Access-Challenge by handling the condition of verifying the user response to the challenge found in the RADIUS attributes of the response message&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Verification:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Start the RADIUS server in debug mode. Make sure that no freeradius daemon already running in the background before starting the server&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;# freeradius –X&lt;br /&gt;{or}&lt;br /&gt;#LD_PRELOAD=/usr/lib/libperl.so.5.14 /usr/sbin/freeradius –X&amp;nbsp;&amp;nbsp;&amp;lt; -- Ubuntu 12.04 bug&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now test plaintext password authentication for user 2 as below&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;# radtest user2 abc#123 127.0.0.1 0 testing123&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;Sending Access-Request of id 203 to 127.0.0.1 port 1812&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User-Name = &quot;user2&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User-Password = &quot;abc#123&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAS-IP-Address = 127.0.1.1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAS-Port = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;br /&gt;rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=203, length=20&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;Now test challenge authentication for user 1 as below&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;# radtest user1 doesntmatter 127.0.0.1 0 testing123&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;Sending Access-Request of id 33 to 127.0.0.1 port 1812&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User-Name = &quot;user1&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User-Password = &quot;doesntmatter&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAS-IP-Address = 127.0.1.1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAS-Port = 0&lt;br /&gt;&lt;br /&gt;rad_recv: Access-Challenge packet from host 127.0.0.1 port 1812, id=33, length=60&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reply-Message = &quot;Enter pin number&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; State = 0x736f6d6520727461746524636f66652068657265&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Please note that we are doing this testing using localhost (127.0.0.1) and the NAS-IP-Address should point to the RADIUS server IP address for remote RADIUS server. Please refer to the wiki page of FreeRADIUS for configuration details of FreeRADIUS 3.x or higher&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;References:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
http://wiki.freeradius.org/modules/Rlm_perl</description><link>http://techtitude.blogspot.com/2014/12/freeradius-pap-challenge-authentication.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-957067983144799366</guid><pubDate>Mon, 29 Apr 2013 01:42:00 +0000</pubDate><atom:updated>2013-04-28T18:43:34.533-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">HTC I 2013</category><category domain="http://www.blogger.com/atom/ns#">HTC One BoomSound Beats Audio</category><category domain="http://www.blogger.com/atom/ns#">HTC One Close Running Background Apps</category><category domain="http://www.blogger.com/atom/ns#">HTC One Gallery Preview</category><category domain="http://www.blogger.com/atom/ns#">HTC One Google Now</category><category domain="http://www.blogger.com/atom/ns#">HTC One Heating Problem</category><category domain="http://www.blogger.com/atom/ns#">HTC One Multitasking</category><category domain="http://www.blogger.com/atom/ns#">HTC1 2013</category><title>HTC One 2013 - Personal Review</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPU43k-t_JXU3EpvBfn4rzTpHJLVSf33w-PgGRzMAEPnjVGrGzfi2JCi4FvchiXlhDNxxv_yReVAIqYp0nCBE9o5x0ovgX5FiO4oDPOr3EZ6oHYIwWMU_pmwRLHeFImWeMI5BzDeRMRJc/s1600/20130425_115703.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPU43k-t_JXU3EpvBfn4rzTpHJLVSf33w-PgGRzMAEPnjVGrGzfi2JCi4FvchiXlhDNxxv_yReVAIqYp0nCBE9o5x0ovgX5FiO4oDPOr3EZ6oHYIwWMU_pmwRLHeFImWeMI5BzDeRMRJc/s320/20130425_115703.jpg&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Got a feel of the brand new unlocked phone from HTC this year and felt like sharing my thoughts here. The first thing I liked about the phone is its looks and how it felt on my hand. The phone comes in a zero gap perfect metal case with all the buttons neatly tucked in giving it a seamless appearance and soothing feel to the palms. HTC have got it right with the phone dimensions and it is very comfortable to operate the phone on one hand. The phone&#39;s curvy back felt a bit odd when I first held the phone but I think we will get used to this shape and might start feeling better as days go by. The power button is moved to top which I think is a good idea as I always ended up squeezing the power button while adjusting volume on other android phones. The power button also doubles up as an infrared port which can be used for remote control. I didn&#39;t quite like the roughness of the scales on the volume adjust button on the right as it was not a good feeling on my fingers while adjusting volume. Apart from that HTC One deserves a top rating on the form factor and the tactile side of the body of the phone.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
HTC One powered by the Android operating system delivers all the goodness of Android along with a few custom&amp;nbsp;specialties&amp;nbsp; The HTC Blinkfeed is a gift for users to read news feeds and social network updates from the home screen. The Blinkfeed could well have been inspired by Live Tiles of the Windows platform but certainly looks a lot more cleaner and efficient in terms of home screen real estate utilization. HTC One has also embraced Google Now which is like the Siri of the Apple world and it can be easily accessed by long pressing the home button. Google Now can be handy outdoors getting you the right information at the right time. The Video Highlights feature lets you instantly create a short&amp;nbsp;mash-up&amp;nbsp;movie from your existing images and videos in the gallery.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
HTC One also shines on the entertainment factor. With 468 PPI the HTC One display screen is easily the best I have seen on smart phones so far and watching high definition video on this high resolution screen is a bliss to our visual senses. The camera is a 4MP &quot;UltraPixel&quot; camera which I would have preferred to be at least 8MP. But the camera comes with a lot of valuable features like the HTC Zoe and Slow Motion recording. HTC Zoe captures a series of images continuously for 3 seconds which can be later edited using the inbuilt photo editor. The photo editor presents a gamut of picture editing options and features that enable you to edit and retouch your photos on the phone without the need for an external application. The gallery also has the preview feature that plays videos and Zoe captures one by one within the small frames of the gallery screen. Another interesting aspect of the phone is its speakers and the HTC BoomSound. With beats audio enabled, one can actually feel the energy of the dual front facing stereo speakers powering away the sound waves towards you. Again a top rating for the display and the speakers.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
One thing I found a little annoying is that one couldn&#39;t access the frequently used functions such as WiFi, Screen Rotate, GPS, etc by a drag down of the status bar or notification panel on the home screen. Just as I thought we need to go to settings every time, I realized that you can add these shortcuts as widget on one of your home screens. I was also wondering how to access the recently accessed applications but later found out that one simply has to double tap the home button to access the multitasking screen and close those apps which we don&#39;t want to be running in the background.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
While the phone has that sleek looks and sophisticated software elements, I have my doubts over the phone heating up pretty quickly which you could feel on your palms while working with the phone over an extended period of time. I wonder if it is because of the metal casing that the heat gets to your hands sooner than expected. Overall HTC One is a brilliant phone with all the hardwork put in by HTC and it will certainly satisfy an average smartphone user any day.&lt;/div&gt;
</description><link>http://techtitude.blogspot.com/2013/04/htc-one-2013-personal-review.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPU43k-t_JXU3EpvBfn4rzTpHJLVSf33w-PgGRzMAEPnjVGrGzfi2JCi4FvchiXlhDNxxv_yReVAIqYp0nCBE9o5x0ovgX5FiO4oDPOr3EZ6oHYIwWMU_pmwRLHeFImWeMI5BzDeRMRJc/s72-c/20130425_115703.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-5022479094951717301</guid><pubDate>Sun, 20 Jan 2013 07:58:00 +0000</pubDate><atom:updated>2013-04-28T18:47:41.736-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Android Bluetooth [13] Permission denied</category><category domain="http://www.blogger.com/atom/ns#">Bluecove Tutorial</category><category domain="http://www.blogger.com/atom/ns#">Bluetooth Console RSSI</category><category domain="http://www.blogger.com/atom/ns#">Bluetooth RSSI Indoor Navigation</category><category domain="http://www.blogger.com/atom/ns#">HCI Layer</category><category domain="http://www.blogger.com/atom/ns#">Networking</category><category domain="http://www.blogger.com/atom/ns#">Nokia Bluetooth RSSI</category><category domain="http://www.blogger.com/atom/ns#">Ubuntu BlueZ RSSI Monitor</category><title>Tutorial to continuously measure the Bluetooth RSSI of a connected Android device (Java)</title><description>&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;img alt=&quot;Bluecove RSSI Polling Android&quot; border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjIFvrmtHNO-VaNLsZO52BY-hcEoYECa_t18GKJMs7hecNXuCqIeQUZoDSx58KdabKjWRYlfDFkD2PMI5-1eJi1LfK7jwTU3i8b4dPtPia2qXE7szpTUVxYvFkW7Xid92_75rN6mcA50k/s400/Bluetooth+Android+Nokia+RSSI.png&quot; title=&quot;Bluecove RSSI Polling Android&quot; width=&quot;400&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Bluetooth RSSI - Nexus7 &amp;amp; Nokia Xpress Music&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
At the time of this writing, there is no Android API available to continuously retrieve the RSSI of an existing bluetooth connection even though API exists for getting WiFi RSSI. The current API will get the Bluetooth RSSI only during the initial connection setup process. In this article we will find out how to continuously get the Bluetooth RSSI of an Android device and a Nokia Mobile Phone from a computer running Linux.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The RSSI of any device connected to the computer can be determined by using the hcitool in Linux. But this may not be possible with commercial Android devices as root access is required in order to call any functions from the Bluetooth HCI layer using the Android NDK. For experimental purposes, in order to exploit the bluetooth equipment onboard commercial handheld devices, we shall measure the RSSI of these devices by connecting them to a computer or a laptop.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In this experiment the RSSI is being measured continuously in motion from an Android Device (Nexus 7 Tablet) and a Nokia Mobile Phone (Xpress Music) from a computer based on Ubuntu. The source code uses the Bluecove bluetooth library to extract the RSSI information from these connected devices. The Android device and the Nokia device acts like a server and the computer acts like a client.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
At the computer, we need to write the client code that will continuously poll the RSSI from our known devices. In order to do this we need to first checkout the bluecove bluetooth libraries from here (http://bluecove.org/source-repository.html). Then we can make use of the BluetoothRSSIPollingClient.java to get the RSSI readings. We can filter out the other discovered devices using the Bluetooth MAC address of our known devices. We can obtain the Bluetooth MAC address of a device from the Preferences Tab of the Bluetooth Menu in Ubuntu after connecting the device with the computer.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Client:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void PollRSSI()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;try {&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;while(true)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;try {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;System.out.println();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if(Android_Device != null)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;System.out.println(&quot;Android RSSI = &quot; + RemoteDeviceHelper.readRSSI(Android_Device));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e) {&amp;nbsp;System.out.println(&quot;Android RSSI = Connection Error&quot;); }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;try {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if(Nokia != null)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;System.out.println(&quot;Nokia RSSI = &quot; + RemoteDeviceHelper.readRSSI(Nokia));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;} catch (Exception e) {&amp;nbsp;System.out.println(&quot;Nokia RSSI = Connection Error&quot;); } &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Thread.sleep(2000);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e){ e.printStackTrace(); }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
For the Android device we need to write our own server code in order to overcome the [13] Permission denied error. We might need to run more than one server thread (AcceptThread.java) on the Android device so the incoming connection request will be finally accepted after an initial permission denied error. We will also specify the RFCOMM UUID and a Service name which the client can search and connect to. The entire server has to be implemented as a Service in Android (BluetoothRSSIService.java) so that the connection is not lost if the display screen is timed out.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Server:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public AcceptThread()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BluetoothServerSocket tmp = null;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mBluetooth = BluetoothAdapter.getDefaultAdapter();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mUuid = UUID.fromString(&quot;00000003-0000-1000-8000-00805F9B34FB&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp = mBluetooth.listenUsingInsecureRfcommWithServiceRecord(&quot;BluetoothCustomService&quot;, &amp;nbsp; &amp;nbsp; &amp;nbsp;mUuid); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) { }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; myServerSocket = tmp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void onCreate()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;super.onCreate();&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;thread1 = new Thread(new AcceptThread());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;thread1.start(); //First thread will often be denied&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;thread2 = new Thread(new AcceptThread());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;thread2.start(); //Most probably be accepted&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
For the Nokia device there is no explicit server necessary and we can simply connect using the Bluetooth Serial Port Profile connection url. Once the connection is establish we can continuously poll the RSSI from both the devices periodically.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;u&gt;Note:&lt;/u&gt; RSSI of Bluetooth may not be an efficient and reliable parameter for applications such as indoor positioning&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Source Code:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;a href=&quot;https://docs.google.com/file/d/0B6fMO3US1cf3bnJWbWxZT3NZaWs/edit&quot; target=&quot;_blank&quot;&gt;BluetoothRSSIPollingClient.java&lt;/a&gt;&lt;/u&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;u&gt;&lt;a href=&quot;https://docs.google.com/file/d/0B6fMO3US1cf3aFNCeFk4UndwUmc/edit&quot; target=&quot;_blank&quot;&gt;AcceptThread.java&lt;/a&gt;&lt;/u&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;u&gt;&lt;a href=&quot;https://docs.google.com/file/d/0B6fMO3US1cf3bmp5U1hHc0lrVjg/edit&quot; target=&quot;_blank&quot;&gt;BluetoothRSSIService.java&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&quot;A Bluetooth Based Supermarket Navigation System&quot; - Pearl Manoharan, Vignesh Subramanian &amp;amp; Anusha Vutukuri - Course Project - Mobile Systems 16:332:559:02 F12 (Rutgers Fall 2012) &lt;a href=&quot;https://docs.google.com/file/d/0B6fMO3US1cf3UW5zT24zYldUTnc/edit&quot; target=&quot;_blank&quot;&gt;--&amp;gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://developer.android.com/guide/topics/connectivity/bluetooth.html&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://stackoverflow.com/questions/12251785/android-bluetooth-read-rssi-signal-strength&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://bluecove.org/bluecove-examples/bluecove-tester/index.html&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://techtitude.blogspot.com/2013/01/tutorial-to-continuously-measure.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjIFvrmtHNO-VaNLsZO52BY-hcEoYECa_t18GKJMs7hecNXuCqIeQUZoDSx58KdabKjWRYlfDFkD2PMI5-1eJi1LfK7jwTU3i8b4dPtPia2qXE7szpTUVxYvFkW7Xid92_75rN6mcA50k/s72-c/Bluetooth+Android+Nokia+RSSI.png" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-5645530695132923402</guid><pubDate>Wed, 28 Dec 2011 03:35:00 +0000</pubDate><atom:updated>2013-04-28T19:02:21.647-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Command line to file</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Redirect Trace File</category><category domain="http://www.blogger.com/atom/ns#">Simplescalar Beginner&#39;s Tutorial</category><category domain="http://www.blogger.com/atom/ns#">Simplescalar Little Endian Benchmarks Download</category><category domain="http://www.blogger.com/atom/ns#">Simulate SPEC95</category><category domain="http://www.blogger.com/atom/ns#">SPEC95 Commands</category><category domain="http://www.blogger.com/atom/ns#">Ubuntu Simplescalar</category><title>How to execute SPEC95 benchmarks in Simplescalar?</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;
Let us see how to run the SPEC95 benchmarks (little endian) namely compress95, anagram, go, cc1 and perl in Simplescalar simulator software. Each and every benchmark has a corresponding input file that specifies the input to the program and an output file which we can use to verify if our test was successful. Also we will be writing the output of our simulation to a file with a .out extension and we will be printing the execution trace with all the run statistics to a file with a .trace extension.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The little endian version of the benchmarks and the input and output files can be download from the below location. After extracting the archive,&amp;nbsp; place the folder BenchMarks_Little in the simplesim-3.0 folder of your simplescalar installation folder. All the benchmarks shall be executed from the simplesim-3.0 directory.&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;&lt;a href=&quot;https://docs.google.com/open?id=0B6fMO3US1cf3M2NjNTRiYjItMWNjYi00M2E4LWE0MWYtYTYwZWI4ZjJiMTNk&quot;&gt;BenchMarks_Little.tar.gz&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt; compress95:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The below command will execute the compress95 benchmark and print the output to compress95.out and log the execution trace to compress95.trace in the Results folder&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: white;&quot;&gt;
./sim-outorder BenchMarks_Little/Programs/compress95.ss &amp;lt; BenchMarks_Little/Input/compress95.in&amp;nbsp; 2&amp;gt; BenchMarks_Little/Results/compress95.trace &amp;gt; BenchMarks_Little/Results/compress95.out&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt; go:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The below command will execute the go benchmark and print the output to go.out and log the execution trace to go.trace in the Results folder&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: white;&quot;&gt;
./sim-outorder BenchMarks_Little/Programs/go.ss 50 9 BenchMarks_Little/Input/2stone9.in&amp;nbsp; 2&amp;gt; BenchMarks_Little/Results/go.trace &amp;gt; BenchMarks_Little/Results/go.out&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt; anagram:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Before executing the anagram program place the words file from the Input folder in the simplesim-3.0 directory. The below command will execute the anagram benchmark and print the output to anagram.out and log the execution trace to anagram.trace in the Results folder&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: white;&quot;&gt;
./sim-outorder BenchMarks_Little/Programs/anagram.ss words &amp;lt; BenchMarks_Little/Input/anagram.in&amp;nbsp; 2&amp;gt; BenchMarks_Little/Results/anagram.trace &amp;gt; BenchMarks_Little/Results/anagram.out&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt; cc1:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
The below command will execute the cc1 benchmark and print the output to 1stmt.s in the Programs folder and log the execution trace to cc1.trace in the Results folder&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: white;&quot;&gt;
./sim-outorder BenchMarks_Little/Programs/cc1.ss -O BenchMarks_Little/Input/1stmt.i 2&amp;gt; BenchMarks_Little/Results/cc1.trace&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt; perl:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Before executing the perl program place the perl-tests.pl file from the Input folder in the simplesim-3.0 directory. The below command will execute the perl benchmark and print the output to perl.out and log the execution trace to perl.trace in the Results folder&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: white;&quot;&gt;
./sim-outorder BenchMarks_Little/Programs/perl.ss &amp;lt; perl-tests.pl 2&amp;gt; BenchMarks_Little/Results/perl.trace &amp;gt; BenchMarks_Little/Results/perl.out&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt; References:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://www.simplescalar.com/&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://www.igoy.in/simplescalar-installation-made-simple/&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://users.ece.gatech.edu/~hamblen/4100/course/simplescalar/Spec95%20Benchmark%&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
20Command%20Lines.htm&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
http://www.spec.org/osg/cpu95/&lt;/div&gt;
&lt;/div&gt;
</description><link>http://techtitude.blogspot.com/2011/12/how-to-execute-spec95-benchmarks-in.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-9032796188057551325</guid><pubDate>Sun, 09 Jan 2011 02:10:00 +0000</pubDate><atom:updated>2013-04-28T18:52:00.676-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Digital Camera</category><category domain="http://www.blogger.com/atom/ns#">Electronics</category><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">Image Quality</category><category domain="http://www.blogger.com/atom/ns#">Megapixel Myth</category><category domain="http://www.blogger.com/atom/ns#">Megapixel vs Resolution</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>The MegaPixel (MP) Rating of a Digital Camera</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;
The resolution of a digital camera is perceived to be proportional to its pixel count. A digital image is nothing but a continuous arrangement of pixels or picture elements. Resolution is expressed as the number of horizontal pixels multiplied by the number of vertical pixels (E.g. 1600x1200 =&amp;gt; 1.92 MP). Digital cameras record visual image with the help of CCD or CMOS sensors and each pixel of the output image on screen will map to a specific pixel on the image sensor in the digital camera.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img alt=&quot;Digital Camera Resolution Formula Megapixel&quot; border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu289hPaHxxTaAUDsDTmcS5ZeiHNjA8XmkcT6_HsUYJLsawfGvO9ihgV4rouGyGNBOp41sPGWN-JJXd7CXRcueqBp3HCnSFsEPojH-Pw04mG0TpynPfX6qUlgoTS7aZxQmKZh2hbBO1FA/s200/Piz.jpg&quot; style=&quot;margin-left: 115px;&quot; title=&quot;Original Image&quot; width=&quot;122&quot; /&gt;&lt;img alt=&quot;Digital Camera CCD CMOS Pixel&quot; border=&quot;0&quot; height=&quot;28&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiz8vmPXxEDc_3gli4IYw8SkDiMTqWNaaoCu_f-zWsSORNkJirUrY3SqoxmDqz1s5ve16AH299iVrBCyPQr83QJX5aSOuCWOTDEJNQlilKL3PKPKqgchaEIoSF74Yz5Xbz13vz5bU9wzk/s1600/Pixa.bmp&quot; style=&quot;margin-bottom: 70px; margin-left: 5px; margin-right: 5px;&quot; width=&quot;60&quot; /&gt;&lt;img alt=&quot;Megapixel Resolution Myth&quot; border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji1QhWjMWdH6LUFCRn08gr6OctCGLHYCHpq2-JrTyMY62RIdB-_SsqSmyLBl4_VYM3iMABx088BHABgr-7FNv3NwJSoh6pfDPRyj3H6lAp9MXwJ0HA9nRH0V1wKEAxaOkfy3-qe3pDwSA/s200/Zoomo.JPG&quot; title=&quot;Zoomed version showing pixels&quot; width=&quot;122&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
In order to improve the resolution, one tends to simply increase the pixel count. The more the number of pixels the more details the image will provide and the more it will resemble to the real world image. But for a given image or sensor area, increasing the number of pixels tends to saturate at a certain point and further increase in pixels doesn&#39;t mean much to the human eye. A common man will not be able to accurately identify the difference in quality of a usual 10cm x 15cm photograph taken by digital cameras having resolution greater than 5 MP. But higher pixel count will be beneficial only when you are trying to generate a bigger picture from a smaller one or when you are trying to crop a particular portion of the picture and try to enlarge it.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
There are some common misinterpretations of resolution which a camera manufacturer might try to exploit. Since resolution is more like a square function (length x height), gain in pixel count will not be directly related to resolution gain. Also some pixels on a digital camera sensor will be used for other compensation mechanisms and not really for capturing the image. Companies may include this overhead in order to bump up the pixel rating. In color displays such as LCD screens, subpixel rendering is used in which a single pixel will be composed of a three sub pixels (R, G &amp;amp; B) and so the pixel count should never be exaggerated. The size of the camera sensor also plays a part in deciding resolution, sharpness and image quality for digital cameras having the same pixel rating apart from other factors like lens quality, sensitivity of the image sensors, optical zoom capability, shutter speed, etc.&lt;/div&gt;
</description><link>http://techtitude.blogspot.com/2011/01/megapixel-mp-rating-of-digital-camera.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu289hPaHxxTaAUDsDTmcS5ZeiHNjA8XmkcT6_HsUYJLsawfGvO9ihgV4rouGyGNBOp41sPGWN-JJXd7CXRcueqBp3HCnSFsEPojH-Pw04mG0TpynPfX6qUlgoTS7aZxQmKZh2hbBO1FA/s72-c/Piz.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-2699966600662395589</guid><pubDate>Sun, 03 Oct 2010 05:14:00 +0000</pubDate><atom:updated>2013-04-28T19:12:04.877-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">3D Triangulation</category><category domain="http://www.blogger.com/atom/ns#">3D Trilateration</category><category domain="http://www.blogger.com/atom/ns#">Electronics</category><category domain="http://www.blogger.com/atom/ns#">GPS Position Determination How</category><category domain="http://www.blogger.com/atom/ns#">GPS simplified 3D model</category><category domain="http://www.blogger.com/atom/ns#">GPS Triangulation Tutorial</category><category domain="http://www.blogger.com/atom/ns#">GS 3D-Position Fix Demo</category><category domain="http://www.blogger.com/atom/ns#">How does GPS work</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>Triangulation/Trilateration in GPS</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;
Global Positioning System (GPS) has made a tremendous impact in our life and has become immensely popular in recent times. GPS receivers are omnipresent and the applications of GPS extend beyond technology purposes. At the core of this wonderful technology is a simple mathematical/geometrical concept called trilateration or triangualation. Imagine you are lost one day and you don&#39;t even know if you are on the northern or southern hemisphere. All that you have is a GPS device with you to locate yourself.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
To start off, you are situated somewhere on the surface of the earth (Now don&#39;t tell that the earth is not a perfect sphere). Your GPS device receives position and time (sent) information from GPS satellites and the distance is calculated based on the standard distance-time formula given the fact that radio signals from GPS satellites travel roughly with the speed of light. The key problem here is that you don&#39;t know the direction but you only know the distance from a satellite.

&lt;script language=&quot;JavaScript&quot;&gt;
&lt;!--
if (document.images)
{
preload2 = new Image(450,450); 
preload2.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap2.jpg&quot;;
preload3 = new Image(450,450); 
preload3.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap3.jpg&quot;;
preload4 = new Image(450,450); 
preload4.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap4.jpg&quot;;
preload5 = new Image(450,450); 
preload5.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap5.jpg&quot;;
}
//&lt;/script&gt;
&lt;/div&gt;
--&amp;gt;




&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
var t=new Array();
t[1]=&quot;Consider the blue sphere as the earth E. We are trying to locate a point P on the surface of the earth.&quot;;
t[2]=&quot;Consider two spheres S1 and S2. We know that in 3D space any two spheres intersect in a circle.&quot;;
t[3]=&quot;The point on earth P which is at a distance x from Satellite S1 and at a distance y from Satellite S2 should lie anywhere on the circle of intersection of the spheres formed by the two satellites.&quot;;
t[4]=&quot;Now we know that the point P on earth lies somewhere on the solid arc as shown above in red.&quot;;
t[5]=&quot;In order to locate the exact point P on earth, we need the help of another satellite in space.&quot;;
t[6]=&quot;Consider the point P on earth is at a distance z from satellite S3. &quot;;
t[7]=&quot;The intersection of the sphere formed by satellite S3 with the circle of intersection of the spheres formed by the other two satellites will give the location of point P on earth.&quot;;
t[8]=&quot;Only one of the points will be on the surface of the earth P and the other point will be in space.&quot;;

function btnext(n)
   {
   var len = n.length;
   var substr=n.substring(len-5, len-4);

if(substr==1)
{
document.getElementById(&#39;previous&#39;).style.visibility=&quot;visible&quot;;
preload6 = new Image(450,450); 
preload6.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap6.jpg&quot;;
preload7 = new Image(450,450); 
preload7.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap7.jpg&quot;;
preload8 = new Image(450,450); 
preload8.src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap8.jpg&quot;;
}
if(substr==7)
{
document.getElementById(&#39;next&#39;).style.visibility=&quot;hidden&quot;;
}
   var inc = parseInt(substr) + 1;
   var urlp = &quot;http://i349.photobucket.com/albums/q397/infowings/&quot;;
   var pic = urlp + &quot;Snap&quot; + inc + &quot;.jpg&quot;;
   document.getElementById(&quot;nslide&quot;).src=pic;
   document.getElementById(&quot;expln&quot;).innerHTML=t[inc];
   }

function btprev(n)
   {
   var len = n.length;
   var substr=n.substring(len-5, len-4);

if(substr==2)
{
document.getElementById(&#39;previous&#39;).style.visibility=&quot;hidden&quot;;
}
if(substr==8)
{
document.getElementById(&#39;next&#39;).style.visibility=&quot;visible&quot;;
}

   var dec = parseInt(substr) - 1;
   var urlp = &quot;http://i349.photobucket.com/albums/q397/infowings/&quot;;
   var pic = urlp + &quot;Snap&quot; + dec + &quot;.jpg&quot;;
   document.getElementById(&quot;nslide&quot;).src=pic;
   document.getElementById(&quot;expln&quot;).innerHTML=t[dec];
   }

//&lt;/script&gt;
--&amp;gt;&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;div style=&quot;border: 2px solid yellow; height: 518px; padding: 3px; width: 450px;&quot;&gt;
&lt;img height=&quot;450&quot; id=&quot;nslide&quot; src=&quot;http://i349.photobucket.com/albums/q397/infowings/Snap1.jpg&quot; width=&quot;450&quot; /&gt;&lt;br /&gt;
&lt;img id=&quot;next&quot; onclick=&quot;btnext(document.getElementById(&#39;nslide&#39;).src)&quot; src=&quot;http://i349.photobucket.com/albums/q397/infowings/next_arrow.gif&quot; style=&quot;height: 75px; left: 162px; position: relative; top: -74px; width: 150px;&quot; /&gt;&lt;br /&gt;
&lt;img id=&quot;previous&quot; onclick=&quot;btprev(document.getElementById(&#39;nslide&#39;).src)&quot; src=&quot;http://i349.photobucket.com/albums/q397/infowings/previous_arrow.gif&quot; style=&quot;height: 75px; left: -158px; position: relative; top: -152px; visibility: hidden; width: 150px;&quot; /&gt;&lt;br /&gt;
&lt;div id=&quot;expln&quot; style=&quot;color: white; left: 0px; position: relative; top: -150px;&quot;&gt;
Consider the blue sphere as the earth E. We are trying to locate a point P on the surface of the earth.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
When your GPS device calculates the distance x from satellite say S1, you know that you might be located anywhere on the surface of a sphere of radius x with S1 as the centre. But you don&#39;t know in which precise angle you are located in the 360 degrees. Now when your GPS device gets hold of another satellite S2 and calculates the distance y from it, you can apply the geometric principle that spheres intersect in a perfect circle to narrow down your position to somewhere on the perimeter of a circle. Now, the point at which this circle intersects with the earth should give your location on earth. Now when your GPS device calculates the distance z from a third satellite S3, the sphere of radius z with S3 as centre will intersect the circle of intersection of the other two spheres at two points. Only one of those two intersection points will actually lie on the surface of the earth and the other point will lie in space. The point on the surface of the earth will give your location on earth.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
GPS satellites transmit time information derived from high accuracy atomic clocks but the GPS receivers cannot afford such high precision clocks. There are several factors that might introduce errors in GPS like clock inaccuracies, rounding errors, multipath and atmospheric effects, etc. Since the earth is also not a perfect sphere, GPS receivers generally look to four or more satellites to compute the precise location.&lt;/div&gt;
</description><link>http://techtitude.blogspot.com/2010/10/triangulationtrilateration-in-gps.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-2370898621779357508</guid><pubDate>Fri, 20 Aug 2010 10:56:00 +0000</pubDate><atom:updated>2013-04-28T18:58:47.854-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Appfabric Caching (Velocity) Secrets</category><category domain="http://www.blogger.com/atom/ns#">Appfabric Caching (Velocity) Tutorial</category><category domain="http://www.blogger.com/atom/ns#">ASP.Net Appfabric Caching</category><category domain="http://www.blogger.com/atom/ns#">Azure Appfabric Windows Server</category><category domain="http://www.blogger.com/atom/ns#">MS.Net Distributed Caching</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>AppFabric Caching (aka Velocity Caching) - Microsoft .NET</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;
Caching is an essential component to speed up any web application by minimizing the number of trips to the actual database. AppFabric Caching or Velocity caching is a distributed caching system that leverages the caching infrastructure available across a cluster of cache servers efficiently to enhance application performance as well as scalability. The secret behind the effectiveness of appfabric caching lies in the fact that duplicate data is not cached by the cache cluster because whenever data is requested by any client, it is first looked up in the unified logical cache and if available the data that reaches the client can be from the physical cache memory of any of the servers in the cluster.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;img alt=&quot;Appfabric Velocity Caching Architecture Design Overview Diagram&quot; height=&quot;267&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIkvIwpRZvV2Z1nKkbD2r9y1kWAx0CxFrTala_YHmOLExqG2_XAP3IkO76cPz-Cku1hioRkBlGSL6LQQASN2ku3LNGtqyRzTYJRB_1shLQnylUHRiQwTwS-hOZCmOdOYkTTkS-Ezrreao/s320/Bblu.PNG&quot; style=&quot;border: medium none;&quot; title=&quot;Appfabric Velocity Caching&quot; width=&quot;400&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Velocity caching is implemented in a synchronized tier and the service can be accessed across the network with the cache servers in the cluster running the process (DistributedCache.exe). Even though several cache servers contribute to the shared cache memory, there is a common gateway for data to enter and exit in the form of a centralized and shared cache. The distributed cache is handled in code with the help of simple get and put methods that will retrieve, insert, update or delete data items in the unified logical cache as a whole. The programmer is not worried about the internal implementation or the physical location of cached data in the cluster.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Notable Aspects:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Each server in the cluster stores the session object data in its RAM and does not write it to disk for obvious reasons&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;No code change or new code has to be incorporated by the programmer and all that is needed is to change a configuration setting in order to activate velocity caching&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Distributed caching means multiple web servers can each run an instance of the same application which helps in load balancing&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Both web server (IIS) and cache server (Appfabric) can be deployed on a single application server running on Windows Server OS&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Turning on the high-availability feature helps mitigate situations when a server in the cluster goes down by storing a synchronous secondary copy of the data item on a different server&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
One of the key challenges for the implementation of velocity caching involves managing parallel access to data that changes rapidly and velocity caching offers different concurrency models suitable for the concerned application. Controlling access to sensitive data among the clients is another challenge which is controlled by limiting access to such data with encryption or restricted accounts. Appfabric caching attempts to maximize the benefits from the underlying computer infrastructure with the help of a distributed yet shared architecture to provide value for both application developers and end users. Things can only get better from here.&lt;/div&gt;
</description><link>http://techtitude.blogspot.com/2010/08/appfabric-caching-aka-velocity-caching.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIkvIwpRZvV2Z1nKkbD2r9y1kWAx0CxFrTala_YHmOLExqG2_XAP3IkO76cPz-Cku1hioRkBlGSL6LQQASN2ku3LNGtqyRzTYJRB_1shLQnylUHRiQwTwS-hOZCmOdOYkTTkS-Ezrreao/s72-c/Bblu.PNG" height="72" width="72"/><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-3943013719854235388</guid><pubDate>Sun, 25 Apr 2010 12:53:00 +0000</pubDate><atom:updated>2010-04-25T06:08:28.537-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Lava A9 3.2MP Camera Poor Quality</category><category domain="http://www.blogger.com/atom/ns#">Lava A9 Audio Poor Quality</category><category domain="http://www.blogger.com/atom/ns#">Lava A9 Dual Sim Phone</category><category domain="http://www.blogger.com/atom/ns#">Lava A9 Nimbuzz Opera</category><category domain="http://www.blogger.com/atom/ns#">Lava A9 PC Suite Free Download</category><category domain="http://www.blogger.com/atom/ns#">Lava A9 Review</category><category domain="http://www.blogger.com/atom/ns#">Lava A9 Specifications</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>Lava A9 Mobile Phone - Personal Review</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;Lava A9 India 3.2MP Camera Review&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbtTk6_Eof53At7R29K1d0E2vEP5BV0TAzxasDbv2wnxf4lJfACb-N6BWX11pUkeRYvu9I9DjLc3OAiAEmZQyul292BKQBnhDhE1O_E6zYjJoefZ4_tUfXFGzo6XnwSOLlQldoyoKRpoo/s320/9.png&quot; style=&quot;border: medium none; margin: 0px auto 10px; text-align: center;&quot; title=&quot;Lava A9 Mobile Phone&quot; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
Lava A9 Dual Sim Phone is a handsome instrument with an assortment of useful features and applications at an affordable price. The phone looks solid with a hard metal body and a smooth keypad which gives an elegant appearance to the phone. Lava A9 comes with a 3.2MP camera that lets you take pictures and shoot videos but the image quality is very poor and doesn&#39;t live up to the expectations of a 3.2MP camera. The zooming option is also limited and the camera is a big let down in A9. There is 64MB internal phone memory and the phone will support up to 8GB Micro SD Cards. Listening to music on this phone is not a pleasant experience on the loud speaker but the audio quality is slightly better while hearing it on the ear phone. FM reception is also not satisfactory.&lt;br /&gt;
&lt;br /&gt;
Having said the above glitches in the phone, Lava A9 is otherwise an excellent phone with an impressive profile. The phone comes with both EDGE and GPRS support enabling you to connect with the internet through the pre-installed Opera Mini web browser. Nimbuzz is a refreshingly new application that comes pre-installed with Lava A9 with which you can make calls or chat with your friends over the internet sans the conventional call charges. The phone with a user friendly interface has all the features we expect including bluetooth, java games, Ebook reader, Email support, MP3/MP4 Player, etc. Apart from the usual audio and video recorder the phone also lets you record streaming FM audio in any of the three formats WAV/AWB/AMR. You can also search your contacts with phone number as the search criterion which is handy at some situations. You can also integrate the phone with your PC with the help of Lava A9 PC Suite that can be downloaded from LavaMobiles.com website. Apart from the camera and loud speaker anomalies, LAVA A9 is a good looking phone with powerful features and provides value for money.</description><link>http://techtitude.blogspot.com/2010/04/lava-a9-mobile-phone-personal-review.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbtTk6_Eof53At7R29K1d0E2vEP5BV0TAzxasDbv2wnxf4lJfACb-N6BWX11pUkeRYvu9I9DjLc3OAiAEmZQyul292BKQBnhDhE1O_E6zYjJoefZ4_tUfXFGzo6XnwSOLlQldoyoKRpoo/s72-c/9.png" height="72" width="72"/><thr:total>18</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-2662316342213517362</guid><pubDate>Sat, 10 Apr 2010 06:25:00 +0000</pubDate><atom:updated>2010-04-09T23:26:30.537-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Samsung Corby S3650</category><category domain="http://www.blogger.com/atom/ns#">Samsung Corby S3653 Opinion</category><category domain="http://www.blogger.com/atom/ns#">Samsung Corby S3653 Phone Features</category><category domain="http://www.blogger.com/atom/ns#">Samsung Corby S3653 Review</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>Samsung Corby S3653 - Mobile Phone Review</title><description>&lt;img style=&quot;border:none; margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 325px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAKG2trUAQfiw_yqcbmQvaRQafoqRdPxBCHUjtileiSKrs5nRVIR1lvGJcTkWJ4E7ipPiFvTuaxCjhpMG53mIpos1NoAeOUFK_u5eQGh8cetGb1pQLqLJ1JR9DZrMJ-8o4pCQWhDg28Pc/s320/107136_front.jpg&quot; alt=&quot;Samsung Corby S3653 Review Features&quot; title=&quot;Samsung Corby S3653 Mobile Phone&quot; /&gt;I had a chance to handle this phone after my friend bought it last week. As far as the design is concerned, holding the phone in my palms was a bit awkward considering the width (56.5 mm) of the phone but it is an advantage when it comes to a bigger screen experience. The phone with a plastic body is light weight but still sturdy and looks plain and simple. From the design perspective there is a dedicated keypad lock/unlock button on the right side. Virtual keypad means minimum buttons on the front panel and maximum screen size. The capacitive touchscreen performs well and the interface is intelligently designed for easy navigation of menu items. The menu icons can be docked on the left side for quick access or pulled out from the menu which spans 3 pages that can be easily flicked through. The 2MP camera shoots well in good lighting conditions and the single finger image zoom option is handy while viewing pictures. The phone has a gamut of applications and widgets to integrate with the internet and the social networking world. The sound quality is good and watching videos in a wide screen is comforting as well.</description><link>http://techtitude.blogspot.com/2010/04/samsung-corby-s3653-mobile-phone-review.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAKG2trUAQfiw_yqcbmQvaRQafoqRdPxBCHUjtileiSKrs5nRVIR1lvGJcTkWJ4E7ipPiFvTuaxCjhpMG53mIpos1NoAeOUFK_u5eQGh8cetGb1pQLqLJ1JR9DZrMJ-8o4pCQWhDg28Pc/s72-c/107136_front.jpg" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-1744940201753869736</guid><pubDate>Sat, 06 Feb 2010 04:34:00 +0000</pubDate><atom:updated>2010-04-09T23:29:23.427-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BCP Command Line Utility Syntax</category><category domain="http://www.blogger.com/atom/ns#">Computer</category><category domain="http://www.blogger.com/atom/ns#">Extract Table Data to File</category><category domain="http://www.blogger.com/atom/ns#">Load Table from Excel</category><category domain="http://www.blogger.com/atom/ns#">Programming</category><category domain="http://www.blogger.com/atom/ns#">SQL/ORACLE</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><category domain="http://www.blogger.com/atom/ns#">Transfer Table Data Two Different Database Servers</category><title>How to transfer data from one table to another table?</title><description>In software engineering profession everyday new challenges and problems turn up in the blink of an eye and as engineers we are obliged to resolve them ASAP. One of the biggest challenges in the IT industry today is handling data that is vast and increasing everyday. Data is normally stored in databases in the form of tables and a common situation while handling databases is to transfer data from one table to another.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Case I: If both tables reside in the same database server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Consider the case where you want copy the data from Table_1 under Schema_1 into Table_2 under Schema_2. A simple sql command to do this operation would be&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;INSERT INTO DB_Name.Schema_2.Table_2&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;SELECT * FROM DB_Name.Schema_1.Table_1 WHERE [condition]&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If you want to insert only certain columns you can slightly tweak the command accordingly&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;INSERT INTO DB_Name.Schema_2.Table_2(COL1, COL2, ....COLn)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;SELECT COL1, COL2, ....COLn FROM DB_Name.Schema_1.Table_1 WHERE [condition]&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Case II: Load a table from a file&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Consider the situation where you want to load a table from a delimited file. This can be done using the BULK INSERT command in Transact-SQL. In order to perform this operation you need access to the file present in the database server. CSV (Comma-seperated values) is a common format used to store the data from a table or spreadsheet. To load a database table from a .csv file use the following command&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;BULK INSERT Table_Name&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;FROM &#39;C:\Program Files\File.csv&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;WITH&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;(&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;FIELDTERMINATOR = &#39;,&#39;, &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;ROWTERMINATOR = &#39;\n&#39; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Bulk insert command provides a slew of options to load a table from a simple delimited text file or even from an xml file.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Case III: If both tables reside in different database servers&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The bcp Utility is an excellent command line tool to transfer table data between two different database servers swiftly across a network. You can use bcp to extract table data by querying the table and store it in a delimited file. You can then load the other table from this delimited file easily using a simple bcp command. You don&#39;t even have to login to the servers to access the files.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;bcp DB1.SCHEMA1.TABLE1 out FILEPATH -n -S[server_name\instance_name] -T -e[error_filepath]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;bcp DB2.SCHEMA2.TABLE2 in FILEPATH -n -S[server_name\instance_name] -T -e[error_filepath]&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
-n uses the native (database) data types&lt;br /&gt;
-S should be added before server name&lt;br /&gt;
-T using a trusted connection&lt;br /&gt;
-e should be added before filepath for error file that logs the failed rows&lt;br /&gt;
&lt;br /&gt;
The first command extracts the rows from TABLE1 and stores in the appropriate FILEPATH (eg. C:\Program Files\File.csv) in the database server. The second command loads TABLE2 with the data present in the File.csv. You have to run the first command to create the file first and then run the second command to load the data into the table. Instead of selecting the entire table you can also include your own select query within the bcp command. BCP offers a legion of options to transfer data between tables in different modes and formats.&lt;br /&gt;
&lt;br /&gt;
Alternately you can also make use of Data Transformation Services (DTS)/ SQL Server Integration Services (SSIS) package in order to consolidate data from heterogeneous data sources.&lt;br /&gt;
&lt;br /&gt;
Useful Resources:&lt;br /&gt;
&lt;br /&gt;
bcp Utility - http://msdn.microsoft.com/en-us/library/ms162802.aspx&lt;br /&gt;
bulk insert - http://msdn.microsoft.com/en-us/library/ms188365.aspx</description><link>http://techtitude.blogspot.com/2010/02/how-to-transfer-data-from-one-table-to_05.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>8</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-3745075610764829174</guid><pubDate>Thu, 29 Oct 2009 17:32:00 +0000</pubDate><atom:updated>2009-11-21T01:30:02.700-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Logical Address vs Physical Address</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><category domain="http://www.blogger.com/atom/ns#">Virtual Memory   Beginner</category><category domain="http://www.blogger.com/atom/ns#">Virtual Memory Basics</category><category domain="http://www.blogger.com/atom/ns#">Virtual Memory Management</category><category domain="http://www.blogger.com/atom/ns#">Virtual Memory Tutorial</category><category domain="http://www.blogger.com/atom/ns#">Virtual Memory Windows XP</category><title>The Virtual Memory Concept</title><description>Virtual Memory is a cost effective solution to slake the thirst of memory hungry applications for a seamless experience with your operating system. To understand the concept of virtual memory you need a little knowledge about the memory organization and working. There are basically two types of memory you need to know. Random Access Memory (RAM) is faster but costly. Memory like hard disk is slower but relatively cheaper. Virtual memory is a stratagem to utilize the hard drive memory to achieve enhanced performance from the random access memory.&lt;br /&gt;
&lt;br /&gt;
Whenever you run multiple programs/applications in your desktop, you will be working on only a portion of a particular application at an instant. Therefore it is a waste of resource to load the entire memory required for a particular application into the limited size random access main memory. In a virtual memory environment each page of a process is brought to main memory only when it is needed on demand.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img style=&quot;border:none;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQL2BvFDfxzl49J_ue1h7cdmPsU-JFhQ0ynBHwp83F1T4LvhPq9wqD64yt323Wsvczuv_BoemyckivXNdSIrB4H7_pqmyxRvHujbHIUhEJhd4TgBA6mZ84j6uikObDmgpFt7ZuopZbS6Y/s320/virtualMem.gif&quot; alt=&quot;Virtual Memory Block Diagram Working&quot; title=&quot;Virtual Memory Organization &amp; Address Translation&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Data is stored in any memory in the form of binary digits. The operating system handles memory management in the form of chunks of memory called pages. A page is nothing but a contiguous block of memory. One process might require multiple pages of memory but only a few pages might be active at a time. Virtual memory uses a technique called demand paging to effectively use the available RAM memory. Every page has an address which may be a virtual or logical address. The main memory is divided into equal size chunks called page frames and each page frame has a unique physical address. So whenever a page needs to be accessed, the operating system has to translate the virtual address into a physical address and this is done by a Memory Management Unit (MMU) with the help of mapping in a page table. The virtual address corresponding to a page is mapped to a physical address corresponding to a page frame in main memory. Whenever a page is not in memory the operating system fetches the page from hard disk in response to a page fault exception. The operating system usually makes a prediction based on past history using intelligent algorithms regarding those pages that are least likely to be needed again and places them in the hard disk.</description><link>http://techtitude.blogspot.com/2009/10/virtual-memory-concept.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQL2BvFDfxzl49J_ue1h7cdmPsU-JFhQ0ynBHwp83F1T4LvhPq9wqD64yt323Wsvczuv_BoemyckivXNdSIrB4H7_pqmyxRvHujbHIUhEJhd4TgBA6mZ84j6uikObDmgpFt7ZuopZbS6Y/s72-c/virtualMem.gif" height="72" width="72"/><thr:total>25</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-8475922562291220116</guid><pubDate>Thu, 22 Oct 2009 14:47:00 +0000</pubDate><atom:updated>2009-11-16T21:06:17.994-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">A-GPS Tutorial</category><category domain="http://www.blogger.com/atom/ns#">Assisted GPS Beginner</category><category domain="http://www.blogger.com/atom/ns#">Assisted GPS Working</category><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">Mobile Phone A-GPS</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>A-GPS for the Novice</title><description>Assisted GPS is an improved version of conventional GPS and it has revolutionized mobile navigation systems across the globe. The A-GPS system relies upon an assistance server to accurately resolve the location of a device. A-GPS system is commonly used in mobile phones to provide real time navigation services. The Global Positioning System works on the principle of trilateration to determine the coordinates of a point on earth. In this principle a satellite is considered to be at the center of a sphere and the mathematical treatment of three such spheres/satellites gives the intersections of the spheres which are used to determine the coordinates. By including one more sphere/satellite in the analysis the point can be located more precisely. The distance between the point on earth and the satellite is computed by transmitting a packet of data tagged with the sent time and by subtracting this from the time the packet was received, we get the time of transit. Assuming the packet traveled at the speed of light, we can estimate the distance of the satellite which serves as the radius of the sphere.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; align: center; margin-right: 1em;&quot;&gt;&lt;img style=&quot;border:none; align: center;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe8BL-vowXwap4VHPTf25FTLi6cSuf9vWj3EBltwIxc98r1I9cS8DdlSsCL0XYxFK4-yKeMmT9mTmDSCi80TDf_yMIhfGKkaFFcw9Q1BktX1bVgv1JWH3LLL9B4y-rmNoQe_O2WqJ8sHs/s320/a-gps.jpg&quot; alt=&quot;Assisted GPS Working Block Diagram&quot; title=&quot;A-GPS Layout&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;The standalone GPS system is susceptible to atmospheric conditions and multipath errors which tend to prolong the time to first fix. This is not appropriate for real time navigation and emergency applications. A-GPS offers a solution to this problem with an architecture that makes use of data connectivity to an Assistance server located at a place with strong signal connectivity with the satellites. There are two possibilities here. &lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The assistance server may transmit orbital parameters and atomic time information to the mobile phone via the network. The GPS receiver in the mobile phone correlates this data with the fragmentary data received directly from the satellites thereby increasing its sensitivity and resulting in a quicker time to first fix.&lt;/li&gt;
&lt;li&gt;The mobile phone with limited processing capabilities can delegate the processing function to the more sophisticated assistance server by sending the weak fragmentary data to the processing server that has good satellite signal and receive the position information from the server through the network.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
A-GPS is a feasible option to provide navigational services in an urban environment with tall buildings and high radio interference. On the flipside the service provider will charge the subscriber for network data traffic using GPRS/3G.</description><link>http://techtitude.blogspot.com/2009/10/gps-for-novice.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe8BL-vowXwap4VHPTf25FTLi6cSuf9vWj3EBltwIxc98r1I9cS8DdlSsCL0XYxFK4-yKeMmT9mTmDSCi80TDf_yMIhfGKkaFFcw9Q1BktX1bVgv1JWH3LLL9B4y-rmNoQe_O2WqJ8sHs/s72-c/a-gps.jpg" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-8757529176253504892</guid><pubDate>Mon, 12 Oct 2009 13:45:00 +0000</pubDate><atom:updated>2009-10-12T06:47:05.066-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Linux $TZ timezone issue</category><category domain="http://www.blogger.com/atom/ns#">Linux TZ environmental variable</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><category domain="http://www.blogger.com/atom/ns#">Unix Shell Script Yesterday Date</category><title>Linux Server Time Zone $TZ Problem - Yesterday Date Script</title><description>I encountered a peculiar problem in a shell script that was used to find the yesterday&#39;s and tomorrow&#39;s date using the environmental variable TZ. The script that was previously written to find yesterday&#39;s date on a server that was located in EDT time zone was&lt;br /&gt;
&lt;br /&gt;
YesterdayDate=`TZ=&quot;EDT+24&quot; date`&lt;br /&gt;
&lt;br /&gt;
But unfortunately the code failed to give the correct date of yesterday and instead it gave today&#39;s date. I thought of digging deep into this issue and logged in to a linux server to investigate the matter. After some long manipulations I observed something.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtye09v9sc9Y9bmc-4yt9X2OBxKTWR7_3ujMUq1b72KeVeFk8G2ZfbYyeUa-fvmD8s3eIZzoy9b5VV6dCUR9PsNi5MUiTEYjzjk6_jGMIifKeS7f2_ChVhiMULNPlZwz4ggZ3ZNNo3gP0/s320/TimeZone.jpg&quot; style=&quot;border:none;&quot; alt=&quot;Unix server time zone $TZ&quot; title=&quot;Linux Shell $TZ TimeZone Offset&quot;/&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
BST is 1 hour ahead of UTC $ YesterdayDate=`TZ=&quot;BST+23&quot; date`&lt;br /&gt;
&lt;br /&gt;
The script &quot;EDT+24&quot; gave only GMT/UTC time and inorder to get the correct timezone I needed to add the offset value for the particular time zone. After I made the changes the script seems to be working fine.&lt;br /&gt;
&lt;br /&gt;
EDT is 4 hours behind of UTC $ YesterdayDate=`TZ=&quot;EDT+28&quot; date`&lt;br /&gt;
&lt;br /&gt;
CDT is 5 hours behind of UTC $ YesterdayDate=`TZ=&quot;CDT+29&quot; date`&lt;br /&gt;
&lt;br /&gt;
MDT is 6 hours behind of UTC $ YesterdayDate=`TZ=&quot;MDT+30&quot; date`&lt;br /&gt;
&lt;br /&gt;
PDT is 7 hours behind of UTC $ YesterdayDate=`TZ=&quot;PDT+31&quot; date`&lt;br /&gt;
&lt;br /&gt;
I&#39;m still a bit confused as to why the $TZ is behaving so unexpectedly.&lt;br /&gt;
&lt;br /&gt;
Note: I&#39;m just a novice and not an expert in Unix or Shell Scripting. I just wanted to share my experience with timezones on linux servers.</description><link>http://techtitude.blogspot.com/2009/10/linux-server-time-zone-tz-problem.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtye09v9sc9Y9bmc-4yt9X2OBxKTWR7_3ujMUq1b72KeVeFk8G2ZfbYyeUa-fvmD8s3eIZzoy9b5VV6dCUR9PsNi5MUiTEYjzjk6_jGMIifKeS7f2_ChVhiMULNPlZwz4ggZ3ZNNo3gP0/s72-c/TimeZone.jpg" height="72" width="72"/><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-8653867121277977177</guid><pubDate>Wed, 07 Oct 2009 07:53:00 +0000</pubDate><atom:updated>2009-10-07T01:11:40.889-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">Nokia 5130 Review</category><category domain="http://www.blogger.com/atom/ns#">Nokia 5130 Xpress Music  Pros and Cons</category><category domain="http://www.blogger.com/atom/ns#">Nokia 5130 Xpress Music Advantages and Disadvantages</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><title>Nokia 5130 Express Music - Mobile Review</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img style=&quot;border:none;&quot; alt=&quot;Nokia 5130 Xpress Music Colors&quot; title=&quot;Nokia 5130 Xpress Music Phone&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvvCGgkCerCn9ktAP3z2rD5l4Li6CaDsHjHjT7bY8VINZsyXDtzsBjnYJGi35Xk40ect87_JSSr3O7lhXzhGXyyIQQQ5pwILGGDYkJfmmkOIoy2xaYv2ACAHNokXhzbisocfQaw-apVhI/s320/Nokia+5130X.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Last week I wanted to buy a mobile phone for my father and I was hunting for an economical music phone with camera and GPRS. Since I was buying it for my dad, I preferred Nokia because of the user friendly interface their phones have. When I inquired my friends, almost everyone suggested the Nokia 5130 Xpress music phone. I was convinced with the looks of the phone and bought it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Pros&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The Price of the phone is the crowd puller. With a 2.0 Megapixel Camera, 1GB microSD card storage, Bluetooth, GPRS and a sleek design, Nokia 5130 is a smart buy option.&lt;br /&gt;
&lt;br /&gt;
I would give 9 out of 10 for the design and form factor. Everything is neatly packed, smoothly finished and custom fabricated with the buttons ideally located for a perfect music phone. The backlighting effect is appreciated.&lt;br /&gt;
&lt;br /&gt;
I&#39;m a person who prefers phones with a bigger display. Nokia 5130 display area is not the largest ever but definitely satisfying for a budget phone with compact design.&lt;br /&gt;
&lt;br /&gt;
The music quality and stereo effects are good to hear in the headphone. The keypad is robust and comfortable to type.&lt;br /&gt;
&lt;br /&gt;
Initially when the phone was introduced people complained about hanging problems and phone getting automatically restarted issues. Its been a week since I bought the phone and there are no issues till now.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cons&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The battery was a bit of a let down by Nokia. When I opened the back panel and found that the battery is the same old BL-5C that created a hullabaloo not long ago was psychologically disappointing.&lt;br /&gt;
&lt;br /&gt;
The microUSB data cable that came along with the phone was incredibly short and there is absolutely no way I can place my phone on the table once I plugged it in the PC&#39;s USB slot.&lt;br /&gt;
&lt;br /&gt;
Bluetooth is the only plausible data transfer option. The microUSB cable is short and there is no software CD in the package.&lt;br /&gt;
&lt;br /&gt;
Inability to connect to Wi-Fi networks, lack of office tools, cheesy loud speakers at high volume, etc are desirable features missing on the phone.</description><link>http://techtitude.blogspot.com/2009/10/nokia-5130-express-music-mobile-review.html</link><author>noreply@blogger.com (TechMan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvvCGgkCerCn9ktAP3z2rD5l4Li6CaDsHjHjT7bY8VINZsyXDtzsBjnYJGi35Xk40ect87_JSSr3O7lhXzhGXyyIQQQ5pwILGGDYkJfmmkOIoy2xaYv2ACAHNokXhzbisocfQaw-apVhI/s72-c/Nokia+5130X.jpg" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-6985880847475657009</guid><pubDate>Sat, 03 Oct 2009 05:17:00 +0000</pubDate><atom:updated>2009-10-02T22:20:18.721-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Networking</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><category domain="http://www.blogger.com/atom/ns#">Understand VPN</category><category domain="http://www.blogger.com/atom/ns#">Virtual private Network</category><category domain="http://www.blogger.com/atom/ns#">VPN basics</category><category domain="http://www.blogger.com/atom/ns#">VPN simplified</category><category domain="http://www.blogger.com/atom/ns#">VPN tutorial</category><category domain="http://www.blogger.com/atom/ns#">VPN working</category><title>What is a VPN?</title><description>Virtual private network is a cost effective solution for companies to extend network connectivity to its employees in every corner of the globe. Consider a company sends an employee to another country that is far away from the company headquarters on a secret mission. There must be some way for the employee to retort to the company and access the private network of the company in a secure way. The company cannot install a private network across countries because it would be expensive. Therefore they must find a way to communicate with the employee in a secure manner using the internet. This is were a virtual private network comes in to the picture. A VPN is a private network connection that is virtual in the sense that there is no dedicated private physical network connecting the entities. But the traffic is sent via the public internet that is vulnerable to attack in a secure manner. Private traffic is carried on the public network in a safe manner using several technologies like encryption, firewalls, authentication, IPsec, etc. VPN gives an organization the freedom to clandestinely communicate with its outbound employees in an economical fashion.</description><link>http://techtitude.blogspot.com/2009/10/what-is-vpn.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-4045030156827925558</guid><pubDate>Wed, 16 Sep 2009 07:33:00 +0000</pubDate><atom:updated>2009-10-05T19:40:59.004-07:00</atom:updated><title>Solar Energized Housing Complex</title><description>A housing complex in Kolkata is designed to tap solar energy and utilize it for household applications. It is also possible to feedback energy to the grid when excess power is available. The residents will also get paid for the power returned to the grid. This project is the first of its kind in the country and is expected to inspire the nation. This photo voltaic technology is already in use in Europe and other developed nations. Photo voltaic technology basically involves materials that emit electrons when light is incident on them. Our former president Abdul Kalam had also urged the young students of our country to research on photovoltaic energy. The solar tiles embedded on top of the roof in this complex are able to generate 2KW of power. When there is a shortage of solar power the grid will supply power and when solar power is surplus the reverse process happens. Tapping solar energy will bring down the internal temperature of houses during summer. Power will be available even when there is a conventional power cut. The most crucial aspect of solar powering homes is that it will reduce the amount of carbon emission which will have an impact on global warming. Cost is a major constraint in implementing the system in countries like India but things are looking up for the future.</description><link>http://techtitude.blogspot.com/2008/08/solar-energized-housing-complex.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-2901394571303193970</guid><pubDate>Fri, 14 Aug 2009 15:28:00 +0000</pubDate><atom:updated>2009-09-14T19:26:11.949-07:00</atom:updated><title>WaiverWire announces free Stimulus Package</title><description>WaiverWire - the leading NFL resource on the web has launched a free tool known as &quot;The Stimulus Package&quot; to let NFL fans join the fantasy football bandwagon. The 2009 NFL season promises a visual treat to the fans and WaiverWire.com gives a bird&#39;s eye view of the NFL action on the web. Those who cannot afford the premium packages can access the tools and statistics offered by WaiverWire free of cost by signing up for &quot;The Stimulus Package&quot;. My love for fantasy football is undying and my favorite NFL player is Knowshon Moreno. The high flying running back is a class apart and I love him for his on field acrobatic adventures. I&#39;m expecting a brilliant show by my man this season and hopefully Denver can make it to the top this time. But my money is on Nnamdi Asomugha and he might turn out to be the extraordinary performer this season. Throughout this season I&#39;ll be keeping an eye on player statistics and rankings delivered by WaiverWire in the hunt for the best player of NFL 2009. People at my office often talk about their favorite players and flaunt their NFL knowledge. Now that I have signed up with WaiverWire, I can make use of the player comparison feature and give an apt repartee to them.</description><link>http://techtitude.blogspot.com/2009/08/waiverwire-announces-free-stimulus.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-3997461316990664575</guid><pubDate>Wed, 12 Aug 2009 15:27:00 +0000</pubDate><atom:updated>2009-08-14T08:28:08.820-07:00</atom:updated><title>Pasanga - Film review</title><description>Pasanga is an interesting film that touches the depths of childhood and school life. The film starts off in a wobbly manner with the kids being portrayed as naughty bugs and some of the scenes just fail to connect us to our own childhood. The director could have made a better attempt in depicting school life in my opinion. But the story settles down nicely interwoven with childhood egos and family sentiments. The love between Vimal and Vega is the most beautiful aspect of the movie. They are wacky yet passionate and capture our hearts with their sublime performance. The film has a strong message for parents. Parents must keep their own differences apart and encourage their children to succeed. The director has exhibited his true talent in the scene between the heads of both the families near a pond. The music is satisfactory with &quot;Oru Vetkam Varuthe&quot; and &quot;Iraiva Iraiva&quot; still lingering in my mind. Pasanga is a complete family entertainer and it is worth a watch.</description><link>http://techtitude.blogspot.com/2009/08/pasanga-film-review.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-437247194152122663</guid><pubDate>Tue, 04 Aug 2009 00:08:00 +0000</pubDate><atom:updated>2009-08-06T17:08:47.174-07:00</atom:updated><title>Pen drive virus</title><description>Yesterday I got a pen drive from my friend and inserted it into my PC. The pen drive had some video clips and pdf books which my friend had put from his system. Unfortunately when I opened the pen drive on my system, my anti-virus software alerted me about some viruses and worms in the pen drive. So I selected the heal option and some of the viruses where quarantined. After cleaning up I again opened the pen drive. To my surprise all the folders and files were missing and the drive was empty. I was very much disappointed because it had important data and I was eager to access them. When I checked the properties, it showed that the drive is full. So I got an idea. I just right clicked on the pen drive icon and clicked on search option. Voila! All the files became visible in the search results. I copied them from the search window in to my own hard drive. What a misery with viruses and worms..!</description><link>http://techtitude.blogspot.com/2009/08/pen-drive-virus.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-8277344983147957756</guid><pubDate>Wed, 29 Jul 2009 00:35:00 +0000</pubDate><atom:updated>2009-09-14T19:24:42.399-07:00</atom:updated><title>Waiverwire Real Time Football Analysis Tools</title><description>Football is a challenging game for the people who work behind the scenes to help their teams win matches. They need real time alerts and information as soon as possible to stay ahead in the race. WaiverWire is the ultimate source of fantasy football rankings, analysis softwares, drafting tools, news and updates. They have introduced a new In- Season Pass for just $9.99 in order to get access to premium information and expert utilities for the entire 2009 season. The package includes real time player alerts and updates, fantasy football analysis, over 100 feeds from local beat writers, player projections and comparisons and access to Waiver Wire’s Fantasy Social Network and community forum. New graphically enhanced visual analysis tools and customized SOS by position are the added benefits. This is a special offer for the inaugural season and you can&#39;t afford to miss this opportunity. By signing up with waiverwire you become eligible for unlimited benefits to improve the performance of your team. Every successful team out there has a secret behind its success. The In- Season Pass could be your secret of success because no other website offers so much benefits as waiverwire. Waiverwire believes in the power of information and it doesn&#39;t miss even a single bit of information.</description><link>http://techtitude.blogspot.com/2009/07/waiverwire-real-time-football-analysis.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-3039656381011116210</guid><pubDate>Sun, 26 Jul 2009 10:48:00 +0000</pubDate><atom:updated>2009-10-02T22:24:05.569-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Electronics jewellery</category><category domain="http://www.blogger.com/atom/ns#">Gadgets</category><category domain="http://www.blogger.com/atom/ns#">Technical jewellery</category><category domain="http://www.blogger.com/atom/ns#">Technology</category><category domain="http://www.blogger.com/atom/ns#">Technology jewellery</category><title>Bling Bling Techellery</title><description>Everyone loves to wear jewellery to augment their beauty and portray their fashion statement. Golden jewellery is the most common and affordable to the middle class. The rich might opt for diamonds, platinum, pearls... etc apart from gold. But the price of gold has increased enormously making it difficult for the middle class to buy. I guess it will be a good idea to wear techellery. Techellery is the fusion of technology and jewellery. It is the new fashion trend gaining popularity. If you wish to propose to a girl how about the idea of presenting her a USB heart pendant. Philips and Swarovski have come up with a plethora of wacky tech accesories for youngsters. Head phones are not only meant for hearing audio but they will also serve as colorful hair bands with studs for a glittering scalp. The most famous of them is the digital pendant which is available in the key chain and chain form. Jewellery will no longer be only a passive aesthetic structure but also serve multiple purposes in the form of techellery. Now it is time for you to grab your own piece of ornamental gizmo and make a style statement with these ubiquitous gadgets.</description><link>http://techtitude.blogspot.com/2008/10/bling-bling-techellery.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-1945759472289072267</guid><pubDate>Thu, 25 Jun 2009 15:42:00 +0000</pubDate><atom:updated>2009-07-28T17:08:04.229-07:00</atom:updated><title>Haptics holds the key</title><description>Haptics is the science of sensing and maneuvering objects by touching. The field has made good progress and things are looking up. It is a fusion of virtual reality and communication mechanism by which you can feel remote objects in a 3D environment just by looking at your computer screen.&lt;br /&gt;&lt;br /&gt;If haptics advances at this rate there is a possibility of performing remote surgeries on humans. A doctor can get the feel of the patients body and organs from a remote place and manipulate the movements of a robot to perform the surgery. A lot of work has to be done on this to ensure precision and prevent mishaps. Scientists believe remote surgery will be possible in the future. Haptics has already taken hold in several fields like teleoperators, gaming and several day to day applications. The user can get a feedback about the weight,dimensions and the hardness of the virtual objects. Research is going on to incorporate Peltier effect devices whose temperature can be controlled by applied voltage to get a feel of the temperature of the object. Also the texture of the objects can be felt from variations in friction. Haptic interfaces with sensors can help persons with impaired hands to get a feel of objects. The real challenge will be to get the technology ready to perform remote surgeries in order to save valuable human lives.</description><link>http://techtitude.blogspot.com/2008/06/haptics-holds-key.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-4096441693627809709</guid><pubDate>Wed, 06 May 2009 01:50:00 +0000</pubDate><atom:updated>2009-07-28T17:06:44.678-07:00</atom:updated><title>The other side of Engineering</title><description>Engineering graduates here in Tamilnadu who don&#39;t perform well in academics are forced to join BPOs and other lower paid jobs. Many companies have a minimum eligibility criterion in order to get placement. But most of the students in third class studying in third class engineering colleges which do not have campus placement struggle to get placed in an IT company. They end up in call centers where their co-workers are from the arts &amp;amp; science stream who have not spent too much for their degree. Experts say that it is always good to choose the domain for your wards that is most suitable for them. Students forced in to the engineering stream lack interest and don&#39;t get good marks in their exams. When they come out of college life they don&#39;t get better jobs. But if you allow your children to select what they desire to study they&#39;ll perform well.</description><link>http://techtitude.blogspot.com/2008/04/other-side-of-engineering.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-5072183221434014885</guid><pubDate>Fri, 17 Apr 2009 06:56:00 +0000</pubDate><atom:updated>2009-07-28T17:04:39.573-07:00</atom:updated><title>Don&#39;t use Mobile Phones while driving</title><description>In recent years the number of accidents because of people talking on the phone while driving is high. The cause for this is now biologically proved. It is due to the interference between the two actions and the brain fails to multitask simultaneously.&lt;br /&gt;&lt;br /&gt;A group of researchers have found that the act of speaking and thinking what to speak overloads the brain and puts excess demand on the resources of the brain. This is something similar to the CPU usage in our computers. They came to this conclusion based on two experiments. Some 50 people were tested and asked to detect various shapes on a screen while listening and responding on the phone. In the other experiment they were asked to track a fast moving object with the help of the mouse. The measurements revealed that the subjects were more diverted while preparing to reply or speaking than while listening. They seemed slightly at ease while listening. The experiments were conducted in a circular surround sound environment and the speakers were hidden from the subjects. There will be a significant drop in their concentration levels of a person while talking on the mobile phone during driving which could be fatal. Prevention is always better than cure....</description><link>http://techtitude.blogspot.com/2008/06/dont-use-mobile-phones-while-driving.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6145341313559020127.post-2068132870136198235</guid><pubDate>Sat, 21 Mar 2009 02:27:00 +0000</pubDate><atom:updated>2009-03-20T19:28:33.276-07:00</atom:updated><title>Waiting for a turnaround</title><description>Life in recession is tricky and confusing. Nobody knows how it started and when it will end. It is hard to plan for the future in this gloomy situation and no one has a clue. Almost every industrial sector looks battered in this global economic downturn and it has spread across continents. The blame game never seems to cease and it is very unlikely to spot a silver lining. I always used to wonder where has all the money gone. People have mixed opinions about a recovery. For a guy like me who knows nothing about the markets or the economy there are no simple answers for all my stupid questions I guess. For the moment I&#39;ll keep my fingers crossed and wait for a revival.</description><link>http://techtitude.blogspot.com/2009/03/waiting-for-turnaround.html</link><author>noreply@blogger.com (TechMan)</author><thr:total>1</thr:total></item></channel></rss>